
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,aVl  ã                &   @   s$  d Z dZd ZdZdZdZdZdZddlZddl	Z	ddl
Z
ddlZdd	lT d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/g&Zd0d1„ Zd2d
„ Zd3d„ Zd4d„ Zd5d„ Zd6d„ Zd7d„ Zejje_d8d„ Zd9d„ Zd:d„ Zd;d„ Zzdd<lmZ W n ek
�r$   dZY nX d=d„ Zd>d„ Zd?d„ Zd@d„ Z dAdB„ Z!zddClm"Z" W n ek
�rx   e!Z#Y n
X dDd „ Z#zddElm$Z$m%Z& W n ek
�r°   e#Z'Y nX dFdG„ Z(dHdI„ Z)dJd)„ Z'e*e	dKƒ�oäe	 +¡ dL dMkZ,dQdNd+„Z-dOd/„ Z.zddPlm/Z0 W n ek
�r   Y nX dS )RÚ.ú..ú\ú;ú/z.;C:\binZnulé    N)Ú*ÚnormcaseÚisabsÚjoinÚ
splitdriveÚsplitÚsplitextÚbasenameÚdirnameÚcommonprefixÚgetsizeÚgetmtimeÚgetatimeÚgetctimeÚislinkÚexistsÚlexistsÚisdirÚisfileÚismountÚ
expanduserÚ
expandvarsÚnormpathÚabspathÚcurdirÚpardirÚsepÚpathsepÚdefpathÚaltsepÚextsepÚdevnullÚrealpathÚsupports_unicode_filenamesÚrelpathÚsamefileÚsameopenfileÚsamestatÚ
commonpathc                 C   s   t | tƒrdS dS d S )Nó   \/ú\/)Ú
isinstanceÚbytes©Úpath© r4   ú+/opt/alt/python38/lib64/python3.8/ntpath.pyÚ_get_bothseps"   s    
r6   c                 C   s8   t  | ¡} t| tƒr$|  dd¡ ¡ S |  dd¡ ¡ S d S )Nó   /ó   \r   r   )ÚosÚfspathr0   r1   ÚreplaceÚlower©Úsr4   r4   r5   r   ,   s    

c                 C   sj   t  | ¡} t| tƒr,|  dd¡ d¡rBdS n|  dd¡ d¡rBdS t| ƒd } t| ƒd	koh| d	 t| ƒkS )
Nr7   r8   ó   \\?\Tr   r   ú\\?\é   r   )	r9   r:   r0   r1   r;   Ú
startswithr   Úlenr6   r=   r4   r4   r5   r	   =   s    

c           
   
   G   sT  t  | ¡} t| tƒr"d}d}d}nd}d}d}zð|sD| d d… |  t| ƒ\}}tt j|ƒD ]~}t|ƒ\}}	|	r�|	d |kr�|s„|sˆ|}|	}q\n*|rº||krº| ¡ | ¡ kr¶|}|	}q\|}|rÒ|d |krÒ|| }||	 }q\|�r|d |k�r|�r|dd … |k�r|| | W S || W S  ttt	fk
�rN   t
jd	| f|žŽ  ‚ Y nX d S )
Nr8   r.   ó   :r   r/   ú:r   éÿÿÿÿr
   )r9   r:   r0   r1   r   Úmapr<   Ú	TypeErrorÚAttributeErrorÚBytesWarningÚgenericpathÚ_check_arg_types)
r3   Úpathsr!   ÚsepsÚcolonZresult_driveZresult_pathÚpZp_driveZp_pathr4   r4   r5   r
   M   sL    


ÿÿ
c                 C   s  t  | ¡} t| ƒdk�rt| tƒr0d}d}d}nd}d}d}|  ||¡}|dd… |d krä|dd	… |krä| |d¡}|d
kr�| d d… | fS | ||d ¡}||d kr¼| d d… | fS |d
krÌt| ƒ}| d |… | |d … fS |dd… |k�r| d d… | dd … fS | d d… | fS )Né   r8   r7   rD   r   r   rE   r   é   rF   rA   )r9   r:   rC   r0   r1   r;   Úfind)rP   r!   r$   rO   ZnormpÚindexZindex2r4   r4   r5   r   |   s.    

