???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    e5db  ã                   @   sl   d dl Z d dlZd dlmZmZ d dlmZ i addd„Zddd	„Z	dd
d„Z
dd„ Zddd„Zdd„ ZdS )é    N)ÚDistutilsFileErrorÚDistutilsInternalError)Úlogéÿ  é   c                 C   sf  t | tƒstd| f ƒ‚tj | ¡} g }tj | ¡s<| dkr@|S t tj 	| ¡¡rV|S tj 
| ¡\}}|g}|rž|ržtj |¡sžtj 
|¡\}}| d|¡ ql|D ]¾}tj ||¡}tj 	|¡}	t |	¡rÌq¢|dkràt d|¡ |sXzt ||¡ W nV tk
rL }
 z6|
jtjkr&tj |¡s<td||
jd f ƒ‚W 5 d }
~
X Y nX | |¡ dt|	< q¢|S )Nz(mkpath: 'name' must be a string (got %r)Ú r   r   zcreating %szcould not create '%s': %séÿÿÿÿ)Ú
isinstanceÚstrr   ÚosÚpathÚnormpathÚisdirÚ_path_createdÚgetÚabspathÚsplitÚinsertÚjoinr   ÚinfoÚmkdirÚOSErrorÚerrnoZEEXISTr   ÚargsÚappend)ÚnameÚmodeÚverboseÚdry_runZcreated_dirsÚheadÚtailZtailsÚdZabs_headÚexc© r#   ú*/usr/lib64/python3.8/distutils/dir_util.pyÚmkpath   sB    
ÿ
ÿ

r%   c              	   C   sN   t ƒ }|D ] }| tj | tj |¡¡¡ q
t|ƒD ]}t||||d q4d S )N©r   r   )ÚsetÚaddr   r   r   ÚdirnameÚsortedr%   )Zbase_dirÚfilesr   r   r   Zneed_dirÚfileÚdirr#   r#   r$   Úcreate_treeP   s
    r.   c                 C   s^  ddl m} |s(tj | ¡s(td|  ƒ‚zt | ¡}	W n> tk
rt }
 z |rRg }	ntd| |
jf ƒ‚W 5 d }
~
X Y nX |s†t	||d g }|	D ]Ê}tj 
| |¡}tj 
||¡}| d¡rºqŽ|r
tj |¡r
t |¡}|dkrît d||¡ |sþt ||¡ | |¡ qŽtj |¡r8| t||||||||d	¡ qŽ||||||||d	 | |¡ qŽ|S )
Nr   )Ú	copy_filez&cannot copy tree '%s': not a directoryzerror listing files in '%s': %s)r   z.nfsr   zlinking %s -> %sr&   )Zdistutils.file_utilr/   r   r   r   r   Úlistdirr   Ústrerrorr%   r   Ú
startswithÚislinkÚreadlinkr   r   Úsymlinkr   ÚextendÚ	copy_tree)ÚsrcZdstZpreserve_modeZpreserve_timesZpreserve_symlinksÚupdater   r   r/   ÚnamesÚeZoutputsÚnZsrc_nameZdst_nameZ	link_destr#   r#   r$   r7   c   s\    ÿÿ

   þÿ  þr7   c                 C   sf   t  | ¡D ]F}t j | |¡}t j |¡r@t j |¡s@t||ƒ q
| t j|f¡ q
| t j	| f¡ d S )N)
r   r0   r   r   r   r3   Ú_build_cmdtupler   ÚremoveÚrmdir)r   Ú	cmdtuplesÚfZreal_fr#   r#   r$   r=   ¨   s    r=   c                 C   sœ   |dkrt  d| ¡ |rd S g }t| |ƒ |D ]h}z2|d |d ƒ tj |d ¡}|tkrbt|= W q. tk
r” } zt  d| |¡ W 5 d }~X Y q.X q.d S )Nr   z'removing '%s' (and everything under it)r   zerror removing %s: %s)	r   r   r=   r   r   r   r   r   Úwarn)Z	directoryr   r   r@   Úcmdr   r"   r#   r#   r$   Úremove_tree²   s    

rD   c                 C   s6   t j | ¡\}} | dd… t jkr2|| dd …  } | S )Nr   r   )r   r   Ú
splitdriveÚsep)r   Zdriver#   r#   r$   Úensure_relativeÊ   s    rG   )r   r   r   )r   r   r   )r   r   r   r   r   r   )r   r   )r   r   Zdistutils.errorsr   r   Z	distutilsr   r   r%   r.   r7   r=   rD   rG   r#   r#   r#   r$   Ú<module>   s   
?
        ÿ
E

