ó
    T=Œjb„  ã                  óP  • S SK Jr  S SKrS SKrS SKrS SKJrJr  S SKJr  S SK	J	r	  S SK
JrJrJrJrJrJr  S SKJr  SS	KJrJrJr  SS
KJr  SSKJrJr  SSKJrJrJrJ r   SSK!J"r"  \(       a  S SKJ#r#J$r$  S SK%J&r&  S SK'J(r(  SSKJ)r)  \RT                  " \+5      r,/ SQr-SFS jr.\" S5      r/\" S5      r0 " S S\5      r1\" S\1S9r2\Rf                  " S5      r4SGS jr5SHS jr6SIS jr7SJS jr8SKS jr9SLS  jr:        SMS! jr;          SNS" jr<          SOS# jr=          SPS$ jr>        SQS% jr?        SRS& jr@        SSS' jrASTS( jrBSUS) jrCSVS* jrDSWS+ jrESXS, jrF " S- S.\G5      rH " S/ S0\H5      rI " S1 S2\H5      rJ " S3 S4\G5      rK\" S5S6S79 " S8 S95      5       rL\" S5S6S79 " S: S;5      5       rM\" S5S6S79 " S< S=5      5       rN\" S5S6S79 " S> S?5      5       rO\" S5S6S79 " S@ SA5      5       rP\" S5S6S79 " SB SC5      5       rQ\" S5S6S79 " SD SE5      5       rRg)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                 ó   • [         $ ©N)Ú__all__© ó    Ú`/Users/stevendouglas/BidBrain/.venv/lib/python3.13/site-packages/pip/_vendor/packaging/pylock.pyÚ__dir__r0   6   s   € Ü€Nr.   Ú_TÚ_T2c                  ó(   • \ rS rSr\SS j5       rSrg)Ú_FromMappingProtocolé>   c                ó   • g r+   r-   ©ÚclsÚds     r/   Ú
_from_dictÚ_FromMappingProtocol._from_dict?   s   € Ø7:r.   r-   N©r9   úMapping[str, Any]Úreturnr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úclassmethodr:   Ú__static_attributes__r-   r.   r/   r4   r4   >   s   † ØÛ:ó Û:r.   r4   Ú_FromMappingProtocolT)Úboundz^pylock\.([^.]+)\.toml$c                ó~   • U R                   S:H  =(       d(    [        [        R                  U R                   5      5      $ )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                ó&   • U R                  SS5      $ )NÚ_Ú-)Úreplace)Úkeys    r/   Ú	_toml_keyrS   N   s   € Ø�;‰;�s˜CÓ Ð r.   c                óÔ   • [        U[        [        [        45      (       a  [	        U5      $ [        U[
        5      (       a"  U S:X  a  U Vs/ s H  n[	        U5      PM     sn$ U$ s  snf )NÚenvironments)Ú
isinstancer   r   r   Ústrr   )rR   ÚvalueÚvs      r/   Ú_toml_valuerZ   R   sW   € Ü�%œ'¤6¬<Ð8×9Ñ9Ü�5‹zÐÜ�%œ×"Ñ" s¨nÓ'<Ù %Ó&¢˜1”�A–¡Ñ&Ð&Ø€Lùò 's   ÁA%c           	     ól   • U  VVs0 s H  u  pUc  M
  [        U5      [        X5      _M!     snn$ s  snnf r+   )rS   rZ   )ÚdatarR   rX   s      r/   Ú_toml_dict_factoryr]   Z   s>   € ñ ôâ‰JˆCØó 	0Œ	�#‹œ CÓ/Ò/Ùòð ùó s   †	0“0c                ó¬   • U R                  U5      =nc  g[        X15      (       d.  [        S[        U5      R                   SUR                   S3US9eU$ )zBGet a value from the dictionary and verify it's the expected type.NúUnexpected type ú (expected Ú)©Úcontext)ÚgetrV   r(   Útyper?   ©r9   Úexpected_typerR   rX   s       r/   Ú_getrh   b   sd   € à—‘�s“ÐˆÑ$ØÜ�e×+Ñ+Ü#Øœt E›{×3Ñ3Ð4ð 5Ø&×/Ñ/Ð0°ð3àñ
ð 	
ð
 €Lr.   c                ó:   • [        XU5      =nc  [        U5      eU$ )zKGet a required value from the dictionary and verify it's the expected type.)rh   Ú_PylockRequiredKeyErrorrf   s       r/   Ú_get_requiredrk   o   s$   € ä�a¨Ó,Ð,ˆÑ5Ü% cÓ*Ð*Ø€Lr.   c                óX  • [        U [        U5      =nc  g[        U[        [        45      (       a!  [        S[        U5      R                   S3US9e[        U5       HI  u  pE[        XQ5      (       a  M  [        S[        U5      R                   SUR                   S3U SU S3S9e   U$ )	zMGet a list value from the dictionary and verify it's the expected items type.Nr_   z (expected Sequence)rb   r`   ra   Ú[Ú])	rh   r   rV   rW   Úbytesr(   re   r?   Ú	enumerate)r9   Úexpected_item_typerR   rX   ÚiÚitems         r/   Ú_get_sequencert   v   s¿   € ô �aœ 3Ó'Ð'ˆÑ0ØÜ�%œ#œu˜×&Ñ&ä#Øœt E›{×3Ñ3Ð4Ð4HÐIØñ
ð 	
ô ˜UÖ#‰ˆÜ˜$×3Ó3Ü'Ø"¤4¨£:×#6Ñ#6Ð"7ð 8Ø/×8Ñ8Ð9¸ð<à˜%˜q   1˜ñð ñ $ð €Lr.   c                ól   • [        XU5      =nc  g U" U5      $ ! [         a  n[        XSS9UeSnAff = f)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.
Nrb   )rh   Ú	Exceptionr(   )r9   rg   Útarget_typerR   rX   Úes         r/   Ú_get_asry   Œ   sF   € ô �a¨Ó,Ð,ˆÑ5Øð;Ù˜5Ó!Ð!øÜó ;Ü# AÑ3¸Ð:ûð;ús   ’ š
3¤
.®3c                ó:   • [        XX#5      =nc  [        U5      eU$ )zbGet a required value from the dict, verify it's the expected type,
and convert to the target type.)ry   rj   )r9   rg   rw   rR   rX   s        r/   Ú_get_required_asr{   Ÿ   s&   € ô ˜¨;Ó<Ð<ˆÑEÜ% cÓ*Ð*Ø€Lr.   c           	     óÆ   • [        XU5      =nc  g/ n U H  nU" U5      nUR                  U5        M     U$ ! [         a  n[        Xƒ S[	        U5       S3S9UeSnAff = f)z>Get list value from dictionary and verify expected items type.Nrm   rn   rb   )rt   Úappendrv   r(   Úlen)	r9   rq   Útarget_item_typerR   rX   Úresultrs   Ú
typed_itemrx   s	            r/   Ú_get_sequence_asr‚   ¬   s}   € ô ˜q°cÓ:Ð:ˆÑCØØ€FðOÛˆDÙ)¨$Ó/ˆJØ�M‰M˜*Ö%ñ ð
 €Møô ó OÜ# A°°a¼¸F»°}ÀAÐ/FÑGÈQÐNûðOús   ”"8 ¸
A ÁAÁA c                óˆ   • [        U [        U5      =nc  g UR                  U5      $ ! [         a  n[	        XBS9UeSnAff = f)zIGet a dictionary value from the dictionary and convert it to a dataclass.Nrb   )rh   r   r:   rv   r(   )r9   rw   rR   rX   rx   s        r/   Ú_get_objectr„   ¿   sN   € ô �aœ #Ó&Ð&ˆÑ/Øð;Ø×%Ñ% eÓ,Ð,øÜó ;Ü# AÑ3¸Ð:ûð;ús   —( ¨
A²
<¼Ac           	     óâ   • [        U [        U5      =nc  g/ n U H%  nUR                  U5      nUR                  U5        M'     U$ ! [         a  n[        Xr S[        U5       S3S9UeSnAff = f)zJGet a list value from the dictionary and convert its items to a dataclass.Nrm   rn   rb   )rt   r   r:   r}   rv   r(   r~   )r9   r   rR   rX   r€   rs   r�   rx   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                ó:   • [        XU5      =nc  [        U5      eU$ )zSGet a required list value from the dictionary and convert its items to a
dataclass.)r†   rj   )r9   r   rR   r€   s       r/   Ú!_get_required_sequence_of_objectsrˆ   Û   s&   € ô
 +¨1ÀÓDÐDˆÑMÜ% cÓ*Ð*Ø€Mr.   c                óX   • [        U 5      (       d  [        SU < S35      e[        U 5      $ )z+Validate that a string is a NormalizedName.zName z is not normalized)r   r(   r   )rH   s    r/   Ú_validate_normalized_namerŠ   å   s-   € ä˜d×#Ñ#Ü# e¨D©8Ð3EÐ$FÓGÐGÜ˜$ÓÐr.   c                ó8   • U (       d  U(       d  [        S5      eg g )Nzpath or url must be provided)r(   )rM   Úurls     r/   Ú_validate_path_urlr�   ì   s   € ÞžÜ#Ð$BÓCÐCð ˆ4r.   c                ó‚   • U (       d  g SU ;   a  U R                  SS5      S   $ SU ;   a  U R                  SS5      S   $ U $ )NÚ/r   éÿÿÿÿÚ\)ÚrsplitrL   s    r/   Ú
_path_namer“   ñ   sI   € ÞØð ˆdƒ{Ø�{‰{˜3 Ó" 2Ñ&Ð&Ø	�‹Ø�{‰{˜4 Ó# BÑ'Ð'àˆr.   c                óf   • U (       d  g [        U 5      R                  nUR                  SS5      S   $ )Nr�   r   r�   )r   rM   r’   )rŒ   Úurl_paths     r/   Ú	_url_namer–   þ   s-   € ÞØÜ˜‹}×!Ñ!€HØ�?‰?˜3 Ó" 2Ñ&Ð&r.   c                óŠ   • U (       d  [        S5      e[        S U R                  5        5       5      (       d  [        S5      eU $ )Nz"At least one hash must be providedc              3  óB   #   • U  H  n[        U[        5      v •  M     g 7fr+   )rV   rW   )Ú.0Úhash_vals     r/   Ú	<genexpr>Ú#_validate_hashes.<locals>.<genexpr>  s   é € ÐIº¨XŒz˜(¤C×(Ð(ºùs   ‚zHash values must be strings)r(   ÚallÚvalues)Úhashess    r/   Ú_validate_hashesr      s9   € ÞÜ#Ð$HÓIÐIÜÑI¸¿¹¼ÓI×IÑIÜ#Ð$AÓBÐBØ€Mr.   c                  óX   • \ rS rSr% SrSrS\S'   S\S'   SS.     SS	 jjrSS
 jrSr	g)r(   i  z2Raised when when input data is not spec-compliant.Nú
str | Nonerc   rW   Úmessagerb   c               ó   • [        U[        5      (       aS  UR                  (       a*  U(       a  U SUR                   3OUR                  U l        OX l        UR                  U l        g X l        [	        U5      U l        g )NÚ.)rV   r(   rc   r£   rW   )ÚselfÚcauserc   s      r/   Ú__init__ÚPylockValidationError.__init__  s\   € ô �eÔ2×3Ñ3Ø�}�}æ4;�w�i˜q §¡ Ñ0ÀÇÁð •ð  '”Ø Ÿ=™=ˆD�Là"ŒLÜ˜u›:ˆD�Lr.   c                ót   • U R                   (       a  U R                   SU R                   < 3$ U R                  $ )Nz in ©rc   r£   ©r¦   s    r/   Ú__str__ÚPylockValidationError.__str__%  s-   € Ø�<�<Ø—l‘l�^ 4¨¯©Ñ'7Ð8Ð8Ø�|‰|Ðr.   r«   )r§   zstr | Exceptionrc   r¢   r>   ÚNone©r>   rW   )
r?   r@   rA   rB   Ú__doc__rc   Ú__annotations__r¨   r­   rD   r-   r.   r/   r(   r(     s?   ‡ Ù<à€GˆZÓØƒLð #ñ	&àð&ð ð	&ð
 
õ&÷$r.   r(   c                  ó,   ^ • \ rS rSrSU 4S jjrSrU =r$ )rj   i+  c                ó"   >• [         TU ]  SUS9  g )NzMissing required valuerb   )Úsuperr¨   )r¦   rR   Ú	__class__s     €r/   r¨   Ú _PylockRequiredKeyError.__init__,  s   ø€ Ü‰ÑÐ1¸3ÐÒ?r.   r-   )rR   rW   r>   r¯   )r?   r@   rA   rB   r¨   rD   Ú__classcell__)r¶   s   @r/   rj   rj   +  s   ø† ÷@õ @r.   rj   c                  ó   • \ rS rSrSrSrg)r'   i0  z7Raised when encountering an unsupported `lock_version`.r-   N©r?   r@   rA   rB   r±   rD   r-   r.   r/   r'   r'   0  s   † ÜAr.   r'   c                  ó   • \ rS rSrSrSrg)ÚPylockSelectErrori4  z:Base exception for errors raised by :meth:`Pylock.select`.r-   Nrº   r-   r.   r/   r¼   r¼   4  s   † ÜDr.   r¼   TF)ÚfrozenÚinitc                  ó¨   • \ rS rSr% S\S'   SrS\S'   SrS\S'   SrS\S'   S\S	'   SrS\S
'   SSSSS.             SS jjr	\
SS j5       rSrg)r$   i8  rW   re   Nr¢   rŒ   rM   Úrequested_revisionÚ	commit_idÚsubdirectory)rŒ   rM   rÀ   rÂ   c               ó  • [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )Nre   rŒ   rM   rÀ   rÁ   rÂ   ©ÚobjectÚ__setattr__)r¦   re   rŒ   rM   rÀ   rÁ   rÂ   s          r/   r¨   ÚPackageVcs.__init__A  sr   € ô 	×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4Ð!5Ð7IÔJÜ×Ñ˜4 ¨iÔ8Ü×Ñ˜4 °Õ>r.   c                ó  • U " [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      S9n[        UR                  UR
                  5        U$ )Nre   rŒ   rM   zrequested-revisionz	commit-idrÂ   )re   rŒ   rM   rÀ   rÁ   rÂ   )rk   rW   rh   r�   rM   rŒ   )r8   r9   Úpackage_vcss      r/   r:   ÚPackageVcs._from_dictS  sq   € áÜ˜q¤# vÓ.Ü�Qœ˜UÓ#Ü�aœ˜fÓ%Ü# A¤sÐ,@ÓAÜ# A¤s¨KÓ8Ü˜a¤ nÓ5ñ
ˆô 	˜;×+Ñ+¨[¯_©_Ô=ØÐr.   r-   )re   rW   rŒ   r¢   rM   r¢   rÀ   r¢   rÁ   rW   rÂ   r¢   r>   r¯   r<   )r?   r@   rA   rB   r²   rŒ   rM   rÀ   rÂ   r¨   rC   r:   rD   r-   r.   r/   r$   r$   8  s¢   ‡ à
ƒIØ€CˆÓØ€Dˆ*ÓØ%)Ð˜
Ó)ØƒNØ#€L�*Ó#ð ØØ)-à#'ñ?ð ð?ð ð	?ð
 ð?ð 'ð?ð ð?ð !ð?ð 
õ?ð$ ó
ó ó
r.   r$   c                  ór   • \ rS rSr% S\S'   SrS\S'   SrS\S'   SSS	.       SS
 jjr\SS j5       r	Sr
g)r"   ia  rW   rM   Núbool | NoneÚeditabler¢   rÂ   )rÍ   rÂ   c               óŽ   • [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )NrM   rÍ   rÂ   rÄ   )r¦   rM   rÍ   rÂ   s       r/   r¨   ÚPackageDirectory.__init__g  s:   € ô 	×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨XÔ6Ü×Ñ˜4 °Õ>r.   c           	     ól   • U " [        U[        S5      [        U[        S5      [        U[        S5      S9$ )NrM   rÍ   rÂ   )rM   rÍ   rÂ   )rk   rW   rh   rI   r7   s     r/   r:   ÚPackageDirectory._from_dicts  s3   € áÜ˜q¤# vÓ.Ü˜!œT :Ó.Ü˜a¤ nÓ5ñ
ð 	
r.   r-   )rM   rW   rÍ   rÌ   rÂ   r¢   r>   r¯   r<   )r?   r@   rA   rB   r²   rÍ   rÂ   r¨   rC   r:   rD   r-   r.   r/   r"   r"   a  sd   ‡ à
ƒIØ €HˆkÓ Ø#€L�*Ó#ð !%Ø#'ñ
?ð ð
?ð ð	
?ð
 !ð
?ð 
õ
?ð ó
ó ó
r.   r"   c                  ó®   • \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SrS\S	'   S
\S'   Sr	S\S'   SSSSSS.             SS jjr
\SS j5       rSrg)r!   i|  Nr¢   rŒ   rM   ú
int | NoneÚsizeúdatetime | NoneÚupload_timeúMapping[str, str]rŸ   rÂ   )rŒ   rM   rÔ   rÖ   rÂ   c               ó  • [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )NrŒ   rM   rÔ   rÖ   rŸ   rÂ   rÄ   )r¦   rŒ   rM   rÔ   rÖ   rŸ   rÂ   s          r/   r¨   ÚPackageArchive.__init__…  sp   € ô 	×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4 °Ô<Ü×Ñ˜4 ¨6Ô2Ü×Ñ˜4 °Õ>r.   c                ó  • U " [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [	        U[
        [        S5      [        U[        S5      S9n[        UR                  UR                  5        U$ )NrŒ   rM   rÔ   úupload-timerŸ   rÂ   )rŒ   rM   rÔ   rÖ   rŸ   rÂ   )
rh   rW   Úintr   r{   r   r    r�   rM   rŒ   )r8   r9   Úpackage_archives      r/   r:   Ú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Œ   r¢   rM   r¢   rÔ   rÓ   rÖ   rÕ   rŸ   r×   rÂ   r¢   r>   r¯   r<   )r?   r@   rA   rB   rŒ   r²   rM   rÔ   rÖ   rÂ   r¨   rC   r:   rD   r-   r.   r/   r!   r!   |  sª   ‡ à€CˆÓØ€Dˆ*ÓØ€Dˆ*ÓØ#'€K�Ó'ØÓØ#€L�*Ó#ð
 ØØØ'+à#'ñ?ð ð?ð ð	?ð
 ð?ð %ð?ð "ð?ð !ð?ð 
õ?ð$ ó
ó ó
r.   r!   c                  óÂ   • \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SrS\S'   Sr	S	\S
'   S\S'   SSSSSS.             SS jjr
\SS j5       r\SS j5       rSrg)r#   i¥  Nr¢   rH   rÕ   rÖ   rŒ   rM   rÓ   rÔ   r×   rŸ   ©rH   rÖ   rŒ   rM   rÔ   c               ó  • [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g ©NrH   rÖ   rŒ   rM   rÔ   rŸ   rÄ   ©r¦   rH   rÖ   rŒ   rM   rÔ   rŸ   s          r/   r¨   ÚPackageSdist.__init__®  óp   € ô 	×Ñ˜4 ¨Ô.Ü×Ñ˜4 °Ô<Ü×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨Ô.Ü×Ñ˜4 ¨6Õ2r.   c                ó  • U " [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [	        U[
        [        S5      S9n[        UR                  UR                  5        U$ ©NrH   rÛ   rŒ   rM   rÔ   rŸ   )rH   rÖ   rŒ   rM   rÔ   rŸ   ©
rh   rW   r   rÜ   r{   r   r    r�   rM   rŒ   )r8   r9   Úpackage_sdists      r/   r:   ÚPackageSdist._from_dictÀ  óu   € áÜ�aœ˜fÓ%Ü˜Q¤¨-Ó8Ü�Qœ˜UÓ#Ü�aœ˜fÓ%Ü�aœ˜fÓ%Ü# A¤wÔ0@À(ÓKñ
ˆô 	˜=×-Ñ-¨}×/@Ñ/@ÔAØÐr.   c                ó²   • U R                   =(       d1    [        U R                  5      =(       d    [        U R                  5      nU(       d  [        S5      eU$ )zGet the filename of the sdist.zCannot determine sdist filename©rH   r“   rM   r–   rŒ   r(   ©r¦   Úfilenames     r/   rï   ÚPackageSdist.filenameÍ  ó=   € ð —9‘9×L¤
¨4¯9©9Ó 5×L¼À4Ç8Á8Ó9LˆÞÜ'Ð(IÓJÐJØˆr.   r-   ©rH   r¢   rÖ   rÕ   rŒ   r¢   rM   r¢   rÔ   rÓ   rŸ   r×   r>   r¯   r<   r°   ©r?   r@   rA   rB   rH   r²   rÖ   rŒ   rM   rÔ   r¨   rC   r:   Úpropertyrï   rD   r-   r.   r/   r#   r#   ¥  ó¾   ‡ à€Dˆ*ÓØ#'€K�Ó'Ø€CˆÓØ€Dˆ*ÓØ€Dˆ*ÓØÓð
  Ø'+ØØØñ3ð ð3ð %ð	3ð
 ð3ð ð3ð ð3ð "ð3ð 
õ3ð$ ó
ó ð
ð óó ór.   r#   c                  óÂ   • \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SrS\S'   Sr	S	\S
'   S\S'   SSSSSS.             SS jjr
\SS j5       r\SS j5       rSrg)r%   iÖ  Nr¢   rH   rÕ   rÖ   rŒ   rM   rÓ   rÔ   r×   rŸ   rà   c               ó  • [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g râ   rÄ   rã   s          r/   r¨   ÚPackageWheel.__init__ß  rå   r.   c                ó  • U " [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S5      [	        U[
        [        S5      S9n[        UR                  UR                  5        U$ rç   rè   )r8   r9   Úpackage_wheels      r/   r:   ÚPackageWheel._from_dictñ  rë   r.   c                ó²   • U R                   =(       d1    [        U R                  5      =(       d    [        U R                  5      nU(       d  [        S5      eU$ )zGet the filename of the wheel.zCannot determine wheel filenamerí   rî   s     r/   rï   ÚPackageWheel.filenameþ  rñ   r.   r-   rò   r<   r°   ró   r-   r.   r/   r%   r%   Ö  rõ   r.   r%   c                  óN  • \ rS rSr% S\S'   SrS\S'   SrS\S'   SrS	\S
'   SrS\S'   Sr	S\S'   Sr
S\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SrS\S'   SSSSSSSSSSSSS.                           S!S jjr\S"S j5       r\S#S j5       rS rg)$r    i  r   rH   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  • [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U S	U	5        [         R                  U S
U
5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        g )NrH   r   r  r  r  r  r
  r  r  r  r  r  r  rÄ   )r¦   rH   r   r  r  r  r  r
  r  r  r  r  r  r  s                 r/   r¨   Ú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                óÎ  • U " [        U[        [        S5      [        U[        [        S5      [        U[        [
        S5      [        U[        S5      [        U[        [        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        S	5      [        U[        S
5      [        U[         S5      [        U[        S5      [        U[        S5      S9n[#        UR$                  5      ['        UR(                  =(       d    / 5      -   n[#        UR*                  5      [#        UR,                  5      -   [#        UR.                  5      -   nUS:”  a  US:”  a  [1        S5      eUS:X  a  US:w  a  [1        S5      e[3        UR(                  =(       d    / 5       H­  u  pV [5        UR6                  5      u  px  n	XrR:                  :w  a*  [1        SUR6                  < SUR:                  < 3SU S3S9eUR<                  (       d  Mk  X‚R<                  :w  d  M|  [1        SUR6                  < S[        UR<                  5      < 3SU S3S9e   UR$                  (       aº   [?        UR$                  R6                  5      u  pxXrR:                  :w  a0  [1        SUR$                  R6                  < SUR:                  < 3S
S9eUR<                  (       aH  X‚R<                  :w  a9  [1        SUR$                  R6                  < S[        UR<                  5      < 3S
S9e [3        UR@                  =(       d    / 5       H  u  p[[C        U[        S5        M     U$ ! [8         a"  n
[1        SUR6                  < 3SU S3S9U
eS n
A
ff = f! [8         a(  n
[1        SUR$                  R6                  < 3S
S9U
eS n
A
ff = f! [8         a  n
[1        U
SW S3S9U
eS n
A
ff = f)NrH   r   úrequires-pythonr  r  r  r
  r  r  r  r  zattestation-identitiesr  )rH   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[rn   rb   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[)"r{   rW   rŠ   ry   r   r   rt   r   r   r„   r$   r"   r!   rh   r#   r†   r%   rI   r  r~   r  r  r
  r  r(   rp   r   rï   rv   rH   r   r   r  rk   )r8   r9   ÚpackageÚdistributionsÚdirect_urlsrr   ÚwheelrH   r   rO   rx   Úattestation_identitys               r/   r:   Ú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¿^¹^Ó(LÑ%�  1ð —|‘|Ó#Ü+Ø˜uŸ~™~Ñ0ð 1$Ø$+§L¡LÑ#3ð5à% a S¨˜Nñð ð
 ��‰ 7¯o©oÕ#=Ü+Ø! %§.¡.Ñ!3ð 4'Ü'*¨7¯?©?Ó';Ñ&>ð@à% a S¨˜Nñð ñ 8ð( �=�=ðÜ 4°W·]±]×5KÑ5KÓ L‘�ð —|‘|Ó#Ü+Ø˜wŸ}™}×5Ñ5Ñ8ð 9$Ø$+§L¡LÑ#3ð5à#ñð ð
 �� 7¯o©oÓ#=Ü+Ø! '§-¡-×"8Ñ"8Ñ!;ð <'Ü'*¨7¯?©?Ó';Ñ&>ð@à#ñð ð
	Ü+4Ø×.Ñ.×4°"ö,Ñ'�ô Ð2´C¸Ö@ñ,ð ˆøô] ó Ü+Ø-¨e¯n©nÑ-?Ð@Ø% a S¨˜Nñð ðûðûô( ó Ü+Ø-¨g¯m©m×.DÑ.DÑ-GÐHØ#ñð ðûðûô, ó 	Ü'ØÐ4°Q°C°qÐ9ñàðûð	úsH   Æ1M"É.!N Ì(8O Í"
NÍ,N	Î	NÎ
OÎ#N>Î>OÏ
O$ÏOÏO$c                óJ   • U R                   =(       d    U R                  (       + $ r+   )r  r  r¬   s    r/   Ú	is_directÚPackage.is_directˆ  s   € à—J‘J×- $§+¡+Ô.Ð.r.   r-   )rH   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>   rI   )r?   r@   rA   rB   r²   r   r  r  r  r  r
  r  r  r  r  r  r  r¨   rC   r:   rô   r!  rD   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                  ó4  • \ rS rSr% SrS\S'   SrS\S'   SrS\S	'   SrS
\S'   Sr	S\S'   Sr
S\S'   S\S'   S\S'   SrS\S'   SSSSSSS.                   SS jjr\SS j5       r\SS j5       rS S jrS!S jrSSSSS.         S"S jjrSrg)#r&   i�  z#A class representing a pylock file.r   Úlock_versionNúSequence[Marker] | NonerU   r  r  úSequence[NormalizedName] | NoneÚextrasúSequence[str] | NoneÚdependency_groupsÚdefault_groupsrW   Ú
created_byúSequence[Package]Úpackagesr  r  )rU   r  r'  r)  r*  r  c       	        ó¢  • [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U SU5        [         R                  U S	U	5        g )
Nr$  rU   r  r'  r)  r*  r+  r-  r  rÄ   )
r¦   r$  rU   r  r'  r)  r*  r+  r-  r  s
             r/   r¨   Ú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  • U " [        U[        [        S5      [        U[        [        S5      [        U[        [
        S5      [        U[        S5      [        U[        S5      [        U[        S5      [        U[        [        S5      [        U[        S5      [        U[        S	5      S
9	n[        S5      UR                  s=::  a  [        S5      :  d  O  [        SUR                   S35      eUR                  [        S5      :”  a   [         R#                  SUR                  5        U$ )Nzlock-versionrU   r'  zdependency-groupszdefault-groupsz
created-byr  r-  r  )	r$  rU   r'  r)  r*  r+  r  r-  r  Ú1Ú2zpylock version z is not supportedz1.0z(pylock minor version %s is not supported)r{   rW   r   r‚   r   rŠ   rt   rk   ry   r   rˆ   r    rh   r   r$  r'   Ú_loggerÚwarning)r8   r9   Úpylocks      r/   r:   Ú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               ó$   • U R                  U5      $ )zŽCreate and validate a Pylock instance from a TOML dictionary.

Raises :class:`PylockValidationError` if the input data is not
spec-compliant.
)r:   r7   s     r/   Ú	from_dictÚPylock.from_dictÊ  s   € ð �~‰~˜aÓ Ð r.   c                ó4   • [         R                  " U [        S9$ )z1Convert the Pylock instance to a TOML dictionary.)Údict_factory)ÚdataclassesÚasdictr]   r¬   s    r/   Úto_dictÚPylock.to_dictÓ  s   € ä×!Ò! $Ô5GÑHÐHr.   c                óB   • U R                  U R                  5       5        g)ziValidate the Pylock instance against the specification.

Raises :class:`PylockValidationError` otherwise.N)r8  r>  r¬   s    r/   ÚvalidateÚPylock.validate×  s   € ð 	�‰�t—|‘|“~Õ&r.   )ÚenvironmentÚtagsr'  r)  c             #  ó®  #   • [        U=(       d
    [        5       5      n[        S[        U=(       d    0 [	        U=(       d    / 5      [	        Uc  U R
                  =(       d    / OU5      S95      nU(       a  US   O[        5       S   nU R                  (       aF  U R                  R                  U5      (       d&  [        SU< S[        U R                  5      < 35      eU R                  (       aH  U R                   H-  nUR                  [        SU=(       d    0 5      SS	9(       d  M-    O   [        S
5      e0 n	[        U R                  5       Hî  u  p«UR                  (       a!  UR                  R                  USS	9(       d  M7  UR                  (       aX  UR                  R                  U5      (       d8  [        SU< S[        UR                  5      < SUR                   < SU
 S3	5      eUR                   U	;   a/  [        SUR                   < SU
 SX›R                      S    S35      eX«4X›R                   '   Mð     U	R#                  5        Hþ  u  p«UR$                  b  X»R$                  4v •  M#  UR&                  b  X»R&                  4v •  MA  UR(                  b  X»R(                  4v •  M_  UR*                  (       al  [-        U" S UR*                   5       5      S5      nU(       a  X¼4v •  M¡  UR.                  b  X»R.                  4v •  M¿  [        SUR                   < SU
 S35      eUR.                  b  X»R.                  4v •  Mú  [0        e   g7f)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]Úrequirementrb   zXProvided environment does not satisfy any of the environments specified in the lock fileÚ	lock_filez for package z at packages[rn   z Multiple packages with the name z are selected at packages[z] and packages[r   c              3  óV   #   • U  H  nU[        UR                  5      S    4v •  M!     g7f)r�   N)r   rï   )r™   r  s     r/   r›   Ú Pylock.select.<locals>.<genexpr>p  s+   é € ð -â%3˜Eð Ô 4°U·^±^Ó DÀRÑ HÕIÚ%3ù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¼   rW   rU   Úevaluaterp   r-  r  rH   rž   r  r
  r  r  Únextr  ÚNotImplementedError)r¦   rC  rD  r'  r)  Úcompatible_tags_selectorÚenvÚenv_python_full_versionÚ
env_markerÚselected_packages_by_nameÚpackage_indexr  Ú
best_wheels                r/   ÚselectÚPylock.selectÝ  sk  é € ô@ $CÀ4×CUÌ8Ë:Ó#VÐ ô Ø-ÜØ×!˜rÜ  §¨2Ó.Ü"+à(Ñ0ð ×(Ñ(×.¨Bøà*ó#ñó
ˆö ð Ð-Ò.ä$Ó&Ð'<Ñ=ð 	 ð ××¨×(<Ñ(<×(EÑ(EØ#÷)
ñ )
ô $Ø&Ð'>Ñ&Að Bä" 4×#7Ñ#7Ó8Ñ;ð=óð ð ××Ø"×/Ô/�
Ø×&Ñ&ÜÐ)¨;×+<¸"Ó=À}ð '÷ ð ñ ñ	 0ô (ð>óð ð EGÐ!Ü&/°·±Ö&>Ñ"ˆMð �~�~ g§n¡n×&=Ñ&=¸cÈ;Ð&=Ö&WÙð ×&×&¨w×/FÑ/F×/OÑ/OØ'÷0ñ 0ô (Ø*Ð+BÑ*Eð F#ä#& w×'>Ñ'>Ó#?Ñ"BÀ-Ø—|‘|Ñ& m°M°?À!ðEóð ð �|‰|Ð8Ó8Ü'Ø6°w·|±|Ñ6Fð G,Ø,9¨?ð ; Ø 9¿,¹,Ñ GÈÑ JÐKÈ1ðNóð ð 8EÐ6NÐ%§l¡lÓ3ñC '?ðH '@×&FÑ&FÖ&HÑ"ˆMà�{‰{Ñ&ØŸ{™{Ð*Ô*ð ×"Ñ"Ñ.Ø×0Ñ0Ð0Ô0ð —‘Ñ,ØŸ™Ð.Ô.ð ——ô
 "Ù,ñ -à%,§^¢^ó-ó ð ó�
ö Ø!Ð-Ô-Ø—]‘]Ñ.Ø!§=¡=Ð0Ô0ä+ð'Ø'.§|¡|Ñ&6ð 7'Ø'4 oð 6?ð@óð ð —‘Ñ*ØŸ}™}Ð,Ô,ô *Ð)ò[ 'Iùs   ‚D$MÄ*H+Mr-   )r$  r   rU   r%  r  r  r'  r&  r)  r(  r*  r(  r+  rW   r-  r,  r  r  r>   r¯   r<   )r>   r=   )r>   r¯   )
rC  zEnvironment | NonerD  zSequence[Tag] | Noner'  úCollection[str] | Noner)  rZ  r>   zfIterator[tuple[Package, PackageVcs | PackageDirectory | PackageArchive | PackageWheel | PackageSdist]])r?   r@   rA   rB   r±   r²   rU   r  r'  r)  r*  r  r¨   rC   r:   r8  r>  rA  rX  rD   r-   r.   r/   r&   r&   �  s\  ‡ á-àÓØ,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*ð l*r.   r&   )r>   z	list[str])rM   r   r>   rI   )rR   rW   r>   rW   )rR   rW   rX   r	   r>   r	   )r\   zlist[tuple[str, Any]]r>   zdict[str, Any])r9   r=   rg   útype[_T]rR   rW   r>   z	_T | None)r9   r=   rg   r[  rR   rW   r>   r1   )r9   r=   rq   r[  rR   rW   r>   zSequence[_T] | None)
r9   r=   rg   r[  rw   úCallable[[_T], _T2]rR   rW   r>   z
_T2 | None)
r9   r=   rg   r[  rw   r\  rR   rW   r>   r2   )
r9   r=   rq   r[  r   r\  rR   rW   r>   zlist[_T2] | None)r9   r=   rw   útype[_FromMappingProtocolT]rR   rW   r>   z_FromMappingProtocolT | None)r9   r=   r   r]  rR   rW   r>   z"list[_FromMappingProtocolT] | None)r9   r=   r   r]  rR   rW   r>   zSequence[_FromMappingProtocolT])rH   rW   r>   r   )rM   r¢   rŒ   r¢   r>   r¯   )rM   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   rD  r   r   Úutilsr   r   r   r   r   r   r   r   Úpathlibr   Útyping_extensionsr   r   Ú	getLoggerr?   r3  r,   r0   r1   r2   r4   rE   ÚcompilerJ   r)   rS   rZ   r]   rh   rk   rt   ry   r{   r‚   r„   r†   rˆ   rŠ   r�   r“   r–   r    rv   r(   rj   r'   r¼   r$   r"   r!   r#   r%   r    r&   r-   r.   r/   Ú<module>rk     s;  ðÝ "ã Û Û 	ß -Ý !Ý ÷÷ õ "ç =Ñ =Ý $ß ;÷ó õ æß4Ýå&åà
×
Ò
˜HÓ
%€ò€ôñ ˆTƒ]€Ùˆeƒn€ô;˜8ô ;ñ
  Ð 7Ð?SÑTÐ ð —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.   