+
    8i{                        R t ^ RIHt ^ RIHt ^ RIHtHtHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ]'       d   ^ RIHt ^ R	IHt R
t ! R R4      t ! R R]],          4      tR# )zBSynchronous cursor base extending the shared agnostic cursor base.)annotations)abstractmethod)TYPE_CHECKINGAnyOptional)_csot)_AgnosticCursorBase)_create_lock)_DocumentType)ClientSession)
ConnectionTc                  >    ] tR t^!tRtR R ltR R ltR R ltRtR	# )
_ConnectionManagerz?Used with exhaust cursors to ensure the connection is returned.c                    V ^8  d   QhRRRR/# )   connr   more_to_comebool )formats   "]/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/synchronous/cursor_base.py__annotate___ConnectionManager.__annotate__$   s     $ $Z $t $    c                	<    Wn         W n        \        4       V n        R # N)r   r   r	   _lock)selfr   r   s   &&&r   __init___ConnectionManager.__init__$   s    *.	(!^
r   c                    V ^8  d   QhRRRR/# )r   r   r   returnNoner   )r   s   "r   r   r   )   s     ) )4 )D )r   c                	    Wn         R # r   )r   )r   r   s   &&r   update_exhaust!_ConnectionManager.update_exhaust)   s    (r   c                   V ^8  d   QhRR/# r   r!   r"   r   )r   s   "r   r   r   ,   s      t r   c                p    V P                   '       d$   V P                   P                  4        RV n         R# R# )z9Return this instance's connection to the connection pool.N)r   unpinr   s   &r   close_ConnectionManager.close,   s%    999IIOODI r   )r   r   r   N)	__name__
__module____qualname____firstlineno____doc__r   r$   r+   __static_attributes__r   r   r   r   r   !   s    I$
) r   r   c                      ] tR t^3tRt]R R l4       t]RR R ll4       tR R lt	R	 R
 lt
R R lt]P                  RR R ll4       tRtR# )_CursorBasezSynchronous cursor base class.c                   V ^8  d   QhRR/# )r   r!   zOptional[ClientSession]r   )r   s   "r   r   _CursorBase.__annotate__7   s      0 r   c                z    V P                   '       d)   V P                   P                  '       g   V P                   # R# )z]The cursor's :class:`~pymongo.client_session.ClientSession`, or None.

.. versionadded:: 3.6
N)_session	_implicitr*   s   &r   session_CursorBase.session6   s)     ===!8!8!8== r   Nc               $    V ^8  d   QhRRRRRR/# )r   resultlisttotalOptional[int]r!   r   r   )r   s   "r   r   r6   A   s!      $ }  r   c                	    R # r   r   )r   r=   r?   s   &&&r   _next_batch_CursorBase._next_batch@   s    r   c                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r6   D   s      4 r   c                    V P                   pT P                  T4      w  r#T P                  P                  P
                  P                  TTT P                  T P                  4       T P                  '       d5   T P                  P                  '       d   RT P                  n
        RT n        RT n        R#   \         d     R# i ; i)zCloses this cursor.NF)_killedAttributeError_prepare_to_die_collectiondatabaseclient_cleanup_cursor_lock	_sock_mgrr8   r9   _attached_to_cursor)r   already_killed	cursor_idaddresss   &   r   	_die_lock_CursorBase._die_lockD   s    	!\\N
 "11.A	!!((==NNMM		
 ===T]]44405DMM- DM  		s   B6 6CCc                   V ^8  d   QhRR/# r'   r   )r   s   "r   r   r6   X   s      t r   c                &    V P                  4        R# )z$Explicitly close / kill this cursor.N)rR   r*   s   &r   r+   _CursorBase.closeX   s    r   c               (    V ^8  d   QhRRRRRRRR/# )r   exc_typer   exc_valexc_tbr!   r"   r   )r   s   "r   r   r6   \   s(       s C D r   c                	&    V P                  4        R # r   )r+   )r   rX   rY   rZ   s   &&&&r   __exit___CursorBase.__exit__\   s    

r   c                    V ^8  d   QhRRRR/# )r   lengthr@   r!   zlist[_DocumentType]r   )r   s   "r   r   r6   `   s      m 7J r   c                    . pTp\        V\        4      '       d   V^8  d   \        R4      hV P                  '       d?   V P	                  W#4      '       g    V# Vf   K2  V\        V4      ,
          pV^ 8X  g   KM   V# V# )a3  Converts the contents of this cursor to a list more efficiently than ``[doc for doc in cursor]``.

To use::

  >>> cursor.to_list()

Or, to read at most n items from the cursor::

  >>> cursor.to_list(n)

If the cursor is empty or has no more results, an empty list will be returned.

.. versionadded:: 4.9
z'to_list() length must be greater than 0)
isinstanceint
ValueErroraliverB   len)r   r_   res	remainings   &&  r   to_list_CursorBase.to_list_   sz      $&	fc""vzFGGjjj##C33
 
	 !"SX-	>
s
r   )r8   rM   r   )r-   r.   r/   r0   r1   propertyr:   r   rB   rR   r+   r\   r   applyrh   r2   r   r   r   r4   r4   3   sR    (   ( [[ r   r4   N)r1   
__future__r   abcr   typingr   r   r   pymongor   pymongo.cursor_sharedr   pymongo.lockr	   pymongo.typingsr
   "pymongo.synchronous.client_sessionr   pymongo.synchronous.poolr   _IS_SYNCr   r4   r   r   r   <module>rv      sO    I "  / /  5 % )@3 $G%m4 Gr   