Ë
    KêjM,  ã                  óæ  — d dl mZ d dlZd dlmZmZmZ d dl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mZmZmZmZ d dlmZmZ d d	lm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% e
rd dl&m'Z' d dl(m)Z) d dl*m+Z+ 	 	 	 	 	 	 d!d„Z,	 	 	 	 	 	 d"d„Z-d#d„Z.ddœd$d„Z/	 	 	 	 	 	 	 	 d%d„Z0	 	 	 	 	 	 d&d„Z1	 	 	 	 	 	 d'd„Z2	 	 	 	 	 	 d(d„Z3	 	 	 	 	 	 d)d„Z4	 	 	 	 	 	 d*d„Z5d+d„Z6ddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d,d „Z7y)-é    )ÚannotationsN)Ú
CollectionÚIterableÚIterator)ÚPath)ÚTYPE_CHECKING)ÚurljoinÚurlsplit)ÚPackageÚPackageArchiveÚPackageDirectoryÚPackageSdistÚ
PackageVcsÚPackageWheelÚPylockÚis_valid_pylock_path)ÚNormalizedNameÚcanonicalize_name)ÚVersion)ÚDiagnosticPipErrorÚInstallationError)ÚLink)Útomllib)Úpath_to_urlÚurl_to_path)ÚFormatControl)Ú
PipSession)ÚInstallRequirementc           	     ó\  — |j                  «       }| j                  «       }| j                  }|sJ ‚d }d }d }d }d }d }	| j                  �rv|j                  rct        |j                  j                  |j                  d |j                  j                  |j                  j                  |j                  ¬«      }�nÙ|j                  r�t        t        t        |j                  «      «      j                  «       j                  |«      j!                  «       |j                  j"                  r|j                  j"                  nd |j                  ¬«      }�n@|j$                  rX|j$                  j&                  s
t)        «       ‚t+        |j                  d |j$                  j&                  |j                  ¬«      }nÜt)        «       ‚|j,                  }|j$                  r°|j$                  j&                  s
t)        «       ‚t/        |j                  «      }
|
j0                  r8t3        |
j4                  |j                  |j$                  j&                  ¬«      g}	nAt7        |
j4                  |j                  |j$                  j&                  ¬«      }n
t)        «       ‚t9        |j:                  ||||||	¬«      S )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Údistr1   Úpackage_versionÚpackage_vcsÚpackage_directoryÚpackage_archiveÚpackage_sdistÚpackage_wheelsÚlinks              ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/pip/_internal/utils/pylock.pyÚ(_pylock_package_from_install_requirementrG   !   sC  € ð ×ÑÓ!€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                ó\   ‡— t        t        d«      dt        ˆfd„| D «       d„ ¬«      ¬«      S )Nz1.0Úpipc              3  ó6   •K  — | ]  }t        |‰«      –— Œ y ­w©N)rG   )Ú.0r<   r=   s     €rF   ú	<genexpr>z3pylock_from_install_requirements.<locals>.<genexpr>|   s    øè ø€ ò àô 9¸¸x×Hñùs   ƒc                ó   — | j                   S rL   )r(   )Úps    rF   ú<lambda>z2pylock_from_install_requirements.<locals>.<lambda>€   s
   € ˜!Ÿ&™&€ rH   )Úkey)Úlock_versionÚ
