Ë
    æØjjb„  ã                  óP  — d dl mZ d dlZd dlZd dlZd dlmZmZ d dlmZ d dl	m	Z	 d dl
mZmZmZmZmZmZ d dlmZ dd	lmZmZmZ dd
lmZ ddlmZmZ ddlmZmZmZm Z  ddl!m"Z" erd dlm#Z#m$Z$ d dl%m&Z& d dl'm(Z( ddlm)Z)  ejT                  e+«      Z,g d¢Z-dFd„Z. ed«      Z/ ed«      Z0 G d„ de«      Z1 ede1¬«      Z2 ejf                  d«      Z4dGd„Z5dHd„Z6dId„Z7dJd„Z8dKd„Z9dLd „Z:	 	 	 	 	 	 	 	 dMd!„Z;	 	 	 	 	 	 	 	 	 	 dNd"„Z<	 	 	 	 	 	 	 	 	 	 dOd#„Z=	 	 	 	 	 	 	 	 	 	 dPd$„Z>	 	 	 	 	 	 	 	 dQd%„Z?	 	 	 	 	 	 	 	 dRd&„Z@	 	 	 	 	 	 	 	 dSd'„ZAdTd(„ZBdUd)„ZCdVd*„ZDdWd+„ZEdXd,„ZF G d-„ d.eG«      ZH G d/„ d0eH«      ZI G d1„ d2eH«      ZJ G d3„ d4eG«      ZK ed5d6¬7«       G d8„ d9«      «       ZL ed5d6¬7«       G d:„ d;«      «       ZM ed5d6¬7«       G d<„ d=«      «       ZN ed5d6¬7«       G d>„ d?«      «       ZO ed5d6¬7«       G d@„ dA«      «       ZP ed5d6¬7«       G dB„ dC«      «       ZQ ed5d6¬7«       G dD„ dE«      «       ZRy)Yé    )ÚannotationsN)ÚMappingÚSequence)Ú	dataclass)Údatetime)ÚTYPE_CHECKINGÚAnyÚCallableÚProtocolÚTypeVarÚcast)Úurlparseé   )ÚEnvironmentÚMarkerÚdefault_environment)ÚSpecifierSet)Úcreate_compatible_tags_selectorÚsys_tags)ÚNormalizedNameÚis_normalized_nameÚparse_sdist_filenameÚparse_wheel_filename)ÚVersion)Ú
CollectionÚIterator)ÚPath)ÚSelf)ÚTag)
ÚPackageÚPackageArchiveÚPackageDirectoryÚPackageSdistÚ
PackageVcsÚPackageWheelÚPylockÚPylockUnsupportedVersionErrorÚPylockValidationErrorÚis_valid_pylock_pathc                 ó   — t         S ©N)Ú__all__© ó    úR/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/packaging/pylock.pyÚ__dir__r0   6   s   € Ü€Nr.   Ú_TÚ_T2c                  ó   — e Zd Zedd„«       Zy)Ú_FromMappingProtocolc                 ó   — y r+   r-   ©ÚclsÚds     r/   Ú
_from_dictz_FromMappingProtocol._from_dict?   s   € Ø7:r.   N©r8   úMapping[str, Any]Úreturnr   )Ú__name__Ú
__module__Ú__qualname__Úclassmethodr9   r-   r.   r/   r4   r4   >   s   „ ØÚ:ó Ù:r.   r4   Ú_FromMappingProtocolT)Úboundz^pylock\.([^.]+)\.toml$c                ót   — | j                   dk(  xs( t        t        j                  | j                   «      «      S )z4Check if the given path is a valid pylock file path.zpylock.toml)ÚnameÚboolÚ_PYLOCK_FILE_NAME_REÚmatch©Úpaths    r/   r)   r)   I   s+   € à�9‰9˜Ñ%ÒT¬Ô.B×.HÑ.HÈÏÉÓ.SÓ)TÐTr.   c                ó&   — | j                  dd«      S )NÚ_ú-)Úreplace)Úkeys    r/   Ú	_toml_keyrO   N   s   € Ø�;‰;�s˜CÓ Ð r.   c                ó¸   — t        |t        t        t        f«      rt	        |«      S t        |t
        «      r| dk(  r|D �cg c]  }t	        |«      ‘Œ c}S |S c c}w )NÚenvironments)Ú
isinstancer   r   r   Ústrr   )rN   ÚvalueÚvs      r/   Ú_toml_valuerV   R   sM   € Ü�%œ'¤6¬<Ð8Ô9Ü�5‹zÐÜ�%œÔ" s¨nÒ'<Ø %Ö&˜1”�A•Ò&Ð&Ø€Lùò 's   Á Ac           	     ód   — | D ��ci c]  \  }}|�t        |«      t        ||«      “Œ c}}S c c}}w r+   )rO   rV   )ÚdatarN   rT   s      r/   Ú_toml_dict_factoryrY   Z   s>   € ð ÷áˆC�ØÐô 	�#‹œ C¨Ó/Ñ/óð ùó s   †",c                ó¨   — | j                  |«      x}€yt        ||«      s1t        dt        |«      j                  › d|j                  › d�|¬«      ‚|S )zBGet a value from the dictionary and verify it's the expected type.NúUnexpected type ú (expected ú)©Úcontext)ÚgetrR   r(   Útyper=   ©r8   Úexpected_typerN   rT   s       r/   Ú_getrd   b   sc   € à—‘�s“ÐˆÐ$ØÜ�e˜]Ô+Ü#Øœt E›{×3Ñ3Ð4ð 5Ø&×/Ñ/Ð0°ð3àô
ð 	
ð
 €Lr.   c                ó:   — t        | ||«      x}€t        |«      ‚|S )zKGet a required value from the dictionary and verify it's the expected type.)rd   Ú_PylockRequiredKeyErrorrb   s       r/   Ú_get_requiredrg   o   s&   € ä�a˜¨Ó,Ð,ˆÐ5Ü% cÓ*Ð*Ø€Lr.   c                óN  — t        | t        |«      x}€yt        |t        t        f«      r$t        dt        |«      j                  › d�|¬«      ‚t        |«      D ]H  \  }}t        ||«      rŒt        dt        |«      j                  › d|j                  › d�|› d|› d�¬«      ‚ |S )	zMGet a list value from the dictionary and verify it's the expected items type.Nr[   z (expected Sequence)r^   r\   r]   ú[ú])	rd   r   rR   rS   Úbytesr(   ra   r=   Ú	enumerate)r8   Úexpected_item_typerN   rT   ÚiÚitems         r/   Ú_get_sequencerp   v   sÃ   € ô �aœ 3Ó'Ð'ˆÐ0ØÜ�%œ#œu˜Ô&ä#Øœt E›{×3Ñ3Ð4Ð4HÐIØô
