+
    yj}-                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	H
t
HtHt ]	'       d/   ^ RIt^ RIHt ^ RIHt ]P                   R-8  d   ^ RIHt M^ RIHt . R.OtR R lt]! R4      t ! R R]4      t]! R]R7      tR R ltR R ltR R ltR R lt]P8                  ! R4      tR R ltR R  ltR! R" lt  ! R# R]!4      t" ! R$ R%]"4      t#]PH                  ! R&R'R(7       ! R) R4      4       t%]PH                  ! R&R'R(7       ! R* R4      4       t&]PH                  ! R&R'R(7       ! R+ R	4      4       t']PH                  ! R&R'R(7       ! R, R
4      4       t(R# )/    )annotationsN)Mapping)TYPE_CHECKINGAnyProtocolTypeVar)
Collection)SplitResult)SelfArchiveInfoDirInfo	DirectUrlDirectUrlValidationErrorVcsInfoc                   V ^8  d   QhRR/# )   returnz	list[str] )formats   "H/var/www/html/2rare/lib/python3.14/site-packages/packaging/direct_url.py__annotate__r      s           c                     \         # N)__all__r   r   r   __dir__r      s    Nr   _Tc                  ,    ] tR t^#t]R R l4       tRtR# )_FromMappingProtocolc                    V ^8  d   QhRRRR/# r   dMapping[str, Any]r   r   r   )r   s   "r   r   !_FromMappingProtocol.__annotate__%   s    ::,::r   c                	    R # r   r   clsr"   s   &&r   
_from_dict_FromMappingProtocol._from_dict$   s    7:r   r   N)__name__
__module____qualname____firstlineno__classmethodr(   __static_attributes__r   r   r   r   r   #   s    : :r   r   _FromMappingProtocolT)boundc                    V ^8  d   QhRRRR/# )r   datazlist[tuple[str, Any]]r   zdict[str, Any]r   )r   s   "r   r   r   +   s     D D2 D~ Dr   c                F    V  UUu/ uF  w  rVf   K  WbK  	  upp# u uppi r   r   )r3   keyvalues   &  r   _json_dict_factoryr7   +   s"    )-C:3JCJCCCs   c               (    V ^8  d   QhRRRRRRRR/# )	r   r"   r#   expected_typetype[_T]r5   strr   z	_T | Noner   )r   s   "r   r   r   /   s)     
 
 
h 
S 
Y 
r   c                    V P                  V4      ;pf   R# \        W14      '       g2   \        R\        V4      P                   RVP                   R2VR7      hV# )zBGet a value from the dictionary and verify it's the expected type.NzUnexpected type z (expected )context)get
isinstancer   typer*   r"   r9   r5   r6   s   &&& r   _getrD   /   sd    s$e++&tE{334 5&//03
 	

 Lr   c               (    V ^8  d   QhRRRRRRRR/# )	r   r"   r#   r9   r:   r5   r;   r   r   r   )r   s   "r   r   r   <   s)      & x c b r   c                <    \        WV4      ;pf   \        V4      hV# )zKGet a required value from the dictionary and verify it's the expected type.)rD   _DirectUrlRequiredKeyErrorrC   s   &&& r   _get_requiredrH   <   s$    a,,5(--Lr   c               (    V ^8  d   QhRRRRRRRR/# )	r   r"   r#   target_typeztype[_FromMappingProtocolT]r5   r;   r   z_FromMappingProtocolT | Noner   )r   s   "r   r   r   C   s,     	> 	>	>'B	>IL	>!	>r   c                    \        V \        V4      ;pf   R#  VP                  V4      #   \         d   p\	        YBR7      ThRp?ii ; i)zIGet a dictionary value from the dictionary and convert it to a dataclass.Nr>   )rD   r   r(   	Exceptionr   )r"   rJ   r5   r6   es   &&&  r   _get_objectrN   C   sN     a#&&/>%%e,, >&q6A=>s   * AAAz.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$c               $    V ^8  d   QhRRRRRR/# )r   netlocr;   safe_user_passwordsCollection[str]r   r   )r   s   "r   r   r   T   s"      C o RU r   c                    R V 9  d   V # V P                  R ^4      w  r#W!9   d   V # \        P                  V4      '       d   V # V# )@)rsplit _PEP610_USER_PASS_ENV_VARS_REGEXmatch)rP   rQ   	user_passnetloc_no_user_passs   &&  r   _strip_auth_from_netlocrZ   T   sI    
&%+]]3%:"I''--i88r   c               $    V ^8  d   QhRRRRRR/# )r   urlr;   rQ   rR   r   r   )r   s   "r   r   r   _   s!      C o # r   c                   \         P                  P                  V 4      p\        VP                  V4      p\         P                  P                  VP                  VVP                  VP                  VP                  34      # )zurl 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urlsplitrZ   rP   
urlunsplitschemepathqueryfragment)r\   rQ   
parsed_urlrP   s   &&  r   
_strip_urlrg   _   sl    
 &&s+J$Z%6%68KLF<<""OO	
 r   c                    V ^8  d   QhRRRR/# )r   rf   r
   r   boolr   )r   s   "r   r   r   q   s     + +K +D +r   c                8    V P                   P                  R 4      # )/)rc   
