§
    ‚Ûge  ã                   óz   — d Z ddlZddlZeefZdd„Z G d„ d¦  «        Zedk    rddl	Z	 e	j
        ¦   «          dS dS )	z^The module contains miscellaneous helpers.
It's not considered part of the public ufoLib API.
é    NÚ c                 ó   ‡ — ˆ fd„}|S )a@  Decorator factory to mark functions as deprecated with given message.

    >>> @deprecated("Enough!")
    ... def some_function():
    ...    "I just print 'hello world'."
    ...    print("hello world")
    >>> some_function()
    hello world
    >>> some_function.__doc__ == "I just print 'hello world'."
    True
    c                 óJ   •‡ — t          j        ‰ ¦  «        ˆ ˆfd„¦   «         }|S )Nc                  ó`   •— t          j        ‰j        › d‰› �t          d¬¦  «          ‰| i |¤ŽS )Nz function is a deprecated. é   )ÚcategoryÚ
stacklevel)ÚwarningsÚwarnÚ__name__ÚDeprecationWarning)ÚargsÚkwargsÚfuncÚmsgs     €€úL/granary/edev/quantum/lib/python3.11/site-packages/fontTools/ufoLib/utils.pyÚwrapperz9deprecated.<locals>.deprecated_decorator.<locals>.wrapper   sL   ø€ åŒMØ”=ÐBÐB¸SÐBÐBÝ+Øðñ ô ð ð
 �4˜Ð( Ð(Ð(Ð(ó    )Ú	functoolsÚwraps)r   r   r   s   ` €r   Údeprecated_decoratorz(deprecated.<locals>.deprecated_decorator   s>   øø€ Ý	Œ˜Ñ	Ô	ð	)ð 	)ð 	)ð 	)ð 	)ñ 
Ô	ð	)ð ˆr   © )r   r   s   ` r   Ú
deprecatedr      s$   ø€ ð
ð 
ð 
ð 
ð 
ð  Ðr   c                   óŒ   ‡ — e Zd Zed„ ¦   «         Zed„ ¦   «         Zeˆ fd„¦   «         Zd„ Zed„ ¦   «         Z	ed„ ¦   «         Z
ˆ xZS )Ú_VersionTupleEnumMixinc                 ó   — | j         d         S ©Nr   ©Úvalue©Úselfs    r   Úmajorz_VersionTupleEnumMixin.major*   ó   € àŒz˜!Œ}Ðr   c                 ó   — | j         d         S )Né   r   r    s    r   Úminorz_VersionTupleEnumMixin.minor.   r#   r   c                 ó¶   •— t          |t          ¦  «        r | |df¦  «        S |€|                      ¦   «         S t          ¦   «                              |¦  «        S r   )Ú
isinstanceÚintÚdefaultÚsuperÚ	_missing_)Úclsr   Ú	__class__s     €r   r,   z _VersionTupleEnumMixin._missing_2   sT   ø€ õ �e�SÑ!Ô!ð 	#Ø�3˜˜q�z‘?”?Ð"àˆ=Ø—;’;‘=”=Ð Ý‰wŒw× Ò  Ñ'Ô'Ð'r   c                 ó$   — | j         › d| j        › �S )Nú.)r"   r&   r    s    r   Ú__str__z_VersionTupleEnumMixin.__str__<   s   € Ø”*Ð+Ð+˜tœzÐ+Ð+Ð+r   c                 óN   — t          | j                             ¦   «         ¦  «        S ©N)ÚmaxÚ__members__Úvalues©r-   s    r   r*   z_VersionTupleEnumMixin.default?   s    € õ �3”?×)Ò)Ñ+Ô+Ñ,Ô,Ð,r   c                 óN   — t          | j                             ¦   «         ¦  «        S r3   )Ú	frozensetr5   r6   r7   s    r   Úsupported_versionsz)_VersionTupleEnumMixin.supported_versionsD   s   € å˜œ×/Ò/Ñ1Ô1Ñ2Ô2Ð2r   )r   Ú
__module__Ú__qualname__Úpropertyr"   r&   Úclassmethodr,   r1   r*   r:   Ú__classcell__)r.   s   @r   r   r   )   s½   ø€ € € € € Øðð ñ „Xðð ðð ñ „Xðð ð(ð (ð (ð (ñ „[ð(ð,ð ,ð ,ð ð-ð -ñ „[ð-ð ð3ð 3ñ „[ð3ð 3ð 3ð 3ð 3r   r   Ú__main__)r   )Ú__doc__r
   r   r)   ÚfloatÚnumberTypesr   r   r   ÚdoctestÚtestmodr   r   r   ú<module>rF      s¢   ððð ð €€€Ø Ð Ð Ð ð �Eˆl€ð ð  ð  ð  ð:3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð@ ˆzÒÐØ€N€N€Nà€G„OÑÔÐÐÐð Ðr   