ó
    T=Œj2(  ã                  ó  • S SK J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  S SKJrJrJrJrJrJrJrJr  S SKJ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"  \
(       a  S SK#J$r$  S SK%J&r&        SS jr'      SS jr(\RR                  " S\RT                  5      r+SS jr,SS jr-        S S jr.      S!S jr/      S"S jr0      S#S jr1      S$S jr2      S%S jr3S&S jr4      S'S jr5g)(é    )ÚannotationsN)ÚIterableÚIterator)ÚPath)ÚTYPE_CHECKING)ÚurljoinÚurlsplit)ÚPackageÚPackageArchiveÚPackageDirectoryÚPackageSdistÚ
PackageVcsÚPackageWheelÚPylockÚis_valid_pylock_path)ÚVersion)ÚDiagnosticPipErrorÚInstallationError)ÚLink)Útomllib)Úpath_to_urlÚurl_to_path)Ú
PipSession)ÚInstallRequirementc           
     óœ  • UR                  5       nU R                  5       nU R                  nU(       d   eS nS nS nS nS nS n	U R                  (       Ga†  UR                  (       a`  [        UR                  R                  UR                  S UR                  R                  UR                  R                  UR                  S9nGOðUR                  (       a�  [        [        [        UR                  5      5      R                  5       R                  U5      R!                  5       UR                  R"                  (       a  UR                  R"                  OS UR                  S9nGOPUR$                  (       aZ  UR$                  R&                  (       d
  [)        5       e[+        UR                  S UR$                  R&                  UR                  S9nOå[)        5       eUR,                  nUR$                  (       a´  UR$                  R&                  (       d
  [)        5       e[/        UR                  5      n
U
R0                  (       a5  [3        U
R4                  UR                  UR$                  R&                  S9/n	O>[7        U
R4                  UR                  UR$                  R&                  S9nO
[)        5       e[9        UR:                  UUUUUU	S9$ )N)ÚtypeÚurlÚpathÚrequested_revisionÚ	commit_idÚsubdirectory)r   Úeditabler!   )r   r   Úhashesr!   )Únamer   r#   )r$   ÚversionÚvcsÚ	directoryÚarchiveÚsdistÚwheels)ÚresolveÚget_distÚdownload_infoÚ	is_directÚvcs_infor   r&   r   r   r    r!   Údir_infor   r   r   Úrelative_toÚas_posixr"   Úarchive_infor#   ÚNotImplementedErrorr   r%   r   Úis_wheelr   Úfilenamer   r
   Úcanonical_name)ÚireqÚbase_dirÚdistr-   Úpackage_versionÚpackage_vcsÚpackage_directoryÚpackage_archiveÚpackage_sdistÚpackage_wheelsÚlinks              Ú^/Users/stevendouglas/BidBrain/.venv/lib/python3.13/site-packages/pip/_internal/utils/pylock.pyÚ(_pylock_package_from_install_requirementrC       sE  € ð ×ÑÓ!€HØ�=‰=‹?€DØ×&Ñ&€MÞÐˆ=Ø€OØ€KØÐØ€OØ€MØ€NØ‡~‡~€~Ø×!×!Ü$Ø"×+Ñ+×/Ñ/Ø!×%Ñ%ØØ#0×#9Ñ#9×#LÑ#LØ'×0Ñ0×:Ñ:Ø*×7Ñ7ñŠKð ×#×#Ü 0äœ ]×%6Ñ%6Ó7Ó8ß‘W“Yß ‘[ Ó*ß‘X“Zð %×-Ñ-×6×6ð "×*Ñ*×3Ò3àà*×7Ñ7ñ!Òð ×'×'Ø ×-Ñ-×4×4Ü)Ó+Ð+Ü,Ø!×%Ñ%ØØ$×1Ñ1×8Ñ8Ø*×7Ñ7ñ	‰Oô &Ó'Ð'àŸ,™,ˆØ×%×%Ø ×-Ñ-×4×4Ü)Ó+Ð+Ü˜×)Ñ)Ó*ˆDØ�}�}ä Ø!Ÿ]™]Ø)×-Ñ-Ø,×9Ñ9×@Ñ@ñð"‘ô !-ØŸ™Ø%×)Ñ)Ø(×5Ñ5×<Ñ<ñ!‘ô &Ó'Ð'ÜØ× Ñ ØØØ#ØØØñð ó    c           	     óR   ^• [        [        S5      S[        U4S jU  5       S S9S9$ )Nz1.0Úpipc              3  ó<   >#   • U  H  n[        UT5      v •  M     g 7f©N)rC   )Ú.0r8   r9   s     €rB   Ú	<genexpr>Ú3pylock_from_install_requirements.<locals>.<genexpr>{   s"   øé € ð â0�Dô 9¸¸x×HÐHÚ0ùs   ƒc                ó   • U R                   $ rH   )r$   )Úps    rB   Ú<lambda>Ú2pylock_from_install_requirements.<locals>.<lambda>   s   € ˜!Ÿ&š&rD   )Úkey)Úlock_versionÚ
created_byÚpackages)r   r   Úsorted)Úinstall_requirementsr9   s    `rB   Ú pylock_from_install_requirementsrV   t   s6   ø€ ô Ü˜U“^ØÜôá0óñ !ñ
ñ
ð 
rD   z^(http|https|file)://c                ó>   • [        [        R                  U 5      5      $ rH   )ÚboolÚ
_SCHEME_REÚmatch)Úss    rB   Ú_is_urlr\   ‡   s   € Ü”
× Ñ  Ó#Ó$Ð$rD   c                ó°   • [        U 5      (       a1  [        [        U 5      R                  R	                  S5      S   5      nO[        U 5      n[        U5      $ )NÚ/éÿÿÿÿ)r\   r   r	   r   Ú
rpartitionr   )r6   r   s     rB   Úis_valid_pylock_filenamera   ‹   sF   € Üˆx×ÑÜ”H˜XÓ&×+Ñ+×6Ñ6°sÓ;¸BÑ?Ó@‰ä�H‹~ˆÜ Ó%Ð%rD   c                ó8  • UGb  [         R                  R                  U5      (       d¾  [        U 5      (       ah  [	        X5      n[        U 5      n[        U5      nUR                  UR                  4UR                  UR                  4:w  a  [        SU< SU < 35      eU$ [        [         R                  R                  [         R                  R                  U 5      U5      5      $ [        U 5      (       a  [        SU< SU < 35      e[        U5      $ Uc   eU$ )z Compute an url from a Pylock package path and url.

Give priority to path over url. If path is relative,
compute an url using the pylock file location as base.
zPath zC in pylock file obtained from a URL resolves outside its location: zFAbsolute paths are not supported in pylock files obtained from a URL: z in )Úosr   Úisabsr\   r   r	   ÚschemeÚnetlocr   r   ÚjoinÚdirname)Úpylock_path_or_urlr   r   Údist_urlÚbaseÚtargets         rB   Ú_package_dist_urlrm   “   s  € ð ÒÜ�w‰w�}‰}˜T×"Ñ"äÐ)×*Ñ*Ü"Ð#5Ó<�ô
  Ð 2Ó3�Ü! (Ó+�Ø—M‘M 6§=¡=Ð1°d·k±kÀ4Ç;Á;Ð5OÓOÜ+Ø ™xð (:Ø:LÑ9OðQóð ð  �ä"Ü—G‘G—L‘L¤§¡§¡Ð1CÓ!DÀdÓKóð ô
 Ð)×*Ñ*Ü'ð#Ø#'¡(¨$Ð/AÑ.DðFóð ô ˜tÓ$Ð$à‰ÐˆØˆ
rD   c                óü   • [        XR                  UR                  5      nUR                   SU SUR                   3nUR
                  (       a,  SU;   a  [        SU< SU < S35      eUSUR
                  -   -  nU$ )NÚ+Ú@Ú#úPackage URL úE cannot contain fragments in combination with subdirectory field (in Ú)ú#subdirectory=)rm   r   r   r   r    r!   r   )ri   r<   rj   r   s       rB   Úpackage_vcs_requirement_urlrv   ½   s“   € ô !Ð!3×5EÑ5EÀ{ÇÁÓW€HØ×ÑÐ˜a ˜z¨¨;×+@Ñ+@Ð*AÐ
B€CØ××Ø�#‹:Ü#Ø˜s™gð &/Ø/AÑ.DÀAðGóð ð 	Ð +×":Ñ":Ñ:Ñ:ˆØ€JrD   c                óÀ   • [        XR                  UR                  5      nUR                  (       a,  SU;   a  [	        SU< SU < S35      eUSUR                  -   -  nU$ )Nrq   rr   rs   rt   ru   )rm   r   r   r!   r   )ri   r>   r   s      rB   Úpackage_archive_requirement_urlrx   Ì   su   € ô Ø×0Ñ0°/×2EÑ2Eó€Cð ×#×#Ø�#‹:Ü#Ø˜s™gð &/Ø/AÑ.DÀAðGóð ð 	Ð /×">Ñ">Ñ>Ñ>ˆØ€JrD   c                óv  • [        U 5      (       a%  U R                  S5      (       d  [        SU < 35      e[        XR                  S 5      nUR                  S5      (       d   eUR                  S5      (       d  US-  nUR                  (       a)  X!R                  -  nUR                  S5      (       d  US-  nU$ )Nzfile://z:Directory entries are not supported in remote pylock.toml r^   )r\   Ú
startswithr   rm   r   Úendswithr!   )ri   r=   r   s      rB   Ú!package_directory_requirement_urlr|   Ü   s²   € ô Ð!×"Ñ"Ð+=×+HÑ+HÈ×+SÑ+SÜØHØ!Ñ$ð&ó
ð 	
ô Ð.×0FÑ0FÈÓ
M€CØ�>‰>˜)×$Ñ$Ð$Ð$Ø�<‰<˜×ÑØˆs‰
ˆØ×%×%Ø×-Ñ-Ñ-ˆØ�|‰|˜C× Ñ Ø�3‰JˆCØ€JrD   c                óB   • [        XR                  UR                  5      $ rH   ©rm   r   r   )ri   r?   s     rB   Úpackage_sdist_requirement_urlr   ï   ó   € ô Ð/×1CÑ1CÀ]×EVÑEVÓWÐWrD   c                óB   • [        XR                  UR                  5      $ rH   r~   )ri   Úpackage_wheels     rB   Úpackage_wheel_requirement_urlrƒ   õ   r€   rD   c                ó¾   • [        U 5      R                  nUS;   a+  SSKJn  UR	                  U 5      nU" U5        UR
                  $ [        U 5      R                  SS9$ )N)ÚhttpÚhttpsÚfiler   )Úraise_for_statuszutf-8)Úencoding)r	   re   Úpip._internal.network.utilsrˆ   ÚgetÚtextr   Ú	read_text)Úpath_or_urlÚsessionre   rˆ   Úresps        rB   Ú_get_pylock_path_or_url_contentr‘   û   sY   € ä�kÓ"×)Ñ)€FàÐ*Ó*å@à�{‰{˜;Ó'ˆÙ˜ÔØ�y‰yÐô �Ó×&Ñ&°Ð&Ð8Ð8rD   c              #  ó¢  #   •  [        X5      n [        R
                  " [        R                  " U5      5      n UR                  5        S h  v•N   g ! [         a    e [         a  n[        SU < SU 35      UeS nAff = f! [         a  n[        SU < SU 35      UeS nAff = f NY! [         a  n[        SU < SU 35      UeS nAff = f7f)NzError reading pylock file z: zInvalid pylock file z,Cannot select requirements from pylock file )	r‘   r   Ú	Exceptionr   r   Ú	from_dictr   ÚloadsÚselect)ri   r�   Úpylock_contentÚexcÚlocks        rB   Úselect_from_pylock_path_or_urlrš     sô   é € ðÜ8Ð9KÓUˆðÜ×Ò¤§¢¨nÓ =Ó>ˆðð —;‘;“=× Ñ øô# ó ØÜó ÜØ(Ð);Ñ(>¸bÀÀÐFó
àð	ûðûô ó ÜØ"Ð#5Ñ"8¸¸3¸%Ð@ó
àð	ûðúñ 	!øÜó ÜØ:Ð;MÑ:PÐPRÐSVÐRWÐXó
àð	ûðüst   ‚C„A �*B »B* ÁB(ÁB* ÁCÁB Á(A;Á;B Â CÂ
B%ÂB Â B%Â%CÂ(B* Â*
CÂ4CÃCÃC)r8   r   r9   r   Úreturnr
   )rU   zIterable[InstallRequirement]r9   r   r›   r   )r[   Ústrr›   rX   )r6   rœ   r›   rX   )ri   rœ   r   ú
str | Noner   r�   r›   rœ   )ri   rœ   r<   r   r›   rœ   )ri   rœ   r>   r   r›   rœ   )ri   rœ   r=   r   r›   rœ   )ri   rœ   r?   r   r›   rœ   )ri   rœ   r‚   r   r›   rœ   )rŽ   rœ   r�   r   r›   rœ   )ri   rœ   r�   r   r›   zfIterator[tuple[Package, PackageVcs | PackageDirectory | PackageArchive | PackageWheel | PackageSdist]])6Ú
__future__r   rc   ÚreÚcollections.abcr   r   Úpathlibr   Útypingr   Úurllib.parser   r	   Úpip._vendor.packaging.pylockr
   r   r   r   r   r   r   r   Úpip._vendor.packaging.versionr   Úpip._internal.exceptionsr   r   Úpip._internal.models.linkr   Úpip._internal.utils.compatr   Úpip._internal.utils.urlsr   r   Úpip._internal.network.sessionr   Úpip._internal.req.req_installr   rC   rV   ÚcompileÚ
IGNORECASErY   r\   ra   rm   rv   rx   r|   r   rƒ   r‘   rš   © rD   rB   Ú<module>r¯      s†  ðÝ "ã 	Û 	ß .Ý Ý  ß *÷	÷ 	ó 	õ 2ç JÝ *Ý .ß =æÝ8Ý@ðQØ
ðQØ(,ðQàôQðhØ6ðØBFðàôð  �ZŠZÐ/°·±Ó?€
ô%ô&ð'Øð'Ø#-ð'Ø4>ð'àô'ðTØðØ*4ðàôðØðØ.<ðàôð ØðØ0@ðàôð&XØðXØ,8ðXàôXðXØðXØ,8ðXàôXô9ð  Øð àð ðõ rD   