2bi=PSrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK J r J r SSK J r SSKJr SSKJr SSKJrJrJrJrJrJr SSKJrJr SS KJrJr SS KJr SS K J!r! SS K"J#r#J$r$J%r%J&r&J'r' SS K(J)r) \!"\*5r+Sq,"SS\5r-"SS\ 5r."SS\.5r/"SS\.5r0"SS\.5r1\ "SS9S\2S\.4Sj5r3"SS\5r4g)zNetwork Authentication Helpers Contains interface (MultiDomainBasicAuth) and associated glue code for providing credentials in the context of network requests. N)ABCabstractmethod) lru_cache) commonprefix)Path)AnyDictList NamedTupleOptionalTuple)AuthBase HTTPBasicAuth)RequestResponse)get_netrc_auth) getLogger)ask ask_input ask_passwordremove_auth_from_urlsplit_auth_netloc_from_url)AuthInfoFc4\rSrSr%\\S'\\S'\\S'Srg) Credentials&urlusernamepasswordN)__name__ __module__ __qualname____firstlineno__str__annotations____static_attributes__r ڌ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_internal/network/auth.pyrr&s HMMr(rc t\rSrSr%Sr\\S'\S\S\ \S\ \ 4Sj5r \S\S\S\SS 4S j5r S r g ) KeyRingBaseProvider,zKeyring base provider interface has_keyringrrreturncgNr selfrrs r) get_auth_info!KeyRingBaseProvider.get_auth_info1 r(rNcgr0r r2rrrs r)save_auth_info"KeyRingBaseProvider.save_auth_info5r5r(r )r!r"r#r$__doc__boolr&rr%r rr3r8r'r r(r)r+r+,sk)    (8BT   #     r(r+cX\rSrSrSrSrS\S\\S\\4Sjr S\S\S\SS 4S jr S r g ) KeyRingNullProvider:zKeyring null providerFrrr.cgr0r r1s r)r3!KeyRingNullProvider.get_auth_info?r(rNcgr0r r7s r)r8"KeyRingNullProvider.save_auth_infoBrAr(r ) r!r"r#r$r:r-r%r rr3r8r'r r(r)r=r=:sNK (8BT#r(r=cb\rSrSrSrSrS SjrS\S\\S\\ 4S jr S\S\S \SS4S jr S r g)KeyRingPythonProviderFz7Keyring interface which uses locally imported `keyring`Tr.NcSSKnXlg)Nrkeyring)r2rIs r)__init__KeyRingPythonProvider.__init__Ks  r(rrcP[URS5(aM[RSU5 URR X5nUbUR UR 4$gUb;[RSU5 URRX5nU(aX$4$g)Nget_credentialz'Getting credentials from keyring for %sz$Getting password from keyring for %s)hasattrrIloggerdebugrMrr get_password)r2rrcredrs r)r3#KeyRingPythonProvider.get_auth_infoPs 4<>zz  )// ;;r(cURcg[RR5nSUS'[R "URSX/U[R 3RS5USS9 g)z;Mirror the implementation of keyring.set_password using cliNrfrgsetT)inputrjcheck)rIrkrlrmrnroruencode)r2rcrrrjs r)ra KeyRingCliProvider._set_passwordsj << jjoo")  \\5, 9Jrzzl+227;  r(rH)r!r"r#r$r:r-r%rJr rr3r8r^rar'r r(r)rXrXfsKCD (8BT;#;;;;<#<<#<$ #   PT r(rX)maxsizeproviderr.cX[RSU5 [(aSnUS;a"[5n[RS5 U$US ;GaB[R"S 5nU(aUR[R"S 55(a[R S ["4S j5n[%[R"S 55n/nU"5R'[(R*5H8n[%U5n U R-U5(dUR/U5 M8M: [(R*R3U5n[R"S US9nU(a![RSU5 [5U5$[RS5 [75$![a GNu[ aMnSnUS:XaUS-n[R X2[R[R5S9 SnAGNSnAff=f![0a GM+f=f)NzKeyring provider requested: %sdisabled)importautozKeyring provider set: importz1Installed copy of keyring fails with exception %srz3, trying to find a keyring executable as a fallback)exc_info)rnrrIscriptsr.c[RRSS5nUc[R"S5nU$U$![[ 4a [R nU$f=f)NPATHCS_PATH)rkrlreconfstrAttributeError ValueErrordefpathpaths r)"PATH_as_shutil_which_determines_it@get_keyring_provider..PATH_as_shutil_which_determines_its_zz~~fd3<*!zz)4 t +J7*!zz *s? A#"A#rz3Keyring provider set: subprocess with executable %szKeyring provider set: disabled)rOverboseKEYRING_DISABLEDrE ImportError Exceptionwarning isEnabledForloggingDEBUGshutilwhich startswith sysconfigget_pathtyping no_type_checkr%rsplitrkpathsepsamefileappendFileNotFoundErrorjoinrXr=) rimplexcmsgclirrpathsrps r)get_keyring_providerrs NN3X>%% R(*D NN9 :K))ll9% 3>>)"4"4Y"?@@  ! !  " 9--i89GE:<BB2::NJ::g.. T*/O::??5)D,,yt4C  NNPRU V%c* * NN34   _   RFC6!QQ NN3f.A.A'--.PN Q  RB)s0 F4 'H4 H H AHH H)(H)c \rSrSrS#S\S\\\S\SS4Sjjr\ S\ 4S j5r \ RS \SS4S j5r \ S\4S j5r S \\S\\S\\4SjrS \S\\4SjrSSS.S\S\S\S\4SjjrS\S\\\\\\44SjrS\S\4SjrS\S\\\\\\44SjrS\4SjrS\S\S\4SjrS\S\SS4S jrS\S\SS4S!jrS"rg)$MultiDomainBasicAuthTN prompting index_urlskeyring_providerr.cDXlX lX0l0UlSUlgr0)rrr passwords_credentials_to_save)r2rrrs r)rJMultiDomainBasicAuth.__init__s& #$ 0.0 <@!r(c,[UR5$r0)r_keyring_providerr2s r)r%MultiDomainBasicAuth.keyring_providers#D$:$:;;r(rcXlgr0)r)r2rs r)rrs "*r(cFUR=(d URS;$)N)rr)rrrs r) use_keyring MultiDomainBasicAuth.use_keyrings ~~S!7!7?S!SSr(rrcU(dgURRX5$![a?n[R S[ U55 Sq[R5 SnAgSnAff=f)z3Return the tuple auth for a given url from keyring.Nz*Keyring is skipped due to an exception: %sT) rr3rrOrr%rr cache_clear)r2rrrs r)_get_keyring_auth&MultiDomainBasicAuth._get_keyring_authsc ((66sE E  NN<C  $  , , . s% A.5A))A.cx^U(aUR(dg[U5RS5S-n[RR U5m/nURHnURS5S-n[RR [U55nTU:XaUs $TR UR :waMe[RR U5nURU5 M U(dgURSU4SjS9 [RRUS5$)aReturn the original index URL matching the requested URL. Cached or dynamically generated credentials may work against the original index URL rather than just the netloc. The provided url should have had its username and password removed already. If the original index url had credentials then they will be included in the return value. Returns None if no matching index was found, or if --no-index was specified by the user. N/Tcd>[TRUR/5RS5$)Nr)rrrfind) candidate parsed_urls r)5MultiDomainBasicAuth._get_index_url..@s-,OONN# eCj #r()reversekeyr) rrrstripurllibparseurlsplitnetlocrsort urlunsplit)r2r candidatesindex parsed_indexrrs @r)_get_index_url#MultiDomainBasicAuth._get_index_urls$//"3'..s3c9\\**3/  __ELL%+E!<<001Ee1LML\)   L$7$77 --e4I   i (%  ||&&z!}55r(F allow_netrc allow_keyring original_urlrrcP[U5upEnUupxUbUb[RSU5 U$URU5n U (a-[U 5n U (aU upn [RSU 5 U (a(W Sb"U upxUbUb[RSU5 U $U(a*[ U5n U (a[RSU5 U $U(aHUR X5=(d UR XW5nU(a[RSU5 U$Xx4$)z2Find and return credentials for the specified URL.zFound credentials in url for %szFound index url %srz%Found credentials in index url for %sz!Found credentials in netrc for %sz#Found credentials in keyring for %s)rrOrPrrr)r2rrrrrurl_user_passwordrr index_url index_info_index_url_user_password netrc_authkr_auths r)_get_new_credentials)MultiDomainBasicAuth._get_new_credentialsJs,*D * && /  H$8 LL:F C$ $'', 3I>J8B5 5 19= 03?!8 H#(< DfM.. ' 5J @&I!! &&y;9&&v8   BFK!!r(c0[U5up#nURU5upVUbUc*X0R;aURUupxUbXW:XaXxpeUcUb&U=(d SnU=(d SnXV4URU'UbUcUcUb SU35eX%U4$)a/Return the credentials to use for the provided URL. If allowed, netrc and keyring may be used to obtain the correct credentials. Returns (url_without_credentials, username, password). Note that even if the original URL contains credentials, this function may return a different username and password. z%Could not load credentials from url: )rrr) r2rrrrrrunpws r)_get_url_and_credentials-MultiDomainBasicAuth._get_url_and_credentialss4LAQ"66|D   0f6N^^F+FB8>%'(  8#7  ~2H~2H'/%9DNN6 " !h&: X%5  B 3<. A  B 7 h&&r(reqcURUR5up#nX!lUbUb[X45"U5nURSUR5 U$)Nresponse)rrr register_hook handle_401)r2rrrrs r)__call__MultiDomainBasicAuth.__call__sW"&"?"?"Hx  H$83C8C *doo6 r(rcUR(a[SUS35OSnU(dgUR(a/URX5nU(aUSbUSb USUSS4$[ S5nX$S4$) Nz User for z: )NNFrFz Password: T)rrrrr)r2rrauthrs r)_prompt_for_password)MultiDomainBasicAuth._prompt_for_passwords}9=9y34D$   ))&;DQ+Q0CAwQ.. -4''r(cUR(a,UR(aURR(dg[ SSS/5S:H$)NFz#Save credentials to keyring [y/N]: yn)rrrr-rrs r) _should_save_password_to_keyring5MultiDomainBasicAuth._should_save_password_to_keyrings;##((4483*ELLr(respkwargsc URS:waU$Sup4UR(aURURSSS9up4UR(dU(d U(dU$[ R RUR5nSnU(d%U(dURUR5up4nSUl UbSUbPX44URUR'U(a/UR5(a[URUUS9Ul URnURR!5 [#U=(d SU=(d S5"UR$5nUR'SUR(5 UR(aUR'SUR*5 UR,R."U40UD6n U R0R3U5 U $) N)NNFTr)rrrrr) status_coderrrrrrurlparserrrrrrcontentraw release_connrrequestr warn_on_401save_credentials connectionsendhistoryr) r2rrrrparsedsaverrnew_resps r)rMultiDomainBasicAuth.handle_401s   s "K'   !%!:!:!"";" H~~hxK&&txx0'+'@'@'O $H%)!  H$8-5,@DNN6== )==??,7 %%-) LL HNHN;DLLI *d&6&67  $ $   j$*?*? @??''6v6%r(c zURS:Xa+[RSURR5 gg)z6Response callback to warn about incorrect credentials.rz)401 Error, Credentials not correct for %sN)rrOrrr)r2rrs r)r MultiDomainBasicAuth.warn_on_401s1   s " NN;     #r(c URR(dS5eURnSUlU(acURS:aR[R S5 URR URURUR5 ggg![a [RS5 gf=f)z1Response callback to save credentials on success.z'should never reach here without keyringNizSaving credentials to keyringzFailed to save credentials) rr-rrrOinfor8rrrr exception)r2rrcredss r)r %MultiDomainBasicAuth.save_credentials"s  ! ! - - 5 4 5 -))$(! T%%+ ? ;<%%44IIu~~u~~,5  ?  !=> ?sAB!!CC)rrrrrr)TNr)r!r"r#r$r;r r r%rJpropertyr+rsetterrrrrrr rrrrrrrrrr r'r r(r)rrs*. & @@T#Y'@ @  @"<"5<<****TTTT  c]3- (  ,.6#.6(3-.6h!# 7"7" 7"  7"  7"r.'.' sHSM8C=0 1.'`G" ( ( x}hsmT1 2 (M$M=x=3=8=~CD?X???r(r)5r:rrkrrnrr urllib.parserabcrr functoolsros.pathrpathlibrrr r r r r pip._vendor.requests.authrrpip._vendor.requests.modelsrrpip._vendor.requests.utilsrpip._internal.utils.loggingrpip._internal.utils.miscrrrrr pip._internal.vcs.versioncontrolrr!rOrrr+r=rErXr%rrr r(r)r%s   # ??=9516 8 *  #   - ;/;@8,8v 4:!3:!+>:!:!zR?8R?r(