Your IP : 3.141.0.181


Current Path : /opt/alt/python313/lib64/python3.13/asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/asyncio/__pycache__/selector_events.cpython-313.pyc

�

1}gһ���SrSrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSK
Jr SSK
Jr SSK
Jr SSK
Jr SS	K
Jr SS
K
Jr SSK
Jr SSK
Jr SS
KJr \"\RS5r\(a\R4"S5rSr"SS\R<5r"SS\R@\RB5r""SS\"5r#"SS\"\RH5r%g!\a SrN�f=f!\a SrNrf=f)z�Event loop using a selector and related classes.

A selector is a "notify-when-ready" multiplexer.  For a subclass which
also includes support for signal handling, see the unix_events sub-module.
)�BaseSelectorEventLoop�N�)�base_events)�	constants)�events)�futures)�	protocols)�sslproto)�
transports)�trsock)�logger�sendmsg�
SC_IOV_MAXFc�v�URU5n[URU-5$![a gf=f�NF)�get_key�boolr�KeyError)�selector�fd�event�keys    �>/opt/alt/python313/lib64/python3.13/asyncio/selector_events.py�_test_selector_eventr*sA��(����r�"���C�J�J��&�'�'������s�+�
8�8c�8^�\rSrSrSrS5U4SjjrS5SSS.SjjrS5SSSS\R\RS.S	jjr
S6S
jrU4SjrSr
S
rSrSrSrSSS\R\R4SjrSSS\R\R4SjrSS\R\R4SjrSrSrSrSrSrSrSrSrSrSrS5SjrS r S!r!S"r"S#r#S$r$S7S%jr%S&r&S'r'S(r(S)r)S*r*S+r+S,r,S5S-jr-S.r.S/r/S0r0S1r1S2r2S3r3S4r4U=r5$)8r�5zBSelector event loop.

See events.EventLoop for API specification.
Nc�>�[TU]5 Uc[R"5n[R
"SURR5 XlUR5 [R"5Ulg)NzUsing selector: %s)
�super�__init__�	selectors�DefaultSelectorr
�debug�	__class__�__name__�	_selector�_make_self_pipe�weakref�WeakValueDictionary�_transports)�selfrr#s  �rr�BaseSelectorEventLoop.__init__;s_���
������ �0�0�2�H����)�8�+=�+=�+F�+F�G�!������"�6�6�8�����extra�serverc�>�URU5 [XX#XE5$�N)�_ensure_fd_no_transport�_SelectorSocketTransport)r*�sock�protocol�waiterr.r/s      r�_make_socket_transport�,BaseSelectorEventLoop._make_socket_transportEs$���$�$�T�*�'��H�(-�7�	7r,F)�server_side�server_hostnamer.r/�ssl_handshake_timeout�ssl_shutdown_timeoutc��URU5 [R"XX4XVU	U
S9n[XUXxS9 UR$)N)r;r<r-)r2r
�SSLProtocolr3�_app_transport)r*�rawsockr5�
sslcontextr6r9r:r.r/r;r<�ssl_protocols            r�_make_ssl_transport�)BaseSelectorEventLoop._make_ssl_transportKsM��	
�$�$�W�-��+�+��J��"7�!5�	
��	!���',�	=��*�*�*r,c�@�URU5 [XUX4U5$r1)r2�_SelectorDatagramTransport)r*r4r5�addressr6r.s      r�_make_datagram_transport�.BaseSelectorEventLoop._make_datagram_transport]s(���$�$�T�*�)�$�h�*1�5�B�	Br,c�>�UR5(a[S5eUR5(agUR5 [TU]5 URb"URR5 SUlgg)Nz!Cannot close a running event loop)�
is_running�RuntimeError�	is_closed�_close_self_piper�closer%�r*r#s �rrO�BaseSelectorEventLoop.closecsg����?�?����B�C�C��>�>��������
��
���>�>�%��N�N� � �"�!�D�N�&r,c��URURR55 URR5 SUlURR5 SUlU=R
S-slg)Nr)�_remove_reader�_ssock�filenorO�_csock�
_internal_fds�r*s rrN�&BaseSelectorEventLoop._close_self_pipens\�����D�K�K�.�.�0�1����������������������a��r,c�F�[R"5uUlUlURR	S5 URR	S5 U=R
S-
slUR
URR5UR5 g)NFr)	�socket�
socketpairrTrV�setblockingrW�_add_readerrU�_read_from_selfrXs rr&�%BaseSelectorEventLoop._make_self_pipevsq��#)�#4�#4�#6� ���T�[�������&�������&����a���������+�+�-�t�/C�/C�Dr,c��gr1��r*�datas  r�_process_self_data�(BaseSelectorEventLoop._process_self_data~s��r,c��URRS5nU(dgURU5 M7![a ME[a gf=f)Ni)rT�recvre�InterruptedError�BlockingIOErrorrcs  rr_�%BaseSelectorEventLoop._read_from_self�sV���
��{�{�'�'��-�����'�'��-���$�
��"�
��
�s�"9�9�
A�	A�Ac��URnUcgURS5 g![a+ UR(a[R
"SSS9 ggf=f)N�z3Fail to write a null byte into the self-pipe socketT��exc_info)rV�send�OSError�_debugr
r")r*�csocks  r�_write_to_self�$BaseSelectorEventLoop._write_to_self�sU�������=��	,��J�J�u����	,��{�{����0�&*�,��	,�s�$�0A�A�dc�`�URUR5URXX4UXg5	 gr1)r^rU�_accept_connection)r*�protocol_factoryr4rAr/�backlogr;r<s        r�_start_serving�$BaseSelectorEventLoop._start_serving�s-��	
��������(?�(?�)��W�.�	Fr,c
��[U5HynUR5up�UR(a[R"SXJU	5 U	RS5 SU
0nUR
XX�UXg5nURU5 M{ g![[[4a  g[a�n
U
R[R[R[R[R 4;a}UR#SU
[$R&"U5S.5 UR)UR+55 UR-[.R0UR2XX4XVU5	 Sn
A
GMheSn
A
ff=f)Nz#%r got a new connection from %r: %rF�peernamez&socket.accept() out of system resource)�message�	exceptionr[)�range�acceptrrr
r"r]�_accept_connection2�create_taskrjri�ConnectionAbortedErrorrq�errno�EMFILE�ENFILE�ENOBUFS�ENOMEM�call_exception_handlerr�TransportSocketrSrU�
call_laterr�ACCEPT_RETRY_DELAYr{)r*ryr4rAr/rzr;r<�_�conn�addrr.r��excs              rrx�(BaseSelectorEventLoop._accept_connection�sF���w��A�"
)�!�[�[�]�
���;�;��L�L�!F�!'�t�5�� � ��'�2$�T�*���1�1�$�E�v�)�A��� � ��(�G ��$�%5�7M�N�
���
��9�9����u�|�|�!&������!>�>�
�/�/�#K�%(�"(�"8�"8��">�1��
�'�'����
�6��O�O�I�$@�$@�$(�$7�$7�$4�J�$+�$8�	:�:���'
�s%�AB
�
E:�"	E:�+CE5�4E5�5E:c��# �SnSn	U"5nUR5n
U(aURX(XJSX5UUS9	n	OURX(X�US9n	U
IShv�N gN![a U	R	5 Sn
ef=f![
[4a e[aDnUR(a)SUS.nUbX�S'U	bX�S'URU5 SnAgSnAgSnAff=f7f)NT)r6r9r.r/r;r<)r6r.r/z3Error on transport creation for incoming connection)rr�r5�	transport)	�
create_futurerCr7�
BaseExceptionrO�
SystemExit�KeyboardInterruptrrr�)
r*ryr�r.rAr/r;r<r5r�r6r��contexts
             rr��)BaseSelectorEventLoop._accept_connection2�s���
���	�&	5�'�)�H��'�'�)�F�� �4�4��J� $�E�*?�)=�	5�?�	�!�7�7��6�!�8�#�	�
����� �
����!����

���-�.�	���	5��{�{�N�!$���
�'�*2�J�'��(�+4�K�(��+�+�G�4�4���	5�sS�C�AA;�
A�A�A�C�A�A8�8A;�;C�5C�

C�C�Cc�N�Un[U[5(d[UR55nURRU5nU(a)UR5(d[SU<SU<35egg![[[
4a [SU<35Sef=f)NzInvalid file object: zFile descriptor z is used by transport )
�
isinstance�intrU�AttributeError�	TypeError�
ValueErrorr)�get�
is_closingrL)r*rrUr�s    rr2�-BaseSelectorEventLoop._ensure_fd_no_transports������&�#�&�&�
K��V�]�]�_�-���$�$�(�(��0�	��Y�1�1�3�3��"�2�&�(>��-�!�"�
"�4�9��	#�I�z�:�
K� �#8���!?�@�d�J�
K�s�A>�>&B$c���UR5 [R"X#US5nURR	5RU5nUc/URR
U[RUS45 U$URURsnupxURRX[R-XH45 UbUR5 U$r1)�
_check_closedr�Handler%�get_mapr��registerr �
EVENT_READrd�modify�cancel�	r*r�callback�args�handler�mask�reader�writers	         rr^�!BaseSelectorEventLoop._add_readers����������x�t�T�:���n�n�$�$�&�*�*�2�.���;��N�N�#�#�B�	�(<�(<�%+�T�N�
4��
�&)�Z�Z����"�D�"�6��N�N�!�!�"�Y�-A�-A�&A�#)�"2�
4��!��
�
���
r,c��UR5(agURR5RU5nUcgURUR
snupEU[R)-nU(dURRU5 OURRXSU45 UbUR5 gg)NFT)rMr%r�r�rrdr r��
unregisterr�r��r*rrr�r�r�s      rrS�$BaseSelectorEventLoop._remove_reader!s����>�>�����n�n�$�$�&�*�*�2�.���;��!$���S�X�X����v���%�%�%�%����N�N�%�%�b�)��N�N�!�!�"�T�6�N�;����M�M�O��r,c���UR5 [R"X#US5nURR	5RU5nUc/URR
U[RSU45 U$URURsnupxURRX[R-Xt45 UbUR5 U$r1)r�rr�r%r�r�r�r �EVENT_WRITErdr�r�r�s	         r�_add_writer�!BaseSelectorEventLoop._add_writer4s����������x�t�T�:���n�n�$�$�&�*�*�2�.���;��N�N�#�#�B�	�(=�(=�%)�6�N�
4��
�&)�Z�Z����"�D�"�6��N�N�!�!�"�Y�-B�-B�&B�#)�"2�
4��!��
�
���
r,c��UR5(agURR5RU5nUcgURUR
snupEU[R)-nU(dURRU5 OURRXUS45 UbUR5 gg)�Remove a writer callback.FNT)rMr%r�r�rrdr r�r�r�r�r�s      r�_remove_writer�$BaseSelectorEventLoop._remove_writerCs����>�>�����n�n�$�$�&�*�*�2�.���;��!$���S�X�X����v���&�&�&�&����N�N�%�%�b�)��N�N�!�!�"�V�T�N�;����M�M�O��r,c�L�URU5 UR"X/UQ76 g)zAdd a reader callback.N)r2r^�r*rr�r�s    r�
add_reader� BaseSelectorEventLoop.add_readerX�#���$�$�R�(�����-��-r,c�F�URU5 URU5$)zRemove a reader callback.)r2rS�r*rs  r�
remove_reader�#BaseSelectorEventLoop.remove_reader]�!���$�$�R�(��"�"�2�&�&r,c�L�URU5 UR"X/UQ76 g)zAdd a writer callback..N)r2r�r�s    r�
add_writer� BaseSelectorEventLoop.add_writerbr�r,c�F�URU5 URU5$)r�)r2r�r�s  r�
remove_writer�#BaseSelectorEventLoop.remove_writergr�r,c���# �[R"U5 UR(aUR5S:wa[	S5eURU5$![[4a Of=fUR5nUR5nURU5 URX@RX1U5nUR[R"UR XES95 UIShv�N$7f)z�Receive data from the socket.

The return value is a bytes object representing the data received.
The maximum amount of data to be received at once is specified by
nbytes.
r�the socket must be non-blocking�r�N)r�_check_ssl_socketrr�
gettimeoutr�rhrjrir�rUr2r^�
_sock_recv�add_done_callback�	functools�partial�_sock_read_done)r*r4�n�futrr�s      r�	sock_recv�BaseSelectorEventLoop.sock_recvls����	�%�%�d�+��;�;�4�?�?�,��1��>�?�?�	��9�9�Q�<����!1�2�	��	��� � �"��
�[�[�]���$�$�R�(��!�!�"�o�o�s�!�D��������d�2�2�B�F�	H��y�y���7�AC8�
A�C8�A.�+C8�-A.�.BC8�2C5�3C8c�X�UbUR5(dURU5 ggr1)�	cancelledr��r*rr�r�s    rr��%BaseSelectorEventLoop._sock_read_done��(���>��!1�!1�!3�!3����r�"�"4r,c��UR5(agURU5nURU5 g![[4a g[
[4a e[anURU5 SnAgSnAff=fr1)	�donerh�
set_resultrjrir�r�r��
set_exception)r*r�r4r�rdr�s      rr�� BaseSelectorEventLoop._sock_recv�sw���8�8�:�:��		!��9�9�Q�<�D�
�N�N�4� �� �!1�2�	���-�.�	���	#����c�"�"��	#���;�B�
B�&A<�<Bc���# �[R"U5 UR(aUR5S:wa[	S5eURU5$![[4a Of=fUR5nUR5nURU5 URX@RX1U5nUR[R"UR XES95 UIShv�N$7f)z�Receive data from the socket.

The received data is written into *buf* (a writable buffer).
The return value is the number of bytes written.
rr�r�N)rr�rrr�r��	recv_intorjrir�rUr2r^�_sock_recv_intor�r�r�r�)r*r4�bufr�rr�s      r�sock_recv_into�$BaseSelectorEventLoop.sock_recv_into�s����	�%�%�d�+��;�;�4�?�?�,��1��>�?�?�	��>�>�#�&�&���!1�2�	��	��� � �"��
�[�[�]���$�$�R�(��!�!�"�&:�&:�C�s�K��������d�2�2�B�F�	H��y�y��r�c��UR5(agURU5nURU5 g![[4a g[
[4a e[anURU5 SnAgSnAff=fr1)	r�r�r�rjrir�r�r�r�)r*r�r4r��nbytesr�s      rr��%BaseSelectorEventLoop._sock_recv_into�sx���8�8�:�:��		#��^�^�C�(�F�
�N�N�6�"�� �!1�2�	���-�.�	���	#����c�"�"��	#�r�c���# �[R"U5 UR(aUR5S:wa[	S5eURU5$![[4a Of=fUR5nUR5nURU5 URX@RX1U5nUR[R"UR XES95 UIShv�N$7f)z�Receive a datagram from a datagram socket.

The return value is a tuple of (bytes, address) representing the
datagram received and the address it came from.
The maximum amount of data to be received at once is specified by
nbytes.
rr�r�N)rr�rrr�r��recvfromrjrir�rUr2r^�_sock_recvfromr�r�r�r�)r*r4�bufsizer�rr�s      r�
sock_recvfrom�#BaseSelectorEventLoop.sock_recvfrom�s����	�%�%�d�+��;�;�4�?�?�,��1��>�?�?�	��=�=��)�)���!1�2�	��	��� � �"��
�[�[�]���$�$�R�(��!�!�"�&9�&9�3�g�N��������d�2�2�B�F�	H��y�y��r�c��UR5(agURU5nURU5 g![[4a g[
[4a e[anURU5 SnAgSnAff=fr1)	r�r�r�rjrir�r�r�r�)r*r�r4r��resultr�s      rr��$BaseSelectorEventLoop._sock_recvfrom�sx���8�8�:�:��		#��]�]�7�+�F�
�N�N�6�"�� �!1�2�	���-�.�	���	#����c�"�"��	#�r�c��# �[R"U5 UR(aUR5S:wa[	S5eU(d[U5nUR
X#5$![[4a Of=fUR5nUR5nURU5 URXPRXAUU5nUR[R "UR"XVS95 UIShv�N$7f)z�Receive data from the socket.

The received data is written into *buf* (a writable buffer).
The return value is a tuple of (number of bytes written, address).
rr�r�N)rr�rrr�r��len�
recvfrom_intorjrir�rUr2r^�_sock_recvfrom_intor�r�r�r�)r*r4r�r�r�rr�s       r�sock_recvfrom_into�(BaseSelectorEventLoop.sock_recvfrom_into�s����	�%�%�d�+��;�;�4�?�?�,��1��>�?�?����X�F�	��%�%�c�2�2���!1�2�	��	��� � �"��
�[�[�]���$�$�R�(��!�!�"�&>�&>��3�"(�*��������d�2�2�B�F�	H��y�y��s7�AD�A-�,D�-B�=D�?B�BD�D�Dc��UR5(agURX45nURU5 g![[4a g[
[4a e[anURU5 SnAgSnAff=fr1)	r�r�r�rjrir�r�r�r�)r*r�r4r�r�r�r�s       rr�)BaseSelectorEventLoop._sock_recvfrom_into�sz���8�8�:�:��		#��'�'��5�F�
�N�N�6�"�� �!1�2�	���-�.�	���	#����c�"�"��	#�r�c	��0# �[R"U5 UR(aUR5S:wa[	S5eURU5nU[U5:XagUR5nUR5nURU5 URXPRXA[U5U/5nUR[ R""UR$XVS95 UIShv�N$![[4a SnN�f=fN7f)�jSend data to the socket.

The socket must be connected to a remote socket. This method continues
to send data from data until either all data has been sent or an
error occurs. None is returned on success. On error, an exception is
raised, and there is no way to determine how much data, if any, was
successfully processed by the receiving end of the connection.
rr�Nr�)rr�rrr�r�rprjrir�r�rUr2r��
_sock_sendall�
memoryviewr�r�r��_sock_write_done)r*r4rdr�r�rr�s       r�sock_sendall�"BaseSelectorEventLoop.sock_sendalls����	�%�%�d�+��;�;�4�?�?�,��1��>�?�?�	��	�	�$��A�
��D�	�>��� � �"��
�[�[�]���$�$�R�(��!�!�"�&8�&8�#�",�T�"2�Q�C�9��������d�3�3�R�G�	I��y��� �!1�2�	��A�	���s7�AD�
C<�BD�7D�8D�<D�D�D�Dc�F�UR5(agUSnURX5S5nXV-
nU[U5:XaURS5 gXTS'g![[4a g[[
4a e[anURU5 SnAgSnAff=f�Nr)
r�rprjrir�r�r�r�r�r�)r*r�r4�view�pos�startr�r�s        rr�#BaseSelectorEventLoop._sock_sendall-s����8�8�:�:���A���	��	�	�$�v�,�'�A�	�
���C��I���N�N�4� ���F�� �!1�2�	���-�.�	���	����c�"���	�s�A�B �,B �B�B c��# �[R"U5 UR(aUR5S:wa[	S5eURX#5$![[4a Of=fUR5nUR5nURU5 URXPRXAUU5nUR[R"UR XVS95 UIShv�N$7f)rrr�r�N)rr�rrr�r��sendtorjrir�rUr2r��_sock_sendtor�r�r�r	)r*r4rdrGr�rr�s       r�sock_sendto�!BaseSelectorEventLoop.sock_sendtoCs����	�%�%�d�+��;�;�4�?�?�,��1��>�?�?�	��;�;�t�-�-���!1�2�	��	��� � �"��
�[�[�]���$�$�R�(��!�!�"�&7�&7��D�")�+��������d�3�3�R�G�	I��y�y��s7�AC9�
A�C9�A.�+C9�-A.�.BC9�3C6�4C9c��UR5(agURUSU5nURU5 g![[4a g[
[4a e[anURU5 SnAgSnAff=fr
)	r�rr�rjrir�r�r�r�)r*r�r4rdrGr�r�s       rr�"BaseSelectorEventLoop._sock_sendto^sz���8�8�:�:��		����D�!�W�-�A�
�N�N�1��� �!1�2�	���-�.�	���	#����c�"�"��	#�s�=�B�B�(A>�>Bc��0# �[R"U5 UR(aUR5S:wa[	S5eUR
[R:Xd3[R(a`UR
[R:XaBURX!R
URURUS9IShv�NnUSu   pBUR5nURXQU5 UIShv�NSn$N=N!Snf=f7f)zDConnect to a remote socket at address.

This method is a coroutine.
rr�)�family�type�proto�loopN)rr�rrr�r�rr[�AF_INET�	_HAS_IPv6�AF_INET6�_ensure_resolvedrrr��
_sock_connect)r*r4rG�resolvedr�r�s      r�sock_connect�"BaseSelectorEventLoop.sock_connectms����
	�%�%�d�+��;�;�4�?�?�,��1��>�?�?��;�;�&�.�.�(��%�%�$�+�+����*H�!�2�2����$�)�)�4�:�:��3���H�#+�1�+��A�q�!�Q�� � �"�����3�g�.�	��9��C�����C�s<�CD�
D�0D�?D�D
�D�D�
D�D�Dc	���UR5nURU5 URS5 Sng![[4a_ URU5 UR
X@RXU5nUR[R"URXES95 Nq[[4a e[anURU5 SnAN�SnAff=f!Snf=f)Nr�)rU�connectr�rjrir2r��_sock_connect_cbr�r�r�r	r�r�r�r�)r*r�r4rGrr�r�s       rr"�#BaseSelectorEventLoop._sock_connect�s���
�[�[�]��	��L�L��!� 
�N�N�4� ��C��# �!1�2�		M�

�(�(��,��%�%��)�)�3�g�?�F��!�!��!�!�$�"7�"7��K�
M��-�.�	���	#����c�"�"��	#��
�C�s9�7�C�A,C�#C�%C�>C�C�C�C�C c�X�UbUR5(dURU5 ggr1)r�r�r�s    rr	�&BaseSelectorEventLoop._sock_write_done�r�r,c��UR5(agUR[R[R5nUS:wa[USU35eUR
S5 Sng![[4a N[[4a e[anURU5 SnANDSnAff=f!Snf=f)NrzConnect call failed )
r��
getsockoptr[�
SOL_SOCKET�SO_ERRORrqr�rjrir�r�r�r�)r*r�r4rG�errr�s      rr(�&BaseSelectorEventLoop._sock_connect_cb�s����8�8�:�:��	��/�/�&�"3�"3�V�_�_�E�C��a�x��c�%9�'��#C�D�D��
�N�N�4� ��C�� �!1�2�	���-�.�	���	#����c�"�"��	#��
�C�s<�AA0�B9�0B6�B9�B6�B1�,B9�1B6�6B9�9B=c���# �[R"U5 UR(aUR5S:wa[	S5eUR5nUR
X!5 UIShv�N$N7f)a/Accept a connection.

The socket must be bound to an address and listening for connections.
The return value is a pair (conn, address) where conn is a new socket
object usable to send and receive data on the connection, and address
is the address bound to the socket on the other end of the connection.
rr�N)rr�rrr�r�r��_sock_accept)r*r4r�s   r�sock_accept�!BaseSelectorEventLoop.sock_accept�s\���	�%�%�d�+��;�;�4�?�?�,��1��>�?�?�� � �"�����#�$��y��y�s�A-A6�/A4�0A6c	���UR5nUR5upEURS5 URXE45 g![[
4a^ UR
U5 URX0RX5nUR[R"URX6S95 g[[4a e[anUR!U5 SnAgSnAff=f)NFr�)rUr�r]r�rjrir2r^r3r�r�r�r�r�r�r�r�)r*r�r4rr�rGr�r�s        rr3�"BaseSelectorEventLoop._sock_accept�s���
�[�[�]��
	,� �K�K�M�M�D����U�#�
�N�N�D�?�+�� �!1�2�	L��(�(��,��%�%�b�*;�*;�S�G�F��!�!��!�!�$�"6�"6��J�
L��-�.�	���	#����c�"�"��	#�s�#A�A+C)�5C)�C$�$C)c��# �URUR	UR5nUR5 UR	5IShv�N URURX#USS9IShv�NUR5 U(aUR5 XRUR'$NhNE!UR5 U(aUR5 XRUR'f=f7f)NF)�fallback)	r)�_sock_fd�
is_reading�
pause_reading�_make_empty_waiter�
sock_sendfile�_sock�_reset_empty_waiter�resume_reading)r*�transp�file�offset�countrAs      r�_sendfile_native�&BaseSelectorEventLoop._sendfile_native�s�������V�_�_�-��*�*�,�������'�'�)�)�)�	7��+�+�F�L�L�$��5:�,�<�<�
�&�&�(���%�%�'�06���V�_�_�-�	*�<��
�&�&�(���%�%�'�06���V�_�_�-�s>�AC>�
B6�C>�B:�2B8�3B:�6AC>�8B:�:AC;�;C>c��UH�up#URURsnupVU[R-(a7Ub4UR(aURU5 OUR
U5 U[R-(dM�UcM�UR(aURU5 M�UR
U5 M� gr1)	�fileobjrdr r��
_cancelledrS�
_add_callbackr�r�)r*�
event_listrr�rIr�r�s       r�_process_events�%BaseSelectorEventLoop._process_events�s���#�I�C�(+���S�X�X�%�G�%�f��i�*�*�*�v�/A��$�$��'�'��0��&�&�v�.��i�+�+�+�+��0B��$�$��'�'��0��&�&�v�.�$r,c�b�URUR55 UR5 gr1)rSrUrO)r*r4s  r�
_stop_serving�#BaseSelectorEventLoop._stop_serving�s�����D�K�K�M�*��
�
�r,)rVr%rTr)r1�NNN)r)6r$�
__module__�__qualname__�__firstlineno__�__doc__rr7r�SSL_HANDSHAKE_TIMEOUT�SSL_SHUTDOWN_TIMEOUTrCrHrOrNr&rer_rtr{rxr�r2r^rSr�r�r�r�r�r�r�r�r�r�r�r�r�rrr
rrrr$r"r	r(r4r3rFrMrP�__static_attributes__�
__classcell__�r#s@rrr5st����
9�7�%)�$�7�9=�+� �$��t�"+�"A�"A�!*�!?�!?�+�&CG�B�	"� �E�
�
�,�&#'�t�S�-6�-L�-L�,5�,J�,J�F��D�#�"+�"A�"A�!*�!?�!?�	,)�`�D�"+�"A�"A�!*�!?�!?�	-5�^"�
��&
��*.�
'�
.�
'�
�,#�!� �*#�"�.#�"�2#�"�>�,�6
��2�.#��*
�,�"7�/��r,rc�^�\rSrSrSrSrSU4SjjrSrSrSr	Sr
S	rS
rSr
SrS
r\R"4SjrSSjrSrSrSrSrSrU=r$)�_SelectorTransporti�iNc��>�[TU]XA5 [R"U5URS'UR5URS'SUR;aUR5URS'X l
UR5UlSUl
URU5 XPl[ R""5UlSUlSUlSUlURbURR-U5 XR.UR'g![a SURS'N�f=f![Ra SURS'N�f=f)Nr[�socknamer~Fr)rrrr��_extra�getsocknamerq�getpeernamer[�errorr?rUr:�_protocol_connected�set_protocol�_server�collections�deque�_buffer�
_conn_lost�_closing�_paused�_attachr))r*rr4r5r.r/r#s      �rr�_SelectorTransport.__init__s2���
����%� &� 6� 6�t� <����H��	+�&*�&6�&6�&8�D�K�K�
�#��T�[�[�(�
/�*.�*:�*:�*<����J�'��
����
��
�#(�� ����(�#���"�(�(�*��������
�����<�<�#��L�L� � ��&�*.������'��+�	+�&*�D�K�K�
�#�	+��
�<�<�
/�*.����J�'�
/�s#�D)�#E�)E�E�#E.�-E.c�&�URR/nURcURS5 O"UR(aURS5 URSUR
35 URb�URR5(d�[URRUR
[R5nU(aURS5 OURS5 [URRUR
[R5nU(aSnOSnUR5nURSUS	US
35 SRSRU55$)
N�closed�closingzfd=zread=pollingz	read=idle�polling�idlezwrite=<z
, bufsize=�>z<{}>� )r#r$r?�appendrkr:�_looprMrr%r r�r��get_write_buffer_size�format�join)r*�inforr�stater�s     r�__repr__�_SelectorTransport.__repr__s'�����'�'�(���:�:���K�K��!�
�]�]��K�K�	�"����c�$�-�-��)�*��:�:�!�$�*�*�*>�*>�*@�*@�*�4�:�:�+?�+?�+/�=�=�)�:N�:N�P�G�����N�+����K�(�*�4�:�:�+?�+?�+/�=�=�+4�+@�+@�B�G��!�����0�0�2�G��K�K�'�%��
�7�)�1�=�>��}�}�S�X�X�d�^�,�,r,c�&�URS5 gr1)�_force_closerXs r�abort�_SelectorTransport.abort9s�����$�r,c��XlSUlg�NT)�	_protocolrd)r*r5s  rre�_SelectorTransport.set_protocol<s��!��#'�� r,c��UR$r1)r�rXs r�get_protocol�_SelectorTransport.get_protocol@s���~�~�r,c��UR$r1)rkrXs rr��_SelectorTransport.is_closingCs���}�}�r,c�\�UR5(+=(a UR(+$r1)r�rlrXs rr;�_SelectorTransport.is_readingFs���?�?�$�$�9�T�\�\�)9�9r,c��UR5(dgSUlURRUR5 URR5(a[R"SU5 gg)NTz%r pauses reading)r;rlrwrSr:�	get_debugr
r"rXs rr<� _SelectorTransport.pause_readingIsV����� � ������
�
�!�!�$�-�-�0��:�:���!�!��L�L�,�d�3�"r,c��UR(dUR(dgSUlURURUR5 UR
R
5(a[R"SU5 gg)NFz%r resumes reading)	rkrlr^r:�_read_readyrwr�r
r"rXs rrA�!_SelectorTransport.resume_readingQsZ���=�=���������������(8�(8�9��:�:���!�!��L�L�-�t�4�"r,c�d�UR(agSUlURRUR5 UR(daU=R
S-
slURR
UR5 URRURS5 gg�NTr)	rkrwrSr:rirjr��	call_soon�_call_connection_lostrXs rrO�_SelectorTransport.closeYss���=�=����
��
�
�!�!�$�-�-�0��|�|��O�O�q� �O��J�J�%�%�d�m�m�4��J�J� � ��!;�!;�T�B�r,c���URbTU"SU<3[US9 URR5 URbURR	U5 ggg)Nzunclosed transport )�source)r?�ResourceWarningrOrf�_detach)r*�_warns  r�__del__�_SelectorTransport.__del__csV���:�:�!��'��x�0�/�$�O��J�J�����|�|�'����$�$�T�*�(�"r,c��[U[5(a6URR5(a[R
"SXSS9 O*URR
UUUURS.5 URU5 g)Nz%r: %sTrn)rr�r�r5)	r�rqrwr�r
r"r�r�r�)r*r�rs   r�_fatal_error�_SelectorTransport._fatal_errorjsj���c�7�#�#��z�z�#�#�%�%����X�t�t�D���J�J�-�-�"� �!� �N�N�	/�
�	
���#�r,c��UR(agUR(a?URR5 URR	UR
5 UR(d,SUlURRUR
5 U=RS-
slURRURU5 gr�)
rjri�clearrwr�r:rkrSr�r�)r*r�s  rr��_SelectorTransport._force_closexs����?�?���<�<��L�L��� ��J�J�%�%�d�m�m�4��}�}� �D�M��J�J�%�%�d�m�m�4����1����
�
���T�7�7��=r,c���UR(aURRU5 URR	5 SUlSUlSUlURnUbURU5 SUlgg!URR	5 SUlSUlSUlURnUbURU5 SUlff=fr1)rdr��connection_lostr?rOrwrfr�)r*r�r/s   rr��(_SelectorTransport._call_connection_lost�s���	$��'�'����.�.�s�3��J�J�����D�J�!�D�N��D�J��\�\�F��!����t�$�#���"��
�J�J�����D�J�!�D�N��D�J��\�\�F��!����t�$�#���"�s�,B�ACc�H�[[[UR55$r1)�sum�mapr�rirXs rrx�(_SelectorTransport.get_write_buffer_size�s���3�s�D�L�L�)�*�*r,c�j�UR5(dgURR"X/UQ76 gr1)r;rwr^r�s    rr^�_SelectorTransport._add_reader�s)����� � ���
�
���r�3�d�3r,)
rirkrjrwrlr�rdrfr?r:)NN)zFatal error on transport)r$rSrTrU�max_sizer?rr}r�rer�r�r;r<rArO�warnings�warnr�r�r�r�rxr^rYrZr[s@rr]r]�sp����H�

�E�/�8-�8 �(���:�4�5�C�%�M�M�+��
>�$�+�4�4r,r]c��^�\rSrSrSr\RRrSU4Sjjr	U4Sjr
SrSrSr
S	rS
rSrSrS
\SS4SjrSrSrSrSrU4SjrSrSrU4SjrSrU=r$)r3i�TNc�">�SUl[TU]	XX5U5 SUlSUl[
(aURUlOURUl[R"UR5 URRURRU5 URRUR UR"UR$5 Ub,URR[&R(US5 ggr)�_read_ready_cbrr�_eof�
_empty_waiter�_HAS_SENDMSG�_write_sendmsg�_write_ready�_write_sendr�_set_nodelayr?rwr�r��connection_mader^r:r�r�_set_result_unless_cancelled)r*rr4r5r6r.r/r#s       �rr�!_SelectorSocketTransport.__init__�s����#���
����X�f�=���	�!����<� $� 3� 3�D�� $� 0� 0�D��	� � ����,��
�
���T�^�^�;�;�T�B��
�
���T�-�-�!�]�]�D�,<�,<�	>����J�J� � ��!E�!E�!'��
/�r,c�>�[U[R5(aURUlOUR
Ul[TU]U5 gr1)r�r	�BufferedProtocol�_read_ready__get_bufferr��_read_ready__data_receivedrre)r*r5r#s  �rre�%_SelectorSocketTransport.set_protocol�s?����h�	� :� :�;�;�"&�">�">�D��"&�"A�"A�D��
���X�&r,c�$�UR5 gr1)r�rXs rr��$_SelectorSocketTransport._read_ready�s�����r,c��UR(agURRS5n[U5(d[	S5eURRU5nU(dUR5 gURRU5 g![
[4a e[anURUS5 SnAgSnAff=f![[4a g[
[4a e[anURUS5 SnAgSnAff=f![
[4a e[anURUS5 SnAgSnAff=f)N���z%get_buffer() returned an empty bufferz/Fatal error: protocol.get_buffer() call failed.�$Fatal read error on socket transportz3Fatal error: protocol.buffer_updated() call failed.)rjr��
get_bufferr�rLr�r�r�r�r?r�rjri�_read_ready__on_eof�buffer_updated)r*r�r�r�s    rr��0_SelectorSocketTransport._read_ready__get_buffer�sE���?�?��		��.�.�+�+�B�/�C��s�8�8�"�#J�K�K��	��Z�Z�)�)�#�.�F���$�$�&��	L��N�N�)�)�&�1��-�-�.�	���	�����F�
H���	�� �!1�2�	���-�.�	���	����c�#I�J���	���-�.�	���	L�����J�
L�
L��	L�sM�6B�C�D�C�6C
�
C�D�'D�D�D�E�9E�Ec���UR(agURRUR5nU(dUR5 gURRU5 g![[
4a g[[4a e[anURUS5 SnAgSnAff=f![[4a e[anURUS5 SnAgSnAff=f)Nr�z2Fatal error: protocol.data_received() call failed.)
rjr?rhr�rjrir�r�r�r�r�r��
data_received)r*rdr�s   rr��3_SelectorSocketTransport._read_ready__data_received�s����?�?��	��:�:�?�?�4�=�=�1�D���$�$�&��	K��N�N�(�(��.�� �!1�2�	���-�.�	���	����c�#I�J���	���-�.�	���	K�����I�
K�
K��	K�s5�%A.�B8�.B5�B5�B0�0B5�8C.�C)�)C.c��URR5(a[R"SU5 URR5nU(a&URRUR5 gUR5 g![[4a e[anURUS5 SnAgSnAff=f)Nz%r received EOFz1Fatal error: protocol.eof_received() call failed.)
rwr�r
r"r��eof_receivedr�r�r�r�rSr:rO)r*�	keep_openr�s   rr��,_SelectorSocketTransport._read_ready__on_eofs����:�:���!�!��L�L�*�D�1�	����3�3�5�I��
�J�J�%�%�d�m�m�4��J�J�L���-�.�	���	�����H�
J���	�s�B�C�*C�Cc��[U[[[45(d"[	S[U5R<35eUR(a[S5eURb[S5eU(dgUR(aJUR[R:�a[R"S5 U=RS-
sl
gUR(dcUR R#U5n[U5USnU(dgUR0R3UR4UR65 URR9U5 UR;5 g![$[&4a Nn[([*4a e[,anUR/US5 SnAgSnAff=f)N�/data argument must be a bytes-like object, not z%Cannot call write() after write_eof()z(unable to write; sendfile is in progress�socket.send() raised exception.r�%Fatal write error on socket transport)r��bytes�	bytearrayrr�rr$r�rLr�rjr�!LOG_THRESHOLD_FOR_CONNLOST_WRITESr
�warningrir?rprjrir�r�r�r�rwr�r:r�rv�_maybe_pause_protocol)r*rdr�r�s    r�write�_SelectorSocketTransport.writesi���$��	�:� >�?�?��#�#'��:�#6�#6�"9�;�<�
<��9�9��F�G�G����)��I�J�J����?�?����)�"M�"M�M����@�A��O�O�q� �O���|�|�
��J�J�O�O�D�)��"�$�'���+�����
�J�J�"�"�4�=�=�$�2C�2C�D�	
�����D�!��"�"�$��!$�%5�6�
��� 1�2�
�� �
��!�!�#�'N�O���
�s�,E:�:G�G�%F<�<Gc�L�[R"UR[5$r1)�	itertools�islicerirrXs r�_get_sendmsg_buffer�,_SelectorSocketTransport._get_sendmsg_buffer>s��������j�9�9r,c���UR(dS5eUR(agURRUR	55nURU5 UR
5 UR(d�URRUR5 URbURRS5 UR(aURS5 gUR(a*URR[ R"5 ggg![$[&4a g[([*4a e[,a�nURRUR5 URR/5 UR1US5 URb URR3U5 SnAgSnAgSnAff=f�NzData should not be emptyr�)rirjr?rr��_adjust_leftover_buffer�_maybe_resume_protocolrwr�r:r�r�rkr�r��shutdownr[�SHUT_WRrjrir�r�r�r�r�r�)r*r�r�s   rr��'_SelectorSocketTransport._write_sendmsgAsh���|�|�7�7�7�|��?�?��	8��Z�Z�'�'��(@�(@�(B�C�F��(�(��0�
�'�'�)��<�<��
�
�)�)�$�-�-�8��%�%�1��&�&�1�1�$�7��=�=��.�.�t�4��Y�Y��J�J�'�'����7��
 �� �!1�2�	���-�.�	���	6��J�J�%�%�d�m�m�4��L�L��� ����c�#J�K��!�!�-��"�"�0�0��5�5�.��		6�s�:D4�4G'�G'�A9G"�"G'r��returnc��URnU(aCUR5n[U5nXA::aX-nOURX1S5 gU(aMBggr1)ri�popleftr��
appendleft)r*r��buffer�b�b_lens     rr��0_SelectorSocketTransport._adjust_leftover_buffer]sK���������� �A���F�E�������!�!�!�G�*�-���fr,c�"�UR(dS5eUR(agURR5nURR	U5nU[U5:waURR
XS5 UR5 UR(d�URRUR5 URbURRS5 UR(aURS5 gUR(a*URR!["R$5 ggg![&[(4a g[*[,4a e[.a�nURRUR5 URR15 UR3US5 URb URR5U5 SnAgSnAgSnAff=fr�)rirjr�r?rpr�r�r�rwr�r:r�r�rkr�r�r�r[r�rjrir�r�r�r�r�r�)r*r�r�r�s    rr��$_SelectorSocketTransport._write_sendhs����|�|�7�7�7�|��?�?��	8��\�\�)�)�+�F��
�
����'�A��C��K�����'�'��r�
�3�
�'�'�)��<�<��
�
�)�)�$�-�-�8��%�%�1��&�&�1�1�$�7��=�=��.�.�t�4��Y�Y��J�J�'�'����7��
 �� �!1�2�	���-�.�	���	6��J�J�%�%�d�m�m�4��L�L��� ����c�#J�K��!�!�-��"�"�0�0��5�5�.��		6�s�A!E�H�-H�A9H	�	Hc���UR(dUR(agSUlUR(d*URR	[
R5 ggr�)rkr�rir?r�r[r�rXs r�	write_eof�"_SelectorSocketTransport.write_eof�s;���=�=�D�I�I����	��|�|��J�J������/�r,c��UR(a[S5eURb[S5eU(dgURR	UVs/sHn[U5PM sn5 UR
5 UR(a1URRURUR5 ggs snf)Nz*Cannot call writelines() after write_eof()z-unable to writelines; sendfile is in progress)
r�rLr�ri�extendrr�rwr�r:)r*�list_of_datards   r�
writelines�#_SelectorSocketTransport.writelines�s����9�9��K�L�L����)��N�O�O��������,�G�,�$�Z��-�,�G�H������<�<��J�J�"�"�4�=�=�$�2C�2C�D���Hs�Cc��gr�rbrXs r�
can_write_eof�&_SelectorSocketTransport.can_write_eof�s��r,c�>�[TU]U5 URb%URR[	S55 gg)NzConnection is closed by peer)rr�r�r��ConnectionError)r*r�r#s  �rr��._SelectorSocketTransport._call_connection_lost�s?���
��%�c�*����)����,�,�� >�?�
A�*r,c���URb[S5eURR5UlUR(dURRS5 UR$)NzEmpty waiter is already set)r�rLrwr�rir�rXs rr=�+_SelectorSocketTransport._make_empty_waiter�sV�����)��<�=�=�!�Z�Z�5�5�7����|�|����)�)�$�/��!�!�!r,c��SUlgr1)r�rXs rr@�,_SelectorSocketTransport._reset_empty_waiter�s
��!��r,c�>>�SUlSUl[TU]
5 gr1)r�r�rrOrPs �rrO�_SelectorSocketTransport.close�s���"��� ���
��
�r,)r�r�r�r�rR)r$rSrTrU�_start_tls_compatibler�
_SendfileMode�
TRY_NATIVE�_sendfile_compatiblerrer�r�r�r�r�r�r�r�r�r�r�r�r�r�r=r@rOrYrZr[s@rr3r3�s���� ��$�2�2�=�=��48�$(�/�2'��#L�JK�2�*%%�N:�8�8	�c�	�d�	�8�>0�E��A�"�"��r,r3c�d^�\rSrSr\R
rSU4SjjrSrSr	S	Sjr
SrSrU=r
$)
rFi�c�t>�[TU]XX65 X@lSUlURRURRU5 URRURURUR5 Ub,URR[RUS5 ggr
)
rr�_address�_buffer_sizerwr�r�r�r^r:r�rr�)r*rr4r5rGr6r.r#s       �rr�#_SelectorDatagramTransport.__init__�s����
����X�5��
�����
�
���T�^�^�;�;�T�B��
�
���T�-�-�!�]�]�D�,<�,<�	>����J�J� � ��!E�!E�!'��
/�r,c��UR$r1)rrXs rrx�0_SelectorDatagramTransport.get_write_buffer_size�s��� � � r,c��UR(agURRUR5upURRX5 g![[4a g[a%nURRU5 SnAgSnAf[[4a e[anURUS5 SnAgSnAff=f)Nz&Fatal read error on datagram transport)rjr?r�r�r��datagram_receivedrjrirq�error_receivedr�r�r�r��r*rdr�r�s    rr��&_SelectorDatagramTransport._read_ready�s����?�?��	9����,�,�T�]�]�;�J�D�
�N�N�,�,�T�8�� �!1�2�	���	/��N�N�)�)�#�.�.���-�.�	���	M����c�#K�L�L��	M�s)�'A�C�)	C�2B�C�/C�Cc��[U[[[45(d"[	S[U5R<35eUR(a6USUR4;a[SUR35eURnUR(a[UR(aJUR[R:�a[R"S5 U=RS-
sl	gUR(dMURS(aUR R#U5 gUR R%X5 gURRA[U5U45 U=RB[EU5S--
sl!URG5 g![&[(4a3 UR*R-UR.UR05 N�[2a%nUR4R7U5 SnAgSnAf[8[:4a e[<anUR?US5 SnAgSnAff=f)Nr�z!Invalid address: must be None or r�rr~�'Fatal write error on datagram transport�)$r�r�r�rr�rr$rr�rjrr�r
r�rir`r?rprrjrirwr�r:�
_sendto_readyrqr�rr�r�r�r�rvrr�r�rs    rr�!_SelectorDatagramTransport.sendto�s����$��	�:� >�?�?��#�#'��:�#6�#6�"9�;�<�
<��=�=��D�$�-�-�0�0� �7��
�
��G�I�I��=�=�D��?�?�t�}�}����)�"M�"M�M����@�A��O�O�q� �O���|�|�
��;�;�z�*��J�J�O�O�D�)���J�J�%�%�d�1��	
�����U�4�[�$�/�0����S��Y��]�*���"�"�$��$�%5�6�
J��
�
�&�&�t�}�}�d�6H�6H�I��
����-�-�c�2���� 1�2�
�� �
��!�!��B�D���
�s1�/F,�8F,�,AI�.	I�7H�I�4I�Ic��UR(a�URR5upU=R[U5-slURS(aUR
R
U5 OUR
RX5 UR(aM�UR%5 UR(dIUR&R)UR*5 UR,(aUR/S5 ggg![[4a> URRX45 U=R[U5-
slM�[a%nURRU5 SnAgSnAf[[4a e[ anUR#US5 SnAgSnAff=f)Nr~r)rir�rr�r`r?rprrjrir�rqr�rr�r�r�r�r�rwr�r:rkr�rs    rr�(_SelectorDatagramTransport._sendto_readysM���l�l����-�-�/�J�D�����T��*��
��;�;�z�*��J�J�O�O�D�)��J�J�%�%�d�1��l�l�l�,	
�#�#�%��|�|��J�J�%�%�d�m�m�4��}�}��*�*�4�0����$�%5�6�
����'�'���5��!�!�S��Y�.�!���
����-�-�c�2���� 1�2�
�� �
��!�!��B�D���
�s1�
/D�=D�A
G�$	G�-F
�
G�*G�G)rrrRr1)r$rSrTrUrgrh�_buffer_factoryrrxr�rrrYrZr[s@rrFrF�s3���!�'�'�O�59�$(�/�!�9� (%�T1�1r,rF)&rV�__all__rgr�r�r��osr r[r�r'�ssl�ImportError�rrrrr	r
rr�logr
�hasattrr��sysconfrrqr�
BaseEventLoopr�_FlowControlMixin�	Transportr]r3�DatagramTransportrFrbr,r�<module>r-s���#������	��
���������������v�}�}�i�0�����Z�Z��-�
�
(�
�K�5�5�
�Da4��5�5�#�-�-�a4�HW�1�W�tj1�!3�Z�5Q�5Q�j1��C%��
�C���$�����s#�C+�?C9�+C6�5C6�9D�D

?>