
    \i                     |   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\(       a  S SKrS rOS r " S S5      r\R(                  " 5       rS rg)    N)MappingSequence)_GenericAliasPyPy   )   
   )r      )r      )r      )r      c                 \    [         R                  " U [         R                  R                  S9$ )N)format)annotationlibget_annotationsFormat
FORWARDREFclss    O/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/attr/_compat.py_get_annotationsr      s&    ,,,,77
 	
    c                 :    U R                   R                  S0 5      $ )z
Get annotations for *cls*.
__annotations__)__dict__getr   s    r   r   r   !   s     || 1266r   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__0   s4    	((2DHI& 	DH	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_type6   s^     xxdhh))0023fQi**'2C2C2I2I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"   	Signaturer0   )r&   s    r   get_return_type$_AnnotationExtractor.get_return_typeC   s<    
 HH**'2C2C2I2II88---r   )r    N)
__name__
__module____qualname____firstlineno____doc__	__slots__r(   r2   r7   __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_baserE   _   s    	||}$}}r   )r"   platformsys	threadingcollections.abcr   r   typingr   python_implementationPYPYversion_infoPY_3_10_PLUSPY_3_11_PLUSPY_3_12_PLUSPY_3_13_PLUSPY_3_14_PLUSr   r   r   localrepr_contextrE   r@   r   r   <module>rU      s      
  -   %%'61#w.#w.#w.#w.#w. 

7% %h  r   