Ë
    Ü_ËiF  ã                  ó  — d Z ddlmZ ddlZddl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	 	 	 	 	 	 	 	 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	           €ú^/var/www/pod-logistic/pod-api/venv/lib/python3.12/site-packages/pymongo/synchronous/helpers.pyÚinnerz_handle_reauth.<locals>.inner)   s¼   ø€ Ø—J‘J˜{¨EÓ2ˆ	Ý5Ý7ð	Ù˜Ð( Ñ(Ð(øÜò 	ÙØØ�x‰xÔ:Ò:ð �Øò �CÜ! # zÔ2Ø"˜ÙÜ! #Ð'8Õ9Ø"Ÿx™x˜Ùðñ Ø×%Ñ%°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                óŒ   — t         s(t        j                  «       } |j                  | |fi |¤ŽS t	        j                  | |fi |¤ŽS )N)Ú_IS_SYNCÚasyncioÚget_running_loopÚgetaddrinfoÚsocket)ÚhostÚportr   Úloops       r   Ú_getaddrinfor,   I   sG   € õ Ü×'Ñ'Ó)ˆØˆt×Ñ  dÑ5¨fÑ5Ð5ä×!Ñ! $¨Ñ7°Ñ7Ð7r"   )é   é
   c                ó"   — | j                  «       S ©zhCompatibility function until we drop 3.9 support: https://docs.python.org/3/library/functions.html#next.)Ú__next__©Úclss    r   Únextr4   `   ó   € à�|‰|‹~Ðr"   c                ó"   — | j                  «       S r0   )Ú__iter__r2   s    r   Úiterr8   d   r5   r"   )r   r
   r    r
   )r)   r   r*   r   r   r   r    zlist[tuple[socket.AddressFamily, socket.SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]])r3   r   r    r   )Ú__doc__Ú
__future__r   r%   Úbuiltinsr(   ÚsysÚtypingr   r   r   r   Úpymongo.errorsr   Úpymongo.helpers_sharedr	   r$   r
   r!   r,   Úversion_infor4   r8   © r"   r   ú<module>rB      s£   ðñ 9Ý "ã Û Û Û 
÷ó õõ Cà€ñ ˆC�x  S Ñ)Ô*€óðB8Ø
ð8Øð8Ø$'ð8ðó8ð$ ×Ñ�wÒØ�=‰=€DØ�=‰=�Dóôr"   