+
     hSI  c                   sF  a  R+ tZ0 t R t^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtHtHtHtHtHtHtHtHtHt ^ RIHtHt ^ RI H!t" ^ RI#H$t$H%t% ^ RI#H&t' ^ RI(H)t)H*t* ^ RI+H,t, ^ R	I-H.t. ^ R
I/H0t0 ^ RI1H2t2 ^ RI3H4t4 ^ RI5H6t6 ^ RI7H8t8 ^ RI9H:t: ^ RI;H<t< ^ RI=H>t> ^ RI?H@t@HAtA ^ RIBHCtC ]'       d   ^ RIDHEtE ^ RIFHGtG ]P                  ! ]I4      tJ]]K]K]]]L]K3,          ,          3,          tM]P                  ! R]0R7       . R,OtO] ^ k R-tPR R ltQ]P                  ! ^R7      R R l4       tS ! R R]%4      tT ! R R 4      tU ! R! R"]U]'4      t& ! R# R$]U]"4      t! ! R% R&]&4      tV ! R' R(]!4      tW ! R) R*]P                  4      tYR# ).zhPipSession and supporting code, containing all pip-specific
network request configuration and behavior.
N)
TYPE_CHECKINGAnyDict	GeneratorListMappingOptionalSequenceTupleUnion)requestsurllib3)CacheControlAdapter)DEFAULT_POOLBLOCKBaseAdapter)HTTPAdapter)PreparedRequestResponse)CaseInsensitiveDict)ConnectionPool)InsecureRequestWarning)__version__)get_default_environment)Link)MultiDomainBasicAuth)SafeFileCache)has_tls)libc_ver)build_url_from_netlocparse_netloc)url_to_path)
SSLContext)PoolManagerZignore)Zcategoryc                $    V ^8  d   QhR\         /#    return)boolformat   "B/usr/lib/python3.14/site-packages/pip/_internal/network/session.py__annotate__r*   d   s     H Ht H    c                 sz    \         ;QJ d     R \         4       F  '       g   K   R# 	  R# ! R \         4       4      # )z7
Return whether it looks like pip is running under CI.
c              3   sF   "   T F  q\         P                  9   x  K  	  R # 5iN)osenviron)Z.0names   & r)   Z	<genexpr>Z looks_like_ci.<locals>.<genexpr>k   s     G.Fdrzz!.Fs   !TF)ZanyCI_ENVIRONMENT_VARIABLES r+   r)   looks_like_cir2   d   s/     3G.FG33G3G3G.FGGGr+   )maxsizec                r!   r"   )strr&   r(   r)   r*   r*   o   s     b bC br+   c            
     s	   RRRR\         /R\        P                  ! 4       RR\        P                  ! 4       //p V R,          R,          R8X  d!   \        P                  ! 4       V R,          R&   MV R,          R,          R8X  d`   \        P
                  pVP                  R	8X  d
   VR
