Ë
    ”U.jŽ$  ã                  óæ  — d dl m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 d dlmZmZmZmZmZmZmZmZ d dlmZ d d	l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„Z&	 	 	 	 	 	 dd„Z' ejP                  dejR                  «      Z*dd„Z+dd„Z,	 	 	 	 	 	 	 	 d d„Z-	 	 	 	 	 	 d!d„Z.	 	 	 	 	 	 d"d„Z/	 	 	 	 	 	 d#d„Z0	 	 	 	 	 	 d$d„Z1	 	 	 	 	 	 d%d„Z2d&d„Z3	 	 	 	 	 	 d'd„Z4y)(é    )ÚannotationsN)ÚIterableÚIterator)ÚPath)ÚTYPE_CHECKING)ÚurljoinÚurlsplit)ÚPackageÚPackageArchiveÚPackageDirectoryÚPackageSdistÚ
PackageVcsÚPackageWheelÚPylockÚis_valid_pylock_path)ÚVersion)ÚInstallationError)ÚLink)Útomllib)Úpath_to_urlÚurl_to_path)Ú
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Údistr,   Úpackage_versionÚpackage_vcsÚpackage_directoryÚpackage_archiveÚpackage_sdistÚpackage_wheelsÚlinks              ú\C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\pip/_internal/utils/pylock.pyÚ(_pylock_package_from_install_requirementrB       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)rB   )Ú.0r7   r8   s     €rA   Ú	<genexpr>z3pylock_from_install_requirements.<locals>.<genexpr>{   s    øè ø€ ð á0�Dô 9¸¸x×HÙ0ùs   ƒc                ó   — | j                   S rG   )r#   )Úps    rA   Ú<lambda>z2pylock_from_install_requirements.<locals>.<lambda>   s   € ˜!Ÿ&š&rC   )Úkey)Úlock_versionÚ
created_byÚpackages)r   r   Úsorted)Úinstall_requirementsr8   s    `rA   Ú pylock_from_install_requirementsrS   t   s6   ø€ ô Ü˜U“^ØÜóá0óñ !ô
ô
ð 
rC   z^(http|https|file)://c                ó>   — t        t        j                  | «      «      S rG   )ÚboolÚ
_SCHEME_REÚmatch)Úss    rA   Ú_is_urlrY   ‡   s   € Ü”
× Ñ  Ó#Ó$Ð$rC   c                óº   — t        | «      r;t        t        | «      j                  j	                  d«      d   «      }t        |«      S t        | «      }t        |«      S )NÚ/éÿÿÿÿ)rY   r   r	   r   Ú
rpartitionr   )r5   r   s     rA   Úis_valid_pylock_filenamer^   ‹   sR   € ÜˆxÔÜ”H˜XÓ&×+Ñ+×6Ñ6°sÓ;¸BÑ?Ó@ˆô   Ó%Ð%ô �H‹~ˆÜ Ó%Ð%rC   c                óX  — |�£t         j                  j                  |«      s]t        | «      rt	        | |«      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.
    zFAbsolute paths are not supported in pylock files obtained from a URL: z in )	Úosr   ÚisabsrY   r   r   ÚjoinÚdirnamer   )Úpylock_path_or_urlr   r   s      rA   Ú_package_dist_urlre   “   sª   € ð ÐÜ�w‰w�}‰}˜TÔ"äÐ)Ô*ÜÐ1°4Ó8Ð8ä"Ü—G‘G—L‘L¤§¡§¡Ð1CÓ!DÀdÓKóð ô
 Ð)Ô*Ü'ð#Ø#' (¨$Ð/AÐ.DðFóð ô ˜tÓ$Ð$àˆÐˆØˆ
rC   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=)re   r   r   r   r   r    r   )rd   r;   Údist_urlr   s       rA   Úpackage_vcs_requirement_urlro   ±   s•   € ô !Ð!3°[×5EÑ5EÀ{ÇÁÓW€HØ×ÑÐ˜a ˜z¨¨;×+@Ñ+@Ð*AÐ
B€CØ×ÒØ�#‰:Ü#Ø˜s˜gð &/Ø/AÐ.DÀAðGóð ð 	Ð +×":Ñ":Ñ:Ñ:ˆØ€JrC   c                ó°   — t        | |j                  |j                  «      }|j                  r(d|v rt	        d|›d| ›d�«      ‚|d|j                  z   z  }|S )Nri   rj   rk   rl   rm   )re   r   r   r    r   )rd   r=   r   s      rA   Úpackage_archive_requirement_urlrq   À   sw   € ô Ø˜O×0Ñ0°/×2EÑ2Eó€Cð ×#Ò#Ø�#‰:Ü#Ø˜s˜gð &/Ø/AÐ.DÀAðGóð ð 	Ð /×">Ñ">Ñ>Ñ>ˆØ€JrC   c                ó<  — t        | «      r| 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 )Nzfile://z:Directory entries are not supported in remote pylock.toml r[   )rY   Ú
startswithr   re   r   Úendswithr    )rd   r<   r   s      rA   Ú!package_directory_requirement_urlru   Ð   s©   € ô Ð!Ô"Ð+=×+HÑ+HÈÔ+SÜØHØ!Ð$ð&ó
ð 	
ô Ð.Ð0A×0FÑ0FÈÓ
M€CØ�>‰>˜)Ô$Ð$Ð$Ø�<‰<˜ÔØˆs‰
ˆØ×%Ò%ØÐ ×-Ñ-Ñ-ˆØ�|‰|˜CÔ Ø�3‰JˆCØ€JrC   c                óD   — t        | |j                  |j                  «      S rG   ©re   r   r   )rd   r>   s     rA   Úpackage_sdist_requirement_urlrx   ã   ó    € ô Ð/°×1CÑ1CÀ]×EVÑEVÓWÐWrC   c                óD   — t        | |j                  |j                  «      S rG   rw   )rd   Úpackage_wheels     rA   Úpackage_wheel_requirement_urlr|   é   ry   rC   c                óÀ   — t        | «      j                  }|dv r+ddlm} |j	                  | «      } ||«       |j
                  S t        | «      j                  d¬«      S )N)ÚhttpÚhttpsÚfiler   )Úraise_for_statuszutf-8)Úencoding)r	   ÚschemeÚpip._internal.network.utilsr�   ÚgetÚtextr   Ú	read_text)Úpath_or_urlÚsessionrƒ   r�   Úresps        rA   Ú_get_pylock_path_or_url_contentr‹   ï   sY   € ä�kÓ"×)Ñ)€FàÐ*Ñ*å@à�{‰{˜;Ó'ˆÙ˜ÔØ�y‰yÐô �Ó×&Ñ&°Ð&Ó8Ð8rC   c              #  ó€  K  — 	 t        | |«      }	 t        j                  t        j                  |«      «      }	 |j                  «       E d {  –—†  y # t        $ r}t        d| ›d|› �«      |‚d }~ww xY w# t        $ r}t        d| ›d|› �«      |‚d }~ww xY w7 ŒK# t        $ r}t        d| ›d|› �«      |‚d }~ww xY w­w)NzError reading pylock file z: zInvalid pylock file z,Cannot select requirements from pylock file )r‹   Ú	Exceptionr   r   Ú	from_dictr   ÚloadsÚselect)rd   r‰   Úpylock_contentÚexcÚlocks        rA   Úselect_from_pylock_path_or_urlr”   ÿ   sê   è ø€ ðÜ8Ð9KÈWÓUˆðÜ×Ñ¤§¡¨nÓ =Ó>ˆðØ—;‘;“=× Ñ øô ò ÜØ(Ð);Ð(>¸bÀÀÐFó
àð	ûðûô ò ÜØ"Ð#5Ð"8¸¸3¸%Ð@ó
àð	ûðúð 	!ùÜò ÜØ:Ð;MÐ:PÐPRÐSVÐRWÐXó
àð	ûðüst   ‚B>„A ‘(A6 ºB ÁBÁB ÁB>Á	A3ÁA.Á.A3Á3B>Á6	BÁ?BÂBÂB>ÂB Â	B;Â$B6Â6B;Â;B>)r7   r   r8   r   Úreturnr
   )rR   zIterable[InstallRequirement]r8   r   r•   r   )rX   Ústrr•   rU   )r5   r–   r•   rU   )rd   r–   r   ú
str | Noner   r—   r•   r–   )rd   r–   r;   r   r•   r–   )rd   r–   r=   r   r•   r–   )rd   r–   r<   r   r•   r–   )rd   r–   r>   r   r•   r–   )rd   r–   r{   r   r•   r–   )rˆ   r–   r‰   r   r•   r–   )rd   r–   r‰   r   r•   zfIterator[tuple[Package, PackageVcs | PackageDirectory | PackageArchive | PackageWheel | PackageSdist]])5Ú
__future__r   r`   Ú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   Úpip._internal.models.linkr   Úpip._internal.utils.compatr   Úpip._internal.utils.urlsr   r   Úpip._internal.network.sessionr   Úpip._internal.req.req_installr   rB   rS   ÚcompileÚ
IGNORECASErV   rY   r^   re   ro   rq   ru   rx   r|   r‹   r”   © rC   rA   Ú<module>r©      s‡  ðÝ "ã 	Û 	ß .Ý Ý  ß *÷	÷ 	ó 	õ 2å 6Ý *Ý .ß =áÝ8Ý@ðQØ
ðQØ(,ðQàóQðhØ6ðØBFðàóð  ˆR�Z‰ZÐ/°·±Ó?€
ó%ó&ðØðØ#-ðØ4>ðàóð<ØðØ*4ðàóðØðØ.<ðàóð ØðØ0@ðàóð&XØðXØ,8ðXàóXðXØðXØ,8ðXàóXó9ð ØðàððôrC   