+
    Žf©j)T  ã                  óÔ  € R t ^ RIH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 ^ RIHt ^ RIHt ^ RIHt ^ RI	HtHt ^ RIHtHt ^ R	IHt ^ R
IHt ^ RIHtH t H!t!H"t"H#t# ^ RI$H%t% ]	PL                  '       d   ^ RI'H(t( ^ RI)H*t* ]! ]+4      t,Rs- ! R R]4      t. ! R R]4      t/ ! R R]/4      t0 ! R R]/4      t1 ! R R]/4      t2]R R l4       t3 ! R R]4      t4R# )z¡Network Authentication Helpers

Contains interface (MultiDomainBasicAuth) and associated glue code for
providing credentials in the context of network requests.
)ÚannotationsN)ÚABCÚabstractmethod)Úcache)Ú
commonpath)ÚPath)ÚAnyÚ
NamedTuple)ÚAuthBaseÚHTTPBasicAuth)Úget_netrc_auth)Ú	getLogger)ÚaskÚ	ask_inputÚask_passwordÚremove_auth_from_urlÚsplit_auth_netloc_from_url)ÚAuthInfo)ÚPreparedRequest)ÚResponseFc                  ó6   € ] tR t^-t$ R]R&   R]R&   R]R&   RtR# )ÚCredentialsÚstrÚurlÚusernameÚpassword© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    ÚU/var/www/html/bestweb/venv/lib/python3.14/site-packages/pip/_internal/network/auth.pyr   r   -   s   ‡ Ø	ƒHØƒMØ‡Mr#   r   c                  óR   € ] tR t^3t$ RtR]R&   ]R R l4       t]R R l4       tRt	R	# )
ÚKeyRingBaseProviderzKeyring base provider interfaceÚboolÚhas_keyringc               ó$   € V ^8„  d   QhRRRRRR/# ©é   r   r   r   ú
str | NoneÚreturnúAuthInfo | Noner   )Úformats   "r$   Ú__annotate__Ú KeyRingBaseProvider.__annotate__9   s   € ×SÑS ÐS°
ÐS¸ÑSr#   c                	ó   € R # ©Nr   ©Úselfr   r   s   &&&r$   Úget_auth_infoÚ!KeyRingBaseProvider.get_auth_info8   s   € ÙPSr#   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r+   r   r   r   r   r-   ÚNoner   )r/   s   "r$   r0   r1   <   s   € ×QÑQ #ÐQ°ÐQÀÐQÈÑQr#   c                	ó   € R # r3   r   ©r5   r   r   r   s   &&&&r$   Úsave_auth_infoÚ"KeyRingBaseProvider.save_auth_info;   s   € ÙNQr#   r   N)
r   r   r   r    Ú__doc__r!   r   r6   r=   r"   r   r#   r$   r&   r&   3   s'   ‡ Ù)àÓàÜSó ØSàÜQó ÜQr#   r&   c                  ó6   € ] tR t^?tRtRtR R ltR R ltRtR# )	ÚKeyRingNullProviderzKeyring null providerFc               ó$   € V ^8„  d   QhRRRRRR/# r*   r   )r/   s   "r$   r0   Ú KeyRingNullProvider.__annotate__D   s!   € ÷ ñ  ð °
ð ¸ñ r#   c                	ó   € R # r3   r   r4   s   &&&r$   r6   Ú!KeyRingNullProvider.get_auth_infoD   ó   € Ùr#   c               ó(   € V ^8„  d   QhRRRRRRRR/# r9   r   )r/   s   "r$   r0   rC   G   s(   € ÷ ñ  #ð °ð Àð Èñ r#   c                	ó   € R # r3   r   r<   s   &&&&r$   r=   Ú"KeyRingNullProvider.save_auth_infoG   rF   r#   r   N)	r   r   r   r    r?   r(   r6   r=   r"   r   r#   r$   rA   rA   ?   s   † Ùà€Kõ÷ñ r#   rA   c                  óB   € ] tR t^KtRtRtR R ltR R ltR R ltR	t	R
# )ÚKeyRingPythonProviderz7Keyring interface which uses locally imported `keyring`Tc               ó   € V ^8„  d   QhRR/# )r+   r-   r:   r   )r/   s   "r$   r0   Ú"KeyRingPythonProvider.__annotate__P   s   € ÷ ñ ˜$ñ r#   c                	ó   € ^ RI pWn         R# )é    N©Úkeyring)r5   rQ   s   & r$   Ú__init__ÚKeyRingPythonProvider.__init__P   s
   € ÛàŽr#   c               ó$   € V ^8„  d   QhRRRRRR/# r*   r   )r/   s   "r$   r0   rM   U   s!   € ÷ ñ  ð °
