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

  \·.  ã               @   sþ   d dl Z d dlZd dlZd dlZd dlmZmZ ddgZG dd„ de	ƒZ
G dd„ de	ƒZdd	d
„Zd dd„Zefdd„ZG dd„ deƒZd!dd„Zd"dd„Zefdd„Zdd„ Zd#dd„Zedk� rúee jƒdk � räede jd� ne jd = ee jd  ƒ dS )$é    N)Ú	read_codeÚget_importerÚ
run_moduleÚrun_pathc               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )Ú_TempModulec             C   s   || _ tj|ƒ| _g | _d S )N)Úmod_nameÚtypesÚ
ModuleTypeÚmoduleÚ_saved_module)Úselfr   © r   ú/usr/lib64/python3.6/runpy.pyÚ__init__   s    z_TempModule.__init__c             C   sB   | j }y| jjtj| ƒ W n tk
r0   Y nX | jtj|< | S )N)r   r   ÚappendÚsysÚmodulesÚKeyErrorr
   )r   r   r   r   r   Ú	__enter__   s    z_TempModule.__enter__c             G   s.   | j r| j d tj| j< n
tj| j= g | _ d S )Nr   )r   r   r   r   )r   Úargsr   r   r   Ú__exit__'   s    
z_TempModule.__exit__N)Ú__name__Ú
__module__Ú__qualname__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S )Ú_ModifiedArgv0c             C   s   || _ tƒ  | _| _d S )N)ÚvalueÚobjectÚ_saved_valueÚ	_sentinel)r   r   r   r   r   r   /   s    z_ModifiedArgv0.__init__c             C   s0   | j | jk	rtdƒ‚tjd | _ | jtjd< d S )NzAlready preserving saved valuer   )r   r   ÚRuntimeErrorr   Úargvr   )r   r   r   r   r   3   s    z_ModifiedArgv0.__enter__c             G   s   | j | _| jtjd< d S )Nr   )r   r   r   r   r    )r   r   r   r   r   r   9   s    z_ModifiedArgv0.__exit__N)r   r   r   r   r   r   r   r   r   r   r   .   s   r   c       
   	   C   sn   |d k	r|j |ƒ |d kr(d }|}d }	n |j}|j}|j}	|d krH|j}|j |||	d |||d� t| |ƒ |S )N)r   Ú__file__Ú
__cached__Ú__doc__Ú
__loader__Ú__package__Ú__spec__)ÚupdateÚloaderÚoriginÚcachedÚparentÚexec)
ÚcodeZrun_globalsÚinit_globalsr   Úmod_specÚpkg_nameÚscript_namer(   Úfnamer*   r   r   r   Ú	_run_code>   s(    

r3   c       	      C   s^   |d kr|n|j }t|ƒ�6}t|ƒ�" |jj}t| ||||||ƒ W d Q R X W d Q R X |jƒ S )N)r)   r   r   r
   Ú__dict__r3   Úcopy)	r-   r.   r   r/   r0   r1   r2   Útemp_moduleÚmod_globalsr   r   r   Ú_run_module_codeX   s     r8   c          ;   C   s4  | j dƒr|dƒ‚| jdƒ\}}}|rÄyt|ƒ W nJ tk
