2bizSSKJr SSKrSSKrSSKrSSKJr SSKrSSKrSSK r SSK r SSK r SSK r SSK r SSKrSSKrSSKrSSKJrJr SSKJrJrJrJrJr SSKJr SSKJrJrJrJ r SS K!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+ SS K,J-r-J.r. \ R^"\05r1Sq2\3"\S 5(aS r4O8\RjRmS 5(aSr4O\RjS:XaSr4OSr4\Rn"S5r8\8(dS\RrSS-r8S\8-r:\4\8-r;\+"5RySS5RySS5r=\Rn"S5r>\>(a;\>RmS5(a%\>RySS5RS5Sr>O Sr@\@"5r>C@\ R"S\ R\ R-5rD\ R"S\ R\ R-5rE\ R"S5rF\ R"S5rGS rHS!rI\ RS":XaS#rKOS$rK\RrSS%:aSSKLrLO SrLSSKMrNSSKOrNS&rPS'rQ"S(S)\R5rS\S"5rT"S*S+\R5rUS,rVS-rW\W"5rXCWS/S.jrYg)0)unicode_literalsN)message_from_file) __version__DistlibException) sysconfigZipFilefsdecode text_typefilter)InstalledDistribution)MetadataMETADATA_FILENAMEWHEEL_METADATA_FILENAMELEGACY_METADATA_FILENAME) FileOperator convert_path CSVReader CSVWriterCachecached_propertyget_cache_base read_exportstempdir get_platform)NormalizedVersionUnsupportedVersionErrorpypy_version_infoppjavajycliipcppy_version_nodotz%s%spy-_.SOABIzcpython-cS[/n[R"S5(aURS5 [S:Xa[ R SSnUS:a}[R"S5nUcSnU(aURS5 US :aD[R"S 5nUS :XdUc%[ RS :XaURS 5 SRU5$)Nr$Py_DEBUGdr&) WITH_PYMALLOCTm)r/r/Py_UNICODE_SIZEiu) VER_SUFFIXrget_config_varappend IMP_PREFIXsys version_info maxunicodejoin)partsviwpmuss ڋ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_vendor/distlib/wheel.py _derive_abirD;sz"  # #J / / LL   !!"1%BF{..?;CLL%;"112CDBQw2:#..H2L S)wwu~zz (?P[^-]+) -(?P\d+[^-]*) (-(?P\d+[^-]*))? -(?P\w+\d+(\.\w+\d+)*) -(?P\w+) -(?P\w+(\.\w+)*) \.whl$ z7 (?P[^-]+) -(?P\d+[^-]*) (-(?P\d+[^-]*))?$ s \s*#![^\r\n]*s^(\s*#!("[^"]+"|\S+))\s+(.*)$s#!pythons #!pythonw/cU$Nos rCrLesrEcBUR[RS5$)NrF)replaceosseprJs rCrLrLgs2663/rEr/c[(a([R"5Vs/sHoSPM sn$[RR$s snf)Nr)imp get_suffixes importlib machineryEXTENSION_SUFFIXES)ss rC _get_suffixesrXps@ s!..010!011""5552sAc [(a[R"X5$[RR X5n[RR U5nU[ RU'URRU5 U$rH) rR load_dynamicrTutilspec_from_file_locationmodule_from_specr;modulesloader exec_module)namepathspecmodules rC _load_dynamicrevse s++~~55dA006" D ' rEc6\rSrSrSrSrSrS SjrSrSr g) Mounterc 0Ul0UlgrH impure_wheelslibsselfs rC__init__Mounter.__init__s rEcVX RU'URRU5 grH)rkrlupdate)rnpathname extensionss rCadd Mounter.adds"'18$ $rEcURRU5nUH#up4X0R;dMURU M% grH)rkpoprl)rnrsrtkvs rCremoveMounter.removes8''++H5 DAII~IIaLrENc0XR;aUnU$SnU$rH)rl)rnfullnamerbresults rC find_moduleMounter.find_modules$ yy F F rEc$U[R;a[RUnU$XR;a[SU-5e[ XRU5nXlUR SS5n[U5S:a USUlU$)Nzunable to find extension for %sr*rr) r;r^rl ImportErrorre __loader__rsplitlen __package__)rnr~rr?s rC load_moduleMounter.load_modules s{{ "[[*F yy(!"Ch"NOO"8YYx-@AF $ OOC+E5zA~%*1X" rErjrH) __name__ __module__ __qualname____firstlineno__rorur{rr__static_attributes__rIrErCrgrgs%!  rErgc\rSrSrSrSrSrSSjr\S5r \S5r \S 5r \ S 5r S r\ S 5rS rSSjrSrSrSrS SjrSrSrSrSrSrSrS!SjrSrSrSSjrSr g)"Wheelz8 Class to build and install from Wheel files (PEP 427). )rrsha256NcX lX0lSUl[/UlS/UlS/Ul[R"5Ul Uc SUl SUl URUl g[RU5nU(aQUR!S5nUSUl USR#S S 5Ul US UlURUl g[R$R'U5upa[(RU5nU(d[+S U-5eU(a$[R$R-U5Ul Xl UR!S5nUSUl USUl US UlUS R'S5UlUSR'S5UlUSR'S5Ulg)z2 Initialise an instance using a (valid) filename. r6noneanyNdummyz0.1nmvnr)r(bnzInvalid name or filename: %rr'r*biar)sign should_verifybuildverPYVERpyverabiarchrOgetcwddirnameraversionfilename _filenameNAME_VERSION_REmatch groupdictrNrbsplit FILENAME_RErabspath)rnrrverifyr2infors rCroWheel.__init__s # W 8G yy{  DI DL!]]DN%%h/A{{2 J #Dz11#s; $T  !%$&GGMM($;!%%h/*,:rrrrrNra)rnrrrrrs rCrWheel.filenames ==T]]*HH$hhtxx xx ",,&&sC0)-GX).T; ;rEc[RRURUR5n[RR U5$rH)rOrbr>rrisfile)rnrbs rCexists Wheel.existss1ww||DLL$--8ww~~d##rEc## URH/nURHnURH nXU4v M M M1 g7frH)rrr)rnrrrs rCtags Wheel.tagss:ZZExx IIDd**&  sAAc 4[RRURUR5nUR <SUR <3nSU-n[R"S5n[US5nURU5nUSRSS5n[UVs/sHn[U5PM sn5n [[/n Sn U HXn [ R"X<5n UR#U 5nU"U5n[%US9n U (a SSS5 O SSS5 MZ U (d[)S S RU 5-5eSSS5 U $s snf!,(df  M=f![&a Mf=f!,(df  W $=f) Nr( %s.dist-infoutf-8r Wheel-Versionr*r)fileobjz8Invalid wheel, because metadata is missing: looked in %sz, )rOrbr>rrrarcodecs getreaderr get_wheel_metadatartupleintrr posixpathopenrKeyError ValueError)rnrsname_verinfo_dirwrapperzfwheel_metadatawvi file_versionfnsrfnmetadata_filenamebfwfs rCmetadataWheel.metadatass77<< dmm<"ii6!H,""7+ Xs #r!44R8N066sA>B "!5"Q#a&"!56L +,DECF(1x(D%!23r$R[!)"!5!! 43"43 "9;?99S>"JKK+$0 +"643  '$ #0 sr90F)E >F'E7E%E7"F%E7-(F F% E4 /E72F4E77 FFFF Fc.UR<SUR<3nSU-n[R"US5nUR U5n[ R "S5"U5n[U5nSSS5 [W5$!,(df  N=f)Nr(rWHEELr) rarrr>rrrrdict)rnrrrrrrmessages rCrWheel.get_wheel_metadatasw"ii6!H,%NN8W= WW& '2!!'*2.B'+G(G}( 's (B Bc[RRURUR5n[ US5nUR U5nSSS5 U$!,(df  W$=f)Nr)rOrbr>rrr r)rnrsrrs rCr Wheel.infosR77<< dmm< Xs #r,,R0F$ $ # s A A,c[RU5nU(axUR5nUSUXSpTSUR5;a[nO[ n[ RU5nU(aSUR5S-nOSnXg-nXE-nU$URS5nURS5n US:dX:aSn OXUS-S :XaS n OSn [ U -U-nU$) Nspythonw rE  rr&s ) SHEBANG_RErendlowerSHEBANG_PYTHONWSHEBANG_PYTHONSHEBANG_DETAIL_REgroupsfind) rndatar2rshebangdata_after_shebangshebang_pythonargscrlfterms rCprocess_shebangWheel.process_shebang%s   T " %%'C*.t*d4j'W]]_,!0!/!''0Aahhjn,$+G/D 5!B5!BAv26?g-"D D!D(4/D rEcUc URn[[U5nU"U5R 5n[ R"U5RS5RS5nX$4$![a [ SU-5ef=f)NzUnsupported hash algorithm: %r=ascii) hash_kindgetattrhashlibAttributeErrorrdigestbase64urlsafe_b64encoderstripdecode)rnrrhasherrs rCget_hashWheel.get_hashCs  I QWi0F$$&))&188>EEgN   Q"#Ci#OP P Qs A..Bc[U5nURUSS45 [U5nUHnURU5 M SSS5 g!,(df  g=f)Nr6)listr9rwriterow)rnrecords record_patharchive_record_pathwriterrows rC write_recordWheel.write_recordNsKw-+R45 { #v$$ # #s A Ac,/nUupV[[UR5nUHpup[U S5n U R 5n SSS5 SUR W 5-n [ RRU 5n URXU 45 Mr [ RRUS5n [[ RRUS55nURXIU5 URX45 g!,(df  N=f)Nrbz%s=%sRECORD) rrrrreadrrOrbgetsizer9r>to_posixr)rnrlibdir archive_pathsr distinforrappfrrsizes rC write_recordsWheel.write_recordsUs!$..1"EBa!vvxt}}T22F77??1%D NNB- . # GGLL8 , bggll8X6 7 'b)bW%s D D c[US[R5nUH,upE[R SXT5 UR XT5 M. SSS5 g!,(df  g=f)NwzWrote %s to %s in wheel)r zipfile ZIP_DEFLATEDloggerdebugwrite)rnrsrrrrs rC build_zipWheel.build_zipesH XsG$8$8 9R& 6>': 9 9s 3A A&c  ^Uc0n[[U4SjS55SnUS:XaSn[/n[/n[/nOSn[ /nS/nS /nUR S U5UlUR S U5UlUR S U5Ul TUn UR<S UR<3n SU -n SU -n /n SGHfnUT;aM TUn[RRU5(dM7[R"U5GHunnnUGHn[![RR#UU55n[RR%UU5n['[RR#XU55nU R)UU45 US:XdMUR+S5(aM[-US5nUR/5nSSS5 UR1W5n[-US5nUR3U5 SSS5 GM GM GMi U nSn[R"U5HunnnUU:Xai[5U5HLunn[!U5nUR+S5(dM)[RR#UU5nUU O U(dS5eUHn[!U5R+S5(aM$[RR#UU5n['[RR%UU55nU R)UU45 M M [R6"U5nUHpnUS;dM [![RR#UU55n['[RR#U U55nU R)UU45 Mr SU=(d UR8-S[:-SU-/nUR<H$unnnUR)SU<S U<S U<35 M& [RR#US5n[-US5nUR3SR#U55 SSS5 ['[RR#U S55nU R)UU45 S n [?U U S!9n URAUU 4X5 [RR#URBURD5n!URGU!U 5 U!$!,(df  GNN=f!,(df  GM/=f!,(df  N=f)"zq Build a wheel from files in specified paths, and use any specified tags when determining the name of the wheel. Nc>UT;$rHrI)rKpathss rCrLWheel.build..ss qEzrE)purelibplatlibrr-falsetruerrrrrr(%s.datar)rheadersscriptsr2.exerwb .dist-infoz(.dist-info directory expected, not found)z.pycz.pyo)r INSTALLERSHAREDrzWheel-Version: %d.%dzGenerator: distlib %szRoot-Is-Purelib: %szTag: rr  cJUSnURS5nSU;aUS- nX!4$)NrrFr5i')count)trns rCsorterWheel.build..sorters01B Ar!U 7NrE)key)$rr IMPVERABIARCHrgetrrrrarrOrbisdirwalkr r>relpathrr9endswithrrrr% enumeratelistdir wheel_versionrrsortedrrrr&)"rnr*rrJlibkeyis_pure default_pyver default_abi default_archrrdata_dirrrr?rbrootdirsfilesrrrprrrrrdnrrrrr=rss" ` rCbuild Wheel.buildksW <Df13IJKAN Y G#HM%K 6LG"GM!(K!7LXXg}5 88E;/HHV\2 v"ii6x'!H, 2C%:Dww}}T"")+%D$#$RWW\\$%;<WW__Q5%bggll8"&EF%,,b!W5)+AJJv4F4F!%a!'(vvx"/#'#7#7#=D!%a! ! "/$*7 2(!# D$t|'t_EAr!"B{{<00#%77<<b#9 G -  K!KKxB<(()9::GGLLr*bggooa67$$b!W- "/* 8$BCCRWW\\(B78bggll8R89$$b!W-  #m&It7I7I J #k 1 !G +  !% E3  ! !UC"F G!* GGLL7 + !S\Q GGDIIn- . bggll8W5 6b!W%   }&9  Hh/G77<< dmm< x/K"/"/V\s$T) T; !U) T8 ; U  Uc$URS5$)zT Determine whether an archive entry should be skipped when verifying or installing. )rFz /RECORD.jws)rG)rnarcnames rC skip_entryWheel.skip_entrys 455rEc >URnURS5nURSS5nURSS5n[RR UR UR 5nUR<SUR<3n SU -n SU -n [R"U [5n [R"U S5n [R"U S 5n[R"S 5n[US 5nURU 5nU"U5n[U5nS S S 5 WS R!SS5n[#UVs/sHn[%U5PM sn5nUUR&:waU(aU"UR&U5 USS:XaUSnOUSn0nURU5n[)US9nUH nUSnUUU'M S S S 5 S S S 5 [R"U S5n[R"U S5n[R"U SS5n[+US9n SU l[.R0(+n!/n"[2R4"5n#U#UlS UlUR;5GHn$U$R n%[=U%[>5(aU%n&OU%RAS 5n&URCU&5(aMQUU&nUS(a*[EU$RF5US:wa[ISU&-5eUS(akUSR!SS5un'n(URU%5nURK5n)S S S 5 URMW)U'5un*n+U+U(:wa[ISU%-5eU(a1U&ROUU45(a[PRSSU&5 GM7U&ROU5=(a U&RUS5(+n,U&ROU5(aCU&R!S S5un*n-n.[RR UU-[WU.55n/O3U&X4;aGM[RR U[WU&55n/U,(Gd URU%5nU RYUU/5 S S S 5 [RS!:Xa'[RZ"U/U$R\S"- S#-5 U"R_U/5 U(dYUS(aO[U/S$5nURK5n)URMU)W'5un*n0U0W+:wa[IS%U/-5eS S S 5 U!(a>U/RUS&5(a%U RaU/US'9n1U"R_U15 GMGMGM[RRg[WU%55n2[RR U#U25n3URU%5nU RYUU35 S S S 5 [RR!U/5un4n2U4UlURiU25n5U RkU55 U"RmU55 GM U(a[PRSS*5 S n6GOS n7URnS nUS+:Xa[R"U S,5n8URU85n[qU5n9S S S 5 0n7S-Hn:S.U:-n;U;W9;dM0=U7S/U:-'nU=Rx(a!U>S1S2R U=Rx5-- n>U>U5 U R5 ef=f![R"U#5 f=f!,(df  g =f)?a Install a wheel to the specified paths. If kwarg ``warner`` is specified, it should be a callable, which will be called with two tuples indicating the wheel version of this software and the wheel version in the file, if there is a discrepancy in the versions. This can be used to issue any warnings to raise any exceptions. If kwarg ``lib_only`` is True, only the purelib/platlib files are installed, and the headers, scripts, data and dist-info metadata are not written. If kwarg ``bytecode_hashed_invalidation`` is True, written bytecode will try to use file-hash based invalidation (PEP-552) on supported interpreter versions (CPython 2.7+). The return value is a :class:`InstalledDistribution` instance unless ``options.lib_only`` is True, in which case the return value is ``None``. warnerlib_onlyFbytecode_hashed_invalidationr(r0rrrrrNrr*rzRoot-Is-Purelibr/r,r-streamrr6r2)dry_runTr&size mismatch for %s=digest mismatch for %szlib_only: skipping %sr3rFposixirzdigest mismatch on write for %sz.py)hashed_invalidationzByte-compilation failed)exc_infozlib_only: returning Nonez1.0zentry_points.txt)consoleguiz %s_scriptszwrap_%s:z [%s],zAUnable to read legacy script metadata, so cannot generate scriptsrtzpython.commandsz8Unable to read JSON metadata, so cannot generate scripts wrap_consolewrap_guizValid script path not specifiedz = rllibprefixzinstallation failed.)JrcrCrOrbr>rrrarrrrrr rrrrrrJrrrecordr;dont_write_bytecodetempfilemkdtemp source_dir target_dirinfolist isinstancer rr[str file_sizerrr startswithr#r$rGr copy_streamchmod external_attrr9 byte_compile Exceptionwarningbasenamemakeset_executable_modeextendrrvaluesrrsuffixflagsjsonloadrDritemsr rwrite_shared_locationswrite_installed_filesshutilrmtree exceptionrollback)Drnr*makerkwargsrcr^r_bc_hashed_invalidationrsrrQr metadata_namewheel_metadata_name record_namerrbwfrrrrrrr rreaderr rdata_pfxinfo_pfx script_pfxfileopbcoutfilesworkdirzinforZ u_arcnamekindvaluerr)r is_scriptwhererUoutfile newdigestpycrworknamerV filenamesdistcommandsepepdatar?ryr.rzrWconsole_scripts gui_scripts script_dirscriptoptionssD rCinstall Wheel.installsp "--H%::j%0!',JE!R77<< dmm<"ii6x'!H,!x1IJ 'nnXw?nnXx8 ""7+ Xs #r,-S\+B/.)//Q7B "!5"Q#a&"!56L 2 22t))<8()V3y)y)G%b)V%F%(  &*& !~~h3H ~~h3H")R@J"'2F FM,,,BH&&(G 'E #E a '[[]E#nnG!'955$+ $+NN7$; y11 !),C1v#eoo"6#a&"@.046?0@AA1v&)!fll3&: eWWW-#%779D.$(MM$$= 6!U?"248:A4B#CC I$8$8(H9M$N$N % 5""$'',,uU|\"=M"N%)<(JJ$"$'',,v|I7N"O$WWW-"..r7;. 77g-HHWu/B/Bb/HE.QR 0&3q6!%gt!4')wwy/3}}T4/H 9#,#6*:<@BI&,&9&9'Nd':'f ( 4 #:2 WW--l7.CD#%77<<#<WWW-"..r8<."$w!7B+-($)JJrN 229=  2W+ZLL!;<D $H#'99_#=L#u,&^^H6HI6!#)5c):"-')H'9$03$6#$;DF$FHY_$=-3AY-=-=-?78xx,J+,77,-388AGG;L1L,LA45!&& .@ (:F!#!73%,S\+/99R=+<+<\+J#+/7||!>/9E,(7(=(=(?167);,1JJv,> & : :9 E)@ ++0$.,7,=,=,?DAq:;Q-?F05 670KI$*$>$>y$I-@  VX6A03D!KEi(i(#)E%L33ECA *..xx/68  g&U$ #--"6*)&%R.-,.-"5!4$->!'/H8<!/!>>.-0"- )6"NN,566 "8!7 )F"NN,EFFP   !78!   g&U$ #slf&.&lf8 )Al g f=g'BlC j? g!Drr{r;r<r)rnbases rC_get_dylib_cacheWheel._get_dylib_cachesI =77<< 0#m2D '#*:*:2A*> >@D$KE rEc ([RRURUR5nUR <SUR <3nSU-n[R"US5n[R"S5n/n[US5nURU5nU"U5n [R"U 5n UR5n U RU5n [RRU R U 5n [RR#U 5(d[R$"U 5 U R'5Hup[RRU [)U55n[RR+U5(dSnOr[R,"U5R.n[0R0R3U5nUR5U5n[0R0"UR66nUU:nU(aUR9X5 UR;UU45 M SSS5 SSS5 U$!,(df  N=f![<a N'f=f!,(df  U$=f)Nr(r EXTENSIONSrrT)rOrbr>rrrarrrrr rrrr prefix_to_dirrrDmakedirsrrrstatst_mtimedatetime fromtimestampgetinfo date_timeextractr9r)rnrsrrrZrrrrrrtrrr cache_baserarFdestr file_timer wheel_times rC_get_extensionsWheel._get_extensionss77<< dmm<"ii6!H,..<8""7+ Xs #r WWW% B!%2J 113E"00:F!#ejj&!AJ77==44 J/)3)9)9); !ww||J W8MN!ww~~d33&*G(* (>(>I(0(9(9(G(G (RI#%::g#6D)1):):DNN)KJ&09&I??J Jc[U5$)z= Determine if a wheel is compatible with the running system. ) is_compatiblerms rCrWheel.is_compatiblesT""rEcg)z@ Determine if a wheel is asserted as mountable by its metadata. TrIrms rC is_mountableWheel.is_mountable srEc[RR[RRURUR 55nUR 5(dSU-n[U5eUR5(dSU-n[U5eU[R;a[RSU5 gU(a [RRU5 O [RRSU5 UR5nU(aQ[[R ;a#[R R[5 [R#X$5 gg)Nz)Wheel %s not compatible with this Python.z$Wheel %s is marked as not mountable.z%s already in pathr)rOrbrr>rrrrrr;r#r$r9insertr_hook meta_pathru)rnr9rsmsgrts rCmount Wheel.mounts77??277<< dmm#LM!!##=HC"3' '  ""88CC"3' ' sxx  LL-x 8)8,--/J -MM((/ (/rEc0[RR[RRURUR 55nU[ R;a[RSU5 g[ RRU5 U[R;a[RU5 [R(d=[[ R;a$[ RR[5 ggg)Nz%s not in path) rOrbrr>rrr;r#r$r{rrkr)rnrss rCunmount Wheel.unmount(s77??277<< dmm#LM 388 # LL)8 4 HHOOH %5... X&&&CMM)MM((/*'rEc "[RRURUR5nUR <SUR <3nSU-nSU-n[R"U[5n[R"US5n[R"US5n[R"S5n[US5n U RU5n U"U 5n [U 5n SSS5 W SRS S 5n [U Vs/sHn[!U5PM sn5n0nU RU5n[#US 9nUH nUS nUUU'M SSS5 SSS5 U R%5GH&nURn['U[(5(aUnOUR+S5nURS 5nSU;a[-SU-5eUR/U5(aMvUUnUS(a*[1UR25US:wa[-SU-5eUS (dMUS RSS 5unnU RU5nUR55nSSS5 UR7WU5unnUU:wdGM[-SU-5e SSS5 g!,(df  GN=fs snf!,(df  GNr=f!,(df  GN|=f!,(df  N=f!,(df  g=f)Nr(r0rrrrrrr*rrarrF..invalid entry in wheel: %rr&rdrerf)rOrbr>rrrarrrrrr rrrrrrryrzr rrr[r{r|rr)rnrsrrQrrrrrrrrrrrrr rrr rrrZrrrrr)rs rCr Wheel.verify4s77<< dmm<"ii6x'!H,!x1IJ 'nnXw?nnXx8 ""7+ Xs #r,-S\+B/.)//Q7B "!5"Q#a&"!56LG%b)V%F%(  &*& ..gy11 'I 'w 7IOOC(19*,79B,CDD??9--i(q6c%//2c!f<*,02;,<==q66"%a&,,sA"6KD%)R!wwy* $ dD 9IAv.046=0>??5'$ #--"6 *)&%8*)K$ #sLJ4-&LK (L K K  K(CL;)L$K/5!LL4 K > L K K K, 'L/ K= 9L Lc `SnSn[RRURUR5nUR <SUR <3nSU-n[R"US5n [5n [US5n 0n U R5Hn U Rn[U[5(aUnOURS5nX:XaM?SU;a[S U-5eU RX5 [RRU [!U55nUX'M S S S 5 U"W U5unnU"U 40UD6nU(Ga*U"X5unnU(aUU:Xa U"UU5 Uc0["R$"S S U S 9unn[R&"U5 O[[RR)U5(d[SU-5e[RRX R5n[+U R-55n[RRX5nUU4nUR/UU U5 UR1UU5 Uc[2R4"UU5 S S S 5 U$!,(df  GN`=f!,(df  W$=f)a) Update the contents of a wheel in a generic way. The modifier should be a callable which expects a dictionary argument: its keys are archive-entry paths, and its values are absolute filesystem paths where the contents the corresponding archive entries can be found. The modifier is free to change the contents of the files pointed to, add new entries and remove entries, before returning. This method will extract the entire contents of the wheel to a temporary location, call the modifier, and then use the passed (and possibly updated) dictionary to write a new wheel. If ``dest_dir`` is specified, the new wheel is written there -- otherwise, the original wheel is overwritten. The modifier should return True if it updated the wheel, else False. This method returns the same value the modifier returns. ctS=p#U<S[<3nX@;aSU-nX@;aXn[US9RnX#4$)NrFz %s/PKG-INFOrb)rrr)path_maprrrbr?s rC get_version!Wheel.update..get_version}sI! !G%'?@C"#h.}"-55= rEcSn[U5nURS5nUS:aSU-nO_XS-SRS5Vs/sHn[U5PM nnUS==S- ss'USU<SSR SU55<3nU(aK[US 9nX'l UR[5nURXS 9 [ RS UU5 ggs snf![ a [ RS U5 Nzf=f) Nr(rz%s+1rr*r+c38# UHn[U5v M g7frH)r{).0rs rC 7Wheel.update..update_version..s1H%Q#a&&%sz0Cannot update non-compliant (PEP-440) version %rr)rblegacyzVersion updated from %r to %r) rrrrr>rr#r$rrrGrr%) rrbupdatedrzrrWr?mdrs rCupdate_version$Wheel.update..update_versionsG 4%g.LL%q5$w.G-4UV_-B-B3-GH-GSV-GEH"INI)0!),1H%1H)HJG 4($ '?@d2 rrrarrrr ryrzr rrrrrumkstempcloserDrrrr&rcopyfile)rnmodifierdest_dirrrrrsrrrrrrrrZrrboriginal_versionr)modifiedcurrent_versionfdnewpathrrrs rCrr Wheel.updatelsD" ! &.77<< dmm<"ii6!H,nnXx8 Y'3'2[[]E#nnG!'955$+ $+NN7$;  / y(.0;=F0GHHJJu.77<<i1HID*.H'+($#.h"A  a3F3H(3H(G%";K(K"?D9#"*"2"2&:I7>#@KBHHRL77==22./Dx/OPP ggll8]]CG $X^^%5 6 77<<:)""4-@w 6#OOGX6YZY('YZs&> J B(J 3EJ J J J-) rrrrrrarrrr)NFFrH)NN)F)!rrrr__doc__rJrropropertyrrrrrrrrrrrr&rWr[rrrrrrrrrrrrIrErCrrsMI'2R;; $$++ > < !%&  rh6 k'Z D#  0* 06?pcrErcSSKnUR5n/nUSS:XaWUSRS5H4nURUR 5(a [ U5OS5 M6 [ U5nU$)Nrglibcrr*)platformlibc_verrr9isdigitrr)rverrrWs rC_get_glibc_versionrse    C F 1vQc"A MMAIIKK#a&Q 7#v MrEc [/n[Sn[[RSS- SS5H.nUR SR U[ U5/55 M0 /n[5H?nURS5(dMUR URSS5S5 MA UR5 [S:waURS[5 UR S5 /n[/n[RS :XGa[R "S [5nU(aUR#5upp)[%U5nU /n U S ;aU R S 5 U S ;aU R S5 U S;aU R S5 U S;aU R S5 U S;aU R S5 US:aDU H1n U<SU<SU<SU <3n U [:wdM UR U 5 M3 US-nUS:aMDUGHrn UGHgn UR SR [&US45X45 U S:wdM7[RRS5(dM]U R)SS5n [+5n[-U5S:XdMUS:a/UR SR [&US45U SU -45 US:a/UR SR [&US45U SU -45 US:a/UR SR [&US45U SU -45 UR SR [&US45U SUS<SUS<SU <345 GMj GMu [/U5HcunnUR SR [&U45SS45 US:XdM7UR SR [&US45SS45 Me [/U5H[unnUR SR S U45SS45 US:XdM3UR SR S US45SS45 M] [1U5$)!z? Return (pyver, abi, arch) tuples compatible with this Python. rrrr6z.abir*r&rdarwinz(\w+)_(\d+)_(\d+)_(\w+)$)i386ppcfat)r r x86_64fat3)ppc64rfat64)r rintel)r rrr r universalr)linuxlinux_)r&z manylinux1_%s)r& zmanylinux2010_%s)r&zmanylinux2014_%s manylinux_rr')r7ranger;r<r9r>r{rXr}rsortrArrBrrerrrr:rNrrrHset)versionsmajorminorabisrrarchesr2rarmatchesrrWrr?rrs rCcompatible_tagsr$s|H qMEs''*Q.R8E 3459 D/   V $ $ KK S!,Q/ 0" IIK f} AsKK FVF ||x HH0$ 7 '(xxz $DJEfG&u%00v&**w'))w'BB{+1*$E)-ueUCADy a(%  1*D MM277J #<=sI Jf}!8!8!A!A||Hb1*,u:? rww HQK/H'I3'6'='?@' rww HQK/H'I3'9D'@'BC' rww HQK/H'I3'9D'@'BCMM277J +D#Es;@8U1X;?$A#BC!, ) 7 rww G45vuEF 6 MM277J #;r5sc( #   +CC+11!!!@   8 $  3#$$J\\V$$J\\UJJ  % %&8 9 #**2A..J z j ~c3'//S9w'3>>* % % ++j$ ' - -c 21 5C" -Cjj]]RZZ! **]]RZZ ! ZZ) * JJ@A66S=H/HA C6 !f!F  h Fh TM`"# rE