
    'jM                        % S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJrJrJr  SSKJrJr  SSKJrJr  SSKJr  SSK J!r!J"r"  SS	K J#r$  SS
K%J&r&J'r'  SSK(J)r)  SSK*J+r+  SSK,J-r-  SSK.J/r/  SSK0J1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7  SSK8J9r9  SSK:J;r;  SSK<J=r=  SSK>J?r?  SSK@JArAJBrBJCrCJDrD  SSKEJFrF  \(       a  SSKGJHrH  SSKIJJrJ  \	R                  " \L5      rM\N\O\O\P\O-  S-  4   rQ\R                  " S\-S9  / SQrSS\TS'   \R                  " S S!9S1S" j5       rV " S# S$\"5      rW " S% S&5      rX " S' S(\X\$5      r# " S) S*\X\5      r " S+ S,\#5      rY " S- S.\5      rZ " S/ S0\R                  5      r\g)2zhPipSession and supporting code, containing all pip-specific
network request configuration and behavior.
    )annotationsN)	GeneratorMappingSequence)TYPE_CHECKINGAny)requestsurllib3)CacheControlAdapter)DEFAULT_POOLBLOCKBaseAdapter)HTTPAdapter)PreparedRequestResponse)CaseInsensitiveDict)ConnectionPool)InsecureRequestWarning)__version__)SSLMissingError)get_default_environment)Link)MultiDomainBasicAuth)SafeFileCache)raise_connection_error)has_tls)libc_ver)build_url_from_netloclooks_like_ciparse_netlocredact_auth_from_url)url_to_path)
