ó
    ¬æg�
  ã                   ó²  • S SK r S SKrS SKrS SKrS SKJrJr  S SKJr  \R                  " 5       S:H  r
\R                  SS S:¬  r\R                  SS S:¬  r\R                  SS S:¬  r\R                  SS S	:¬  r\R                  SS S
:¬  r\R                  SS S:¬  r\(       a  S SKr\R&                  rOS r " S S5      r\R,                  " 5       rS rg)é    N)ÚMappingÚSequence)Ú_GenericAliasÚPyPyé   )é   é	   )r   é
   )r   é   )r   é   )r   é   )r   é   c                 ó:   • U R                   R                  S0 5      $ )z
Get annotations for *cls*.
Ú__annotations__)Ú__dict__Úget)Úclss    Ú./usr/lib/python3/dist-packages/attr/_compat.pyÚ_get_annotationsr      s   € ð �|‰|×ÑÐ 1°2Ó6Ð6ó    c                   ó0   • \ rS rSrSrS/rS rS rS rSr	g)	Ú_AnnotationExtractoré#   zR
Extract type annotations from a callable, returning None whenever there
is none.
Úsigc                 óv   •  [         R                  " U5      U l        g ! [        [        4 a
    S U l         g f = f)N)ÚinspectÚ	signaturer   Ú
ValueErrorÚ	TypeError)ÚselfÚcallables     r   Ú__init__Ú_AnnotationExtractor.__init__+   s4   € ð	Ü×(Ò(¨Ó2ˆD�HøÜœIÐ&ó 	ØˆDŽHð	ús   ‚ ž8·8c                 ó  • U R                   (       d  g[        U R                   R                  R                  5       5      nU(       a9  US   R                  [
        R                  R                  La  US   R                  $ g)zE
Return the type annotation of the first argument if it's not empty.
Nr   )r   ÚlistÚ
parametersÚvaluesÚ
annotationr   Ú	ParameterÚempty)r    Úparamss     r   Úget_first_param_typeÚ)_AnnotationExtractor.get_first_param_type1   s^   € ð �x�xØä�d—h‘h×)Ñ)×0Ñ0Ó2Ó3ˆÞ�f˜Q‘i×*Ñ*´'×2CÑ2C×2IÑ2IÒIØ˜!‘9×'Ñ'Ð'àr   c                 ó´   • U R                   (       aG  U R                   R                  [        R                  R                  La  U R                   R                  $ g)z+
Return the return type if it's not empty.
N)r   Úreturn_annotationr   Ú	Signaturer*   )r    s    r   Úget_return_typeÚ$_AnnotationExtractor.get_return_type>   s<   € ð
 �H�HØ—‘×*Ñ*´'×2CÑ2C×2IÑ2IÒIà—8‘8×-Ñ-Ð-àr   )r   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r"   r,   r1   Ú__static_attributes__© r   r   r   r   #   s   † ñð
 �€Iòòõ
r   r   c                 óB   • U R                   [        L a  U R                  $ g)zDIf this is a generic class (A[str]), return the generic base for it.N)Ú	__class__r   Ú
__origin__)Úcls    r   Úget_generic_baser?   Z   s   € à	‡|�|”}Ò$Ø�}‰}ÐØr   )r   ÚplatformÚsysÚ	threadingÚcollections.abcr   r   Útypingr   Úpython_implementationÚPYPYÚversion_infoÚPY_3_9_PLUSÚPY_3_10_PLUSÚPY_3_11_PLUSÚPY_3_12_PLUSÚPY_3_13_PLUSÚPY_3_14_PLUSÚannotationlibÚget_annotationsr   r   ÚlocalÚrepr_contextr?   r:   r   r   Ú<module>rR      sï   ðó Û Û 
Û ç -Ý  ð ×%Ò%Ó'¨6Ñ1€Ø×Ñ˜r Ð" fÑ,€Ø×Ñ  Ð# wÑ.€Ø×Ñ  Ð# wÑ.€Ø×Ñ  Ð# wÑ.€Ø×Ñ  Ð# wÑ.€Ø×Ñ  Ð# wÑ.€ö Ûà$×4Ñ4Ñò7÷%ñ %ðh �ŠÓ €ór   