python (3.12.0)

(root)/
lib/
python3.12/
__pycache__/
shutil.cpython-312.opt-2.pyc

ˑekT	ddlZddlZddlZddlZddlZddlZddlZ	ddlZ[dZ	ddl
Z
[
dZ	ddlZ[dZ
ejdk(ZdxZZejdk(rddlZnerddlZej$dk(rddlZndZerdndZeed	xrej$j-d
aexr	eedZdZgd
ZGddeZGddeZGddeZGddeZGddeZ Gdde!Z"Gdde!Z#dZ$dZ%efdZ&dqdZ'd Z(d!Z)d"Z*dd#d$Z+dd#d%Z,eed&rdd#d'Z-nd(Z-dd#d)Z.dd#d*Z/dd#d+Z0d,Z1	drd-Z2dde0ddfd.Z3eejhd/rd0Z5nd1Z5d2Z6d3Z7ejpejejrejthejvkxr2ejxejzvxrejej|vZ?dsddd4d5Z@e?e@_Ad6ZBe0fd7ZCd8ZDd9ZEd:ZFd;ZG		dtd<ZH		dud=ZIdeH_JdeI_Jd>eHd?gd@fiZKereHdAgdBfeKdC<eIgdDfeKdE<er	eHdFgdGfeKdH<e
r	eHdIgdJfeKdK<dLZLdvdMZMdNZN		dwdOZOdPZPdQZQ		dvdRZRdSZSdTZTdUZUddVdWZVdXgeVgd@fdYgeUgdDfdZZWerd[d\geVgdBfeWdC<erd]d^geVgdGfeWdH<e
rd_d`geVgdJfeWdK<daZXdxddVdbZYeedcr[ejddejdedfZ\dge\j_^dhe\j_^die\j_^djZan)er'ejddejdedfZ\dkZadxdlZbdydmZcdnZddoZeejejzdfdpZhy#e	$rdZYdwxYw#e	$rdZYjwxYw#e	$rdZ
YpwxYw)zNTFntposixwin32iisendfilelinux
_fcopyfilez%.COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS;.MSC)copyfileobjcopyfilecopymodecopystatcopycopy2copytreemovermtreeErrorSpecialFileError	ExecErrormake_archiveget_archive_formatsregister_archive_formatunregister_archive_formatget_unpack_formatsregister_unpack_formatunregister_unpack_formatunpack_archiveignore_patternschownwhichget_terminal_size
SameFileErrorceZdZy)rN__name__
__module____qualname__:/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/shutil.pyrrCsr(rceZdZy)r!Nr#r'r(r)r!r!Fs?r(r!ceZdZy)rNr#r'r(r)rrIs;r(rceZdZy)rNr#r'r(r)rrMs5r(rceZdZy)	ReadErrorNr#r'r(r)r.r.Ps/r(r.ceZdZy)
RegistryErrorNr#r'r(r)r0r0Ss&r(r0ceZdZy)_GiveupOnFastCopyNr#r'r(r)r2r2Wsr(r2c		|j}|j}	tj|||y#t$r}t|d}~wwxYw#t
$ra}|j|_|j|_|jtjtjhvrt||dd}~wwxYwN)fileno	Exceptionr2rrOSErrornamefilename	filename2errnoEINVALENOTSUP)fsrcfdstflagsinfdoutfderrs      r)_fastcopy_fcopyfilerD\s%{{}
 
ue,	%$$%
 yy		
99u}}55#C((4
 s- <A	AAA	C!AB==Cc		|j}|j}	tt	j
|jd}tjdkrt|d}d}		t	j||||}|dk(ry||z
}%#t$r}t|d}~wwxYw#t$rd}YpwxYw#t$r}|j|_
|j|_|jtj k(r
dat||jtj$k(r|d|dk(r3t	j&|dtj(dk(rt||d}~wwxYw)Niili@rF)r5r6r2maxosfstatst_sizer7sysmaxsizeminrr8r9r:r;ENOTSOCK_USE_CP_SENDFILEENOSPClseekSEEK_CUR)r>r?rArBrC	blocksizeoffsetsents        r)_fastcopy_sendfilerUps[%{{}
..8	
{{W	7+	
F
	;;udFI>D,qydNF5%%$$%		99CL IICMyyENN*$) ',,yyELL(t#{rxxq"++>!C',,I'	sA B)B00C	B-B((B-0B>=B>	E5
B&E00E5c	|j}|j}tt|5}	||}|sn%||kr|d|5}||dddn	||0dddy#1swYxYw#1swYyxYwr4)readintowrite
memoryview	bytearray)r>r?length
fsrc_readinto
fdst_writemvnsmvs        r)_copyfileobj_readintoras
MMMJ	If%	&
"b!AVV$ssO$2

$$

s#A5	A)A5)A2	.A55A>c	|st}|j}|j}||x}r||||x}ryyr4)COPY_BUFSIZEreadrX)r>r?r[	fsrc_readr]bufs      r)r	r	sHG		IJ6"
"#
"36"
"#
"r(ct|tjr\ttjdrB	tjj|j
tj|Sttjdr!	tjj||Stjjtjj|tjjtjj|k(S#t$rYywxYw#t$rYywxYw)NsamestatFsamefile)
isinstancerGDirEntryhasattrpathrhstatr7rinormcaseabspathsrcdsts  r)	_samefilerts#r{{#(D	77##CHHJ==rww
#	77##C--

GGRWW__S12GGRWW__S12
34				s$AD+D:+	D76D7:	EEct|tjr|jStj|Sr4)rjrGrkrnfns r)_statrxs("2r{{32779DDr(ct|tjr|jStjj|Sr4)rjrGrk
is_symlinkrmislinkrvs r)_islinkr|s-(R[[92==?Qrww~~b?QQr(follow_symlinksc
	tjd||t||rtdj	||d}t||gD]\}}	t
|}tj|jr6t|tjr|jn|}td|ztsn|dk(st|j }|s6t%|r+tj&tj(|||St+|d5}	t+|d5}t,r0	t/||t0j2|cdddcdddSt6r!	t9|||cdddcdddStr4|dkDr/t;||t=|t>|cdddcdddStA||dddddd|S#t"$rYwxYw#t4$rY9wxYw#t4$rYHwxYw#1swYAxYw#tB$r4}	tjjE|stGd||	d}	~	wwxYw#1swY|SxYw)Nzshutil.copyfilez{!r} and {!r} are the same filerz`%s` is a named piperbwbzDirectory does not exist: )$rJauditrtr!format	enumeraterxrnS_ISFIFOst_moderjrGrkrmr_WINDOWSrIr7r|symlinkreadlinkopen_HAS_FCOPYFILErDr_COPYFILE_DATAr2rNrUrarLrcr	IsADirectoryErrorexistsFileNotFoundError)
rrrsr~	file_sizeirwstr>r?es
          r)r
r
sHIIc*c=DDS#NOOIC:&'2	'rB}}RZZ( *2r{{ ;RWW&'='BCCAFJJ	'ws|


2;;s#S)DJA#t_	
#t_,%!/dE<P<PQ#&,,		*!.tT:#&,,		&"i!m-dD#i:VW"',,		. d++,	@J]		, 1! ! 1! !,,0%
ww~~c*+.H,NOUVV	
5	@JsGIH#H+G)	HH!
G8.	H'H(	H;HH	G&%G&)	G52H4G55H8	HHHHH	H	I/IIIIcx	tjd|||s\t|rQtjj|r2t
tdr!tjtj}}nyttj}}||}||tj|jy)Nzshutil.copymodelchmod)rJrr|rGrmr{rllstatrrxchmodrnS_IMODEr)rrrsr~	stat_func
chmod_funcrs      r)rr&s}IIc*ws|s0C2x $&HHbiizI %rxx:		3BsDLL,-r(	listxattrc,		tj||}|D]4}	tj|||}tj||||6y#t$rF}|jtjtj
tjfvrYd}~yd}~wwxYw#t$rd}|jtjtjtj
tjtjfvrYd}~d}~wwxYwNr})rGrr7r;r=ENODATAr<getxattrsetxattrEPERMEACCES)rrrsr~namesrr8values       r)
_copyxattrr<s		LLoFE
	D
COCuoN			wwu}}emmU\\JJ	
775;;

u}}#(<<#???
s/A1B&	B#<BB#&	D/ADDcyr4r')argskwargss  r)rrTr(c		tjd||dddd	|xs-t|xrtjj|}|r	fd}n	fd}t
|tjr|j|}n|d||}tj|j}|d||j|jf|t|||	|d	|||t|d
r	|d||j |yy#t$rY5wxYw#t"$rB}dD]2}tt$|s|j$t't$|k(s2nYd}~yd}~wwxYw)
Nzshutil.copystat)nsr~cyr4r')rr~rs   r)_nopzcopystat.<locals>._noperr(c&tt|Sr4)getattrrG)r8rs r)lookupzcopystat.<locals>.lookupls2tT**r(cRtt|}|tjvr|SSr4)rrGsupports_follow_symlinks)r8rwrs  r)rzcopystat.<locals>.lookupqs)T4(BR000	Kr(r}rnutimerst_flagschflags)
EOPNOTSUPPr=)rJrr|rGrmr{rjrkrnrrst_atime_nsst_mtime_nsrNotImplementedErrorrlrr7r;r)
rrrsr~followrrmodewhyrCrs
         @r)rrWsn
IIc*T

JWS\%IbggnnS6I JF
	+
	#r{{#
XXfX
-
VF^C
8<<

#DF7OCR^^R^^< sC0

wT6:r:	F9c2;;G
	

	.
5#&399s8K+K
	s61D,D;,	D87D8;	FFF8FFc	tjj|r=tjj|tjj	|}t|||t
||||Sr)rGrmisdirjoinbasenamer
r)rrrsr~s   r)r
r
sY

ww}}Sggll3 0 0 56S#7S#7Jr(c	tjj|r=tjj|tjj	|}ttdritj|}tj|}tj}|s|tjz}	t
j||||St|||t!||||S#t$rI}|jtjk(r|sn|jtjk(rnYd}~kd}~wwxYw)N	CopyFile2r})rGrmrrrrl_winapifsdecode%COPY_FILE_ALLOW_DECRYPTED_DESTINATIONCOPY_FILE_COPY_SYMLINKrr7winerrorERROR_PRIVILEGE_NOT_HELDERROR_ACCESS_DENIEDr
r)rrrsr~src_dst_r@excs       r)rrs	
ww}}Sggll3 0 0 56w${{3{{3==W333E	dD%0J
S#7S#7J	 @ @@'!<!<<	s>C55	E>?EEc	fd}|S)Ncvg}D]'}|jtj||)t|Sr4)extendfnmatchfilterset)rmr
ignored_namespatternpatternss    r)_ignore_patternsz)ignore_patterns.<locals>._ignore_patternss=
	AG  w!?@	A=!!r(r')rrs` r)rrs&"
r(c
h|5|tj||Dcgc]}|jc}}	n
t}	tj||g}
|t
uxs|tu}|D]|}|j|	vrtjj||j}
tjj||j}|r|n|
}	|j}|rDtjdk(r1|jd}|jtjk(rd}|rtj|
}|r&tj||t|||nztjj!|s|r&|j#rt%|||||||n5|||n+|j#rt%|||||||n	|||	t|||
rt'|
|Scc}w#t&$r)}|
j)|j*dYd}~d}~wt,$r(}|
j/|
|t1|fYd}~d}~wwxYw#t,$r4}t3|dd|
j/||t1|fYd}~d}~wwxYw)N)exist_okrFr}rr)rGfspathr8rmakedirsrr
rmrrzrnst_reparse_tagIO_REPARSE_TAG_MOUNT_POINTrrrris_dirrrrrr7appendstrr)entriesrrrssymlinksignore
copy_functionignore_dangling_symlinks
dirs_exist_okxrerrorsuse_srcentrysrcentrysrcnamedstnamesrcobjrzrlinktorCrs                     r)	_copytreersT
ryy~/H1/HI