SSLContext)ProxyManagerignore)category))https*r'   )r'   	localhostr'   )r'   z127.0.0.0/8r'   )r'   z::1/128r'   )filer'   N)sshr'   r'   zlist[SecureOrigin]SECURE_ORIGINS   )maxsizec            
     H   S[         S.[        R                  " 5       S[        R                  " 5       0S.n U S   S   S:X  a  [        R                  " 5       U S   S'   OU S   S   S:X  aW  [        R
                  nUR                  S	:X  a  US
S nSR                  U Vs/ s H  n[        U5      PM     sn5      U S   S'   OOU S   S   S:X  a  [        R                  " 5       U S   S'   O'U S   S   S:X  a  [        R                  " 5       U S   S'   [        R                  R                  S5      (       a  SSK
Jn  UR                  5       UR                  5       UR                  5       4n[        [!        S [#        / SQU5      5      5      n[        [!        S [#        SS/[%        5       5      5      5      nU(       a  XeS'   U(       a  XPS'   [        R                  R                  S5      (       a;  [        R&                  " 5       S   (       a  S[        R&                  " 5       S   S.U S'   [        R(                  " 5       (       a(  [        R(                  " 5       U R+                  S0 5      S'   [        R,                  " 5       (       a(  [        R,                  " 5       U R+                  S0 5      S'   [        R.                  " 5       (       a  [        R.                  " 5       U S'   [1        5       (       a  SS
KnUR4                  U S'   [7        5       R9                  S5      nUb  [        UR                  5      U S'   [:        R<                  " S 5      bb   [>        R@                  " S S!/[>        RB                  S"S#9n	U	R                  S$5      (       a%  U	RE                  S%5      S&   RG                  5       U S''   [K        5       (       a  S(OS
U S)'   [L        RN                  RQ                  S*5      n
U
b  XS+'   S,RS                  U [T        RV                  " U S-S(S.9S/9$ s  snf ! [H         a     Nqf = f)0z.
Return a string representing the user agent.
pip)nameversionr0   )	installerpythonimplementationr4   CPythonr1   PyPyfinalN   .Jython
IronPythonlinuxr   )distroc                    U S   $ Nr,    xs    U/var/www/html/KUNJ/venv/lib/python3.13/site-packages/pip/_internal/network/session.py<lambda>user_agent.<locals>.<lambda>v       !A$    )r0   r1   idc                    U S   $ r?   r@   rA   s    rC   rD   rE   |   rF   rG   liblibcr=   darwinmacOSsystemreleasecpuopenssl_version
setuptoolssetuptools_versionrustcz	--versiong      ?)stderrtimeouts   rustc     r,   rustc_versionTciPIP_USER_AGENT_USER_DATA	user_dataz9{data[installer][name]}/{data[installer][version]} {json}),:)
separators	sort_keys)datajson),r   platformpython_versionpython_implementationsyspypy_version_inforeleaseleveljoinstr
startswithpip._vendorr=   r0   r1   codenamedictfilterzipr   mac_verrN   
setdefaultrO   machiner   _sslOPENSSL_VERSIONr   get_distributionshutilwhich
subprocesscheck_outputSTDOUTsplitdecode	Exceptionr   osenvirongetformatra   dumps)r`   rf   rB   r=   linux_distributiondistro_infosrK   sslsetuptools_distrustc_outputr[   s              rC   
user_agentr   S   s    $<))+H224
D f%2,4,C,C,Ey)			'6	111))W4 1"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")h6F6F6H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   P&P 
P! P!c                  P    \ rS rSr     S             SS jjrSS jrSrg)	LocalFSAdapter   Nc                   UR                   c   e[        UR                   5      n[        5       nSUl        UR                   Ul          [        R
                  " U5      n	[        R                  R                  U	R                  SS9n
[        R                  " U5      S   =(       d    Sn[        U[        U	R                  5      U
S.5      Ul        [!        US5      Ul        UR"                  R$                  Ul        U$ ! [&         ad  nSUl        [)        U5      R*                  Ul        [.        R0                  " UR,                   S	U 3R3                  5       5      Ul         S nAU$ S nAff = f)
N   T)usegmtr   z
text/plain)zContent-TypezContent-LengthzLast-Modifiedrbi  z: )urlr!   r   status_coder~   statemailutils
formatdatest_mtime	mimetypes
guess_typer   ri   st_sizeheadersopenrawcloseOSErrortype__name__reasonioBytesIOencode)selfrequeststreamrV   verifycertproxiespathnamerespstatsmodifiedcontent_typeexcs                rC   sendLocalFSAdapter.send   s/    {{&&&w{{+z;;	(GGH%E {{--ennT-JH$//9!<LL.$0&)%--&8%-DL Hd+DHDJ)  	D  #Ds),,DKzzT[[MC5"9"@"@"BCDHH )	Ds   C= =
E+AE&&E+c                    g )Nr@   )r   s    rC   r   LocalFSAdapter.close   s    rG   r@   )FNTNN)r   r   r   boolrV   z0float | tuple[float | None, float | None] | Noner   
bool | strr   z4bytes | str | tuple[bytes | str, bytes | str] | Noner   zMapping[str, str] | Nonereturnr   )r   None)r   
__module____qualname____firstlineno__r   r   __static_attributes__r@   rG   rC   r   r      sd     DH!EI,0& & & B	&
 & C& *& 
&PrG   r   c                  z   ^  \ rS rSrSrSS.     S	U 4S jjjr\4         S
U 4S jjjrSU 4S jjrSr	U =r
$ )_SSLContextAdapterMixin   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.
N)ssl_contextc               2   > Xl         [        TU ]  " S0 UD6  g )Nr@   )_ssl_contextsuper__init__)r   r   kwargs	__class__s      rC   r    _SSLContextAdapterMixin.__init__   s     ("6"rG   c                   > U R                   b  UR                  SU R                   5        [        TU ]  " SUUUS.UD6  g )Nr   )connectionsr-   blockr@   )r   rq   r   init_poolmanager)r   r   r-   r   pool_kwargsr   s        rC   r   (_SSLContextAdapterMixin.init_poolmanager   sL     (""=$2C2CD  	
#	
 		
rG   c                   > U R                   b8  UR                  SU R                   5        UR                  SU R                   5        [        TU ]  " U40 UD6$ )Nr   proxy_ssl_context)r   rq   r   proxy_manager_for)r   proxyproxy_kwargsr   s      rC   r   )_SSLContextAdapterMixin.proxy_manager_for  sU     (##M43D3DE
 ##$79J9JKw(?,??rG   )r   )r   SSLContext | Noner   r   r   r   )
r   intr-   r   r   r   r   r   r   r   )r   ri   r   r   r   r#   )r   r   r   r   __doc__r   r   r   r   r   __classcell__r   s   @rC   r   r      s     *.# '# 	#
 
# # (	

 
 	

 
 

 
 
@ 
@rG   r   c                      \ rS rSrSrg)r   i  r@   Nr   r   r   r   r   r@   rG   rC   r   r         rG   r   c                      \ rS rSrSrg)r   i  r@   Nr   r@   rG   rC   r   r     r   rG   r   c                  @   ^  \ rS rSr          SU 4S jjrSrU =r$ )InsecureHTTPAdapteri  c                $   > [         TU ]  XSUS9  g NF)connr   r   r   r   cert_verifyr   r   r   r   r   r   s        rC   r   InsecureHTTPAdapter.cert_verify       	u4HrG   r@   
r   r   r   ri   r   r   r   zstr | tuple[str, str] | Noner   r   r   r   r   r   r   r   r   r   s   @rC   r   r     D    II I 	I
 +I 
I IrG   r   c                  @   ^  \ rS rSr          SU 4S jjrSrU =r$ )InsecureCacheControlAdapteri'  c                $   > [         TU ]  XSUS9  g r   r   r   s        rC   r   'InsecureCacheControlAdapter.cert_verify(  r   rG   r@   r   r   r   s   @rC   r   r   '  r   rG   r   c                     ^  \ rS rSr% SrS\S'   SSSSSSSS.                   SU 4S jjjrSS	 jr S       SS
 jjrSS jr	SS jr
SU 4S jjrSrU =r$ )
PipSessioni2  Nz
int | NonerV   r   r@   )retriesresume_retriescachetrusted_hosts
index_urlsr   refresh_packagec               n  > [         TU ]  " U0 U	D6  / U l        SU l        SU l        U=(       d
    [        5       U l        [        5       U R                  S'   SU R                  S'   [        US9U l
        [        R                  " U/ SQSS	9nX l        [        US
9n
U   U(       a-  [        [!        U5      UUS9n[#        [!        U5      US9U l        O['        XS9nXl        U R)                  SU5        U R)                  SU
5        U R)                  S[+        5       5        U H  nU R-                  USS9  M     g)zR
:param trusted_hosts: Domains not to emit warnings for when not using
    HTTPS.
NFz
User-Agentzgzip, deflatezAccept-Encoding)r   )i  i  i  i  i  g      ?)totalstatus_forcelistbackoff_factor)max_retries)r   r   r   )r   r   )r   r   zhttps://zhttp://zfile://T)suppress_logging)r   r   pip_trusted_origins	pip_proxypip_no_proxy_envsetr   r   r   r   authr
   Retryr   r   r   r   r   _trusted_host_adapterr   mountr   add_trusted_host)r   r   r   r   r   r   r   r   argsr   insecure_adaptersecure_adapterhostr   s                rC   r   PipSession.__init__5  s@     	$)&) BD %) %)8)ACE &0\\"
 +:&' +?**U	 --  7  
  - /7C 	/B#E*#'0N
 *E#E*#*D&
 )WVN)9&

:~.

9./ 	

9n./!D!!$!> "rG   c                $    XR                   l        g)zV
:param new_index_urls: New index urls to update the authentication
    handler with.
N)r   r   )r   new_index_urlss     rC   update_index_urlsPipSession.update_index_urls  s    
  .		rG   c                D   U(       d'  SU< 3nUb	  USU S3-  n[         R                  U5        [        U5      u  pVUc  [        SU< 35      eXV4U R                  ;  a  U R                  R                  XV45        U R                  [        USS9S-   U R                  5        U R                  [        U5      S-   U R                  5        U(       dP  U R                  [        USS9S	-   U R                  5        U R                  [        U5      S	-   U R                  5        gg)
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+Trusted host URL must include a host part: http)scheme/r]   )	loggerinfor   
ValueErrorr   appendr  r   r  )r   r  sourcer   msgparsed_hostparsed_ports          rC   r  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 rG   c              #  l   #    [          S h  vN   U R                   H  u  pSXc  SOU4v   M     g  N%7f)Nr'   )r+   r   )r   r  ports      rC   iter_secure_originsPipSession.iter_secure_origins  s6     !!!22JD\ct<< 3 	"s   
42&4c                d   [         R                  R                  [        U5      5      nUR                  UR
                  UR                  pTnUR                  SS5      S   nU R                  5        Hc  nUu  pxn	X7:w  a  US:w  a  M   [        R                  " U=(       d    S5      n
[        R                  " U5      nX;  a  MR   XY:w  a  U	S:w  a  U	b  Mc    g   [        R                  SUU5        g! [         a5    U(       a+  UR                  5       UR                  5       :w  a	  US:w  a   M   Njf = f)	N+r,   r'    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'.F)urllibparseurlparseri   r  hostnamer  rsplitr  	ipaddress
ip_address
ip_networkr  lowerr  warning)r   locationparsedorigin_protocolorigin_hostorigin_portsecure_originsecure_protocolsecure_hostsecure_portaddrnetworks               rC   is_secure_originPipSession.is_secure_origin  s6   &&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   5C009D/.D/c                  > UR                  SU R                  5        UR                  SU R                  5         [        TU ]  " X/UQ70 UD6$ ! [
        R                  [
        R                  4 a:  n[        USS 5      n[        USS 5      =(       d    Un[        XWUS   S9   S nAg S nAf[         a7  nS[        U5      R                  5       ;   a  [        [        U5      5      ee S nAff = f)NrV   r   r   r   )r   rV   r   )rq   rV   r   r   r   r	   ConnectionErrorTimeoutgetattrr   ImportErrorri   r,  r   r    )	r   methodr   r  r   er   
failed_urlr   s	           rC   r   PipSession.request  s    )T\\2)T\\2	7?6@@@@(((*:*:; 	QaD1G %6=#J"1fY>OP 	A& &&:3&?@@	s#   A $C,30B((C,52C''C,)r  r   r   r   r   r   r   )r  r   r   r   r   r   r   
str | Noner   zSequence[str]r   zlist[str] | Noner   r   r   zset[str] | Noner   r   r   r   )r  z	list[str]r   r   )NF)r  ri   r  rD  r   r   r   r   )r   z#Generator[SecureOrigin, None, None])r.  r   r   r   )
r@  ri   r   ri   r  r   r   r   r   r   )r   r   r   r   rV   __annotations__r   r  r  r  r9  r   r   r   r   s   @rC   r   r   2  s    GZ
  ')'+)-+/[?[? [? 	[?
 [? %[? %[? '[? )[? [? 
[? [?z. NSVV!+VFJV	VB=
AF rG   r   )r   ri   )]r   
__future__r   email.utilsr   	functoolsr   r)  ra   loggingr   r~   rb   rv   rx   re   urllib.parser$  warningscollections.abcr   r   r   typingr   r   rk   r	   r
   pip._vendor.cachecontrolr   _BaseCacheControlAdapterpip._vendor.requests.adaptersr   r   r   _BaseHTTPAdapterpip._vendor.requests.modelsr   r   pip._vendor.requests.structuresr   "pip._vendor.urllib3.connectionpoolr   pip._vendor.urllib3.exceptionsr   r/   r   pip._internal.exceptionsr   pip._internal.metadatar   pip._internal.models.linkr   pip._internal.network.authr   pip._internal.network.cacher   pip._internal.network.utilsr   pip._internal.utils.compatr   pip._internal.utils.glibcr   pip._internal.utils.miscr   r   r   r    pip._internal.utils.urlsr!   r   r"   pip._vendor.urllib3r#   	getLoggerr   r  tupleri   r   SecureOriginfilterwarningsr+   rE  	lru_cacher   r   r   r   r   Sessionr   r@   rG   rC   <module>rg     sn   #   	     	    
   8 8
 * T H I A ? = A  4 : * ; 5 > / .  10 
		8	$S#sSy4//0 	  +A B
&" 
 Qb  bJ*[ *Z+@ +@\	)+; 		13K 	I+ II"5 Ib!! brG   