2biu" $SrSSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ r J r SSKJ r SSK J r SSKJrJrJrJr SSKJr \R*"\5r\\-rSSKr\\- rSSKr\\- rS \4S jrS \S \ \4S jr S\\S \!4Sjr"S\S\S \!4Sjr#S \S S4Sjr$S\ S \!4Sjr%SS\S\S\!S S4Sjjr&S\S\S S4Sjr'SS\S\S\ \S S4Sjjr(g!\a \R7S5 Nf=f!\a \R7S 5 Nf=f)zUtilities related archives. N)IterableListOptional)ZipInfo)InstallationError)BZ2_EXTENSIONSTAR_EXTENSIONS XZ_EXTENSIONSZIP_EXTENSIONS) ensure_dirzbz2 module is not availablezlzma module is not availablereturnc^[R"S5n[R"U5 U$)zBGet the current umask which involves having to set it temporarily.r)osumask)masks ڏ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_internal/utils/unpacking.py current_umaskr+s 88A;DHHTN Kpathc URS5RS5nSU;aBSU;a$URS5URS5:dSU;aURSS5$SU;aURSS5$US/$)N/\)lstripfindsplitrs rsplit_leading_dirr2sz ;;s  " "4 (D d{ $))C.499T?:t4?Ozz#q!! zz$""bzrpathscbSnUH'n[U5up4U(d gUcUnM X1:wdM' g g)zuReturns true if all the paths have the same leading path name (i.e., everything is in one subdirectory in an archive)NFT)r)r common_prefixrprefixrests rhas_leading_dirr%>s>M(.   ""M  $ r directorytargetc[RRU5n[RRU5n[RRX#/5nXB:H$)zD Return true if the absolute path of target is within the directory )rrabspath commonprefix)r&r' abs_directory abs_targetr#s ris_within_directoryr-MsHGGOOI.M(J WW ! !="= >F  ""rcP[R"US[5)-S-5 g)zl Make file present at path have execute for user/group/world (chmod +x) is no-op on windows per python docs iIN)rchmodrrs r2set_extracted_file_to_default_mode_plus_executabler1Xs! HHTE]_,,u46rinfocURS- n[U=(a" [R"U5=(a US-5$)Nr/) external_attrboolstatS_ISREG)r2modes rzip_item_is_executabler:`s6    #D <d+<u ==rfilenamelocationflattenc[U5 [US5n[R"USS9n[ UR 55=(a UnUR 5GHAnURnUnU(a[U5Sn[RRX5n[RRU5n [X5(dSn [U RXU55eUR!S5(dUR!S5(a [U5 M[U 5 URU5n [US5n ["R$"X5 S S S 5 U R'5 [)U5(a[+U5 GMAGMD UR'5 g !,(df  NR=f!U R'5 [)U5(a [+U5 ff=f!UR'5 f=f) a Unzip the file (with path `filename`) to the destination `location`. All files are written based on system defaults and umask (i.e. permissions are not preserved), except that regular file members with any execute permissions (user, group, or world) have "chmod +x" applied after being written. Note that for windows, any execute changes using os.chmod are no-ops per the python docs. rbT) allowZip64rzQThe zip file ({}) has a file ({}) trying to install outside target directory ({})rrwbN)r openzipfileZipFiler%namelistinfolistr;rrrjoindirnamer-rformatendswithshutil copyfileobjcloser:r1) r;r<r=zipfpzipleadingr2namefndirmessagefpdestfps r unzip_filerWgsx 4 E ooe5!#,,.1=gLLND==DB&t,Q/h+B''//"%C&x444(xX(NOO{{32;;t#4#423XXd^Ob$6**26(HHJ-d33J2N45#:  (HHJ-d33J2N4  s<D.G9 GF7+G33G97 G G.G66G99H c[U5 UR5RS5(d$UR5RS5(aSnOUR5R[5(aSnOjUR5R[5(aSnO?UR5RS5(aSnO[ R SU5 S n[R"XS S 9n[UR5Vs/sHoDRPM sn5nUR5GHinURnU(a[U5S n[RRX5n[!X5(dS n[#UR%XU55eUR'5(a [U5 MUR)5(aUR+XG5 MUR/U5n [[RR5U55 U ce[US5n [6R8"X5 SSS5 U R;5 UR=XG5 UR>S-(dGM^[AU5 GMl UR;5 gs snf![,a.n [ R SUURU 5 Sn A GMSn A ff=f![0[24a.n [ R SUURU 5 Sn A GMSn A ff=f!,(df  N=f!UR;5 f=f)a Untar the file (with path `filename`) to the destination `location`. All files are written based on system defaults and umask (i.e. permissions are not preserved), except that regular file members with any execute permissions (user, group, or world) have "chmod +x" applied after being written. Note that for windows, any execute changes using os.chmod are no-ops per the python docs. z.gzz.tgzzr:gzzr:bz2zr:xzz.tarrz-Cannot determine compression type for file %szr:*zutf-8)encodingrzQThe tar file ({}) has a file ({}) trying to install outside target directory ({})z/In the tar file %s the member %s is invalid: %sNrAr/)!r lowerrJrr loggerwarningtarfilerBr% getmembersrQrrrrGr-rrIisdirissym_extract_member Exception extractfileKeyErrorAttributeErrorrHrKrLrMutimer9r1) r;r<r9tarmemberrPrRrrTexcrUrVs r untar_filerksx~~  ''8>>+;+D+DV+L+L   " "> 2 2   " "= 1 1   " "6 * * ;   ,,x 8C4!S^^=M"N=M6;;=M"NOnn&FB&r*1-77<<-D&x664(xx(PQQ||~~4  ''5 0B277??401~%~$%&&r2&  &';;&&FtLa'd g#O"! NNI     !.1 NNI     &% sMK.B?M.K ?ML9M M#;M#MM L"K<5M<LMM"L=6M=MM M MM( content_typec"[RRU5nUS:XdCUR5R [ 5(d[ R"U5(a[XUR S5(+S9 gUS:XdQ[R"U5(d6UR5R [[-[-5(a [X5 g[R!SUUU5 [#SU35e)Nzapplication/zipz.whl)r=zapplication/x-gzipzZCannot unpack file %s (downloaded from %s, content-type: %s); cannot detect archive formatz#Cannot determine archive format of )rrrealpathr[rJr rC is_zipfilerWr^ is_tarfiler rr rkr\criticalr)r;r<rls r unpack_filerrs ww)H)) >>  $ $^ 4 4   h ' '883D3DV3L/LM,,   h ' ' >>  $ $^n%D}%T U U8&  +      "EhZ PQQr)T)N))__doc__loggingrrKr7r^rCtypingrrrrpip._internal.exceptionsrpip._internal.utils.filetypesrr r r pip._internal.utils.miscr getLogger__name__r\SUPPORTED_EXTENSIONSbz2 ImportErrordebuglzmaintrstrrr6r%r-r1r:rWrkrrrrrs ++6 0   8 $&60N*1M) s C DI  8C= T #3###7S7T7>>T>+++d+d+\MMMMf#'RRR3-R RM0 LL./01 LL/01s$ C% C5C21C25DD