a
    3j9&                     @   s  d dl Z dd ZeeZedd ZeejZeejZee j	Z
dd Zee Zdd	 Zee Zd
d Ze ZeeZe  dd Ze ZeeZG dd dZee jZeeZeg jZeejZee jZee j!Z"ee#jd Z$ee Z%ze&W n8 e&y<   e ' d Z(ee(Z)ee(j*Z+dZ([(Y n0 eejZ,eej-Z.[ [[[[[d#ddZ/dd Z0d$ddZ1dd Z2G dd dZ3G dd dZ4dd  Z5ee6e7 Z8d!d" e9 D Z:dS )%    Nc                   C   s   d S N r   r   r   A/www/server/python_manager/versions/3.9.10/lib/python3.9/types.py_f       r   c                   C   s   d S r   r   r   r   r   r   <lambda>   r   r   c                     s   d  fdd} | j d S )N   c                      s   d S r   r   r   ar   r   f   s    z_cell_factory.<locals>.fr   )__closure__)r   r   r	   r   _cell_factory   s    r   c                   c   s
   dV  d S )Nr   r   r   r   r   r   _g   s    r   c                      s   d S r   r   r   r   r   r   _c   r   r   c                   C  s
   d V  d S r   r   r   r   r   r   _ag"   s    r   c                   @   s   e Zd Zdd ZdS )_Cc                 C   s   d S r   r   selfr   r   r   _m(   r   z_C._mN)__name__
__module____qualname__r   r   r   r   r   r   '   s   r   fromkeys   r   c                 C   sN   t |}t| ||\}}}|d ur*|| ||ur:||d< || ||fi |S )N__orig_bases__)resolve_basesprepare_class)namebaseskwds	exec_bodyresolved_basesmetansr   r   r   	new_classE   s    r$   c                 C   s   t | }d}d}t| D ]t\}}t|tr6t|ts6qt|dsBq|| }d}t|tsdtdq|||| || d < |t	|d 7 }q|s| S t|S )NFr   __mro_entries__Tz#__mro_entries__ must return a tupler   )
list	enumerate
isinstancetypeGenericAliashasattrr%   tuple	TypeErrorlen)r   	new_basesupdatedshiftibasenew_baser   r   r   r   O   s"    



r   c                 C   s   |d u ri }nt |}d|v r*|d}n|r<t|d }nt}t|trTt||}t|drt|j| |fi |}ni }|||fS )N	metaclassr   __prepare__)dictpopr)   r(   _calculate_metar+   r6   )r   r   r   r"   r#   r   r   r   r   d   s    


r   c                 C   s>   | }|D ]0}t |}t||r qt||r0|}qtdq|S )Nzxmetaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases)r)   
issubclassr-   )r"   r   winnerr3   	base_metar   r   r   r9      s    


r9   c                   @   sH   e Zd ZdddZdddZdd Zdd	 Zd
d Zdd Zdd Z	dS )DynamicClassAttributeNc                 C   s>   || _ || _|| _|p|j| _|d u | _tt|dd| _d S )N__isabstractmethod__F)fgetfsetfdel__doc__overwrite_docboolgetattrr>   )r   r?   r@   rA   docr   r   r   __init__   s    
zDynamicClassAttribute.__init__c                 C   s6   |d u r| j r| S t n| jd u r,td| |S )Nzunreadable attribute)r>   AttributeErrorr?   )r   instance
ownerclassr   r   r   __get__   s    
zDynamicClassAttribute.__get__c                 C   s"   | j d u rtd|  || d S )Nzcan't set attribute)r@   rH   )r   rI   valuer   r   r   __set__   s    
zDynamicClassAttribute.__set__c                 C   s    | j d u rtd|  | d S )Nzcan't delete attribute)rA   rH   )r   rI   r   r   r   
__delete__   s    
z DynamicClassAttribute.__delete__c                 C   s8   | j r|jnd }t| || j| j|p(| j}| j |_ |S r   )rC   rB   r)   r@   rA   )r   r?   fdocresultr   r   r   getter   s    zDynamicClassAttribute.getterc                 C   s$   t | | j|| j| j}| j|_|S r   )r)   r?   rA   rB   rC   )r   r@   rP   r   r   r   setter   s    zDynamicClassAttribute.setterc                 C   s$   t | | j| j|| j}| j|_|S r   )r)   r?   r@   rB   rC   )r   rA   rP   r   r   r   deleter   s    zDynamicClassAttribute.deleter)NNNN)N)
r   r   r   rG   rK   rM   rN   rQ   rR   rS   r   r   r   r   r=      s   


	r=   c                   @   s   e Zd Zdd Zdd Zdd Zdd Zed	d
 Zedd Z	edd Z
