Ë
    ªŒj}-  ã                  ó’  — d dl mZ d dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
mZmZ e	r,d dlZd dlmZ d dlmZ ej                   dk\  rd dlmZ nd dlmZ g d	¢Zd'd
„Z ed«      Z G d„ de«      Z ede¬«      Zd(d„Zd)d„Zd*d„Z	 	 	 	 	 	 	 	 d+d„Z ej8                  d«      Zd,d„Zd-d„Zd.d„Z  G d„ de!«      Z" G d„ de"«      Z# ejH                  dd¬«       G d„ d «      «       Z% ejH                  dd¬«       G d!„ d"«      «       Z& ejH                  dd¬«       G d#„ d$«      «       Z' ejH                  dd¬«       G d%„ d&«      «       Z(y)/é    )ÚannotationsN)ÚMapping)ÚTYPE_CHECKINGÚAnyÚProtocolÚTypeVar)Ú
Collection)ÚSplitResult)é   é   )ÚSelf)ÚArchiveInfoÚDirInfoÚ	DirectUrlÚDirectUrlValidationErrorÚVcsInfoc                 ó   — t         S ©N)Ú__all__© ó    ú^/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/packaging/direct_url.pyÚ__dir__r      s   € Ü€Nr   Ú_Tc                  ó   — 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©r    úMapping[str, Any]Úreturnr   )Ú__name__Ú
__module__Ú__qualname__Úclassmethodr!   r   r   r   r   r   #   s   „ ØÚ:ó Ù:r   r   Ú_FromMappingProtocolT)Úboundc                ó@   — | D ��ci c]  \  }}|€Œ	||“Œ c}}S c c}}w r   r   )ÚdataÚkeyÚvalues      r   Ú_json_dict_factoryr/   +   s'   € Ù)-ÔC©™:˜3 °Ñ1BˆC�‰J¨ÒCÐCùÓCs   †
‘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.NzUnexpected type z (expected Ú)©Úcontext)ÚgetÚ
isinstancer   Útyper%   ©r    Úexpected_typer-   r.   s       r   Ú_getr9   /   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.)r9   Ú_DirectUrlRequiredKeyErrorr7   s       r   Ú_get_requiredr<   <   s&   € ä�a˜¨Ó,Ð,ˆÐ5Ü(¨Ó-Ð-Ø€Lr   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.Nr2   )r9   r   r!   Ú	Exceptionr   )r    Útarget_typer-   r.   Úes        r   Ú_get_objectrA   C   sP   € ô �aœ #Ó&Ð&ˆÐ/Øð>Ø×%Ñ% eÓ,Ð,øÜò >Ü& q°#Ô6¸AÐ=ûð>ús   –' §	A°>¾Az.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$c                óv   — d| vr| S | j                  dd«      \  }}||v r| S t        j                  |«      r| S |S )NÚ@é   )ÚrsplitÚ _PEP610_USER_PASS_ENV_VARS_REGEXÚmatch)ÚnetlocÚsafe_user_passwordsÚ	user_passÚnetloc_no_user_passs       r   Ú_strip_auth_from_netlocrL   T   sL   € Ø
�&ÑØˆØ%+§]¡]°3¸Ó%:Ñ"€IÐ"ØÐ'Ñ'ØˆÜ'×-Ñ-¨iÔ8ØˆØÐr   c                ó  — t         j                  j                  | «      }t        |j                  |«      }t         j                  j                  |j                  ||j                  |j                  |j                  f«      S )z¥url with user:password part removed unless it is formed with
    environment variables as specified in PEP 610, or it is a safe user:password
    such as `git`.
    )
ÚurllibÚparseÚurlsplitrL   rH   Ú
urlunsplitÚschemeÚpathÚqueryÚfragment)ÚurlrI   Ú
parsed_urlrH   s       r   Ú
_strip_urlrX   _   sl   € ô
 —‘×&Ñ& sÓ+€JÜ$ Z×%6Ñ%6Ð8KÓL€FÜ�<‰<×"Ñ"à×ÑØØ�O‰OØ×ÑØ×Ñð	
óð r   c                ó8   — | j                   j                  d«      S )NÚ/)rS   Ú
startswith)rW   s    r   Ú_file_url_has_absolute_pathr\   q   s   € Ø�?‰?×%Ñ% cÓ*Ð*r   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   zSRaised when when input data is not spec-compliant.

    .. versionadded:: 26.1
    Nú
