
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,aü  ã                   @   sÆ  d dl a d dlZd dlad dlZd dlZtjdkZerHd dlZd dl	Z	nd dl
Zer^ddgZndgZed  ZeeƒZd e¡Zdd„ eD ƒZdZd	Zee Zd
d„ Zdd„ Zdd„ Zdd„ ZerÊdd„ Zndd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Ze�r
dd „ Znd!d „ Zdld#d$„Ze ej!ƒZ"d% #d&d'¡d( Z$e% &e$d'¡Z'd)Z(d*Z)d+gZ*d,gZ+e+ Z,Z-dmdd-œd.d/„Z.d0d1„ Z/d2d3„ Z0d4d5„ Z1d6d7„ Z2d8d9„ Z3d:d;„ Z4d<d=„ Z5d>d?„ Z6d@dA„ Z7dndBdC„Z8dodDdE„Z9dpdGdH„Z:dIdJ„ Z;e<ƒ Z=dqde=dKœdLdM„Z>G dNdO„ dOƒZ?G dPdQ„ dQƒZ@G dRdS„ dSe@ƒZAG dTdU„ dUƒZBG dVdW„ dWeBeAƒZCG dXdY„ dYeBe@ƒZDg ZEG dZd[„ d[eBe@ƒZFG d\d]„ d]ƒZGG d^d_„ d_ƒZHG d`da„ daƒZIG dbdc„ dcƒZJdrddde„ZKdfdg„ ZLdhdi„ ZMdjdk„ ZNdS )sé    NZwin32ú\ú/Ú c                 C   s   h | ]}d |› �’qS ©ú:© ©Ú.0Úsr   r   úB/opt/alt/python38/lib64/python3.8/importlib/_bootstrap_external.pyÚ	<setcomp>/   s     r   )Úwin)ÚcygwinÚdarwinc                     s<   t j t¡r0t j t¡rd‰ nd‰ ‡ fdd„} ndd„ } | S )NÚPYTHONCASEOKs   PYTHONCASEOKc                      s
   ˆ t jkS ©N)Ú_osÚenvironr   ©Úkeyr   r   Ú_relax_case@   s    z%_make_relax_case.<locals>._relax_casec                   S   s   dS )NFr   r   r   r   r   r   D   s    )ÚsysÚplatformÚ
startswithÚ_CASE_INSENSITIVE_PLATFORMSÚ#_CASE_INSENSITIVE_PLATFORMS_STR_KEY)r   r   r   r   Ú_make_relax_case9   s    r   c                 C   s   t | ƒd@  dd¡S )Nì   ÿÿ é   Úlittle)ÚintÚto_bytes)Úxr   r   r   Ú_pack_uint32J   s    r#   c                 C   s   t  | d¡S ©Nr   ©r    Ú
from_bytes©Údatar   r   r   Ú_unpack_uint32O   s    r)   c                 C   s   t  | d¡S r$   r%   r'   r   r   r   Ú_unpack_uint16T   s    r*   c                  G   sä   | sdS t | ƒdkr| d S d}g }ttj| ƒD ]z\}}| t¡sL| t¡rf| t¡pX|}t	| g}q0| d¡r˜| 
¡ | 
¡ krŒ|}|g}qª| |¡ q0|pž|}| |¡ q0dd„ |D ƒ}t |ƒdkrÖ|d sÖ|t	 S |t	 |¡ S )Nr   é   r   r   c                 S   s   g | ]}|r|  t¡‘qS r   ©ÚrstripÚpath_separators©r	   Úpr   r   r   Ú
<listcomp>r   s      ú_path_join.<locals>.<listcomp>)ÚlenÚmapr   Ú_path_splitrootr   Úpath_sep_tupleÚendswithr-   r.   Úpath_sepÚcasefoldÚappendÚjoin)Ú
path_partsÚrootÚpathZnew_rootÚtailr   r   r   Ú
_path_join[   s*    
r@   c                  G   s   t  dd„ | D ƒ¡S )Nc                 S   s   g | ]}|r|  t¡‘qS r   r,   )r	   Úpartr   r   r   r1   {   s    ÿr2   )r8   r;   )r<   r   r   r   r@   y   s    
ÿc                    sB   t ‡ fdd„tD ƒƒ}|dk r&dˆ fS ˆ d |… ˆ |d d … fS )Nc                 3   s   | ]}ˆ   |¡V  qd S r   )Úrfindr/   ©r>   r   r   Ú	<genexpr>�   s     z_path_split.<locals>.<genexpr>r   r   r+   )Úmaxr.   )r>   Úir   rC   r   Ú_path_split   s    rG   c                 C   s
   t  | ¡S r   )r   ÚstatrC   r   r   r   Ú
_path_stat‡   s    rI   c                 C   s2   zt | ƒ}W n tk
r"   Y dS X |jd@ |kS )NFi ð  )rI   ÚOSErrorÚst_mode)r>   ÚmodeÚ	stat_infor   r   r   Ú_path_is_mode_type‘   s
    rN   c                 C   s
   t | dƒS )Ni €  )rN   rC   r   r   r   Ú_path_isfileš   s    rO   c                 C   s   | st  ¡ } t| dƒS )Ni @  )r   ÚgetcwdrN   rC   r   r   r   Ú_path_isdirŸ   s    rQ   c                 C   s>   | sdS t  | ¡d  dd¡}t|ƒdko<| d¡p<| d¡S )NFr   r   r   r+   z\\)r   r5   Úreplacer3   r   r7   )r>   r=   r   r   r   Ú_path_isabs§   s    rS   c                 C   s
   |   t¡S r   )r   r.   rC   r   r   r   rS   ¯   s    é¶  c                 C   s¢   d  | t| ƒ¡}t |tjtjB tjB |d@ ¡}z2t |d¡�}| 	|¡ W 5 Q R X t 