ð ¸ñ r#   c                	ó\  € \        V P                  R 4      '       dP   \        P                  RV4       V P                  P	                  W4      pVe   VP
                  VP                  3# R# Ve=   \        P                  RV4       V P                  P                  W4      pV'       d   W$3# R# )Úget_credentialz'Getting credentials from keyring for %sNz$Getting password from keyring for %s)ÚhasattrrQ   ÚloggerÚdebugrV   r   r   Úget_password)r5   r   r   Úcredr   s   &&&  r$   r6   Ú#KeyRingPythonProvider.get_auth_infoU   s�   € ô �4—<‘<Ð!1×2Ò2Ü�L‰LÐBÀCÔHØ—<‘<×.Ñ.¨sÓ=ˆDØÒØ—}‘} d§m¡mÐ3Ð3ÙàÒÜ�L‰LÐ?ÀÔEØ—|‘|×0Ñ0°Ó?ˆHßØÐ)Ð)Ùr#   c               ó(   € V ^8„  d   QhRRRRRRRR/# r9   r   )r/   s   "r$   r0   rM   g   ó(   € ÷ ;ñ ; #ð ;°ð ;Àð ;Èñ ;r#   c                	ó>   € V P                   P                  WV4       R # r3   )rQ   Úset_passwordr<   s   &&&&r$   r=   Ú$KeyRingPythonProvider.save_auth_infog   s   € Ø�‰×!Ñ! #°Ö:r#   rP   N)