startswith)rf   s   &r   _file_url_has_absolute_pathrm   q   s    ??%%c**r   c                  T    ] tR t^ut$ RtRtR]R&   R]R&   RR/R R lltR	 R
 ltRt	R# )r   zKRaised when when input data is not spec-compliant.

.. versionadded:: 26.1
N
str | Noner?   r;   messagec               $    V ^8  d   QhRRRRRR/# )r   causezstr | Exceptionr?   ro   r   Noner   )r   s   "r   r   %DirectUrlValidationError.__annotate__~   s(     & && 	&
 
&r   c               	
   \        V\        4      '       dW   VP                  '       d,   V'       d   V R VP                   2MVP                  V n        MW n        VP                  V n        R# W n        \	        V4      V n        R# ).N)rA   r   r?   rp   r;   )selfrr   r?   s   &&$r   __init__!DirectUrlValidationError.__init__~   s^     e566}}}4;wiq0   ' ==DL"Lu:DLr   c                   V ^8  d   QhRR/# )r   r   r;   r   )r   s   "r   r   rt      s       r   c                	v    V P                   '       d   V P                   R V P                   : 2# V P                  # )z in r?   rp   rw   s   &r   __str__ DirectUrlValidationError.__str__   s/    <<<ll^4'788||r   r|   )
r*   r+   r,   r-   __doc__r?   __annotations__rx   r~   r/   r   r   r   r   r   u   s1    
 GZL& #	&$ r   c                  .   a  ] tR t^tR V 3R lltRtV ;t# )rG   c                    V ^8  d   QhRRRR/# )r   r5   r;   r   rs   r   )r   s   "r   r   '_DirectUrlRequiredKeyError.__annotate__   s     @ @C @D @r   c                	*   < \         SV `  R VR7       R# )zMissing required valuer>   N)superrx   )rw   r5   	__class__s   &&r   rx   #_DirectUrlRequiredKeyError.__init__   s    13?r   r   )r*   r+   r,   r-   rx   r/   __classcell__)r   s   @r   rG   rG      s    @ @r   rG   TF)frozeninitc                  h    ] tR t^t$ RtR]R&   R]R&   RtR]R&   RR/R R	 llt]R
 R l4       t	Rt
R# )r   z8The version control information of a :class:`DirectUrl`.r;   vcs	commit_idNro   requested_revisionc               (    V ^8  d   QhRRRRRRRR/# )r   r   r;   r   r   ro   r   rs   r   )r   s   "r   r   VcsInfo.__annotate__   s:     	K 	K 	K 		K
 '	K 
	Kr   c               	    \         P                  V R V4       \         P                  V RV4       \         P                  V RV4       R# )r   r   r   Nobject__setattr__)rw   r   r   r   s   &$$$r   rx   VcsInfo.__init__   s<     	4,4i84!57IJr   c                    V ^8  d   QhRRRR/# r!   r   )r   s   "r   r   r      s     
 