|| ¡ W n: tk
rœ   zt |¡ W n tk
r”   Y nX ‚ Y nX d S )Nú{}.{}rT   Úwb)ÚformatÚidr   ÚopenÚO_EXCLÚO_CREATÚO_WRONLYÚ_ioÚFileIOÚwriterR   rJ   Úunlink)r>   r(   rL   Úpath_tmpÚfdÚfiler   r   r   Ú_write_atomic´   s     ÿrd   iU  é   r   s   
Ú__pycache__zopt-z.pyz.pyc)Úoptimizationc                C   sX  |d k	r4t  dt¡ |d k	r(d}t|ƒ‚|r0dnd}t | ¡} t| ƒ\}}| d¡\}}}tj	j
}	|	d krrtdƒ‚d |r~|n|||	g¡}
|d kr¬tjjdkr¤d}ntjj}t|ƒ}|dkrà| ¡ sÒtd |¡ƒ‚d	 |
t|¡}
|
td  }tjd k	�rLt|ƒ�stt ¡ |ƒ}|d d
k�r8|d tk�r8|dd … }ttj| t¡|ƒS t|t|ƒS )NzFthe debug_override parameter is deprecated; use 'optimization' insteadz2debug_override or optimization must be set to Noner   r+   Ú.ú$sys.implementation.cache_tag is Noner   z{!r} is not alphanumericz{}.{}{}r   re   )Ú	_warningsÚwarnÚDeprecationWarningÚ	TypeErrorr   ÚfspathrG   Ú
rpartitionr   ÚimplementationÚ	cache_tagÚNotImplementedErrorr;   ÚflagsÚoptimizeÚstrÚisalnumÚ
ValueErrorrW   Ú_OPTÚBYTECODE_SUFFIXESÚpycache_prefixrS   r@   rP   r.   ÚlstripÚ_PYCACHE)r>   Údebug_overriderg   ÚmessageÚheadr?   ÚbaseÚsepÚrestÚtagÚalmost_filenameÚfilenamer   r   r   Úcache_from_sourceb  sH    ÿ
	
ýr†   c           
      C   s.  t jjd krtdƒ‚t | ¡} t| ƒ\}}d}t jd k	rft j t	¡}| 
|t ¡rf|t|ƒd … }d}|s�t|ƒ\}}|tkr�tt› d| ›�ƒ‚| d¡}|dkr²td|›�ƒ‚n\|dk�r| dd	¡d
 }| 
t¡sätdt›�ƒ‚|ttƒd … }| ¡ �std|›d�ƒ‚| d¡d }	t||	td  ƒS )Nri   FTz not bottom-level directory in rh   >   re   é   zexpected only 2 or 3 dots in r‡   re   éþÿÿÿz5optimization portion of filename does not start with zoptimization level z is not an alphanumeric valuer   )r   rp   rq   rr   r   rn   rG   rz   r-   r.   r   r8   r3   r|   rw   ÚcountÚrsplitrx   rv   Ú	partitionr@   ÚSOURCE_SUFFIXES)
r>   r   Úpycache_filenameÚfound_in_pycache_prefixÚstripped_pathÚpycacheÚ	dot_countrg   Ú	opt_levelÚbase_filenamer   r   r   Úsource_from_cache©  s4    	





r”   c              	   C   s~   t | ƒdkrd S |  d¡\}}}|r8| ¡ dd… dkr<| S zt| ƒ}W n$ ttfk
rl   | d d… }Y nX t|ƒrz|S | S )Nr   rh   éýÿÿÿéÿÿÿÿÚpy)r3   ro   Úlowerr”   rr   rw   rO   )Úbytecode_pathr‚   Ú_Ú	extensionÚsource_pathr   r   r   Ú_get_sourcefileÑ  s    r�   c                 C   sJ   |   ttƒ¡r0z
t| ƒW S  tk
r,   Y qFX n|   ttƒ¡rB| S d S d S r   )r7   ÚtuplerŒ   r†   rr   ry   )r…   r   r   r   Ú_get_cachedä  s    
rŸ   c                 C   s4   zt | ƒj}W n tk
r&   d}Y nX |dO }|S )NrT   é€   )rI   rK   rJ   )r>   rL   r   r   r   Ú
_calc_modeð  s    
r¡   c                    sD   d‡ fdd„	}z
t j}W n tk
r4   dd„ }Y nX ||ˆ ƒ |S )Nc                    sB   |d kr| j }n | j |kr0td| j |f |d�‚ˆ | |f|ž|ŽS )Nzloader for %s cannot handle %s©Úname)r£   ÚImportError)Úselfr£   ÚargsÚkwargs©Úmethodr   r   Ú_check_name_wrapper  s    
ÿÿz(_check_name.<locals>._check_name_wrapperc                 S   s8   dD ] }t ||ƒrt| |t||ƒƒ q| j |j¡ d S )N)Ú
__module__Ú__name__Ú__qualname__Ú__doc__)ÚhasattrÚsetattrÚgetattrÚ__dict__Úupdate)ÚnewÚoldrR   r   r   r   Ú_wrap  s    
z_check_name.<locals>._wrap)N)Ú
_bootstrapr¶   Ú	NameError)r©   rª   r¶   r   r¨   r   Ú_check_nameü  s    