KKm,
F E)B]d-BL,8==M)'',,sHMM2'',,sHMM2)w&	8!,,.Jbggo!

e
<''4+J+JJ!&JW-JJvw/VW(lK77>>&16N ( (F!.0H!.0&fg6"(FM1=Bfg.M,8Z0c
FmJ{0Ib	'MM#((1+&&	8MM7GSX677	803
D)1MM3SX./0sIH
B6HAH0I4	I1H==I1	I,,I14	J1=*J,,J1c
	tjd||tj|5}t	|}dddt|||||||S#1swYxYw)Nzshutil.copytree)rrrrsrrrrr)rJrrGscandirlistr)	rrrsrrrrritrrs	         r)rr!sf%LIIc*	CCs)W#3"-.F#022sAAst_file_attributesc	tj|}tj|jxs<|j
tjzxr|jtjk(S#t$rYywxYw)NF)
rGrrnS_ISLNKrrFILE_ATTRIBUTE_REPARSE_POINTrrr7)rmrs  r)_rmtree_islinkrRsr	$BLL,K&&)J)JJJ&&$*I*II
L		sA1A44	B?Bc@tjj|Sr4)rGrmr{)rms r)rr[sww~~d##r(c:	tj|5}t|}dddD]s}|j}	|jd}|r:|j
s*	|jrtd	t||^	tj|u	tj|y#1swYxYw#t$r$}|tj||g}Yd}~d}~wwxYw#t$rd}YwxYw#t$r-}|tjj||Yd}~d}~wwxYw#t$r#}|tj||Yd}~:d}~wwxYw#t$r"}|tj||Yd}~yd}~wwxYw)NFr}%Cannot call rmtree on a symbolic link)rGrrr7rmris_junctionrzr{_rmtree_unsafeunlinkrmdir)rmonexc
scandir_itrrCentryfullnamers        r)rr_sm
ZZ
	':&G	'
