§
    k•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 ej        dk    rd dlmZ nd dlmZ g d¢Zd8d„Z ed¦  «        Z G d„ de¦  «        Z ede¬¦  «        Zd9d„Zd:d„Zd;d„Zd<d!„Z ej        d"¦  «        Zd=d&„Zd>d(„Z G d)„ d*e¦  «        Z  G d+„ d,e ¦  «        Z! ej"        d-d.¬/¦  «         G d0„ d1¦  «        ¦   «         Z# ej"        d-d.¬/¦  «         G d2„ d3¦  «        ¦   «         Z$ ej"        d-d.¬/¦  «         G d4„ d5¦  «        ¦   «         Z% ej"        d-d.¬/¦  «         G d6„ d7¦  «        ¦   «         Z&dS )?é    )ÚannotationsN)ÚMapping)ÚTYPE_CHECKINGÚAnyÚProtocolÚTypeVar)Ú
Collection)é   é   )ÚSelf)ÚArchiveInfoÚDirInfoÚ	DirectUrlÚDirectUrlValidationErrorÚVcsInfoÚreturnú	list[str]c                 ó   — t           S ©N)Ú__all__© ó    úc/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/packaging/direct_url.pyÚ__dir__r      s   € Ý€Nr   Ú_Tc                  ó&   — e Zd Zedd„¦   «         ZdS )Ú_FromMappingProtocolÚdúMapping[str, Any]r   r   c                ó   — d S r   r   ©Úclsr   s     r   Ú
_from_dictz_FromMappingProtocol._from_dict#   s   € Ø7:°sr   N©r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Úclassmethodr#   r   r   r   r   r   "   s&   € € € € € ØØ:Ð:Ð:ñ „[Ø:Ð:Ð:r   r   Ú_FromMappingProtocolT)ÚboundÚdataúlist[tuple[str, Any]]údict[str, Any]c                ó   — d„ | D ¦   «         S )Nc                ó   — i | ]
\  }}|®||“ŒS r   r   )Ú.0ÚkeyÚvalues      r   ú
<dictcomp>z&_json_dict_factory.<locals>.<dictcomp>+   s#   € ÐCÐCÐC™:˜3 °Ð1BˆC�Ð1BÐ1BÐ1Br   r   )r+   s    r   Ú_json_dict_factoryr4   *   s   € ØCÐC¨ÐCÑCÔCÐCr   r   r   Úexpected_typeútype[_T]r1   Ústrú	_T | Nonec                ó¶   — |                       |¦  «        x}€dS t          ||¦  «        s/t          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   r5   r1   r2   s       r   Ú_getrA   .   s~   € à—’�s‘”ÐˆÐ$ØˆtÝ�e˜]Ñ+Ô+ð 
Ý&ð3�t E™{œ{Ô3ð 3ð 3Ø&Ô/ð3ð 3ð 3àð
ñ 
ô 
ð 	
ð
 €Lr   c                óJ   — t          | ||¦  «        x}€t          |¦  «        ‚|S )zKGet a required value from the dictionary and verify it's the expected type.)rA   Ú_DirectUrlRequiredKeyErrorr@   s       r   Ú_get_requiredrD   ;   s,   € å�a˜¨Ñ,Ô,Ð,ˆÐ5Ý(¨Ñ-Ô-Ð-Ø€Lr   Útarget_typeútype[_FromMappingProtocolT]ú_FromMappingProtocolT | Nonec                óª   — t          | t          |¦  «        x}€dS 	 |                     |¦  «        S # t          $ r}t	          ||¬¦  «        |‚d}~ww xY w)zIGet a dictionary value from the dictionary and convert it to a dataclass.Nr;   )rA   r   r#   Ú	Exceptionr   )r   rE   r1   r2   Úes        r   Ú_get_objectrK   B   sm   € õ �a� #Ñ&Ô&Ð&ˆÐ/Øˆtð>Ø×%Ò% eÑ,Ô,Ð,øÝð >ð >ð >Ý& q°#Ð6Ñ6Ô6¸AÐ=øøøøð>øøøs   œ1 ±