str | Noner3   ÚstrÚmessager2   c               óæ   — t        |t        «      rJ|j                  r%|r|› d|j                  › �n|j                  | _        n|| _        |j                  | _        y || _        t	        |«      | _        y )NÚ.)r5   r   r3   r`   r_   )ÚselfÚcauser3   s      r   Ú__init__z!DirectUrlValidationError.__init__~   s]   € ô �eÔ5Ô6Ø�}Š}á4;�w�i˜q §¡ Ñ0ÀÇÁð •ð  '�”Ø Ÿ=™=ˆD�Là"ˆDŒLÜ˜u›:ˆD�Lr   c                óh   — | j                   r| j                  › d| j                   ›�S | j                  S )Nz in )r3   r`   ©rc   s    r   Ú__str__z DirectUrlValidationError.__str__�   s-   € Ø�<Š<Ø—l‘l�^ 4¨¯©Ð'7Ð8Ð8Ø�|‰|Ðr   )rd   zstr | Exceptionr3   r^   r$   ÚNone)r$   r_   )r%   r&   r'   Ú__doc__r3   Ú__annotations__re   rh   r   r   r   r   r   u   sC   … ñð
 €GˆZÓØƒLð #ñ	&àð&ð ð	&ð
 
ó&ô$r   r   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )r;   c                ó(   •— t         ‰| �  d|¬«       y )NzMissing required valuer2   )Úsuperre   )rc   r-   Ú	__class__s     €r   re   z#_DirectUrlRequiredKeyError.__init__—   s   ø€ Ü‰ÑÐ1¸3ÐÕ?r   )r-   r_   r$   ri   )r%   r&   r'   re   Ú__classcell__)ro   s   @r   r;   r;   –   s   ø„ ÷@ñ @r   r;   TF)ÚfrozenÚinitc                  ób   — e Zd ZU dZded<   ded<   dZded<   ddœ	 	 	 	 	 	 	 dd	„Zedd
„«       Zy)r   z8The version control information of a :class:`DirectUrl`.r_   ÚvcsÚ	commit_idNr^   Úrequested_revision)rv   c               óŽ   — t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       y )Nrt   ru   rv   ©ÚobjectÚ__setattr__)rc   rt   ru   rv   s       r   re   zVcsInfo.__init__£   s<   € ô 	×Ñ˜4 ¨Ô,Ü×Ñ˜4 ¨iÔ8Ü×Ñ˜4Ð!5Ð7IÕJr   c           	     ór   —  | t        |t        d«      t        |t        d«      t        |t        d«      ¬«      S )Nrt   rv   ru   )rt   rv   ru   )r<   r_   r9   r   s     r   r!   zVcsInfo._from_dict®   s6   € ñ Ü˜a¤ eÓ,Ü# A¤sÐ,@ÓAÜ# A¤s¨KÓ8ô
ð 	
r   )rt   r_   ru   r_   rv   r^   r$   ri   r"   )	r%   r&   r'   rj   rk   rv   re   r(   r!   r   r   r   r   r   ›   se   … áBà	ƒHØƒNØ%)Ð˜
Ó)ð *.ñ	Kð ð	Kð ð		Kð
 'ð	Kð 
ó	Kð ò
ó ñ
r   r   c                  óF   — e Zd ZU dZdZded<   ddœ	 	 	 dd„Zed	d„«       Zy)
r   z0The archive information of a :class:`DirectUrl`.NúMapping[str, str] | NoneÚhashes©r~   c               ó2   — t         j                  | d|«       y )Nr~   rx   )rc   r~   s     r   re   zArchiveInfo.__init__¾   s   € ô
 	×Ñ˜4 ¨6Õ2r   c                óp  — t        |t        d«      }|�-t        d„ |j                  «       D «       «      st	        dd¬«      ‚t        |t
        d«      }|�[d|vrt	        dd¬«      ‚|j                  dd«      \  }}|€||i}n.||vrt	        d	|›d
