Edit File: shutil.cpython-38.opt-2.pyc
U ����@��d1�����������������������@���s���d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZzd�dlZ[dZW�n�ek rZ���dZY�nX�zd�dl Z [ dZ W�n�ek r����dZ Y�nX�zd�dlZ[dZW�n�ek r����dZY�nX�zd�dl mZ�W�n�ek r����dZY�nX�zd�dlmZ�W�n�ek �r���dZY�nX�e�jdkZd�ZZe�jdk�r2d�dlZne�r@d�dlZe�rJdnd Zee�d ��odej�d�ae�oteed�Zd Zddddddddddddddddddd d!d"d#d$d%d&gZG�d'd��de�ZG�d(d&��d&e�ZG�d)d��de�Z G�d*d��de�Z!G�d+d,��d,e�Z"G�d-d.��d.e#�Z$G�d/d0��d0e#�Z%d1d2��Z&d3d4��Z'efd5d6�Z(d�d7d�Z)d8d9��Z*d:d;��Z+d<d=��Z,dd>�d?d�Z-dd>�d@d�Z.ee�dA��r�dd>�dBdC�Z/ndDdC��Z/dd>�dEd�Z0dd>�dFd�Z1dd>�dGd�Z2dHd"��Z3d�dIdJ�Z4dde2ddfdKd�Z5ee�j6dL��rdMdN��Z7dOdP��Z8ndQdN��Z7dRdP��Z8dSdT��Z9dUdV��Z:e�j;e�je�j<e�j=he�j>k�obe�j?e�j@k�obe�je�jAkZBd�dWd�ZCeBeC_DdXdY��ZEe2fdZd�ZFd[d\��ZGd]d^��ZHd_d`��ZIdadb��ZJd�ddde�ZKd�dfdg�ZLdheKdigdjfiZMe�r�eKdkgdlfeMdm<�eLg�dnfeMdo<�e �reKdpgdqfeMdr<�e�reKdsgdtfeMdu<�dvd��ZNd�dxd�ZOdyd��ZPd�dzd�ZQd{d��ZRd|d}��ZSd�d~d�ZTdd ��ZUd�d���ZVd�d���ZWdd��d�d��ZXd�geXg�djfd�geWg�dnfd��ZYe�r�d�d�geXg�dlfeYdm<�e �r�d�d�geXg�dqfeYdr<�e�r�d�d�geXg�dtfeYdu<�d�d���ZZd�dd��d�d!�Z[ee�d���rHe�\d���e�]d�d��Z^d�e^j__`d�e^ja_`d�e^jb_`d�d���Zcn$e�rle�\d���e�]d�d��Z^d�d���Zcd�d�d#�Zdd�d�d%�Zed�d���Zfe�jge�jhB�dfd�d$�ZidS�)������NTF)�getpwnam)�getgrnam�nt�posixi���i����sendfileZlinux� _fcopyfilez%.COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS;.MSC�copyfileobj�copyfile�copymode�copystat�copy�copy2�copytree�move�rmtree�Error�SpecialFileError� ExecError�make_archive�get_archive_formats�register_archive_format�unregister_archive_format�get_unpack_formats�register_unpack_format�unregister_unpack_format�unpack_archive�ignore_patterns�chown�which�get_terminal_size� SameFileErrorc�������������������@���s���e�Zd�ZdS�)r���N��__name__� __module__�__qualname__��r%���r%����+/opt/alt/python38/lib64/python3.8/shutil.pyr���E���s���c�������������������@���s���e�Zd�ZdS�)r ���Nr!���r%���r%���r%���r&���r ���H���s���c�������������������@���s���e�Zd�ZdS�)r���Nr!���r%���r%���r%���r&���r���K���s���c�������������������@���s���e�Zd�ZdS�)r���Nr!���r%���r%���r%���r&���r���O���s���c�������������������@���s���e�Zd�ZdS�)� ReadErrorNr!���r%���r%���r%���r&���r'���R���s���r'���c�������������������@���s���e�Zd�ZdS�)� RegistryErrorNr!���r%���r%���r%���r&���r(���U���s���r(���c�������������������@���s���e�Zd�ZdS�)�_GiveupOnFastCopyNr!���r%���r%���r%���r&���r)���Y���s���r)���c�������������� ���C���s����z|�����}|����}W�n*�tk r>�}�zt|��W�5�d�}~X�Y�nX�zt�|||��W�nT�tk r��}�z6|�j|_|j|_|j t j t jhkr�t|��n|d��W�5�d�}~X�Y�nX�d�S��N)�fileno� Exceptionr)���r���r����OSError�name�filename� filename2�errno�EINVAL�ENOTSUP)�fsrc�fdst�flags�infd�outfd�errr%���r%���r&����_fastcopy_fcopyfile^���s���� r:���c�������������� ���C���sD��z|�����}|����}W�n*�tk r>�}�zt|��W�5�d�}~X�Y�nX�ztt�|�jd�}W�n�tk rn���d}Y�nX�tj dk�r�t |d�}d}zt�||||�}W�n��tk �r&�}�zj|�j|_ |j|_|jtjkr�dat|��|jtjkr�|d��|dk�rt�|dtj�dk�rt|��|�W�5�d�}~X�Y�q�X�|dk�r6�q@||7�}q�d�S�)Ni����i���l��������i���@r���F)r+���r,���r)����max�os�fstat�st_sizer-����sys�maxsize�minr���r.���r/���r0���r1���ZENOTSOCK�_USE_CP_SENDFILEZENOSPC�lseek�SEEK_CUR)r4���r5���r7���r8���r9���Z blocksize�offsetZsentr%���r%���r&����_fastcopy_sendfiler���s8���� rF���c�������������� ���C���sn���|�j�}|j}tt|���L}||�}|s*q`q||k�rV|d�|���}|�|��W�5�Q�R�X�q||��qW�5�Q�R�X�d�S�r*���)�readinto�write� memoryview� bytearray)r4���r5����lengthZ fsrc_readinto� fdst_writeZmv�nZsmvr%���r%���r&����_copyfileobj_readinto����s����rN���c�����������������C���s0���|st�}|�j}|j}||�}|s"q,||��qd�S�r*���)�COPY_BUFSIZE�readrH���)r4���r5���rK���Z fsrc_readrL���Zbufr%���r%���r&���r�������s����c�����������������C���s����t�|�tj�rJttjd�rJztj�|����t�|��W�S��tk rH���Y�dS�X�ttjd�r~ztj�|�|�W�S��tk r|���Y�dS�X�tj� tj� |���tj� tj� |��kS�)N�samestatF�samefile)� isinstancer<����DirEntry�hasattr�pathrQ����statr-���rR����normcase�abspath��src�dstr%���r%���r&���� _samefile����s�����r]���c�����������������C���s���t�|�tj�r|����S�t�|��S�r*���)rS���r<���rT���rW�����fnr%���r%���r&����_stat����s����r`���c�����������������C���s ���t�|�tj�r|����S�tj�|��S�r*���)rS���r<���rT���� is_symlinkrV����islinkr^���r%���r%���r&����_islink����s����rc�����follow_symlinksc���������� ������C���s���t��d|�|��t|�|�r(td�|�|���d}t|�|g�D�]j\}}zt|�}W�n�tk r`���Y�q8X�t� |j �r�t|tj �r�|jn|}td|���tr8|dkr8|j}q8|s�t|��r�t�t�|��|���n t|�d�����}t|d���}t�r,z,t||tj��|W�W��5�Q�R���W��5�Q�R���S��tk �r(���Y�nX�n�t�rtz(t||��|W�W��5�Q�R���W��5�Q�R���S��tk �rp���Y�nX�n>t�r�|dk�r�t||t|t���|W��5�Q�R���W��5�Q�R���S�t ||��W�5�Q�R�X�W�5�Q�R�X�|S�)Nzshutil.copyfilez{!r} and {!r} are the same filer���z`%s` is a named pipe�rb�wb)!r?����auditr]���r ����format� enumerater`���r-���rW����S_ISFIFO�st_moderS���r<���rT���rV���r����_WINDOWSr>���rc����symlink�readlink�open�_HAS_FCOPYFILEr:���r���Z_COPYFILE_DATAr)���rB���rF���rN���rA���rO���r���) r[���r\���re���� file_size�ir_����str4���r5���r%���r%���r&���r �������sD���� c����������������C���sp���t��d|�|��|sFt|��rFtj�|�rFttd�r@tjtj�}}qRd�S�nt tj �}}||��}||t�|j ���d�S�)Nzshutil.copymode�lchmod)r?���rh���rc���r<���rV���rb���rU����lstatru���r`����chmodrW����S_IMODErl���)r[���r\���re���Z stat_funcZ chmod_funcrt���r%���r%���r&���r ���!��s���� � listxattrc����������������C���s����zt�j|�|d�}W�n@�tk rR�}�z"|jtjtjtjfkr<��W�Y��d�S�d�}~X�Y�nX�|D�]j}z&t�j|�||d�}t�j||||d��W�qX�tk r��}�z |jtj tjtjtjfkr���W�5�d�}~X�Y�qXX�qXd�S��Nrd���) r<���ry���r-���r1���r3���ZENODATAr2����getxattr�setxattrZEPERM)r[���r\���re����names�er.����valuer%���r%���r&���� _copyxattr7��s���� �r����c������������������O���s���d�S�r*���r%���)�args�kwargsr%���r%���r&���r����O��s����c���������� ��� ������s`��t��d|�|��d�d�d�dd���|p6t|��o4tj�|��}|rJ��fdd�}n��fdd�}t|�tj�rp|�j|d�}n|d �|�|d�}t� |j �}|d �||j|jf|d��t |�||d��z|d�|||d��W�n�tk r����Y�nX�t|d��r\z|d �||j|d��W�nV�tk �rZ�}�z6dD�]*}tt|��r|jtt|�k�r��qJ�q��W�5�d�}~X�Y�nX�d�S�)Nzshutil.copystat)�nsre���c�����������������W���s���d�S�r*���r%���)r����re���r����r%���r%���r&����_nop`��s����zcopystat.<locals>._nopc��������������������s���t�t|����S�r*���)�getattrr<����r.����r����r%���r&����lookupg��s����zcopystat.<locals>.lookupc��������������������s���t�t|����}|tjkr|S���S�r*���)r����r<����supports_follow_symlinks)r.���r_���r����r%���r&���r����l��s���� rd���rW����utimerw����st_flagsZchflags)Z EOPNOTSUPPr3���)r?���rh���rc���r<���rV���rb���rS���rT���rW���rx���rl����st_atime_ns�st_mtime_nsr�����NotImplementedErrorrU���r����r-���r1���r����) r[���r\���re���Zfollowr����rt����mode�whyr9���r%���r����r&���r���R��s4����� c����������������C���sB���t�j�|�r"t�j�|t�j�|���}t|�||d��t|�||d��|S�rz���)r<���rV����isdir�join�basenamer ���r ����r[���r\���re���r%���r%���r&���r������s ����c����������������C���sB���t�j�|�r"t�j�|t�j�|���}t|�||d��t|�||d��|S�rz���)r<���rV���r����r����r����r ���r���r����r%���r%���r&���r ������s ����c���������������������s�����fdd�}|S�)Nc��������������������s(���g�}��D�]}|��t�||���qt|�S�r*���)�extend�fnmatch�filter�set)rV���r}���� ignored_names�pattern��patternsr%���r&����_ignore_patterns���s����z)ignore_patterns.<locals>._ignore_patternsr%���)r����r����r%���r����r&���r������s����c�����������������C���s>��|d�k r$|t��|�dd��|�D���}nt��}t�j||d��g�} |tkpJ|tk} |�D��]~}|j|krbqPt�j�||j�}t�j�||j�} | r�|n|}z�|� ��}|r�t�jdkr�|j dd�}|jt jkr�d}|�r8t�� |�}|r�t��|| ��t|| |�d��nBt�j�|��s|�rW�qP|����r,t|| ||||d��n ||| ��n*|����rXt|| ||||d��n ||| ��W�qP�tk �r��}�z| �|jd���W�5�d�}~X�Y�qP�tk �r��}�z| �|| t|�f��W�5�d�}~X�Y�qPX�qPzt||��W�nJ�tk �r*�}�z*t|d d��d�k�r| �||t|�f��W�5�d�}~X�Y�nX�| �r:t| ��|S�) Nc�����������������S���s���g�|�] }|j��qS�r%���r����)�.0�xr%���r%���r&���� <listcomp>���s�����z_copytree.<locals>.<listcomp>)�exist_okr���Frd���)� dirs_exist_okr���Zwinerror)r<����fspathr�����makedirsr ���r���r.���rV���r����ra���rW����st_reparse_tag�IO_REPARSE_TAG_MOUNT_POINTro���rn���r����exists�is_dirr���r���r����r����r-����append�strr����)�entriesr[���r\����symlinks�ignore� copy_function�ignore_dangling_symlinksr����r�����errorsZuse_srcentryZsrcentryZsrcnameZdstnameZsrcobjra���rv����linktor9���r����r%���r%���r&���� _copytree���s`���� �� � (&r����c����������� ��� ���C���sD���t��d|�|��t�|���}t|�}W�5�Q�R�X�t||�||||||d�S�)Nzshutil.copytree)r����r[���r\���r����r����r����r����r����)r?���rh���r<����scandir�listr����) r[���r\���r����r����r����r����r����Zitrr����r%���r%���r&���r�����s����& ���st_file_attributesc�����������������C���sP���z4|�j�dd�}t��|j�o2|jt�j@�o0|jt�jk�W�S��tk rJ���Y�dS�X�d�S��NFrd���)rW����S_ISDIRrl���r�����FILE_ATTRIBUTE_REPARSE_POINTr����r����r-���)�entryrt���r%���r%���r&���� _rmtree_isdir6��s���� �r����c�����������������C���sL���z0t��|��}t�|j�p.|jtj@�o.|jtjkW�S��t k rF���Y�dS�X�d�S�)NF) r<���rv���rW����S_ISLNKrl���r����r����r����r����r-���)rV���rt���r%���r%���r&����_rmtree_islink?��s���� �r����c�����������������C���s*���z|�j�dd�W�S��tk r$���Y�dS�X�d�S�r����)r����r-���)r����r%���r%���r&���r����H��s����c�����������������C���s���t�j�|��S�r*���)r<���rV���rb���)rV���r%���r%���r&���r����N��s����c�������������� ���C���s&��z"t��|���}t|�}W�5�Q�R�X�W�n*�tk rL���|t�j|�t�����g�}Y�nX�|D�]�}|j}t|�r�z|���rvtd��W�n,�tk r����|t�jj |t�����Y�qRY�nX�t ||��qRzt��|��W�qR�tk r����|t�j|t�����Y�qRX�qRzt��|���W�n(�tk �r ���|t�j|�t�����Y�nX�d�S�)N�%Cannot call rmtree on a symbolic link) r<���r����r����r-���r?����exc_inforV���r����ra���rb����_rmtree_unsafe�unlink�rmdir)rV����onerror� scandir_itr����r�����fullnamer%���r%���r&���r����R��s0���� r����c�������������� ���C���s.��z"t��|���}t|�}W�5�Q�R�X�W�n@�tk rb�}�z"||_|t�j|t�����W�Y��d�S�d�}~X�Y�nX�|D��]�}t�j�||j �}z|j dd�}W�n�tk r����d}Y�nNX�|r�z|jdd�} t�| j �}W�n*�tk r����|t�j|t�����Y�qhY�nX�|�r�zt�j|j t�j|�d�} W�n(�tk �r:���|t�j|t�����Y�n�X�z�t�j�| t��| ���r�t| ||��zt�j|j |�d��W�n(�tk �r����|t�j|t�����Y�nX�n8ztd��W�n*�tk �r����|t�jj|t�����Y�nX�W�5�t��| ��X�qhzt�j|j |�d��W�qh�tk �r&���|t�j|t�����Y�qhX�qhd�S�)NFrd���)�dir_fdr����)r<���r����r����r-���r/���r?���r����rV���r����r.���r����rW���r����rl���rv���rp����O_RDONLY�closerQ���r=����_rmtree_safe_fdr����rb���r����)�topfdrV���r����r����r����r9���r����r����r�����orig_st�dirfdr%���r%���r&���r����q��sR���� r����c�������������� ���C���s���t��d|���|rdd��}n|d�kr*dd��}t�r`t|�t�rDt�|��}�zt�|��}W�n(�tk rz���|tj|�t�� ����Y�d�S�X�zt� |�tj�}W�n(�tk r����|tj |�t�� ����Y�d�S�X�z�tj �|t�|���rt||�|��zt�|���W�n(�tk �r���|tj|�t�� ����Y�nX�n8ztd��W�n*�tk �rL���|tj j|�t�� ����Y�nX�W�5�t�|��X�nNzt|���rttd��W�n,�tk �r����|tj j|�t�� ����Y�d�S�X�t|�|�S�d�S�)Nz shutil.rmtreec������������������W���s���d�S�r*���r%����r����r%���r%���r&���r�������s����zrmtree.<locals>.onerrorc�������������������W���s�����d�S�r*���r%���r����r%���r%���r&���r�������s����r����)r?���rh����_use_fd_functionsrS����bytesr<����fsdecoderv���r,���r����rp���r����r����rV���rQ���r=���r����r����r-���rb���r����r����)rV���� ignore_errorsr����r�����fdr%���r%���r&���r������sJ���� c�����������������C���s&���t�jjt�jjpd�}t�j�|��|��S�)N��)r<���rV����sep�altsepr�����rstrip)rV���r����r%���r%���r&���� _basename���s����r����c�������������� ���C���sT��t��d|�|��|}tj�|�rbt|�|�r8t�|�|��d�S�tj�|t|���}tj� |�rbt d|���zt�|�|��W�n��tk �rN���tj�|��r�t� |��}t�||��t�|���n�tj�|���r6t|�|�r�t d|�|f���t|���st�|�tj��st�|���rt�jdk�rtd|�|�f���t|�||dd��t|���n||�|��t�|���Y�nX�|S�)Nzshutil.movez$Destination path '%s' already existsz.Cannot move a directory '%s' into itself '%s'.�darwinzKCannot move the non-empty directory '%s': Lacking write permission to '%s'.T)r����r����)r?���rh���r<���rV���r����r]����renamer����r����r����r���r-���rb���ro���rn���r����� _destinsrc� _is_immutable�access�W_OK�listdir�platform�PermissionErrorr���r���)r[���r\���r����Zreal_dstr����r%���r%���r&���r������sL���� � ����� c�����������������C���sV���t�j�|��}�t�j�|�}|��t�jj�s2|�t�jj7�}�|�t�jj�sL|t�jj7�}|�|��S�r*���)r<���rV���rY����endswithr����� startswithrZ���r%���r%���r&���r����/��s����r����c�����������������C���s(���t�|��}tjtjg}t|d�o&|j|kS�)Nr����)r`���rW����UF_IMMUTABLE�SF_IMMUTABLErU���r����)r[���rt���Zimmutable_statesr%���r%���r&���r����8��s����r����c�����������������C���sN���t�d�ks|�d�krd�S�zt�|��}W�n�tk r8���d�}Y�nX�|d�k rJ|d�S�d�S��N����)r����KeyError�r.����resultr%���r%���r&����_get_gid=��s���� r����c�����������������C���sN���t�d�ks|�d�krd�S�zt�|��}W�n�tk r8���d�}Y�nX�|d�k rJ|d�S�d�S�r����)r���r����r����r%���r%���r&����_get_uidI��s���� r�����gzipc��������������������s ��|d�krd}nDt�r |dkr d}n2tr2|dkr2d}n trD|dkrDd}ntd�|���dd�l} |rfd |�nd} |�d �| �}tj�|�}|r�tj� |�s�|d�k r�|� d|��|s�t�|��|d�k r�|� d��t���t ���������fd d�} |�s| �|d|��}z|j|| d��W�5�|����X�|S�)Nr����r����Zgz�bzip2�bz2�xzzCbad value for 'compress', or compression format not supported : {0}r����.�.tar�creating %szCreating tar archivec��������������������s,�����d�k r��|�_��|�_�d�k r(�|�_�|�_|�S�r*���)�gidZgname�uid�uname)Ztarinfo�r�����group�ownerr����r%���r&����_set_uid_gid���s����z#_make_tarball.<locals>._set_uid_gidzw|%s�r����)�_ZLIB_SUPPORTED�_BZ2_SUPPORTED�_LZMA_SUPPORTED� ValueErrorri����tarfiler<���rV����dirnamer�����infor����r����r����rp���r�����add)� base_name�base_dir�compress�verbose�dry_runr����r�����loggerZtar_compressionr����Zcompress_extZarchive_name�archive_dirr�����tarr%���r����r&���� _make_tarballU��s>����� r ��c�������������� ���C���sn��dd�l�}|�d�}tj�|��}|rNtj�|�sN|d�k r@|�d|��|sNt�|��|d�k rd|�d||��|�sj|j|d|jd���}tj� |�} | tj kr�|�| | ��|d�k r�|�d| ��t�|�D�]�\} }}t |�D�]:} tj� tj�| | ��} |�| | ��|d�k r�|�d| ��q�|D�]L} tj� tj�| | ��} tj�| ��r|�| | ��|d�k �r|�d| ���qq�W�5�Q�R�X�|S�)Nr����.zipr����z#creating '%s' and adding '%s' to it�w)Zcompressionzadding '%s')�zipfiler<���rV���r����r����r���r�����ZipFileZZIP_DEFLATED�normpath�curdirrH����walk�sortedr�����isfile)r��r��r��r��r��r ��Zzip_filenamer��ZzfrV����dirpathZdirnames� filenamesr.���r%���r%���r&���� _make_zipfile���sH���� ��� r��r ��)r��Nzuncompressed tar file)r��r����zgzip'ed tar-fileZgztarzZIP file�zip)r��r����zbzip2'ed tar-fileZbztar)r��r����zxz'ed tar-fileZxztarc������������������C���s���dd��t����D��}�|�����|�S�)Nc�����������������S���s���g�|�]\}}||d��f�qS�)r����r%���)r����r.����registryr%���r%���r&���r�������s�����z'get_archive_formats.<locals>.<listcomp>)�_ARCHIVE_FORMATS�items�sort�Zformatsr%���r%���r&���r������s �����r����c�����������������C���st���|d�krg�}t�|�s td|���t|ttf�s6td��|D�]&}t|ttf�rXt|�dkr:td��q:|||ft|�<�d�S�)NzThe %s object is not callablez!extra_args needs to be a sequencer����z+extra_args elements are : (arg_name, value))�callable� TypeErrorrS����tupler�����lenr��)r.����function� extra_args�descriptionZelementr%���r%���r&���r������s���� c�����������������C���s ���t�|�=�d�S�r*���)r��r����r%���r%���r&���r������s����c �������������� ���C���s��t��d|�|||��t���} |d�k rP|d�k r6|�d|��tj�|��}�|sPt�|��|d�kr^tj}||d�} zt |�}W�n"�t k r����td|��d��Y�nX�|d�}|d�D�]\} }|| | <�q�|dkr�|| d<�|| d <�z||�|f| �}W�5�|d�k �r|d�k �r|�d | ��t�| ��X�|S�)Nzshutil.make_archivezchanging into '%s')r��r��zunknown archive format '%s'r�������r��r����r����zchanging back to '%s')r?���rh���r<����getcwd�debugrV���rY����chdirr��r��r����r����)r��ri���Zroot_dirr��r��r��r����r����r��Zsave_cwdr�����format_info�func�arg�valr/���r%���r%���r&���r������s8���� c������������������C���s���dd��t����D��}�|�����|�S�)Nc�����������������S���s"���g�|�]\}}||d��|d�f�qS�)r�������r%���)r����r.���r���r%���r%���r&���r����3��s�����z&get_unpack_formats.<locals>.<listcomp>)�_UNPACK_FORMATSr��r��r��r%���r%���r&���r���-��s �����c����������� ������C���sj���i�}t����D�]\}}|d�D�]}|||<�qq|�D�]$}||kr0d}t||||�f���q0t|�sftd��d�S�)Nr���z!%s is already registered for "%s"z*The registered function must be a callable)r-��r��r(���r��r��) � extensionsr!��r"��Zexisting_extensionsr.���r����ext� extension�msgr%���r%���r&����_check_unpack_options8��s����� r2��c�����������������C���s,���|d�krg�}t�|||��||||ft|�<�d�S�r*���)r2��r-��)r.���r.��r!��r"��r#��r%���r%���r&���r���J��s����c�����������������C���s ���t�|�=�d�S�r*���)r-��r����r%���r%���r&���r���`��s����c�����������������C���s&���t�j�|��}t�j�|�s"t��|��d�S�r*���)r<���rV���r����r����r����)rV���r����r%���r%���r&����_ensure_directoryd��s����r3��c����������� ��� ���C���s����dd�l�}|�|��std|����|�|��}z�|���D�]�}|j}|�d�s2d|krPq2tj j |f|�d����}|snq2t|��|� d�s2|�|j�}t|d�}z|�|��W�5�|����~X�q2W�5�|����X�d�S�)Nr���z%s is not a zip file�/z..rg���)r ��Z is_zipfiler'���r��r����Zinfolistr/���r����r<���rV���r�����splitr3��r����rP���rp���rH���) r/����extract_dirr ��r��r���r.����target�data�fr%���r%���r&����_unpack_zipfilej��s*���� r:��r����c����������������C���s\���dd�l�}z|�|��}W�n"�|jk r8���td|����Y�nX�z|j||d��W�5�|����X�d�S�)Nr���z/%s is not a compressed or uncompressed tar filer����)r����rp���ZTarErrorr'���r����Z extractall)r/���r6��r����r����Ztarobjr%���r%���r&����_unpack_tarfile���s����� r;��r����r��)r ��r��z.tar.gzz.tgzz.tar.bz2z.tbz2z.tar.xzz.txzc�����������������C���s:���t����D�],\}}|d�D�]}|��|�r|����S�qqd�S�)Nr���)r-��r��r����)r/���r.���r���r0��r%���r%���r&����_find_unpack_format���s ���� r<��c����������������C���s����t��d|�||��|d�kr t���}t�|�}t�|��}�|d�krBi�}nd|i}|d�k r�zt|�}W�n$�tk r����td�|��d��Y�nX�|d�}||�|ft |d��|���nRt |��}|d�kr�td�|����t|�d�}t t|�d��}|�|��||�|f|��d�S�)Nzshutil.unpack_archiver����zUnknown unpack format '{0}'r$��r����zUnknown archive format '{0}') r?���rh���r<���r%��r����r-��r����r����ri����dictr<��r'����update)r/���r6��ri���r����Z filter_kwargsr(��r)��r����r%���r%���r&���r������s,���� �statvfs� disk_usageZusageztotal used freezTotal space in byteszUsed space in byteszFree space in bytesc�����������������C���s@���t��|��}|j|j�}|j|j�}|j|j�|j�}t|||�S�r*���)r<���r?���f_bavail�f_frsize�f_blocks�f_bfree�_ntuple_diskusage)rV���rt����free�total�usedr%���r%���r&���r@�����s ���� c�����������������C���s"���t��|��\}}||�}t|||�S�r*���)r���Z _getdiskusagerE��)rV���rG��rF��rH��r%���r%���r&���r@�����s����c�����������������C���s����t��d|�||��|d�kr(|d�kr(td��|}|}|d�kr>d}n(t|t�rft|�}|d�krftd�|���|d�krtd}n(t|t�s�t |�}|d�kr�td�|���t �|�||��d�S�)Nzshutil.chownzuser and/or group must be set���zno such user: {!r}zno such group: {!r})r?���rh���r����rS���r����r�����LookupErrorri����intr����r<���r���)rV����userr����Z_userZ_groupr%���r%���r&���r�����s$���� ��P�������c�������������� ���C���s����zt�tjd��}W�n�ttfk r.���d}Y�nX�zt�tjd��}W�n�ttfk r^���d}Y�nX�|dksp|dkr�zt�tj����}W�n$�t tt fk r����t�|��}Y�nX�|dkr�|j}|dkr�|j }t�||f�S�)NZCOLUMNSr���ZLINES)rK��r<����environr����r����r���r?���� __stdout__r+����AttributeErrorr-���� terminal_size�columns�lines)ZfallbackrT��rU���sizer%���r%���r&���r���(��s$���� c�����������������C���s&���t�j�|��o$t��|�|�o$t�j�|���S�r*���)r<���rV���r����r����r����)r_���r����r%���r%���r&���� _access_checkY��s�����rW��c����������� ��� ������s���t�j����rt��|�r��S�d�S�t��t�}|d�krtt�j�dd��}|d�krtzt��d�}W�n�t t fk rr���t�j}Y�nX�|s|d�S�|r�t��|�}|� t��t�j��}nt��|�}|� t�j�}tjdk�rTt�j}|r�t��|�}||kr�|�d|��t��d�p�t}dd��|� t�j�D��}|�r dd��|D��}t��fd d �|D����r@��g}n��fdd�|D��}n��g}t��}|D�]X} t�j�| �} | |k�rd|�| ��|D�],}t�j�| |�}t||��r�|����S��q��qdd�S�)N�PATH�CS_PATHZwin32r���ZPATHEXTc�����������������S���s���g�|�]}|r|�qS�r%���r%����r����r/��r%���r%���r&���r�������s������zwhich.<locals>.<listcomp>c�����������������S���s���g�|�]}t��|��qS�r%���)r<����fsencoderZ��r%���r%���r&���r�������s�����c�����������������3���s ���|�]}�������|�����V��qd�S�r*���)�lowerr����rZ����cmdr%���r&���� <genexpr>���s�����zwhich.<locals>.<genexpr>c��������������������s���g�|�]}��|��qS�r%���r%���rZ��r]��r%���r&���r�������s�����)r<���rV���r����rW��rS���r����rP���get�confstrrR��r�����defpathr[��r5���pathsepr����r?���r����r���insert�getenv�_WIN_DEFAULT_PATHEXT�anyr����rX���r��r����) r^��r����rV���Z use_bytesr��Zpathext_sourceZpathext�files�seen�dirZnormdirZthefiler.���r%���r]��r&���r���^��sV���� )r���)F)FN)r����r���r���NNN)r���r���N)Nr����)NNr���r���NNN)Nr����)NN)NN)rM��)jr<���r?���rW���r�����collectionsr1����zlibr�����ImportErrorr����r����Zlzmar�����pwdr���Zgrpr���r.���rm���r���r���rO���rU���r����r����rB���rq���rf���__all__r-���r���r ���r���r���r'���r,���r(���r)���r:���rF���rN���r���r]���r`���rc���r ���r ���r����r���r���r ���r���r����r����stat_resultr����r����r����r����rp���r����r�����supports_dir_fdr�����supports_fdr����r����r���Zavoids_symlink_attacksr����r���r����r����r����r����r ��r��r��r���r���r���r���r���r2��r���r���r3��r:��r;��r-��r<��r���r����� namedtuplerE��rG���__doc__rH��rF��r@��r���r���rW���F_OK�X_OKr���r%���r%���r%���r&����<module>���sr�� ������������� @ 7B �� A�� . 4� � � >? ������� A -� ���� ��������� 8��� "� � � �2 1