ð 	
ô ˜UÓ#ò ‰ˆˆ4Ü˜$Ð 2Õ3Ü'Ø"¤4¨£:×#6Ñ#6Ð"7ð 8Ø/×8Ñ8Ð9¸ð<à˜%˜q   1˜ôð ðð €Lr.   c                ór   — t        | ||«      x}€y	  ||«      S # t        $ r}t        ||¬«      |‚d}~ww xY w)z©Get a value from the dictionary, verify it's the expected type,
    and convert to the target type.

    This assumes the target_type constructor accepts the value.
    Nr^   )rd   Ú	Exceptionr(   )r8   rc   Útarget_typerN   rT   Úes         r/   Ú_get_asru   Œ   sJ   € ô �a˜¨Ó,Ð,ˆÐ5Øð;Ù˜5Ó!Ð!øÜò ;Ü# A¨sÔ3¸Ð:ûð;ús   ’ š	6£1±6c                ó<   — t        | |||«      x}€t        |«      ‚|S )zfGet a required value from the dict, verify it's the expected type,
    and convert to the target type.)ru   rf   )r8   rc   rs   rN   rT   s        r/   Ú_get_required_asrw   Ÿ   s*   € ô ˜˜M¨;¸Ó<Ð<ˆÐEÜ% cÓ*Ð*Ø€Lr.   c           	     óÊ   — t        | ||«      x}€yg }	 |D ]  } ||«      }|j                  |«       Œ 	 |S # t        $ r"}t        ||› dt	        |«      › d�¬«      |‚d}~ww xY w)z>Get list value from dictionary and verify expected items type.Nri   rj   r^   )rp   Úappendrr   r(   Úlen)	r8   rm   Útarget_item_typerN   rT   Úresultro   Ú
typed_itemrt   s	            r/   Ú_get_sequence_asr~   ¬   s‡   € ô ˜qÐ"4°cÓ:Ð:ˆÐCØØ€FðOØò 	&ˆDÙ)¨$Ó/ˆJØ�M‰M˜*Õ%ñ	&ð
 €Møô ò OÜ# A°#°°a¼¸F»°}ÀAÐ/FÔGÈQÐNûðOús   ” 7 ·	A"Á AÁA"c                óŒ   — t        | t        |«      x}€y	 |j                  |«      S # t        $ r}t	        ||¬«      |‚d}~ww xY w)zIGet a dictionary value from the dictionary and convert it to a dataclass.Nr^   )rd   r   r9   rr   r(   )r8   rs   rN   rT   rt   s        r/   Ú_get_objectr€   ¿   sP   € ô �aœ #Ó&Ð&ˆÐ/Øð;Ø×%Ñ% eÓ,Ð,øÜò ;Ü# A¨sÔ3¸Ð:ûð;ús   –' §	A°>¾Ac           	     óä   — t        | t        |«      x}€yg }	 |D ]$  }|j                  |«      }|j                  |«       Œ& 	 |S # t        $ r"}t        ||› dt        |«      › d�¬«      |‚d}~ww xY w)zJGet a list value from the dictionary and convert its items to a dataclass.Nri   rj   r^   )rp   r   r9   ry   rr   r(   rz   )r8   r{   rN   rT   r|   ro   r}   rt   s           r/   Ú_get_sequence_of_objectsr‚   Ë   sŒ   € ô ˜q¤'¨3Ó/Ð/ˆÐ8ØØ*,€FðOØò 	&ˆDØ)×4Ñ4°TÓ:ˆJØ�M‰M˜*Õ%ñ	&ð
 €Møô ò OÜ# A°#°°a¼¸F»°}ÀAÐ/FÔGÈQÐNûðOús   ˜)A Á	A/ÁA*Á*A/c                ó:   — t        | ||«      x}€t        |«      ‚|S )zWGet a required list value from the dictionary and convert its items to a
    dataclass.)r‚   rf   )r8   r{   rN   r|   s       r/   Ú!_get_required_sequence_of_objectsr„   Û   s)   € ô
 +¨1Ð.>ÀÓDÐDˆÐMÜ% cÓ*Ð*Ø€Mr.   c                óL   — t        | «      st        d| ›d�«      ‚t        | «      S )z+Validate that a string is a NormalizedName.zName z is not normalized)r   r(   r   )rD   s    r/   Ú_validate_normalized_namer†   å   s*   € ä˜dÔ#Ü# e¨D¨8Ð3EÐ$FÓGÐGÜ˜$ÓÐr.   c                ó$   — | s|st        d«      ‚y y )Nzpath or url must be provided)r(   )rI   Úurls     r/   Ú_validate_path_urlr‰   ì   s   € Ù™Ü#Ð$BÓCÐCð ˆ4r.   c                óp   — | sy d| v r| j                  dd«      d   S d| v r| j                  dd«      d   S | S )Nú/r   éÿÿÿÿú\)ÚrsplitrH   s    r/   Ú
