???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    MfuU                     @   s*  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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d1ddZdd Zdd Zdd Zdd Zdd Zdd Zd2ddZd3d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%d0kr&e$  dS )4    Nc                  G   sB   t jj|  }zt j|}W n tk
r0   Y nX |t j|fS N)ospathjoinabspathOSErrornormcase)pathsdir r   )/opt/alt/python38/lib64/python3.8/site.pymakepath\   s    r   c                  C   s   t tj D ]~} tt| dd dd dkr,qztj| j| _W n t	t
tfk
rZ   Y nX ztj| j| _W q t	t
tfk
r   Y qX qd S )N
__loader__
__module__)_frozen_importlib_frozen_importlib_external)setsysmodulesvaluesgetattrr   r   r   __file__AttributeErrorr   	TypeError
__cached__)mr   r   r   	abs_pathse   s    r   c                  C   sP   g } t  }tjD ],}t|\}}||kr| | || q| tjd d < |S r   )r   r   r   r   appendadd)Lknown_pathsr
   dircaser   r   r   removeduppathsu   s    

r"   c               	   C   sV   t  } tjD ]D}z&tj|r4t|\}}| | W q tk
rN   Y qY qX q| S r   )r   r   r   r   existsr   r   r   )ditem_itemcaser   r   r   _init_pathinfo   s    
r(   c                 C   s  |d krt  }d}nd}tj| |}zt|}W n tk
rJ   Y d S X t|ddtj@ spt|ddtj	@ rtd S zt
t
|}W n tk
r   Y d S X |
 t|D ]\}}|drqz^|drt| W q| }t| |\}	}
|
|kr tj|	r tj|	 ||
 W q tk
r   td|d	 |tjd
 dd l}|jt  D ](}| D ]}td| tjd
 qpqdtdtjd
 Y  qY qX qW 5 Q R X |rd }|S )NTFst_flagsr   st_file_attributes#)zimport zimport	z"Error processing line {:d} of {}:
   )filez  z
Remainder of file ignored)r(   r   r   r   lstatr   r   stat	UF_HIDDENFILE_ATTRIBUTE_HIDDENioTextIOWrapper	open_code	enumerate
startswithexecrstripr   r#   r   r   r   	Exceptionprintformatstderr	tracebackformat_exceptionexc_info
splitlines)sitedirnamer    resetfullnamestfnliner
   r!   r=   recordr   r   r   
addpackage   sV    

rJ   c                 C   s   |d krt  }d}nd}t| \} }||krBtj|  || zt| }W n tk
rf   Y d S X dd |D }t	|D ]}t
| || q~|rd }|S )NTFc                 S   s$   g | ]}| d r|ds|qS )z.pth.)endswithr6   ).0rB   r   r   r   
<listcomp>   s    
 
zaddsitedir.<locals>.<listcomp>)r(   r   r   r   r   r   r   listdirr   sortedrJ   )rA   r    rC   sitedircasenamesrB   r   r   r   
addsitedir   s$    
rS   c                   C   s`   t jjrdS ttdr4ttdr4t t kr4d S ttdr\ttdr\t t kr\d S dS )NFgetuidgeteuidgetgidgetegidT)	r   flagsno_user_sitehasattrr   rU   rT   rW   rV   r   r   r   r   check_enableusersite   s    
r[   c                  C   sz   t jdd } | r| S dd }t jdkrBt jdp6d}||dS tjdkrptjrp|dd	tjd
tjd d  S |ddS )NPYTHONUSERBASEc                  W   s   t jt jj|  S r   )r   r   
expanduserr   )argsr   r   r   joinuser  s    z_getuserbase.<locals>.joinuserntAPPDATA~PythondarwinLibraryz%d.%d   z.local)r   environgetrB   r   platform
_frameworkversion_info)env_baser_   baser   r   r   _getuserbase   s    


rn   c                 C   sd   t j}tjdkr,|  d|d  |d  dS t jdkrFt jrF|  dS |  d|d  d	|d  d
S )Nr`   z\Pythonr   r,   z\site-packagesrd   z/lib/python/site-packagesz/lib/pythonrK   z/site-packages)r   rk   r   rB   ri   rj   )userbaseversionr   r   r   	_get_path  s    

rq   c                   C   s   t d krt a t S r   )	USER_BASErn   r   r   r   r   getuserbase  s    rs   c                  C   s   t  } td krt| atS r   )rs   	USER_SITErq   )ro   r   r   r   getusersitepackages,  s    ru   c                 C   s$   t  }tr tj|r t||  | S r   )ru   ENABLE_USER_SITEr   r   isdirrS   )r    	user_siter   r   r   addusersitepackages:  s    
ry   c                 C   s   g }t  }| d krt} | D ]}|r||kr,q|| tjdkr|tj|ddtj	d d  d |tj|ddtj
d d  d q|| |tj|dd |tj|dd q|S )	N/lib64python   zsite-packageslibzpython%d.%drf   )r   PREFIXESr   r   sepr   r   r   r   rp   rk   )prefixessitepackagesseenprefixr   r   r   getsitepackagesH  s*    