, 
 
r   c           	     	r    V ! \        V\        R 4      \        V\        R4      \        V\        R4      R7      # )r   r   r   )r   r   r   )rH   r;   rD   r&   s   &&r   r(   VcsInfo._from_dict   s6     ae,#As,@A#AsK8
 	
r   r   )r*   r+   r,   r-   r   r   r   rx   r.   r(   r/   r   r   r   r   r      s?    B	HN%)
)	K
 *.	K 
 
r   c                  T    ] tR t^t$ RtRtR]R&   RR/R R llt]R R l4       t	R	t
R# )
r   z0The archive information of a :class:`DirectUrl`.NMapping[str, str] | Nonehashesc                    V ^8  d   QhRRRR/# )r   r   r   r   rs   r   )r   s   "r   r   ArchiveInfo.__annotate__   s      3 3 )3 
	3r   c               	4    \         P                  V R V4       R# )r   Nr   )rw   r   s   &$r   rx   ArchiveInfo.__init__   s    
 	462r   c                    V ^8  d   QhRRRR/# r!   r   )r   s   "r   r   r      s     " ", " "r   c                	   \        V\        R 4      pVed   \        ;QJ d*    R VP                  4        4       F  '       d   K   RM	  RM! R VP                  4        4       4      '       g   \	        RR R7      h\        V\
        R4      pVeh   RV9  d   \	        RRR7      hVP                  R^4      w  rEVf   WE/pM7WB9  d   \	        R	V: R
2R R7      hW$,          V8w  d   \	        R	V: R2RR7      hV ! VR7      # )r   c              3  B   "   T F  p\        V\        4      x  K  	  R # 5ir   )rA   r;   ).0hs   & r   	<genexpr>)ArchiveInfo._from_dict.<locals>.<genexpr>   s     )Vo*Q*<*<os   FTzHash values must be stringsr>   hash=z3Invalid hash format (expected '<algorithm>=<hash>')z
Algorithm z2 used in hash field is not present in hashes fieldz7 used in hash field has different value in hashes field)r   )rD   r   allvaluesr   r;   split)r'   r"   r   legacy_hashhash_algorithm
hash_values   &&    r   r(   ArchiveInfo._from_dict   s   a(+cc)Vfmmo)Vccc)Vfmmo)V&V&V*-x  1c6*"+%.I"  *5):):3)B&N~(5 "/2$^$6 79 : ( 
 )Z72$^$6 7> ? & 
 &!!r   r   )r*   r+   r,   r-   r   r   r   rx   r.   r(   r/   r   r   r   r   r      s3    :'+F$+3 ,03 " "r   c                  T    ] tR t^t$ RtRtR]R&   RR/R R llt]R R l4       t	R	t
R# )
r   z8The local directory information of a :class:`DirectUrl`.Nbool | Noneeditablec                    V ^8  d   QhRRRR/# )r   r   r   r   rs   r   )r   s   "r   r   DirInfo.__annotate__   s      7 7 7 
	7r   c               	4    \         P                  V R V4       R# )r   Nr   )rw   r   s   &$r   rx   DirInfo.__init__   s    
 	4X6r   c                    V ^8  d   QhRRRR/# r!   r   )r   s   "r   r   r      s     
 
, 
 
r   c                	2    V ! \        V\        R 4      R7      # )r   )r   )rD   ri   r&   s   &&r   r(   DirInfo._from_dict   s    !T:.
 	
r   r   )r*   r+   r,   r-   r   r   r   rx   r.   r(   r/   r   r   r   r   r      s2    B Hk 7 !%7 
 
r   c                      ] tR t^t$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R]R&   RRRRR
RRR/R R llt
]R R l4       t]R R l4       tRRRRRR/R R lltR R ltRtR# )r   z;A class representing a direct URL.

.. versionadded:: 26.1
r;   r\   NArchiveInfo | Nonearchive_infoVcsInfo | Nonevcs_infoDirInfo | Nonedir_inforo   subdirectoryc               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r   r\   r;   r   r   r   r   r   r   r   ro   r   rs   r   )r   s   "r   r   DirectUrl.__annotate__	  sH     ? ? ? )	?
 !? !? !? 
