
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \­)  ã               @   sÆ  d dl mZmZmZmZmZmZmZmZm	Z	 yd dl m
Z
 W n ek
rT   dZ
Y nX d dlmZmZmZmZ d dl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 dlZd dlZd dlZejded	d
� 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„ Z(dd„ Z)d7dd„Z*dd„ Z+dd„ Z,G dd „ d ƒZ-G d!d"„ d"ƒZ.G d#d$„ d$e.ej/ƒZ0d8d%d&„Z1G d'd(„ d(e.eƒZ2d9d)d*„Z3d+d,„ Z4d-d.„ Z5d:d/d0„Z6d1d2„ Z7d3d4„ Z8e
�r¾d;d5d6„Z9ndZ9dS )<é    )	Ú	lock_heldÚacquire_lockÚrelease_lockÚget_frozen_objectÚis_frozen_packageÚinit_frozenÚ
is_builtinÚ	is_frozenÚ_fix_co_filename)Úcreate_dynamicN)Ú_ERR_MSGÚ_execÚ_loadÚ_builtin_from_name)ÚSourcelessFileLoader)Ú	machinery)Úutilzhthe imp module is deprecated in favour of importlib; see the module's documentation for alternative usesé   )Ú
stacklevelé   é   é   é   é   é   é   é	   c             C   s
   t j| ƒS )N)ÚtypesÚ
ModuleType)Úname© r    ú/usr/lib64/python3.6/imp.pyÚ
new_module0   s    r"   c               C   s   t jS )N)r   ÚMAGIC_NUMBERr    r    r    r!   Ú	get_magic;   s    r$   c               C   s   t jjS )N)ÚsysÚimplementationÚ	cache_tagr    r    r    r!   Úget_tagC   s    r(   c          
   C   s*   t jƒ � t jdƒ tj| |ƒS Q R X d S )NÚignore)ÚwarningsÚcatch_warningsÚsimplefilterr   Úcache_from_source)ÚpathÚdebug_overrider    r    r!   r-   H   s    

r-   c             C   s
   t j| ƒS )N)r   Úsource_from_cache)r.   r    r    r!   r0   [   s    r0   c              C   s<   dd„ t jD ƒ} dd„ t jD ƒ}dd„ t jD ƒ}| | | S )Nc             S   s   g | ]}|d t f‘qS )Úrb)ÚC_EXTENSION)Ú.0Úsr    r    r!   ú
<listcomp>k   s    z get_suffixes.<locals>.<listcomp>c             S   s   g | ]}|d t f‘qS )Úr)Ú	PY_SOURCE)r3   r4   r    r    r!   r5   l   s    c             S   s   g | ]}|d t f‘qS )r1   )ÚPY_COMPILED)r3   r4   r    r    r!   r5   m   s    )r   ÚEXTENSION_SUFFIXESÚSOURCE_SUFFIXESÚBYTECODE_SUFFIXES)Ú
extensionsÚsourceÚbytecoder    r    r!   Úget_suffixesi   s    r?   c               @   s   e Zd Zdd„ Zdd„ ZdS )ÚNullImporterc             C   s2   |dkrt ddd�‚ntjj|ƒr.t d|d�‚d S )NÚ zempty pathname)r.   zexisting directory)ÚImportErrorÚosr.   Úisdir)Úselfr.   r    r    r!   Ú__init__z   s    zNullImporter.__init__c             C   s   d S )Nr    )rE   Úfullnamer    r    r!   Úfind_module€   s    zNullImporter.find_moduleN)Ú__name__Ú
__module__Ú__qualname__rF   rH   r    r    r    r!   r@   r   s   r@   c                   s*   e Zd Zd‡ fdd„	Z‡ fdd„Z‡  ZS )Ú_HackedGetDataNc                s   t ƒ j||ƒ || _d S )N)ÚsuperrF   Úfile)rE   rG   r.   rN   )Ú	__class__r    r!   rF   Š   s    z_HackedGetData.__init__c          	      sX   | j rH|| jkrH| j js | j }nt| jdƒ | _ }|�
 |jƒ S Q R X ntƒ j|ƒS d S )Nr6   )rN   r.   ÚclosedÚopenÚreadrM   Úget_data)rE   r.   rN   )rO   r    r!   rS   Ž   s    z_HackedGetData.get_data)N)rI   rJ   rK   rF   rS   Ú__classcell__r    r    )rO   r!   rL   …   s   rL   c               @   s   e Zd ZdS )Ú_LoadSourceCompatibilityN)rI   rJ   rK   r    r    r    r!   rU   ¡   s   rU   c             C   s\   t | ||ƒ}tj| ||d�}| tjkr8t|tj|  ƒ}nt|ƒ}tj| |ƒ|_	|j	|j
_|S )N)Úloader)rU   r   Úspec_from_file_locationr%   Úmodulesr   r   r   ÚSourceFileLoaderÚ
__loader__Ú__spec__rV   )r   ÚpathnamerN   rV   ÚspecÚmoduler    r    r!   Úload_source¦   s    

