+
    8iA                      a  0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
 ^ RIHtHtHtHtHtHt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 ^ R
IH t H!t!H"t"H#t# ^ RI$H%t%H&t& ^ RI'H(t( ]'       d   ^ RI)H*t* ^ RI+H,t, Rt-Rt. ^ RI/t0]1! ]2! ]3]0Ph                  Pk                  R4      R,          4      4      R:8  d   Rt.Rt7R R lt8R R lt9R 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$]>R%]R&]R']=R(]P                  ! ]8R(R)7      R*]P                  ! ]8R*R)7      R+]?/tAR,]BR-&    ! R. R/4      tC ! R0 R1]C4      tD ! R2 R3]C4      tE ! R4 R5]C4      tFR$]ER(]P                  ! ]DR(R)7      R*]P                  ! ]DR*R)7      R&]FR+]P                  ! ]DR*R)7      /tGR6]BR7&   R;R8 R9 lltHR#   ]6 d     ^ RI0t0 L  ]6 d    Rt-  ELi ; ii ; i)<zAuthentication helpers.)annotationsN)standard_b64decodestandard_b64encode)TYPE_CHECKINGAnyCallable	CoroutineMappingMutableMappingOptionalcast)quote)Binary)_authenticate_aws)_authenticate_oidc_get_authenticator)_getaddrinfo)MongoCredential_authenticate_scram_start_parse_scram_response_xor)ConfigurationErrorOperationFailure)saslprep)AsyncConnection)HelloTF.:N   Nc               (    V ^8  d   QhRRRRRRRR/# )	r   credentialsr   connr   	mechanismstrreturnNone )formats   "W/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/asynchronous/auth.py__annotate__r(   H   s8     RL RL RL(7RLDGRL	RL    c                  "   V P                   pVR8X  d8   Rp\        P                  p\        V P                  4      P                  R4      pM6Rp\        P                  p\        W0P                  4      P                  R4      pV P                  pV P                  p\        P                  p	VP                  p
V
'       dZ   V
P                  4       '       dD   \        V
\        4      '       g   Q hV
P                   f   Q hV
P                   w  rV
P"                  pM'\%        W4      w  rpVP'                  W~4      G Rj  xL
 pVf   Q hVR,          p\)        V4      p\+        VR,          4      pVR8  d   \-        R	4      hVR
,          pVR,          pVP/                  V4      '       g   \-        R4      hRV,           pVP0                  '       d   VP0                  w  ppppMRw  ppppV'       d   VV8w  g   VV8w  d]   \        P2                  ! WF\5        V4      V4      pV	! VRV4      P7                  4       pV	! VRV4      P7                  4       pVVVV3Vn        V! V4      P7                  4       pRP9                  WV34      pV	! VVV4      P7                  4       pR\;        \=        VV4      4      ,           pRP9                  VV34      p\;        V	! VVV4      P7                  4       4      pR^RVR,          R\?        V4      /pVP'                  W~4      G Rj  xL
 p\)        VR,          4      p\        P@                  ! VR,          V4      '       g   \-        R4      hVR,          '       gN   R^RVR,          R\?        R4      /pVP'                  W~4      G Rj  xL
 pVR,          '       g   \-        R4      hR# R#  EL~ L L'5i)zAuthenticate using SCRAM.SCRAM-SHA-256sha256utf-8sha1Npayload   ii   z+Server returned an invalid iteration count.   s   rz!Server returned an invalid nonce.s	   c=biws,r=s
   Client Keys
   Server Key   ,s   p=saslContinueconversationId   vz%Server returned an invalid signature.doner)   z%SASL conversation failed to complete.)NNNN)!usernamehashlibr,   r   passwordencoder.   _password_digestsourcecachehmacHMACauth_ctxspeculate_succeeded
