+
     h  c                   sj   R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	H
t
HtHtHtHtHt . ROt]! R	4      tR
t]P&                  ! R4      t ! R R]4      tRR R lltRR R lltR R ltR R lt] ! R R4      4       t ! R R4      t] ! R R4      4       t]]]]3,          t] ! R R4      4       tR# )zPEP 610N)	dataclass)AnyClassVarDictIterableOptionalTypeTypeVarUnion	DirectUrlDirectUrlValidationErrorDirInfoArchiveInfoVcsInfoTzdirect_url.jsonz.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$c                   s    ] tR t^tRtR# )r
    N)__name__
__module____qualname____firstlineno____static_attributes__r       D/usr/lib/python3.14/site-packages/pip/_internal/models/direct_url.pyr
   r
      s    r   c                s    V ^8  d   QhR\         \        \        3,          R\        \        ,          R\        R\
        \        ,          R\
        \        ,          /#    dexpected_typekeydefaultreturnr   strr   r   r   r   format   "r   __annotate__r#      sH      CH~&*1g47BJ1+a[r   c                sr    W 9  d   V# W,          p\        WA4      '       g   \        V: RV RV R24      hV# )z3Get value from dictionary and verify expected type.z has unexpected type for z (expected Z))
isinstancer
   r   r   r   r   value   &&&& r   _getr(      sK     |FEe++&i0[qQ
 	
 Lr   c          
      s    V ^8  d   QhR\         \        \        3,          R\        \        ,          R\        R\
        \        ,          R\        /# r   r   r    r"   r   r#   r#   )   sD      CH~&*1g47BJ1+r   c                 sB    \        WW#4      pVf   \        V R24      hV# )Nz must have a value)r(   r
   r%   r'   r   _get_requiredr)   )   s-     30E}&#.@'ABBLr   c                sL    V ^8  d   QhR\         \        R,          ,          RR/# )r   infosInfoTyper   )r   r   r    r"   r   r#   r#   2   s$      8HZ$89 j r   c                 s    V  Uu. uF
  qf   K  VNK  	  p pV '       g   \        R4      h\        V 4      ^8  d   \        R4      hV ^ ,          f   Q hV ^ ,          # u upi )Nz/missing one of archive_info, dir_info, vcs_infoz1more than one of archive_info, dir_info, vcs_info)r
   Zlen)r*   info   & r   _exactly_one_ofr.   2   sh    #8edTTeE8&=
 	
 5zA~&?
 	
 88O 9s
   AAc                sR    V ^8  d   QhR\         R\        \        \         3,          /# )r   kwargsr   )r   r   r   r    r"   r   r#   r#   @   s"     > >3 >4S> >r   c                 sb    V P                  4        UUu/ uF  w  rVf   K  WbK  	  upp# u uppi )z Make dict excluding None values.)Zitems)r/   ZkZvs   ,  r   _filter_noner0   @   s(    #\\^=^TQqDAD^===s   ++c                   sb   a  ] tR t^Et o RtRt]V 3R lR l4       tV 3R lR ltV 3R lt	Rt
V tR# )	r   vcs_infoNc                Z   < V ^8  d   QhRS[ S[S[S[3,          ,          RS[ R,          /# )r   r   r   r   r   r   r   r   r!   __classdict__   "r   r#   VcsInfo.__annotate__N   s-     
 
8DcN3 
8K 
r   c           	     s~    Vf   R # V ! \        V\        R4      \        V\        R4      \        V\        R4      R7      # )Nvcs	commit_idrequested_revision)r8   r9   r:   )r)   r   r(   clsr      &&r   
_from_dictZVcsInfo._from_dictM   s<    9ae,#AsK8#As,@A
 	
r   c                6   < V ^8  d   QhRS[ S[S[3,          /# r   r   r   r   r   r4   r6   r   r#   r7   W   s     
 
$sCx. 
r   c                sZ    \        V P                  V P                  V P                  R 7      # ))r8   r:   r9   )r0   r8   r:   r9   self   &r   _to_dictZVcsInfo._to_dictW   s&    #66nn
 	
r   c                sZ   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[S[,          ;R&   # )r   namer8   r9   r:   )r   r   r   r4   r6   r   r#   r7   E   s9     
  
H	 
 N  !, r   r   )r   r   r   r   rF   r:   classmethodr>   rE   __annotate_func__r   __classdictcell__r5      @r   r   r   E   s5     D )-
 

 
%  r   c                   s   a  ] tR t^_t o RtRV 3R lR llt]V 3R lR l4       t]P                  V 3R lR l4       t]	V 3R	 lR
 l4       t