r¹   c                 C   s<   |   |¡\}}|d kr8t|ƒr8d}t | |d ¡t¡ |S )Nz,Not importing directory {}: missing __init__r   )Úfind_loaderr3   rj   rk   rW   ÚImportWarning)r¥   ÚfullnameÚloaderÚportionsÚmsgr   r   r   Ú_find_module_shim  s
    
rÀ   c                 C   sž   | d d… }|t kr<d|›d|›�}t d|¡ t|f|Ž‚t| ƒdk rfd|›�}t d|¡ t|ƒ‚t| dd… ƒ}|d@ ršd	|›d
|›�}t|f|Ž‚|S )Nr   zbad magic number in z: ú{}é   z(reached EOF while reading pyc header of é   éüÿÿÿzinvalid flags z in )ÚMAGIC_NUMBERr·   Ú_verbose_messager¤   r3   ÚEOFErrorr)   )r(   r£   Úexc_detailsÚmagicr~   rs   r   r   r   Ú_classify_pyc)  s    
rÊ   c                 C   sp   t | dd… ƒ|d@ kr:d|›�}t d|¡ t|f|Ž‚|d k	rlt | dd… ƒ|d@ krltd|›�f|Ž‚d S )NrÃ   é   r   zbytecode is stale for rÁ   rÂ   )r)   r·   rÆ   r¤   )r(   Úsource_mtimeÚsource_sizer£   rÈ   r~   r   r   r   Ú_validate_timestamp_pycJ  s    
ÿrÎ   c                 C   s&   | dd… |kr"t d|›�f|Ž‚d S )NrÃ   rÂ   z.hash in bytecode doesn't match hash of source )r¤   )r(   Úsource_hashr£   rÈ   r   r   r   Ú_validate_hash_pycf  s    ÿþrÐ   c                 C   sP   t  | ¡}t|tƒr8t d|¡ |d k	r4t ||¡ |S td 	|¡||d�‚d S )Nzcode object from {!r}zNon-code object in {!r}©r£   r>   )
ÚmarshalÚloadsÚ
isinstanceÚ
_code_typer·   rÆ   Ú_impÚ_fix_co_filenamer¤   rW   )r(   r£   r™   rœ   Úcoder   r   r   Ú_compile_bytecode~  s    


 ÿrÙ   c                 C   sF   t tƒ}| tdƒ¡ | t|ƒ¡ | t|ƒ¡ | t | ¡¡ |S ©Nr   ©Ú	bytearrayrÅ   Úextendr#   rÒ   Údumps)rØ   ÚmtimerÍ   r(   r   r   r   Ú_code_to_timestamp_pyc‹  s    rà   Tc                 C   s@   t tƒ}d|d> B }| t|ƒ¡ | |¡ | t | ¡¡ |S )Nr+   rÛ   )rØ   rÏ   Úcheckedr(   rs   r   r   r   Ú_code_to_hash_pyc•  s    
râ   c                 C   s>   dd l }t | ¡j}| |¡}t d d¡}| |  |d ¡¡S )Nr   T)Útokenizer]   ÚBytesIOÚreadlineÚdetect_encodingÚIncrementalNewlineDecoderÚdecode)Úsource_bytesrã   Úsource_bytes_readlineÚencodingÚnewline_decoderr   r   r   Údecode_source   s
    
rí   ©r½   Úsubmodule_search_locationsc          	      C   s  |d kr<d}t |dƒrFz| | ¡}W qF tk
r8   Y qFX n
t |¡}tj| ||d�}d|_|d krštƒ D ]*\}}| 	t
|ƒ¡rj|| |ƒ}||_ qšqjd S |tkrÜt |dƒrâz| | ¡}W n tk
rÎ   Y qâX |râg |_n||_|jg k�r|�rt|ƒd }|j |¡ |S )Nz	<unknown>Úget_filename©ÚoriginTÚ
is_packager   )r¯   rð   r¤   r   rn   r·   Ú
ModuleSpecÚ_set_fileattrÚ_get_supported_file_loadersr7   rž   r½   Ú	_POPULATEró   rï   rG   r:   )	r£   Úlocationr½   rï   ÚspecÚloader_classÚsuffixesró   Údirnamer   r   r   Úspec_from_file_location±  s>    



rý   c                   @   sL   e Zd ZdZdZdZedd„ ƒZedd„ ƒZedd	d
„ƒZ	eddd„ƒZ
dS )ÚWindowsRegistryFinderz;Software\Python\PythonCore\{sys_version}\Modules\{fullname}zASoftware\Python\PythonCore\{sys_version}\Modules\{fullname}\DebugFc                 C   s8   zt  t j|¡W S  tk
r2   t  t j|¡ Y S X d S r   )Ú_winregÚOpenKeyÚHKEY_CURRENT_USERrJ   ÚHKEY_LOCAL_MACHINE)Úclsr   r   r   r   Ú_open_registry  s    z$WindowsRegistryFinder._open_registryc              	   C   sr   | j r| j}n| j}|j|dtjd d…  d�}z&|  |¡�}t |d¡}W 5 Q R X W n t	k
rl   Y d S X |S )Nz%d.%dre   )r¼   Úsys_versionr   )
ÚDEBUG_BUILDÚREGISTRY_KEY_DEBUGÚREGISTRY_KEYrW   r   Úversion_infor  rÿ   Ú
QueryValuerJ   )r  r¼   Úregistry_keyr   ÚhkeyÚfilepathr   r   r   Ú_search_registry  s    ÿz&WindowsRegistryFinder._search_registryNc                 C   sz   |   |¡}|d krd S zt|ƒ W n tk
r8   Y d S X tƒ D ]4\}}| t|ƒ¡r@tj||||ƒ|d�}|  S q@d S )Nrñ   )r  rI   rJ   rö   r7   rž   r·   Úspec_from_loader)r  r¼   r>   Útargetr  r½   rû   rù   r   r   r   Ú	find_spec  s    
þzWindowsRegistryFinder.find_specc                 C   s"   |   ||¡}|d k	r|jS d S d S r   ©r  r½   ©r  r¼   r>   rù   r   r   r   Úfind_module'  s    z!WindowsRegistryFinder.find_module)NN)N)r¬   r«   r­   r  r  r  Úclassmethodr  r  r  r  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d	S )
Ú_LoaderBasicsc                 C   s@   t |  |¡ƒd }| dd¡d }| d¡d }|dko>|dkS )Nr+   rh   r   re   Ú__init__)rG   rð   rŠ   ro   )r¥   r¼   r…   Úfilename_baseÚ	tail_namer   r   r   ró   :  s    z_LoaderBasics.is_packagec                 C   s   d S r   r   ©r¥   rù   r   r   r   Úcreate_moduleB  s    z_LoaderBasics.create_modulec                 C   s8   |   |j¡}|d kr$td |j¡ƒ‚t t||j¡ d S )Nz4cannot load module {!r} when get_code() returns None)Úget_coder¬   r¤   rW   r·   Ú_call_with_frames_removedÚexecr²   )r¥   ÚmodulerØ   r   r   r   Úexec_moduleE  s    ÿz_LoaderBasics.exec_modulec                 C   s   t  | |¡S r   )r·   Ú_load_module_shim©r¥   r¼   r   r   r   Úload_moduleM  s    z_LoaderBasics.load_moduleN)r¬   r«   r­   ró   r  r   r#  r   r   r   r   r  5  s   r  c                   @   sJ   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zddœdd„Zdd„ Z	dS )ÚSourceLoaderc                 C   s   t ‚d S r   )rJ   ©r¥   r>   r   r   r   Ú
path_mtimeT  s    zSourceLoader.path_mtimec                 C   s   d|   |¡iS )Nrß   )r&  r%  r   r   r   Ú
path_stats\  s    zSourceLoader.path_statsc                 C   s   |   ||¡S r   )Úset_data)r¥   rœ   Ú
cache_pathr(   r   r   r   Ú_cache_bytecodej  s    zSourceLoader._cache_bytecodec                 C   s   d S r   r   )r¥   r>   r(   r   r   r   r(  t  s    zSourceLoader.set_datac              
   C   sR   |   |¡}z|  |¡}W n0 tk
rH } ztd|d�|‚W 5 d }~X Y nX t|ƒS )Nz'source not available through get_data()r¢   )rð   Úget_datarJ   r¤   rí   )r¥   r¼   r>   ré   Úexcr   r   r   Ú
get_source{  s    
ÿÿzSourceLoader.get_sourcer–   )Ú	_optimizec                C   s   t jt||dd|d�S )Nr  T)Údont_inheritrt   )r·   r  Úcompile)r¥   r(   r>   r.  r   r   r   Úsource_to_code…  s     ÿzSourceLoader.source_to_codec              	   C   s"  |   |¡}d }d }d }d}d}zt|ƒ}W n tk
rD   d }Y �n0X z|  |¡}	W n tk
rj   Y �n
X t|	d ƒ}z|  |¡}
W n tk
rš   Y nÚX ||dœ}z”t|
||ƒ}t|
ƒdd … }|d@ dk}|�r$|d@ dk}t	j
d	k�r8|sþt	j
d
k�r8|  |¡}t	 t|¡}t|
|||ƒ nt|
||	d ||ƒ W n ttfk
�rT   Y n X t d||¡ t||||d�S |d k�rˆ|  |¡}|  ||¡}t d|¡ tj�s|d k	�r|d k	�r|�rä|d k�rÖt	 |¡}t|||ƒ}
nt||t|ƒƒ}
z|  |||
¡ W n tk
�r   Y nX |S )NFTrß   rÑ   rÂ   r+   r   re   ÚneverÚalwaysÚsizez{} matches {})r£   r™   rœ   zcode object from {})rð   r†   rr   r'  rJ   r    r+  rÊ   Ú
memoryviewrÖ   Úcheck_hash_based_pycsrÏ   Ú_RAW_MAGIC_NUMBERrÐ   rÎ   r¤   rÇ   r·   rÆ   rÙ   r1  r   Údont_write_bytecoderâ   rà   r3   r*  )r¥   r¼   rœ   rÌ   ré   rÏ   Ú
hash_basedÚcheck_sourcer™   Ústr(   rÈ   rs   Ú
bytes_dataÚcode_objectr   r   r   r  �  s˜    
þÿþ
þÿûÿþ

ÿ

ÿzSourceLoader.get_codeN)
r¬   r«   r­   r&  r'  r*  r(  r-  r1  r  r   r   r   r   r$  R  s   

