Ë K2™6Éãó—ddlmZddlZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ddl mZ dd lmZej&d ej(«ZGd „d e «Zdd „Zd„Zd„Zd„Zy#e$r dd lmZYŒCwxYw)é)Ú annotationsN)Úiglobé)Ú bdist_wheel)Ú WheelFileé)Ú WheelError)Ú Distributionz] (?P.+?)-(?P.+?) (-(?Ppy\d\.\d+) (-(?P.+?))? )?.egg$có—eZdZdZdZd„Zy)Ú_bdist_wheel_tagFNcót—|jr|j� |jStj|«S)N)Úfull_tag_suppliedÚfull_tagrÚget_tag)Úselfs ú6/usr/lib/python3.12/site-packages/wheel/cli/convert.pyrz_bdist_wheel_tag.get_tag&s/€Ø × !Ò ! d§m¡mÐ&?Ø—=‘=Ð ä×&Ñ& tÓ,Ð ,ó)Ú__name__Ú __module__Ú __qualname__rrr©rrr r s„ð ÐØ€Hó-rr có(—tjj|«}tj |«}|st d|›�«‚|j «}tjd¬«}tjj|«r0tj|«5}|j|«ddd«n¤tj|«D]Œ}tjj||«}tjj|«rtj ||«ŒYtj"|tjj||««ŒŽ|d} | r| j%dd«x} |d<|dxsdj%dd «j%d d «} | dk7rd | d dznd } |ddu} | rt't)««} nt+t)««} | | _| | _d| _|dxsd| _| sd| _| | | f| _tjj|dj8di|¤Ž«}| j;tjj|d«|«| j=|d¬«dj8| | fi|¤Ž}t?tjj||«d«5}|jA|«ddd«tjB|«y#1swY�Œ§xYw#1swYŒ,xYw)NzInvalid egg file name: Ú_e2w©ÚsuffixÚpyverÚ.ÚÚarchÚanyÚ_Ú-ÚcprÚnoneTz{name}-{ver}.dist-infozEGG-INFOÚ egg2wheel©Ú generatorz{name}-{ver}-{pyver}-{}-{}.whlÚwr)"ÚosÚpathÚbasenameÚ egg_info_reÚmatchr Ú groupdictÚtempfileÚmkdtempÚisfileÚzipfileÚZipFileÚ extractallÚlistdirÚjoinÚshutilÚcopy2ÚcopytreeÚreplacerr r Ú root_is_pureÚ python_tagÚplat_name_suppliedÚ plat_namerrÚformatÚegg2distÚwrite_wheelfilerÚ write_filesÚrmtree)Úegg_pathÚdest_dirÚfilenamer-Úegg_infoÚdirÚeggÚpthÚsrcrrÚabiÚroot_is_purelibÚbwÚ dist_info_dirÚ wheel_nameÚwfs rr%r%-s‚€Ü�w‰w×Ñ Ó)€HÜ × Ñ ˜hÓ '€EÙ ÜÐ2°8°*Ð=Ó>Ð>à�‰Ó €HÜ × Ñ  &Ô )€CÜ ‡w�w‡~�~�hÔä �_‰_˜XÔ &¨#Ø �N‰N˜3Ô ÷'Ð &ô—:‘:˜hÖ'ˆCÜ—'‘'—,‘,˜x¨Ó-ˆCÜ�w‰w�~‰~˜cÔ"Ü— ‘ ˜S #Õ&ä—‘ ¤R§W¡W§\¡\°#°sÓ%;Õ<ð (ð �WÑ €EÙ Ø$)§M¡M°#°rÓ$:Ð:ˆ�˜Ñ!à �VÑ Ò % × .Ñ .¨s°CÓ 8× @Ñ @ÀÀcÓ J€Dð# ešmˆ$��q�r�Ò °€Cà˜vÑ&¨$Ð.€OÙÜ œ›Ó (‰ä œl›nÓ -ˆà%€B„OØ€B„MØ €BÔØ˜FÑ#Ò, u€B„LÙ Ø#ˆÔؘc 4Ð(ˆŒ ä—G‘G—L‘L Ð&EÐ&>×&EÑ&EÑ&QÈÑ&QÓR€M؇K�K”—‘— ‘ ˜S *Ó-¨}Ô=Ø×Ñ�}° ÐÔ<Ø8Ð1×8Ñ8¸¸dÑOÀhÑO€JÜ ”2—7‘7—<‘< ¨*Ó5°sÔ ;¸rØ �‰�sÔ÷ <ô ‡M�M�#Õ÷S'Ñ &ú÷L <Ð ;úsÂK;Ë LË;LÌLcóÌ—d}|r&tj|«}|std|›d�«‚|jd«\}}}|std|›d�«‚|dd}|j d«\}}}|r&|j d«r|}|j dd «}nd }|j d«\}}} |std|›d�«‚|r"|jd «}|jd «}||| |d œS)atExtract metadata from filenames. Extracts the 4 metadataitems needed (name, version, pyversion, arch) from the installer filename and the name of the egg-info directory embedded in the zipfile (if any). The egginfo filename has the format:: name-ver(-pyver)(-arch).egg-info The installer filename has the format:: name-ver.arch(-pyver).exe Some things to note: 1. The installer filename is not definitive. An installer can be renamed and work perfectly well as an installer. So more reliable data should be used whenever possible. 2. The egg-info data should be preferred for the name and version, because these come straight from the distutils metadata, and are mandatory. 3. The pyver from the egg-info data should be ignored, as it is constructed from the version of Python used to build the installer, which is irrelevant - the installer filename is correct here (even to the point that when it's not there, any version is implied). 4. The architecture must be taken from the installer filename, as it is not included in the egg-info data. 5. Architecture-neutral installers still have an architecture because the installer format itself (being executable) is architecture-specific. We should therefore ignore the architecture if the content is pure-python. NzEgg info filename z is not validr"zInstaller filename éüÿÿÿÚpyrrzpy2.py3ÚnameÚver)rUrVrr)r,ÚsearchÚ ValueErrorÚ partitionÚ rpartitionÚ startswithr:Úgroup) Ú wininfo_nameÚ egginfo_nameÚegginfoÚw_nameÚsepÚrestÚrest2Úw_pyverÚw_verÚw_archs rÚparse_wininst_inforgcs€ðB€GÙÜ×$Ñ$ \Ó2ˆÙÜÐ1°,°¸}ÐMÓNÐ Nð%×.Ñ.¨sÓ3Ñ€FˆC�Ù ÜÐ.¨|¨n¸MÐJÓKÐKð ��ˆ9€DàŸ/™/¨#Ó.Ñ€Eˆ3�Ù ˆw×!Ñ! $Ô'؈ؗ/‘/ # rÓ*‰ðˆàŸ™¨Ó-Ñ€Eˆ3�Ù ÜÐ.¨|¨n¸MÐJÓKÐKáØ—‘˜vÓ&ˆØ— ‘ ˜eÓ$ˆà 5°&À7Ñ KÐKrcóÖ—tj|«5}d}|j«D] }d|vsŒ|}nttj j |«|«}d}|j«D]!}|jjd«sŒd}n|rddi}nddi}djdi|¤Ž} d | z} g} d}|j«D]Ó}|jjd d «\} } | j«} |j| d«}|€| | j«zd z}|j}|| z}||_|j|=||j|<|r| j|«|rŒ¦|j!d«r|}Œºd |vsŒ¿|j#d «\}}}ŒÕt%j&d ¬«}|j)|| «ddd«d}d}|dxsdj+dd«j+dd«}rd}|dk7r|j+dd«}dj- |||f«}|rt/t1««}nt3t1««}||_||_d|_|dxsd|_|sd|_|||f|_tj j-d| z«}|jAtj j-|«|«|jC|d¬«tj j-||«}tE|d«5}|jG|«ddd«tIjJ|«y#1swY�Œ‹xYw#1swYŒ,xYw)Nz .egg-infoTÚPLATLIBFÚpurelibrÚplatlibz {name}-{ver}z%s.data/Ú/rz .egg-info/Ú_b2wrr$rrr rr!r"rTr#z %s.dist-infoÚ wininst2wheelr&r(r)&r2r3Únamelistrgr)r*r+ÚinfolistrFr[r?ÚsplitÚlowerÚgetÚ NameToInfoÚappendÚendswithrZr/r0r4r:r6rr r r;r<r=r>rrr@rArrBr7rC)r*rEÚbdwr^rFÚinforMÚzipinfoÚpathsÚ dist_infoÚdatadirÚmembersÚkeyr+ÚbasepathÚoldnameÚnewnamerar!rHrLrrrPrNrOÚ wheel_pathrQs rrnrnªs1€Ü �‰˜Ô  #àˆ ØŸ ™ žˆHؘhÒ&Ø'� Ùð'ô "¤"§'¡'×"2Ñ"2°4Ó"8¸,ÓGˆàˆØ—|‘|–~ˆGØ×Ñ×*Ñ*¨9Õ5Ø"'�Ùð&ñ Ø �O‰Eà �OˆEà)�N×)Ñ)Ñ1¨DÑ1ˆ ؘyÑ(ˆðˆØˆ Ø—|‘|–~ˆGØ#×,Ñ,×2Ñ2°3¸Ó:‰MˆC�Ø—)‘)“+ˆCØ—y‘y  dÓ+ˆHØÐØ" S§Y¡Y£[Ñ0°3Ñ6�Ø×&Ñ&ˆGØ Ñ)ˆGØ&ˆGÔ Ø—‘˜wÐ'Ø&-ˆC�N‰N˜7Ñ #áØ—‘˜wÔ'âØ×#Ñ# KÔ0Ø#*‘LØ! WÒ,Ø+2×+=Ñ+=¸cÓ+BÑ(�L #¡qð'&ô(×Ñ fÔ-ˆØ �‰�s˜GÔ$÷a ðf €CØ �‰M€EØ �‰LÒ !˜E× *Ñ *¨3°Ó 4× <Ñ <¸SÀ#Ó F€Dñ؈ð ˆu‚}Ø— ‘ ˜d DÓ)ˆØ—‘˜9 e¨S°$Ð7Ó8€JÙÜ œ›Ó (‰ä œl›nÓ -ˆà%€B„OØ€B„MØ €BÔØ˜‘<Ò( 5€B„Lá Ø#ˆÔؘc 4Ð(ˆŒ ä—G‘G—L‘L  n°yÑ&@ÓA€M؇K�K”—‘— ‘ ˜S ,Ó/°Ô?Ø×Ñ�}°ÐÔ@ä—‘—‘˜h¨ Ó3€JÜ �:˜sÔ # rØ �‰�sÔ÷ $ô ‡M�M�#Õ÷m Ñ ú÷f $Ð #ús0–M±AMÂC MÅ1MÆ ?MÌ"MÍMÍM(cóè—|D]m}t|«D]]}tjj|«ddk(rt}nt }|rt |›d�d¬«|||«|sŒSt d«Œ_Œoy)Nrz.eggz... T)ÚflushÚOK)rr)r*Úsplitextr%rnÚprint)ÚfilesrEÚverboseÚpatÚ installerÚconvs rÚconvertr�sh€ÛˆÜ˜sžˆIÜ�w‰w×Ñ  Ó*¨1Ñ-°Ò7Ü ‘ä$�áܘ˜  4Ð(°Õ5á �˜HÔ %ÚÜ�d• ñ$ñr)rDÚstrrErŽÚreturnÚNone)Ú __future__rÚos.pathr)Úrer7r/r2ÚglobrrÚ wheelfilerrr Ú setuptoolsr Ú ImportErrorÚdistutils.distÚcompileÚVERBOSEr,r r%rgrnr�rrrÚr›s†ðÝ"ãÛ Û ÛÛÝå%Ý!Ýð,Ý'ðˆb�j‰jðð ‡J�Jó € ô -�{ô -ó 3òlDLòNWót øðiò,ß+ð,ús´A0Á0 A>Á=A>