o
    5‘ðiƒ	  ã                   @   sl   d Z ddlZddlZddlZddlZddlmZ dZdZdZ	dZ
dZd	d
„ Zddd„Zddd„Zdd„ ZdS )zX
Re-implementation of find_module and get_frozen_object
from the deprecated imp module.
é    N)Úmodule_from_specé   é   é   é   é   c                 C   s(   t |tƒrtj ¡ jntjj}|| |ƒS ©N)Ú
isinstanceÚlistÚ	importlibÚ	machineryÚ
PathFinderÚ	find_specÚutil)ÚmoduleÚpathsÚfinder© r   úN/root/parts/websockify/install/lib/python3.10/site-packages/setuptools/_imp.pyr      s
   ÿý
r   c           	      C   sJ  t | |ƒ}|du rtd| › �ƒ‚|js t|dƒr tj d|j¡}d}d}t|jt	ƒ}|j
dks9|rBt|jtjjƒrBt}d}d }}n[|j
dksQ|rZt|jtjjƒrZt}d}d }}nC|jr—|j
}tj |¡d	 }|tjjv rpd
nd}|tjjv r€t}t |¡}n|tjjv rŽt}t|dƒ}n|tjjv r–t}nd}d }}|||||ffS )z7Just like 'imp.find_module()', but with package supportNúCan't find Úsubmodule_search_locationsz__init__.pyéÿÿÿÿÚfrozenÚ zbuilt-inr   ÚrÚrb)r   ÚImportErrorÚhas_locationÚhasattrr   r   Úspec_from_loaderÚloaderr	   ÚtypeÚoriginÚ
issubclassr   ÚFrozenImporterÚ	PY_FROZENÚBuiltinImporterÚ	C_BUILTINÚosÚpathÚsplitextÚSOURCE_SUFFIXESÚ	PY_SOURCEÚtokenizeÚopenÚBYTECODE_SUFFIXESÚPY_COMPILEDÚEXTENSION_SUFFIXESÚC_EXTENSION)	r   r   ÚspecÚkindÚfileÚstaticr)   ÚsuffixÚmoder   r   r   Úfind_module   sP   

ÿþ

ÿþ
€r9   c                 C   s(   t | |ƒ}|std| › �ƒ‚|j | ¡S ©Nr   )r   r   r    Úget_code)r   r   r3   r   r   r   Úget_frozen_objectL   s   
r<   c                 C   s$   t | |ƒ}|std| › �ƒ‚t|ƒS r:   )r   r   r   )r   r   Úinfor3   r   r   r   Ú
get_moduleS   s   
r>   r   )Ú__doc__Úimportlib.machineryr   Úimportlib.utilr(   r-   r   r,   r0   r2   r'   r%   r   r9   r<   r>   r   r   r   r   Ú<module>   s    
	
0