�d¬«      ‚||   |k7  rt	        d	|›d�d¬«      ‚ | |¬«      S )Nr~   c              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr   )r5   r_   )Ú.0Úhs     r   Ú	<genexpr>z)ArchiveInfo._from_dict.<locals>.<genexpr>È   s   è ø€ Ð)VÁoÀ¬*°Q¼×*<Áoùs   ‚zHash values must be stringsr2   ÚhashÚ=z3Invalid hash format (expected '<algorithm>=<hash>')rD   z
Algorithm z2 used in hash field is not present in hashes fieldz7 used in hash field has different value in hashes fieldr   )r9   r   ÚallÚvaluesr   r_   Úsplit)r   r    r~   Úlegacy_hashÚhash_algorithmÚ
hash_values         r   r!   zArchiveInfo._from_dictÅ   sþ   € ä�aœ (Ó+ˆØÐ¤cÑ)VÀfÇmÁmÄoÓ)VÔ&VÜ*Ø-°xôð ô ˜1œc 6Ó*ˆØÐ"Ø˜+Ñ%Ü.ØIØ"ôð ð *5×):Ñ):¸3ÀÓ)BÑ&ˆN˜JØˆ~à(¨*Ð5‘ð "¨Ñ/Ü2Ø$ ^Ð$6ð 79ð :à (ôð ð
 ˜.Ñ)¨ZÒ7Ü2Ø$ ^Ð$6ð 7>ð ?à &ôð ñ
 ˜&Ô!Ð!r   )r~   r}   r$   ri   r"   )	r%   r&   r'   rj   r~   rk   re   r(   r!   r   r   r   r   r   ¸   sB   … á:à'+€FÐ$Ó+ð
 ,0ñ3ð )ð3ð 
ó	3ð ò"ó ñ"r   r   c                  óF   — e Zd ZU dZdZded<   ddœ	 	 	 dd„Zed	d„«       Zy)
r   z8The local directory information of a :class:`DirectUrl`.Núbool | NoneÚeditable©r�   c               ó2   — t         j                  | d|«       y )Nr�   rx   )rc   r�   s     r   re   zDirInfo.__init__î   s   € ô
 	×Ñ˜4 ¨XÕ6r   c                ó2   —  | t        |t        d«      ¬«      S )Nr�   r‘   )r9   Úboolr   s     r   r!   zDirInfo._from_dictõ   s   € áÜ˜!œT :Ó.ô
ð 	
r   )r�   r�   r$   ri   r"   )	r%   r&   r'   rj   r�   rk   re   r(   r!   r   r   r   r   r   è   sA   … áBà €HˆkÓ ð
 !%ñ7ð ð7ð 
ó	7ð ò
ó ñ
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ddddœ	 	 	 	 	 	 	 	 	 	 	 dd„Z	e
dd„«       Ze
dd„«       Zddddœ	 	 	 	 	 	 	 dd„Zdd„Zy)r   zCA class representing a direct URL.

    .. versionadded:: 26.1
    r_   rV   NúArchiveInfo | NoneÚarchive_infoúVcsInfo | NoneÚvcs_infoúDirInfo | NoneÚdir_infor^   Úsubdirectory)r—   r™   r›   rœ   c               óê   — t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       t         j                  | d|«       y )NrV   r—   r™   r›   rœ   rx   )rc   rV   r—   r™   r›   rœ   s         r   re   zDirectUrl.__init__	  s^   € ô 	×Ñ˜4 ¨Ô,Ü×Ñ˜4 °Ô>Ü×Ñ˜4 ¨XÔ6Ü×Ñ˜4 ¨XÔ6Ü×Ñ˜4 °Õ>r   c                ó&  —  | t        |t        d«      t        |t        d«      t        |t        d«      t        |t
        d«      t        |t        d«      ¬«      }t        |j                  «      t        |j                  «      z   t        |j                  «      z   dk7  rt        d«      ‚|j                  �]t        j                  j                  |j                  «      }|j                   d	k7  rt        d
d¬«      ‚t#        |«      st        dd¬«      ‚|S )NrV   r—   r™   r›   rœ   )rV   r—   r™   r›   rœ   rD   z?Exactly one of vcs_info, archive_info, dir_info must be presentÚfilez3URL scheme must be file:// when dir_info is presentr2   z2File URL must be absolute when dir_info is present)r<   r_   rA   r   r   r   r9   r”   r™   r—   r›   r   rN   rO   rP   rV   rR   r\   )r   r    Ú
direct_urlrW   s       r   r!   zDirectUrl._from_dict  s  € áÜ˜a¤ eÓ,Ü$ Q¬°^ÓDÜ  ¤G¨ZÓ8Ü  ¤G¨ZÓ8Ü˜a¤ nÓ5ô
ˆ
ô �×$Ñ$Ó%Ü�:×*Ñ*Ó+ñ,ä�:×&Ñ&Ó'ñ(ð ò	ô
 +ØQóð ð ×ÑÐ*ÜŸ™×.Ñ.¨z¯~©~Ó>ˆJØ× Ñ  FÒ*Ü.ØIØ!ôð ô /¨zÔ:Ü.ØHØ!ôð ð
 Ðr   c               ó$   — | j                  |«      S )z@Create and validate a DirectUrl instance from a JSON dictionary.)r!   r   s     r   Ú	from_dictzDirectUrl.from_dict8  s   € ð �~‰~˜aÓ Ð r   FT)Úgit)Úgenerate_legacy_hashÚstrip_user_passwordrI   c               óF  — t        j                  | t        ¬«      }|rh| j                  r\| j                  j                  rFt        t        | j                  j                  j                  «       «      «      \  }}|› d|› �|d   d<   |rt        | j                  |«      |d<   |S )aŽ  Convert the DirectUrl instance to a JSON dictionary.

        :param generate_legacy_hash: If True, include a legacy `hash` field in
            `archive_info` for backward compatibility with tools that don't
            support the `hashes` field.
        :param strip_user_password: If True, strip user:password from the URL
            unless it is formed with environment variables as specified in PEP
            610, or it is a safe user:password such as `git`.
        :param safe_user_passwords: A collection of user:password strings that
            should not be stripped from the URL even if `strip_user_password` is
            True.
        )Údict_factoryr‡   r—   r†   rV   )
