403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/multiprocessing/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/multiprocessing/__pycache__/managers.cpython-315.opt-1.pyc
R
>lqj�c
�	�,QaNs]PHs]PHs]PHs]PHs]PHs]PHs]PH s]PH$s	]PH(s
]QH(Gs]QH0G
s
]QH8Gs]QH@GsGsGs]QH8Gs]Q	H8Gs]Q
H8Gs]QH8Gs]QH:GsP	s\O5Q
2Qs\O:\O\2QbTt,tFDo\\-U222MJ	tos Qs!\ FDs"\O:\"\!2J	?"? QQ\#2s$Qc-1Qks%Qs&QQ\'2s(Qs)Qs*QQ\#2s+QQ\#2s,Q\OZ\O\1Q\O^\O`1-s1QQ\#2s2QQ\32s4Q Q\#2s5Q!s6-1Q"ks7QdQ#ks8Q$Q%\#2s9Q&Q'\#2s:QeQ(ks;Q)Q*\52s<Q+Q,\52s=Q-Q.\=2s>Q/Q0\52s?Q1Q2\52s@Q3Q4\52sAQ5Q6\52sB\7Q7Qf2sCQ8Q9\C2sD\O�O�O;\C2\7Q:Qg2sGQ;Q<-\GmHQ=Q>\G2sI\O�O�O;\G2\7Q?Qh2sKQ@QA\K2sL\O�O�O;\K2\7QBQi2sM\7QCQj2sNQDQIQGQIQHQIQEQ<QFQ<-\NmHQJQC\N2sOQKQ\22sP\PO;QL\O�2\PO;QM\O�2\PO;QN\O�\?2\PO;QO\O�\=2\PO;QP\O�\=2\PO;QQ\O�\=2\PO;QR\O�\=2\PO;QS\O�\>2\PO;QT\O�\@2\PO;QU\O�\O2\PO;QV\Z\D2\PO;QW\[\I2\PO;QX\3\L2\PO;Q'\:\B2\PO;QY\;\M2\PO;Q%\9\A2\PO;Q<\<P
QZ5\PO;QIP
Q[5\%c#Q\Q]2s\Q^Q_\+2s]Q`Q
\22s^P!P!\cP
sCKJh9httoh)k�BaseManager�SyncManager�	BaseProxy�Token)�getpid)�
format_exc)�
connection)�	reduction�get_spawning_popen�ProcessError)�pool)�process)�util)�get_context)�
shared_memory�SharedMemoryManagerc�\�[OUOUO211!�N)�array�typecode�tobytes)�as&�-C:\Python315\\Lib\multiprocessing\managers.py�reduce_arrayr0s ���;�;����Q�Y�Y�[�1�1�1�c�(�[[U211!r)�list��objs&r�rebuild_as_listr5s���$�s�)���rc�B`�\sQs]?snQsQsQsQsQsQs	Qs
UsP!)rz+
Type to uniquely identify a shared object
c�2�VUtUmUmUmP!r��typeid�address�id)�selfr"r#r$s&&&&r�__init__�Token.__init__Es��06��,���d�l�D�Grc�J�UOUOUO1!rr!�r%s&r�__getstate__�Token.__getstate__Hs�����T�\�\�4�7�7�3�3rc�2�UvUmUmUmP!rr!�r%�states&&r�__setstate__�Token.__setstate__Ks��/4�,���d�l�D�Grc��UOO8QUO8QUO8QUO8Q0!)z(typeid=z
, address=z, id=�))�	__class__�__name__r"r#r$r)s&r�__repr__�Token.__repr__Ns-�����'�'����d�l�l�D�G�G�M�	Mr)r#r$r"r!)r4�
__module__�__qualname__�__firstlineno__�__doc__�	__slots__r&r*r/r5�__static_attributes__�__classdictcell__��
__classdict__s@rrr?s-�����,�I�E�4�5�M�Mrc��UOVV412UO2vqVUQ6XcU![VV2g=h9h)zD
Send a message to manager using connection `c` and return response
�#RETURN)�send�recv�convert_to_error)�cr$�
methodname�args�kwds�kind�results&&&&&  r�dispatchrKVsD���F�F�B�D�'�(��6�6�8�L�D��y���
���t�,�,���s�<�?c	��UQ6XcU!UQ7c_[U[2%f%[QOV[	U222gUQ6Xc[QU*2![U2![
QOU22!)�#ERROR�#UNSERIALIZABLEz.Result {0!r} (kind '{1}') type is {2}, not strzUnserializable message: %s
zUnrecognized message type {!r})�
#TRACEBACKrN)�
isinstance�str�	TypeError�format�type�RemoteError�
ValueError)rIrJs&&rrDrDcs����x���
�	
�2�	2��&�#�&�&��@�G�G��$�v�,�0�1�
1��$�$��=��F�G�G��v�&�&��:�A�A�$�G�H�Hrc�(`�\sQs]rsnQsQsUsP!)rUc�X�Q[UO]*2*Q*!)�
zK---------------------------------------------------------------------------zM
---------------------------------------------------------------------------
)rQrGr)s&r�__str__�RemoteError.__str__ss��$�s�4�9�9�Q�<�'8�8�6�A�Br�)r4r7r8r9rZr<r=r>s@rrUrUrs����C�CrrUc��,o[U2FD2o[V2o[U2%fJ!UOU2J4	U!)z,
Return a list of names of methods of `obj`
)�dir�getattr�callable�append)r�temp�name�funcs&   r�all_methodsrezs=���D��C����s�!���D�>�>��K�K�����Krc�d�[U2Tt,tFDp]*Q6wfJUMJ	to!ttoh)zH
Return a list of names of methods of `obj` which do not start with '_'
�_)re)rrcs& r�public_methodsrh�s-��)��-�@�-�T�a��C��D�D�-�@�@��@s�-�-c�`�\sQs]�snQs,QNsQsQsQsQs	Qs
QsQsQ	s
Q
sQ\
Q\Q
\-sQsQsQsQsQsQsQsQsQsQsUsP!)�ServerzE
Server class which runs in a process controlled by a manager object
c��[U[2%f%[QOU[	U222gVm[OU2Um[U*vqVUU]�Q5Um
UOOUmQQ-Um-Um
-Um[O 2UmP!)z&Authkey {0!r} is type {1!s}, not bytes)r#�backlog�0�Nr\)rP�bytesrRrSrT�registryr�AuthenticationString�authkey�listener_client�listenerr#�	id_to_obj�id_to_refcount�id_to_local_proxy_obj�	threading�Lock�mutex)r%rpr#rr�
serializer�Listener�Clients&&&&&  rr&�Server.__init__�s����'�5�)�)��8�?�?��T�'�]�,�-�
-�!�
��3�3�G�<���*�:�6���!��#�>��
��}�}�,�,����z�*��� ���%'��"��^�^�%��
rc��[O2UmU[O2m[OUOQ5oP	UmUO2UOO2%fUOO]2J=[O[O 6wcI["O$Q2[O [m[O&[m[O*]2P![[1cK�h9h[O[O 6wcI["O$Q2[O [m[O&[m[O*]2h9h)z
Run the server forever
)�targetzresetting stdout, stderr)rx�Event�
stop_eventr�current_process�_manager_server�Thread�accepter�daemon�start�is_set�wait�KeyboardInterrupt�
SystemExit�sys�stdout�
__stdout__r
�debug�
__stderr__�stderr�exit)r%r�s& r�
serve_forever�Server.serve_forever�s��$�/�/�+���48����!�1�	� �'�'�t�}�}�=�H�"�H�O��N�N��
��/�/�0�0�2�2��O�O�(�(��+�3�
�z�z�S�^�^�+��
�
�5�6� �^�^��
� �^�^��
��H�H�Q�K��&�z�2�
��
���z�z�S�^�^�+��
�
�5�6� �^�^��
� �^�^��
��H�H�Q�K�sB�8E�0D1�D1�-E�1E�E�E�E�E�#G�,AGc���UOO2o[OUO
U1Q5oP	UmUO2JX[cJfh9h)T�r�rG)rt�accept�OSErrorrxr��handle_requestr�r�)r%rE�ts&  rr��Server.accepter�s\���
��M�M�(�(�*��� � ��(;�(;�1�$�G�A��A�H�
�G�G�I��	�
��
�s�A�	A)�$A)�(A)c��Po[OVO2[OVO2UO	2oUvq4qV[V2oUU,UN3-U@oQU1o	UOU	2P![cQ[21o	K-h9h[cQ[21o	KJh9h[co
SOQ[212L[cLh9h[OQS	2[OQS2[OQS
2Po
=
P!Po
=
hh9h)NrArOzFailure to send message: %rz ... request was %r� ... exception was %r)r�deliver_challengerr�answer_challengerCr_�	ExceptionrrBr
�info)r%rE�request�ignore�funcnamerGrHrdrJ�msg�es&&         r�_handle_request�Server._handle_request�s(����	*��(�(��L�L�9��'�'��<�<�8��f�f�h�G�+2�(�F�d��4�*�D�
*��a�/�$�/�$�/��!�&�)��		2�
�F�F�3�K��
�
3�#�Z�\�2��
3���	/����.�C�	/���	2�
�����j�l�3�4���
��
���I�I�3�S�9��I�I�+�W�5��I�I�-�q�1�1��	2�ss�A B(�&
B�8C�	B%�
B%�$B%�(	C�2
C�C�	E�E�C-�,E	�-	C;�7C;�8E	�:C;�;AE	�	Ec��UOU2UO2P![cKh9hSO2h9h)z
Handle a new connection
)r�r��close�r%�conns&&rr��Server.handle_request�s@��	�� � ��&�

�J�J�L��	�	��	��
�J�J�L�s�&�	4�4�7�4�7�A	c�n�[OQ[O2O2UO
oUOoUOoUOO2%f�P9qVU2oUvq�q�VH*vqkoV[7c![QU8Q[U28QU802g[Ve2oUU	-U
@oS9%cUOUP2oU%c5UO!UUU2voo[#UUO$U2oQUU11oLQU1oUW2J�P![c3o
SOS*vqkoPo
=
K�[cS
gh9hPo
=
hh9h[&coQS1oPo=KbPo=hh9h[c[WeQ[)21oK�SO*S*oSXWW,W	N3-W
@oQS1oK�[&cQ[)21oK�h9h[,cO[OQ	[O2O2[.O0]2CK%[&cQ[)21oCK>h9h[&cSQ
[)212CJ7h9h[&c�o[O2Q[O2O2[O2QW2[O2Q
S2SO52[.O0]2Po=CJ�Po=hh9h)zA
Handle requests from the proxies in a particular process/thread
z$starting server thread to service %rzmethod z of z object is not in exposed=�#PROXYrArMrOz$got EOF -- exiting thread serving %rrNzexception in thread serving %rz ... message was %rr�)r
r�rx�current_threadrcrCrBrur�r��KeyErrorrw�AttributeErrorrTr_�get�createrr#r�r�fallback_mapping�EOFErrorr�r�r�r�)r%r�rCrBrurFrr��identrGrH�exposed�	gettypeid�ke�function�resr"�rident�rexposed�tokenr�r��
fallback_funcrJs&&                      r�serve_client�Server.serve_client�s���	
�
�
�9��+�+�-�2�2�	4��y�y���y�y���N�N�	��/�/�(�(�*�*�5
3�#'�'�
��&��07�-��4�!�.7�.>�+�C�)��,�(�#�T�#�Y��9���
#�3�3��/�"�D�1�D�1�C�'�J�J�9�=�=��T�+J�F��+/�;�;�t�V�S�+I�(��� %�f�d�l�l�F� C��'�(�E�):�;��(�#�.��.
�<���I�w+�� �!�!� �6�6�u�=�0��i��#�!� ��!��	!��"!�(�#�Q�-�C��(��"�
;��%�'���6�C�;�(,�(=�(=�j�(I�
�!.� ��s�"�59�"�=A�"�� )�&�1���$�;�+�Z�\�:��;���
��
�
�A�$�3�3�5�:�:�<�������
3�#�Z�\�2��
3��!�<��+�Z�\�:�;�;�<���
��	�	�:�!�0�0�2�7�7�9��	�	�/��5��	�	�1�1�5��
�
���������

�s�;F�D<�F�+F�	E<�F�F�53F�)F�0I0�<	E9�E9�E#�F�#	E1�-E1�1E4�4E9�9F�<	F�F�F�F�F�F�	I-�"I-�'I-�6&G�	G9�(
G9�5I-�8G9�9I-�AI-�I-�
I-�,I-�0	J�:J�
J�J�J�	L4�L4� BL/�/L4c��U!rr\�r%r�r�rs&&&&r�fallback_getvalue�Server.fallback_getvalueCs���
rc��[U2!r�rQr�s&&&&r�fallback_str�Server.fallback_strFs���3�x�rc��[U2!r)�reprr�s&&&&r�
fallback_repr�Server.fallback_reprIs���C�y�rrZr5�	#GETVALUEc��P!rr\�r%rEs&&r�dummy�Server.dummyRs��rc���UO9^tt^2,o[UOO22oUO	2SFDboUQ6wfJUOQU8QUOU*8Q[
UOU*]*2Q*802Jd	QOU2ttPPP2!)%fhP!9h)z?
Return some info --- useful to spot problems with refcounting
rmz  z:       refcount=z
    :N�KNrY)	rzrrv�keys�sortrarQru�join)r%rErJr�r�s&&   r�
debug_info�Server.debug_infoUs���
�Z�Z�Z��F���+�+�0�0�2�3�D��I�I�K����C�<��M�M�#(�$�*=�*=�e�*D�*D�#&�t�~�~�e�'<�Q�'?�#@��#E�#G�H��
�9�9�V�$��Z�Z�Z�s�AC�A*C�C!	�C!	c�.�[UO2!)z
Number of shared objects
)�lenrvr�s&&r�number_of_objects�Server.number_of_objectses��
�4�&�&�'�'rc��[OQ2UOQ2UO
O
2P!]PHoSO	2K49hSO
O
2h9h)z
Shutdown this process
z!manager received shutdown message�rAN)r
r�rB�	traceback�	print_excr��set)r%rEr�s&& r�shutdown�Server.shutdownlsZ��	"��J�J�:�;�
�F�F�$�%�

�O�O���!��		"�����!���O�O���!�s�'A�A�A!�!A=c
���UO9^tt^2UOU*vqVqxUe.U%f[U2]6wc[Q2gU]*o	L	UU-U@o	Ue[	U	2oUdV[U[2%f%[QOU[U222g[U2[U2*oQ[U	2*o
[OQV*2U	[U2U1UOU
$V�O 7c]UO U
$PPP2UO#UW
2U
[%W21!)%fhK/9h)z.
Create a new shared object and return its id
z4Without callable, must have one non-keyword argumentz,Method_to_typeid {0!r}: type {1!s}, not dictz%xz&%r callable returned object with id %r)rzrpr�rVrhrP�dictrRrSrTrr$r
r�r�rurv�incref�tuple)r%rEr"rGrHr`r��method_to_typeid�	proxytyperr�s"""*,      rr��
Server.createysB���Z�Z�Z��m�m�F�+�
;�H�/����C��I��N�$�N�P�P��1�g����-��-����(��-���+�!�"2�D�9�9�#�F�M�M�,�d�3C�.D�F�G�G��w�-�$�/?�*@�@���2�c�7�N�E��J�J�?��O�%(�#�g�,�8H�$I�D�N�N�5�!��/�/�/�-.��#�#�E�*�7�:	
���A�u���e�G�n�$�$�=�Z�s:�E�E�E�	!E�+E�:E�BE�#E�E)	�"E)	c�^�[UOUO*]*2!)z<
Return the methods of the shared object indicated by token
)r�rur$)r%rEr�s&&&r�get_methods�Server.get_methods�s!���T�^�^�E�H�H�-�a�0�1�1rc��U[O2mUOQ2UO	U2P!)z-
Spawn a new thread to serve this connection
r�)rxr�rcrBr�)r%rErcs&&&r�accept_connection�Server.accept_connection�s0��+/�	� � �"�'�	��� �!����!�rc��UO9^tt^2UOU99*]*
tt$PPP2P![ccoX O7cL]SOS$SOS*SOS$[
OQS2Po=KpSgPo=hh9h)%fhP!9h)�z&Server re-enabled tracking & INCREF %r)rzrvr�rwrur
r�)r%rEr�r�s&&& rr��
Server.incref�s���
�Z�Z�Z�

��#�#�E�*�a�/�*��Z���
�
�6�6�6�12�D�'�'��.��2�2�5�9��N�N�5�)��J�J�G��O�O��H��
���Z�Z�sG�B1�A�	B.�B.�B)�AB)�"B1�'B)�)B.�.B1�1C	�:C	c
��V O7c*V O7c[OQU2P!UO9^tt^2UOU*]6:c>[QO
V OU*UOU*22gUOU99*]*tt$UOU*]6XcUOUPPP2V O7cSQUOU$[OQU2UO9^tt^2UOUPPP2P!P!)%fhKt9h)%fhP!9h)zServer DECREF skipping %rz+Id {0!s} ({1!r}) has refcount {2:n}, not 1+zdisposing of obj with id %r)Nr\N)rvrwr
r�rz�AssertionErrorrSru)r%rEr�s&&&r�decref�
Server.decref�s���+�+�+��/�/�/��J�J�2�E�:��
�Z�Z�Z��"�"�5�)�Q�.�$�A�H�H��~�~�e�4��+�+�E�2�4�5�5�
����&�!�+�&��"�"�5�)�Q�.��'�'��.���+�+�+�%5�D�N�N�5�!��J�J�4�e�<������N�N�5�)���,��Z��$���s1�E�(A3E�
E�;E(�E%	�E%	�(E9	�1E9	)	r#rrrwrurvrtrzrpr�)	r�r�r�r�r�r�r�r�r�)r4r7r8r9r:�publicr&r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r<r=r>s@rrjrj�s������N�F�&�$�,�2�<
�O�b���	�,��=��%�
��
�%� (�"�"%�H2���"*�*rrjc�*�\sQsQsQ,s]s]s]sQsP!)�State���valuer\)	r4r7r8r9r;�INITIAL�STARTED�SHUTDOWNr<r\rrr�r��s���	�I��G��G��Hrr��pickle�	xmlrpclibc��`�\sQsQsnQs-s\sQQQ-QkksQs	Qs
QQks\QQ	k2s
Q
sQQksQsQ
sQsQs\Q2s\Q2s\QQk2sQsUsP!)r��z
Base class for managers
�shutdown_timeoutg�?c�j�Ue [O2OoVm[OU2Um[
2Um[OUOm	V0m
[U*vUmUm
S9%f[2UmVPmP!r)rr�rr�_addressrq�_authkeyr��_staterr��_serializerrs�	_Listener�_Clientr�_ctx�_shutdown_timeout)r%r#rrr{�ctxrs&&&&&$rr&�BaseManager.__init__�s{���?��-�-�/�7�7�G��
��4�4�W�=��
��g���!�M�M�����%��'6�z�'B�$������(�(�;�=��	�!1�rc���UOO[O6wc�UOO[O6Xc[Q2gUOO[O6Xc[Q2g[QOUOO22g[UOUOUOUO2!)zH
Return server object with serve_forever() method and address attribute
�Already started server�Manager has shut down�Unknown state {!r})
rr�r�rrr
rrSrj�	_registryr	r
rr)s&r�
get_server�BaseManager.get_servers����;�;����
�
�-��{�{� � �E�M�M�1�"�#;�<�<����"�"�e�n�n�4�"�#:�;�;�"�(�/�/����0A�0A�B�D�D��d�n�n�d�m�m��m�m�T�%5�%5�7�	7rc���[UO*vqUUOUOQ5o[	UPQ2[
OUOmP!)z.
Connect manager object to the server process
�rrr�)	rsrr	r
rKr�rrr�)r%r|r}r�s&   r�connect�BaseManager.connectsG��+�4�+;�+;�<����d�m�m�T�]�]�;����t�W�%�!�M�M����rc
�<�UOO[O6wc�UOO[O6Xc[Q2gUOO[O6Xc[Q2g[QOUOO22gUd[U2%f[Q2g[OP
Q5vq4UOO[U2OUO UO"UO$UO&VAU1Q5UmQO+QUO(O,22o[U2O.Q	*U*UO(mUO(O32UO52UO72UmUO52[OUOm[8O:U[U2O<UO(UO"UO$UOUO>UO@1]Q
5Um!P!)z0
Spawn a server process for this manager object
rrrzinitializer must be a callable)�duplexr��:c3�D�SF �Do[U2w�	J	P!3hrr�)�.0�is& r�	<genexpr>�$BaseManager.start.<locals>.<genexpr>4s��)@���)@�A��Q���)@�s� �-�rG�exitpriority)"rr�r�rrr
rrSr`rRr�Piper�ProcessrT�_run_serverrr	r
r�_processr��	_identityr4rcr�r�rCr
�Finalize�_finalize_managerrrr�)r%�initializer�initargs�reader�writerr�s&&&   rr��BaseManager.starts����;�;����
�
�-��{�{� � �E�M�M�1�"�#;�<�<����"�"�e�n�n�4�"�#:�;�;�"�(�/�/����0A�0A�B�D�D��"�8�K�+@�+@��<�=�=�$����6����	�	�)�)���:�)�)��.�.�$�-�-�����"�"�F��C�*���
�
���A����)@�)@�A�A��!�$�Z�0�0�C�7�%�?��
�
���
�
����	�������
��
�����"�M�M������
�
��$�t�*�.�.��-�-�����
�
�t�{�{��,�,�� 6� 6�8��	��
rc�`�[O[O[O2UdUUUOVV42oUO	UO
2UO
2[OQUO
2UO2P!)z0
Create a server, report its address and run it
zmanager serving at %r)
�signal�SIGINT�SIG_IGN�_ServerrBr#r�r
r�r�)	�clsrpr#rrr{r3r0r1�servers	&&&&&&&& rr+�BaseManager._run_serverFsv��	�
�
�f�m�m�V�^�^�4��"���"����X��D��	���F�N�N�#�����	
�	�	�)�6�>�>�:����rc��UOUOUOQ5o[UPQU1U*U2vqVUO	2[VOU2U1!SO	2h9h)z@
Create a new shared object; return the token and exposed tuple
rr�)rr	r
rKr�r)r%r"rGrHr�r$r�s""*,   r�_create�BaseManager._create]si��
�|�|�D�M�M�4�=�=�|�A��	�"�4��x�&��4���N�K�B��J�J�L��V�]�]�B�/��8�8��
�J�J�L�s�A+�+A=c��UOdGUOOU2UOO2%f
PUmP!P!P!)z3
Join the manager process (if it has been spawned)
)r,r��is_alive�r%�timeouts&&rr��BaseManager.joinisD���=�=�$��M�M���w�'��=�=�)�)�+�+� $��
�,�%rc��UOUOUOQ5o[UPQ2UO	2!SO	2h9h)zC
Return some info about the servers shared objects and connections
rr��rr	r
rKr�r�s& r�_debug_info�BaseManager._debug_inforsB���|�|�D�M�M�4�=�=�|�A��	��D�$��5��J�J�L��D�J�J�L���A�Ac��UOUOUOQ5o[UPQ2UO	2!SO	2h9h)z%
Return the number of shared objects
rr�rFr�s& r�_number_of_objects�BaseManager._number_of_objects|sC���|�|�D�M�M�4�=�=�|�A��	��D�$�(;�<��J�J�L��D�J�J�L�rIc��UOO[O6XcUO	2UOO[O
6wc�UOO[O6Xc[
Q2gUOO[O6Xc[
Q2g[
QOUOO22gU!)zUnable to start serverrr)	rr�r�rr�rr
rrSr)s&r�	__enter__�BaseManager.__enter__�s����;�;����
�
�-��J�J�L��;�;����
�
�-��{�{� � �E�M�M�1�"�#;�<�<����"�"�e�n�n�4�"�#:�;�;�"�(�/�/����0A�0A�B�D�D��rc�(�UO2P!r)r��r%�exc_type�exc_val�exc_tbs&&&&r�__exit__�BaseManager.__exit__�s���
�
�rc�*�UO2%Cc[OQ2UVQ5o[UPQ2UO	2UOUQ5UO2%c�[OQ2[UQ2%c�[OQ2UO2UOUQ5UO2%c9[OQ2UO2UO2[OUm[OUP!SO	2h9h[
cCK'h9h[cP!h9h)	zA
Shutdown the manager process; will be registered as a finalizer
z#sending shutdown message to managerrr�)rCzmanager still alive�	terminatez'trying to `terminate()` manager processz#manager still alive after terminate)rAr
r�rKr�r�r��hasattrrX�killr�rr�r�_address_to_localr�)rr#rrr.rrr�s&&&&&& rr/�BaseManager._finalize_manager�s$��������I�I�;�<�
��w�8��!��T�4��4��J�J�L�
�L�L�!1�2����!�!��	�	�/�0��7�K�0�0��I�I�G�H��%�%�'��L�L�)9�:��'�'�)�)��	�	�"G�H����������n�n���	��+�+�G�4��%�J�J�L���
��
��$�	��	�sF�	E1�
E�E1�	F�E.�.E1�1	F�;F�?F�	F�
F�Fc��UO!r)r	r)s&rr#�BaseManager.address�s���}�}�rc�``�QUO7c UOO2UmRe[nS9%f[	RQP2oS9%f[	RQP2oU%c$[UO
22FDvqxJ	V$UR1UOR$U%cUU1Qko	RU	m[URU	2P!P!)z)
Register a typeid with the manager type
r�	_exposed_�_method_to_typeid_c�*:�[OQR2UOR,UN3-U@vq4RV0OUUOUQ5oUOUOUOQ5o[UPQUO12U!)z)requesting creation of a shared %r object��managerrrr�rr�)	r
r�r>rr
rr#rKr$)	r%rGrHr��exp�proxyr�r�r"s	"*,    ��rrb�"BaseManager.register.<locals>.temp�s����
�
�F��O�!�\�\�&�@�4�@�4�@�
��!��+�+�T� �M�M�3����|�|�E�M�M�4�=�=�|�I����t�X����{�;��r)	�__dict__r�copy�	AutoProxyr_r�itemsr4�setattr)
r:r"r`r�r�r��
create_method�keyr�rbs
&f&f&&&   r�register�BaseManager.register�s�����c�l�l�*��M�M�.�.�0�C�M���!�I��B�B�W�Y��T�B��+�J�J�"�9�.B�D�I�	��"�#3�#9�#9�#;�<�
��U�<�

�/��!��
�
�f���	
�#�D�M��C���&�r)
rr
r	r
rr,rrrr�)NNrNrnr)NNNNT)r4r7r8r9r:rrjr9r&rrr��classmethodr+r>r�rGrKrNrU�staticmethodr/�propertyr#ror<r=r>s@rrr�s�������I��G�2�/2�2�
7�*�)�V����,
9�%������ �� �D�����%'��%'rc�.`�\sQsQsnQsQsQsUsP!)�ProcessLocalSet��c�8�[OUQ2P!)c�$�UO2!r��clearrs&r�<lambda>�*ProcessLocalSet.__init__.<locals>.<lambda>�s
��3�9�9�;r)r
�register_after_forkr)s&rr&�ProcessLocalSet.__init__�s��� � ��'>�?rc��[U2Q1!rn)rTr)s&r�
__reduce__�ProcessLocalSet.__reduce__�s���D�z�2�~�rr\)r4r7r8r9r&r�r<r=r>s@rruru�s����@��rruc�`�\sQsQsnQs-s\O2s]s	QQks
QsQ-1QksQs
Qs\Q2sQ	sQ
sQsQsQ
sQsUsP!)r��z&
A base for proxies of shared objects
c���[O9^tt^2[OOUOP2oUe=[
O2[21oU[OUO$[OUm	[9O]*
tmPPP2W]*Um
U]*UmVmUOOUmV0mV m["U*]*UmVpmUd[(O*U2UmLNUOdUOO,UmL$[(O.2O0UmU%cUO32[
O4U[O62P!)%fhCK&9hr)r�_mutexr[r�r#r
�ForkAwareLocalru�_next_serial�_serial�_tls�_all_serials�_tokenr$�_id�_managerrrsr�_owned_by_managerrrqr
r�rr�_increfr}�_after_fork)	r%r�r{rdrrr�r��
manager_owned�tls_serialss	&&&&&&&& rr&�BaseProxy.__init__�sH��
�
�
�
�#�5�5�9�9�%�-�-��N�K��"�"�1�1�3�_�5F�F��=H�	�+�+�E�M�M�:�$�1�1�D�L��"�"�a�'�"�� ��N��	�
(��N������;�;�>�>����
�%��&�z�2�1�5���"/����#�8�8��A�D�M�
�]�]�
&� �M�M�2�2�D�M�#�3�3�5�=�=�D�M���L�L�N�� � ��y�'<�'<�=�Q�
�
�s�.G�	A.G�G%	�G%	c��[OQ2[O2Oo[
O2OQ6wc.UQ[
O2O**
oUOUOOUOQ5o[UPQU12V Om
P!)zmaking connection to manager�
MainThread�|rr�)r
r�rr�rcrxr�rr�r#r
rKr�r)r%rcr�s&  r�_connect�BaseProxy._connect*s����
�
�1�2��&�&�(�-�-���#�#�%�*�*�l�:��C�)�2�2�4�9�9�9�9�D��|�|�D�K�K�/�/����|�G����t�0�4�'�:�#�	�	�rc� �UOOoUOUOVU12UO2vqVUQ6XcU!UQ6Xc�UvqxUOOUO*P*o	UOO UmU	V�O"UOUO$UQ5o
UO'UO UO$Q5o[)UPQUO*12U
![-VV2g[c_[OQ[
O2O2SO2SOOoCKmh9h=h9h)zF
Try to call a method of the referent and return a copy of the result
z#thread %r does not own a connectionrAr�rcrr�)r�rr�r
r�rxr�rcr�rBr�rCr�rr"r�r#rr
rrKr$rD)r%rFrGrHr�rIrJr�r�r�rfs&&&&       r�_callmethod�BaseProxy._callmethod3s=��	(��9�9�'�'�D�	
�	�	�4�8�8�Z�t�4�5��y�y�{����9���M�
�X�
�#�N�G��
�
�/�/����=�b�A�I� �K�K�/�/�E�M���'�'�����
�
�w��E��<�<��
�
�t�}�}�<�E�D��T�4��E�H�H�;�7��L�	�"�4�0�0��/�	(��J�J�<� �/�/�1�6�6�
8��M�M�O��9�9�'�'�D�		(��2�s$�D�F
�	F�(AF�F�
F
c�&�UOQ2!)z)
Get a copy of the value of the referent
r��r�r)s&r�	_getvalue�BaseProxy._getvalueTs������,�,rc���UO%c.[OQUOO2P!UOUOOUOQ5o[UPQUO12[OQUOO2UOOUO2UO9%cUOOo[OU[ O"UOUOUOUUO$UOUO
1]
Q5UmP!)z%owned_by_manager skipped INCREF of %rrr�z	INCREF %rr')r�r
r�r�r$rr#r
rKr�r��addr�r�rr.r�_decrefr��_close)r%r�r.s&  rr��BaseProxy._increfZs����!�!�!��J�J�>������O���|�|�D�K�K�/�/����|�G����t�X����{�3��
�
�;������/������d�l�l�+��
�
�6�6�$�-�-�"6�"6���m�m��)�#�#��+�+�t�|�|�T�]�]�E��)�)�T�.�.����>��	��rc��UOU2Ud UO[O6XcQ[O
QUO2UUOUQ5o[UPQUO12L![O
QUO2U%fg[UQ2%cS[O
Q[O2O2UOO2U;P!P!P![c"o[O
QS2Po=K�Po=hh9h)Nz	DECREF %rrr�z... decref failed %sz%DECREF %r -- manager already shutdownrz-thread %r has no more proxies so closing conn)�discardr�r�rr
r�r$r#rKr�rYrxr�rcrr�)	r��serialrrr.�tls�idsetrr�r�s	&&&&&&&  rr��BaseProxy._decrefns���
�
�
�f���=�E�K�K�5�=�=�8�
6��
�
�;����1��u�}�}�g�>����t�X����{�;�

�J�J�>����I����l�3�3��J�J�F� �/�/�1�6�6�
8��N�N� � �"���	4�u���
6��
�
�1�1�5�5��
6�s�AD�	E�!E�"D>�>Ec��PUmUO2P![c)o[OQS*2Po=P!Po=hh9h)Nzincref failed: %s)r�r�r�r
r�)r%r�s& rr��BaseProxy._after_fork�s<����
�	/��L�L�N���	/��I�I�)�A�-�.�.��	/�s��	A�A�A
�
Ac��-o[2dUOUQ$[UQP
2%c4UOUQ$[[
UOUOU11![[U2UOUOU11!)Nrr�_isautor�)	r	r
r_r`�RebuildProxyrjr�rrT�r%rHs& rr��BaseProxy.__reduce__�s�������+�"�m�m�D��O��4��E�*�*�"�n�n�D��O� �����T�-=�-=�t�D�F�
F�!��$�Z����d�.>�.>��E�G�
Grc�$�UO2!r)r�)r%�memos&&r�__deepcopy__�BaseProxy.__deepcopy__�s���~�~��rc�|�Q[U2OUOO[	U21*!)z<%s object, typeid %r at %#x>)rTr4r�r"r$r)s&rr5�BaseProxy.__repr__�s3��.��T�
�#�#�T�[�[�%7�%7��D��B�C�	Crc�t�UOQ2![c[S2PPQ*t!h9h)zF
Return representation of the referent (or a fall-back if that fails)
r5z; '__str__()' failed>)r�r�r�r)s&rrZ�BaseProxy.__str__�s=��	=��#�#�J�/�/���	=���:�c�r�?�%<�<�<�	=�s��	7�7�7)rr�r
r�r�r�r�r�rr�r��NNNTFr\)r4r7r8r9r:r[r
�ForkAwareThreadLockr�r�r&r�r�r�r�rrr�r�r�r�r5rZr<r=r>s@rrr�s}�������
�
%�
%�
'�F��L�*>�X$�,.�B��B-��(����0/�G� �C�=�=rc��[[O2QP2oU%c�UOUO6Xcl[O
QU2P	UQ$UOUO7c5UOUO*UOUO$UOQP	29%c&[[O2QP
2%(oUV1QU-U@!)z-
Function used for unpickling proxy objects.
r�z*Rebuild a proxy owned by manager, token=%rr�r��_inheriting)
r_rr�r#r
r�r$rwru�pop)rdr�r{rHr;r�s&&&&  rr�r��s����W�,�,�.�0A�4�
H�F�
�&�.�.�E�M�M�1��
�
�?��G� $��_���8�8�6�7�7�7�� � ����*�
�(�(����2�	
����4� �	E�	E��G�+�+�-�}�e�D�D����9�&�9�D�9�9rc	���[U2oV U1*![cLh9h-oSFDo[QS8QS8Q0S2J	[S[1S2oXmXRX1$S!)z:
Return a proxy type whose methods are given by `exposed`
zdef z:(self, /, *args, **kwds):
        return self._callmethod(z
, args, kwds))r�r��execrTrr`)rcr��_cache�dic�meth�	ProxyTypes&&&   r�
MakeProxyTyper��s����G�n�G�
��W�o�&�&���
��
��
�C����6:�D�B�CF�	H���T�I�<��-�I�!��'�D�?���s�	�	&�&�&c	��[U*]*oUe5UUOUQ5o[UPQU12oUO2UeUd
UOoUe [
O2Oo[QUO*U2o	U	VV#VVQ5o
P	U
m
U
!SO2h9h)z"
Return an auto-proxy for `token`
rr�z
AutoProxy[%s])rdrrr�r�)rsr#rKr�r
rr�rrr�r"r�)r�r{rdrrr�r�r�rr�r�rfs&&&&&&&    rrjrj�s���
�j�)�!�,�G����u�}�}�g�6��	��t�T�=�5�(�C�G��J�J�L���7�.��"�"�����)�)�+�3�3���o����<�g�F�I��e��#�
B�E��E�M��L��
�J�J�L�s�B6�6Cc�.`�\sQsQsnQsQsQsUsP!)�	Namespace�c�>�UOOU2P!r)rh�updater�s",rr&�Namespace.__init__�s���
�
���T�"rc�B�[UOO22o,oSFD6vq4UOQ2%cJUO	U8QU802J8	UO2UOO8QQOU28Q0!)rg�=�(�, r2)	rrhrk�
startswithrar�r3r4r�)r%rkrbrcr�s&    rr5�Namespace.__repr__�sr���T�]�]�(�(�*�+���� �K�D��?�?�3�'�'����t�U�3�4�!�	
�	�	���>�>�2�2�D�I�I�d�O�D�Drr\)r4r7r8r9r&r5r<r=r>s@rr�r��s����#�E�Err�c�P`�\sQsQsnQQksQsQsQs\\\2s	Qs
UsP!)�Valueic� �VmV mP!r��	_typecode�_value)r%rr��locks&&&&rr&�Value.__init__s��!���rc��UO!r�r�r)s&rr��	Value.gets���{�{�rc��VmP!rr��r%r�s&&rr��	Value.set
s���rc�n�[U2O8QUO8QUO8Q0!)r�r�r2)rTr4r�r�r)s&rr5�Value.__repr__s!��!�$�Z�0�0�$�.�.�$�+�+�N�Nrr��T)r4r7r8r9r&r�r�r5rsr�r<r=r>s@rr�r�s&�������O��S�#��Err�c�0�[OV2!r)r)r�sequencer�s&&&r�Arrayr�s���;�;�x�*�*rc�D`�\sQsQsnQsQsQsQsQsQs	Qs
UsP!)	�
IteratorProxyic��U!rr\r)s&r�__iter__�IteratorProxy.__iter__����rc�(�UOQU2!)�__next__r��r%rGs&*rr��IteratorProxy.__next__s�����
�D�1�1rc�(�UOQU2!)rBr�r�s&*rrB�IteratorProxy.sends�������-�-rc�(�UOQU2!)�throwr�r�s&*rr��IteratorProxy.throw��������.�.rc�(�UOQU2!)r�r�r�s&*rr��IteratorProxy.close!r�rr\)r�rBr�r�)r4r7r8r9r`r�r�rBr�r�r<r=r>s@rr�r�s(����6�I��2�.�/�/�/rr�c�H`�\sQsQsnQsQ	QksQsQsQsQs	Qs
UsP!)
�
AcquirerProxyi%c�<�UeU1LV1oUOQU2!)N�acquirer�)r%�blockingrCrGs&&& rr��AcquirerProxy.acquire's%��%�o��{�H�3F�����	�4�0�0rc�&�UOQ2!��releaser�r)s&rr�AcquirerProxy.release*������	�*�*rc�&�UOQ2!)�lockedr�r)s&rr�AcquirerProxy.locked,�������)�)rc�&�UOQ2!)r�r�r)s&rrN�AcquirerProxy.__enter__.rrc�&�UOQ2!rr�rQs&&&&rrU�AcquirerProxy.__exit__0rrr\)r�rr)TN)r4r7r8r9r`r�rrrNrUr<r=r>s@rr�r�%s(����0�I�1�+�*�+�+�+rr�c�J`�\sQsQsnQsQQksQ	QksQsQQksQs	Us
P!)
�ConditionProxyi4c�*�UOQU12!�r�r�rBs&&rr��ConditionProxy.wait6��������
�3�3rc�*�UOQU12!)�notifyr�)r%�ns&&rr�ConditionProxy.notify8s������1�$�/�/rc�&�UOQ2!)�
notify_allr�r)s&rr�ConditionProxy.notify_all:s������-�-rc��U2oU%cU!Ud[O2U*oLPoPoU%fEUd'U[O2*
oU]6:cU!UOW2U2oJLU!r)�time�	monotonicr�)r%�	predicaterCrJ�endtime�waittimes&&&   r�wait_for�ConditionProxy.wait_for<sw�������M����n�n�&��0�G��G��H���"�"�T�^�^�%5�5���q�=���
�
�I�I�h���[�F��
rr\)r�rrr�rrr)r�)r4r7r8r9r`r�rrrr<r=r>s@rr
r
4s#����P�I�4�0�.��rr
c�B`�\sQsQsnQsQsQsQsQQksQs	Us
P!)	�
EventProxyiOc�&�UOQ2!)r�r�r)s&rr��EventProxy.is_setQrrc�&�UOQ2!�r�r�r)s&rr��EventProxy.setS�������&�&rc�&�UOQ2!ryr�r)s&rrz�EventProxy.clearU�������(�(rc�*�UOQU12!rr�rBs&&rr��EventProxy.waitWrrr\)r�r�rzr�r)r4r7r8r9r`r�r�rzr�r<r=r>s@rr"r"Os#����2�I�*�'�)�4�4rr"c�l`�\sQsQsnQ	sQ
QksQsQs\Q2s	\Q2s
\Q2sQsUs
P!)�BarrierProxyi[c�*�UOQU12!rr�rBs&&rr��BarrierProxy.wait]rrc�&�UOQ2!)�abortr�r)s&rr3�BarrierProxy.abort_r+rc�&�UOQ2!)�resetr�r)s&rr6�BarrierProxy.resetar+rc�(�UOQQ2!)�__getattribute__)�partiesr�r)s&rr:�BarrierProxy.partiescs����� 2�L�A�Arc�(�UOQQ2!)r9)�	n_waitingr�r)s&rr=�BarrierProxy.n_waitingfs����� 2�N�C�Crc�(�UOQQ2!)r9)�brokenr�r)s&rr@�BarrierProxy.brokenis����� 2�K�@�@rr\)r9r�r3r6r)r4r7r8r9r`r�r3r6rsr:r=r@r<r=r>s@rr/r/[sU����>�I�4�)�)�
�B��B�
�D��D�
�A��Arr/c�8`�\sQsQsnQsQsQsQsQsUs	P!)�NamespaceProxyinc��U]*Q6Xc[OV2![OUQ2oUQU12!)�rgr�r9)�objectr9�r%rn�
callmethods&& r�__getattr__�NamespaceProxy.__getattr__ps@���q�6�S�=��*�*�4�5�5��,�,�T�=�A�
��,�s�f�5�5rc��U]*Q6Xc[OVU2![OUQ2oUQV12!)rErgr��__setattr__)rFrLr9)r%rnr�rHs&&& rrL�NamespaceProxy.__setattr__usA���q�6�S�=��%�%�d��7�7��,�,�T�=�A�
��-�#��6�6rc��U]*Q6Xc[OV2![OUQ2oUQU12!)rErgr��__delattr__)rFrOr9rGs&& rrO�NamespaceProxy.__delattr__zs?���q�6�S�=��%�%�d�0�0��,�,�T�=�A�
��-�#��0�0rr\)r9rLrO)
r4r7r8r9r`rIrLrOr<r=r>s@rrCrCns����B�I�6�
7�
1�1rrCc�h`�\sQsQsnQsQsQs\\\2s\	\
O2sQs
UsP!)�
ValueProxyi�c�&�UOQ2!)r�r�r)s&rr��ValueProxy.get�r(rc�*�UOQU12!r&r�r�s&&rr��ValueProxy.set�s�������x�0�0rr\)r�r�)r4r7r8r9r`r�r�rsr�rq�types�GenericAlias�__class_getitem__r<r=r>s@rrRrR�s1�����I�'�1��S�#��E�#�E�$6�$6�7�rrR�
BaseListProxyc�R`�\sQsQsnQsQs\\O2s	Qs
UsP!)�	ListProxyi�c�.�UOQU12U!)�extendr�r�s&&r�__iadd__�ListProxy.__iadd__�s������E�8�,��rc�.�UOQU12U!)�__imul__r�r�s&&rrb�ListProxy.__imul__��������e�X�.��rr\)r4r7r8r9r_rbrqrWrXrYr<r=r>s@rr\r\�s"������$�E�$6�$6�7�rr\�_BaseDictProxyr��Iteratorc�L`�\sQsQsnQs\\O2sQs	Us
P!)�	DictProxyi�c�.�UOQU12U!��__ior__r�r�s&&rrk�DictProxy.__ior__��������U�H�-��rr\)r4r7r8r9rkrqrWrXrYr<r=r>s@rrhrh�s�����$�E�$6�$6�7�rrh�
_BaseSetProxyc�^`�\sQsQsnQsQsQsQs\\	O2sQsUs
P!)�SetProxyi�c�.�UOQU12U!rjr�r�s&&rrk�SetProxy.__ior__�rmrc�.�UOQU12U!)�__iand__r�r�s&&rrt�SetProxy.__iand__�rdrc�.�UOQU12U!)�__ixor__r�r�s&&rrw�SetProxy.__ixor__�rdrc�.�UOQU12U!)�__isub__r�r�s&&rrz�SetProxy.__isub__�rdrr\)r4r7r8r9rkrtrwrzrqrWrXrYr<r=r>s@rrprp�s,��������$�E�$6�$6�7�rrp�
ArrayProxy�	PoolProxy�apply_async�imap�imap_unordered�	map_async�
starmap_async�AsyncResultc�.`�\sQsQsnQsQsQsUsP!)r}i�c��U!rr\r)s&rrN�PoolProxy.__enter__�r�rc�(�UO2P!r)rXrQs&&&&rrU�PoolProxy.__exit__�s�����rr\)r4r7r8r9rNrUr<r=r>s@rr}r}�s������rc��\sQsQsQsQsP!)ri�a
Subclass of `BaseManager` which supports a number of shared object types.

The types registered are those intended for the synchronization
of threads, plus `dict`, `list` and `Namespace`.

The `multiprocessing.Manager()` function creates started instances of
this class.
r\)r4r7r8r9r:r<r\rrrr�s��r�Queue�
JoinableQueuer�ry�RLock�	Semaphore�BoundedSemaphore�	Condition�Barrier�Poolrr�r�r�)r�rm)rmc�T`�\sQsQsnQsQQksQsQsQsQs	Qs
Q	sQ
sUs
P!)�_SharedMemoryTrackeriz+Manages one or more shared memory segments.c�<�VmUe
,UmP!SUmP!r��shared_memory_context_name�
segment_names)r%rcr�s&&&rr&�_SharedMemoryTracker.__init__s��.2�+�'4�'<��D��-�D�rc��[OQU8Q[202UOO	U2P!)z6Adds the supplied shared memory block name to tracker.zRegister segment � in pid )r
r�rr�ra�r%�segment_names&&r�register_segment�%_SharedMemoryTracker.register_segments3���J�J�*�<�*:�(�6�8�*�M�N����%�%�l�3rc���[OQU8Q[202UOO	U2[
OU2oUO2UO2P!)zvCalls unlink() on the shared memory block with the supplied name
and removes it from the list of blocks being tracked.zDestroy segment r�)	r
r�rr��remover�SharedMemoryr��unlink)r%r��segments&& r�destroy_segment�$_SharedMemoryTracker.destroy_segmentsX��
�J�J�)�,�)9��&�(��L�M����%�%�l�3�#�0�0��>�G��M�M�O��N�N�rc�`�UOQ*FDoUOU2J	P!)z<Calls destroy_segment() on all tracked shared memory blocks.:NNN)r�r�r�s& rr��_SharedMemoryTracker.unlink#s(�� $� 2� 2�1� 5� 5���$�$�\�2�!6rc��[OQUOOQ[	202UO2P!)zCall z.__del__ in )r
r�r3r4rr�r)s&r�__del__�_SharedMemoryTracker.__del__(s1���J�J��t�~�~�6�6�7�|�F�H�:�N�O��K�K�Mrc�4�UOUO1!rr�r)s&rr*�!_SharedMemoryTracker.__getstate__,s���3�3�T�5G�5G�H�Hrc�*�UOUP!r)r&r-s&&rr/�!_SharedMemoryTracker.__setstate__/s���M�M�5�!r)r�r�r)r4r7r8r9r:r&r�r�r�r�r*r/r<r=r>s@rr�r�s2����5�	P�	4�
	�	3�
	�	I�	"�	"rr�c�p`�\sQsQsn\O
,Q	N*sQsQsQsQs	Qs
QsQsUs
P!)
�SharedMemoryServeri3c�,�[OU,UN3-U@UOo[U[2%c[
OU2o[QUQ[202Um	[OQ[202P!)�shm_rgz"SharedMemoryServer started by pid )rjr&r#rPro�os�fsdecoder�r�shared_memory_contextr
r�)r%rG�kwargsr#s&*, rr&�SharedMemoryServer.__init__8sq���O�O�D�2�4�2�6�2��l�l�G��'�5�)�)��+�+�g�.��$�t�G�9�A�f�h�Z�%@�A�
�&��J�J�;�F�H�:�F�Grc��[UOU*P*Q2%cUOUQ$[OVU,UN3-U@!)z|Create a new distributed-shared object (not backed by a shared
memory block) and return its id to be used in a Proxy Object.�_shared_memory_proxyr�)rYrpr�rjr�)r%rEr"rGr�s"""*,rr��SharedMemoryServer.createBsL���t�}�}�V�,�R�0�2H�I�I�26�2L�2L��.�/��=�=��&�B�4�B�6�B�Brc�b�UOO2[OV2!)zACall unlink() on all tracked shared memory, terminate the Server.)r�r�rjr�r�s&&rr��SharedMemoryServer.shutdownLs#���&�&�-�-�/��?�?�4�+�+rc�>�UOOU2P!)z?Adds the supplied shared memory block name to Server's tracker.)r�r��r%rEr�s&&&r�
track_segment� SharedMemoryServer.track_segmentQs���&�&�7�7��Erc�>�UOOU2P!)z|Calls unlink() on the shared memory block with the supplied name
and removes it from the tracker instance inside the Server.)r�r�r�s&&&r�release_segment�"SharedMemoryServer.release_segmentUs��
�&�&�6�6�|�Drc�0�UOO!)zVReturns a list of names of shared memory blocks that the Server
is currently tracking.)r�r�r�s&&r�
list_segments� SharedMemoryServer.list_segmentsZs���-�-�;�;�;r)r�)r�r�r�)r4r7r8r9rjr�r&r�r�r�r�r�r<r=r>s@rr�r�3s>�������F�G��	H�	C�	,�
	F�	E�
	<�	<rr�c�H`�\sQsQsnQs\sQsQsQs	Qs
QsQsUs
P!)	ri`aqLike SyncManager but uses SharedMemoryServer instead of Server.