r   r   r   r    r?   r(   rR   r6   r=   r"   r   r#   r$   rK   rK   K   s   † ÙAà€Kõõ
÷$;ñ ;r#   rK   c                  óZ   € ] tR t^ktRtRtR R ltR R ltR R ltR	 R
 lt	R R lt
RtR# )ÚKeyRingCliProviderzâProvider which uses `keyring` cli

Instead of calling the keyring package installed alongside pip
we call keyring on the command line which will enable pip to
use which ever installation of keyring is available first in
PATH.
Tc               ó    € V ^8„  d   QhRRRR/# )r+   Úcmdr   r-   r:   r   )r/   s   "r$   r0   ÚKeyRingCliProvider.__annotate__v   s   € ÷ ñ ˜Cð  Dñ r#   c                	ó   € Wn         R # r3   rP   )r5   re   s   &&r$   rR   ÚKeyRingCliProvider.__init__v   s   € ØŽr#   c               ó$   € V ^8„  d   QhRRRRRR/# r*   r   )r/   s   "r$   r0   rf   y   s!   € ÷ .ñ . ð .°
ð .¸ñ .r#   c                	ó$   € V P                  W4      # r3   )Ú
_get_credsr4   s   &&&r$   r6   Ú KeyRingCliProvider.get_auth_infoy   s   € Ø�‰˜sÓ-Ð-r#   c               ó(   € V ^8„  d   QhRRRRRRRR/# r9   r   )r/   s   "r$   r0   rf   |   r^   r#   c                	ó&   € V P                  WV4      # r3   )Ú_set_passwordr<   s   &&&&r$   r=   Ú!KeyRingCliProvider.save_auth_info|   s   € Ø×!Ñ! #°Ó:Ð:r#   c               ó$   € V ^8„  d   QhRRRRRR/# )r+   Úservice_namer   r   r,   r-   r.   r   )r/   s   "r$   r0   rf      s!   € ÷ $4ñ $4 sð $4°jð $4À_ñ $4r#   c                ór  € V P                   f   R# V P                   RRRV.pVe   VP                  V4       \        P                  P	                  4       pRVR&   \
        P                  ! V\
        P                  \
        P                  \
        P                  VR7      pVP                  P                  R4      pVP                  ^8X  d   RV9   d   RV9   d   \        R	4      hVP                  '       d   R# \        P                  ! VP                  P                  R4      4      pVR
,          VR,          3# )z=Mirror the implementation of keyring.get_credential using cliNz--mode=credsz--output=jsonÚgetúutf-8ÚPYTHONIOENCODING)ÚstdinÚstdoutÚstderrÚenvzunrecognized argumentszLKeyring util is outdated; must be at least version 25.2.1, please upgrade itr   r   )rQ   ÚappendÚosÚenvironÚcopyÚ
subprocessÚrunÚDEVNULLÚPIPEry   ÚdecodeÚ
returncodeÚRuntimeErrorÚjsonÚloadsrx   )r5   rr   r   re   rz   ÚresÚerrsÚdatas   &&&     r$   rk   ÚKeyRingCliProvider._get_creds   sÿ   € à�<‰<ÒÙà�|‰|˜^¨_¸eÀ\ÐRˆØÒØ�J‰J�xÔ ä�j‰j�o‰oÓˆØ")ˆÐÑÜ�nŠnØÜ×$Ñ$Ü—?‘?Ü—?‘?Øô
ˆð �z‰z× Ñ  Ó)ˆà�N‰N˜aÔØ(¨DÔ0Ø $Ô&äð$óð ð
 �>�>ˆ>Ùä�zŠz˜#Ÿ*™*×+Ñ+¨GÓ4Ó5ˆØ�ZÕ  $ zÕ"2Ð3Ð3r#   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r+   rr   r   r   r   r-   r:   r   )r/   s   "r$   r0   rf   ¥   s)   € ÷ ñ ¨#ð ¸ð Èð ÐPTñ r#   c                óú   € V P                   f   R# \        P                  P                  4       pRVR&   \        P
                  ! V P                   RW.V \        P                   2P                  4       VRR7       R# )z;Mirror the implementation of keyring.set_password using cliNru   rv   ÚsetT)Úinputrz   Úcheck)rQ   r|   r}   r~   r   r€   ÚlinesepÚencode)r5   rr   r   r   rz   s   &&&& r$   ro   Ú KeyRingCliProvider._set_password¥   sh   € à�<‰<ÒÙÜ�j‰j�o‰oÓˆØ")ˆÐÑÜ�ŠØ�\‰\˜5 ,Ð9Ø�JœrŸz™z˜lÐ+×2Ñ2Ó4ØØõ		
ñ r#   rP   N)r   r   r   r    r?   r(   rR   r6   r=   rk   ro   r"   r   r#   r$   rc   rc   k   s-   † ñð €Kõõ.õ;õ$4÷Lñ r#   rc   c               ó    € V ^8„  d   QhRRRR/# )r+   Úproviderr   r-   r&   r   )r/   s   "r$   r0   r0   µ   s   € ÷ :!ñ :! 3ð :!Ð+>ñ :!r#   c                óx  € \         P                  R V 4       \        '       d   Rp V R9   d#    \        4       p\         P                  R4       V# V R9   EdE   \        P                  ! R4      pV'       dþ   VP                  \        P                  ! R	4      4      '       dÓ   \        P                   R
 R l4       p\#        \        P                  ! R	4      4      p. pV! 4       P%                  \&        P(                  4       F9  p\#        V4      p	 V	P+                  V4      '       g   VP-                  V4       K9  K;  	  \&        P(                  P1                  V4      p\        P                  ! RVR7      pV'       d"   \         P                  RV4       \3        V4      # \         P                  R4       \5        4       #   \         d     ELy\
         dV   pRpT R8X  d
   TR,           p\         P                  Y2\         P                  \        P                  4      R7        Rp?ELÓRp?ii ; i  \.         d     EK;  i ; i)zKeyring provider requested: %sÚdisabledÚautozKeyring provider set: importz1Installed copy of keyring fails with exception %sz3, trying to find a keyring executable as a fallback©Úexc_infoNrQ   Úscriptsc               ó   € V ^8„  d   QhRR/# )r+   r-   r   r   )r/   s   "r$   r0   Ú*get_keyring_provider.<locals>.__annotate__Î   s   € ÷ ñ ¸ñ r#   c                 óÐ   € \         P                  P                  R R4      p V f    \         P                  ! R4      p V # V #   \        \
        3 d    \         P                  p  T # i ; i)ÚPATHNÚCS_PATH)r|   r}   rt   ÚconfstrÚAttributeErrorÚ