A»AÁAz.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$ÚnetlocÚsafe_user_passwordsúCollection[str]c                óˆ   — d| vr| S |                       dd¦  «        \  }}||v r| S t                               |¦  «        r| S |S )Nú@é   )ÚsplitÚ _PEP610_USER_PASS_ENV_VARS_REGEXÚmatch)rL   rM   Ú	user_passÚnetloc_no_user_passs       r   Ú_strip_auth_from_netlocrW   S   s]   € Ø
�&ÐÐØˆØ%+§\¢\°#°qÑ%9Ô%9Ñ"€IÐ"ØÐ'Ð'Ð'ØˆÝ'×-Ò-¨iÑ8Ô8ð ØˆØÐr   Úurlc                óÚ   — t           j                             | ¦  «        }t          |j        |¦  «        }t           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ÚurlsplitrW   rL   Ú
urlunsplitÚschemeÚpathÚqueryÚfragment)rX   rM   Ú
parsed_urlrL   s       r   Ú
_strip_urlrc   ^   se   € õ
 ”×&Ò& sÑ+Ô+€JÝ$ ZÔ%6Ð8KÑLÔL€FÝŒ<×"Ò"àÔØØŒOØÔØÔð	
ñô ð r   c                  óB   — e Zd ZU dZdZded<   ded<   ddœdd„Zdd„ZdS )r   z2Raised when when input data is not spec-compliant.Nú
str | Noner<   r7   Úmessager;   Úcauseústr | Exceptionr   ÚNonec               óÔ   — t          |t          ¦  «        r7|j        r|r|› d|j        › �n|j        | _        n|| _        |j        | _        d S || _        t	          |¦  «        | _        d S )Nú.)r>   r   r<   rf   r7   )Úselfrg   r<   s      r   Ú__init__z!DirectUrlValidationError.__init__v   sw   € õ �eÕ5Ñ6Ô6ð 
	&ØŒ}ð 'à4;ÐN�wÐ0Ð0 ¤Ð0Ð0Ð0ÀÄð ”�ð  '�”Ø œ=ˆDŒLˆLˆLà"ˆDŒLÝ˜u™:œ:ˆDŒLˆLˆLr   c                ó@   — | j         r| j        › d| j         ›�S | j        S )Nz in )r<   rf   ©rl   s    r   Ú__str__z DirectUrlValidationError.__str__ˆ   s,   € ØŒ<ð 	9Ø”lÐ8Ð8¨¬Ð8Ð8Ð8ØŒ|Ðr   )rg   rh   r<   re   r   ri   )r   r7   )r%   r&   r'   Ú__doc__r<   Ú__annotations__rm   rp   r   r   r   r   r   p   sm   € € € € € € Ø<Ð<à€GÐÐÐÑØ€L€L�Lð #ð	&ð &ð &ð &ð &ð &ð$ð ð ð ð ð r   r   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )rC   r1   r7   r   ri   c                óN   •— t          ¦   «                              d|¬¦  «         d S )NzMissing required valuer;   )Úsuperrm   )rl   r1   Ú	__class__s     €r   rm   z#_DirectUrlRequiredKeyError.__init__�   s'   ø€ Ý‰Œ×ÒÐ1¸3ÐÑ?Ô?Ð?Ð?Ð?r   )r1   r7   r   ri   )r%   r&   r'   rm   Ú__classcell__)rv   s   @r   rC   rC   Ž   sG   ø€ € € € € ð@ð @ð @ð @ð @ð @ð @ð @ð @ð @r   rC   TF)ÚfrozenÚinitc                  óX   — e Zd ZU ded<   ded<   dZded<   ddœdd