V 3R lR ltRtV tR# )r   archive_infoNc                s`   < V ^8  d   QhRS[ S[,          RS[ S[S[S[3,          ,          RR/# )r   hashhashesr   N)r   r   r   r4   r6   r   r#   ArchiveInfo.__annotate__b   s:      sm c3h( 
	r   c                s    W n         Wn        R # N)rN   rM   )rC   rM   rN   s   &&&r   __init__ZArchiveInfo.__init__b   s     	r   c                s0   < V ^8  d   QhRS[ S[,          /# r@   r   r   r4   r6   r   r#   rO   l   s      hsm r   c                s    V P                   # rP   )_hashrB   rD   r   rM   ArchiveInfo.hashk   s    zzr   c                s4   < V ^8  d   QhRS[ S[,          RR/# )r   r&   r   NrR   r4   r6   r   r#   rO   p   s      (3- D r   c                s(   Vej    VP                  R^4      w  r#T P                  f
   Y#/T n        M=Y P                  9  d.   T P                  P	                  4       T n        Y0P                  T&   Wn        R #   \         d    \        RT: 24      hi ; i)NZ=z"invalid archive_info.hash format: )splitZ
ValueErrorr
   rN   ZcopyrS   )rC   r&   Z	hash_nameZ
hash_value   &&  r   rM   rT   o   s    (-C(;%	
 {{"(5++-"kk..0)3I&
  .8	B s   A6 6Bc                r2   )r   r   r   r   r3   r4   r6   r   r#   rO      s1     N N8DcN3 N8O Nr   c                s^    Vf   R # V ! \        V\        R4      \        V\        R4      R7      # )NrM   rN   rM   rN   )r(   r   dictr;   r=   r   r>   ZArchiveInfo._from_dict   s)    9QV,T!T85LMMr   c                r?   r@   rA   r4   r6   r   r#   rO      s     @ @$sCx. @r   c                sD    \        V P                  V P                  R 7      # )rW   )r0   rM   rN   rB   rD   r   rE   ZArchiveInfo._to_dict   s    4;;??r   )rS   rM   rN   )NN)r   r   r   r   rF   rQ   propertyrM   ZsetterrG   r>   rE   r   rI   rJ   rK   r   r   r   _   sb     D    
[[ " N N
@ @r   c                   sb   a  ] tR t^t o RtRt]V 3R lR l4       tV 3R lR ltV 3R lt	Rt
V tR	# )
r   dir_infoFc                r2   )r   r   r   r   r3   r4   r6   r   r#   DirInfo.__annotate__   s1     O O8DcN3 O8K Or   c           	     sB    Vf   R # V ! \        V\        RRR7      R7      # )NeditableF)r   r\   )r)   boolr;   r=   r   r>   ZDirInfo._from_dict   s     9M!T:uMNNr   c                r?   r@   rA   r4   r6   r   r#   r[      s     < <$sCx. <r   c                sB    \        V P                  ;'       g    R R7      # )Nr]   )r0   r\   rB   rD   r   rE   ZDirInfo._to_dict   s    T]]%:%:d;;r   c                s2   < V ^8  d   Qh/ S[ ;R&   S[;R&   # )r   rF   r\   )r   r^   r4   r6   r   r#   r[      s     
  	 r   r   N)r   r   r   r   rF   r\   rG   r>   rE   rH   r   rI   rJ   rK   r   r   r      s4     DHO O
< <  r   c                   s   a  ] tR t^t o RtV 3R lR lt]V 3R lR l4       tV 3R lR lt]	V 3R lR	 l4       t
V 3R
 lR lt]	V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R ltRtV tR# )r	   Nc                s&   < V ^8  d   QhRS[ RS[ /# )r   netlocr   r   r4   r6   r   r#   DirectUrl.__annotate__   s     # #s #s #r   c                s   R V9  d   V# VP                  R ^4      w  r#\        V P                  \        4      '       d%   V P                  P                  R8X  d
   VR8X  d   V# \
        P                  V4      '       d   V# V# )Z@Zgit)rU   r$   r,   r   r8   