?r   c               	    \         P                  V R V4       \         P                  V RV4       \         P                  V RV4       \         P                  V RV4       \         P                  V RV4       R# )r\   r   r   r   r   Nr   )rw   r\   r   r   r   r   s   &$$$$$r   rx   DirectUrl.__init__	  s^     	4,4>4X64X64>r   c                    V ^8  d   QhRRRR/# r!   r   )r   s   "r   r   r     s      ,  r   c                	N   V ! \        V\        R 4      \        V\        R4      \        V\        R4      \        V\
        R4      \        V\        R4      R7      p\        VP                  4      \        VP                  4      ,           \        VP                  4      ,           ^8w  d   \        R4      hVP                  ef   \        P                  P                  VP                  4      pVP                   R8w  d   \        RR R	7      h\#        V4      '       g   \        R
R R	7      hV# )r\   r   r   r   r   )r\   r   r   r   r   z?Exactly one of vcs_info, archive_info, dir_info must be presentfilez3URL scheme must be file:// when dir_info is presentr>   z2File URL must be absolute when dir_info is present)rH   r;   rN   r   r   r   rD   ri   r   r   r   r   r^   r_   r`   r\   rb   rm   )r'   r"   
direct_urlrf   s   &&  r   r(   DirectUrl._from_dict  s	   ae,$Q^D GZ8 GZ8an5

 $$%:**+,:&&'( 	
 +Q  *..z~~>J  F*.I!  /z::.H! 
 r   c                    V ^8  d   QhRRRR/# r!   r   )r   s   "r   r   r   9  s     ! !+ !4 !r   c               $    V P                  V4      # )z@Create and validate a DirectUrl instance from a JSON dictionary.)r(   r&   s   ""r   	from_dictDirectUrl.from_dict8  s     ~~a  r   generate_legacy_hashFstrip_user_passwordTrQ   c               (    V ^8  d   QhRRRRRRRR/# )r   r   ri   r   rQ   rR   r   r#   r   )r   s   "r   r   r   =  s4       # "	
 - 
r   c               ~   \         P                  ! V \        R7      pV'       dx   V P                  '       df   V P                  P                  '       dJ   \        \        V P                  P                  P                  4       4      4      w  rVV RV 2VR,          R&   V'       d   \        V P                  V4      VR&   V# )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   r\   )
dataclassesasdictr7   r   r   nextiteritemsrg   r\   )rw   r   r   rQ   resr   r   s   &$$$   r   to_dictDirectUrl.to_dict=  s    &   4FGD$5$5$5$:K:K:R:R:R)-d43D3D3K3K3Q3Q3S.T)U&N-;,<Aj\*JC'#DHH.ABCJ
r   c                   V ^8  d   QhRR/# )r   r   rs   r   )r   s   "r   r   r   X  s     ' '$ 'r   c                D    V P                  V P                  4       4       R# )zqValidate the DirectUrl instance against the specification.

Raises :class:`DirectUrlValidationError` if invalid.
N)r   r   r}   s   &r   validateDirectUrl.validateX  s    
 	t||~&r   r   )git)r*   r+   r,   r-   r   r   r   r   r   r   rx   r.   r(   r   r   r   r/   r   r   r   r   r      s    
 
H'+L$+#Hn##Hn##L*#? ,0	?
 $(? $(? $(?  > ! ! &+ %)	
 086' 'r   )      )r   r   r   r   r   ))
__future__r   r   reurllib.parser^   collections.abcr   typingr   r   r   r   sysr	   r
   version_infor   typing_extensionsr   r   r   r   r0   r7   rD   rH   rN   compilerV   rZ   rg   rm   rL   r   rG   	dataclassr   r   r   r   r   r   r   <module>r      s^   "  	  # 8 8*(
7"* T];8 ;
   7?ST D
	> $&::5$  
$+y B@!9 @
 d/
 
 0
8 d/," ," 0,"^ d/
 
 0
& d/`' `' 0`'r   