ÚdataclassesÚasdictr/   r—   r~   ÚnextÚiterÚitemsrX   rV   )rc   r¤   r¥   rI   ÚresrŒ   r�   s          r   Úto_dictzDirectUrl.to_dict=  s‘   € ô& × Ñ  Ô4FÔGˆÙ D×$5Ò$5¸$×:KÑ:K×:RÒ:RÜ)-¬d°4×3DÑ3D×3KÑ3K×3QÑ3QÓ3SÓ.TÓ)UÑ&ˆN˜JØ-;Ð,<¸A¸j¸\Ð*JˆC�Ñ Ñ'ÙÜ# D§H¡HÐ.AÓBˆC�‰JØˆ
r   c                óB   — | j                  | j                  «       «       y)z�Validate the DirectUrl instance against the specification.

        Raises :class:`DirectUrlValidationError` if invalid.
        N)r¢   r®   rg   s    r   ÚvalidatezDirectUrl.validateX  s   € ð
 	�‰�t—|‘|“~Õ&r   )rV   r_   r—   r–   r™   r˜   r›   rš   rœ   r^   r$   ri   r"   )r¤   r”   r¥   r”   rI   úCollection[str]r$   r#   )r$   ri   )r%   r&   r'   rj   rk   r—   r™   r›   rœ   re   r(   r!   r¢   r®   r°   r   r   r   r   r   ü   së   … ñð
 
ƒHØ'+€LÐ$Ó+Ø#€HˆnÓ#Ø#€HˆnÓ#Ø#€L�*Ó#ð ,0Ø#'Ø#'Ø#'ñ?ð ð?ð )ð	?ð
 !ð?ð !ð?ð !ð?ð 
ó?ð òó ðð> ò!ó ð!ð &+Ø$(Ø/7ñð #ðð "ð	ð
 -ðð 
óô6'r   r   )r$   z	list[str])r,   zlist[tuple[str, Any]]r$   zdict[str, Any])r    r#   r8   útype[_T]r-   r_   r$   z	_T | None)r    r#   r8   r²   r-   r_   r$   r   )r    r#   r?   ztype[_FromMappingProtocolT]r-   r_   r$   z_FromMappingProtocolT | None)rH   r_   rI   r±   r$   r_   )rV   r_   rI   r±   r$   r_   )rW   r
   r$   r”   ))Ú
__future__r   r¨   ÚreÚurllib.parserN   Úcollections.abcr   Útypingr   r   r   r   Úsysr	   r
   Úversion_infor   Útyping_extensionsr   r   r   r   r)   r/   r9   r<   rA   ÚcompilerF   rL   rX   r\   r>   r   r;   Ú	dataclassr   r   r   r   r   r   r   Ú<module>r½      sˆ  ðÝ "ã Û 	Û Ý #ß 8Ó 8áÛÝ*Ý(à
×Ñ˜7Ò"Þå*ò€óñ ˆTƒ]€ô;˜8ô ;ñ
  Ð 7Ð?SÔTÐ óDó
óð	>Øð	>Ø'Bð	>ØILð	>à!ó	>ð $. 2§:¡:Ø5ó$Ð  ó
óó$+ô˜yô ôB@Ð!9ô @ð
 €×Ñ˜d¨Ô/÷
ð 
ó 0ð
ð8 €×Ñ˜d¨Ô/÷,"ð ,"ó 0ð,"ð^ €×Ñ˜d¨Ô/÷
ð 
ó 0ð
ð& €×Ñ˜d¨Ô/÷`'ð `'ó 0ñ`'r   