
    Ii\
                        S r SSKJr  SSKrSSKrSSKJrJrJrJ	r	  SSK
Jr  SSKJr  Sr\" S\S	\4   S
9rSS jr\R"                  S:  a  \R$                  r\R&                  rgSS jrSS jrg)z2Miscellaneous pieces that need to be synchronized.    )annotationsN)AnyCallableTypeVarcast)OperationFailure)_REAUTHENTICATION_REQUIRED_CODETF.)boundc                4   ^  SU 4S jjn[        [        U5      $ )Nc                 t  > UR                  SS5      nSSKJn  SSKJn   T" U 0 UD6$ ! [
         a  nU(       a  e UR                  [        :X  ab  S nU  H5  n[        Xt5      (       a  Un  O"[        Xs5      (       d  M)  UR                  n  O   U(       a  UR                  SS9  Oe T" U 0 UD6s S nA$ e S nAff = f)N	no_reauthFr   )_BulkWriteContext)
ConnectionT)reauthenticate)poppymongo.messager   pymongo.synchronous.poolr   r   coder	   
isinstanceconnauthenticate)	argskwargsr   r   r   excr   argfuncs	           A/venv/lib/python3.13/site-packages/pymongo/synchronous/helpers.pyinner_handle_reauth.<locals>.inner'   s    JJ{E2	57	((( 	xx:: C!#22"!#99"xx   %%T%:T,V,,)	s'   ) 
B7AB2</B2+B71B22B7)r   r   r   r   returnr   )r   r
   )r   r   s   ` r   _handle_reauthr"   &   s    : 5>    )   
   c                "    U R                  5       $ zhCompatibility function until we drop 3.9 support: https://docs.python.org/3/library/functions.html#next.)__next__clss    r   nextr+   L       ||~r#   c                "    U R                  5       $ r'   )__iter__r)   s    r   iterr/   P   r,   r#   )r   r
   r!   r
   )r*   r   r!   r   )__doc__
__future__r   builtinssystypingr   r   r   r   pymongo.errorsr   pymongo.helpers_sharedr	   _IS_SYNCr
   r"   version_infor+   r/    r#   r   <module>r:      sv    9 "  
  C CxS)*B w==D==Dr#   