_path_namer�   ñ   sI   € ÙØð ˆd�{Ø�{‰{˜3 Ó" 2Ñ&Ð&Ø	�‰Ø�{‰{˜4 Ó# BÑ'Ð'àˆr.   c                ó\   — | sy t        | «      j                  }|j                  dd«      d   S )Nr‹   r   rŒ   )r   rI   rŽ   )rˆ   Úurl_paths     r/   Ú	_url_namer’   þ   s-   € ÙØÜ˜‹}×!Ñ!€HØ�?‰?˜3 Ó" 2Ñ&Ð&r.   c                óv   — | st        d«      ‚t        d„ | j                  «       D «       «      st        d«      ‚| S )Nz"At least one hash must be providedc              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr+   )rR   rS   )Ú.0Úhash_vals     r/   ú	<genexpr>z#_validate_hashes.<locals>.<genexpr>  s   è ø€ ÒI¨XŒz˜(¤C×(ÑIùs   ‚zHash values must be strings)r(   ÚallÚvalues)Úhashess    r/   Ú_validate_hashesr›     s6   € ÙÜ#Ð$HÓIÐIÜÑI¸¿¹»ÔIÔIÜ#Ð$AÓBÐBØ€Mr.   c                  óJ   — e Zd ZU dZdZded<   ded<   ddœ	 	 	 	 	 d
d„Zdd	„Zy)r(   z2Raised when when input data is not spec-compliant.Nú
str | Noner_   rS   Úmessager^   c               óæ   — t        |t        «      rJ|j                  r%|r|› d|j                  › �n|j                  | _        n|| _        |j                  | _        y || _        t	        |«      | _        y )Nú.)rR   r(   r_   rž   rS   )ÚselfÚcauser_   s      r/   Ú__init__zPylockValidationError.__init__  s]   € ô �eÔ2Ô3Ø�}Š}á4;�w�i˜q §¡ Ñ0ÀÇÁð •ð  '�”Ø Ÿ=™=ˆD�Là"ˆDŒLÜ˜u›:ˆD�Lr.   c                óh   — | j                   r| j                  › d| j                   ›�S | j                  S )Nz in )r_   rž   ©r¡   s    r/   Ú__str__zPylockValidationError.__str__%  s-   € Ø�<Š<Ø—l‘l�^ 4¨¯©Ð'7Ð8Ð8Ø�|‰|Ðr.   )r¢   zstr | Exceptionr_   r�   r<   ÚNone©r<   rS   )r=   r>   r?   Ú__doc__r_   Ú__annotations__r£   r¦   r-   r.   r/   r(   r(     s?   … Ù<à€GˆZÓØƒLð #ñ	&àð&ð ð	&ð
 
ó&ô$r.   r(   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )rf   c                ó(   •— t         ‰| �  d|¬«       y )NzMissing required valuer^   )Úsuperr£   )r¡   rN   Ú	__class__s     €r/   r£   z _PylockRequiredKeyError.__init__,  s   ø€ Ü‰ÑÐ1¸3ÐÕ?r.   )rN   rS   r<   r§   )r=   r>   r?   r£   Ú__classcell__)r®   s   @r/   rf   rf   +  s   ø„ ÷@ñ @r.   rf   c                  ó   — e Zd ZdZy)r'   z7Raised when encountering an unsupported `lock_version`.N©r=   r>   r?   r©   r-   r.   r/   r'   r'   0  s   „ ÚAr.   r'   c                  ó   — e Zd ZdZy)ÚPylockSelectErrorz:Base exception for errors raised by :meth:`Pylock.select`.Nr±   r-   r.   r/   r³   r³   4  s   „ ÚDr.   r³   TF)ÚfrozenÚinitc                  óš   — e Zd ZU ded<   dZded<   dZded<   dZded<   ded<   dZded	<   ddddd
œ	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Ze	dd„«       Z
y)r$   rS   ra   Nr�   rˆ   rI   Úrequested_revisionÚ	commit_idÚsubdirectory)rˆ   rI   r·   r¹   c               ó  — t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       y )Nra   rˆ   rI   r·   r¸   r¹   ©ÚobjectÚ__setattr__)r¡   ra   rˆ   rI   r·   r¸   r¹   s          r/   r£   zPackageVcs.__init__A  sr   € ô 	×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4Ð!5Ð7IÔJÜ×Ñ˜4 ¨iÔ8Ü×Ñ˜4 °Õ>r.   c                ó  —  | t        |t        d«      t        |t        d«      t        |t        d«      t        |t        d«      t        |t        d«      t        |t        d«      ¬«      }t        |j                  |j
                  «       |S )Nra   rˆ   rI   zrequested-revisionz	commit-idr¹   )ra   rˆ   rI   r·   r¸   r¹   )rg   rS   rd   r‰   rI   rˆ   )r7   r8   Úpackage_vcss      r/   r9   zPackageVcs._from_dictS  sq   € áÜ˜q¤# vÓ.Ü�Qœ˜UÓ#Ü�aœ˜fÓ%Ü# A¤sÐ,@ÓAÜ# A¤s¨KÓ8Ü˜a¤ nÓ5ô
ˆô 	˜;×+Ñ+¨[¯_©_Ô=ØÐr.   )ra   rS   rˆ   r�   rI   r�   r·   r�   r¸   rS   r¹   r�   r<   r§   r:   )r=   r>   r?   rª   rˆ   rI   r·   r¹   r£   r@   r9   r-   r.   r/   r$   r$   8  s¢   … à
ƒIØ€CˆÓØ€Dˆ*ÓØ%)Ð˜
Ó)ØƒNØ#€L�*Ó#ð ØØ)-à#'ñ?ð ð?ð ð	?ð
 ð?ð 'ð?ð ð?ð !ð?ð 
