+
    ix                    f   R t ^ RIHt ^ RIHtHtHtHtHt ^ RI	H
t
 ^ RIt^ RIt^ RIt]! R]
R]3,          R7      t]! RR	R7      t]]]]]]3,          ]3,          ,          t]]3tRR
 R lltR R lt ! R R	]]]3,          ]P0                  4      t]R8X  d   ^ RIt]P8                  ! 4        R# R# )zThis module contains miscellaneous helpers.

It is not considered part of the public ufoLib API. It does, however,
define the :py:obj:`.deprecated` decorator that is used elsewhere in
the module.
)annotations)OptionalTypeTypeVarUnioncast)CallableNF.)boundFormatVersionBaseFormatVersionc                    V ^8  d   QhRRRR/# )   msgstrreturnzCallable[[F], F] )formats   "v/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/fontTools/ufoLib/utils.py__annotate__r      s        C  !1      c                   a  R V 3R llpV# )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                    V ^8  d   QhRRRR/# )r   funcr	   r   r   )r   s   "r   r    deprecated.<locals>.__annotate__$   s     
  
 1 
  
 r   c                f   <a  \         P                  ! S 4      V V3R  l4       p\        \        V4      # )c                 l   < \         P                  ! SP                   R S 2\        ^R7       S! V / VB # )z function is a deprecated. )category
stacklevel)warningswarn__name__DeprecationWarning)argskwargsr   r   s   *,r   wrapper9deprecated.<locals>.deprecated_decorator.<locals>.wrapper%   s:    MM==/!<SEB+
 (((r   )	functoolswrapsr   r	   )r   r%   r   s   f r   deprecated_decorator(deprecated.<locals>.deprecated_decorator$   s-    			) 
	) Awr   r   )r   r)   s   f r   
deprecatedr+      s    
  
   r   c               $    V ^8  d   QhRRRRRR/# )r   valueFormatVersionInputclsType[FormatVersion]r   r   r   )r   s   "r   r   r   3   s$     ? ??$7??r   c                
   V f   VP                  4       # \        W4      '       d   V # \        V \        4      '       d   V! V ^ 34      # \        V \        4      '       d   \	        V 4      ^8X  d	   V! V 4      # \        RV : 24      h)NzUnsupported format version: )default
isinstanceinttuplelen
ValueError)r-   r/   s   &&r   normalizeFormatVersionr8   3   st     }{{}%%E1:%CJ!O5z
3E9=
>>r   c                     a  ] tR t^Ct$ R]R&   R V 3R llt]R R l4       t]R R l4       t]	R	 R
 l4       t
R R lt]	R R l4       t]	R R l4       tRtV ;t# )r   tuple[int, int]r-   c               $    V ^8  d   QhRRRRRR/# )r   r/   r0   r-   r:   r   r   r   )r   s   "r   r   BaseFormatVersion.__annotate__F   s#     + +( + +EV +r   c                	"   < \         SV `  W4      # N)super__new__)r/   r-   	__class__s   &&r   r@   BaseFormatVersion.__new__F   s    ws**r   c                   V ^8  d   QhRR/# r   r   r4   r   )r   s   "r   r   r<   J         s r   c                	(    V P                   ^ ,          # )    r-   selfs   &r   majorBaseFormatVersion.majorI       zz!}r   c                   V ^8  d   QhRR/# rD   r   )r   s   "r   r   r<   N   rE   r   c                	(    V P                   ^,          # )   rH   rI   s   &r   minorBaseFormatVersion.minorM   rM   r   c                    V ^8  d   QhRRRR/# )r   r-   objectr   r   r   )r   s   "r   r   r<   R   s     E Ef E): Er   c                	    \        V\        4      '       d   V ! V^ 34      # Vf   V P                  4       # \        V: RV P                   24      h)rG   z is not a valid )r3   r4   r2   r7   r!   )r/   r-   s   &&r   	_missing_BaseFormatVersion._missing_Q   sK     eS!!qz?"=;;= E9$4S\\NCDDr   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r<   [   s     , , ,r   c                	8    V P                    R V P                   2# ).)rK   rQ   rI   s   &r   __str__BaseFormatVersion.__str__[   s    **Qtzzl++r   c                    V ^8  d   QhRRRR/# )r   r/   r0   r   r   r   )r   s   "r   r   r<   _   s     - -( -] -r   c                	H    \        V P                  P                  4       4      # r>   )max__members__valuesr/   s   &r   r2   BaseFormatVersion.default^   s     3??))+,,r   c                    V ^8  d   QhRRRR/# )r   r/   r0   r   zfrozenset[FormatVersion]r   )r   s   "r   r   r<   d   s     3 3 3 38P 3r   c                	H    \        V P                  P                  4       4      # r>   )	frozensetr`   ra   rb   s   &r   supported_versions$BaseFormatVersion.supported_versionsc   s    //122r   r   )r!   
__module____qualname____firstlineno____annotations__r@   propertyrK   rQ   classmethodrV   r[   r2   rg   __static_attributes____classcell__)rA   s   @r   r   r   C   s~    + +     E E, - - 3 3r   __main__) )__doc__
__future__r   typingr   r   r   r   r   collections.abcr   enumr'   r   rT   r	   r   r4   r5   r.   floatnumberTypesr+   r8   Enumr   r!   doctesttestmodr   r   r   <module>r}      s    # 7 7 $   CxV,-/BCeCsCx-$GHI El 8? "3c3h "3J zOO r   