„Zedd„¦   «         ZdS )r   r7   ÚvcsÚ	commit_idNre   Úrequested_revision)r}   r   ri   c               ó®   — t                                | d|¦  «         t                                | d|¦  «         t                                | d|¦  «         d S )Nr{   r|   r}   ©ÚobjectÚ__setattr__)rl   r{   r|   r}   s       r   rm   zVcsInfo.__init__™   sT   € õ 	×Ò˜4 ¨Ñ,Ô,Ð,Ý×Ò˜4 ¨iÑ8Ô8Ð8Ý×Ò˜4Ð!5Ð7IÑJÔJÐJÐJÐJr   r   r   r   c           	     ó–   —  | t          |t          d¦  «        t          |t          d¦  «        t          |t          d¦  «        ¬¦  «        S )Nr{   r}   r|   )r{   r}   r|   )rD   r7   rA   r!   s     r   r#   zVcsInfo._from_dict¤   sK   € ð ˆsÝ˜a¥ eÑ,Ô,Ý# A¥sÐ,@ÑAÔAÝ# A¥s¨KÑ8Ô8ð
ñ 
ô 
ð 	
r   )r{   r7   r|   r7   r}   re   r   ri   r$   )r%   r&   r'   rr   r}   rm   r(   r#   r   r   r   r   r   “   sƒ   € € € € € € à€H€H�HØ€N€N�NØ%)ÐÐ)Ð)Ð)Ñ)ð *.ð	Kð 	Kð 	Kð 	Kð 	Kð 	Kð ð
ð 
ð 
ñ „[ð
ð 
ð 
r   r   c                  óD   — e Zd ZU dZded<   ddœdd„Zedd„¦   «         ZdS )r   NúMapping[str, str] | NoneÚhashes©r…   r   ri   c               ó>   — t                                | d|¦  «         d S )Nr…   r   )rl   r…   s     r   rm   zArchiveInfo.__init__²   s"   € õ
 	×Ò˜4 ¨6Ñ2Ô2Ð2Ð2Ð2r   r   r   r   c                óÐ  — t          |t          d¦  «        }|�<t          d„ |                     ¦   «         D ¦   «         ¦  «        st	          dd¬¦  «        ‚t          |t
          d¦  «        }|�od|vrt	          dd¬¦  «        ‚|                     dd¦  «        \  }}|€||i}n:||vrt	          d	|›d
�d¬¦  «        ‚||         |k    rt	          d	|›d�d¬¦  «        ‚ | |¬¦  «        S )Nr…   c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S r   )r>   r7   )r0   Úhs     r   ú	<genexpr>z)ArchiveInfo._from_dict.<locals>.<genexpr>¼   s,   è è € Ð)VÐ)VÀ­*°Q½Ñ*<Ô*<Ð)VÐ)VÐ)VÐ)VÐ)VÐ)Vr   zHash values must be stringsr;   Úhashú=z3Invalid hash format (expected '<algorithm>=<hash>')rQ   z
Algorithm z2 used in hash field is not present in hashes fieldz7 used in hash field has different value in hashes fieldr†   )rA   r   ÚallÚvaluesr   r7   rR   )r"   r   r…   Úlegacy_hashÚhash_algorithmÚ
hash_values         r   r#   zArchiveInfo._from_dict¹   s[  € å�a� (Ñ+Ô+ˆØÐ¥cÐ)VÐ)VÀfÇmÂmÁoÄoÐ)VÑ)VÔ)VÑ&VÔ&VÐÝ*Ø-°xðñ ô ð õ ˜1�c 6Ñ*Ô*ˆØÐ"Ø˜+Ð%Ð%Ý.ØIØ"ðñ ô ð ð *5×):Ò):¸3ÀÑ)BÔ)BÑ&ˆN˜JØˆ~à(¨*Ð5��ð "¨Ð/Ð/Ý2ð: ^ð :ð :ð :à (ðñ ô ð ð
 ˜.Ô)¨ZÒ7Ð7Ý2ð? ^ð ?ð ?ð ?à &ðñ ô ð ð
 ˆs˜&Ð!Ñ!Ô!Ð!r   )r…   r„   r   ri   r$   )r%   r&   r'   r…   rr   rm   r(   r#   r   r   r   r   r   ®   sj   € € € € € € à'+€FÐ+Ð+Ð+Ñ+ð
 ,0ð3ð 3ð 3ð 3ð 3ð 3ð ð"ð "ð "ñ „[ð"ð "ð "r   r   c                  óD   — e Zd ZU dZded<   ddœdd„Zedd„¦   «         ZdS )r   Núbool | NoneÚeditable©r•   r   ri   c               ó>   — t                                | d|¦  «         d S )Nr•   r   )rl   r•   s     r   rm   zDirInfo.__init__à   s"   € õ
 	×Ò˜4 ¨XÑ6Ô6Ð6Ð6Ð6r   r   r   r   c                óB   —  | t          |t          d¦  «        ¬¦  «        S )Nr•   r–   )rA   Úboolr!   s     r   r#   zDirInfo._from_dictç   s*   € àˆsÝ˜!�T :Ñ.Ô.ð