ó?ð$ ò
ó ñ
r.   r$   c                  ód   — e Zd ZU ded<   dZded<   dZded<   dddœ	 	 	 	 	 	 	 dd	„Zedd
„«       Zy)r"   rS   rI   Núbool | NoneÚeditabler�   r¹   )rÂ   r¹   c               óŽ   — t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       y )NrI   rÂ   r¹   r»   )r¡   rI   rÂ   r¹   s       r/   r£   zPackageDirectory.__init__g  s:   € ô 	×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨XÔ6Ü×Ñ˜4 °Õ>r.   c           	     ór   —  | t        |t        d«      t        |t        d«      t        |t        d«      ¬«      S )NrI   rÂ   r¹   )rI   rÂ   r¹   )rg   rS   rd   rE   r6   s     r/   r9   zPackageDirectory._from_dicts  s3   € áÜ˜q¤# vÓ.Ü˜!œT :Ó.Ü˜a¤ nÓ5ô
ð 	
r.   )rI   rS   rÂ   rÁ   r¹   r�   r<   r§   r:   )	r=   r>   r?   rª   rÂ   r¹   r£   r@   r9   r-   r.   r/   r"   r"   a  sd   … à
ƒIØ €HˆkÓ Ø#€L�*Ó#ð !%Ø#'ñ
?ð ð
?ð ð	
?ð
 !ð
?ð 
ó
?ð ò
ó ñ
r.   r"   c                  ó    — e Zd ZU dZded<   dZded<   dZded<   dZded<   d	ed
<   dZded<   ddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	e
dd„«       Zy)r!   Nr�   rˆ   rI   ú
int | NoneÚsizeúdatetime | NoneÚupload_timeúMapping[str, str]rš   r¹   )rˆ   rI   rÇ   rÉ   r¹   c               ó  — t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       y )Nrˆ   rI   rÇ   rÉ   rš   r¹   r»   )r¡   rˆ   rI   rÇ   rÉ   rš   r¹   s          r/   r£   zPackageArchive.__init__…  sp   € ô 	×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4 °Ô<Ü×Ñ˜4 ¨6Ô2Ü×Ñ˜4 °Õ>r.   c                ó   —  | t        |t        d«      t        |t        d«      t        |t        d«      t        |t        d«      t	        |t
        t        d«      t        |t        d«      ¬«      }t        |j                  |j                  «       |S )Nrˆ   rI   rÇ   úupload-timerš   r¹   )rˆ   rI   rÇ   rÉ   rš   r¹   )
rd   rS   Úintr   rw   r   r›   r‰   rI   rˆ   )r7   r8   Úpackage_archives      r/   r9   zPackageArchive._from_dict—  su   € áÜ�Qœ˜UÓ#Ü�aœ˜fÓ%Ü�aœ˜fÓ%Ü˜Q¤¨-Ó8Ü# A¤wÔ0@À(ÓKÜ˜a¤ nÓ5ô
ˆô 	˜?×/Ñ/°×1DÑ1DÔEØÐr.   )rˆ   r�   rI   r�   rÇ   rÆ   rÉ   rÈ   rš   rÊ   r¹   r�   r<   r§   r:   )r=   r>   r?   rˆ   rª   rI   rÇ   rÉ   r¹   r£   r@   r9   r-   r.   r/   r!   r!   |  sª   … à€CˆÓØ€Dˆ*ÓØ€Dˆ*ÓØ#'€K�Ó'ØÓØ#€L�*Ó#ð
 ØØØ'+à#'ñ?ð ð?ð ð	?ð
 ð?ð %ð?ð "ð?ð !ð?ð 
ó?ð$ ò
ó ñ
r.   r!   c                  ó²   — e Zd ZU dZded<   dZded<   dZded<   dZded<   dZded	<   d
ed<   ddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	e
dd„«       Zedd„«       Zy)r#   Nr�   rD   rÈ   rÉ   rˆ   rI   rÆ   rÇ   rÊ   rš   ©rD   rÉ   rˆ   rI   rÇ   c               ó  — t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       y ©NrD   rÉ   rˆ   rI   rÇ   rš   r»   ©r¡   rD   rÉ   rˆ   rI   rÇ   rš   s          r/   r£   zPackageSdist.__init__®  óp   € ô 	×Ñ˜4 ¨Ô.Ü×Ñ˜4 °Ô<Ü×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨6Õ2r.   c                ó   —  | t        |t        d«      t        |t        d«      t        |t        d«      t        |t        d«      t        |t        d«      t	        |t
        t        d«      ¬«      }t        |j                  |j                  «       |S ©NrD   rÍ   rˆ   rI   rÇ   rš   )rD   rÉ   rˆ   rI   rÇ   rš   ©
rd   rS   r   rÎ   rw   r   r›   r‰   rI   rˆ   )r7   r8   Úpackage_sdists      r/   r9   zPackageSdist._from_dictÀ  óu   € áÜ�aœ˜fÓ%Ü˜Q¤¨-Ó8Ü�Qœ˜UÓ#Ü�aœ˜fÓ%Ü�aœ˜fÓ%Ü# A¤wÔ0@À(ÓKô
ˆô 	˜=×-Ñ-¨}×/@Ñ/@ÔAØÐr.   c                ó”   — | j                   xs, t        | j                  «      xs t        | j                  «      }|st        d«      ‚|S )zGet the filename of the sdist.zCannot determine sdist filename©rD   r�   rI   r’   rˆ   r(   ©r¡   Úfilenames     r/   rÞ   zPackageSdist.filenameÍ  ó=   € ð —9‘9ÒL¤
¨4¯9©9Ó 5ÒL¼À4Ç8Á8Ó9LˆÙÜ'Ð(IÓJÐJØˆr.   ©rD   r�   rÉ   rÈ   rˆ   r�   rI   r�   rÇ   rÆ   rš   rÊ   r<   r§   r:   r¨   ©r=   r>   r?   rD   rª   rÉ   rˆ   rI   rÇ   r£   r@   r9   ÚpropertyrÞ   r-   r.   r/   r#   r#   ¥  ó¾   … à€Dˆ*ÓØ#'€K�Ó'Ø€CˆÓØ€Dˆ*ÓØ€Dˆ*ÓØÓð
  Ø'+ØØØñ3ð ð3ð %ð	3ð
 ð3ð ð3ð ð3ð "ð3ð 
ó3ð$ ò
ó ð
ð òó ñr.   r#   c                  ó²   — e Zd ZU dZded<   dZded<   dZded<   dZded<   dZded	<   d
ed<   ddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z	e
dd„«       Zedd„«       Zy)r%   Nr�   rD   rÈ   rÉ   rˆ   rI   rÆ   rÇ   rÊ   rš   rÑ   c               ó  — t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       y rÓ   r»   rÔ   s          r/   r£   zPackageWheel.__init__ß  rÕ   r.   c                ó   —  | t        |t        d«      t        |t        d«      t        |t        d«      t        |t        d«      t        |t        d«      t	        |t
        t        d«      ¬«      }t        |j                  |j                  «       |S r×   rØ   )r7   r8   Úpackage_wheels      r/   r9   zPackageWheel._from_dictñ  rÚ   r.   c                ó”   — | j                   xs, t        | j                  «      xs t        | j                  «      }|st        d«      ‚|S )zGet the filename of the wheel.zCannot determine wheel filenamerÜ   rÝ   s     r/   rÞ   zPackageWheel.filenameþ  rß   r.   rà   r:   r¨   rá   r-   r.   r/   r%   r%   Ö  rã   r.   r%   c                  ó>  — e Zd ZU ded<   dZded<   dZded<   dZded	<   dZd