0::	\\%\8F%++-
##%""IJJ	&
8U+
0		(#)0.#
;	'	'
bjj$$	F	
bggnnh4

0bii3//
0#
bhhc""#sCB:CC6"DE$E/:C?C	C3C..C36DD	D="D88D=	E,	E''E,/	F8FFc	tj|5}t|}dddD]m}tj
j
||j}	|jd}|r2	|jd}	tj|	j}|r	tj|jtj|}
d}	tj
j	tj |
rGt#|
||	tj$|
d}tj&|j|n	td|r5tj$|
L	tj*|j|py#1swY~xYw#t$r)}||_|tj||Yd}~yd}~wwxYw#t$r#}|tj||Yd}~d}~wwxYw#t$rd}Y|wxYw#t$r"}|tj&||Yd}~d}~wwxYw#t$r-}|tj
j(||Yd}~#d}~wwxYw#|stj$|
wwxYw#t$r#}|tj||Yd}~d}~wwxYw#t$r#}|tj*||Yd}~d}~wwxYw)NFr}dir_fdTr)rGrrr7r9rmrr8rrnS_ISDIRrrrO_RDONLYrhrH_rmtree_safe_fdcloserr{r)topfdrmrrrrCrrrorig_stdirfddirfd_closeds            r)rrsk
ZZ
	'*:&G	'.077<<ejj1	\\%\8F#jjj?G!\\'//:F
(

BKKF$(ww''%A'x?;HHUO+/LHHUZZ>A#*+1#22
(
0		%**U3Y.0
	'	'
bjj$$"((Hc2	F	0 ';!"((Hc::; 'A!"''..(C@@A((-
.bggx--
.6
0bii3//
0sF,FF,H11G!%2J&AJ	8H"J	I:!KF)$F,,	G5GG!	H
*HH
HH"	I
+IJ	I

J		J"J;J	JJ		J#&	K/K

K	LK<<L)rrc<	tjdtdtjd|||rd}n|d}n
|d}nfd}t
rt
|trtj|}	tj||	}	tj|tj|	}d
}	tjj|tj |r=t#|||	tj$|d}tj&||	n	t)d|stj$|yy|t-d
	t/|rt)d	t1||S#t$r"}|tj||Yd}~yd}~wwxYw#t$r"}|tj||Yd}~yd}~wwxYw#t($r"}|tj&||Yd}~d}~wwxYw#t($r-}|tjj*||Yd}~d}~wwxYw#|stj$|wwxYw#t($r,}|tjj*||Yd}~yd}~wwxYw)Nz1onerror argument is deprecated, use onexc instead)
stacklevelz
shutil.rmtreecyr4r'rs r)rzrmtree.<locals>.onexcsr(cr4r'rs r)rzrmtree.<locals>.onexcsr(cr4r'rs r)rzrmtree.<locals>.onexcsr(c^|\}}}|d}nt|||jf}|||S)N)NNN)type
__traceback__)rfuncrmrexc_infoonerrors     r)rzrmtree.<locals>.onexcs="&dC;/H#Cy#s/@/@@HtT844r(rFTrz#dir_fd unavailable on this platform)warningswarnDeprecationWarningrJr_use_fd_functionsrjbytesrGrrr6rrrmrhrHrr	rr7r{rrr)	rm
ignore_errorsrrrrrCfd	fd_closeds	  `      r)rrs=(

I(Q	8IIotV,		U]		?

5dE";;t$D	hhtF3G	r{{6:BI	ww"6D%0/HHRL $IHHT&15!"IJJ%&KLL	d#EFF$dE**M	"((D#&		"''4%	/"((D#../5"''..$445	"''..$,	s?F(F4AI	.G"/I	1H#I&	F1F,,F14	G=GG"	H
+HI	H

I		I"I;I	II		I#&	J/"JJc	tj|}tjjtjjxsdz}tjj|j
|SN)rGrrmsepaltseprrstrip)rmr&s  r)	_basenamer)"sS99T?D
''++-2
.C
77DKK,--r(c@	tjd|||}tjj	|ryt||rtj||ytjj|t|}tjj|rtd|z	tj|||S#t$rGtjj|rCtj|}tj||tj|Y|Stjj	|rt!||rtd|d|dt#|sLtj$|tj&s:tj(|r%tj*dk(rt-d|d|dt/|||d	
t1|Y|S|||tj|Y|SwxYw)Nzshutil.movez$Destination path '%s' already existszCannot move a directory 'z' into itself 'z'.darwinz%Cannot move the non-empty directory 'z ': Lacking write permission to 'T)rr)rJrrGrmrrtrenamerr)rrr7r{rrr
_destinsrc
_is_immutableaccessW_OKlistdirplatformPermissionErrorrr)rrrsrreal_dstrs     r)rr4s2IImS#&H	ww}}SS#
IIc377<<Ys^4
77>>(#>IJJ
		#x ,O+
77>>#[[%FJJvx(IIcN"O!WW]]3
#s#(+S233c"IIc2773

3LLH4%),c'344
S(-"
$3KO
#x(IIcNO+s 4CA)H8CH;HHctjj|}tjj|}|jtjjs|tjjz
}|jtjjs|tjjz
}|j|Sr4)rGrmrpendswithr&
startswithrqs  r)r-r-vs
''//#
C
''//#
C<<$rww{{<<$rww{{>>#r(ct|}tjtjg}t	|dxr|j
|vS)Nr)rxrnUF_IMMUTABLESF_IMMUTABLErlr)rrrimmutable_statess   r)r.r.s>	sB))4+<+<=2z"Fr{{6F'FFr(cz	|y	ddlm}	||}||dSy#t$rYywxYw#t$rd}Y$wxYw)Nr)getgrnamr)grpr=ImportErrorKeyError)r8r=results   r)_get_gidrBa,| $ay
,	))::cz	|y	ddlm}	||}||dSy#t$rYywxYw#t$rd}Y$wxYw)Nr)getpwnamr)pwdrFr?r@)r8rFrAs   r)_get_uidrHrCrDc	0	|d}	nDtr|dk(rd}	n6tr|dk(rd}	n(tr|dk(rd}	ntdj	|ddl}
|rd	|	znd}|d
z|z}tjj|}
|
rJtjj|
s+||jd|
|st
j|
||jdttfd
}|s^|
j|d|	z}|}| tjj||}	|j!||||j#|tjj%|}|S#|j#wxYw)Nr%gzipgzbzip2bz2xzzCbad value for 'compress', or compression format not supported : {0}r..tarcreating %szCreating tar archivecH|_|_|_|_|Sr4)gidgnameuiduname)tarinforSgroupownerrUs r)_set_uid_gidz#_make_tarball.<locals>._set_uid_gids.?GK!GM?GK!GMr(zw|%sr)_ZLIB_SUPPORTED_BZ2_SUPPORTED_LZMA_SUPPORTED
ValueErrorrtarfilerGrmdirnamerinforrHrBrraddr	rp)	base_namebase_dircompressverbosedry_runrYrXloggerroot_dirtar_compressionr`compress_extarchive_namearchive_dirrZtararcnamerSrUs     ``          @@r)
_make_tarballrqsw
	X/	H/	X-++16(+;=	=,43("Lv%4L''//,/K277>>+6KK
{3KK$*+
5/C
5/Cll</)ABww||Hh7H	GGHglG;IIKww|4	
IIKs<FFc
	ddl}|dz}	tjj|}