created_byÚpackages)r   r   Úsorted)Úinstall_requirementsr=   s    `rF   Ú pylock_from_install_requirementsrX   u   s6   ø€ ô Ü˜U“^ØÜóà0ôñ !ô
ô
ð 
rH   c                ó@   — | j                  «       j                  d«      S )N)zhttp:zhttps:úfile:)ÚlowerÚ
startswith)Úss    rF   Ú_is_urlr^   …   s   € Ø�7‰7‹9×ÑÐ <Ó=Ð=rH   T)Ú
allow_urlsc               óà   — t        | «      r?|sy	 t        t        | «      j                  j	                  d«      d   «      }t        |«      S t        | «      }t        |«      S # t
        $ r Y yw xY w)zICheck a lock source's filename, optionally restricting it to local paths.Fú/éÿÿÿÿ)r^   r   r
   r"   Ú
rpartitionÚ
ValueErrorr   )r:   r_   r"   s      rF   Úis_valid_pylock_filenamere   ‰   sq   € äˆxÔÙØð	Üœ Ó*×/Ñ/×:Ñ:¸3Ó?ÀÑCÓDˆDô
   Ó%Ð%ô �H‹~ˆÜ Ó%Ð%øô	 ò 	Ùð	ús   �0A! Á!	A-Á,A-c                ó*  — |��t         j                  j                  |«      sÅt        | «      rtt	        | «      }t        |j                  «       |«      }t	        |«      }|j                  |j                  f|j                  |j                  fk7  rt        d|›d| ›�«      ‚|S t        t         j                  j                  t         j                  j                  | «      |«      «      S t        | «      rt        d|›d| ›�«      ‚t        |«      S |€J ‚|S )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	   ÚgeturlÚschemeÚnetlocr   r   ÚjoinÚdirname)Úpylock_path_or_urlr"   r!   ÚbaseÚdist_urlÚtargets         rF   Ú_package_dist_urlrr   —   s  € ð ÑÜ�w‰w�}‰}˜TÔ"äÐ)Ô*ÜÐ 2Ó3�Ü" 4§;¡;£=°$Ó7�ô
 " (Ó+�Ø—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Ó$Ð$àˆÐˆØˆ
rH   c                óì   — t        | |j                  |j                  «      }|j                  › d|› d|j                  › �}|j
                  r(d|v rt        d|›d| ›d�«      ‚|d|j
                  z   z  }|S )Nú+ú@ú#úPackage URL úE cannot contain fragments in combination with subdirectory field (in ú)ú#subdirectory=)rr   r"   r!   r    r$   r%   r   )rn   r@   rp   r!   s       rF   Úpackage_vcs_requirement_urlr{   Á   s•   € ô !Ð!3°[×5EÑ5EÀ{ÇÁÓW€HØ×ÑÐ˜a ˜z¨¨;×+@Ñ+@Ð*AÐ
B€CØ×ÒØ�#‰:Ü#Ø˜s˜gð &/Ø/AÐ.DÀAðGóð ð 	Ð +×":Ñ":Ñ:Ñ:ˆØ€JrH   c                ó°   — t        | |j                  |j                  «      }|j                  r(d|v rt	        d|›d| ›d�«      ‚|d|j                  z   z  }|S )Nrv   rw   rx   ry   rz   )rr   r"   r!   r%   r   )rn   rB   r!   s      rF   Úpackage_archive_requirement_urlr}   Ð   sw   € ô Ø˜O×0Ñ0°/×2EÑ2Eó€Cð ×#Ò#Ø�#‰:Ü#Ø˜s˜gð &/Ø/AÐ.DÀAðGóð ð 	Ð /×">Ñ">Ñ>Ñ>ˆØ€JrH   c                óX  — t        | «      r-| j                  «       j                  d«      st        d| ›�«      ‚t	        | |j
                  d «      }|j                  d«      sJ ‚|j                  d«      s|dz  }|j                  r%||j                  z  }|j                  d«      s|dz  }|S )NrZ   z:Directory entries are not supported in remote pylock.toml zfile://ra   )r^   r[   r\   r   rr   r"   Úendswithr%   )rn   rA   r!   s      rF   Ú!package_directory_requirement_urlr€   à   s·   € ô Ð!Ô"Ð+=×+CÑ+CÓ+E×+PÑ+PØô,ô  ØHØ!Ð$ð&ó
ð 	
ô Ð.Ð0A×0FÑ0FÈÓ
M€CØ�>‰>˜)Ô$Ð$Ð$Ø�<‰<˜ÔØˆs‰
ˆØ×%Ò%ØÐ ×-Ñ-Ñ-ˆØ�|‰|˜CÔ Ø�3‰JˆCØ€JrH   c                óD   — t        | |j                  |j                  «      S rL   ©rr   r"   r!   )rn   rC   s     rF   Úpackage_sdist_requirement_urlrƒ   õ   ó    € ô Ð/°×1CÑ1CÀ]×EVÑEVÓWÐWrH   c                óD   — t        | |j                  |j                  «      S rL   r‚   )rn   Úpackage_wheels     rF   Úpackage_wheel_requirement_urlr‡   û   r„   rH   c                ó¤   — t        | «      r+ddlm} |j                  | «      } ||«       |j                  S t        | «      j                  d¬«      S )Nr   )Úraise_for_statuszutf-8)Úencoding)r^   Úpip._internal.network.utilsr‰   ÚgetÚtextr   Ú	read_text)Úpath_or_urlÚsessionr‰   Úresps       rF   Ú_get_pylock_path_or_url_contentr’     sJ   € ô ˆ{Ôå@à�{‰{˜;Ó'ˆÙ˜ÔØ�y‰yÐô �Ó×&Ñ&°Ð&Ó8Ð8rH   © )ÚextrasÚdependency_groupsÚinclude_default_groupsc             #  ó$  ‡K  — 	 t        | |«      }	 t	        j
                  t        j                  |«      «      }|D �	ch c]  }	t        |	«      ’Œ }
}	|r|
j                  |j                  xs d«       dˆfd„}	 |j                  ||
|¬«      E d {  –—†  y # t        $ r ‚ t        $ r}t        d| ›d|› �«      |‚d }~ww xY w# t        $ r}t        d| ›d|› �«      |‚d }~ww xY wc c}	w 7 ŒY# t        $ r}t        d| ›d|› �«      |‚d }~ww xY w­w)	NzError reading pylock file z: zInvalid pylock file r“   c                ó@   •— ‰€y‰j                  | «      }d|v rd|vryy)NFÚsourceÚbinaryT)Úget_allowed_formats)r(   Úallowed_formatsÚformat_controls     €rF   Úprefer_sdist_predicatez>select_from_pylock_path_or_url.<locals>.prefer_sdist_predicate2  s1   ø€ ØÐ!ØØ(×<Ñ<¸TÓBˆØ�Ñ&¨8¸?Ñ+JØØrH   )r”   r•   rž   z,Cannot select requirements from pylock file )r(   r   ÚreturnÚbool)r’   r   Ú	Exceptionr   r   Ú	from_dictr   Úloadsr   ÚupdateÚdefault_groupsÚselect)rn   r�   r�   r”   r•   r–   Úpylock_contentÚexcÚlockr(   Úselected_groupsrž   s     `         rF   Úselect_from_pylock_path_or_urlr«     sP  øè ø€ ðÜ8Ð9KÈWÓUˆðÜ×Ñ¤§¡¨nÓ =Ó>ˆð FWÖ W¸TÔ!2°4Õ!8Ð W€OÐ WÙØ×Ñ˜t×2Ñ2Ò8°bÔ9õð
à—;‘;ØØ-Ø#9ð ó 
÷ 	
ñ 	
øô9 ò ØÜò ÜØ(Ð);Ð(>¸bÀÀÐFó
àð	ûðûô ò ÜØ"Ð#5Ð"8¸¸3¸%Ð@ó
àð	ûðüò
 !Xð	
ùô
 ò ÜØ:Ð;MÐ:PÐPRÐSVÐRWÐXó
àð	ûðüs…   ƒD…B ’(C ºD¾C&Á)DÁ:C- ÂC+ÂC- ÂDÂC Â)B;Â;C Ã DÃ	C#ÃCÃC#Ã#DÃ+C- Ã-	DÃ6DÄDÄD)r<   r   r=   r   rŸ   r   )rW   zIterable[InstallRequirement]r=   r   rŸ   r   )r]   ÚstrrŸ   r    )r:   r¬   r_   r    rŸ   r    )rn   r¬   r"   ú
str | Noner!   r­   rŸ   r¬   )rn   r¬   r@   r   rŸ   r¬   )rn   r¬   rB   r   rŸ   r¬   )rn   r¬   rA   r   rŸ   r¬   )rn   r¬   rC   r   rŸ   r¬   )rn   r¬   r†   r   rŸ   r¬   )r�   r¬   r�   r   rŸ   r¬   )rn   r¬   r�   r   r�   zFormatControl | Noner”   zCollection[str] | Noner•   zIterable[str]r–   r    rŸ   zfIterator[tuple[Package, PackageVcs | PackageDirectory | PackageArchive | PackageWheel | PackageSdist]])8Ú
__future__r   rg   Úcollections.abcr   r   r   Úpathlibr   Útypingr   Úurllib.parser	   r
   Úpip._vendor.packaging.pylockr   r   r   r   r   r   r   r   Úpip._vendor.packaging.utilsr   r   Úpip._vendor.packaging.versionr   Úpip._internal.exceptionsr   r   Úpip._internal.models.linkr   Úpip._internal.utils.compatr   Úpip._internal.utils.urlsr   r   Ú"pip._internal.index.package_finderr   Úpip._internal.network.sessionr   Úpip._internal.req.req_installr   rG   rX   r^   re   rr   r{   r}   r€   rƒ   r‡   r’   r«   r“   rH   rF   ú<module>r½      s°  ðÝ "ã 	ß :Ñ :Ý Ý  ß *÷	÷ 	ó 	÷ JÝ 1ç JÝ *Ý .ß =áÝ@Ý8Ý@ðQØ
ðQØ(,ðQàóQðhØ6ðØBFðàóó >ð CGõ &ð'Øð'Ø#-ð'Ø4>ð'àó'ðTØðØ*4ðàóðØðØ.<ðàóð ØðØ0@ðàóð*XØðXØ,8ðXàóXðXØðXØ,8ðXàóXó9ð( &*Ø')Ø#'ñ4Øð4àð4ð )ð4ð
 #ð4ð %ð4ð !ð4ðô4rH   