ed<   dZded<   dZ	ded<   dZ
ded<   dZded<   dZded<   dZded<   dZd
ed<   dZded<   dddddddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zed d„«       Zed!d„«       Zy)"r    r   rD   NúVersion | NoneÚversionúMarker | NoneÚmarkerúSpecifierSet | NoneÚrequires_pythonú"Sequence[Mapping[str, Any]] | NoneÚdependenciesúPackageVcs | NoneÚvcsúPackageDirectory | NoneÚ	directoryúPackageArchive | NoneÚarchiver�   ÚindexúPackageSdist | NoneÚsdistúSequence[PackageWheel] | NoneÚwheelsÚattestation_identitiesúMapping[str, Any] | NoneÚtool)rë   rí   rï   rñ   ró   rõ   r÷   rø   rú   rü   rý   rÿ   c               óZ  — t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d	|	«       t         j                  | d
|
«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       y )NrD   rë   rí   rï   rñ   ró   rõ   r÷   rø   rú   rü   rý   rÿ   r»   )r¡   rD   rë   rí   rï   rñ   ró   rõ   r÷   rø   rú   rü   rý   rÿ   s                 r/   r£   zPackage.__init__  sñ   € ô$ 	×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨GÔ4Ü×Ñ˜4 ¨6Ô2Ü×Ñ˜4Ð!2°OÔDÜ×Ñ˜4 °Ô>Ü×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨iÔ8Ü×Ñ˜4 ¨GÔ4Ü×Ñ˜4 ¨%Ô0Ü×Ñ˜4 ¨%Ô0Ü×Ñ˜4 ¨6Ô2Ü×Ñ˜4Ð!9Ð;QÔRÜ×Ñ˜4 ¨Õ.r.   c                ó   —  | t        |t        t        d«      t        |t        t        d«      t        |t        t
        d«      t        |t        d«      t        |t        t        d«      t        |t        d«      t        |t        d«      t        |t        d«      t        |t        d	«      t        |t        d
