
    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_CODEFF.)boundc                0     d fd}t        t        |      S )Nc                 |  K   |j                  dd      }ddlm} ddlm} 	  | i | d {   S 7 # t
        $ r{}|r |j                  t        k(  r_d }| D ],  }t        ||      r|} nt        ||      s |j                  } n |r|j                  d       d {  7   n  | i |cY d }~S  d }~ww xY ww)N	no_reauthFr   )AsyncConnection)_BulkWriteContextT)reauthenticate)poppymongo.asynchronous.poolr   pymongo.messager   r   coder	   
isinstanceconnauthenticate)	argskwargsr   r   r   excr   argfuncs	           X/var/www/html/trade_iq/venv/lib/python3.12/site-packages/pymongo/asynchronous/helpers.pyinnerz_handle_reauth.<locals>.inner'   s     JJ{E2	=5	t.v.... 	xx::  C!#7"!#'89"xx ++4+@@@T,V,,)	sT   B<5 35 B<5 	B99B48&B4B!B4-B9.B<3B44B99B<)r   r   r   r   returnr   )r   r
   )r   r   s   ` r   _handle_reauthr!   &   s    : 5>    )   
   c                >   K   | j                          d{   S 7 w)iCompatibility function until we drop 3.9 support: https://docs.python.org/3/library/functions.html#anext.N)	__anext__clss    r   anextr*   L   s     ]]_$$$s   c                "    | j                         S )r&   )	__aiter__r(   s    r   aiterr-   P   s    }}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>r8      sv    9 "  
  C CxS)*B wNNENNE%r"   