isinstance_ScramContext
scram_dataspeculative_authenticater   commandr   intr   
startswithdatapbkdf2_hmacr   digestjoinr   r   r   compare_digest) r   r    r!   r8   rL   	digestmodrJ   r=   r>   _hmacctxnonce
first_barerescmdserver_firstparsed
iterationssaltrnoncewithout_proof
client_key
server_keycsaltciterationssalted_pass
stored_keyauth_msg
client_sigclient_proofclient_final
server_sigs    &&&                             r'   _authenticate_scramrg   H   se     ##HO#NN	,,-44W=LL	*>*>?FFwOFE IIE
--C
s&&((#}----~~)))NN**!:;!R3LL--??y>L"<0FVD\"JDLMM$<DD\FU##BCC 6)Mzzz5:ZZ2
J{5K2
J{ **C))&8J48PR\];yAHHJ
;yAHHJ
 *dJ?
:&--/Jyy*MBCHz8Y7>>@J-d:z.JKKL99m\:;L#E*h	$J$Q$Q$STJ 	#./6,'C
 V)
)C"3y>2Fvd|Z88FGG v;;Ac"23vc{

 LL--6{{"#JKK  _ .N * .sd   B<N??N?A%N?:N8;A*N?&%N? N?-D'N?N;AN?),N?N=N?)N?;N?=N?c               $    V ^8  d   QhRRRRRR/# )r   r8   r"   r:   r#   r%   )r&   s   "r'   r(   r(      s!      s c c r)   c                l   \        V\        4      '       g   \        R4      h\        V4      ^ 8X  d   \	        R4      h\        V \        4      '       g   \        R\        V 4       24      h\        P                  ! 4       pV  RV 2pVP                  VP                  R4      4       VP                  4       # )z0Get a password digest to use for authentication.z#password must be an instance of strzpassword can't be emptyz)username must be an instance of str, not z:mongo:r-   )rC   r"   	TypeErrorlen
ValueErrortyper9   md5updater;   	hexdigest)r8   r:   md5hashrJ   s   &&  r'   r<   r<      s    h$$=>>
8}233h$$CDNCSTUUkkmGZwxj)DNN4;;w'(r)   c               (    V ^8  d   QhRRRRRRRR/# )r   rR   r"   r8   r:   r#   r%   )r&   s   "r'   r(   r(      s(      S C 3 3 r)   c                    \        W4      p\        P                  ! 4       pV  V V 2pVP                  VP	                  R4      4       VP                  4       # )z*Get an auth key to use for authentication.r-   )r<   r9   rn   ro   r;   rp   )rR   r8   r:   rL   rq   rJ   s   &&&   r'   	_auth_keyrt      sM    h1FkkmGWXJvh'DNN4;;w'(r)   c               $    V ^8  d   QhRRRRRR/# )r   hostnamer"   optionz
str | boolr#   r%   )r&   s   "r'   r(   r(      s!      3 
 s r)   c           	       "   VR9   d   V # \        V R^ ^ \        P                  \        P                  R7      G Rj  xL
 ^ ,          w  r#rEpVR8X  d   VP	                  4       #  \        P
                  ! V\        P                  4      pT^ ,          P	                  4       #  Lc  \        P                   d    TP	                  4       u # i ; i5i)z2Canonicalize hostname following MIT-krb5 behavior.N)familyrm   protoflagsforward)Fnone)r   socketIPPROTO_TCPAI_CANONNAMElowergetnameinfoNI_NAMEREQDgaierror)rv   rw   afsocktyperz   	canonnamesockaddrnames   &&      r'   _canonicalize_hostnamer      s        $$%%
 	
 	0	,B%H   !!!(F,>,>? 7==?'	
  ?? !  !s3   :CB &C$%B" 	C"%C
C	C

Cc               $    V ^8  d   QhRRRRRR/# r   r   r   r    r   r#   r$   r%   )r&   s   "r'   r(   r(      s'     k3 k3O k3? k3W[ k3r)   c                  "   \         '       g   \        R4      h V P                  pV P                  pV P                  pVP
                  ;'       g    VP                  ^ ,          p\        WTP                  4      G Rj  xL
 pVP                  R,           V,           pVP                  e   VR,           VP                  ,           pVe   \        '       dO   RP                  \        V4      \        V4      34      p\        P                  ! Wg\        P                   R7      w  rMsRV9   d   VP#                  R^4      w  rMTRr\        P                  ! V\        P                   V
VVR7      w  rM(\        P                  ! V\        P                   R7      w  rV\        P$                  8w  d   \'        R4      h \        P(                  ! V	R4      ^ 8w  d   \'        R	4      h\        P*                  ! V	4      pR
^RRRVR^/pVP-                  RV4      G Rj  xL
 p\/        ^
4       F  p\        P(                  ! V	\1        VR,          4      4      pVR8X  d   \'        R	4      h\        P*                  ! V	4      ;'       g    RpR^RVR,          RV/pVP-                  RV4      G Rj  xL
 pV\        P$                  8X  g   K   M	  \'        R4      h\        P2                  ! V	\1        VR,          4      4      ^8w  d   \'        R4      h\        P4                  ! V	\        P*                  ! V	4      V4      ^8w  d   \'        R4      h\        P*                  ! V	4      pR^RVR,          RV/pVP-                  RV4      G Rj  xL
  \        P6                  ! V	4       R#  EL EL L L$  \        P6                  ! T	4       i ; i  \        P8                   d   p\'        \1        T4      4      RhRp?ii ; i5i)zAuthenticate using GSSAPI.zEThe "kerberos" module must be installed to use GSSAPI authentication.N@:)gssflags)r   userdomainr:   z&Kerberos context failed to initialize. z*Unknown kerberos failure in step function.	saslStartr!   GSSAPIr/   autoAuthorize	$externalr4   r5   z+Kerberos authentication failed to complete.z0Unknown kerberos failure during GSS_Unwrap step.z.Unknown kerberos failure during GSS_Wrap step.)HAVE_KERBEROSr   r8   r:   mechanism_propertiesservice_hostaddressr   canonicalize_host_nameservice_nameservice_realm_USE_PRINCIPALrM   r   kerberosauthGSSClientInitGSS_C_MUTUAL_FLAGsplitAUTH_GSS_COMPLETEr   authGSSClientStepauthGSSClientResponserG   ranger"   authGSSClientUnwrapauthGSSClientWrapauthGSSClientCleanKrbError)r   r    r8   r:   propshostservice	principalresultrQ   r   r   r/   rU   response_excs   &&               r'   _authenticate_gssapir      s    = S
 	
d3''''00 !!44T\\!_+D2N2NOO$$s*T1*me&9&99G~  HHeHouX%GH	&881K1K (?#+>>#q#9LD&#+T&&88%77!% #44WxGaGabKFX///"#KLL:	-
 ))#r2a7&'STT 44S9GQX7	C "\\+s;;H 2Y!33CXi=P9QRR<*+WXX"88=CC #A$h/?&@w
 "&k3!??X777 " ''TUU ++CXi5H1IJaO&'YZZ))#x/M/Mc/RT\]abb&'WXX44S9G (+;"<7C
 ,,{C000 '',u Pf < @* 1 '', 3s3x(d23s   O/6N= ,N= >N?AN= C!N= 7AN" NA'N" <'N" #N$N" ?B<N" ;N <N"  N= O/N= N" N"  N" "N::N= =O,O''O,,O/c               $    V ^8  d   QhRRRRRR/# r   r%   )r&   s   "r'   r(   r(   @  s"     $ $? $/ $VZ $r)   c                   "   V P                   pV P                  pV P                  pRV RV 2P                  4       pR^RRR\	        V4      R^/pVP                  W&4      G Rj  xL
  R#  L5i)z(Authenticate using SASL PLAIN (RFC 4616) r   r!   PLAINr/   r   N)r=   r8   r:   r;   r   rG   )r   r    r=   r8   r:   r/   rU   s   &&     r'   _authenticate_plainr   @  st     F##H##HhZtH:.668GQW6'?	C ,,v
###s   A"A-$A+%A-c               $    V ^8  d   QhRRRRRR/# r   r%   )r&   s   "r'   r(   r(   O  s"     ) )/ ) )UY )r)   c                   "   VP                   pV'       d   VP                  4       '       d   R# \        WP                  4      P	                  4       pVP                  RV4      G Rj  xL
  R#  L5i)z Authenticate using MONGODB-X509.Nr   )rA   rB   _X509Contextr   speculate_commandrG   )r   r    rQ   rU   s   &&  r'   _authenticate_x509r   O  sM     
--C
s&&((
{LL
1
C
C
EC
,,{C
(((s   *A0:A0'A.(A0c               $    V ^8  d   QhRRRRRR/# r   r%   )r&   s   "r'   r(   r(   Z  s'     K K_ KO KX\ Kr)   c                  "   VP                   ^8  d   VP                  '       d   VP                  pMdV P                  pVP                  4       pVR,           V P                  ,           VR&   VP                  W4RR7      G Rj  xL
 P                  R. 4      pRV9   d   \        WR4      G Rj  xL
 # \        WR4      G Rj  xL
 # \        WR4      G Rj  xL
 #  LW L. L L
5i)   r   saslSupportedMechsF)publish_eventsNr+   SCRAM-SHA-1)max_wire_versionnegotiated_mechsr=   	hello_cmdr8   rG   getrg   )r   r    mechsr=   rU   s   &&   r'   _authenticate_defaultr   Z  s     !   ))E ''F.."C(.{7K7K(KC$%<<E<JJOO$bE e#,[PPP,[NNN(MJJJ K QNJsM   #C"AC"C*C"-C.C"CC"C C"C"C" C"r   MONGODB-X509zMONGODB-AWSMONGODB-OIDCr   r   )r!   r+   DEFAULTz6Mapping[str, Callable[..., Coroutine[Any, Any, None]]]	_AUTH_MAPc                  \    ] tR tRtR R lt]R R l4       tR R ltR R	 ltR
 R lt	Rt
R# )_AuthContextiy  c               $    V ^8  d   QhRRRRRR/# )r   r   r   r   tuple[str, int]r#   r$   r%   )r&   s   "r'   r(   _AuthContext.__annotate__z  s"      O o RV r)   c                	,    Wn         R V n        W n        R # N)r   rF   r   )selfr   r   s   &&&r'   __init___AuthContext.__init__z  s    &EI%r)   c               $    V ^8  d   QhRRRRRR/# )r   credsr   r   r   r#   zOptional[_AuthContext]r%   )r&   s   "r'   r(   r     s$      )8	r)   c                	    \         P                  V P                  4      pV'       d   \        \        V! W4      4      # R # r   )_SPECULATIVE_AUTH_MAPr   r!   r   r   )r   r   spec_clss   && r'   from_credentials_AuthContext.from_credentials  s0     ),,U__=hu&>??r)   c                   V ^8  d   QhRR/# r   r#   z"Optional[MutableMapping[str, Any]]r%   )r&   s   "r'   r(   r     s     " "#E "r)   c                	    \         hr   )NotImplementedErrorr   s   &r'   r   _AuthContext.speculate_command  s    !!r)   c                    V ^8  d   QhRRRR/# )r   hellozHello[Mapping[str, Any]]r#   r$   r%   )r&   s   "r'   r(   r     s     G G$< G Gr)   c                	(    VP                   V n         R # r   )rF   )r   r   s   &&r'   parse_response_AuthContext.parse_response  s    (-(F(F%r)   c                   V ^8  d   QhRR/# )r   r#   boolr%   )r&   s   "r'   r(   r     s     3 3T 3r)   c                	,    \        V P                  4      # r   )r   rF   r   s   &r'   rB    _AuthContext.speculate_succeeded  s    D1122r)   )r   r   rF   N)__name__
__module____qualname____firstlineno__r   staticmethodr   r   r   rB   __static_attributes__r%   r)   r'   r   r   y  s0    
  "G3 3r)   r   c                  :   a  ] tR tRtR V 3R lltR R ltRtV ;t# )rD   i  c               (    V ^8  d   QhRRRRRRRR/# )	r   r   r   r   r   r!   r"   r#   r$   r%   )r&   s   "r'   r(   _ScramContext.__annotate__  s,     # #*#5D#QT#	#r)   c                	@   < \         SV `  W4       R V n        W0n        R # r   )superr   rE   r!   )r   r   r   r!   	__class__s   &&&&r'   r   _ScramContext.__init__  s     	.9="r)   c                   V ^8  d   QhRR/# r   r%   )r&   s   "r'   r(   r           #E r)   c                	    \        V P                  V P                  4      w  rpV P                  P                  VR &   W3V n        V# )db)r   r   r!   r=   rE   )r   rR   rS   rU   s   &   r'   r   _ScramContext.speculate_command  sA    !:4;K;KT^^!\3$$++D	 -
r)   )r!   rE   )r   r   r   r   r   r   r   __classcell__)r   s   @r'   rD   rD     s    # # r)   rD   c                  "    ] tR tRtR R ltRtR# )r   i  c                   V ^8  d   QhRR/# )r   r#   zMutableMapping[str, Any]r%   )r&   s   "r'   r(   _X509Context.__annotate__  s      #; r)   c                	t    R ^RR/pV P                   P                  e   V P                   P                  VR&   V# )authenticater!   r   r   )r   r8   )r   rU   s   & r'   r   _X509Context.speculate_command  s<    q+~>$$0**33CK
r)   r%   Nr   r   r   r   r   r   r%   r)   r'   r   r     s     r)   r   c                  "    ] tR tRtR R ltRtR# )_OIDCContexti  c                   V ^8  d   QhRR/# r   r%   )r&   s   "r'   r(   _OIDCContext.__annotate__  r   r)   c                	    \        V P                  V P                  4      pVP                  4       pVf   R # V P                  P                  VR&   V# )Nr   )r   r   r   get_spec_auth_cmdr=   )r   authenticatorrU   s   &  r'   r   _OIDCContext.speculate_command  sH    *4+;+;T\\J--/;$$++D	
r)   r%   Nr	  r%   r)   r'   r  r    s     r)   r  zMapping[str, Any]r   c               (    V ^8  d   QhRRRRRRRR/# )	r   r   r   r    r   reauthenticater   r#   r$   r%   )r&   s   "r'   r(   r(     s,     	+ 	+ 	+(7	+IM	+		+r)   c                   "   V P                   p\        V,          pVR8X  d   \        WV4      G Rj  xL
  R# V! W4      G Rj  xL
  R#  L L5i)zAuthenticate connection.r   N)r!   r   r   )r   r    r  r!   	auth_funcs   &&&  r'   r  r    sK      %%I)$IN" NCCC*** 	D*s!   0AAAAAA)       )F)I__conditional_annotations____doc__
__future__r   	functoolsr9   r?   r~   base64r   r   typingr   r   r   r   r	   r
   r   r   urllib.parser   bson.binaryr   pymongo.asynchronous.auth_awsr   pymongo.asynchronous.auth_oidcr   r   pymongo.asynchronous.helpersr   pymongo.auth_sharedr   r   r   r   pymongo.errorsr   r   pymongo.saslprepr   pymongo.asynchronous.poolr   pymongo.hellor   r   r   winkerberosr   tuplemaprH   __version__r   ImportError_IS_SYNCrg   r<   rt   r   r   r   r   r   partialr   __annotations__r   rD   r   r  r   r  )r  s   @r'   <module>r0     s    "     9	 	 	   ; 6  @ %9#	"Sh**005b9:;vE RLj:k3\$)K( "&$& 9$$%8MRY&&':oV$	E	A 	3 32L "< <  L9$$]mLY&&}PLy  /J, ( 	+ 	+A   s*   :F/ /G7F==	GG
GG