ValueErrorÚdefpath©Úpaths    r$   Ú"PATH_as_shutil_which_determines_itÚ@get_keyring_provider.<locals>.PATH_as_shutil_which_determines_itÍ   s_   € ä—z‘z—~‘~ f¨dÓ3�Ø’<ð*Ü!Ÿzšz¨)Ó4˜ð ��t�øô +¬JÐ7ô *ä!Ÿz™z™ð �ð*ús   ¦A  Á !A%Á$A%r¥   z3Keyring provider set: subprocess with executable %szKeyring provider set: disabled)Úimportr˜   )r   r˜   )rX   ÚverboseÚKEYRING_DISABLEDrK   ÚImportErrorÚ	ExceptionÚwarningÚisEnabledForÚloggingÚDEBUGÚshutilÚwhichÚ
startswithÚ	sysconfigÚget_pathÚtypingÚno_type_checkr   Úsplitr|   ÚpathsepÚsamefiler{   ÚFileNotFoundErrorÚjoinrc   rA   )
r•   ÚimplÚexcÚmsgÚclir§   r›   Úpathsr¦   Úps
   &         r$   Úget_keyring_providerrÄ   ´   sÄ  € ä
‡N�NÐ3°XÔ>÷ ÓØˆØÐ%Ô%ð	RÜ(Ó*ˆDÜ�N‰NÐ9Ô:ØˆKð Ð)Õ)Ü�lŠl˜9Ó%ˆß�3—>‘>¤)×"4Ò"4°YÓ"?×@Ò@ä×!Ñ!ôó "ðô œ9×-Ò-¨iÓ8Ó9ˆGàˆEÙ:Ó<×BÑBÄ2Ç:Á:ÖN�Ü˜“J�ðØŸ:™: g×.Ò.ØŸ™ TÖ*ñ /ñ Oô —:‘:—?‘? 5Ó)ˆDä—,’,˜y¨tÔ4ˆCçÜ�N‰NÐPÐRUÔVÜ% cÓ*Ð*ä
‡N�NÐ3Ô4ÜÓ Ð øô_ ô 	ÚÜô 	Rð FˆCØ˜6Ô!ØÐQÕQ�Ü�N‰N˜3¬f×.AÑ.AÄ'Ç-Á-Ó.PˆN×QÒQûð	RûôB )ô Ûðús6   ­ F9 Ä(H)Æ9H&ÇH&ÇH&ÇA
H!È!H&È)H9È8H9c                  ó   € ] tR t^òtR#R R llt]R R l4       t]P                  R R l4       t]R	 R
 l4       tR R lt	R R lt
RRRR/R R lltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR"tR# )$ÚMultiDomainBasicAuthTNc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r+   Ú	promptingr'   Ú
index_urlszlist[str] | NoneÚkeyring_providerr   r-   r:   r   )r/   s   "r$   r0   Ú!MultiDomainBasicAuth.__annotate__ó   s2   € ÷ =ñ =àð=ð %ð=ð ð	=ð
 