r$  c                       sx   e Zd Zdd„ Zdd„ Zdd„ Ze‡ fdd„ƒZed	d
„ ƒZdd„ Z	edd„ ƒZ
dd„ Zdd„ Zdd„ Zdd„ Z‡  ZS )Ú
FileLoaderc                 C   s   || _ || _d S r   rÑ   )r¥   r¼   r>   r   r   r   r  ç  s    zFileLoader.__init__c                 C   s   | j |j ko| j|jkS r   ©Ú	__class__r²   ©r¥   Úotherr   r   r   Ú__eq__í  s    
ÿzFileLoader.__eq__c                 C   s   t | jƒt | jƒA S r   ©Úhashr£   r>   ©r¥   r   r   r   Ú__hash__ñ  s    zFileLoader.__hash__c                    s   t t| ƒ |¡S r   )Úsuperr>  r#  r"  ©r@  r   r   r#  ô  s    
zFileLoader.load_modulec                 C   s   | j S r   rC   r"  r   r   r   rð      s    zFileLoader.get_filenamec              
   C   sf   t | ttfƒr:t t|ƒ¡�}| ¡ W  5 Q R £ S Q R X n(t |d¡�}| ¡ W  5 Q R £ S Q R X d S )NÚr)rÔ   r$  ÚExtensionFileLoaderr]   Ú	open_coderu   Úreadr^   )r¥   r>   rc   r   r   r   r+    s
    zFileLoader.get_datac                 C   s   |   |¡r| S d S r   )ró   ©r¥   r  r   r   r   Úget_resource_reader  s    
zFileLoader.get_resource_readerc                 C   s    t t| jƒd |ƒ}t |d¡S )Nr   rJ  )r@   rG   r>   r]   r^   ©r¥   Úresourcer>   r   r   r   Úopen_resource  s    zFileLoader.open_resourcec                 C   s&   |   |¡st‚tt| jƒd |ƒ}|S rÚ   )Úis_resourceÚFileNotFoundErrorr@   rG   r>   rP  r   r   r   Úresource_path  s    
zFileLoader.resource_pathc                 C   s(   t |krdS tt| jƒd |ƒ}t|ƒS )NFr   )r8   r@   rG   r>   rO   ©r¥   r£   r>   r   r   r   rS     s    zFileLoader.is_resourcec                 C   s   t t t| jƒd ¡ƒS rÚ   )Úiterr   ÚlistdirrG   r>   rF  r   r   r   Úcontents&  s    zFileLoader.contents)r¬   r«   r­   r  rC  rG  r¹   r#  rð   r+  rO  rR  rU  rS  rY  Ú__classcell__r   r   rI  r   r>  â  s   

r>  c                   @   s*   e Zd Zdd„ Zdd„ Zddœdd„Zd	S )
ÚSourceFileLoaderc                 C   s   t |ƒ}|j|jdœS )N)rß   r4  )rI   Úst_mtimeÚst_size)r¥   r>   r;  r   r   r   r'  .  s    zSourceFileLoader.path_statsc                 C   s   t |ƒ}| j|||d�S )N©Ú_mode)r¡   r(  )r¥   rœ   r™   r(   rL   r   r   r   r*  3  s    z SourceFileLoader._cache_bytecoderT   r^  c          	      C   sü   t |ƒ\}}g }|r4t|ƒs4t |ƒ\}}| |¡ qt|ƒD ]l}t||ƒ}zt |¡ W q< tk
rp   Y q<Y q< tk
r¦ } zt	 
d||¡ W Y ¢ d S d }~X Y q<X q<zt|||ƒ t	 
d|¡ W n0 tk
rö } zt	 
d||¡ W 5 d }~X Y nX d S )Nzcould not create {!r}: {!r}zcreated {!r})rG   rQ   r:   Úreversedr@   r   ÚmkdirÚFileExistsErrorrJ   r·   rÆ   rd   )	r¥   r>   r(   r_  Úparentr…   r<   rA   r,  r   r   r   r(  8  s0    
 ÿÿzSourceFileLoader.set_dataN)r¬   r«   r­   r'  r*  r(  r   r   r   r   r[  *  s   r[  c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚSourcelessFileLoaderc                 C   sD   |   |¡}|  |¡}||dœ}t|||ƒ tt|ƒdd … ||d�S )NrÑ   rÂ   )r£   r™   )rð   r+  rÊ   rÙ   r5  )r¥   r¼   r>   r(   rÈ   r   r   r   r  [  s    

þýzSourcelessFileLoader.get_codec                 C   s   d S r   r   r"  r   r   r   r-  k  s    zSourcelessFileLoader.get_sourceN)r¬   r«   r­   r  r-  r   r   r   r   rd  W  s   rd  c                   @   sX   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
edd„ ƒZdS )rK  c                 C   s@   || _ t|ƒs6ztt ¡ |ƒ}W n tk
r4   Y nX || _d S r   )r£   rS   r@   r   rP   rJ   r>   rV  r   r   r   r  |  s    zExtensionFileLoader.__init__c                 C   s   | j |j ko| j|jkS r   r?  rA  r   r   r   rC  …  s    
ÿzExtensionFileLoader.__eq__c                 C   s   t | jƒt | jƒA S r   rD  rF  r   r   r   rG  ‰  s    zExtensionFileLoader.__hash__c                 C   s$   t  tj|¡}t  d|j| j¡ |S )Nz&extension module {!r} loaded from {!r})r·   r  rÖ   Úcreate_dynamicrÆ   r£   r>   )r¥   rù   r  r   r   r   r  Œ  s     ÿ ÿz!ExtensionFileLoader.create_modulec                 C   s$   t  tj|¡ t  d| j| j¡ d S )Nz(extension module {!r} executed from {!r})r·   r  rÖ   Úexec_dynamicrÆ   r£   r>   rN  r   r   r   r   ”  s
     ÿzExtensionFileLoader.exec_modulec                    s$   t | jƒd ‰ t‡ fdd„tD ƒƒS )Nr+   c                 3   s   | ]}ˆ d | kV  qdS )r  Nr   ©r	   Úsuffix©Ú	file_namer   r   rD   �  s   ÿz1ExtensionFileLoader.is_package.<locals>.<genexpr>)rG   r>   ÚanyÚEXTENSION_SUFFIXESr"  r   ri  r   ró   š  s    ÿzExtensionFileLoader.is_packagec                 C   s   d S r   r   r"  r   r   r   r     s    zExtensionFileLoader.get_codec                 C   s   d S r   r   r"  r   r   r   r-  ¤  s    zExtensionFileLoader.get_sourcec                 C   s   | j S r   rC   r"  r   r   r   rð   ¨  s    z ExtensionFileLoader.get_filenameN)r¬   r«   r­   r  rC  rG  r  r   ró   r  r-  r¹   rð   r   r   r   r   rK  t  s   	rK  c                   @   sd   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ ZdS )Ú_NamespacePathc                 C   s$   || _ || _t|  ¡ ƒ| _|| _d S r   )Ú_nameÚ_pathrž   Ú_get_parent_pathÚ_last_parent_pathÚ_path_finder©r¥   r£   r>   Úpath_finderr   r   r   r  µ  s    z_NamespacePath.__init__c                 C   s&   | j  d¡\}}}|dkrdS |dfS )Nrh   r   )r   r>   Ú__path__)rn  ro   )r¥   rc  ÚdotÚmer   r   r   Ú_find_parent_path_names»  s    z&_NamespacePath._find_parent_path_namesc                 C   s   |   ¡ \}}ttj| |ƒS r   )rx  r±   r   Úmodules)r¥   Úparent_module_nameÚpath_attr_namer   r   r   rp  Å  s    z_NamespacePath._get_parent_pathc                 C   sP   t |  ¡ ƒ}|| jkrJ|  | j|¡}|d k	rD|jd krD|jrD|j| _|| _| jS r   )rž   rp  rq  rr  rn  r½   rï   ro  )r¥   Úparent_pathrù   r   r   r   Ú_recalculateÉ  s    
