
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
ct„jS  ã               @   s  d dl Z d dlZd dlZd dlZe je jgadadada	dd„ Z
dd„ Zdd„ Zdd	„ Zd
d„ Zd-dd„Zdd„ Zdd„ Zdd„ Zdd„ Zd.dd„Zd/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e jjsìeƒ  d*d+„ Z e!d,k�re ƒ  dS )0é    Nc              G   sB   t jj| Ž }yt jj|ƒ}W n tk
r0   Y nX |t jj|ƒfS )N)ÚosÚpathÚjoinÚabspathÚOSErrorÚnormcase)ÚpathsÚdir© r
   ú/usr/lib64/python3.6/site.pyÚmakepathZ   s    r   c              C   s–   x�t tjjƒ ƒD ]~} tt| dd ƒdd ƒdkr.qytjj| jƒ| _W n t	t
tfk
r\   Y nX ytjj| jƒ| _W q t	t
tfk
rŒ   Y qX qW d S )NÚ
__loader__Ú
__module__Ú_frozen_importlibÚ_frozen_importlib_external)r   r   )ÚsetÚsysÚmodulesÚvaluesÚgetattrr   r   r   Ú__file__ÚAttributeErrorr   Ú	TypeErrorÚ
__cached__)Úmr
   r
   r   Ú	abs_pathsc   s    r   c              C   sT   g } t ƒ }x6tjD ],}t|ƒ\}}||kr| j|ƒ |j|ƒ qW | tjd d …< |S )N)r   r   r   r   ÚappendÚadd)ÚLÚknown_pathsr	   Údircaser
   r
   r   Úremoveduppathss   s    
r!   c              C   sX   t ƒ } xLtjD ]B}y&tjj|ƒr6t|ƒ\}}| j|ƒ W q tk
rN   wY qX qW | S )N)r   r   r   r   Úexistsr   r   r   )ÚdÚitemÚ_Úitemcaser
   r
   r   Ú_init_pathinfo†   s    r'   c             C   sp  |d krt ƒ }d}nd}tjj| |ƒ}yt|dƒ}W n tk
rH   d S X |�� �xt|ƒD ]ö\}}|jdƒrrq^yX|jdƒrˆt|ƒ w^|j	ƒ }t
| |ƒ\}}	|	|krÈtjj|ƒrÈtjj|ƒ |j|	ƒ W q^ tk
�rR   tdj|d |ƒtjd	� d
d l}
x>|
jtjƒ Ž D ],}x$|jƒ D ]}td| tjd	� �qW �qW tdtjd	� P Y q^X q^W W d Q R X |�rld }|S )NTFÚrú#úimport úimport	z"Error processing line {:d} of {}:
é   )Úfiler   z  z
Remainder of file ignored)r*   r+   )r'   r   r   r   Úopenr   Ú	enumerateÚ
startswithÚexecÚrstripr   r"   r   r   r   Ú	ExceptionÚprintÚformatÚstderrÚ	tracebackÚformat_exceptionÚexc_infoÚ
splitlines)ÚsitedirÚnamer   ÚresetÚfullnameÚfÚnÚliner	   r    r7   Úrecordr
   r
   r   Ú
addpackage“   sD    


rC   c             C   sž   |d krt ƒ }d}nd}t| ƒ\} }||krBtjj| ƒ |j|ƒ ytj| ƒ}W n tk
rd   d S X dd„ |D ƒ}xt	|ƒD ]}t
| ||ƒ q~W |ršd }|S )NTFc             S   s   g | ]}|j d ƒr|‘qS )z.pth)Úendswith)Ú.0r<   r
   r
   r   ú
<listcomp>Í   s    zaddsitedir.<locals>.<listcomp>)r'   r   r   r   r   r   r   Úlistdirr   ÚsortedrC   )r;   r   r=   ÚsitedircaseÚnamesr<   r
   r
   r   Ú