ñ=r#   c                	óF   € Wn         W n        W0n        / V n        R V n        R # r3   )rÈ   rÉ   rÊ   Ú	passwordsÚ_credentials_to_save)r5   rÈ   rÉ   rÊ   s   &&&&r$   rR   ÚMultiDomainBasicAuth.__init__ó   s%   € ð #ŒØ$ŒØ 0ÔØ.0ˆŒð 9=ˆÖ!r#   c               ó   € V ^8„  d   QhRR/# )r+   r-   r&   r   )r/   s   "r$   r0   rË     s   € ÷ <ñ <Ð"5ñ <r#   c                	ó,   € \        V P                  4      # r3   )rÄ   Ú_keyring_provider©r5   s   &r$   rÊ   Ú%MultiDomainBasicAuth.keyring_provider  s   € ä# D×$:Ñ$:Ó;Ð;r#   c               ó    € V ^8„  d   QhRRRR/# )r+   r•   r   r-   r:   r   )r/   s   "r$   r0   rË   	  s   € ÷ *ñ *¨ð *°ñ *r#   c                	ó   € Wn         R # r3   )rÒ   )r5   r•   s   &&r$   rÊ   rÔ     s
   € ð "*Ör#   c               ó   € V ^8„  d   QhRR/# ©r+   r-   r'   r   )r/   s   "r$   r0   rË     s   € ÷ Tñ T˜Tñ Tr#   c                	óH   € V P                   ;'       g    V P                  R9  # )r˜   )r˜   r—   )rÈ   rÒ   rÓ   s   &r$   Úuse_keyringÚ MultiDomainBasicAuth.use_keyring  s"   € ð
 �~‰~×SÐS ×!7Ñ!7Ð?SÑ!SÐSr#   c               ó$   € V ^8„  d   QhRRRRRR/# )r+   r   r,   r   r-   r.   r   )r/   s   "r$   r0   rË     s(   € ÷ ñ àðð ðð 
