o
    àý°j�  ã                   @   s°   zd dl T W dS  eyW   d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlZd dlZd dlZd ZdZdZdZd	Zd
ZdZdZdZdZdd„ Zddd„Zddd„ZY dS w )é    )Ú*)Úacquire_lockÚrelease_lockÚ
is_builtinÚ	is_frozen)Ú_load)Ú	machineryNé   é   é   é   é   é   é   é   é	   c                  C   s<   dd„ t jD ƒ} dd„ t jD ƒ}dd„ t jD ƒ}| | | S )Nc                 S   ó   g | ]}|d t f‘qS ©Úrb)ÚC_EXTENSION©Ú.0Ús© r   ú†/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/cffi/_imp_emulation.pyÚ
<listcomp>!   s    ÿz get_suffixes.<locals>.<listcomp>c                 S   r   )Úr)Ú	PY_SOURCEr   r   r   r   r   #   ó    c                 S   r   r   )ÚPY_COMPILEDr   r   r   r   r   $   r   )r   ÚEXTENSION_SUFFIXESÚSOURCE_SUFFIXESÚBYTECODE_SUFFIXES)Ú
extensionsÚsourceÚbytecoder   r   r   Úget_suffixes    s   ÿr&   c                 C   s�  t | tƒstd t| ƒ¡ƒ‚t |td ƒtfƒs td t|ƒ¡ƒ‚|d u r?t| ƒr0d d ddtffS t	| ƒr<d d ddt
ffS tj}|D ]N}tj || ¡}dtjd fD ]}d| }tj ||¡}tj |¡rpd |ddtff    S qQtƒ D ]\}}}| | }	tj ||	¡}tj |¡rŒ nqtqA nt| | d�‚d }
d|vr¹t|d	ƒ�}t |j¡d }
W d   ƒ n1 s´w   Y  t|||
d
�}|||||ffS )Nz'name' must be a str, not {}z%'path' must be None or a list, not {}Ú z.pyr   Ú__init__)ÚnameÚbr   )Úencoding)Ú
isinstanceÚstrÚ	TypeErrorÚformatÚtypeÚlistÚRuntimeErrorr   Ú	C_BUILTINr   Ú	PY_FROZENÚsysÚpathÚosÚjoinr   r"   ÚisfileÚPKG_DIRECTORYr&   ÚImportErrorÚopenÚtokenizeÚdetect_encodingÚreadline)r)   r6   ÚentryÚpackage_directoryÚsuffixÚpackage_file_nameÚ	file_pathÚmodeÚtype_Ú	file_namer+   Úfiler   r   r   Úfind_module'   sH   

ÿÿÿÿrI   c                 C   s$   t  | |¡}t j| ||d�}t|ƒS )N)r)   ÚloaderÚorigin)r   ÚExtensionFileLoaderÚ
ModuleSpecr   )r)   r6   rH   rJ   Úspecr   r   r   Úload_dynamicP   s   rO   )N)Úimpr;   Ú_impr   r   r   r   Úimportlib._bootstrapr   Ú	importlibr   r7   r5   r=   ÚSEARCH_ERRORr   r   r   ÚPY_RESOURCEr:   r3   r4   ÚPY_CODERESOURCEÚIMP_HOOKr&   rI   rO   r   r   r   r   Ú<module>   s.   
)¶