addsitedir½   s$    
rK   c               C   s`   t jjrdS ttdƒr4ttdƒr4tjƒ tjƒ kr4d S ttdƒr\ttdƒr\tjƒ tjƒ kr\d S dS )NFÚgetuidÚgeteuidÚgetgidÚgetegidT)	r   ÚflagsÚno_user_siteÚhasattrr   rM   rL   rO   rN   r
   r
   r
   r   Úcheck_enableusersiteÕ   s    
rS   c              C   s$   t d k	rt S ddlm}  | dƒa t S )Nr   )Úget_config_varÚuserbase)Ú	USER_BASEÚ	sysconfigrT   )rT   r
   r
   r   Úgetuserbaseí   s
    rX   c              C   s^   t ƒ } td k	rtS ddlm} tjdkrJddlm} |dƒrJ|ddƒatS |ddtj ƒatS )	Nr   )Úget_pathÚdarwin)rT   ÚPYTHONFRAMEWORKÚpurelibÚosx_framework_userz%s_user)	rX   Ú	USER_SITErW   rY   r   ÚplatformrT   r   r<   )Ú	user_baserY   rT   r
   r
   r   Úgetusersitepackagesû   s    

ra   c             C   s$   t ƒ }tr tjj|ƒr t|| ƒ | S )N)ra   ÚENABLE_USER_SITEr   r   ÚisdirrK   )r   Ú	user_siter
   r
   r   Úaddusersitepackages  s    
re   c          	   C   s  g }t ƒ }| d krt} � xü| D ]ô}| s||kr2q|j|ƒ tjdkr”|jtjj|ddtj	d d…  dƒƒ |jtjj|ddtj
d d…  dƒƒ n6|j|ƒ |jtjj|ddƒƒ |jtjj|ddƒƒ tjd	krd
dlm} |dƒ}|r|jtjjd|dtj
d d…  dƒƒ qW |S )Nú/Úlib64Úpythoné   zsite-packagesÚlibzpython%d.%dé   rZ   r   )rT   r[   z/Libraryz%d.%d)r   ÚPREFIXESr   r   Úsepr   r   r   r   ÚversionÚversion_infor_   rW   rT   )ÚprefixesÚsitepackagesÚseenÚprefixrT   Ú	frameworkr
   r
   r   Úgetsitepackages   s4    





ru   c             C   sF   t rdtjkrtjddƒ x&t|ƒD ]}tjj|ƒr$t|| ƒ q$W | S )NÚRPM_BUILD_ROOTr   z
/usr/local)	rb   r   Úenvironrl   Úinsertru   r   rc   rK   )r   rp   r;   r
   r
   r   ÚaddsitepackagesH  s    ry   c              C   s4   t jdkrd} nd} tjd| ƒt_tjd| ƒt_d S )Nú\zCtrl-Z plus ReturnzCtrl-D (i.e. EOF)ÚquitÚexit)r   rm   Ú_sitebuiltinsÚQuitterÚbuiltinsr{   r|   )Úeofr
   r
   r   ÚsetquitW  s
    
r�   c              C   s¤   t jdtjƒt_tjd d… dkr2t jddƒt_nt jddƒt_g g  } }ttdƒrŽtj	j
tjƒ}| jdd	gƒ |jtj	j|tjƒ|tjgƒ t jd
d| |ƒt_d S )NÚ	copyrighté   ÚjavaÚcreditsz?Jython is maintained by the Jython developers (www.jython.org).zž    Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
    for supporting Python development.  See www.python.org for more information.r   zLICENSE.txtÚLICENSEÚlicensez'See https://www.python.org/psf/license/)r}   Ú_Printerr   r‚   r   r_   r…   rR   r   r   Údirnamer   Úextendr   ÚpardirÚcurdirr‡   )ÚfilesÚdirsÚherer
   r
   r   Úsetcopyrightg  s     


r�   c               C   s   t jƒ t_d S )N)r}   Ú_Helperr   Úhelpr
   r
   r
   r   Ú	sethelper  s    r“   c              C   s   dd„ } | t _d S )Nc                 sè   dd l } ydd l‰dd l}W n tk
r0   d S X tˆddƒ}|d k	rZd|krZˆjdƒ n
ˆjdƒ yˆjƒ  W n tk
r„   Y nX ˆjƒ dkrät	j
jt	j
jdƒdƒ‰ yˆjˆ ƒ W n tk
rÊ   Y nX ‡ ‡fd	d
„}| j|ƒ d S )Nr   Ú__doc__Ú Úlibeditzbind ^I rl_completeztab: completeú~z.python_historyc                  s,   yˆj ˆ ƒ W n ttfk
r&   Y nX d S )N)Úwrite_history_fileÚFileNotFoundErrorÚPermissionErrorr
   )ÚhistoryÚreadliner
   r   Úwrite_history±  s    zCenablerlcompleter.<locals>.register_readline.<locals>.write_history)Úatexitrœ   ÚrlcompleterÚImportErrorr   Úparse_and_bindÚread_init_filer   Úget_current_history_lengthr   r   r   Ú
expanduserÚread_history_fileÚIOErrorÚregister)rž   rŸ   Úreadline_docr�   r
   )r›   rœ   r   Úregister_readline‹  s.    
z,enablerlcompleter.<locals>.register_readline)r   Ú__interactivehook__)r©   r
   r
   r   Úenablerlcompleter‚  s    	0r«   c             C   sF  t j}tjdkr$d|kr$t jd }ntj}t jjt jj|ƒƒ\}}t jj|ƒ}d t_	d}dd„ t jj
||ƒt jj
||ƒfD ƒ}|�rB|d }d}	t|dd	��`}
xX|
D ]P}d
|kr¤|jd
ƒ\}}}|jƒ jƒ }|jƒ }|dkræ|jƒ }	q¤|dkr¤|t_	q¤W W d Q R X | t_t_t| tjgƒ |	dk�r6tjdtjƒ ntjgada| S )NrZ   Ú__PYVENV_LAUNCHER__z
pyvenv.cfgc             S   s   g | ]}t jj|ƒr|‘qS r
   )r   r   Úisfile)rE   Úconffiler
   r
   r   rF   Ê  s    zvenv.<locals>.<listcomp>r   Útruezutf-8)Úencodingú=zinclude-system-site-packagesÚhomeF)r   rw   r   r_   Ú