ñ	r#   c                ó  € V'       g   R#  V P                   P                  W4      #   \         dX   p\        P	                  RRR7       \        P                  R\        T4      4       Rs\        P                  4         Rp?R# Rp?ii ; i)z3Return the tuple auth for a given url from keyring.Nz&Keyring is skipped due to an exceptionTr™   z*Keyring is skipped due to an exception: %s)
rÊ   r6   r­   rX   rY   r®   r   r«   rÄ   Úcache_clear)r5   r   r   r¿   s   &&& r$   Ú_get_keyring_authÚ&MultiDomainBasicAuth._get_keyring_auth  sv   € ÷ Ùð	Ø×(Ñ(×6Ñ6°sÓEÐEøÜô 	ô �L‰LÐAÈDˆLÔQä�N‰NØ<Ü�C“ôð
  $ÐÜ ×,Ñ,Ô.Ýûð	ús   Œ' §B	²ABÂB	c               ó    € V ^8„  d   QhRRRR/# )r+   r   r   r-   r,   r   )r/   s   "r$   r0   rË   1  s   € ÷ 06ñ 06 #ð 06¨*ñ 06r#   c                ó¤  a€ V'       d   V P                   '       g   R# \        V4      P                  R4      R,           p\        P                  P                  V4      o. pV P                    F›  pVP                  R4      R,           p\        P                  P                  \        V4      4      pSV8X  d   Vu # SP                  VP                  8w  d   Kk  \        P                  P                  V4      pVP                  V4       K�  	  V'       g   R# VP                  RV3R lR7       \        P                  P                  V^ ,          4      # )a­  Return 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Ú/Tc                óX   <€ \        \        SP                  V P                  .4      4      # r3   )Úlenr   r¦   )Ú	candidateÚ
parsed_urls   &€r$   Ú<lambda>Ú5MultiDomainBasicAuth._get_index_url.<locals>.<lambda>W  s%   ø€ ¤#Üà"Ÿ™Ø!Ÿ™ðóô#r#   )ÚreverseÚkey)
rÉ   r   ÚrstripÚurllibÚparseÚurlsplitÚnetlocr{   ÚsortÚ
urlunsplit)r5   r   Ú
candidatesÚindexÚparsed_indexræ   rç   s   &&    @r$   Ú_get_index_urlÚ#MultiDomainBasicAuth._get_index_url1  s  ø€ ÷ ˜$Ÿ/Ÿ/˜/Ùä" 3Ó'×.Ñ.¨sÓ3°cÕ9ˆÜ—\‘\×*Ñ*¨3Ó/ˆ
àˆ
à—_”_ˆEØ—L‘L Ó%¨Õ+ˆEÜ!Ÿ<™<×0Ñ0Ô1EÀeÓ1LÓMˆLØ˜\Ô)Ø’à× Ñ  L×$7Ñ$7Ô7ÙäŸ™×-Ñ-¨eÓ4ˆIØ×Ñ˜iÖ(ñ %÷ Ùà�‰Øôð 	ô 
	
ô �|‰|×&Ñ& z°!¥}Ó5Ð5r#   Úallow_netrcÚallow_keyringFc               ó(   € V ^8„  d   QhRRRRRRRR/# )r+   Úoriginal_urlr   rø   r'   rù   r-   r   r   )r/   s   "r$   r0   rË   c  s2   € ÷ 7"ñ 7"àð7"ð ð	7"ð
 ð7"ð 
ñ7"r#   c               ór  € \        V4      w  rEpVw  rxVe   Ve   \        P                  RV4       V# V P                  V4      p	V	'       d/   \        V	4      p
V
'       d   V
w  r›p\        P                  RV	4       V	'       d0   X^ ,          e%   Vw  rxVe   Ve   \        P                  RV4       V# V'       d,   \	        V4      pV'       d   \        P                  RV4       V# V'       dK   V P                  W—4      ;'       g    V P                  WW4      pV'       d   \        P                  RV4       V# Wx3# )z2Find and return credentials for the specified URL.zFound credentials in url for %szFound index url %sz%Found credentials in index url for %sz!Found credentials in netrc for %sz#Found credentials in keyring for %s)r   rX   rY   rö   r   rß   )r5   rû   rø   rù   r   rð   Úurl_user_passwordr   r   Ú	index_urlÚ
index_infoÚ_Úindex_url_user_passwordÚ
netrc_authÚkr_auths   &&$$           r$   Ú_get_new_credentialsÚ)MultiDomainBasicAuth._get_new_credentialsc  s1  € ô *DØó*
Ñ&ˆÐ&ð
 /ÑˆØÒ HÒ$8Ü�L‰LÐ:¸FÔCØ$Ð$ð ×'Ñ'¨Ó,ˆ	ßä3°IÓ>ˆJßØ8BÑ5�	Ð5Ü—‘Ð1°9Ô=÷ Ð0°Õ3Ò?Ø!8ÑˆHØÒ#¨Ò(<Ü—‘ÐDÀfÔMØ.Ð.÷ Ü'¨Ó5ˆJßÜ—‘Ð@À&ÔIØ!Ð!÷ ð ×&Ñ& yÓ;÷ 9ð 9Ø×&Ñ& vÓ8ð ÷
 Ü—‘ÐBÀFÔKØ�àÐ!Ð!r#   c               ó    € V ^8„  d   QhRRRR/# )r+   rû   r   r-   z"tuple[str, str | None, str | None]r   )r/   s   "r$   r0   rË   œ  s   € ÷ .'ñ .'Øð.'à	+ñ.'r#   c                óR  € \        V4      w  r#pV P                  V4      w  rVVe   Vf2   W0P                  9   d"   V P                  V,          w  rxVe   WW8X  d   YxreVf   Ve)   T;'       g    RpT;'       g    RpWV3V P                  V&   Ve   Vf   Vf   Ve   Q RV 24       hW%V3# )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: )r   r  rÍ   )	r5   rû   r   rð   r   r   r   ÚunÚpws	   &&       r$   Ú_get_url_and_credentialsÚ-MultiDomainBasicAuth._get_url_and_credentialsœ  sÖ   € ô 4°LÓA‰ˆ�Qð "×6Ñ6°|ÓDÑˆð Ò Ò 0°fÇÁÔ6NØ—^‘^ FÕ+‰FˆBð Ò 8¤>Ø%'˜(àÒ 8Ò#7ð
  —~�~ 2ˆHØ—~�~ 2ˆHð '/Ð%9ˆD�N‰N˜6Ñ"ð Ò! hÒ&:àÒ  XÒ%5ð		Bð
 3°<°.ÐAó	Bð7ð
 ˜hÐ&Ð&r#   c               ó    € V ^8„  d   QhRRRR/# )r+   Úreqr   r-   r   )r/   s   "r$   r0   rË   Ì  s   € ÷ ñ ˜Oð °ñ r#   c                	óØ   € VP                   f   Q hV P                  VP                   4      w  r#pW!n         Ve   Ve   \        W44      ! V4      pVP                  RV P                  4       V# )NÚresponse)r   r  r   Úregister_hookÚ