ñ 
ô 
ð 	
r   )r•   r”   r   ri   r$   )r%   r&   r'   r•   rr   rm   r(   r#   r   r   r   r   r   Ü   sj   € € € € € € à €HÐ Ð Ð Ñ ð
 !%ð7ð 7ð 7ð 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dS )%r   z"A class representing a direct URL.r7   rX   NúArchiveInfo | NoneÚarchive_infoúVcsInfo | NoneÚvcs_infoúDirInfo | NoneÚdir_infore   Úsubdirectory)rœ   rž   r    r¡   r   ri   c               ó  — t                                | d|¦  «         t                                | d|¦  «         t                                | d|¦  «         t                                | d|¦  «         t                                | d|¦  «         d S )NrX   rœ   rž   r    r¡   r   )rl   rX   rœ   rž   r    r¡   s         r   rm   zDirectUrl.__init__ø   s‚   € õ 	×Ò˜4 ¨Ñ,Ô,Ð,Ý×Ò˜4 °Ñ>Ô>Ð>Ý×Ò˜4 ¨XÑ6Ô6Ð6Ý×Ò˜4 ¨XÑ6Ô6Ð6Ý×Ò˜4 °Ñ>Ô>Ð>Ð>Ð>r   r   r   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k    rt          d¦  «        ‚|j
        �+|j                             d	¦  «        st          d
d¬¦  «        ‚|S )NrX   rœ   rž   r    r¡   )rX   rœ   rž   r    r¡   rQ   z?Exactly one of vcs_info, archive_info, dir_info must be presentzfile://z3URL scheme must be file:// when dir_info is presentr;   )rD   r7   rK   r   r   r   rA   r™   rž   rœ   r    r   rX   Ú
startswith)r"   r   Ú
direct_urls      r   r#   zDirectUrl._from_dict  s  € à�SÝ˜a¥ eÑ,Ô,Ý$ Q­°^ÑDÔDÝ  ¥G¨ZÑ8Ô8Ý  ¥G¨ZÑ8Ô8Ý˜a¥ nÑ5Ô5ð
ñ 
ô 
ˆ
õ �Ô$Ñ%Ô%Ý�:Ô*Ñ+Ô+ñ,å�:Ô&Ñ'Ô'ñ(ð ò	ð õ
 +ØQñô ð ð ÔÐ*°:´>×3LÒ3LÈYÑ3WÔ3WÐ*Ý*ØEØðñ ô ð ð
 Ðr   c               ó,   — |                       |¦  «        S )z@Create and validate a DirectUrl instance from a JSON dictionary.)r#   r!   s     r   Ú	from_dictzDirectUrl.from_dict   s   € ð �~Š~˜aÑ Ô Ð r   FT)Úgit)Úgenerate_legacy_hashÚstrip_user_passwordrM   r©   r™   rª   rM   rN   c               ó0  — t          j        | t          ¬¦  «        }|r^| j        rW| j        j        rKt          t          | 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Œ   rX   )