$c                 C   sx   t  | ¡} t| ƒ}t| ƒ\}} t| ƒ}|rD| |d  |krD|d8 }q&| d |… | |d …  }}| |¡pj|}|| |fS ©NrA   )r9   r:   r6   r   rC   Úrstrip)rP   rN   ÚdÚiÚheadÚtailr4   r4   r5   r   ´   s    

c                 C   s8   t  | ¡} t| tƒr$t | ddd¡S t | ddd¡S d S )Nr8   r7   ó   .r   r   r   )r9   r:   r0   r1   rK   Ú	_splitext©rP   r4   r4   r5   r   Ë   s    

c                 C   s   t | ƒd S rU   ©r   r]   r4   r4   r5   r   Ö   s    c                 C   s   t | ƒd S )Nr   r^   r]   r4   r4   r5   r   Ý   s    c              
   C   s8   zt  | ¡}W n tttfk
r*   Y dS X t |j¡S )NF)r9   ÚlstatÚOSErrorÚ
ValueErrorrI   ÚstatÚS_ISLNKÚst_mode©r3   Ústr4   r4   r5   r   ä   s
    c              	   C   s.   zt  | ¡}W n ttfk
r(   Y dS X dS )NFT)r9   r_   r`   ra   re   r4   r4   r5   r   ð   s
    )Ú_getvolumepathnamec                 C   st   t  | ¡} t| ƒ}t| ƒ} t| ƒ\}}|rD|d |krD| pB||kS ||krPdS trl|  |¡t| ƒ |¡kS dS d S )Nr   TF)r9   r:   r6   r   r   rg   rV   )r3   rN   ÚrootÚrestr4   r4   r5   r     s    
c                 C   sú   t  | ¡} t| tƒrd}nd}|  |¡s,| S dt| ƒ }}||k r\| | t| ƒkr\|d7 }q:dt jkrrt jd }nFdt jkr€| S zt jd }W n tk
r¦   d}Y nX t	|t jd ƒ}t| tƒrÌt  
|¡}|dkrêt	t|ƒ| d|… ƒ}|| |d …  S )Nó   ~ú~rA   ZUSERPROFILEZHOMEPATHZ	HOMEDRIVEÚ )r9   r:   r0   r1   rB   rC   r6   ÚenvironÚKeyErrorr
   Úfsencoder   )r3   ÚtilderX   ÚnÚuserhomeÚdriver4   r4   r5   r   !  s.    








c                 C   s2  t  | ¡} t| tƒrhd| kr(d| kr(| S dd l}t|j|j d dƒ}d}d}d}d}d}tt d	d ƒ}nFd
| kr|d| kr|| S dd l}|j|j d }d}d}d}d}d
}t j}| d d… }	d}
t	| ƒ}|
|k �r.| |
|
d … }||k�rX| |
d d … } t	| ƒ}z&|  
|¡}
|	|| d |
d …  7 }	W n* tk
�rR   |	||  7 }	|d }
Y nX �nÌ||k�rJ| |
d |
d … |k�rŽ|	|7 }	|
d7 }
n¸| |
d d … } t	| ƒ}z|  
|¡}
W n* tk
�rÞ   |	||  7 }	|d }
Y nhX | d |
… }z.|d k�rt  t jt  |¡ ¡}n|| }W n" tk
�r<   || | }Y nX |	|7 }	�nÚ||k�r| |
d |
d … |k�r‚|	|7 }	|
d7 }
�q$| |
d |
d … |k�r^| |
d d … } t	| ƒ}z|  
|¡}
W n. tk
�rð   |	|| |  7 }	|d }
Y nlX | d |
… }z.|d k�r"t  t jt  |¡ ¡}n|| }W n& tk
�rR   || | | }Y nX |	|7 }	n¼| d d… }|
d7 }
| |
|
d … }|�r¶||k�r¶||7 }|
d7 }
| |
|
d … }�q‚z.|d k�rÚt  t jt  |¡ ¡}n|| }W n tk
�r   || }Y nX |	|7 }	|�r$|
d8 }
n|	|7 }	|
d7 }
qÆ|	S )Nó   $ó   %r   z_-Úasciió   'ó   {ó   }Úenvironbú$ú%ú'Ú{Ú}rA   rQ   )r9   r:   r0   r1   ÚstringZascii_lettersZdigitsÚgetattrrm   rC   rT   ra   ro   Úfsdecodern   )r3   r€   ZvarcharsZquoteZpercentZbraceZrbraceZdollarrm   ÚresrT   ZpathlenÚcÚvarÚvaluer4   r4   r5   r   Q  s¼    













c           	      C   sP  t  | ¡} t| tƒr*d}d}d}d}d}nd}d}d}d	}d
}|  |¡rL| S |  ||¡} t| ƒ\}} |  |¡r€||7 }|  |¡} |  |¡}d}|t	|ƒk �r,|| r°|| |kr¸||= qŽ|| |k�r"|dkrú||d  |krú||d |d …= |d8 }n&|dk�r| 
|¡�r||= n|d7 }qŽ|d7 }qŽ|�sB|�sB| |¡ || |¡ S )Nr8   r7   r[   ó   ..)s   \\.\r?   r   r   r   r   )z\\.\r@   r   rA   )r9   r:   r0   r1   rB   r;   r   Úlstripr   rC   ÚendswithÚappendr
   )	r3   r!   r$   r   r    Zspecial_prefixesÚprefixÚcompsrX   r4   r4   r5   r   Â  sF    









c                 C   s@   t  | ¡} t| ƒs8t| tƒr&t  ¡ }nt  ¡ }t|| ƒ} t| ƒS ©N)	r9   r:   r	   r0   r1   ÚgetcwdbÚgetcwdr
   r   )r3   Úcwdr4   r4   r5   Ú_abspath_fallbackô  s    



r‘   )Ú_getfullpathnamec              	   C   s4   zt t| ƒƒW S  ttfk
r.   t| ƒ Y S X d S r�   )r   r’   r`   ra   r‘   r2   r4   r4   r5   r     s    )Ú_getfinalpathnameÚreadlinkc              
   C   s²   d}t ƒ }t| ƒ|kr®| t| ƒ¡ z:| }t| ƒ} t| ƒs\t|ƒsJ|} W q®ttt|ƒ| ƒƒ} W q
 t	k
r” } z|j
|kr‚W Y ¢q®‚ W 5 d }~X Y q
 tk
rª   Y q®Y q
X q
| S )N)rA   rQ   rR   é   é   é    é2   éC   éW   i&  i(  i)  )Úsetr   ÚaddÚ_nt_readlinkr	   r   r   r
   r   r`   Úwinerrorra   )r3   Úallowed_winerrorÚseenZold_pathÚexr4   r4   r5   Ú_readlink_deep  s&    
r¢   c                 C   sÚ   d}d}| rÖzt | ƒ} |r$t| |ƒn| W S  tk
rÒ } zŒ|j|krF‚ z0t| ƒ}|| krt|rft||ƒn|W  W Y ¢TS W n tk
rŠ   Y nX t| ƒ\} }| r°|s°| |  W Y ¢S |r¾t||ƒn|}W 5 d }~X Y qX q|S )N)rA   rQ   rR   r•   r–   r—   r˜   r™   rš   é{   i€  i�  rl   )r“   r
   r`   rž   r¢   r   )r3   rŸ   rZ   r¡   Únew_pathÚnamer4   r4   r5   Ú_getfinalpathname_nonstrictC  s(    
 &r¦   c           	   
   C   s^  t | ƒ} t| tƒrBd}d}d}t ¡ }t| ƒtt t¡ƒkrjdS n(d}d}d}t ¡ }t| ƒttƒkrjdS |  	|¡}|sŠt