handle_401)r5   r  r   r   r   s   &&   r$   Ú__call__ÚMultiDomainBasicAuth.__call__Ì  sg   € à�w‰wÒ"Ð"Ð"Ø"&×"?Ñ"?ÀÇÁÓ"HÑˆ�xð ŒàÒ HÒ$8ä Ô3°CÓ8ˆCð 	×Ñ˜* d§o¡oÔ6àˆ
r#   c               ó    € V ^8„  d   QhRRRR/# )r+   rð   r   r-   z#tuple[str | None, str | None, bool]r   )r/   s   "r$   r0   rË   Þ  s   € ÷ 	(ñ 	(¨3ð 	(Ð3Vñ 	(r#   c                	ó"  € V P                   '       d   \        R V R24      MRpV'       g   R# V P                  '       dC   V P                  W4      pV'       d*   V^ ,          e   V^,          e   V^ ,          V^,          R3# \	        R4      pW$R3# )z	User for z: NFz
Password: T)NNF)rÈ   r   rÚ   rß   r   )r5   rð   r   Úauthr   s   &&   r$   Ú_prompt_for_passwordÚ)MultiDomainBasicAuth._prompt_for_passwordÞ  sƒ   € Ø8<¿¿¸”9˜y¨¨°Ð3Ô4ÈDˆßØ$Ð$Ø××ÐØ×)Ñ)¨&Ó;ˆDß˜˜Q�Ò+°°QµÒ0CØ˜A•w  Q¥¨Ð.Ð.Ü Ó-ˆØ 4Ð'Ð'r#   c               ó   € V ^8„  d   QhRR/# rØ   r   )r/   s   "r$   r0   rË   ê  s   € ÷ Mñ M°$ñ Mr#   c                	ó¨   € V P                   '       d/   V P                  '       d   V P                  P                  '       g   R # \	        RRR.4      R8H  # )Fz#Save credentials to keyring [y/N]: ÚyÚn)rÈ   rÚ   rÊ   r(   r   rÓ   s   &r$   Ú _should_save_password_to_keyringÚ5MultiDomainBasicAuth._should_save_password_to_keyringê  sC   € à——�Ø×#×#Ð#Ø×(Ñ(×4×4Ð4áÜÐ8¸3À¸*ÓEÈÑLÐLr#   c               ó$   € V ^8„  d   QhRRRRRR/# )r+   Úrespr   Úkwargsr   r-   r   )r/   s   "r$   r0   rË   ó  s!   € ÷ ?ñ ?˜xð ?°3ð ?¸8ñ ?r#   c                	óò  € VP                   R 8w  d   V# V P                  VP                  RV P                  R7      w  r4V P                  '       g   V'       g   V'       g   V# \
        P                  P                  VP                  4      pRpV'       g'   V'       g   V P                  VP                  4      w  r4pRV n
        VeZ   VeV   W43V P                  VP                  &   V'       d4   V P                  4       '       d   \        VP                  VVR7      V n
        VP                  pVP                  P!                  4        \#        T;'       g    RT;'       g    R4      ! VP$                  4      pVP'                  RV P(                  4       V P                  '       d   VP'                  RV P*                  4       VP,                  P.                  ! V3/ VB p	V	P0                  P3                  V4       V	# )é‘  F)rø   rù   N)r   r   r   r  r  )Ústatus_coder  r   rÚ   rÈ   rí   rî   Úurlparser  rð   rÎ   rÍ   r  r   ÚcontentÚrawÚrelease_connr   Úrequestr  Úwarn_on_401Úsave_credentialsÚ
connectionÚsendÚhistoryr{   )
r5   r!  r"  r   r   ÚparsedÚsaver   r  Únew_resps
   &&,       r$   r  ÚMultiDomainBasicAuth.handle_401ó  s˜  € ð ×Ñ˜sÔ"ØˆKð "×6Ñ6Ø�H‰HØØ×*Ñ*ð 7ó 