r_   c               @   s   e Zd ZdS )Ú_LoadCompiledCompatibilityN)rI   rJ   rK   r    r    r    r!   r`   ´   s   r`   c             C   sZ   t | ||ƒ}tj| ||d�}| tjkr8t|tj|  ƒ}nt|ƒ}t| |ƒ|_|j|j	_
|S )N)rV   )r`   r   rW   r%   rX   r   r   r   rZ   r[   rV   )r   r\   rN   rV   r]   r^   r    r    r!   Úload_compiled¹   s    

ra   c             C   sž   t jj|ƒrhtjd d … tjd d …  }x>|D ](}t jj|d| ƒ}t jj|ƒr.|}P q.W tdj	|ƒƒ‚t
j| |g d�}| tjkr’t|tj|  ƒS t|ƒS d S )NrF   z{!r} is not a package)Úsubmodule_search_locations)rC   r.   rD   r   r:   r;   ÚjoinÚexistsÚ
ValueErrorÚformatr   rW   r%   rX   r   r   )r   r.   r<   Ú	extensionZ	init_pathr]   r    r    r!   Úload_packageÈ   s    

rh   c       	      C   s  |\}}}|r2|j d	ƒ s"d|kr2tdj|ƒƒ‚nâ|d krZ|tthkrZdj|ƒ}t|ƒ‚nº|tkrnt| ||ƒS |tkr‚t| ||ƒS |tkrÈtd k	rÈ|d krºt	|dƒ�}t| ||ƒS Q R X nt| ||ƒS nL|t
krÚt| |ƒS |tkrêt| ƒS |tk� rüt| ƒS dj| |ƒ}t|| d�‚d S )
Nr6   ÚUú+zinvalid file open mode {!r}z.file object required for import (type code {})r1   z*Don't know how to import {} (type code {}))r   )r6   ri   )Ú
startswithre   rf   r7   r8   r_   ra   r2   Úload_dynamicrQ   ÚPKG_DIRECTORYrh   Ú	C_BUILTINÚinit_builtinÚ	PY_FROZENr   rB   )	r   rN   ÚfilenameZdetailsÚsuffixÚmodeÚtype_ÚmsgZopened_filer    r    r!   Úload_moduleÜ   s.    




rv   c             C   sˆ  t | tƒstdjt| ƒƒƒ‚n$t |td ƒtfƒsBtdjt|ƒƒƒ‚|d kr€t| ƒrbd d ddtffS t	| ƒrzd d ddt
ffS tj}x´|D ]š}tjj|| ƒ}xHdtjd gD ]6}d| }tjj||ƒ}tjj|ƒr¨d |ddtffS q¨W x:tƒ D ].\}}}| | }	tjj||	ƒ}tjj|ƒrêP qêW q†P q†W ttj| ƒ| d�‚d }
d|k�rjt|d	ƒ�}tj|jƒd }
W d Q R X t|||
d
�}|||||ffS )Nz'name' must be a str, not {}z%'path' must be None or a list, not {}rA   z.pyr   rF   )r   Úbr1   )Úencoding)Ú
isinstanceÚstrÚ	TypeErrorrf   ÚtypeÚlistÚRuntimeErrorr   rn   r	   rp   r%   r.   rC   rc   r   r;   Úisfilerm   r?   rB   r   rQ   ÚtokenizeÚdetect_encodingÚreadline)r   r.   ÚentryZpackage_directoryrr   Zpackage_file_nameZ	file_pathrs   rt   Ú	file_namerx   rN   r    r    r!   rH   ÿ   s@    


rH   c             C   s
   t j| ƒS )N)Ú	importlibÚreload)r^   r    r    r!   r†   3  s    r†   c             C   s"   yt | ƒS  tk
r   d S X d S )N)r   rB   )r   r    r    r!   ro   >  s    ro   c             C   s0   dd l }|jj| |ƒ}|jj| ||d�}t|ƒS )Nr   )r   rV   Úorigin)Úimportlib.machineryr   ÚExtensionFileLoaderÚ
ModuleSpecr   )r   r.   rN   r…   rV   r]   r    r    r!   rl   K  s
    rl   )N)N)N)N)N):Ú_impr   r   r   r   r   r   r   r	   r
   r   rB   Zimportlib._bootstrapr   r   r   r   Zimportlib._bootstrap_externalr   r…   r   r   rC   r%   r€   r   r*   ÚwarnÚDeprecationWarningZSEARCH_ERRORr7   r8   r2   ZPY_RESOURCErm   rn   rp   ZPY_CODERESOURCEZIMP_HOOKr"   r$   r(   r-   r0   r?   r@   rL   rY   rU   r_   r`   ra   rh   rv   rH   r†   ro   rl   r    r    r    r!   Ú<module>	   s\   ,


	

#
4