§
    ¢”j¾  ã                   ó  — d Z ddlZddlZddlZddlmZmZ ddl	m
Z
 ddl	mZ ddlmZ ddlmZmZmZmZmZmZmZ  ej        d	e¦  «         g d
¢Z G d„ de¦  «        ZeZeZeZej        Zej         Z e!Z!e"Z"e#xZ#Z$e%Z&eZ'e(Z(eZ)d„ Z*dd„Z+dS )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.)Ú
basestringr
   r   r   r   ÚopenÚ	Py23ErrorÚrangeÚRecursionErrorÚroundr   r   r   r	   r   r   Ú	tounicodeÚunichrÚunicodeÚ	UnicodeIOÚxrangeÚzipc                   ó   — e Zd ZdS )r   N)Ú__name__Ú
__module__Ú__qualname__© ó    úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/misc/py23.pyr   r   -   s   € € € € € Ø€Dr!   r   c                  ó    — t          d¦  «        ‚)Nz-'xrange' is not defined. Use 'range' instead.)r   )ÚargsÚkwargss     r"   r   r   A   s   € Ý
ÐCÑ
DÔ
DÐDr!   c                 ó^  — |€d}|dk     r?d| z  }t          | |¦  «        \  }}||dz  k    r| dk    r|dz  }t          ||z  ¦  «        S t          j        d¦  «        | z  }t          j                             | ¦  «                             |t          j        ¬¦  «        }t          |¦  «        S )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
    Nr   é
   é   r   Ú10)Úrounding)ÚdivmodÚfloatÚ_decimalÚDecimalÚ
from_floatÚquantizeÚROUND_HALF_UP)ÚnumberÚndigitsÚexponentÚquotientÚ	remainderÚds         r"   Úround2r8   E   sÁ   € ð €Øˆà�‚{€{Ø˜7˜(Ñ#ˆÝ$ V¨XÑ6Ô6Ñˆ�)Ø˜ A™Ò%Ð%¨&°Aª+¨+Ø˜‰MˆHÝ�X Ñ(Ñ)Ô)Ð)åÔ# DÑ)Ô)¨w¨hÑ7ˆåÔ×'Ò'¨Ñ/Ô/×8Ò8Ø�xÔ5ð 9ñ 
ô 
ˆõ �Q‰xŒxˆr!   )N),Ú__doc__Údecimalr-   ÚmathÚ_mathÚwarningsÚ
contextlibr   r   Úior   r   r   Útypesr   Ú	textToolsr	   r
   r   r   r   r   r   ÚwarnÚDeprecationWarningÚ__all__ÚNotImplementedErrorr   r   Ústrr   ÚiscloseÚisfiniter   r   r   Úround3Úchrr   r   r   r   r   r8   r    r!   r"   ú<module>rK      s�  ðØ (Ð (à Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø !Ð !Ð !Ð !Ð !Ð !à PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ Pà €„ðàñô ð ðð ð €ð4	ð 	ð 	ð 	ð 	Ð#ñ 	ô 	ð 	ð  €Ø€à€
Ø
Œ-€ØŒ>€Ø€Ø€ØÐ €ˆØ	€Ø
€Ø	€à€	ðEð Eð Eðð ð ð ð ð r!   