It provides methods for creating and returning SharedMemory instances
and for creating a list-like object (ShareableList) backed by shared
memory.  It also provides methods that create and return Proxy Objects
that support synchronization across processes (i.e. multi-process-safe
locks and semaphores).
c��[OQ6Xc]QH
GoUO	2[
OU,UN3-U@[OUOOQ[202P!)�posix)�resource_trackerz created by pid )r�rc�r��ensure_runningrr&r
r�r3r4r)r%rGr�r�s&*, rr&�SharedMemoryManager.__init__ls\���w�w�'�!�/� �/�/�1�� � ��7��7��7��J�J�$�.�.�1�1�2�2B�6�8�*�M�Nrc�v�[OUOOQ[	202P!)z.__del__ by pid )r
r�r3r4rr)s&rr��SharedMemoryManager.__del__xs'���J�J�$�.�.�1�1�2�2B�6�8�*�M�Nrc��UOO[O6wc�UOO[O6Xc[Q2gUOO[O6Xc[Q2g[QOUOO22gUOUOUOUOUO2!)z@Better than monkeypatching for now; merge into Server ultimatelyz"Already started SharedMemoryServerz!SharedMemoryManager has shut downr)
rr�r�rrr
rrSr9rr	r
rr)s&rr�SharedMemoryManager.get_server{s����{�{� � �E�M�M�1��;�;�$�$��
�
�5�&�'K�L�L��[�[�&�&�%�.�.�8�&�'J�K�K�&�,�3�3�D�K�K�4E�4E�F�H�H��<�<�����
�
� $�
�
�t�/?�/?�A�
Arc�R�UOUOUOQ59^tt^2o[OPP	UQ5o[UPQUO12PPP2U![coSO2SgPo=hh9h)%fhW!9h)zcReturns a new SharedMemory instance with the specified size in
bytes, to be tracked by the manager.r)r��sizer�)	rr	r
rr�rKrc�
BaseExceptionr�)r%r�r��smsr�s&&   rr�� SharedMemoryManager.SharedMemory�s������d�m�m�T�]�]��C�C�t�#�0�0��d��N����T�4��3�8�8�+�F�D��J��%���J�J�L��G����	D�C��J�s5�B�A0�0	B�:B�;B
�
B�B�B&	�B&	c�t�UOUOUOQ59^tt^2o[OU2o[UPQUOO12PPP2U![c"oSOO2SgPo=hh9h)%fhW!9h)zuReturns a new ShareableList instance populated with the values
from the input sequence, to be tracked by the manager.rr�)
rr	r
r�
ShareableListrK�shmrcr�r�)r%r�r��slr�s&&   rr��!SharedMemoryManager.ShareableList�s������d�m�m�T�]�]��C�C�t�"�0�0��:����T�4��2�6�6�;�;�.�I�D��I��%���F�F�M�M�O��G����	D�C��I�s5�B&�	#A7�7	B#�B#�B�B#�#B&�&B7	�/B7	r\)r4r7r8r9r:r�r9r&r�rr�r�r<r=r>s@rrr`s2����	�%��
	O�	O�	A�
	�
	�
	r)rrrr)rkr��valuesr\r�r�)�__add__�__contains__�__delitem__�__getitem__rb�__len__�__mul__�__reversed__�__rmul__�__setitem__rarzri�countr^�index�insertr�r��reverser�)r�r�r�rkr�r��__or__r��__ror__r�rzri�fromkeysr�rkr�r��popitem�
setdefaultr�r�)%�__and__rYr�rtrkrzr�rwr�r��__rand__r��__rsub__�__rxor__�__sub__�__xor__�__ge__�__gt__�__le__�__lt__r�rzri�
difference�difference_updater��intersection�intersection_update�
isdisjoint�issubset�
issupersetr�r��symmetric_difference�symmetric_difference_update�unionr�)r�r�r�)�applyr~r�rr�r��mapr��starmapr�rX)_�__all__r�rxr6r�collections.abc�collections�queuerrWr�rr�rr�r�contextrr	r
rrr
rr�	HAS_SHMEMra�ImportErrorrrorTr_�
view_typesr�	view_typerFrrKrDr�rUrerhrjr�r|r}�XmlListener�	XmlClientrsrr�rurr�r�rjr�r�r�r�r�r
r"r/rCrRrZr\�abc�MutableSequencererarh�MutableMappingrnrpr|�
BasePoolProxyr}rr�r�ryr�r�r�r�r�r�rr�r�r�r)rcs0r�<module>rs���A����
������	�� ��@�@�����*���I��N�N�(�)�2�	���5�;�;��-�4M�
N�4M�D�d�7�2�t�$�&�'�4M�
N�
���I�
���y�/�2��
�z�M�F�M�.&(�b��
I�C�)�C�	�A�F*�V�F*�Z
�F��
�
�#�#�Z�%6�%6�7��:�)�)�:�+?�+?�@���t'�&�t'�t�c��w=��w=�z:�*)+��,�:
E��
E�
�F�
�+�/�I�/�+�I�+��]��6	4��	4�A�9�A�&1�Y�1�&8��8��o�0��
�8�
�8������(�(��7��/�2����
�%��!�8��8������'�'��7��o�	0�	�
�8�}�8� �����'�'�
�6��<�*��
�
�k�,��
�
�=����]�
�J��j�$�
� ��
��	�+�	����W�e�k�k�*����_�e�k�k�2����W�i�o�o�z�:����V�Y�^�^�]�;����W�i�o�o�}�=����[�)�"5�"5�}�E����'��)C�)C�"�$����[�)�"5�"5�~�F����Y�	� 1� 1�<�@����V�T�Y�Y�	�2����V�T�9�-����V�T�9�-����U�C��*����W�e�Z�0����W�e�Z�0����[�)�^�<����Z�=���N����]�%��8�
�""�""�J*<�V�*<�Z>�k�>�g
��O'���I���Os�R6�S�6S�<S�S

Youez - 2016 - github.com/yon3zu
LinuXploit