executabler   Úsplitr   r‰   Ú_homer   r.   Ú	partitionÚstripÚlowerrs   Úexec_prefixry   rl   rx   rb   )r   Úenvr³   Úexe_dirr%   Úsite_prefixÚconf_basenameÚcandidate_confsÚvirtual_confÚsystem_siter?   rA   ÚkeyÚvaluer
   r
   r   Úvenv½  s>    


rÃ   c              C   sš   yBydd l } W n0 tk
r> } z|jdkr,n‚ W Y d d }~X nX W nR tk
r” } z6tjjrltjtjƒ Ž  ntj	j
d|jj|f ƒ W Y d d }~X nX d S )Nr   Úsitecustomizez@Error in sitecustomize; set PYTHONVERBOSE for traceback:
%s: %s
)rÄ   r    r<   r3   r   rP   ÚverboseÚ
excepthookr9   r6   ÚwriteÚ	__class__Ú__name__)rÄ   ÚexcÚerrr
   r
   r   Úexecsitecustomizeñ  s    
rÌ   c              C   sš   yBydd l } W n0 tk
r> } z|jdkr,n‚ W Y d d }~X nX W nR tk
r” } z6tjjrltjtjƒ Ž  ntj	j
d|jj|f ƒ W Y d d }~X nX d S )Nr   Úusercustomizez@Error in usercustomize; set PYTHONVERBOSE for traceback:
%s: %s
)rÍ   r    r<   r3   r   rP   rÅ   rÆ   r9   r6   rÇ   rÈ   rÉ   )rÍ   rÊ   rË   r
   r
   r   Úexecusercustomize  s    
rÎ   c              C   sf   t ƒ  tƒ } t| ƒ} td kr"tƒ at| ƒ} t| ƒ} tƒ  tƒ  t	ƒ  t
jjsRtƒ  tƒ  trbtƒ  d S )N)r   r!   rÃ   rb   rS   re   ry   r�   r�   r“   r   rP   Úisolatedr«   rÌ   rÎ   )r   r
   r
   r   Úmain  s    rÐ   c              C   s`  d} t jdd … }|s¦tƒ }tƒ }tdƒ xt jD ]}td|f ƒ q2W tdƒ td|tjj|ƒrfdndf ƒ td	|tjj|ƒr†dndf ƒ td
t ƒ t j	dƒ g }d|kr¼|j
tƒ d|krÎ|j
tƒ |�r,ttjj|ƒƒ trôt j	dƒ n6tdk�r
t j	dƒ n td k�r t j	dƒ n
t j	dƒ n0dd l}t|j| t jd tjf ƒƒ t j	dƒ d S )Na²      %s [--user-base] [--user-site]

    Without arguments print some useful information
    With arguments print the value of USER_BASE and/or USER_SITE separated
    by '%s'.

    Exit codes with --user-base or --user-site:
      0 - user site directory is enabled
      1 - user site directory is disabled by user
      2 - uses site directory is disabled by super user
          or for security reasons
     >2 - unknown error
    r,   zsys.path = [z    %r,ú]zUSER_BASE: %r (%s)r"   zdoesn't existzUSER_SITE: %r (%s)zENABLE_USER_SITE: %rr   z--user-basez--user-siteFrk   ri   é
   )r   ÚargvrX   ra   r4   r   r   rc   rb   r|   r   rV   r^   Úpathsepr   ÚtextwrapÚdedent)r’   Úargsr`   rd   r	   ÚbufferrÕ   r
   r
   r   Ú_script6  s@    




rÙ   Ú__main__)N)N)N)"r   r   r   r}   rs   r¹   rl   rb   r^   rV   r   r   r!   r'   rC   rK   rS   rX   ra   re   ru   ry   r�   r�   r“   r«   rÃ   rÌ   rÎ   rÐ   rP   Úno_siterÙ   rÉ   r
   r
   r
   r   Ú<module>H   s@   	*

(
;43