Ñˆð �~�~ˆ~§h·xØˆKä—‘×&Ñ& t§x¡xÓ0ˆð ˆß§Ø'+×'@Ñ'@ÀÇÁÓ'OÑ$ˆH ð %)ˆÔ!ØÒ HÒ$8Ø-5Ð,@ˆD�N‰N˜6Ÿ=™=Ñ)÷ ˜×=Ñ=×?Ò?Ü,7ØŸ™Ø%Ø%ô-�Ô)ð �L‰LˆØ�‰×ÑÔô ˜HŸN˜N¨¨H¯N¨N¸Ô;¸D¿L¹LÓIˆØ×Ñ˜* d×&6Ñ&6Ô7ð
 ×$×$Ð$Ø×Ñ˜j¨$×*?Ñ*?Ô@ð —?‘?×'Ò'¨Ñ6¨vÑ6ˆØ×Ñ×Ñ Ô%àˆr#   c               ó$   € V ^8„  d   QhRRRRRR/# ©r+   r!  r   r"  r   r-   r:   r   )r/   s   "r$   r0   rË   4  s!   € ÷ ñ  ð °Cð ¸Dñ r#   c                ó€   € VP                   R8X  d-   \        P                  RVP                  P                  4       R# R# )z6Response callback to warn about incorrect credentials.r$  z)401 Error, Credentials not correct for %sN)r%  rX   r®   r*  r   )r5   r!  r"  s   &&,r$   r+  Ú MultiDomainBasicAuth.warn_on_4014  s1   € à×Ñ˜sÔ"Ü�N‰NØ;Ø—‘× Ñ öñ #r#   c               ó$   € V ^8„  d   QhRRRRRR/# r5  r   )r/   s   "r$   r0   rË   <  s!   € ÷ ?ñ ? Xð ?¸ð ?Àñ ?r#   c                óœ  € V P                   P                  '       g   Q R4       hV P                  pRV n        V'       dg   VP                  R8  dT    \        P                  R4       V P                   P                  VP                  VP                  VP                  4       R# R# R#   \         d    \        P                  R4        R# i ; i)z1Response callback to save credentials on success.z'should never reach here without keyringNi�  zSaving credentials to keyringzFailed to save credentials)rÊ   r(   rÎ   r%  rX   Úinfor=   r   r   r   r­   Ú	exception)r5   r!  r"  Úcredss   &&, r$   r,  Ú%MultiDomainBasicAuth.save_credentials<  s«   € ð ×!Ñ!×-×-Ð-ð	5à4ó	5Ø-ð ×)Ñ)ˆØ$(ˆÔ!ß�T×%Ñ%¨Ô+ð?Ü—‘Ð;Ô<Ø×%Ñ%×4Ñ4Ø—I‘I˜uŸ~™~¨u¯~©~öñ ,‰5øô ô ?Ü× Ñ Ð!=×>ð?ús   ÁAB' Â' CÃ
C)rÎ   rÒ   rÉ   rÊ   rÍ   rÈ   )TNr˜   )r   r   r   r    rR   ÚpropertyrÊ   ÚsetterrÚ   rß   rö   r  r  r  r  r  r  r+  r,  r"   r   r#   r$   rÆ   rÆ   ò   s›   † ÷=ð" ô<ó ð<ð ×Ñô*ó ð*ð ôTó ðTõõ406ðd7"ð !ð	7"ð
 $÷7"õr.'õ`õ$	(õMõ?õB÷?ñ ?r#   rÆ   )5r?   Ú
__future__r   r†   r°   r|   r²   r   rµ   r·   Úurllib.parserí   Úabcr   r   Ú	functoolsr   Úos.pathr   Úpathlibr   r   r	   Úpip._vendor.requests.authr
   r   Úpip._vendor.requests.utilsr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   r   r   r   Ú pip._internal.vcs.versioncontrolr   ÚTYPE_CHECKINGÚpip._vendor.requestsr   Úpip._vendor.requests.modelsr   r   rX   r«   r   r&   rA   rK   rc   rÄ   rÆ   r   r#   r$   Ú<module>rN     sØ   ðñõ #ã Û Û 	Û Û Û Û Û ß #Ý Ý Ý ß "ç =Ý 5å 1÷õ õ 6à	××ÐÝ4Ý4á	�8Ó	€àÐ ô�*ô ô	R˜#ô 	Rô	Ð-ô 	ô;Ð/ô ;ô@FÐ,ô FðR ô:!ó ð:!ôzY?˜8ö Y?r#   