,          pRP                  V Uu. uF  p\        V4      NK  	  up4      V R,          R&   MiV R,          R,          R8X  d!   \        P                  ! 4       V R,          R&   M4V R,          R,          R8X  d    \        P                  ! 4       V R,          R&   \        P                  P                  R4      '       d   ^ RI
Hp VP                  4       VP                  4       VP                  4       3p\        \!        R \#        . R,OV4      4      4      p\        \!        R \#        RR.\%        4       4      4      4      pV'       d   WeR&   V'       d   WPR&   \        P                  P                  R4      '       dF   \        P&                  ! 4       ^ ,          '       d$   RRR\        P&                  ! 4       ^ ,          /V R&   \        P(                  ! 4       '       d)   \        P(                  ! 4       V P+                  R/ 4      R&   \        P,                  ! 4       '       d)   \        P,                  ! 4       V P+                  R/ 4      R&   \        P.                  ! 4       '       d   \        P.                  ! 4       V R&   \1        4       '       d   ^ RIpVP4                  V R&   \7        4       P9                  R4      pVe   \        VP                  4      V R&   \:        P<                  ! R4      ek    \>        P@                  ! RR.\>        PB                  R R!7      p	V	P                  R"4      '       d*   V	PE                  R#4      ^,          PG                  4       V R$&   \K        4       '       d   R%MRV R&&   \L        PN                  PQ                  R'4      p
V
e   WR(&   R)PS                  V \T        PV                  ! V R-R%R*7      R+7      # u upi   \H         d     Lzi ; i).z.
Return a string representing the user agent.
Z	installerr/   pipversionZpythonZimplementationZCPythonZPyPyZfinal:Ni   NZ.ZJythonZ
IronPythonZlinux)distroc                     V ^,          # i   r1   x   &r)   <lambda>user_agent.<locals>.<lambda>       !A$r+   c                 r8   r9   r1   r:   r<   r)   r=   r>      r?   r+   Zliblibcr7   ZdarwinZmacOSsystemreleaseZcpuNZopenssl_versionZ
setuptoolsZsetuptools_versionZrustcz	--versiong      ?)Zstderrtimeouts   rustc s    Zrustc_versionTZciZPIP_USER_AGENT_USER_DATA	user_dataz9{data[installer][name]}/{data[installer][version]} {json})Z
separatorsZ	sort_keys)datajson)r/   r6   Zid)Z,:),r   platformZpython_versionZpython_implementationsyspypy_version_infoZreleaselevelZjoinr4   Z
startswithpip._vendorr7   r/   r6   ZcodenameZdictZfilterZzipr   Zmac_verrA   
setdefaultrB   Zmachiner   Z_sslZOPENSSL_VERSIONr   Zget_distributionshutilZwhich
subprocessZcheck_outputZSTDOUTZsplitZdecodeZ	Exceptionr2   r-   r.   Zgetr'   rF   Zdumps)rE   rJ   r;   r7   Zlinux_distributionZdistro_infosr@   sslZsetuptools_distZrustc_outputrD   s              r)   
user_agentrP   n   s    	feY<())+H224
D f%2,4,C,C,Ey)			'6	111))W4 1" 5,/HH./.SV./-
y) 
		'8	3,4,C,C,Ey)			'<	7,4,C,C,Ey)
||w''&#[[]FNN,<foo>OO'+-/AB(
 UI&
3
 #' )N
||x((X-=-=-?-B-B '9h6F6F6H6KLX080A"%f-3;3C3C3E"%i0&&(Uyy"%"5"5-/@@NO"%()@)@%A!"||G(	M%22+&z/@/@#L &&y11 )5(:(:4(@(C(J(J(L_% 'dDJ

9:I%[FMMZZtD N  Y 0r  		s   <Q.)Q3 3R Rc                   sH   a  ] tR t^t o RV 3R lR lltV 3R lR ltRtV tR# )LocalFSAdapterNc                s   < V ^8  d   QhRS[ RS[RS[S[S[S[S[S[3,          3,          ,          RS[S[S[3,          RS[S[S[S[S[S[3,          3,          ,          RS[S[S[S[3,          ,          RS[/# )r#   requeststreamrC   verifycertproxiesr$   )	r   r%   r   r	   Zfloatr   r4   r   r   r'   __classdict__   "r)   r*   LocalFSAdapter.__annotate__   s     % % % % %uUE\': :;<	%
 dCi % uS%S/123% '#s(+,% 
%r+   c                s   \        VP                  4      p\        4       p^Vn        VP                  Vn         \        P
                  ! V4      p	\        P                  P                  V	P                  RR7      p
\        P                  ! V4      ^ ,          ;'       g    Rp\        RVRV	P                  RV
/4      Vn        \        VR4      Vn        VP                   P"                  Vn        V#   \$         de   pRTn        \'        T4      P(                  Tn        \,        P.                  ! TP*                   R	T 2P1                  4       4      Tn         R
p?T# R
p?ii ; i)i   T)Zusegmtz
text/plainzContent-TypezContent-LengthzLast-ModifiedZrbi  z: N)r   urlr   Zstatus_coder-   ZstatemailZutilsZ
formatdateZst_mtime	mimetypesZ
guess_typer   Zst_sizeheadersZopenZrawcloseZOSErrorZtype__name__ZreasonioZBytesIOZencode)selfrR   rS   rC   rT   rU   rV   ZpathnameZrespZstatsZmodifiedZcontent_typeZexcs   &&&&&&&      r)   sendZLocalFSAdapter.send   s#    w{{+z;;	(GGH%E {{--ennT-JH$//9!<LLL."L$emm#XDL Hd+DHDJ)  	D  #Ds),,DKzzT[[MC5"9"@"@"BCDHH )	Ds   C/ /E:AEEc                s   < V ^8  d   QhRR/# r#   r$   Nr1   rW   rY   r)   r*   rZ      s      t r+   c                s    R # r,   r1   )rb   r<   r)   r_   ZLocalFSAdapter.close   s    r+   r1   )FNTNN)r`   
__module____qualname____firstlineno__rc   r_   __static_attributes____classdictcell__)rX      @r)   rQ   rQ      s     % %N r+   rQ   c                   sh   a a ] tR tRt oRtRR/V3R lV 3R lllt]3V3R lV 3R llltR	tVt	V ;t
# )
_SSLContextAdapterMixini   a  Mixin to add the ``ssl_context`` constructor argument to HTTP adapters.

