Ӷ:57RUdZddlmZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlmZmZmZddlmZmZmZmZddlmZmZddlm Z!ddl"m#Z#m$Z$dd l"m%Z&dd l'm(Z(m)Z)dd l*m+Z+dd l,m-Z-dd l.m/Z/ddl0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7ddl8m9Z9ddl:m;Z;ddlm?Z?m@Z@ddlAmBZBerddlCmDZDddlEmFZFddlGmHZHe jIeJZKeLeMeMeeeNeMffZOejPde/gdZQdeRd<dZSd5d"ZTejUd#$d6d&ZVGd'd(e$ZWGd)d*ZXGd+d,eXe&Z%Gd-d.eXe!Z Gd/d0e%ZYGd1d2e ZZGd3d4ej[Z\dS)7zhPipSession and supporting code, containing all pip-specific network request configuration and behavior. ) annotationsN) GeneratorMappingSequence) TYPE_CHECKINGAnyOptionalUnion)requestsurllib3)CacheControlAdapter)DEFAULT_POOLBLOCK BaseAdapter) HTTPAdapter)PreparedRequestResponse)CaseInsensitiveDict)ConnectionPool)InsecureRequestWarning) __version__)get_default_environment)Link)MultiDomainBasicAuth) SafeFileCache)has_tls)libc_ver)build_url_from_netloc parse_netloc) url_to_path) SSLContext) PoolManager) ProxyManagerignore)category))https*r&)r& localhostr&)r&z 127.0.0.0/8r&)r&z::1/128r&)filer&N)sshr&r&zlist[SecureOrigin]SECURE_ORIGINS) BUILD_BUILDIDBUILD_IDCI PIP_IS_CIreturnboolc>tdtDS)z? Return whether it looks like pip is running under CI. c32K|]}|tjvVdSN)osenviron).0names o/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pip/_internal/network/session.py z looks_like_ci..is)GGdtrz!GGGGGG)anyCI_ENVIRONMENT_VARIABLESr:r8 looks_like_cir>bs" GG.FGGG G GGr:)maxsizestrc ldtdtjdtjid}|dddkrtj|dd<n|dddkrJtj}|jd kr |d d }d d |D|dd<n]|dddkrtj|dd<n.|dddkrtj|dd<tjdrddl m }| | | f}ttdt!gd|}ttdt!ddgt#}|r||d<|r||d<tjdr8tjdrdtjdd|d<tjr*tj|did<tjr*tj|did<tjrtj|d<t/rdd l}|j|d<t5d}|t9|j |d <t;jd!z t?j d!d"gt>j!d#$}|d%r0|"d&d'#|d(<n#tH$rYnwxYwtKrd)nd |d*<tLj'(d+} | | |d,<d-)|tUj+|d.d)/0S)1z6 Return a string representing the user agent. pip)r7versionr7) installerpythonimplementationrGCPythonrDPyPyfinalN.c,g|]}t|Sr=)rA)r6xs r8 zuser_agent..s / / /SVV / / /r:Jython IronPythonlinuxr)distroc|dSNr?r=rNs r8zuser_agent.. !A$r:)r7rDidc|dSrUr=rVs r8rWzuser_agent..rXr:liblibcrSdarwinmacOSsystemreleasecpuopenssl_version setuptoolssetuptools_versionrustcz --versiong?)stderrtimeoutsrustc  r? rustc_versionTciPIP_USER_AGENT_USER_DATA user_dataz9{data[installer][name]}/{data[installer][version]} {json}),:) separators sort_keys)datajson),rplatformpython_versionpython_implementationsyspypy_version_info releaseleveljoin startswith pip._vendorrSr7rDcodenamedictfilterziprmac_verr_ setdefaultr`machiner_sslOPENSSL_VERSIONrget_distributionrAshutilwhich subprocess check_outputSTDOUTsplitdecode Exceptionr>r4r5getformatrrdumps) rqrwrSlinux_distribution distro_infosr\sslsetuptools_dist rustc_outputrls r8 user_agentrlsk $ <<)++ H244 D f%22,4,C,E,E y))   '6 1 11  )W 4 4 1"1" 5 ,/HH / /. / / /- -  y))   '8 3 3,4,C,E,E y))   '< 7 7,4,C,E,E y) |w''*&&&&&&#[[]]FNN,<,O>OO'+ ---/ABB  ( (  UI& 33      (#'L  *)DN |x((MX-=-?-?-BM")h6F6H6H6KLLXB080A0A"%%f-F3;3C3E3E"%%i0)&((U yy6"%"5 -//@@NNO"%()@%A%A !" |G( M%2+&z/@#L &&y11 M)5(:(:4(@(@(C(J(J(L(L_%    D '2dDJ 9::I%[ F M M  Zt D D D N  s#N?? O  O c*eZdZ dddZddZdS)LocalFSAdapterFNTrequestrstreamr0rg"float | tuple[float, float] | Noneverify bool | strcertstr | tuple[str, str] | NoneproxiesMapping[str, str] | Noner/rc~t|j}t}d|_|j|_ t j|} t j| j d} tj |dpd} t| | j | d|_t|d|_|jj|_nl#t$$r_} d|_t'| j|_t-j|jd | |_Yd} ~ nd} ~ wwxYw|S) NT)usegmtrz text/plain)z Content-TypezContent-Lengthz Last-Modifiedrbiz: )rurlr status_coder4statemailutils formatdatest_mtime mimetypes guess_typerst_sizeheadersopenrawcloseOSErrortype__name__reasonioBytesIOencode) selfrrrgrrrpathnamerespstatsmodified content_typeexcs r8sendzLocalFSAdapter.sends<w{++zz; (GH%%E{--enT-JJH$/99!<L L.$0&+m%-DLHd++DHDJJ% D D D #D s)),DKzT["9"9C"9"9"@"@"B"BCCDHHHHHH  D( sC D:AD55D:NonecdSr3r=)rs r8rzLocalFSAdapter.closes r:)FNTNN)rrrr0rgrrrrrrrr/r)r/r)r __module__ __qualname__rrr=r:r8rrsS6:!-1,0%%%%%N      r:rcFeZdZdZdddfd Zefdfd Zdfd ZxZS)_SSLContextAdapterMixina#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_contextrSSLContext | Nonekwargsrr/rc H||_tjdi|dS)Nr=) _ssl_contextsuper__init__)rrr __class__s r8rz _SSLContextAdapterMixin.__init__s0 (""6"""""r: connectionsintr@blockr0 pool_kwargsr!c |j|d|jtjd|||d|S)Nr)rr@rr=)rrrinit_poolmanager)rrr@rrrs r8rz(_SSLContextAdapterMixin.init_poolmanagers_   (  " "=$2C D D D'uww' #      r:proxyrA proxy_kwargsr"c ||j|d|jtj|fi|S)Nr)rrrproxy_manager_for)rrrrs r8rz)_SSLContextAdapterMixin.proxy_manager_forsF   (  # #M43D E E E(uww(??,???r:)rrrrr/r) rrr@rrr0rrr/r!)rrArrr/r") rrr__doc__rrrr __classcell__rs@r8rrs*.########(        @@@@@@@@@@r:rceZdZdS)rNrrrr=r:r8rr'Dr:rceZdZdS)r Nrr=r:r8r r +rr:r c eZdZd fd ZxZS) InsecureHTTPAdapterconnrrrArrrrr/rcRt||d|dSNF)rrrrr cert_verifyrrrrrrs r8rzInsecureHTTPAdapter.cert_verify0, 3u4HHHHHr: rrrrArrrrr/rrrrrrrs@r8rr/GIIIIIIIIIIr:rc eZdZd fd ZxZS) InsecureCacheControlAdapterrrrrArrrrr/rcRt||d|dSrrrs r8rz'InsecureCacheControlAdapter.cert_verify;rr:rrrs@r8rr:rr:rcneZdZUdZded<ddddddd*fdZd+dZ d,d-d Zd.d"Zd/d%Z d0fd) Z xZ S)1 PipSessionNz int | Nonergrr=)retriescache trusted_hosts index_urlsrargsrrrr str | Noner Sequence[str]rlist[str] | Nonerrrr/rctj|i|g|_d|_t |jd<t ||_tj |gdd}t|}|rCtt|||} tt|| |_nt|| } ||_|d | |d ||d t#|D]} || ddS)zj :param trusted_hosts: Domains not to emit warnings for when not using HTTPS. Nz User-Agent)r)iiiiig?)totalstatus_forcelistbackoff_factor) max_retries)rrr)rr)rrzhttps://zhttp://zfile://T)suppress_logging)rrpip_trusted_origins pip_proxyrrrauthr Retryrr rr_trusted_host_adapterrmountradd_trusted_host) rrrrrrrrinsecure_adaptersecure_adapterhostrs r8rzPipSession.__init__Hs $)&)))BD &0\\ \")J??? -766    ,/7CCC  :0#E**#'N *E#E**#***D & & )W+VVVN)9D & :~... 9./// 9n..///! ? ?D  ! !$ ! > > > > ? ?r:new_index_urls list[str]c||j_dS)zn :param new_index_urls: New index urls to update the authentication handler with. N)rr)rr s r8update_index_urlszPipSession.update_index_urlss . r:Fr rAsourcerr0c`|s*d|}| |d|dz }t|t|\}}|td|||f|jvr|j||f|t|ddz|j|t|dz|j|sZ|t|dd z|j|t|d z|jdSdS) 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. zadding trusted host: Nz (from )z+Trusted host URL must include a host part: http)scheme/rn) loggerinfor ValueErrorrappendrrr)rr rrmsg parsed_host parsed_ports r8rzPipSession.add_trusted_hostso  2$22C!***** KK   #/#5#5 [  S4SSTT T  %T-E E E  $ + +[+,F G G G !$v 6 6 6 X    (..4d6PQQQ V JJ%d6:::S@*    JJ,T22S8$:T U U U U U  V Vr:#Generator[SecureOrigin, None, None]c#TKtEd{V|jD]\}}d||dn|fVdS)Nr&)r*r)rr ports r8iter_secure_originszPipSession.iter_secure_originss\!!!!!!!!2 = =JD$T\cct< < < < < = =r:locationrcXtjt|}|j|j|j}}}|ddd}|D]}|\}}} ||kr|dkr tj |pd} tj |} | | vrEnD#t$r7|r2| | kr|dkrYYnwxYw|| kr | dkr| dStd||dS) 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)urllibparseurlparserArhostnamerrsplitr ipaddress ip_address ip_networkrlowerrwarning) rr parsedorigin_protocol origin_host origin_port secure_originsecure_protocol secure_host secure_portaddrnetworks r8is_secure_originzPipSession.is_secure_origins&&s8}}55 M O K'2*00a88< "5577! ! M8E 5O[+/11o6L6L  +K,=2>>#.{;;w&&'    #))++{/@/@/B/BBB#s**H "{**3&&+44  I      us*B88 lru_cacherrrrrSessionrr=r:r8r]s#"""""     8888888888*)))))))TTTTTTHHHHHHHHIIIIIIAAAAAAAA??????======AAAAAA::::::******;;;;;;555555/...........HHHHHHHH000000>;;;;;;======  8 $ $S#xc3h889 +ABBBB & & &    ( HHHHQbbb bJ) ) ) ) ) [) ) ) X&@&@&@&@&@&@&@&@R     )+;        13K   IIIII+IIIIIIII"5IIIK=K=K=K=K=!K=K=K=K=K=r: