+
    f7i  c                   s*   R t ^ RIt^ RIt^ RIt^ RIHtHt ^ RI	H
t
 ^ RI	Ht ^ RIHt ^RIHtHtHtHtHtHtHt ]P.                  ! R]4       . ROt ! R	 R]4      t]t]t]t]P>                  t]P@                  t ]!t!]"t"]#;t#t$]%t&]t'](t(]t)R
 t*RR lt+R# )z"Python 2/3 compat layer leftovers.N)redirect_stderrredirect_stdout)BytesIO)StringIO)SimpleNamespace)Tagbytechrbyteord	bytesjoinstrjointobytestostrzeThe py23 module has been deprecated and will be removed in a future release. Please update your code.	Py23Errorc                   s    ] tR t^-tRtR# )r    N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__static_attributes__r       :/usr/lib64/python3.14/site-packages/fontTools/misc/py23.pyr   r   -   s    r   c                  s    \        R 4      h)z-'xrange' is not defined. Use 'range' instead.)r   )ZargsZkwargss   *,r   xranger   A   s    
C
DDr   c                st   Vf   ^ pV^ 8  dF   ^
V) ,          p\        W4      w  r4WB^,          8  d   V ^ 8  d
   V^,          p\        W2,          4      # \        P                  ! R4      V) ,          p\        P                  P	                  V 4      P                  V\        P                  R7      p\        V4      # )a  
Implementation of Python 2 built-in round() function.
Rounds a number to a given precision in decimal digits (default
0 digits). The result is a floating point number. Values are rounded
to the closest multiple of 10 to the power minus ndigits; if two
multiples are equally close, rounding is done away from 0.
ndigits may be negative.
See Python 2 documentation:
https://docs.python.org/2/library/functions.html?highlight=round#round
Z10)Zrounding)ZdivmodZfloat_decimalZDecimalZ
from_floatZquantizeZROUND_HALF_UP)ZnumberZndigitsZexponentZquotientZ	remainderZds   &&    r   round2r   E   s     {7(#$V6A%&A+MHX())##D)wh7''/88x55 9 
 Qxr   )
basestringr   r   r   r   openr   rangeRecursionErrorroundr   r   r	   r   r
   r   	tounicodeunichrunicode	UnicodeIOr   zip)N),Z__doc__Zdecimalr   ZmathZ_mathZwarningsZ
contextlibr    r   Zior   r   r   Ztypesr   Z	textToolsr   r   r   r   r	   r
   r   ZwarnZDeprecationWarningZ__all__ZNotImplementedErrorr   r   Zstrr   ZiscloseZisfiniter   r   r   Zround3Zchrr   r   r   r   r   r   r   r   r   <module>r      s    (    7  $ ! P P P 4	# 	  

-->> 	
		Er   