ó
    °"³jå	  ã                  óÄ   • S SK Jr  S SKrS SKrS SKrS SKrS SKJrJrJ	r	J
r
Jr  S SKJrJrJrJr  S SKJr  \R&                  " S5      rS
S jr    SS jr\SS	 j5       rg)é    )ÚannotationsN)ÚAsyncIterableÚAsyncIteratorÚ	GeneratorÚIterableÚIterator)ÚAbstractAsyncContextManagerÚaclosingÚcontextmanagerÚnullcontext)ÚAsyncGeneratorTypeÚTc                ó|  • U c  SOU R                  5       nUb  US:  a  g[        R                  S:X  d  [        [        SS5      c)  [        R                  " U// / S5      u  n  n[        U5      $ [        R                  " 5       nUR                  U[        R                  5        [        UR                  S5      5      $ )zÐ
Return whether a socket, as identified by its file descriptor, is readable.
"A socket is readable" means that the read buffer isn't empty, i.e. that calling
.recv() on it would immediately return some data.
Nr   TÚwin32Úpoll)	ÚfilenoÚsysÚplatformÚgetattrÚselectÚboolr   ÚregisterÚPOLLIN)ÚsockÚsock_fdÚrreadyÚ_Úps        ÚM/home/mande/repo/quber/.venv/lib/python3.13/site-packages/httpcore2/_utils.pyÚis_socket_readabler       s”   € ð ‘l‰d¨¯©«€GØ�˜' A›+Øô ‡|�|�wÓ¤'¬&°&¸$Ó"?Ñ"GÜ—}’} g Y°°B¸Ó:‰ˆ��1Ü�F‹|ÐÜ�Š‹€AØ‡J�JˆwœŸ™Ô&Ü�—‘�q“	‹?Ðó    c               ó¦   • [        U [        5      (       a  U OU R                  5       n[        U[        5      (       a  [	        U5      $ [        U5      $ ©N)Ú
isinstancer   Ú	__aiter__r   r
   r   ©Úiterable_or_iteratorÚiterators     r   Úsafe_async_iterater)   2   sL   € ô !+Ð+?Ä× OÑ OÑÐUi×UsÑUsÓUuð ô �(Ô.×/Ñ/Ü˜Ó!Ð!Ü�xÓ Ð r!   c             #  ób   #   • [        U [        5      (       a  U OU R                  5       nUv •  g 7fr#   )r$   r   Ú__iter__r&   s     r   Úsafe_iterater,   =   s+   é € ô (2Ð2FÌ×'QÑ'QÑ#ÐWk×WtÑWtÓWv€HØ
ƒNùs   ‚-/)r   zsocket.socket | NoneÚreturnr   )r'   z#AsyncIterable[T] | AsyncIterator[T]r-   z-AbstractAsyncContextManager[AsyncIterator[T]])r'   zIterable[T] | Iterator[T]r-   z"Generator[Iterator[T], None, None])Ú
__future__r   r   Úsocketr   ÚtypingÚcollections.abcr   r   r   r   r   Ú
contextlibr	   r
   r   r   Útypesr   ÚTypeVarr   r    r)   r,   © r!   r   Ú<module>r6      sf   ðÝ "ã Û Û 
Û ÷õ ÷ ZÓ YÝ $à
‡N‚N�3Ó€ôð<!Ø=ð!à2ô!ð óó ñr!   