r| } z.|jd ksj|j|krl|j |jd ƒ rl‚ W Y d d }~X nX tjj| ƒ}|d k	rÄt|dƒ rÄddl	m
} dj| |d�}|t|ƒƒ ytjj| ƒ}W nJ ttttfk
�r }	 z$d}||j| t|	ƒj|	ƒƒ|	‚W Y d d }	~	X nX |d k�r6|d	|  ƒ‚|jd k	�r¶| d
k�sX| jdƒ�r`|dƒ‚y| d }
t|
|ƒS  |k
�r´ } z$| tjk�r”‚ |d|| f ƒ‚W Y d d }~X nX |j}|d k�rÒ|d|  ƒ‚y|j| ƒ}W n2 tk
�r } z|t|ƒƒ|‚W Y d d }~X nX |d k�r*|d|  ƒ‚| ||fS )NÚ.z#Relative module names not supportedÚ__path__r   )Úwarnzš{mod_name!r} found in sys.modules after import of package {pkg_name!r}, but prior to execution of {mod_name!r}; this may result in unpredictable behaviour)r   r0   z:Error while finding module specification for {!r} ({}: {})zNo module named %sÚ__main__z	.__main__z%Cannot use package as __main__ modulez%s; %r is a package and cannot zbe directly executedz0%r is a namespace package and cannot be executedzNo code object available for %sz3%s; %r is a package and cannot be directly executed)Ú
startswithÚ
rpartitionÚ
__import__ÚImportErrorÚnamer   r   ÚgetÚhasattrÚwarningsr;   ÚformatÚRuntimeWarningÚ	importlibÚutilÚ	find_specÚAttributeErrorÚ	TypeErrorÚ
ValueErrorÚtyper   Úsubmodule_search_locationsÚendswithÚ_get_module_detailsr(   Úget_code)r   Úerrorr0   Ú_ÚeZexistingr;   ÚmsgÚspecZexZpkg_main_namer(   r-   r   r   r   rP   f   sZ    

,

 
 
rP   c               @   s   e Zd ZdS )Ú_ErrorN)r   r   r   r   r   r   r   rW       s   rW   Tc             C   s˜   y0|s| dkr t | tƒ\} }}nttƒ\} }}W n: tk
rj } zdtj|f }tj|ƒ W Y d d }~X nX tjd j}|rˆ|jtj	d< t
||d d|ƒS )Nr<   z%s: %sr   )rP   rW   Ú_get_main_module_detailsr   Ú
executableÚexitr   r4   r)   r    r3   )r   Z
alter_argvr/   r-   ÚexcrU   Zmain_globalsr   r   r   Ú_run_module_as_main§   s    r\   Fc             C   s@   t | ƒ\} }}|d kr| }|r,t||||ƒS t|i |||ƒS d S )N)rP   r8   r3   )r   r.   Úrun_nameZ	alter_sysr/   r-   r   r   r   r   Ã   s    c             C   s~   d}t j| }t j|= zVyt|ƒS  tk
rh } z,|t|ƒkrV| d|t jd f ƒ|‚‚ W Y d d }~X nX W d |t j|< X d S )Nr<   zcan't find %r module in %rr   )r   r   rP   r@   ÚstrÚpath)rR   Z	main_nameZ
saved_mainr[   r   r   r   rX   Ò   s    
rX   c             C   sT   t |dƒ�}t|ƒ}W d Q R X |d krLt |dƒ�}t|jƒ |dƒ}W d Q R X ||fS )NÚrbr,   )Úopenr   ÚcompileÚread)r]   r2   Úfr-   r   r   r   Ú_get_code_from_fileå   s    re   c              C   s  |d krd}|j dƒd }t| ƒ}d}t|ƒjdkrFt|ƒjdkrFd}t|td ƒƒsX|rxt|| ƒ\}}t|||||d�S tj	j
d| ƒ zRtƒ \}}	}t|ƒ�4}
t| ƒ�  |
jj}t|||||	|ƒjƒ S Q R X W d Q R X W d ytj	j| ƒ W n tk
�r    Y nX X d S )	Nz
<run_path>r9   r   FZimpZNullImporterT)r0   r1   )r>   r   rM   r   r   Ú
isinstancere   r8   r   r_   ÚinsertrX   r   r   r
   r4   r3   r5   ÚremoverL   )Z	path_namer.   r]   r0   ZimporterZis_NullImporterr-   r2   r   r/   r6   r7   r   r   r   r   ï   s0    



"r<   é   z!No module specified for execution)Úfile)NNNNN)NNNNN)T)NNF)NN)r   Úimportlib.machineryrG   Úimportlib.utilr   Zpkgutilr   r   Ú__all__r   r   r   r3   r8   r@   rP   Ú	ExceptionrW   r\   r   rX   re   r   r   Úlenr    ÚprintÚstderrr   r   r   r   Ú<module>   s4     
  
:
 


1