edd ZeZe	Ze
ZeZdd Zdd ZeZdS )_GeneratorWrapperc                 C   s2   || _ |jtu | _t|dd | _t|dd | _d S )Nr   r   )_GeneratorWrapper__wrapped	__class__GeneratorType_GeneratorWrapper__isgenrE   r   r   )r   genr   r   r   rG      s    z_GeneratorWrapper.__init__c                 C   s   | j |S r   )rU   send)r   valr   r   r   rZ      s    z_GeneratorWrapper.sendc                 G   s   | j j|g|R  S r   )rU   throw)r   tprestr   r   r   r\      s    z_GeneratorWrapper.throwc                 C   s
   | j  S r   )rU   closer   r   r   r   r_      s    z_GeneratorWrapper.closec                 C   s   | j jS r   )rU   gi_coder   r   r   r   r`      s    z_GeneratorWrapper.gi_codec                 C   s   | j jS r   )rU   gi_framer   r   r   r   ra      s    z_GeneratorWrapper.gi_framec                 C   s   | j jS r   )rU   
gi_runningr   r   r   r   rb      s    z_GeneratorWrapper.gi_runningc                 C   s   | j jS r   )rU   gi_yieldfromr   r   r   r   rc      s    z_GeneratorWrapper.gi_yieldfromc                 C   s
   t | jS r   )nextrU   r   r   r   r   __next__   s    z_GeneratorWrapper.__next__c                 C   s   | j r| jS | S r   )rX   rU   r   r   r   r   __iter__   s    z_GeneratorWrapper.__iter__N)r   r   r   rG   rZ   r\   r_   propertyr`   ra   rb   rc   cr_codecr_frame
cr_runningcr_awaitre   rf   	__await__r   r   r   r   rT      s&   



rT   c                    s   t stdjtu rftdd jtu rfjj}|d@ r@S |d@ rfj}|j|jdB d_S dd l	}dd l
 | fdd	}|S )
Nz$types.coroutine() expects a callable__code__i         )co_flagsr   c                     sV   | i |}|j tu s.|j tu r2|jjd@ r2|S t| jrRt| jsRt|S |S )Nro   )	rV   CoroutineTyperW   r`   rp   r(   	Generator	CoroutinerT   )argskwargscoro_collections_abcfuncr   r   wrapped  s    


zcoroutine.<locals>.wrapped)callabler-   rV   FunctionTyperE   CodeTyperm   rp   replace	functoolsrx   wraps)ry   rp   cor   rz   r   rw   r   	coroutine   s"    
r   c                 C   s    g | ]}|d d dkr|qS )Nr   _r   ).0nr   r   r   
<listcomp>+  r   r   )r   NN)r   N);sysr   r)   r|   
LambdaTyperm   r}   __dict__MappingProxyTypeimplementationSimpleNamespacer   CellTyper   rW   r   rq   r_   r   AsyncGeneratorTyper   r   
MethodTyper.   BuiltinFunctionTypeappendBuiltinMethodTypeobjectrG   WrapperDescriptorType__str__MethodWrapperTypestrjoinMethodDescriptorTyper7   ClassMethodDescriptorType
ModuleTyper-   exc_infotbTracebackTypetb_frame	FrameTypeGetSetDescriptorType__globals__MemberDescriptorTyper$   r   r   r9   r=   rT   r   r&   intr*   globals__all__r   r   r   r   <module>   sZ   













 :%4