\h IUdZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl ZddlZddlmZmZmZmZmZmZmZmZmZmZddlmZmZddlmZ ddl!m"Z"m#Z#ddl!m$Z%ddl&m'Z'm(Z(dd l)m*Z*dd l+m,Z,dd l-m.Z.dd l/m0Z0dd l1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:ddl;mZ>m?Z?ddl@mAZAer ddlBmCZCddlDmEZEejeGZHeeIeIeeeJeIffZKejde.gdZMeeKeNd<dZOdePfdZQdeIfdZRGdd e#ZSGd!d"ZTGd#d$eTe%Z$Gd%d&eTe ZGd'd(e$ZUGd)d*eZVGd+d,ejZXy)-zhPipSession and supporting code, containing all pip-specific network request configuration and behavior. N) TYPE_CHECKINGAnyDict GeneratorListMappingOptionalSequenceTupleUnion)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) PoolManagerignore)category))https*r')r' localhostr')r'z 127.0.0.0/8r')r'z::1/128r')filer'N)sshr'r'SECURE_ORIGINS) BUILD_BUILDIDBUILD_IDCI PIP_IS_CIreturnc.tdtDS)z? Return whether it looks like pip is running under CI. c3@K|]}|tjvywN)osenviron).0names `/root/niggaflix-v3/playground/venv/lib/python3.12/site-packages/pip/_internal/network/session.py z looks_like_ci..jsGdtrzz!Gs)anyCI_ENVIRONMENT_VARIABLESr8 looks_like_cir>cs G.FG GGr=c dtdtjdtjid}|dddk(rtj|dd<n|dddk(rStj }|j d k(r|d d }d j|Dcgc] }t|c}|dd<nK|ddd k(rtj|dd<n%|dddk(rtj|dd<tjjdrddl m }|j|j|jf}tt!dt#gd|}tt!dt#ddgt%}|r||d<|r||d<tjjdr4tj&drdtj&dd|d<tj(r'tj(|j+did<tj,r'tj,|j+did<tj.rtj.|d<t1rdd l}|j4|d<t7j9d}|t|j|d<t;j<d ` t?j@d d!gt>jBd"#} | jd$r&| jEd%d&jG|d'< tKrd(nd |d)<tLjNjQd*} | | |d+<d,jS|tUjV|d-d(./Scc}w#tH$rYpwxYw)0z6 Return a string representing the user agent. pip)r7versionr7) installerpythonimplementationrDCPythonrAPyPyfinalN.Jython IronPythonlinuxr)distroc |dSNr<xs r8zuser_agent.. !A$r=)r7rAidc |dSrOr<rQs r8rSzuser_agent..rTr=liblibcrMdarwinmacOSsystemreleasecpuopenssl_version setuptoolssetuptools_versionrustcz --versiong?)stderrtimeoutsrustc  rP rustc_versionTciPIP_USER_AGENT_USER_DATA user_dataz9{data[installer][name]}/{data[installer][version]} {json}),:) separators sort_keys)datajson),rplatformpython_versionpython_implementationsyspypy_version_info releaseleveljoinstr startswith pip._vendorrMr7rAcodenamedictfilterziprmac_verr[ setdefaultr\machiner_sslOPENSSL_VERSIONrget_distributionshutilwhich subprocess check_outputSTDOUTsplitdecode Exceptionr>r4r5getformatrndumps) rmrsrRrMlinux_distribution distro_infosrXsslsetuptools_dist rustc_outputrhs r8 user_agentrms $ <))+ H224 D f%2,4,C,C,E y)   '6 111  ) )W 4 1"1 5 ,/HH. /SV /-  y)   '8 3,4,C,C,E y)   '< 7,4,C,C,E y) ||w'&#[[]FNN,OO'+ -/AB (  UI& 3   #'L )DN ||x(X-=-=-?-B")h6F6F6H6KLX080A"%f-3;3C3C3E"%i0&&(U y"%"5"5 -/@@NO"%()@)@%A !" ||G( M%22+&z/@/@#L &&y1)5(:(:4(@(C(J(J(L_% 'dDJ 9:I%[ F M M  ZZt D N Y 0r   sO  (O OOceZdZ d dededeeeeeeffdeee fdeee ee e ffdee e e fde fd Z d d Z y) LocalFSAdapterNrequeststreamrcverifycertproxiesr0ct|j}t}d|_|j|_ t j |} t jj| jd} tj|dxsd} t| | j| d|_t|d|_|j j"|_|S#t$$rd} d|_t'| j(|_t-j.|j*d | j1d |_Yd} ~ |Sd} ~ wwxYw) NT)usegmtrz text/plain)z Content-TypezContent-Lengthz Last-Modifiedrbiz: utf8)r!urlr status_coder4statemailutils formatdatest_mtime mimetypes guess_typerst_sizeheadersopenrawcloseOSErrortype__name__reasonioBytesIOencode) selfrrrcrrrpathnamerespstatsmodified content_typeexcs r8sendzLocalFSAdapter.sendsw{{+z;; (GGH%E{{--ennT-JH$//9!<L L.$0&+mm%-DLHd+DHDJ ) J #D s),,DKzzT[[MC5"9"@"@"HIDHH ) JsC!! E*AE  Ecyr3r<)rs r8rzLocalFSAdapter.closes r=)FNTNN)r0N)r __module__ __qualname__rboolr r floatr rvrrrrr<r=r8rrs?C#'6:/3% %%%uUE\': :;< % dCi % uS%S/123 %'#s(+,% %N r=rc `eZdZdZdddeddeddffdZefd ed ed e d edd f fd Z xZ S)_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_contextrr"kwargsr0c 2||_t|di|y)Nr<) _ssl_contextsuper__init__)rrr __class__s r8rz _SSLContextAdapterMixin.__init__s ( "6"r= connectionsmaxsizeblock pool_kwargsr#c z|j|jd|jt| d|||d|S)Nr)rrrr<)rr~rinit_poolmanager)rrrrrrs r8rz(_SSLContextAdapterMixin.init_poolmanagersQ    (  " "=$2C2C Dw' #    r=) rrr__doc__r rrrintrr __classcell__rs@r8rrst/3#l+# #  #(           r=rc eZdZy)rNrrrr<r=r8rr r=rc eZdZy)rNrr<r=r8rr$rr=rc XeZdZdededeeefdeeeeeeffddf fd Z xZ S)InsecureHTTPAdapterconnrrrr0Nc,t|||d|yNF)rrrrr cert_verifyrrrrrrs r8rzInsecureHTTPAdapter.cert_verify) 3u4Hr= rrrrrvr rr r rrrs@r8rr(dIIIdCi I uS%S/123 I  IIr=rc XeZdZdededeeefdeeeeeeffddf fd Z xZ S)InsecureCacheControlAdapterrrrrr0Nc,t|||d|yrrrs r8rz'InsecureCacheControlAdapter.cert_verify4rr=rrs@r8rr3rr=rceZdZUdZeeed<dddddddededeed e ed ee ed ed d eddffdZ de eddfdZ ddedeede ddfdZdeeddffdZdede fdZdededed edef fd ZxZS) PipSessionNrcrr<)retriescache trusted_hosts index_urlsrargsrrrrrr"rr0ct ||i|g|_t|jd<t ||_tj|gdd}t|}|r3tt|||} tt|||_ nt|| } ||_ |jd | |jd ||jd t!|D]} |j#| d y)zj :param trusted_hosts: Domains not to emit warnings for when not using HTTPS. z User-Agent)r)iiiiig?)totalstatus_forcelistbackoff_factor) max_retries)rrr)rr)rrzhttps://zhttp://zfile://T)suppress_loggingN)rrpip_trusted_originsrrrauthrRetryrrrr_trusted_host_adapterrmountradd_trusted_host) rrrrrrrrinsecure_adaptersecure_adapterhostrs r8rzPipSession.__init__As $)&)EG &0\ \")J? --7  ,/7C 0#E*#'N *E#E*#*D & )W+VN)9D & :~. 9./ 9n./! ?D  ! !$ ! > ?r=new_index_urlsc&||j_y)zn :param new_index_urls: New index urls to update the authentication handler with. N)rr)rrs r8update_index_urlszPipSession.update_index_urlss . r=rsourcerc6|s%d|}| |d|dz }tj|t|\}}|td|||f|jvr|jj ||f|j t|ddz|j|j t|dz|j|sS|j t|dd z|j|j t|d z|jyy) 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/rj) loggerinfor ValueErrorrappendrrr)rrrrmsg parsed_host parsed_ports r8rzPipSession.add_trusted_hosts )$2C!** KK #/#5 [  J4(ST T  %T-E-E E  $ $ + +[+,F G !$v 6 X>X  (.4d6P6PQ JJ%d6:S@**  JJ,T2S8$:T:T U r=c#jKtEd{|jD]\}}d||dn|fy7$w)Nr')r+r)rrports r8iter_secure_originszPipSession.iter_secure_originss@!!!22 =JD$T\ct< < = "s 31%3locationc6tjjt|}|j|j |j }}}|jddd}|jD]U}|\}}} ||k7r|dk7r tj|xsd} tj|} | | vrH|| k7r| dk7r| Uytjd||y#t$r-|r(|j|jk7r|dk7rYY]wxYw) N+rPr'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)urllibparseurlparservrhostnamerrsplitr ipaddress ip_address ip_networkrlowerrwarning) rrparsedorigin_protocol origin_host origin_port secure_originsecure_protocol secure_host secure_portaddrnetworks r8is_secure_originzPipSession.is_secure_origins@&&s8}5 MM OO KK'2*00a8< "557! M8E 5O[+/1o6L  ++K,=2>#..{;w&{*3&+C! L  I    O  #))+{/@/@/BB#s* s.C""1DDmethodrc|jd|j|jd|jt|||g|i|S)Nrcr)r~rcrrr)rr*rrrrs r8rzPipSession.requestsH)T\\2)T\\2wvss>!GXc]! #')*..2N?N?N?} N?  } N? T#Y' N?l+N?N? N?`.S .d.QVVV!)#VIMV VB=Y|T4/G%H= AA$AF=c==C=3=8==r=r)Yr email.utilsrrrrnloggingrr4rorrrr urllib.parserwarningstypingrrrrrrr r r r rxr rpip._vendor.cachecontrolr_BaseCacheControlAdapterpip._vendor.requests.adaptersrrr_BaseHTTPAdapterpip._vendor.requests.modelsrrpip._vendor.requests.structuresr"pip._vendor.urllib3.connectionpoolrpip._vendor.urllib3.exceptionsrr@rpip._internal.metadatarpip._internal.models.linkrpip._internal.network.authrpip._internal.network.cacherpip._internal.utils.compatrpip._internal.utils.glibcrpip._internal.utils.miscrr pip._internal.utils.urlsr!rr"pip._vendor.urllib3.poolmanagerr# getLoggerrrrvrr-filterwarningsr+r,r;rr>rrrrrSessionrr<r=r8rGsj        *THIA?=A:*;5/.H0;   8 $S#xc3h889 +AB &\" ( HtHbCbJ) [) X  D )+;  13K I+II"5IJ=!!J=r=