f ddlZddlZddlZddlZddlZddlZ ddlZ[dZn #e$rdZYnwxYw ddl Z [ dZ n #e$rdZ YnwxYw ddl Z [ dZ n #e$rdZ YnwxYwej dkZdxZZej dkrddlZnerddlZerdndZeedoejd aeo eed Zd Zgd ZGd deZGddeZGddeZGddeZGddeZGddeZ GddeZ!dZ"dZ#efdZ$dtdZ%dZ&d Z'd!Z(dd"d#Z)dd"d$Z*eed%rdd"d&Z+nd'Z+dd"d(Z,dd"d)Z-dd"d*Z.d+Z/ dud,Z0dde.ddfd-Z1eej2d.rd/Z3d0Z4nd1Z3d2Z4d3Z5d4Z6ej7ejej8ej9hej:koej;ej<vo ejej=vZ>dvdd5d6Z?e>e?_@d7ZAe.fd8ZBd9ZCd:ZDd;ZEd<ZF dwd>ZG dxd?ZHd@eGdAgdBdfiZIereGdCgdDdfeIdE<eHgdFdfeIdG<e r eGdHgdIdfeIdJ<e r eGdKgdLdfeIdM<dNZJdydPZKdQZL dzdRZMdSZNdTZO dydUZPdVZQdWZRdXZSddYdZZTd[geTgdBfd\geSgdFfd]ZUer d^d_geTgdDfeUdE<e r d`dageTgdIfeUdJ<e r dbdcgeTgdLfeUdM<ddZVd{ddYdeZWeedfrNeXdgejYdhdiZZdjeZj[_\dkeZj]_\dleZj^_\dmZ_n+er)eXdgejYdhdiZZdnZ_d{doZ`d|dqZadrZbejcejdzdfdsZedS)}NTFntposixiisendfilelinux _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 SameFileErrorceZdZdS)rN__name__ __module__ __qualname__-/opt/alt/python311/lib64/python3.11/shutil.pyrr=sDr'rceZdZdS)r Nr"r&r'r(r r @s??r'r ceZdZdS)rNr"r&r'r(rrCs;;r'rceZdZdS)rNr"r&r'r(rrGs55r'rceZdZdS) ReadErrorNr"r&r'r(r-r-Js//r'r-ceZdZdS) RegistryErrorNr"r&r'r(r/r/Ms&&r'r/ceZdZdS)_GiveupOnFastCopyNr"r&r'r(r1r1Qsr'r1c |}|}n!#t$r}t|d}~wwxYw tj|||dS#t $rN}|j|_|j|_|j tj tj hvrt||dd}~wwxYwN) fileno Exceptionr1rrOSErrornamefilename filename2errnoEINVALENOTSUP)fsrcfdstflagsinfdoutfderrs r(_fastcopy_fcopyfilerCVs%{{}}  %%%$$$%  ue,,,,,    y   9u}5 5 5#C(( (4   s-(, A AA A&& B>0A B99B>c |}|}n!#t$r}t|d}~wwxYw tt j|jd}n#t$rd}YnwxYwtj dkrt|d}d} t j ||||}|dkrdS||z }n#t$r}|j |_ |j |_|jtjkrdat||jtjkr|d|dkr3t j|dtjdkrt||d}~wwxYw)Niili@rTF)r4r5r1maxosfstatst_sizer6sysmaxsizeminrr7r8r9r:ENOTSOCK_USE_CP_SENDFILEENOSPClseekSEEK_CUR)r=r>r@rArB blocksizeoffsetsents r(_fastcopy_sendfilerTjs%{{}}  %%%$$$%.88   {W 7++ F ;udFI>>D,qyy dNFF/   9CL ICMyEN**$) ',,,yEL((t#{{rxq"+>>!CC',,,I' s?(, A AA 'A66 BB,C E1BE,,E1cB |j}|j}tt|5} ||}|snJ||kr8|d|5}||dddn #1swxYwYn ||X ddddS#1swxYwYdSr3)readintowrite memoryview bytearray)r=r>length fsrc_readinto fdst_writemvnsmvs r(_copyfileobj_readintor`s? MMJ If%% & & "  b!!A VV$sJJsOOO$$$$$$$$$$$$$$$ 2                   s5 B A." B.A2 2B5A2 6BBBcj |st}|j}|j} ||}|sdS||r3) COPY_BUFSIZEreadrW)r=r>rZ fsrc_readr\bufs r(rrsSG  IJi  E 3 r'ct|tjrpttjdrV tj|tj|S#t$rYdSwxYwttjdr2 tj||S#t$rYdSwxYwtj tj |tj tj |kS)NsamestatFsamefile) isinstancerFDirEntryhasattrpathrgstatr6rhnormcaseabspathsrcdsts r( _samefilerss#r{##(D(D 7##CHHJJ == =   55 rw ## 7##C-- -   55  G  RW__S11 2 2 G  RW__S11 2 2 34s$AA:: BB&C CCct|tjr|ntj|Sr3)rirFrjrmfns r(_statrws-"2r{33 D277999Dr'ct|tjr|ntj|Sr3)rirFrj is_symlinkrlislinkrus r(_islinkr{s3(R[99 Q2==???rw~~b?Q?QQr'follow_symlinksc F tjd||t||r#td||d}t ||gD]\}} t |}tj|j r5t|tj r|j n|}td|ztr |dkr|j}x#t"$rYwxYw|s8t%|r)tjtj||nt+|d5} t+|d5}t,rF t/||t0j|cdddcdddS#t4$rYnwxYwt6r; t9|||cdddcdddS#t4$rYnOwxYwtrD|dkr>t;||t=|t>|cdddcdddStA||dddn #1swxYwYnE#tB$r8} tj "|stGd|| d} ~ wwxYwdddn #1swxYwY|S)Nzshutil.copyfilez{!r} and {!r} are the same filerz`%s` is a named piperbwbzDirectory does not exist: )$rIauditrsr format enumeraterwrmS_ISFIFOst_moderirFrjrlr_WINDOWSrHr6r{symlinkreadlinkopen_HAS_FCOPYFILErCr_COPYFILE_DATAr1rMrTr`rKrbrIsADirectoryErrorexistsFileNotFoundError) rqrrr} file_sizeirvstr=r>es r(r r s  Ic***cP=DDS#NNOOOIC:&& ' '2 'rB }RZ(( D *2r{ ; ;CRWW&'='BCCC 'AFFJ     D  !ws||! 2;s##S)))) #t__  #t__,%#!/dE._noperr'c0tt|Sr3)getattrrF)r7rs r(lookupzcopystat..lookupls2tT** *r'cTtt|}|tjvr|SSr3)rrFsupports_follow_symlinks)r7rvrs r(rzcopystat..lookupqs,T4((BR000 Kr'r|rmutimerrTrc"tj|dSr3)rFrrs r(_chmodzcopystat.._chmods$r'st_flagschflags) EOPNOTSUPPr<)rIrr{rFrlrzrirjrmrr st_atime_ns st_mtime_nsrr7rNotImplementedErrorrkrr6r:r) rqrrr}followrrmoderwhyrBrs @r(r r Ws Ic***T      JWS\\%IbgnnS6I6I JF  + + + + + +       #r{##9 XXfX - - VVF^^C 8 8 8 < # #DFF7OOCR^R^<    sC0000 VG__F w$  w~~c"" 9g&&s4&88     sD&11111        r:  FF9  c2; G G G G G G   .  5#&&39s8K8K+K+KEEEEEE s*E$$ E10E1F## G3-;G..G3c tj|r=tj|tj|}t |||t ||||Sr)rFrlisdirjoinbasenamer r rqrrr}s r(r r ss  w}}S7gll3 0 0 5 566 S#7777 S#7777 Jr'c tj|r=tj|tj|}t |||t ||||Sr)rFrlrrrr r rs r(r r ss  w}}S7gll3 0 0 5 566 S#7777 S#7777 Jr'c fd}|S)Ncg}D]*}|tj||+t|Sr3)extendfnmatchfilterset)rlr ignored_namespatternpatternss r(_ignore_patternsz)ignore_patterns.._ignore_patternssJ  A AG  w!?!? @ @ @ @=!!!r'r&)rrs` r(rrs)&""""" r'c |)|tj|d|D}nd}tj||g} |tup|tu} |D]} | j|vr tj|| j} tj|| j} | r| n| } | }|r=tjdkr-| d}|j tj krd}|rtj | }|r)tj || t|| | ntj|s|r| rt#|| |||||nC||| n6| rt#|| |||||n ||| #t$$r+}| |jdYd}~d}~wt*$r0}| | | t/|fYd}~d}~wwxYw t||nM#t*$r@}t1|dd%| ||t/|fYd}~nd}~wwxYw| rt%| |S) Ncg|] }|j Sr&r7).0xs r( z_copytree..s/H/H/H1/H/H/Hr'r&)exist_okrFr|rwinerror)rFfspathmakedirsr r r7rlrryrmst_reparse_tagIO_REPARSE_TAG_MOUNT_POINTrrr ris_dirrrrrr6appendstrr)entriesrqrrsymlinksignore copy_functionignore_dangling_symlinks dirs_exist_okrerrors use_srcentrysrcentrysrcnamedstnamesrcobjryrlinktorBrs r( _copytreers9 ry~~/H/H/H/H/HII  Km,,,, F E)B]d-BL,8,8 =M ) ) ',,sHM22',,sHM22)6w& 8!,,..J 'bgoo! e <<'4+JJJ!&J /W--7Jvw///VW(lKKKKK7>>&11!6N! ((7 (F!.0H!.0000& fg6666"" /(FM1=BBBB fg... ' ' ' MM#(1+ & & & & & & & & 8 8 8 MM7GSXX6 7 7 7 7 7 7 7 7 80c 000 3 D ) ) 1 MM3SXX. / / /0Fmm JsD8B5G/A-G I ( H I %II I J**6J%%J*c  tjd||tj|5}t |}dddn #1swxYwYt ||||||||S)Nzshutil.copytree)rrqrrrrrrr)rIrrFscandirlistr) rqrrrrrrritrrs r(rrs%LIc*** CCs)) W#3"-.F#0 2 2 22sAA A st_file_attributesc |d}tj|jo)|jtjzo|jtjk S#t$rYdSwxYwNFr|)rmS_ISDIRrrFILE_ATTRIBUTE_REPARSE_POINTrrr6)entryrs r( _rmtree_isdirrFs E22BL,,K&)JJJ&$*II2K L   55 sAA A)(A)c tj|}tj|jp(|jtjzo|jtjkS#t$rYdSwxYw)NF) rFrrmS_ISLNKrrrrrr6)rlrs r(_rmtree_islinkrOsu $BL,,K&)JJJ&$*II L   55 sAA A&%A&cR |dS#t$rYdSwxYwr)rr6)rs r(rrXs= <<<66 6   55 s  &&c@tj|Sr3)rFrlrz)rls r(rr^sw~~d###r'cF tj|5}t|}dddn #1swxYwYn:#t$r-|tj|t jg}YnwxYw|D]}|j}t|rs |rtdn=#t$r0|tjj |t jYvwxYwt|| tj |#t$r+|tj |t jYwxYw tj |dS#t$r,|tj |t jYdSwxYw)N%Cannot call rmtree on a symbolic link) rFrrr6rIexc_inforlrryrz_rmtree_unsafeunlinkrmdir)rlonerror scandir_itrrfullnames r(rrbs Z   ':&&G ' ' ' ' ' ' ' ' ' ' ' ' ' ' '  D#,..111==:    = ##%%K""IJJJ K    #,..AAA  8W - - - - = (#### = = = 8S\^^<<<<< =0  000$ //////0s]>2 >6>6>4A54A5#B777C10C1D2EEE**2F F c  tj|5}t|}dddn #1swxYwYnG#t$r:}||_|tj|t jYd}~dSd}~wwxYw|D]e}tj||j } | d}|ri | d} tj | j }nK#t$r+|tj|t jYwxYwn#t$rd}YnwxYw|rP tj|j tjtjz|} d} tj| tj| rt)| || tj| n:#t$r-d} |tj|t jYnwxYwd} tj|j |n#t$r+|tj|t jYnQwxYw td#t$r0|tjj|t jYnwxYw| sP tj| G#t$r,|tj|t jY|wxYw#| sN tj| w#t$r+|tj|t jYwwxYwwxYw#t$r,|tj|t jY wxYw tj|j |.#t$r,|tj|t jYcwxYwdS)NFr|dir_fdTr)rFrrr6r8rIrrlrr7rrmrrrrO_RDONLY O_NONBLOCKrgrG_rmtree_safe_fdcloserrzr) topfdrlrrrrBrrrorig_stdirfd dirfd_closeds r(r r s Z   '*:&&G ' ' ' ' ' ' ' ' ' ' ' ' ' ' '   D#,..1116=6=7<<ej11 \\%\88F #jjj??G!\'/::FFGBHh ???H     FFF  ( =" H BK"-,GPUVVV$ Hw''%AAN'xAAAHHUOOOO&HHH+/L#GBHh GGGGGH(, HHUZ>>>>>&HHH#GBHh GGGGGHN#*+1#2#22&NNN#GBGNHclnnMMMMMN(HHHUOOOO&HHH#GBHh GGGGGHH<HHHUOOOO&HHH#GBHh GGGGGHH7 ; ; ;3<>>::::: ;B = %*U33333 = = = 8S\^^<<<<< =k6=6=s>2 >6>6> B/A==B0D2 /C992D.-D.2 EE5M>AL GL 4H L  HL H0/L 02I%"L $I%%L )I887J2/L 1J22L 8K2LL M L"!M"2M MM M2NNN552O+*O+rc  tjd|||rd}n|d}trt|trt j|} t j||}n9#t$r,|t j|tj YdSwxYw t j |t j t j z|}d}n9#t$r,|t j |tj YdSwxYw t j |t j|rt!||| t j|n:#t$$r-d}|t j|tj YnwxYwd} t j||n#t$$r+|t j|tj YnQwxYw t%d#t$$r0|t j j|tj YnwxYw|sP t j|dS#t$$r,|t j|tj YdSwxYwdS#|sN t j|w#t$$r+|t j|tj YwwxYwwxYw|t+d t-|rt%dn>#t$$r1|t j j|tj YdSwxYwt/||S) Nz shutil.rmtreecdSr3r&rs r(rzrmtree..onerrors Dr'cr3r&rs r(rzrmtree..onerrors r'rFTrz#dir_fd unavailable on this platform)rIr_use_fd_functionsribytesrFfsdecoderr5rrr r rlrgrGr r r6rrzrrr)rl ignore_errorsrr rfd fd_closeds r(rrsIotV,,,        6- dE " " %;t$$D htF333GG    GBHdCLNN 3 3 3 FF  r{R]:6JJJBII    GBGT3<>> 2 2 2 FF  <w"66 BD'222<HRLLLL<<< $IGBHdCLNN;;;;;<! <HT&11111<<<GBHdCLNN;;;;;<B!"IJJJBBBGBGND#,..AAAAAB <<HRLLLLL<<<GBHdCLNN;;;;;;< < <9 <<HRLLLL<<<GBHdCLNN;;;;;< <  %&KLL L d## GEFFF G    GBGND#,.. 9 9 9 FF dG,,,sA,,2B"!B"&0C2D  D AJE*)J*4F!J F!!J'F>=J>2G30J2G33J7H7I=J?IJI2JJK)J0/K)02K%"K)$K%%K)>L7MMc tj|}tjjtjjpdz}tj||SN)rFrrlsepaltseprrstrip)rlrs r( _basenamer"sO  9T??D '+-2 .C 7  DKK,, - --r'c tjd|||}tj|rt ||r6tj|stj||dStj|t|}tj |rtd|z tj||n^#t$rPtj|r>tj |}tj||tj|ntj|rt!||rtd|d|dt#|sCtj|tjs:tj|r&tjdkrt-d|d|dt/|||d t1|n |||tj|YnwxYw|S) Nz shutil.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)rIrrFrlrrsrzrenamerr"rrr6rrr _destinsrc _is_immutableaccessW_OKlistdirplatformPermissionErrorrr)rqrrrreal_dstrs r(rr+sJ2ImS#&&&H w}}S K S#   rw~~c':':  Ic3    F7<<Ys^^44 7>>( # # K>IJJ J #x     7>>#   [%%F Jvx ( ( ( IcNNNN W]]3   #s## 3e(+SSS2333c"" 4Ic2733 48: 3 4LH44%o),ccc'3444 S(-" $ $ $ $ 3KKKK M#x ( ( ( IcNNN)* OsC55EIIctj|}tj|}|tjjs|tjjz }|tjjs|tjjz }||Sr3)rFrlroendswithr startswithrps r(r&r&ms '//#  C '//#  C << $ $ rw{ << $ $ rw{ >>#  r'ct|}tjtjg}t |do|j|vS)Nr)rwrm UF_IMMUTABLE SF_IMMUTABLErkr)rqrimmutable_statess r(r'r'vs; sB)4+<= 2z " " Fr{6F'FFr'c |dS ddlm}n#t$rYdSwxYw ||}n#t$rd}YnwxYw||dSdS)Nr)getgrnam)grpr6 ImportErrorKeyError)r7r6results r(_get_gidr<{, |t       tt$  ay 4  , ;;c |dS ddlm}n#t$rYdSwxYw ||}n#t$rd}YnwxYw||dSdS)Nr)getpwnamr7)pwdr@r9r:)r7r@r;s r(_get_uidrBr=r>gzipc  |d} nRtr |dkrd} nBtr |dkrd} n2tr |dkrd} n"td|ddl} |rd | znd} |d z| z} t j| } | rMt j | s.|| d | |st j | || d ttfd }|s| | d| z}|}| t j||} |||||n#|wxYw|t j| } | S)NrrCgzbzip2bz2xzzCbad value for 'compress', or compression format not supported : {0}r..tar creating %szCreating tar archivecH|_|_|_|_|Sr3)gidgnameuiduname)tarinforMgroupownerrOs r( _set_uid_gidz#_make_tarball.._set_uid_gids. ?GK!GM ?GK!GMr'zw|%sr)_ZLIB_SUPPORTED_BZ2_SUPPORTED_LZMA_SUPPORTED ValueErrorrtarfilerFrldirnamerinforrBr<rraddr ro) base_namebase_dircompressverbosedry_runrSrRloggerroot_dirtar_compressionrZ compress_ext archive_name archive_dirrTtararcnamerMrOs `` @@r( _make_tarballrks  =X// =H// =X--++16(+;+;== =NNN,4<3(("Lv% 4L'//,//K%27>>+66%   KK { 3 3 3 % K $ $ $ *+++ 5//C 5//C ll</)ABB  w||Hh77H  GGHglG ; ; ; IIKKKKCIIKKKKw|44 s F F c: ddl}|dz} tj|} | rMtj| s.||d| |stj| ||d| ||se|| d|j5} tj |} | tj ||}tj |}| tj kr.| || ||d|tj |D]{\} }}| }| tj||}tj |}t|D]p}tj | |}tj ||} | || ||d|q|D]}tj | |}tj |}tj|rNtj ||} | || ||d|} dddn #1swxYwY|tj| } | S)Nr.ziprKz#creating '%s' and adding '%s' to itw) compressionz adding '%s')zipfilerFrlr[rr\rZipFile ZIP_DEFLATEDnormpathrcurdirrWwalkrelpathsortedisfilero)r^r_rarbrcrSrRrdrp zip_filenamerhzfrjdirpathdirnames filenames arcdirpathr7rls r( _make_zipfilers% NNNv%L'//),,K%27>>+66%   KK { 3 3 3 % K $ $ $  9 ( , , , = __\3)0)=?? =BDg&&x00G#7<<(;;w''11H")##7+++%KK x888020A0A = =,9$ '!#X!F!FJW--j99 "8,,99D7<<66D gll:t<.:s1)))~tXhqk")))r')_ARCHIVE_FORMATSitemssortformatss r(rr5sC))%%'')))G LLNNN Nr'rcJ |g}t|std|zt|ttfstd|D]@}t|ttfrt |dkrtdA|||dft |<dS)NzThe %s object is not callablez!extra_args needs to be a sequencer7z+extra_args elements are : (arg_name, value)F)callable TypeErrorrituplerlenr)r7function extra_args descriptionelements r(rr?s H  D7(BCCC j5$- 0 0=;<<<KK'E4=11 KS\\A5E5EIJJ J6F' KGTr'ct|=dSr3)rrs r(rrTsr'c t tjd|||| t|} n!#t$rt d|zdwxYw||||d} | d} | dD] \} } | | | < | t j}| d}d}|t j|j}tj |sttj d||rt j |}|| d<n`t j}||d |t j|}|st j| | ||fi| }|,||d |t j|n4#|-||d |t j|wwxYw|S) Nzshutil.make_archivezunknown archive format '%s')rbrcrSrRrzNot a directoryrdzchanging into '%s'zchanging back to '%s')rIrrr:rYrFrtrmrrNotADirectoryErrorr:ENOTDIRrgetcwddebugrlrochdir)r^rrdr_rarbrSrRrc format_inforfuncargvalsupports_root_dirsave_cwdstmdr8s r(rrWs I#Y(KKKK&v. KKK6?@@dJK!Fu..F q>DNSs 9#AHwx  (|D!! Q$U]4ExPP P  # ),,I!)F:  y{{H! 18<<< 22I #"""4 866v66  ! 4h??? HX     ! 4h??? HX     Os )A F1F5cv dtD}||S)Nc6g|]\}}||d|dfS)rrr&)rr7r\s r(rz&get_unpack_formats..s7(((JD$d1gtAw'(((r')_UNPACK_FORMATSrrrs r(rrsC (($$&&(((G LLNNN Nr'c i}tD]\}}|dD]}|||<|D]"}||vrd}t||||fz#t|st ddS)Nrz!%s is already registered for "%s"z*The registered function must be a callable)rrr/rr) extensionsrrexisting_extensionsr7r\ext extensionmsgs r(_check_unpack_optionsrs5%++--,, d7 , ,C'+  $ $ , HH + + +5Cy':9'E'G!GHH H , H  FDEEEFFr'cN |g}t|||||||ft|<dSr3)rr)r7rrrrs r(rrs? *h ;;;&*kIODr'c t|=dSr3)rrs r(rrs4r'c tj|}tj|stj|dSdSr3)rFrlr[rr)rlr[s r(_ensure_directoryrsN;good##G 7== ! ! Gr'c ddl}||std|z||} |D]}|j}|dsd|vr#tjj |g| dR}|sPt|| dsf| |d5}t|d5}t||dddn #1swxYwYdddn #1swxYwY |dS#|wxYw)Nrz%s is not a zip file/z..rr)rp is_zipfiler-rqinfolistr8r0rFrlrsplitrr/rrr ) r8 extract_dirrprr\r7 targetpathsourcetargets r(_unpack_zipfilersNNN   h ' ';.9::: //( # #CLLNN 0 0D=Ds## tt||kDDJJsOODDDJ  j ) ) )==%% 0XXdC((0FZ..028///000000000000000000000000000000 0$  sUBE !D&2D D&D D&D D& E &D* *E -D* .E ErUc ddl} ||}n #|j$rtd|zwxYw ||||dS#|wxYw)Nrz/%s is not a compressed or uncompressed tar filerU)rZrTarErrorr- extractallr )r8rrrZtarobjs r(_unpack_tarfilersNNNJh''  JJJ = HJJ JJ+f555  s:A++BrJrm)rirz.tar.gzz.tgzz.tar.bz2z.tbz2z.tar.xzz.txzctD]+\}}|dD]}||r|ccS,dS)Nr)rrr/)r8r7r\rs r(_find_unpack_formatrsh%++-- da  I  ++     4r'c~ tjd||||tj}tj|}tj|}|i}nd|i}|i t |}n1#t $r$td|dwxYw|d}|||fit|d|dSt|}|"td|t |d}tt |d|z}|||fi|dS)Nzshutil.unpack_archiverzUnknown unpack format '{0}'rr7zUnknown archive format '{0}') rIrrFrrrr:rYrdictrr-)r8rrr filter_kwargsrrrs r(rrst"I%xfEEEikk )K((Ky""H ~ !6*   U)&1KK U U U:AA&IIJJPT T U1~ X{LLd;q>&:&:LmLLLLL%X.. >:AA(KKLL Lv&q)of-a011MA X{--f-----s " A00.Bstatvfs disk_usageusageztotal used freezTotal space in byteszUsed space in byteszFree space in bytesc tj|}|j|jz}|j|jz}|j|jz |jz}t |||Sr3)rFrf_bavailf_frsizef_blocksf_bfree_ntuple_diskusage)rlrfreetotaluseds r(rrVs[ Z  {R[( bk) bj(BK7 d333r'c^ tj|\}}||z }t|||Sr3)r _getdiskusager)rlrrrs r(rrgs8 &t,, tt| d333r'c tjd|||||td|}|}|d}nHt|tr3t |}|"t d||d}nHt|ts3t|}|"t d|tj |||dS)Nz shutil.chownzuser and/or group must be setzno such user: {!r}zno such group: {!r}) rIrrYrirrB LookupErrorrintr<rFr)rluserrR_user_groups r(rrrs IndD%000 | 8999 E F | D#  A =299$??@@ @ } s # #C% >3::5AABB BHT5&!!!!!r'PcJ ttjd}n#ttf$rd}YnwxYw ttjd}n#ttf$rd}YnwxYw|dks|dkr tjt j}n1#tttf$rtj |}YnwxYw|dkr|j p|d}|dkr|j p|d}tj ||fS)NCOLUMNSrLINESr)rrFenvironr:rYrrI __stdout__r4AttributeErrorr6 terminal_sizecolumnslines)fallbackrrsizes r(rrsI&bj+,, j !BJw'(( j !!||uzz .'(=(=(?(?@@DD G4 . . .#H--DDD . a<<l1hqkG A::J-(1+E We, - --s/#99AA32A30B44+C"!C"ctj|o4tj||otj| Sr3)rFrlrr(r)rvrs r( _access_checkrsD GNN2   &29R#6#6 &GMM"%%%'r'c tjrt|rSdSt t }|[tjdd}|9 tjd}n##ttf$rtj }YnwxYw|sdS|rFtj |}| tj tj}n3tj|}| tj}t jdkrtj}|rtj |}||vr|d|tjdpt*}d| tjD}|r d|D}t-fd|Drg}nfd |D}ng}t/}|D]u} tj| } | |vrP|| |D]8} tj| | } t| |r| ccS9vdS) NPATHCS_PATHwin32rPATHEXTcg|]}||Sr&r&rrs r(rzwhich..sJJJ3cJ3JJJr'c6g|]}tj|Sr&)rFfsencoders r(rzwhich..s";;;Cr{3'';;;r'c3K|]=}|V>dSr3)lowerr/rrcmds r( zwhich..sADDSsyy{{##CIIKK00DDDDDDr'cg|]}|zSr&r&rs r(rzwhich..s2223S3Y222r')rFrlr[rrirrgetconfstrrrYdefpathrrpathseprrIr+rtinsertgetenv_WIN_DEFAULT_PATHEXTanyrrnr]r) rrrl use_bytesrtpathext_sourcepathextfilesseendirnormdirthefiler7s ` r(rrs ws d # # Jt3&&I |z~~fd++ < "z),,"J/ " " "z " t&{4  zz"+bj1122{4  zz"*%% |w  )[((F    KK6 " " "9--E1EJJ."6"6rz"B"BJJJ  <;;7;;;G DDDDGDDD D D 3EEE2222'222EE 55D  '""3''$ HHW      w||C11 t,, KKKKK 4s0BB%$B%)r)F)FN)rCrrNNNN)rrNNNNr)NNrrNNN)NN)r)frFrIrmr collectionsr:zlibrVr9rGrWlzmarXr7rrrrbrkr+r0rMrr__all__r6rr rrr-r5r/r1rCrTr`rrsrwr{r r rr r r rrr stat_resultrrrr rrrsupports_dir_fdr supports_fdrrravoids_symlink_attacksr"rr&r'r<rBrkrrrrrrrrrrrrrrrrr namedtuplerr__doc__rrrrrrF_OKX_OKrr&r'r(rs    KKK OOOOOJJJ NNNNNKKK OOOOO 7d? 7gLLLL  III&5{{I 72z**Os|/F/Fw/O/O7775,77?        G   @@@@@E@@@;;;;;w;;;6666666600000000&&&&&I&&&     (>>>@.:&    444$EEERRR+/>>>>>@+/.....2 72{ 040   +/HHHHHT'+$(,"   7<@@@@D!&d%&+5.2.2.2.2` 72>/00$ $$$000>>=>=>=@grw 28<'(<Z2>1<W ;; M-dM-M-M-M-M-b!2...$"'@@@@DGGG $$LM@DDDDDL;<@D7777~ m01%t- D!.1E0F 2D!:W,b*dCU;!.1F0G 3T!;W8!.1C0D 0$!8WHHHH*KL;?====@   FFF$CG')JJJJ, <6:     (h-D EhZ 8 4!*F 3_b 2 4OG5!+W 5 3 5OG2!*F 3_b 0 2OG..d..........b 72y!4 NN<   . .w8IJJ&<#%:"%:" 4 4 4 4 4 NN<   . .w8IJJ444""""@+.+.+.+.b''' Gbg%DNNNNNNs-#--9AAAAA