|
rJtjj	|
s+||jd|
|stj|
||jd|	||sH|j|	d|j5}tjj|}| tjj||}tjj|}|tjk7r&|j||||jd|tj|D]n\}
}}|
}| tjj||}tjj|}t|D]i}tjj|
|}tjj||}|j|||X|jd|k|D]}tjj|
|}tjj|}tjj!|sbtjj||}|j||||jd|q	ddd|tjj#|	}	|	S#1swY,xYw)Nr.ziprQz#creating '%s' and adding '%s' to itw)compressionzadding '%s')zipfilerGrmrarrbrZipFileZIP_DEFLATEDnormpathrcurdirrXwalkrelpathsortedisfilerp)rdrergrhrirYrXrjrvzip_filenamernzfrpdirpathdirnames	filenames
arcdirpathr8rms                   r)
_make_zipfilersr
v%L''//),K277>>+6KK
{3KK$
9 (	,
__\3)0)=)=?	=BDgg&&x0G#77<<(;ww''1H"))#7+%KK
x8020A
=,9$
'!#X!FJWW--j9
"8,9D77<<6D ggll:t<GHHT7+)M489&=D77<<6D77++D1Dww~~d+"$'',,z4"@w/!-"KK
t<=
=	=<ww|4A	=	=s ,EK9	A7K94K96K99Lro)rfNzuncompressed tar file)rfrJzgzip'ed tar-filegztarzZIP filezip)rfrLzbzip2'ed tar-filebztar)rfrNzxz'ed tar-filexztarc	tjDcgc]\}}||df}}}|j|Scc}}w)Nr)_ARCHIVE_FORMATSitemssort)r8registryformatss   r)rr@sK
 %%')~tXhqk")G)LLNN)s?c	|g}t|std|zt|ttfstd|D]1}t|ttfrt|dk7s(td|||ft|<y)NzThe %s object is not callablez!extra_args needs to be a sequencerz+extra_args elements are : (arg_name, value))callable	TypeErrorrjtuplerlenr)r8function