«      t        |t         d«      t        |t        d«      t        |t        d«      ¬«      }t#        |j$                  «      t'        |j(                  xs g «      z   }t#        |j*                  «      t#        |j,                  «      z   t#        |j.                  «      z   }|dkD  r|dkD  rt1        d«      ‚|dk(  r|dk7  rt1        d«      ‚t3        |j(                  xs g «      D ]ª  \  }}	 t5        |j6                  «      \  }}}	}	||j:                  k7  r+t1        d|j6                  ›d|j:                  ›�d|› d�¬«      ‚|j<                  sŒh||j<                  k7  sŒxt1        d|j6                  ›dt        |j<                  «      ›�d|› d�¬«      ‚ |j$                  r¸	 t?        |j$                  j6                  «      \  }}||j:                  k7  r1t1        d|j$                  j6                  ›d|j:                  ›�d
¬«      ‚|j<                  rI||j<                  k7  r:t1        d|j$                  j6                  ›dt        |j<                  «      ›�d
¬«      ‚	 t3        |j@                  xs g «      D ]  \  }}tC        |t        d«       Œ 	 |S # t8        $ r$}
t1        d|j6                  ›�d|› d�¬«      |
‚d }
~
ww xY w# t8        $ r*}
t1        d|j$                  j6                  ›�d
¬«      |
‚d }
~
ww xY w# t8        $ r}
t1        |
d› d�¬«      |
‚d }
~
ww xY w)NrD   rë   úrequires-pythonrñ   rí   ró   rõ   r÷   rø   rú   rü   zattestation-identitiesrÿ   )rD   rë   rï   rñ   rí   ró   rõ   r÷   rø   rú   rü   rý   rÿ   r   zFNone of vcs, directory, archive must be set if sdist or wheels are setr   zRExactly one of vcs, directory, archive must be set if sdist and wheels are not setzInvalid wheel filename zwheels[rj   r^   zName in z% is not consistent with package name zVersion in z( is not consistent with package version zInvalid sdist filename Úkindzattestation-identities[)"rw   rS   r†   ru   r   r   rp   r   r   r€   r$   r"   r!   rd   r#   r‚   r%   rE   rú   rz   rü   ró   rõ   r÷   r(   rl   r   rÞ   rr   rD   rë   r   rý   rg   )r7   r8   ÚpackageÚdistributionsÚdirect_urlsrn   ÚwheelrD   rë   rK   rt   Úattestation_identitys               r/   r9   zPackage._from_dict7  sÉ  € áÜ! !¤SÔ*CÀVÓLÜ˜Aœs¤G¨YÓ7Ü# A¤s¬LÐ:KÓLÜ& q¬'°>ÓBÜ˜1œc¤6¨8Ó4Ü˜Aœz¨5Ó1Ü! !Ô%5°{ÓCÜ ¤>°9Ó=Ü�qœ#˜wÓ'Ü˜a¤¨wÓ7Ü+¨A¬|¸XÓFÜ#0°´GÐ=UÓ#VÜ�aœ &Ó)ô
ˆô ˜WŸ]™]Ó+¬c°'·.±.Ò2FÀBÓ.GÑGˆä�—‘Ó¤ W×%6Ñ%6Ó 7Ñ7¼$¸w¿¹Ó:OÑOð 	ð ˜1Ò ¨q¢Ü'ØXóð ð ˜AÒ +°Ò"2Ü'ð2óð ô " '§.¡.Ò"6°BÓ7ò 	‰HˆAˆuðÜ(<¸U¿^¹^Ó(LÑ%��w  1ð �w—|‘|Ò#Ü+Ø˜uŸ~™~Ð0ð 1$Ø$+§L¡LÐ#3ð5à% a S¨˜Nôð ð
 �‹ 7¨g¯o©oÓ#=Ü+Ø! %§.¡.Ð!3ð 4'Ü'*¨7¯?©?Ó';Ð&>ð@à% a S¨˜Nôð ð	ð( �=Š=ðÜ 4°W·]±]×5KÑ5KÓ L‘��gð �w—|‘|Ò#Ü+Ø˜wŸ}™}×5Ñ5Ð8ð 9$Ø$+§L¡LÐ#3ð5à#ôð ð
 �Š 7¨g¯o©oÒ#=Ü+Ø! '§-¡-×"8Ñ"8Ð!;ð <'Ü'*¨7¯?©?Ó';Ð&>ð@à#ôð ð
	Ü+4Ø×.Ñ.Ò4°"ó,ò AÑ'�Ð'ô Ð2´C¸Õ@ñAð ˆøô] ò Ü+Ø-¨e¯n©nÐ-?Ð@Ø% a S¨˜Nôð ðûðûô( ò Ü+Ø-¨g¯m©m×.DÑ.DÐ-GÐHØ#ôð ðûðûô, ò 	Ü'ØÐ4°Q°C°qÐ9ôàðûð	úsH   Æ'MÉ"M7 Ì2N- Í	M4ÍM/Í/M4Í7	N*Î %N%Î%N*Î-	OÎ6OÏOc                ó8   — | j                   xs | j                   S r+   )rú   rü   r¥   s    r/   Ú	is_directzPackage.is_directˆ  s   € à—J‘JÒ- $§+¡+Ð.Ð.r.   )rD   r   rë   rê   rí   rì   rï   rî   rñ   rð   ró   rò   rõ   rô   r÷   rö   rø   r�   rú   rù   rü   rû   rý   rð   rÿ   rþ   r<   r§   r:   )r<   rE   )r=   r>   r?   rª   rë   rí   rï   rñ   ró   rõ   r÷   rø   rú   rü   rý   rÿ   r£   r@   r9   râ   r
  r-   r.   r/   r    r      sn  … à
ÓØ"€Gˆ^Ó"Ø €FˆMÓ Ø+/€OÐ(Ó/Ø7;€LÐ4Ó;Ø!€CÐ	Ó!Ø)-€IÐ&Ó-Ø%)€GÐ"Ó)Ø€Eˆ:ÓØ!%€EÐÓ%Ø,0€FÐ)Ó0ØAEÐÐ>ÓEØ%)€DÐ
"Ó)ð #'Ø $Ø/3Ø;?Ø!%Ø-1Ø)-Ø Ø%)Ø04ØEIØ)-ñ/ð ð/ð  ð	/ð
 ð/ð -ð/ð 9ð/ð ð/ð +ð/ð 'ð/ð ð/ð #ð/ð .ð/ð !Cð/ð 'ð/ð  
