
    l8'h\
                        d Z ddlmZ ddlZddlZddlmZmZmZm	Z	 ddl
mZ ddlmZ dZ eded	ef   
      ZddZej"                  dk\  rej$                  Zej&                  ZyddZddZy)z2Miscellaneous pieces that need to be synchronized.    )annotationsN)AnyCallableTypeVarcast)OperationFailure)_REAUTHENTICATION_REQUIRED_CODETF.)boundc                0     d fd}t        t        |      S )Nc                 N   |j                  dd      }ddlm} ddlm} 	  | i |S # t
        $ rr}|r |j                  t        k(  rVd }| D ],  }t        ||      r|} nt        ||      s |j                  } n |r|j                  d       n  | i |cY d }~S  d }~ww xY w)N	no_reauthFr   )_BulkWriteContext)
ConnectionT)reauthenticate)poppymongo.messager   pymongo.synchronous.poolr   r   coder	   
isinstanceconnauthenticate)	argskwargsr   r   r   excr   argfuncs	           W/var/www/html/trade_iq/venv/lib/python3.12/site-packages/pymongo/synchronous/helpers.pyinnerz_handle_reauth.<locals>.inner'   s    JJ{E2	57	((( 	xx::  C!#z2"!#'89"xx %%T%:T,V,,)	s&   ) 	B$9B,,BB$BB$)r   r   r   r   returnr   )r   r
   )r   r   s   ` r   _handle_reauthr!   &   s    : 5>    )   
   c                "    | j                         S zhCompatibility function until we drop 3.9 support: https://docs.python.org/3/library/functions.html#next.)__next__clss    r   nextr*   L       ||~r"   c                "    | j                         S 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>r9      sv    9 "  
  C CxS)*B w==D==Dr"   