__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

*�_iR-��d�SrSSKJr SSKJr "SS\R
5r"SS5rSrg	)
a�A class supporting chat-style (command/response) protocols.

This class adds support for 'chat' style protocols - where one side
sends a 'command', and the other sends a response (examples would be
the common internet protocols - smtp, nntp, ftp, etc..).

The handle_read() method looks at the input stream for the current
'terminator' (usually '\r\n' for single-line responses, '\r\n.\r\n'
for multi-line output), calling self.found_terminator() on its
receipt.

for example:
Say you build an async nntp client using this class.  At the start
of the connection, you'll have self.terminator set to '\r\n', in
order to process the single-line greeting.  Just before issuing a
'LIST' command you'll set it to '\r\n.\r\n'.  The output of the LIST
command will be accumulated (using your own 'collect_incoming_data'
method) up to the terminator, and then control will be returned to
you - by calling your self.found_terminator() method.
�)�deque)�asyncorec��\rSrSrSrSrSrSrSrSSjr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrg)�
async_chat�;z�This is an abstract class.  You must derive from this class, and add
the two methods collect_incoming_data() and found_terminator()irzlatin-1Nc�~�SUl/Ul[5Ul[R
R
XU5 g�N�)�ac_in_buffer�incomingr�
producer_fifor�
dispatcher�__init__)�self�sock�maps   �,/usr/lib/python3.13/test/support/asynchat.pyr�async_chat.__init__Js5�����
��
�#�W������$�$�T��5r
c��[S5e�Nzmust be implemented in subclass��NotImplementedError�r�datas  r�collect_incoming_data� async_chat.collect_incoming_dataX���!�"C�D�Dr
c�:�URRU5 g�N)r�appendrs  r�_collect_incoming_data�!async_chat._collect_incoming_data[s���
�
���T�"r
c�Z�SRUR5nURSS2	U$r	)�joinr)r�ds  r�	_get_data�async_chat._get_data^s%���H�H�T�]�]�#���M�M�!���r
c��[S5err�rs r�found_terminator�async_chat.found_terminatorcrr
c���[U[5(a'UR(a[XR5nO&[U[
5(aUS:a[
S5eXlg)zTSet the input delimiter.

Can be a fixed string of any length, an integer, or None.
rz-the number of received bytes must be positiveN)�
isinstance�str�use_encoding�bytes�encoding�int�
ValueError�
terminator)r�terms  r�set_terminator�async_chat.set_terminatorfsK��
�d�C� � �T�%6�%6���}�}�-�D�
��c�
"�
"�t�a�x��L�M�M��r
c��UR$r)r4r)s r�get_terminator�async_chat.get_terminatorqs�����r
c�D�URUR5n[U[5(a+UR(a[[UR5nURU-Ul
UR(Ga�[UR5nUR5nU(d$URUR5 SUl
GO�[U[5(a�UnX$:a8URUR5 SUl
URU-
UlGO:URURSU5 URUSUl
SUlUR!5 O�[U5nURR#U5nUS:waKUS:�aURURSU5 URXe-SUl
UR!5 Oy[%URU5nU(a:Xb:wa4URURSU*5 URU*SUl
gURUR5 SUl
UR(aGM�gg![a g[a UR	5 gf=f)Nr
r���)�recv�ac_in_buffer_size�BlockingIOError�OSError�handle_errorr-r.r/r0r1r�lenr9rr2r4r*�find�find_prefix_at_end)rr�lbr4�n�terminator_len�indexs       r�handle_read�async_chat.handle_readysD��	��9�9�T�3�3�4�D��d�C� � �T�%6�%6���d�m�m�,�D� �-�-��4��������T�&�&�'�B��,�,�.�J���*�*�4�+<�+<�=�$'��!��J��,�,����6��.�.�t�/@�/@�A�(+�D�%�&*�o�o��&:�D�O��.�.�t�/@�/@��!�/D�E�(,�(9�(9�!�"�(=�D�%�&'�D�O��)�)�+�"%�Z����)�)�.�.�z�:���B�;��q�y��2�2�4�3D�3D�V�e�3L�M�(,�(9�(9�%�:N�:O�(P�D�%��)�)�+�/�t�/@�/@�*�M�E�� �;� �6�6�t�7H�7H��5�&�7Q�R�04�0A�0A�5�&�'�0J�D�-���2�2�4�3D�3D�E�,/��)�g������	���	������	�s�I7�7
J�J�Jc�$�UR5 gr)�
initiate_sendr)s r�handle_write�async_chat.handle_write�s�����r
c�$�UR5 gr)�closer)s r�handle_close�async_chat.handle_close�s���
�
�r
c�t�[U[[[45(d[	S[U55eURn[U5U:�a=[S[U5U5H"nURRXX2-5 M$ OURRU5 UR5 g)Nz#data argument must be byte-ish (%r)r)r-r0�	bytearray�
memoryview�	TypeError�type�ac_out_buffer_sizerB�ranger
r rL)rr�sabs�is    r�push�async_chat.push�s����$��	�:� >�?�?��A� ��J�(�
(��&�&���t�9�t���1�c�$�i��.���"�"�)�)�$���.�9�/�
���%�%�d�+����r
c�Z�URRU5 UR5 gr)r
r rL)r�producers  r�push_with_producer�async_chat.push_with_producer�s"�����!�!�(�+����r
c��g)z4predicate for inclusion in the readable for select()��r)s r�readable�async_chat.readable�s��r
c�J�UR=(d UR(+$)z4predicate for inclusion in the writable for select())r
�	connectedr)s r�writable�async_chat.writable�s���!�!�9�$�.�.�&8�9r
c�:�URRS5 g)zAautomatically close this channel once the outgoing queue is emptyN)r
r r)s r�close_when_done�async_chat.close_when_done�s�����!�!�$�'r
c���UR(a�UR(a�URSnU(d!URS	UcUR5 gURnUSUn[U[5(a&UR(a[X0R5nURU5nU(a=U[U5:dU[U5:aXSURS'gURS	ggg![aE UR5nU(aURR
U5 O
URS	GMMf=f![a UR5 gf=f)Nr)r
rhrQrXrV�more�
appendleftr-r.r/r0r1�sendr@rArB)r�first�obsr�num_sents     rrL�async_chat.initiate_send�sO��� � �T�^�^��&�&�q�)�E���&�&�q�)��=��%�%�'���)�)�C�
��T�c�{���$��$�$��):�):��T�=�=�1��
��9�9�T�?��
��c�$�i�'�3��U��+;�,1�)�,<�D�&�&�q�)�
��*�*�1�-��K&4� ���
��z�z�|����&�&�1�1�$�7��*�*�1�-��

���
��!�!�#��
�s%�'D�(E�A
E�E�E/�.E/c�d�SUlURSS2	URR5 gr	)rrr
�clearr)s r�discard_buffers�async_chat.discard_bufferss(������M�M�!����� � �"r
)rrr
r4)NN)�__name__�
__module__�__qualname__�__firstlineno__�__doc__r>rXr/r1rrr!r&r*r6r9rIrMrQr\r`rerirlrLrx�__static_attributes__rdr
rrr;s|��F�
����
�L��H�6�E�#��
E�	��F0�P��
���:�(�&�P#r
rc�$�\rSrSrSSjrSrSrg)�simple_produceric��XlX lgr)r�buffer_size)rrr�s   rr�simple_producer.__init__s
���	�&�r
c���[UR5UR:�a9URSURnURURSUlU$URnSUlU$r	)rBrr�)r�results  rro�simple_producer.moresb���t�y�y�>�D�,�,�,��Y�Y�0�� 0� 0�1�F��	�	�$�"2�"2�"3�4�D�I��M��Y�Y�F��D�I��Mr
)r�rN)i)rzr{r|r}rrorrdr
rr�r�s��'�r
r�c��[U5S-
nU(a@URUSU5(d'US-nU(aURUSU5(dM'U$)Nrc)rB�endswith)�haystack�needle�ls   rrDrD6sQ���F��a��A�
�H�%�%�f�R�a�j�1�1�	�Q����H�%�%�f�R�a�j�1�1��Hr
N)	r~�collectionsr�test.supportrrrr�rDrdr
r�<module>r�s8��B�*�!�X#��$�$�X#�v��@
r

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 112.16 KB 0644
ast_helper.cpython-313.pyc File 2.22 KB 0644
asynchat.cpython-313.pyc File 10.8 KB 0644
asyncore.cpython-313.pyc File 25.15 KB 0644
bytecode_helper.cpython-313.pyc File 9.39 KB 0644
hashlib_helper.cpython-313.pyc File 2.5 KB 0644
hypothesis_helper.cpython-313.pyc File 1.26 KB 0644
i18n_helper.cpython-313.pyc File 3.56 KB 0644
import_helper.cpython-313.pyc File 14.17 KB 0644
logging_helper.cpython-313.pyc File 1.59 KB 0644
numbers.cpython-313.pyc File 745 B 0644
os_helper.cpython-313.pyc File 30.43 KB 0644
pty_helper.cpython-313.pyc File 3.77 KB 0644
refleak_helper.cpython-313.pyc File 396 B 0644
script_helper.cpython-313.pyc File 13.72 KB 0644
smtpd.cpython-313.pyc File 38.75 KB 0644
socket_helper.cpython-313.pyc File 15.57 KB 0644
testcase.cpython-313.pyc File 7.56 KB 0644
threading_helper.cpython-313.pyc File 11.66 KB 0644
venv.cpython-313.pyc File 4.75 KB 0644
warnings_helper.cpython-313.pyc File 9.71 KB 0644
Filemanager