ó!/ð@ òNó ðNð` ò/ó ñ/r.   r    c                  ó  — e Zd ZU dZded<   dZded<   dZded<   dZd	ed
<   dZded<   dZ	ded<   ded<   ded<   dZ
ded<   dddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zedd„«       Zedd„«       Zdd„Zdd„Zdddddœ	 	 	 	 	 	 	 	 	 d d„Zy)!r&   z#A class representing a pylock file.r   Úlock_versionNúSequence[Marker] | NonerQ   rî   rï   úSequence[NormalizedName] | NoneÚextrasúSequence[str] | NoneÚdependency_groupsÚdefault_groupsrS   Ú
created_byúSequence[Package]Úpackagesrþ   rÿ   )rQ   rï   r  r  r  rÿ   c       	        ó¢  — t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d	|	«       y )
Nr  rQ   rï   r  r  r  r  r  rÿ   r»   )
r¡   r  rQ   rï   r  r  r  r  r  rÿ   s
             r/   r£   zPylock.__init__›  sª   € ô 	×Ñ˜4 °Ô>Ü×Ñ˜4 °Ô>Ü×Ñ˜4Ð!2°OÔDÜ×Ñ˜4 ¨6Ô2Ü×Ñ˜4Ð!4Ð6GÔHÜ×Ñ˜4Ð!1°>ÔBÜ×Ñ˜4 ¨zÔ:Ü×Ñ˜4 ¨XÔ6Ü×Ñ˜4 ¨Õ.r.   c                óR  —  | t        |t        t        d«      t        |t        t        d«      t        |t        t
        d«      t        |t        d«      t        |t        d«      t        |t        d«      t        |t        t        d«      t        |t        d«      t        |t        d	«      ¬
«	      }t        d«      |j                  cxk  rt        d«      k  sn t        d|j                  › d�«      ‚|j                  t        d«      kD  r t         j#                  d|j                  «       |S )Nzlock-versionrQ   r  zdependency-groupszdefault-groupsz
created-byr  r  rÿ   )	r  rQ   r  r  r  r  rï   r  rÿ   Ú1Ú2zpylock version z is not supportedz1.0z(pylock minor version %s is not supported)rw   rS   r   r~   r   r†   rp   rg   ru   r   r„   r    rd   r   r  r'   Ú_loggerÚwarning)r7   r8   Úpylocks      r/   r9   zPylock._from_dict³  sô   € áÜ)¨!¬S´'¸>ÓJÜ)¨!¬S´&¸.ÓIÜ# A¤sÔ,EÀxÓPÜ+¨A¬sÐ4GÓHÜ(¨¬CÐ1AÓBÜ$ Q¬¨\Ó:Ü# A¤s¬LÐ:KÓLÜ6°q¼'À:ÓNÜ�aœ &Ó)ô

ˆô �s‹|˜v×2Ñ2ÔA´W¸S³\ÔAÜ/Ø! &×"5Ñ"5Ð!6Ð6GÐHóð ð ×Ñ¤¨£Ò/Ü�O‰OØ:¸F×<OÑ<Oôð ˆr.   c               ó$   — | j                  |«      S )z¦Create and validate a Pylock instance from a TOML dictionary.

        Raises :class:`PylockValidationError` if the input data is not
        spec-compliant.
        )r9   r6   s     r/   Ú	from_dictzPylock.from_dictÊ  s   € ð �~‰~˜aÓ Ð r.   c                ó8   — t        j                  | t        ¬«      S )z1Convert the Pylock instance to a TOML dictionary.)Údict_factory)ÚdataclassesÚasdictrY   r¥   s    r/   Úto_dictzPylock.to_dictÓ  s   € ä×!Ñ! $Ô5GÔHÐHr.   c                óB   — | j                  | j                  «       «       y)zqValidate the Pylock instance against the specification.

        Raises :class:`PylockValidationError` otherwise.N)r  r#  r¥   s    r/   ÚvalidatezPylock.validate×  s   € ð 	�‰�t—|‘|“~Õ&r.   )ÚenvironmentÚtagsr  r  c             #  ó   K  — t        |xs
 t        «       «      }t        dt        |xs i t	        |xs g «      t	        |€| j
                  xs g n|«      ¬«      «      }|r|d   nt        «       d   }| j                  r?| j                  j                  |«      s$t        d|›dt        | j                  «      ›�«      ‚| j                  r?| j                  D ]%  }|j                  t        d|xs i «      d¬	«      sŒ% n t        d
«      ‚i }	t        | j                  «      D ]Ù  \  }
}|j                  r|j                  j                  |d¬	«      sŒ0|j                  rP|j                  j                  |«      s5t        d|›dt        |j                  «      ›d|j                   ›d|
› d�	«      ‚|j                   |	v r/t        d|j                   ›d|
› d|	|j                      d   › d�«      ‚|
|f|	|j                   <   ŒÛ |	j#                  «       D ]ï  \  }
}|j$                  �||j$                  f–— Œ#|j&                  �||j&                  f–— Œ@|j(                  �||j(                  f–— Œ]|j*                  ret-         |d„ |j*                  D «       «      d«      }|r||f–— Œ•|j.                  �||j.                  f–— Œ²t        d|j                   ›d|
› d�«      ‚|j.                  �||j.                  f–— Œët0        ‚ y­w)a�  Select what to install from the lock file.

        The *environment* and *tags* parameters represent the environment being
        selected for. If unspecified, ``packaging.markers.default_environment()`` and
        ``packaging.tags.sys_tags()`` are used.

        The *extras* parameter represents the extras to install.

        The *dependency_groups* parameter represents the groups to install. If
        unspecified, the default groups are used.

        This method must be used on valid Pylock instances (i.e. one obtained
        from :meth:`Pylock.from_dict` or if constructed manually, after calling
        :meth:`Pylock.validate`).
        zdict[str, str | frozenset[str]]N)r  r  Úpython_full_versionzpython_full_version zI in provided environment does not satisfy the Python version requirement zdict[str, str]Úrequirementr^   zXProvided environment does not satisfy any of the environments specified in the lock fileÚ	lock_filez for package z at packages[rj   z Multiple packages with the name z are selected at packages[z] and packages[r   c              3  óP   K  — | ]  }|t        |j                  «      d    f–— Œ  y­w)rŒ   N)r   rÞ   )r•   r  s     r/   r—   z Pylock.select.<locals>.<genexpr>p  s,   è ø€ ò -à!ð Ô 4°U·^±^Ó DÀRÑ HÔIñ-ùs   ‚$&z6No wheel found matching the provided tags for package z'], and no sdist available as a fallback)r   r   r   ÚdictÚ	frozensetr  r   rï   Úcontainsr³   rS   rQ   Úevaluaterl   r  rí   rD   r™   ró   rõ   r÷   rü   Únextrú   ÚNotImplementedError)r¡   r&  r'  r  r  Úcompatible_tags_selectorÚenvÚenv_python_full_versionÚ
env_markerÚselected_packages_by_nameÚpackage_indexr  Ú
best_wheels                r/   ÚselectzPylock.selectÝ  s‚  è ø€ ô@ $CÀ4ÒCUÌ8Ë:Ó#VÐ ô Ø-ÜØÒ!˜rÜ  ¢¨2Ó.Ü"+à(Ð0ð ×(Ñ(Ò.©Bà*ó#ôó
ˆñ ð Ð-Ò.ä$Ó&Ð'<Ñ=ð 	 ð ×Ò¨×(<Ñ(<×(EÑ(EØ#ô)
ô $Ø&Ð'>Ð&Að Bä" 4×#7Ñ#7Ó8Ð;ð=óð ð ×ÒØ"×/Ñ/ò 	�
Ø×&Ñ&ÜÐ)¨;Ò+<¸"Ó=À}ð 'õ ñ ð		ô (ð>óð ð EGÐ!Ü&/°·±Ó&>ò !	OÑ"ˆM˜7ð �~Š~ g§n¡n×&=Ñ&=¸cÈ;Ð&=Ô&WØð ×&Ò&¨w×/FÑ/F×/OÑ/OØ'ô0ô (Ø*Ð+BÐ*Eð F#ä#& w×'>Ñ'>Ó#?Ð"BÀ-Ø—|‘|Ð& m°M°?À!ðEóð ð �|‰|Ð8Ñ8Ü'Ø6°w·|±|Ð6Fð G,Ø,9¨?ð ; Ø 9¸'¿,¹,Ñ GÈÑ JÐKÈ1ðNóð ð 8EÀgÐ6NÐ% g§l¡lÒ3ðC!	OðH '@×&FÑ&FÓ&Hò -	*Ñ"ˆM˜7à�{‰{Ð&Ø˜wŸ{™{Ð*Ó*ð ×"Ñ"Ð.Ø˜w×0Ñ0Ð0Ó0ð —‘Ð,Ø˜wŸ™Ð.Ó.ð —’ô
 "Ù,ñ -à%,§^¡^ô-ó ð ó�
ñ Ø! :Ð-Ó-Ø—]‘]Ð.Ø! 7§=¡=Ð0Ó0ä+ð'Ø'.§|¡|Ð&6ð 7'Ø'4 oð 6?ð@óð ð —‘Ð*Ø˜wŸ}™}Ð,Ó,ô *Ð)ñ[-	*ùs   ‚C7K>Ã:HK>)r  r   rQ   r  rï   rî   r  r  r  r  r  r  r  rS   r  r  rÿ   rþ   r<   r§   r:   )r<   r;   )r<   r§   )
r&  zEnvironment | Noner'  zSequence[Tag] | Noner  úCollection[str] | Noner  r;  r<   zfIterator[tuple[Package, PackageVcs | PackageDirectory | PackageArchive | PackageWheel | PackageSdist]])r=   r>   r?   r©   rª   rQ   rï   r  r  r  rÿ   r£   r@   r9   r  r#  r%  r:  r-   r.   r/   r&   r&   �  sV  … á-àÓØ,0€LÐ)Ó0Ø+/€OÐ(Ó/Ø.2€FÐ+Ó2Ø.2ÐÐ+Ó2Ø+/€NÐ(Ó/ØƒOØÓØ%)€DÐ
"Ó)ð 15Ø/3Ø26Ø26Ø/3ð *.ñ/ð ð/ð .ð	/ð
 -ð/ð 0ð/ð 0ð/ð -ð/ð ð/ð $ð/ð 'ð/ð 
ó/ð0 òó ðð, ò!ó ð!óIó'ð +/Ø%)Ø)-Ø48ñl*ð (ðl*ð #ð	l*ð
 'ðl*ð 2ðl*ð	
ôl*r.   r&   )r<   z	list[str])rI   r   r<   rE   )rN   rS   r<   rS   )rN   rS   rT   r	   r<   r	   )rX   zlist[tuple[str, Any]]r<   zdict[str, Any])r8   r;   rc   útype[_T]rN   rS   r<   z	_T | None)r8   r;   rc   r<  rN   rS   r<   r1   )r8   r;   rm   r<  rN   rS   r<   zSequence[_T] | None)
r8   r;   rc   r<  rs   úCallable[[_T], _T2]rN   rS   r<   z
_T2 | None)
r8   r;   rc   r<  rs   r=  rN   rS   r<   r2   )
r8   r;   rm   r<  r{   r=  rN   rS   r<   zlist[_T2] | None)r8   r;   rs   útype[_FromMappingProtocolT]rN   rS   r<   z_FromMappingProtocolT | None)r8   r;   r{   r>  rN   rS   r<   z"list[_FromMappingProtocolT] | None)r8   r;   r{   r>  rN   rS   r<   zSequence[_FromMappingProtocolT])rD   rS   r<   r   )rI   r�   rˆ   r�   r<   r§   )rI   r�   r<   r�   )rˆ   r�   r<   r�   )rš   r;   r<   r;   )SÚ
__future__r   r!  ÚloggingÚreÚcollections.abcr   r   r   r   Útypingr   r	   r
   r   r   r   Úurllib.parser   Úmarkersr   r   r   Ú
specifiersr   r'  r   r   Úutilsr   r   r   r   rë   r   r   r   Úpathlibr   Útyping_extensionsr   r   Ú	getLoggerr=   r  r,   r0   r1   r2   r4   rA   ÚcompilerF   r)   rO   rV   rY   rd   rg   rp   ru   rw   r~   r€   r‚   r„   r†   r‰   r�   r’   r›   rr   r(   rf   r'   r³   r$   r"   r!   r#   r%   r    r&   r-   r.   r/   ú<module>rL     s?  ðÝ "ã Û Û 	ß -Ý !Ý ÷÷ õ "ç =Ñ =Ý $ß ;÷ó õ áß4Ýå&åà
ˆ'×
Ñ
˜HÓ
%€ò€óñ ˆTƒ]€Ùˆeƒn€ô;˜8ô ;ñ
  Ð 7Ð?SÔTÐ ð "�r—z‘zÐ"<Ó=Ð óUó
!óóó
óðØðØ.6ðØ=@ðàóð,;Øð;àð;ð %ð;ð 
ð	;ð
 ó;ð&
Øð
àð
ð %ð
ð 
ð	
ð
 	ó
ðØðà ðð *ðð 
ð	ð
 óð&	;Øð	;Ø'Bð	;ØILð	;à!ó	;ðØðØ,GðØNQðà'óð ØðØ,GðØNQðà$óó óDó

ó'óô˜Iô ô<@Ð3ô @ô
BÐ$9ô BôE˜	ô Eñ �$˜UÔ#÷%ð %ó $ð%ñP �$˜UÔ#÷
ð 
ó $ð
ñ4 �$˜UÔ#÷%ð %ó $ð%ñP �$˜UÔ#÷-ð -ó $ð-ñ` �$˜UÔ#÷-ð -ó $ð-ñ` �$˜UÔ#÷B/ð B/ó $ðB/ñJ �$˜UÔ#÷{*ð {*ó $ñ{*r.   