ÚdataclassesÚasdictr4   rœ   r…   ÚnextÚiterÚitemsrc   rX   )rl   r©   rª   rM   Úresr‘   r’   s          r   Úto_dictzDirectUrl.to_dict%  s©   € õ& Ô  Õ4FÐGÑGÔGˆØð 	K DÔ$5ð 	K¸$Ô:KÔ:Rð 	KÝ)-­d°4Ô3DÔ3K×3QÒ3QÑ3SÔ3SÑ.TÔ.TÑ)UÔ)UÑ&ˆN˜JØ-;Ð*JÐ*J¸jÐ*JÐ*JˆC�Ô Ñ'Øð 	CÝ# D¤HÐ.AÑBÔBˆC�‰JØˆ
r   c                óT   — |                       |                      ¦   «         ¦  «         dS )z�Validate the DirectUrl instance against the specification.

        Raises :class:`DirectUrlValidationError` if invalid.
        N)r§   r³   ro   s    r   ÚvalidatezDirectUrl.validate@  s$   € ð
 	�Š�t—|’|‘~”~Ñ&Ô&Ð&Ð&Ð&r   )rX   r7   rœ   r›   rž   r�   r    rŸ   r¡   re   r   ri   r$   )r©   r™   rª   r™   rM   rN   r   r   )r   ri   )r%   r&   r'   rq   rr   rœ   rž   r    r¡   rm   r(   r#   r§   r³   rµ   r   r   r   r   r   î   s  € € € € € € à,Ð,à€H€H�HØ'+€LÐ+Ð+Ð+Ñ+Ø#€HÐ#Ð#Ð#Ñ#Ø#€HÐ#Ð#Ð#Ñ#Ø#€LÐ#Ð#Ð#Ñ#ð ,0Ø#'Ø#'Ø#'ð?ð ?ð ?ð ?ð ?ð ?ð ðð ð ñ „[ðð0 ð!ð !ð !ñ „[ð!ð &+Ø$(Ø/7ðð ð ð ð ð ð6'ð 'ð 'ð 'ð 'ð 'r   r   )r   r   )r+   r,   r   r-   )r   r   r5   r6   r1   r7   r   r8   )r   r   r5   r6   r1   r7   r   r   )r   r   rE   rF   r1   r7   r   rG   )rL   r7   rM   rN   r   r7   )rX   r7   rM   rN   r   r7   )'Ú
__future__r   r­   ÚreÚurllib.parserZ   Úcollections.abcr   Útypingr   r   r   r   Úsysr	   Úversion_infor   Útyping_extensionsr   r   r   r   r)   r4   rA   rD   rK   ÚcompilerS   rW   rc   rI   r   rC   Ú	dataclassr   r   r   r   r   r   r   ú<module>rÀ      s`  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8àð +Ø€J€J€JØ*Ð*Ð*Ð*Ð*Ð*à
Ô˜7Ò"Ð"ØÐÐÐÐÐÐà*Ð*Ð*Ð*Ð*Ð*ðð ð €ðð ð ð ð €WˆT�]„]€ð;ð ;ð ;ð ;ð ;˜8ñ ;ô ;ð ;ð
  ˜Ð 7Ð?SÐTÑTÔTÐ ðDð Dð Dð Dð
ð 
ð 
ð 
ðð ð ð ð	>ð 	>ð 	>ð 	>ð $. 2¤:Ø5ñ$ô $Ð  ð
ð ð ð ðð ð ð ð$ð ð ð ð ˜yñ ô ð ð<@ð @ð @ð @ð @Ð!9ñ @ô @ð @ð
 €Ô˜d¨Ð/Ñ/Ô/ð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ 0Ô/ð
ð4 €Ô˜d¨Ð/Ñ/Ô/ð*"ð *"ð *"ð *"ð *"ñ *"ô *"ñ 0Ô/ð*"ðZ €Ô˜d¨Ð/Ñ/Ô/ð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ 0Ô/ð
ð" €Ô˜d¨Ð/Ñ/Ô/ðV'ð V'ð V'ð V'ð V'ñ V'ô V'ñ 0Ô/ðV'ð V'ð V'r   