z_NamespacePath._recalculatec                 C   s   t |  ¡ ƒS r   )rW  r}  rF  r   r   r   Ú__iter__Ö  s    z_NamespacePath.__iter__c                 C   s   |   ¡ | S r   ©r}  )r¥   Úindexr   r   r   Ú__getitem__Ù  s    z_NamespacePath.__getitem__c                 C   s   || j |< d S r   )ro  )r¥   r€  r>   r   r   r   Ú__setitem__Ü  s    z_NamespacePath.__setitem__c                 C   s   t |  ¡ ƒS r   )r3   r}  rF  r   r   r   Ú__len__ß  s    z_NamespacePath.__len__c                 C   s   d  | j¡S )Nz_NamespacePath({!r}))rW   ro  rF  r   r   r   Ú__repr__â  s    z_NamespacePath.__repr__c                 C   s   ||   ¡ kS r   r  ©r¥   Úitemr   r   r   Ú__contains__å  s    z_NamespacePath.__contains__c                 C   s   | j  |¡ d S r   )ro  r:   r…  r   r   r   r:   è  s    z_NamespacePath.appendN)r¬   r«   r­   r  rx  rp  r}  r~  r�  r‚  rƒ  r„  r‡  r:   r   r   r   r   rm  ®  s   
rm  c                   @   sP   e Zd Zdd„ Zedd„ ƒZdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ ZdS )Ú_NamespaceLoaderc                 C   s   t |||ƒ| _d S r   )rm  ro  rs  r   r   r   r  î  s    z_NamespaceLoader.__init__c                 C   s   d  |j¡S )Nz<module {!r} (namespace)>)rW   r¬   )r  r  r   r   r   Úmodule_reprñ  s    z_NamespaceLoader.module_reprc                 C   s   dS )NTr   r"  r   r   r   ró   ú  s    z_NamespaceLoader.is_packagec                 C   s   dS ©Nr   r   r"  r   r   r   r-  ý  s    z_NamespaceLoader.get_sourcec                 C   s   t ddddd�S )Nr   z<string>r  T)r/  )r0  r"  r   r   r   r     s    z_NamespaceLoader.get_codec                 C   s   d S r   r   r  r   r   r   r    s    z_NamespaceLoader.create_modulec                 C   s   d S r   r   rN  r   r   r   r     s    z_NamespaceLoader.exec_modulec                 C   s   t  d| j¡ t  | |¡S )Nz&namespace module loaded with path {!r})r·   rÆ   ro  r!  r"  r   r   r   r#  	  s    ÿz_NamespaceLoader.load_moduleN)r¬   r«   r­   r  r  r‰  ró   r-  r  r  r   r#  r   r   r   r   rˆ  í  s   
rˆ  c                   @   sr   e Zd Zedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd
d„ƒZeddd„ƒZ	eddd„ƒZ
edd„ ƒZd	S )Ú
PathFinderc                 C   s@   t tj ¡ ƒD ],\}}|d kr(tj|= qt|dƒr| ¡  qd S )NÚinvalidate_caches)Úlistr   Úpath_importer_cacheÚitemsr¯   rŒ  )r  r£   Úfinderr   r   r   rŒ    s
    

