+
    üg©j  ã                  ó2   € ^ RI Ht ^ RIHt  ! R R4      tR# )é    )Úannotations)Ú	Generatorc                  ó†   € ] tR t^tRtR R lt]3R R lltR R lt]3R R	 llt	R
 R lt
R R ltR R ltR R ltRtR# )ÚStreamReaderz°
Generator-based stream reader.

This class doesn't support concurrent calls to :meth:`read_line`,
:meth:`read_exact`, or :meth:`read_to_eof`. Make sure calls are
serialized.

c               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNone© )Úformats   "ÚM/var/www/html/bestweb/venv/lib/python3.14/site-packages/websockets/streams.pyÚ__annotate__ÚStreamReader.__annotate__   s   € ÷ ñ ˜$ñ ó    c                	ó2   € \        4       V n        R V n        R# )FN)Ú	bytearrayÚbufferÚeof©Úselfs   &r   Ú__init__ÚStreamReader.__init__   s   € Ü“kˆŒØˆŽr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r	   ÚmÚintÚtoo_long_exc_typeztype[Exception]r
   ú Generator[None, None, bytearray]r   )r   s   "r   r   r      s(   € ÷ (ñ (àð(ð +ð(ð 
*ñ	(r   c              #  óv  "  € ^ p^ p V P                   P                  RV4      ^,           pV^ 8”  d   MQ\        V P                   4      pWA8”  d   V! RV RV R24      hV P                  '       d   \	        RV R24      hRx € K}  W18”  d   V! RV RV R24      hV P                   RV pV P                   RV1 V# 5i)a¹  
Read a LF-terminated line from the stream.

This is a generator-based coroutine.

The return value includes the LF character.

Args:
    m: Maximum number bytes to read; this is a security limit.
    too_long_exc_type: exception to raise if the line ends in more
        than ``m`` bytes; defaults to :exc:`RuntimeError`.

Raises:
    EOFError: If the stream ends without a LF.
    RuntimeError: If the line ends in more than ``m`` bytes.

ó   
úread ú bytes, expected no more than ú bytesústream ends after z bytes, before end of lineN)r   ÚfindÚlenr   ÚEOFError)r   r   r   ÚnÚpÚrs   &&&   r   Ú	read_lineÚStreamReader.read_line   sÓ   é € ð, ˆØˆØØ—‘× Ñ  ¨Ó*¨QÕ.ˆAØ�1ŒuØÜ�D—K‘KÓ ˆAØŒuÙ'Ø˜A˜3Ð<¸Q¸C¸vÐFóð ð �x�xˆxÜÐ!3°A°3Ð6PÐQÓRÐRÝØŒ5Ù# e¨A¨3Ð.LÈQÈCÈvÐ$VÓWÐWØ�K‰K˜˜ˆOˆØ�K‰K˜˜˜ˆOØˆùs   ‚A,B9Á/A
B9c               ó    € V ^8„  d   QhRRRR/# )r	   r)   r   r
   r   r   )r   s   "r   r   r   >   s   € ÷ ñ ˜Cð Ð$Dñ r   c              #  ó  "  € V^ 8¼  g   Q h\        V P                  4      V8  d@   V P                  '       d(   \        V P                  4      p\        RV RV R24      hRx € KY  V P                  RV pV P                  RV1 V# 5i)zÀ
Read a given number of bytes from the stream.

This is a generator-based coroutine.

Args:
    n: How many bytes to read.

Raises:
    EOFError: If the stream ends in less than ``n`` bytes.

r%   z bytes, expected r$   N)r'   r   r   r(   )r   r)   r*   r+   s   &&  r   Ú
read_exactÚStreamReader.read_exact>   s|   é € ð �AŒvˆˆvÜ�$—+‘+Ó Ô"Ø�x�xˆxÜ˜Ÿ™Ó$�ÜÐ!3°A°3Ð6GÈÀsÈ&ÐQÓRÐRÝØ�K‰K˜˜ˆOˆØ�K‰K˜˜˜ˆOØˆùs   ‚5B¸ABc               ó$   € V ^8„  d   QhRRRRRR/# r   r   )r   s   "r   r   r   U   s(   € ÷ ñ àðð +ðð 
*ñ	r   c              #  óÒ   "  € V P                   '       g1   \        V P                  4      pW18”  d   V! RV RV R24      hRx € KB  V P                  R,          pV P                  R V# 5i)aV  
Read all bytes from the stream.

This is a generator-based coroutine.

Args:
    m: Maximum number bytes to read; this is a security limit.
    too_long_exc_type: exception to raise if the stream ends in more
        than ``m`` bytes; defaults to :exc:`RuntimeError`.

Raises:
    RuntimeError: If the stream ends in more than ``m`` bytes.

r"   r#   r$   NºNNN)r   r'   r   )r   r   r   r*   r+   s   &&&  r   Úread_to_eofÚStreamReader.read_to_eofU   se   é € ð& —(—(�(Ü�D—K‘KÓ ˆAØŒuÙ'Ø˜A˜3Ð<¸Q¸C¸vÐFóð õ Ø�K‰K˜�NˆØ�K‰K˜ˆNØˆùs   ‚A'•AA'c               ó   € V ^8„  d   QhRR/# )r	   r
   zGenerator[None, None, bool]r   )r   s   "r   r   r   s   s   € ÷ ñ Ð3ñ r   c              #  óh   "  €  V P                   '       d   R# V P                  '       d   R# Rx € K/  5i)za
Tell whether the stream has ended and all data was read.

This is a generator-based coroutine.

TFN©r   r   r   s   &r   Úat_eofÚStreamReader.at_eofs   s'   é € ð Ø�{�{ˆ{ÙØ�x�xˆxÙõ ùs   ‚2–2ª2c               ó    € V ^8„  d   QhRRRR/# )r	   Údatazbytes | bytearrayr
   r   r   )r   s   "r   r   r   ƒ   s   € ÷ ñ Ð/ð °Dñ r   c                ór   € V P                   '       d   \        R4      hV ;P                  V,          un        R# )z¨
Write data to the stream.

:meth:`feed_data` cannot be called after :meth:`feed_eof`.

Args:
    data: Data to write.

Raises:
    EOFError: If the stream has ended.

ústream endedN)r   r(   r   )r   r=   s   &&r   Ú	feed_dataÚStreamReader.feed_dataƒ   s&   € ð �8�8ˆ8Ü˜>Ó*Ð*Ø�Š�tÕ�r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   ”   s   € ÷ ñ ˜$ñ r   c                óN   € V P                   '       d   \        R4      hRV n         R# )zu
End the stream.

:meth:`feed_eof` cannot be called more than once.

Raises:
    EOFError: If the stream has ended.

r?   TN)r   r(   r   s   &r   Úfeed_eofÚStreamReader.feed_eof”   s   € ð �8�8ˆ8Ü˜>Ó*Ð*ØˆŽr   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   ¢   s   € ÷ ñ ˜ñ r   c                ó    € V P                   R R# )z7
Discard all buffered data, but don't end the stream.

r4   N)r   r   s   &r   ÚdiscardÚStreamReader.discard¢   s   € ð
 �K‰K˜ŠNr   r9   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚRuntimeErrorr,   r0   r5   r:   r@   rD   rH   Ú__static_attributes__r   r   r   r   r      s?   † ñõð .:÷(õTð4 .:÷õ<õ õ"÷ñ r   r   N)Ú
__future__r   Úcollections.abcr   r   r   r   r   Ú<module>rS      s   ðÝ "å %÷aó ar   