o
    K+g                     @   sT  d Z g dZddlZddlZzddlZW n ey)   ddlmZ eee Y nw de_	de_
z	edd	e_W n	 eyB   Y nw eejd< zddlZW n eye   dd
lmZ ee ee_Y nw de_	de_
z	edde_W n	 ey~   Y nw eejd< ejZejZddlZddlmZ dd ZdddZdddZi Zdd ZdS )z'A pure Python implementation of import.)
__import__import_moduleinvalidate_cachesreload    N   )
_bootstrapzimportlib._bootstrap	importlibz__init__.pyz_bootstrap.py)_bootstrap_externalzimportlib._bootstrap_externalz_bootstrap_external.py)r   c                  C   s"   t jD ]} t| dr|   qdS )zmCall the invalidate_caches() method on all meta path finders stored in
    sys.meta_path (where implemented).r   N)sys	meta_pathhasattrr   )finder r   D/var/www/html/squashfs-root/usr/lib/python3.10/importlib/__init__.pyr   A   s
   

r   c                 C   s   t jdtdd ztj|  j}|du rtd| |W S  ty%   Y n t	y3   td| dw t
| |}|du r@dS |jdu rY|jdu rStd| | dtd	| d|jS )
zReturn the loader for the specified module.

    This is a backward-compatible wrapper around find_spec().

    This function is deprecated in favor of importlib.util.find_spec().

    ziDeprecated since Python 3.4 and slated for removal in Python 3.12; use importlib.util.find_spec() instead   )
stacklevelNz{}.__loader__ is Nonez{}.__loader__ is not setzspec for {} missing loadernamez&namespace packages do not have loaders)warningswarnDeprecationWarningr
   modules
__loader__
ValueErrorformatKeyErrorAttributeErrorr   
_find_specloadersubmodule_search_locationsImportError)r   pathr   specr   r   r   find_loaderI   s2   


r#   c                 C   sX   d}|  dr!|sd}t|| | D ]}|dkr n|d7 }qt| |d ||S )zImport a module.

    The 'package' argument is required when performing a relative import. It
    specifies the package to use as the anchor point from which to resolve the
    relative import to an absolute import.

    r   .zHthe 'package' argument is required to perform a relative import for {!r}r   N)
startswith	TypeErrorr   r   _gcd_import)r   packagelevelmsgZ	characterr   r   r   r   l   s   

r   c                 C   sZ  z| j j}W n ty    z| j}W n ty   tdw Y nw tj|| ur4d}t|	||d|t
v r<t
| S | t
|< z]|dd }|riztj| }W n tyd   d}t|	||ddw |j}nd}| }t||| }| _ |du rtd||dt||  tj| W zt
|= W S  ty   Y S w zt
|= W w  ty   Y w w )	zcReload the module and return it.

    The module must have been successfully imported before.

    z"reload() argument must be a modulezmodule {} not in sys.modulesr   r$   r   zparent {!r} not in sys.modulesNzspec not found for the module )__spec__r   r   __name__r&   r
   r   getr    r   
_RELOADING
rpartitionr   __path__r   r   ModuleNotFoundError_exec)moduler   r*   Zparent_nameparentZpkgpathtargetr"   r   r   r   r      s^   




r   )N)__doc____all___impr
   _frozen_importlibr   r     _setupr,   __package____file__replace	NameErrorr   _frozen_importlib_externalr	   _set_bootstrap_module_pack_uint32_unpack_uint32r   r   r   r#   r   r.   r   r   r   r   r   <module>   sT    






#