zPathFinder.invalidate_cachesc              	   C   sT   t jd k	rt jst dt¡ t jD ],}z||ƒW   S  tk
rL   Y q"Y q"X q"d S )Nzsys.path_hooks is empty)r   Ú
path_hooksrj   rk   r»   r¤   )r  r>   Úhookr   r   r   Ú_path_hooks%  s    
zPathFinder._path_hooksc                 C   sh   |dkr,zt  ¡ }W n tk
r*   Y d S X ztj| }W n( tk
rb   |  |¡}|tj|< Y nX |S rŠ  )r   rP   rT  r   rŽ  ÚKeyErrorr“  )r  r>   r�  r   r   r   Ú_path_importer_cache2  s    
zPathFinder._path_importer_cachec                 C   sR   t |dƒr| |¡\}}n| |¡}g }|d k	r<t ||¡S t |d ¡}||_|S )Nrº   )r¯   rº   r  r·   r  rô   rï   )r  r¼   r�  r½   r¾   rù   r   r   r   Ú_legacy_get_specH  s    

zPathFinder._legacy_get_specNc           	      C   s¦   g }|D ]†}t |ttfƒsq|  |¡}|d k	rt|dƒrF| ||¡}n|  ||¡}|d kr\q|jd k	rn|  S |j}|d kr„t	dƒ‚| 
|¡ qt |d ¡}||_|S )Nr  zspec missing loader)rÔ   ru   Úbytesr•  r¯   r  r–  r½   rï   r¤   rÝ   r·   rô   )	r  r¼   r>   r  Únamespace_pathÚentryr�  rù   r¾   r   r   r   Ú	_get_specW  s(    


zPathFinder._get_specc                 C   sd   |d krt j}|  |||¡}|d kr(d S |jd kr\|j}|rVd |_t||| jƒ|_|S d S n|S d S r   )r   r>   rš  r½   rï   rò   rm  )r  r¼   r>   r  rù   r˜  r   r   r   r  w  s    
zPathFinder.find_specc                 C   s   |   ||¡}|d krd S |jS r   r  r  r   r   r   r  �  s    zPathFinder.find_modulec                 O   s   ddl m} |j||ŽS )Nr   )ÚMetadataPathFinder)Úimportlib.metadatar›  Úfind_distributions)r  r¦   r§   r›  r   r   r   r�  œ  s    
zPathFinder.find_distributions)N)NN)N)r¬   r«   r­   r  rŒ  r“  r•  r–  rš  r  r  r�  r   r   r   r   r‹    s    
	


r‹  c                   @   sV   e Zd Zdd„ Zdd„ ZeZdd„ Zdd„ Zdd
d„Z	dd„ Z
edd„ ƒZdd„ Zd	S )Ú
FileFinderc                    sp   g }|D ] \‰ }|  ‡ fdd„|D ƒ¡ q|| _|p6d| _t| jƒsVtt ¡ | jƒ| _d| _tƒ | _	tƒ | _
d S )Nc                 3   s   | ]}|ˆ fV  qd S r   r   rg  ©r½   r   r   rD   ¹  s     z&FileFinder.__init__.<locals>.<genexpr>rh   r–   )rÝ   Ú_loadersr>   rS   r@   r   rP   Ú_path_mtimeÚsetÚ_path_cacheÚ_relaxed_path_cache)r¥   r>   Úloader_detailsÚloadersrû   r   rŸ  r   r  ³  s    

zFileFinder.__init__c                 C   s
   d| _ d S )Nr–   )r¡  rF  r   r   r   rŒ  Ã  s    zFileFinder.invalidate_cachesc                 C   s*   |   |¡}|d krd g fS |j|jp&g fS r   )r  r½   rï   )r¥   r¼   rù   r   r   r   rº   É  s    
zFileFinder.find_loaderc                 C   s   |||ƒ}t ||||d�S )Nrî   )rý   )r¥   rú   r¼   r>   Úsmslr  r½   r   r   r   rš  Õ  s    
ÿzFileFinder._get_specNc              	   C   s‚  d}|  d¡d }zt| jp"t ¡ ƒj}W n tk
rB   d}Y nX || jkr\|  ¡  || _t	ƒ rr| j
}| ¡ }n
| j}|}||krÚt| j|ƒ}| jD ]:\}	}
d|	 }t||ƒ}t|ƒr–|  |
|||g|¡  S q–t|ƒ}| jD ]r\}	}
zt| j||	 ƒ}W n tk
�r   Y  d S X tjd|dd� ||	 |kràt|ƒrà|  |
||d |¡  S qà|�r~t d|¡ t |d ¡}|g|_|S d S )	NFrh   re   r–   r  z	trying {})Ú	verbosityzpossible namespace for {})ro   rI   r>   r   rP   r\  rJ   r¡  Ú_fill_cacher   r¤  r˜   r£  r@   r   rO   rš  rQ   rw   r·   rÆ   rô   rï   )r¥   r¼   r  Úis_namespaceÚtail_modulerß   ÚcacheÚcache_moduleÚ	base_pathrh  rú   Úinit_filenameÚ	full_pathrù   r   r   r   r  Ú  sP    





 ÿ