ENV_VAR_REZmatch)rC   r_   Z	user_passZnetloc_no_user_passrV   r   _remove_auth_from_netlocZ"DirectUrl._remove_auth_from_netloc   sl    fM)/c1)=&	tyy'**		&U"MI&&M""r   c                    < V ^8  d   QhRS[ /# r@   r`   r4   r6   r   r#   ra      s     
 
c 
r   c                s$   \         P                  P                  V P                  4      pV P	                  VP
                  4      p\         P                  P                  VP                  W!P                  VP                  VP                  34      pV# )zurl with user:password part removed unless it is formed with
environment variables as specified in PEP 610, or it is ``git``
in the case of a git URL.
)urllibZparseZurlspliturlrc   r_   Z
urlunsplitZschemeZpathZqueryZfragment)rC   Zpurlr_   Zsurls   &   r   redacted_urlZDirectUrl.redacted_url   sg     ||$$TXX...t{{;||&&[[&))TZZG
 r   c                s   < V ^8  d   QhRR/# )r   r   Nr   r4   r6   r   r#   ra      s     ' '$ 'r   c                sD    V P                  V P                  4       4       R # rP   )	from_dictto_dictrB   rD   r   validateZDirectUrl.validate   s    t||~&r   c                s:   < V ^8  d   QhRS[ S[S[3,          RR/# )r   r   r   r	   rA   r4   r6   r   r#   ra      s#     
 
$sCx. 
[ 
r   c                s>   \        \        V\        R 4      \        V\        R4      \	        \
        P                  \        V\        R4      4      \        P                  \        V\        R4      4      \        P                  \        V\        R4      4      .4      R7      # )rf   subdirectoryrL   rZ   r1   )rf   rk   r,   )
r	   r)   r   r(   r.   r   r>   rX   r   r   r;   r=   r   rh   ZDirectUrl.from_dict   sy    ae,an5 **44+HI&&tAtZ'@A&&tAtZ'@A

 
	
r   c                r?   r@   rA   r4   r6   r   r#   ra      s      c3h r   c                s    \        V P                  V P                  R 7      pV P                  P	                  4       WP                  P
                  &   V# ))rf   rk   )r0   rg   rk   r,   rE   rF   )rC   Zresr-   r   ri   ZDirectUrl.to_dict   sB    !!**
 #ii002IINN
r   c                s$   < V ^8  d   QhRS[ RR/# )r   sr   r	   r`   r4   r6   r   r#   ra      s     , ,# ,+ ,r   c                sL    V P                  \        P                  ! V4      4      # rP   )rh   jsonZloads)r<   rl   r=   r   	from_jsonZDirectUrl.from_json   s    }}TZZ]++r   c                rd   r@   r`   r4   r6   r   r#   ra      s     : : :r   c                sN    \         P                  ! V P                  4       R R7      # )T)Z	sort_keys)rm   Zdumpsri   rB   rD   r   to_jsonZDirectUrl.to_json   s    zz$,,.D99r   c                rd   r@   )r^   r4   r6   r   r#   ra      s     E E4 Er   c                sr    \        V P                  \        4      ;'       d    V P                  P                  # rP   )r$   r,   r   r\   rB   rD   r   is_local_editableZDirectUrl.is_local_editable   s%    $))W-DD$))2D2DDr   c                sN   < V ^8  d   Qh/ S[ ;R&   S[;R&   S[S[ ,          ;R&   # )r   rf   r,   rk   )r   r+   r   r4   r6   r   r#   ra      s,     	H  N  3-&	 r   r   )r   r   r   r   rk   rc   rY   rg   rj   rG   rh   ri   rn   ro   rp   rH   r   rI   rJ   rK   r   r	   r	      s      #'L# # 
 
' ' 
 
  , ,: :E EC  r   )r	   r
   r   r   r   rP   ) Z__doc__rm   ZreZurllib.parsere   Zdataclassesr    Ztypingr   r   r   r   r   r   r   r   Z__all__r   ZDIRECT_URL_METADATA_NAMEZcompilerb   Z	Exceptionr
   r(   r)   r.   r0   r   r   r   r+   r	   r   r   r   <module>rq      s      	  ! P P P CL, ZZIJ
	y 	>
 
 
 
2)@ )@X < < < gw./ AE AE AEr   