The additional argument is forwarded directly to the pool manager. This allows us
to dynamically decide what SSL store to use at runtime, which is used to implement
the optional ``truststore`` backend.
ssl_contextNc                s8   < V ^8  d   QhRS[ R,          RS[RR/# )r#   rl   r   kwargsr$   N)r   r   rW   rY   r)   r*   $_SSLContextAdapterMixin.__annotate__  s0     # # l+# 	#
 
#r+   c               s4   < Wn         \        SV `  ! R/ VB  R # )Nr1   )_ssl_contextsuper__init__)rb   rl   rm   	__class__s   &$,r)   rq   Z _SSLContextAdapterMixin.__init__  s     ("6"r+   c          
      s6   < V ^8  d   QhRS[ RS[ RS[RS[RR/# )r#   connectionsr3   blockpool_kwargsr$   r    )intr%   r   rW   rY   r)   r*   rn     s=     
 

 
 	

 
 

r+   c           	     s   < V P                   e   VP                  RV P                   4       \        SV `  ! RRVRVRV/VB # )Nrl   rs   r3   rt   r1   )ro   rL   rp   init_poolmanager)rb   rs   r3   rt   ru   rr   s   &&&&,r)   rw   Z(_SSLContextAdapterMixin.init_poolmanager  s]     (""=$2C2CDw' 
#

 
 	
 	
r+   )ro   )r`   re   rf   rg   __doc__rq   r   rw   rh   ri   __classcell__rr   rX      @@r)   rk   rk      s2     # /3# # (	
 
 
r+   rk   c                       ] tR tRtRtR# )r   i"  r1   Nr`   re   rf   rg   rh   r1   r+   r)   r   r   "      r+   r   c                   r|   )r   i&  r1   Nr}   r1   r+   r)   r   r   &  r~   r+   r   c                   >   a a ] tR tRt oV3R lV 3R lltRtVtV ;t# )InsecureHTTPAdapteri*  c                   < V ^8  d   QhRS[ RS[RS[S[S[3,          RS[S[S[S[S[S[3,          3,          ,          RR/# r#   connr[   rT   rU   r$   Nr   r4   r	   r%   r   r   rW   rY   r)   r*   Z InsecureHTTPAdapter.__annotate__+  d     I II I dCi 	I
 uS%S/123I 
Ir+   c                ,   < \         SV `  WR VR7       R# F)r   r[   rT   rU   Nrp   cert_verifyrb   r   r[   rT   rU   rr      &&&&&r)   r   ZInsecureHTTPAdapter.cert_verify+       	u4Hr+   r1   r`   re   rf   rg   r   rh   ri   ry   rz   r{   r)   r   r   *       I I Ir+   r   c                   r   )InsecureCacheControlAdapteri5  c                r   r   r   rW   rY   r)   r*   Z(InsecureCacheControlAdapter.__annotate__6  r   r+   c                r   r   r   r   r   r)   r   Z'InsecureCacheControlAdapter.cert_verify6  r   r+   r1   r   rz   r{   r)   r   r   5  r   r+   r   c            
       s   a a ] tR tRt oRtR^ RRRRRRRR/V3R lV 3R	 llltV3R
 lR ltRV3R lR lltV3R lR ltV3R lR lt	V3R lV 3R llt
V3R ltRtVtV ;t# )
PipSessioni@  Nretriescachetrusted_hosts
index_urlsrl   c                s   < V ^8  d   QhRS[ RS[RS[S[,          RS[S[,          RS[S[S[,          ,          RS[R,          RS[ R	R
/# )r#   argsr   r   r   r   rl   r   rm   r$   N)r   rv   r   r4   r   r   rW   rY   r)   r*   PipSession.__annotate__C  s{     O? O?O? O? }	O?
  }O? T#Y'O? l+O? O? 
O?r+   c               s0  < \         SV `  ! V/ VB  . V n        RV n        \	        4       V P
                  R&   \        VR7      V n        \        P                  ! V. RORR7      p\        VR7      pV'       d4   \        \        V4      VVR7      p	\        \        V4      VR7      V n        M\        WR	7      p	Wn        V P!                  R
V	4       V P!                  RV4       V P!                  R\#        4       4       V F  p
V P%                  V
RR7       K  	  R# )zR
:param trusted_hosts: Domains not to emit warnings for when not using
    HTTPS.
Nz
User-Agent)r   g      ?)ZtotalZstatus_forcelistZbackoff_factor)max_retries)r   r   rl   )r   r   )r   rl   zhttps://zhttp://zfile://T)suppress_logging)i  i  i  i  i  )rp   rq   pip_trusted_origins	pip_proxyrP   r^   r   authr   ZRetryr   r   r   r   _trusted_host_adapterr   mountrQ   add_trusted_host)rb   r   r   r   r   rl   r   rm   Zinsecure_adapterZsecure_adapterhostrr   s   &$$$$$*,   r)   rq   ZPipSession.__init__C  s    	$)&) EG  &0\\" )J?	 --  7  
, /7C 0#E*#'N
 *E#E*#*D&
 )WVN)9&

:~.

9./ 	

9n./!D!!$!> "r+   c                s4   < V ^8  d   QhRS[ S[,          RR/# )r#   new_index_urlsr$   N)r   r4   rW   rY   r)   r*   r     s     . .S	 .d .r+   c                s&    WP                   n        R# )zV
:param new_index_urls: New index urls to update the authentication
    handler with.
N)r   r   )rb   r   s   &&r)   update_index_urlsZPipSession.update_index_urls  s    
  .		r+   c                s@   < V ^8  d   QhRS[ RS[S[ ,          RS[RR/# )r#   r   sourcer   r$   N)r4   r   r%   rW   rY   r)   r*   r     s7     V VV!)#VIMV	Vr+   c                s   V'       g-   RV: 2pVe   VRV R2,          p\         P                  V4       \        V4      w  rVVf   \        RV: 24      hWV3V P                  9  d   V P                  P                  WV34       V P                  \        VRR7      R,           V P                  4       V P                  \        V4      R,           V P                  4       V'       g]   V P                  \        VRR7      R	,           V P                  4       V P                  \        V4      R	,           V P                  4       R# R# )
z
:param host: It is okay to provide a host that has previously been
    added.
:param source: An optional source string, for logging where the host
    string came from.
zadding trusted host: Nz (from Z)z+Trusted host URL must include a host part: Zhttp)schemeZ/rG   )	loggerZinfor   
ValueErrorr   Zappendr   r   r   )rb   r   r   r   ZmsgZparsed_hostZparsed_ports   &&&&   r)   r   ZPipSession.add_trusted_host  s     )$2C!**KK#/#5 J4(STT%T-E-EE$$++[,FG

!$v6<d>X>X	
 	

(.4d6P6PQJJ%d6:S@**
 JJ,T2S8$:T:TU r+   c                s6   < V ^8  d   QhRS[ S[RR3,          /# rd   )r   SecureOriginrW   rY   r)   r*   r     s      = =Y|T4/G%H =r+   c              #  sp   "   \          R j  xL
  V P                   F  w  rRYf   RMT3x  K  	  R #  L'5i)N*)SECURE_ORIGINSr   )rb   r   ports   &  r)   iter_secure_originsZPipSession.iter_secure_origins  s6     !!!22JD\ct<< 3 	"s   
64(6c                s&   < V ^8  d   QhRS[ RS[/# )r#   locationr$   )r   r%   rW   rY   r)   r*   r     s     A A A$ Ar+   c                s   \         P                  P                  \        V4      4      pVP                  VP
                  VP                  rTpVP                  R ^4      R,          pV P                  4        Fk  pVw  rxp	W78w  d
   VR8w  d   K   \        P                  ! T;'       g    R4      p
\        P                  ! V4      pW9  d   KV   WY8w  d   V	R8w  d   V	e   Kj   R# 	  \        P                  RVV4       R#   \         d9    T'       d.   TP                  4       TP                  4       8w  d   TR8w  d    K   Lsi ; i)Z+r   Z TzThe repository located at %s is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host %s'.Fi)urllibZparseZurlparser4   r   Zhostnamer   Zrsplitr   	ipaddressZ
ip_addressZ
ip_networkr   Zlowerr   Zwarning)rb   r   ZparsedZorigin_protocolZorigin_hostZorigin_portZsecure_originZsecure_protocolZsecure_hostZsecure_portZaddrZnetworks   &&          r)   is_secure_originZPipSession.is_secure_origin  s9   &&s8}5MMOOKK '2 *00a8<
 "557M8E5O+1o6L ++K,=,=2>#..{; & '
 *3&+ C 8L 	I 	
 O    #))+{/@/@/BB#s*s   C=&C==E *E ?E c          
      s8   < V ^8  d   QhRS[ RS[ RS[RS[RS[/# )r#   methodr[   r   rm   r$   )r4   r   r   rW   rY   r)   r*   r     s0     = =c = =C =3 =8 =r+   c                s   < VP                  R V P                  4       VP                  RV P                  4       \        SV `  ! W.VO5/ VB # )rC   rV   )rL   rC   rV   rp   rR   )rb   r   r[   r   rm   rr   s   &&&*,r)   rR   ZPipSession.request  sF    )T\\2)T\\2 wv<T<V<<r+   c                s6   < V ^8  d   Qh/ S[ S[,          ;R&   # )r#   rC   )r   rv   rW   rY   r)   r*   r   @  s     c]! r+   )r   r   r   r   r1   )NF)r`   re   rf   rg   rC   rq   r   r   r   r   rR   Z__annotate_func__rh   ri   ry   rz   r{   r)   r   r   @  s     !GO? O?  $	O?
 (*O? +/O? /3O? O?b. .V VB= =
A AF= =I  r+   r   c                sV    V ^8  d   Qh/ ^ \         9   d   \        \        ,          ;R&   # )r#   r   )__conditional_annotations__r   r   r&   r(   r)   r*   r*      s)      F
 
\" 
Gr+   ))Zhttpsr   r   )r   Z	localhostr   )r   z127.0.0.0/8r   )r   z::1/128r   )Zfiler   N)Zsshr   r   )ZBUILD_BUILDIDZBUILD_IDZCIZ	PIP_IS_CI)[r   rx   Zemail.utilsr\   Z	functoolsra   r   rF   Zloggingr]   r-   rH   rM   rN   rI   Zurllib.parser   ZwarningsZtypingr    r   r   r   r   r   r   r   r   r	   rK   r
   r   Zpip._vendor.cachecontrolr   Z_BaseCacheControlAdapterZpip._vendor.requests.adaptersr   r   r   Z_BaseHTTPAdapterZpip._vendor.requests.modelsr   r   Zpip._vendor.requests.structuresr   Z"pip._vendor.urllib3.connectionpoolr   Zpip._vendor.urllib3.exceptionsr   r5   r   Zpip._internal.metadatar   Zpip._internal.models.linkr   Zpip._internal.network.authr   Zpip._internal.network.cacher   Zpip._internal.utils.compatr   Zpip._internal.utils.glibcr   Zpip._internal.utils.miscr   r   Zpip._internal.utils.urlsr   rO   r   Zpip._vendor.urllib3.poolmanagerr    Z	getLoggerr`   r   r4   rv   r   Zfilterwarningsr   r0   r2   Z	lru_cacherP   rQ   rk   r   r   ZSessionr   r*   )r   rj   r)   <module>r      sn     	     	    
     * T H I A ? = A  : * ; 5 / . H 0; 
		8	$S#xc3h889 	  +A B
& 
(	 H Qb  bJ)[ )X
 
D	)+; 		13K 	I+ II"5 IK=!! K=r+   