zFileFinder.find_specc           	   
   C   s¾   | j }zt |pt ¡ ¡}W n tttfk
r:   g }Y nX tj 	d¡sTt
|ƒ| _nJt
ƒ }|D ]8}| d¡\}}}|rˆd || ¡ ¡}n|}| |¡ q^|| _tj 	t¡rºdd„ |D ƒ| _d S )Nr   rh   rU   c                 S   s   h | ]}|  ¡ ’qS r   )r˜   )r	   Úfnr   r   r   r   *  s     z)FileFinder._fill_cache.<locals>.<setcomp>)r>   r   rX  rP   rT  ÚPermissionErrorÚNotADirectoryErrorr   r   r   r¢  r£  r‹   rW   r˜   Úaddr   r¤  )	r¥   r>   rY  Úlower_suffix_contentsr†  r£   rv  rh  Únew_namer   r   r   r©    s"    
zFileFinder._fill_cachec                    s   ‡ ‡fdd„}|S )Nc                    s"   t | ƒstd| d�‚ˆ | fˆžŽ S )Nzonly directories are supportedrC   )rQ   r¤   rC   ©r  r¥  r   r   Úpath_hook_for_FileFinder6  s    z6FileFinder.path_hook.<locals>.path_hook_for_FileFinderr   )r  r¥  r¸  r   r·  r   Ú	path_hook,  s    
zFileFinder.path_hookc                 C   s   d  | j¡S )NzFileFinder({!r}))rW   r>   rF  r   r   r   r„  >  s    zFileFinder.__repr__)N)r¬   r«   r­   r  rŒ  rÀ   r  rº   rš  r  r©  r  r¹  r„  r   r   r   r   rž  ª  s   	
3
rž  c                 C   s’   |   d¡}|   d¡}|sB|r$|j}n||kr8t||ƒ}n
t||ƒ}|sTt|||d�}z$|| d< || d< || d< || d< W n tk
rŒ   Y nX d S )NÚ
__loader__Ú__spec__rŸ  Ú__file__Ú
__cached__)Úgetr½   rd  r[  rý   Ú	Exception)Únsr£   ÚpathnameÚ	cpathnamer½   rù   r   r   r   Ú_fix_up_moduleD  s"    


rÃ  c                  C   s&   t t ¡ f} ttf}ttf}| ||gS r   )rK  rÖ   Úextension_suffixesr[  rŒ   rd  ry   )Ú
extensionsÚsourceÚbytecoder   r   r   rö   [  s    rö   c              	   C   sœ  | a t jat jatjt }dD ]0}|tjkr8t  |¡}n
tj| }t|||ƒ qddgfdddgff}|D ]X\}}|d }|tjkr”tj| } qÌqjzt  |¡}W  qÌW qj tk
rÀ   Y qjY qjX qjtdƒ‚t|d|ƒ t|d	|ƒ t|d
d |¡ƒ t|ddd„ |D ƒƒ t  d¡}	t|d|	ƒ t  d¡}
t|d|
ƒ |dk�rXt  d¡}t|d|ƒ t|dt	ƒ ƒ t
 t ¡ ¡ |dk�r˜t d¡ dt
k�r˜dt_d S )N)r]   rj   ÚbuiltinsrÒ   Úposixr   Úntr   r   zimportlib requires posix or ntr   r8   r.   r   Ú_pathseps_with_colonc                 S   s   h | ]}d |› �’qS r   r   r   r   r   r   r   �  s     z_setup.<locals>.<setcomp>Ú_threadÚ_weakrefÚwinregrÿ   r   z.pywz_d.pydT)r·   r   rÖ   ry  r¬   Ú_builtin_from_namer°   r¤   r;   r   rl  rÝ   rÄ  rŒ   r:   rþ   r  )Ú_bootstrap_moduleÚself_moduleÚbuiltin_nameÚbuiltin_moduleÚ
os_detailsÚ
builtin_osr.   r8   Ú	os_moduleÚthread_moduleÚweakref_moduleÚwinreg_moduler   r   r   Ú_setupf  sL    













rÚ  c                 C   s2   t | ƒ tƒ }tj tj|Ž g¡ tj t	¡ d S r   )
rÚ  rö   r   r‘  rÝ   rž  r¹  Ú	meta_pathr:   r‹  )rÐ  Úsupported_loadersr   r   r   Ú_install§  s    rÝ  )rT   )N)NNN)r   r   )T)N)N)OrÖ   r]   r   rj   rÒ   r   Ú_MS_WINDOWSrÊ  r   rÎ  rÉ  r.   r8   rž   r6   r;   rË  r   Ú%_CASE_INSENSITIVE_PLATFORMS_BYTES_KEYr   r   r#   r)   r*   r@   rG   rI   rN   rO   rQ   rS   rd   ÚtypeÚ__code__rÕ   r!   rÅ   r    r&   r7  r|   rx   rŒ   ry   ÚDEBUG_BYTECODE_SUFFIXESÚOPTIMIZED_BYTECODE_SUFFIXESr†   r”   r�   rŸ   r¡   r¹   rÀ   rÊ   rÎ   rÐ   rÙ   rà   râ   rí   Úobjectr÷   rý   rþ   r  r$  r>  r[  rd  rl  rK  rm  rˆ  r‹  rž  rÃ  rö   rÚ  rÝ  r   r   r   r   Ú<module>   s¦   



ÿ

	


 G(!



ÿD@ H-:?*  
A