r   c                 C   s(   t |D ]}tj|rt||  q| S r   )r   r   r   rw   rS   )r    r   rA   r   r   r   addsitepackagesg  s    r   c                  C   s4   t jdkrd} nd} td| t_td| t_d S )N\zCtrl-Z plus ReturnzCtrl-D (i.e. EOF)quitexit)r   r   _sitebuiltinsQuitterbuiltinsr   r   )eofr   r   r   setquito  s
    
r   c                  C   s   t dtjt_tjd d dkr2t ddt_nt ddt_g g  } }ttdrtj	
tj}| dd	g |tj	|tj|tjg t 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   ri   r   rZ   r   r   dirnamer   extendr   pardircurdirr   )filesdirsherer   r   r   setcopyright  s$    

 r   c                   C   s   t  t_d S r   )r   _Helperr   helpr   r   r   r   	sethelper  s    r   c                  C   s   dd } | t _d S )Nc                     s   dd l } zdd ldd l}W n tk
r2   Y d S X tdd}|d k	r\d|kr\d n
d z  W n tk
r   Y nX  dkrt	j
t	j
dd z  W n tk
r   Y nX  fd	d
}| | d S )Nr   __doc__ libeditzbind ^I rl_completeztab: completerb   z.python_historyc                      s(   z   W n tk
r"   Y nX d S r   )write_history_filer   r   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   r]   read_history_fileregister)r   r   readline_docr   r   r   r   register_readline  s0    
z,enablerlcompleter.<locals>.register_readline)r   __interactivehook__)r   r   r   r   enablerlcompleter  s    	0r   c              	   C   sH  t j}tjdkr*d|kr*t jd  }t_ntj}t jt j|\}}t j	|}d t_
d}dd t j||t j||fD }|rD|d }d}	t|dd	\}
|
D ]P}d
|kr|d
\}}}|  }| }|dkr| }	q|dkr|t_
qW 5 Q R X | t_t_t| tjg |	dkr8tdtj ntjgada| S )Nrd   __PYVENV_LAUNCHER__z
pyvenv.cfgc                 S   s   g | ]}t j|r|qS r   )r   r   isfile)rM   conffiler   r   r   rN     s   zvenv.<locals>.<listcomp>r   truezutf-8)encoding=zinclude-system-site-packageshomeF)r   rg   r   ri   _base_executable
executabler   splitr   r   _homer   open	partitionstriplowerr   exec_prefixr   r   insertrv   )r    envr   exe_dirr&   site_prefixconf_basenamecandidate_confsvirtual_confsystem_siterF   rH   keyvaluer   r   r   venv  sB    

r   c               
   C   s   zBzdd l } W n0 tk
r> } z|jdkr,n W 5 d }~X Y nX W nR tk
r } z4tjjrltjt   ntj	
d|jj|f  W 5 d }~X Y nX d S )Nr   sitecustomizez@Error in sitecustomize; set PYTHONVERBOSE for traceback:
%s: %s
)r   r   rB   r9   r   rX   verbose
excepthookr?   r<   write	__class____name__)r   excerrr   r   r   execsitecustomize	  s    

r   c               
   C   s   zBzdd l } W n0 tk
r> } z|jdkr,n W 5 d }~X Y nX W nR tk
r } z4tjjrltjt   ntj	
d|jj|f  W 5 d }~X Y nX d S )Nr   usercustomizez@Error in usercustomize; set PYTHONVERBOSE for traceback:
%s: %s
)r   r   rB   r9   r   rX   r   r   r?   r<   r   r   r   )r   r   r   r   r   r   execusercustomize  s    

r   c                  C   s~   t jd d  } t }| t jkr$t  t|}td kr:t at|}t|}t	  t
  t  t jjsjt  t  trzt  d S r   )r   r   r"   r   r   rv   r[   ry   r   r   r   r   rX   isolatedr   r   r   )	orig_pathr    r   r   r   main1  s"    
r   c                  C   s\  d} t jdd  }|st }t }td t jD ]}td|f  q0td td|tj|rbdndf  td	|tj|rdndf  td
t  t 	d g }d|kr|
t d|kr|
t |r(ttj| trt 	d n6tdkrt 	d n td krt 	d n
t 	d n0dd l}t|| t jd tjf  t 	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-siteFrf   r}   
   )r   argvrs   ru   r:   r   r   rw   rv   r   r   rr   rt   pathsepr   textwrapdedent)r   r^   	user_baserx   r
   bufferr   r   r   r   _scriptS  sD    





r   __main__)N)N)N)&r   r   r   r   r2   r/   r   r   r   rv   rt   rr   r   r   r"   r(   rJ   rS   r[   rn   rq   rs   ru   ry   r   r   r   r   r   r   r   r   r   r   rX   no_siter   r   r   r   r   r   <module>H   sH   	1
 

;4
3