| ƒsŠt|| ƒ} zt| ƒ} d	}W n0 tk
rÊ } z|j}t| ƒ} W 5 d }~X Y nX |�sZ|  	|¡�rZ|  	|¡rþ|| t|ƒd …  }n| t|ƒd … }zt|ƒ| k�r"|} W n4 tk
�rX } z|j|k�rH|} W 5 d }~X Y nX | S )
Nr?   s   \\?\UNC\s   \\s   \\.\NULr@   z\\?\UNC\z\\z\\.\NULr   )r   r0   r1   r9   rŽ   r   ro   r&   r�   rB   r	   r
   r“   r`   rž   r¦   rC   )	r3   r‹   Z
unc_prefixZnew_unc_prefixr�   Z
had_prefixZinitial_winerrorr¡   Zspathr4   r4   r5   r'   q  sD    



ÚgetwindowsversionrR   rQ   c                 C   sf  t  | ¡} t| tƒr"d}d}d}nd}d}d}|d kr:|}| sFtdƒ‚t  |¡}zàtt|ƒƒ}tt| ƒƒ}t|ƒ\}}t|ƒ\}	}
t|ƒt|	ƒkr¢td|	|f ƒ‚d	d
„ | 	|¡D ƒ}dd
„ |
 	|¡D ƒ}d}t
||ƒD ]$\}}t|ƒt|ƒkrô qþ|d7 }qØ|gt|ƒ|  ||d …  }|�s(|W S t|Ž W S  tttttfk
�r`   t d| |¡ ‚ Y nX d S )Nr8   r[   r‡   r   r   r   zno path specifiedz&path is on mount %r, start on mount %rc                 S   s   g | ]}|r|‘qS r4   r4   ©Ú.0Úxr4   r4   r5   Ú
<listcomp>Â  s      zrelpath.<locals>.<listcomp>c                 S   s   g | ]}|r|‘qS r4   r4   r¨   r4   r4   r5   r«   Ã  s      r   rA   r)   )r9   r:   r0   r1   ra   r   r   r   r   r   ÚziprC   r
   rH   rI   rJ   ÚDeprecationWarningrK   rL   )r3   Ústartr!   r   r    Z	start_absZpath_absZstart_driveZ
start_restZ
path_driveZ	path_restÚ
start_listÚ	path_listrX   Ze1Ze2Úrel_listr4   r4   r5   r)   ¦  sJ    


 ÿ

c              	      s¶  | st dƒ‚tttj| ƒƒ} t| d tƒr8d‰d‰ d‰nd‰d‰ d‰�z@‡ ‡fd	d
„| D ƒ}‡fdd
„|D ƒ}zt‡fdd„|D ƒƒ\}W n t k
r¨   t dƒd ‚Y nX ttdd„ |D ƒƒƒdkrÌt dƒ‚t	| d  
ˆ ˆ¡ƒ\}}| ˆ¡}‡fdd
„|D ƒ}‡fdd
„|D ƒ}t|ƒ}t|ƒ}t|ƒD ]*\}	}
|
||	 k�r*|d |	… } �qf�q*|d t|ƒ… }|�rt|ˆ n|}|ˆ |¡ W S  ttfk
�r°   tjd| žŽ  ‚ Y nX d S )Nz%commonpath() arg is an empty sequencer   r8   r7   r[   r   r   r   c                    s    g | ]}t | ˆ ˆ¡ ¡ ƒ‘qS r4   )r   r;   r<   )r©   rP   )r$   r!   r4   r5   r«   ï  s     zcommonpath.<locals>.<listcomp>c                    s   g | ]\}}|  ˆ ¡‘qS r4   r^   ©r©   rW   rP   ©r!   r4   r5   r«   ð  s     c                 3   s"   | ]\}}|d d… ˆ kV  qd S rU   r4   r²   r³   r4   r5   Ú	<genexpr>ó  s     zcommonpath.<locals>.<genexpr>z%Can't mix absolute and relative pathsc                 s   s   | ]\}}|V  qd S r�   r4   r²   r4   r4   r5   r´   ú  s     rA   zPaths don't have the same drivec                    s   g | ]}|r|ˆ kr|‘qS r4   r4   ©r©   r„   ©r   r4   r5   r«   ÿ  s       c                    s   g | ]}‡ fd d„|D ƒ‘qS )c                    s   g | ]}|r|ˆ kr|‘qS r4   r4   rµ   r¶   r4   r5   r«     s       z)commonpath.<locals>.<listcomp>.<listcomp>r4   )r©   r>   r¶   r4   r5   r«     s     r-   )r-   )ra   ÚtuplerG   r9   r:   r0   r1   r›   rC   r   r;   r   ÚminÚmaxÚ	enumerater
   rH   rI   rK   rL   )rM   ZdrivesplitsÚsplit_pathsr	   rs   r3   ÚcommonÚs1Ús2rX   r„   r‹   r4   )r$   r   r!   r5   r-   Þ  sF    

)Ú_isdir)N)1r   r    r%   r!   r"   r$   r#   r&   r9   Úsysrb   rK   Ú__all__r6   r   r	   r
   r   r   r   r\   Ú__doc__r   r   r   r   Úntrg   ÚImportErrorr   r   r   r   r‘   r’   r   r“   r”   r�   r'   r¢   r¦   Úhasattrr§   r(   r)   r-   r¿   r   r4   r4   r4   r5   Ú<module>   s°                             ú
/8

0q2

*.2ÿ
84