extra_argsdescriptionelements     r)rrJs
H7(BCCj5$-0;<<K'E4=1S\A5EIJJK'
K@Tr(ct|=yr4)rr8s r)rr_s
r(c	j	tjd||||	t|}	||||d}
|	d}|	dD]
\}}
|
|
|<|t
j}t|dd}d}|tj|j}tj|sttjd||rtj|}||
d	<n^tj}||j!d
|t
j"j%|}|stj&|	|||fi|
}|)||j!d|tj&||S#t$rt	d|zdwxYw#|*||j!d|tj&|wwxYw)Nzshutil.make_archivezunknown archive format '%s')rhrirYrXrsupports_root_dirFzNot a directoryrjzchanging into '%s'zchanging back to '%s')rJrrr@r_rGrzrrnrrNotADirectoryErrorr;ENOTDIRrgetcwddebugrmrpchdir)rdrrjrergrhrYrXriformat_inforrargvalrsave_cwdstmdr9s                  r)rrbs II#Y(KK&v.!Fu.Fq>DNSs99&95AHwwx ((||D!$U]]4ExPP		),I!)F:yy{H!18<	2I"	86v6!4h?HHXOQK6?@dJKF!4h?HHX s	E(1
F(F.F2c	tjDcgc]\}}||d|df}}}|j|Scc}}w)Nr)_UNPACK_FORMATSrr)r8rbrs   r)rrsQ$$&(JD$d1gtAw'(G(LLNN(sAc	i}tjD]\}}|dD]}|||<	|D]}||vsd}t||||fzt|st	dy)Nrz!%s is already registered for "%s"z*The registered function must be a callable)rrr0rr)	
extensionsrrexisting_extensionsr8rbext	extensionmsgs	         r)_check_unpack_optionsrs5%++-,
d7	,C'+$	,, H	++5Cy':9'E'G!GH
HHHDEEr(cB	|g}t|||||||ft|<yr4)rr)r8rrrrs     r)rrs3
*h
;&*kIODr(c	t|=yr4)rrs r)rrs
4r(c	tjj|}tjj|stj|yyr4)rGrmrarr)rmras  r)_ensure_directoryrs8;ggood#G
77==!
G"r(cp	ddl}|j|std|z|j|}	|j	D]}|j
}|j
dsd|vr%tjj|g|jd}|sWt||jdrt|j|d5}t|d5}t||dddddd	|jy#1swY%xYw#1swYxYw#|jwxYw)Nrz%s is not a zip file/z..rr)rv
is_zipfiler.rwinfolistr9r7rGrmrsplitrr6rr	r	)	r9extract_dirrvrrbr8
targetpathsourcetargets	         r)_unpack_zipfilersh'.9::
//(
#CLLN	0D==Ds#tt|kDDJJsODJj)==%XXdC(0FZ.028/000	0$				0000			sBBD#;D#

D
D'D/
D#DDD 	D##D5r[c	ddl}	|j|}	|j	|||jy#|j$rtd|zwxYw#|jwxYw)Nrz/%s is not a compressed or uncompressed tar filer[)r`rTarErrorr.
extractallr	)r9rrr`tarobjs     r)_unpack_tarfilers{Jh'+f5
J=HJ	JJ	s=AAA0rPrs)rorz.tar.gzz.tgzz.tar.bz2z.tbz2z.tar.xzz.txzc~tjD]&\}}|dD]}|j|s|ccS(y)Nr)rrr6)r9r8rbrs    r)_find_unpack_formatr!sI%++-
da	I  +	r(c	tjd||||tj}tj|}tj|}|i}nd|i}|(	t
|}|d}|||fit|d|yt|}|tdj|t
|d}tt
|d|z}|||fi|y#t$rtdj|dwxYw)Nzshutil.unpack_archiverzUnknown unpack format '{0}'rrzUnknown archive format '{0}')rJrrGrrrr@r_rdictrr.)r9rrr
filter_kwargsrrrs        r)rr(s'"II%xfEiik))K(Kyy"H
~
!6*

	U)&1K1~X{Ld;q>&:LmL%X.>:AA(KLLv&q)of-a01MAX{-f-	U:AA&IJPTT	Us&	C##%Dstatvfs
disk_usageusageztotal used freezTotal space in byteszUsed space in byteszFree space in bytesc	tj|}|j|jz}|j|jz}|j|j
z
|jz}t
|||Sr4)rGrf_bavailf_frsizef_blocksf_bfree_ntuple_diskusage)rmrfreetotaluseds     r)rrase	
ZZ
{{R[[(bkk)bjj(BKK7 d33r(cX	tj|\}}||z
}t|||Sr4)r
_getdiskusager)rmrrrs    r)rrrs5	
&&t,tt| d33r(cz	tjd||||
|td|}|}|d}n7t|tr't|}|t
dj||d}n7t|ts't|}|t
dj|tj|||y)Nzshutil.chownzuser and/or group must be setzno such user: {!r}zno such group: {!r})rJrr_rjrrHLookupErrorrintrBrGr)rmuserrX_user_groups     r)rr}s
IIndD%0|
899E
F|	D#	=299$?@@}
s
#%>3::5ABBHHT5&!r(c8		ttjd}	ttjd}|dks|dkrb	tj
tjj}|dkr|jxs|d}|dkr|jxs|d}tj||fS#ttf$rd}YwxYw#ttf$rd}YwxYw#tttf$rtj|}YwxYw)NCOLUMNSrLINESr)rrGenvironr@r_r rJ
__stdout__r5AttributeErrorr7
terminal_sizecolumnslines)fallbackrrsizes    r)r r s&bjj+,BJJw'(
!|uz	.''(=(=(?@D
a<ll1hqkGA:JJ-(1+E
We,--+
j!

j!
G4	.##H-D	.s4B?C1C-?CCC*)C*-)DDctjj|xr8tj||xr tjj	|Sr4)rGrmrr/r)rwrs  r)
_access_checkrsAGGNN2
&299R#6
&GGMM"%%'r(c	|tjzxs(tjtj|Sr4)rGX_OKrNeedCurrentDirectoryForExePathr)cmdrs  r)_win_path_needs_curdirrs:
 "W%K%KC &""r(cB	t|t}tjj	|\}}|r|g}n|8tj
j
dd}|	tjd}|sy|rHtj|}|j	tjtj}n4tj|}|j	tj}tjdk(rEt!||r9tj"}|rtj|}|j%d|tjdk(rtj&dxst(}|j	tjDcgc]}|s|	}}|r"|Dcgc]}tj|}}|g|Dcgc]}||z	c}z}	n|g}	t+}
|D]p}tjj-|}||
vs'|
j/||	D]4}
tjj1||
}t3||s0|ccSry#ttf$rtj}YwxYwcc}wcc}wcc}w)NPATHCS_PATHrrPATHEXT)rjrrGrmrrgetconfstrrr_defpathfsencodepathseprrJr2rrzinsertgetenv_WIN_DEFAULT_PATHEXTrrorcrr)rrrm	use_bytesrarzpathext_sourcerpathextfilesseendirnormdirthefiler8s               r)rrs&3&I
77==%LGSy<::>>&$/D|&::i0D;;t$D::bkk"**56D;;t$D::bjj)D<<7"'=c4'HYYFV,KK6"
||w9-E1E"0"6"6rzz"BJ3c3JJ3:;Cr{{3';G;g6ss665D ''""3'$HHW 
 ww||C1 t,K
 	 a'
3&::D&6K<7s* I,J'J3JJ,JJ)r)F)FN)rJrrNNNN)rrNNNNr$)NNrrNNN)NN))P)irGrJrnrcollectionsr;rzlibr\r?rMr]lzmar^r8rrrr2rrcrlr7rNrr__all__r7rr!rrr.r6r0r2rDrUrar	rtrxr|r
rrrr
rrrrstat_resultrrrrrrsupports_dir_fdrsupports_fdrrravoids_symlink_attacksr)rr-r.rBrHrqrrrrrrrrrrrrrrrrrr
namedtuplerr__doc__rrrrr rrF_OKrrr'r(r)<module>rs<

ONO77d?
77g

<<7G&{I2z*Os||/F/Fw/O775,7?	G	@E@;w;6600&I&	
 (>@.:(4$ER+/>@+/.*2{040
+/@D'+$(,&P
7<@D!&d%&+5.2`2>>/0$!#H60pggrww		288<''(<ZZ2>>1<WW ; ;;
\+T$\+@!2.$"'@DG
$$LM@DDL;<@D7r#'
"&

m01%'
!.1E0F 2!4W,b*=U!.1F0G 3!5W!.1C0D 0!2WA*KL;?=@	F$CG')J,<6:(h-D
EhZ
8
!*F 3_b 2 4OG!+W 5 3 5OG!*F 3_b 0 2OG..d..b2yNN< ...w8IJ&<#%:"%:"
4NN< ...w8IJ4"@+.b'
"GGbgg%DHU.ONOs3NNNN
NNNN'&N'