Your IP : 18.226.150.47


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

�

*}gJ��	�D�/SQrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJ	r	 SSK
Jr SSKJ
r
 SSKJrJrJr SSKJr SS	KJr SS
KJr SSKJr SSKJr S
r\R1S5 Sr\R6"\R\5 SVs/sHn\"\"0U5"55PM snrSr\Hr \R6"\ \5 M C C"SS\!5r"S04Sjr#Sr$"SS\%5r&Sr'Sr("SS\!5r)"SS\!5r*\
RV\
RX4\
RZ\
R\4S .r/"S!S"\!5r0"S#S$\15r2"S%S&\!5r3S'r404S(jr5ScS)jr6"S*S+\!5r7"S,S-\!5r8SdS.jr9"S/S0\35r:"S1S2\35r;"S3S4\;5r<"S5S6\35r="S7S8\35r>"S9S:\35r?"S;S<\35r@\5"S=S>5rA"S?S@\A5rB\5"SASB5rCSCSD0\ClD"SESA\C5rE\5"SFSG5rF\5"SHSI5rGSJSJSJSDSDSK.\GlD"SLSH\G5rH"SMSN\05rI\IR7SO\R�5 \IR7SP\R�5 \IR7SQ\R�\=5 \IR7SR\R�\;5 \IR7SS\R�\;5 \IR7ST\R�\;5 \IR7SU\R�\;5 \IR7SV\R�\<5 \IR7SW\R�\>5 \IR7SX\R�\H5 \IR7SY\S\B5 \IR7SZ\T\E5 \IR7S-\8\@5 \IR7S[\9\F5 \IR7S+\7\?5 \IR7SD\:SS\9 \IR7SJSS]9 \(a!"S^S_5rU"S`Sa\)5rV"SbS\05rWgg!\a SrGN�f=fs snf)e)�BaseManager�SyncManager�	BaseProxy�Token�N)�getpid)�
format_exc�)�
connection)�	reduction�get_spawning_popen�ProcessError)�pool)�process)�util)�get_context)�
shared_memoryT�SharedMemoryManagerFc�Z�[RURUR544$�N)�array�typecode�tobytes)�as �?/opt/alt/python313/lib64/python3.13/multiprocessing/managers.py�reduce_arrayr/s ���;�;����Q�Y�Y�[�1�1�1�)�items�keys�valuesc�&�[[U544$r)�list��objs r�rebuild_as_listr$4s���$�s�)���rc�4�\rSrSrSrSrSrSrSrSr	Sr
g	)
r�>z+
Type to uniquely identify a shared object
��typeid�address�idc�.�XUsUlUlUlgrr')�selfr(r)r*s    r�__init__�Token.__init__Ds��06��,���d�l�D�Grc�H�URURUR4$rr'�r,s r�__getstate__�Token.__getstate__Gs�����T�\�\�4�7�7�3�3rc�.�UuUlUlUlgrr'�r,�states  r�__setstate__�Token.__setstate__Js��/4�,���d�l�D�Grc��URR<SUR<SUR<SUR<S3$)Nz(typeid=z
, address=z, id=�))�	__class__�__name__r(r)r*r0s r�__repr__�Token.__repr__Ms-�����'�'����d�l�l�D�G�G�M�	Mr)r)r*r(N)r;�
__module__�__qualname__�__firstlineno__�__doc__�	__slots__r-r1r6r<�__static_attributes__�rrrr>s$���,�I�E�4�5�MrrrDc��URXX445 UR5upVUS:XaU$[XV5e!Af=f)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�dispatchrPUsD���F�F�B�D�'�(��6�6�8�L�D��y���
���t�,�,���s�:�=c	��US:XaU$US;aX[U[5(d$[SRX[	U555eUS:Xa[SU-5$[U5$[
SRU55$)N�#ERROR)�
#TRACEBACK�#UNSERIALIZABLEz.Result {0!r} (kind '{1}') type is {2}, not strrTzUnserializable message: %s
zUnrecognized message type {!r})�
isinstance�str�	TypeError�format�type�RemoteError�
ValueError)rNrOs  rrIrIbs����x���
�	
�2�	2��&�#�&�&��@�G�G��$�v�,�0�1�
1��$�$��=��F�G�G��v�&�&��:�A�A�$�G�H�Hrc��\rSrSrSrSrg)rZ�qc�>�S[URS5-S-$)NzM
---------------------------------------------------------------------------
rzK---------------------------------------------------------------------------)rVrLr0s r�__str__�RemoteError.__str__rs��$�s�4�9�9�Q�<�'8�8�6�A�BrrDN)r;r>r?r@r_rCrDrrrZrZqs��CrrZc��/n[U5H1n[X5n[U5(dM URU5 M3 U$)z,
Return a list of names of methods of `obj`
)�dir�getattr�callable�append)r#�temp�name�funcs    r�all_methodsriys=���D��C����s�!���D�>�>��K�K�����Krc�X�[U5Vs/sHoSS:wdM
UPM sn$s snf)zH
Return a list of names of methods of `obj` which do not start with '_'
r�_)ri)r#rgs  r�public_methodsrl�s+��)��-�@�-�T�a��C��D�-�@�@��@s�'�'c��\rSrSrSr/SQrSrSrSrSr	Sr
S	rS
rSr
Sr\
\\S
.rSrSrSrSrSrSrSrSrSrSrg)�Server�zE
Server class which runs in a process controlled by a manager object
)	�shutdown�create�accept_connection�get_methods�
debug_info�number_of_objects�dummy�incref�decrefc�~�[U[5(d$[SRU[	U555eXl[R"U5Ul[UupVU"USS9Ul
URRUlSS0Ul0Ul
0Ul[R "5Ulg)Nz&Authkey {0!r} is type {1!s}, not bytes�)r)�backlog�0�NrD)rU�bytesrWrXrY�registryr�AuthenticationString�authkey�listener_client�listenerr)�	id_to_obj�id_to_refcount�id_to_local_proxy_obj�	threading�Lock�mutex)r,rr)r��
serializer�Listener�Clients       rr-�Server.__init__�s����'�5�)�)��8�?�?��T�'�]�,�-�
-�!�
��3�3�G�<���*�:�6���!��#�>��
��}�}�,�,����z�*��� ���%'��"��^�^�%��
rc���[R"5UlU[R"5l[R"URS9nSUlUR5 URR5(d<URRS5 URR5(dM<[R[R :waH["R$"S5 [R [l[R&[l[R*"S5 g![[4a N�f=f![R[R :waH["R$"S5 [R [l[R&[l[R*"S5 f=f)z
Run the server forever
)�targetTr	zresetting stdout, stderrrN)r��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�(�(��+��/�/�0�0�2�2�
�z�z�S�^�^�+��
�
�5�6� �^�^��
� �^�^��
��H�H�Q�K��&�z�2�
��
���z�z�S�^�^�+��
�
�5�6� �^�^��
� �^�^��
��H�H�Q�K�s+�5E�,AE�E�E�E�E�BG c���URR5n[R"UR
U4S9nSUlUR5 MT![a Mbf=f)NT�r�rL)r��accept�OSErrorr�r��handle_requestr�r�)r,rJ�ts   rr��Server.accepter�sa���
��M�M�(�(�*��� � ��(;�(;�1�$�G�A��A�H�
�G�G�I����
��
�s�A�
A$�#A$c���Sn[R"XR5 [R"XR5 UR	5nUup4pVX@R
;d
SU-5e[
X5nU"U/UQ70UD6nSU4n	URU	5 g![a S[54n	N+f=f![a S[54n	NGf=f![a|n
URS[545 O![a Of=f[R"SU	5 [R"SU5 [R"SU
5 Sn
A
gSn
A
ff=f)Nz%r unrecognizedrFrSzFailure to send message: %rz ... request was %r� ... exception was %r)r
�deliver_challenger��answer_challengerH�publicrc�	ExceptionrrGr�info)r,rJ�request�ignore�funcnamerLrMrhrO�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[�A9B=�>B!�C�!B:�9B:�=C�C�
E�$D�?E�
D
�
E�D
�
AE�Ec��URU5 UR5 g![a Nf=f!UR5 f=f)z
Handle a new connection
N)r�r��close�r,�conns  rr��Server.handle_request�s@��	�� � ��&�

�J�J�L��	�	��	��
�J�J�L�s�$�
1�4�1�4�Ac�n�[R"S[R"5R5 UR
nURnURnURR5(d�S=pVU"5nUup�p�XHupknX[;a [SU<S[U5<SU<35e[Xe5nU"U	0U
D6nU=(a URUS5nU(a4UR!UUU5unn[#UUR$U5nSUU44nOSU4nU"W5 URR5(dM�gg![a-n
URUupknSn
A
N�![a U
ef=fSn
A
ff=f![&anSU4nSnANzSnAff=f![aS WcS	[)54nN�UR*UnU"XWW/W	Q70W
D6nSU4nN�![&a S	[)54nN�f=f[,aN [R"S
[R"5R5 [.R0"S5 GN4[&a S	[)54nGNLf=f![&a U"S[)545 GNef=f![&a�n[R2"S
[R"5R5 [R2"SW5 [R2"SU5 UR55 [.R0"S5 SnAGNSnAff=f)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=�#PROXYrFrRrSz$got EOF -- exiting thread serving %rrrTzexception in thread serving %rz ... message was %rr�r	)rr�r��current_threadrgrHrGr�r�r��KeyErrorr��AttributeErrorrYrc�getrqrr)r�r�fallback_mapping�EOFErrorr�r�r�r�)r,r�rHrGr�rKr#r��identrLrM�exposed�	gettypeid�ke�function�resr(�rident�rexposed�tokenr�r��
fallback_funcrOs                        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�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��9F&�	E�0F&�F�	AF&�F&�&I4�
F�E3�.F&�3
F�F�F�F&�
F#�F�F&�F#�#F&�&I1�!G%�%G?�;I1�>G?�?AI1�I1�0I1�4J�J�J�J�
L4�!BL/�/L4c��U$rrD�r,r�r�r#s    r�fallback_getvalue�Server.fallback_getvalueBs���
rc��[U5$r�rVr�s    r�fallback_str�Server.fallback_strEs���3�x�rc��[U5$r)�reprr�s    r�
fallback_repr�Server.fallback_reprHs���C�y�r)r_r<�	#GETVALUEc��grrD�r,rJs  rrv�Server.dummyQs��rc
��UR /n[URR55nUR	5 UHQnUS:wdMURSU<SURU<S[
URUS5SS<35 MS SRU5sSSS5 $!,(df   g=f)	z?
Return some info --- useful to spot problems with refcounting
r|z  z:       refcount=z
    rN�K�
)	r�r!r�r�sortrerVr��join)r,rJrOrr�s     rrt�Server.debug_infoTs���
�Z�Z��F���+�+�0�0�2�3�D��I�I�K����C�<��M�M�#(�$�*=�*=�e�*D�#&�t�~�~�e�'<�Q�'?�#@��"�#E�#G�H��
�9�9�V�$��Z�Z�s�?B4�AB4�4
Cc�,�[UR5$)z
Number of shared objects
)�lenr�r�s  rru�Server.number_of_objectsds��
�4�&�&�'�'rc��[R"S5 URS5 UR
R
5 g! SSKnUR	5 N3=f!UR
R
5 f=f)z
Shutdown this process
z!manager received shutdown message�rFNrN)rr�rG�	traceback�	print_excr��set)r,rJr�s   rrp�Server.shutdownksZ��	"��J�J�:�;�
�F�F�$�%�

�O�O���!��		"�����!���O�O���!�s�'A�A�A�A;c	��UR URUupVpxUc'U(d[U5S:wa[S5eUSn	OU"U0UD6n	Uc[	U	5nUbP[U[5(d$[SRU[U555e[U5[U5-nS[U	5-n
[R"SX*5 U	[U5U4URU
'X�R ;aSUR U
'SSS5 UR#UW
5 U
[%W54$!,(df   N-=f)z.
Create a new shared object and return its id
Nr	z4Without callable, must have one non-keyword argumentrz,Method_to_typeid {0!r}: type {1!s}, not dictz%xz&%r callable returned object with id %r)r�rr�r[rlrU�dictrWrXrYr!r*rr�r�r�r�rw�tuple)r,rJr(rLrMrdr��method_to_typeid�	proxytyper#r�s           rrq�
Server.createxs@���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�DD8�8
Ec�L�[URURS5$)z<
Return the methods of the shared object indicated by token
r	)r�r�r*)r,rJr�s   rrs�Server.get_methods�s!���T�^�^�E�H�H�-�a�0�1�1rc�|�U[R"5lURS5 UR	U5 g)z-
Spawn a new thread to serve this connection
r�N)r�r�rgrGr�)r,rJrgs   rrr�Server.accept_connection�s0��+/�	� � �"�'�	��� �!����!�rc�T�UR URU==S-
ss'SSS5 g![a]nX R;aGSURU'URUURU'[
R"SU5 SnANiUeSnAff=f!,(df   g=f)Nr	z&Server re-enabled tracking & INCREF %r)r�r�r�r�r�rr�)r,rJr�r�s    rrw�
Server.incref�s���
�Z�Z�

��#�#�E�*�a�/�*��Z���
�
�6�6�6�12�D�'�'��.��2�2�5�9��N�N�5�)��J�J�G��O�O��H��
���Z�s2�B�/�
B�AB�
B�B�B�B�
B'c	��X R;a'X R;a[R"SU5 gUR URUS::a5[SR
X RUURU55eURU==S-ss'URUS:Xa
URU	SSS5 X R;aISURU'[R"SU5 UR URU	SSS5 gg!,(df   Ng=f!,(df   g=f)NzServer DECREF skipping %rrz+Id {0!s} ({1!r}) has refcount {2:n}, not 1+r	)NrDNzdisposing of obj with id %r)r�r�rr�r��AssertionErrorrXr�)r,rJr�s   rrx�
Server.decref�s���+�+�+��/�/�/��J�J�2�E�:��
�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�BD$�D5�$
D2�5
E)	r)r�r�r�r�r�r�rr�N)r;r>r?r@rAr�r-r�r�r�r�r�r�r�r�r�rvrtrurprqrsrrrwrxrCrDrrrnrn�s���N�F�&�$�,�2�<
�O�b���� �%�
��
�%� (�"�"%�H2���"*rrnc�&�\rSrSrS/rSrSrSrSrg)�Statei��valuerr	�rDN)	r;r>r?r@rB�INITIAL�STARTED�SHUTDOWNrCrDrrrr�s���	�I��G��G��Hrr)�pickle�	xmlrpclibc���\rSrSrSr0r\rSSS.SjjrSr	Sr
SS	jr\SS
j5r
SrSSjrS
rSrSrSr\S5r\S5r\SSj5rSrg)ri�z
Base class for managers
Ng�?)�shutdown_timeoutc�Z�Uc[R"5RnXl[R"U5Ul[
5Ul[RURl	X0l
[UuUlUl
U=(d
 [5UlXPlgr)rr�r��_addressr��_authkeyr�_staterr�_serializerr��	_Listener�_Clientr�_ctx�_shutdown_timeout)r,r)r�r��ctxrs      rr-�BaseManager.__init__�sx���?��-�-�/�7�7�G��
��4�4�W�=��
��g���!�M�M�����%��'6�z�'B�$������(�;�=��	�!1�rc���URR[R:wa�URR[R:Xa[S5eURR[R:Xa[S5e[SRURR55e[URURURUR5$)zH
Return server object with serve_forever() method and address attribute
�Already started server�Manager has shut down�Unknown state {!r})
rrrrrr
rrXrn�	_registryr
rrr0s 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��[URupU"URURS9n[	USS5 [
RURlg)z.
Connect manager object to the server process
�r�Nrv)	r�rr
rrPrrrr)r,r�r�r�s    r�connect�BaseManager.connectsG��+�4�+;�+;�<����d�m�m�T�]�]�;����t�W�%�!�M�M����rc
��URR[R:wa�URR[R:Xa[S5eURR[R:Xa[S5e[SRURR55eUb[U5(d[S5e[R"SS9up4URR[U5RUR UR"UR$UR&XAU4S9UlS	R+S
UR(R,55n[U5R.S-U-UR(lUR(R35 UR55 UR75UlUR55 [RURl[8R:"U[U5R<UR(UR"UR$URUR>UR@4SS
9Ul!g)z0
Spawn a server process for this manager object
rrrNzinitializer must be a callableF)�duplexr��:c3�8# �UHn[U5v� M g7frr�)�.0�is  r�	<genexpr>�$BaseManager.start.<locals>.<genexpr>3s���A�)@�A��Q���)@�s��-r�rL�exitpriority)"rrrrrr
rrXrdrWr
�Piper�ProcessrY�_run_serverrr
rr�_processr��	_identityr;rgr�r�rHr�Finalize�_finalize_managerrrrp)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�V�[R"[R[R5 UbU"U6 URXX45nUR	UR
5 UR
5 [R"SUR
5 UR5 g)z0
Create a server, report its address and run it
Nzmanager serving at %r)
�signal�SIGINT�SIG_IGN�_ServerrGr)r�rr�r�)	�clsrr)r�r�r7r4r5�servers	         rr/�BaseManager._run_serverEsv��	�
�
�f�m�m�V�^�^�4��"���"����X��D��	���F�N�N�#�����	
�	�	�)�6�>�>�:����rc�N�URR[R:XdS5eUR	UR
URS9n[USSU4U-U5upVUR5 [XR
U5U4$!UR5 f=f)z@
Create a new shared object; return the token and exposed tuple
zserver not yet startedrNrq)
rrrrrr
rrPr�r)r,r(rLrMr�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��URbCURRU5 URR5(dSUlggg)z3
Join the manager process (if it has been spawned)
N)r0r��is_alive�r,�timeouts  rr��BaseManager.joinhsD���=�=�$��M�M���w�'��=�=�)�)�+�+� $��
�,�%rc��URURURS9n[USS5UR	5 $!UR	5 f=f)zC
Return some info about the servers shared objects and connections
rNrt�rr
rrPr�r�s  r�_debug_info�BaseManager._debug_infoqsB���|�|�D�M�M�4�=�=�|�A��	��D�$��5��J�J�L��D�J�J�L���A�Ac��URURURS9n[USS5UR	5 $!UR	5 f=f)z%
Return the number of shared objects
rNrurJr�s  r�_number_of_objects�BaseManager._number_of_objects{sC���|�|�D�M�M�4�=�=�|�A��	��D�$�(;�<��J�J�L��D�J�J�L�rMc���URR[R:XaUR	5 URR[R
:wa�URR[R:Xa[
S5eURR[R:Xa[
S5e[
SRURR55eU$)NzUnable to start serverrr)	rrrrr�rr
rrXr0s r�	__enter__�BaseManager.__enter__�s����;�;����
�
�-��J�J�L��;�;����
�
�-��{�{� � �E�M�M�1�"�#;�<�<����"�"�e�n�n�4�"�#:�;�;�"�(�/�/����0A�0A�B�D�D��rc�$�UR5 gr)rp�r,�exc_type�exc_val�exc_tbs    r�__exit__�BaseManager.__exit__�s���
�
�rc��UR"5(Ga
[R"S5 U"XS9n[USS5 UR	5 UR"US9 UR"5(a�[R"S5 [US5(a�[R"S5 UR"5 UR"US9 UR"5(a8[R"S	5 UR"5 UR"5 [RUl[RU	g!UR	5 f=f![
a GNf=f![a gf=f)
zA
Shutdown the manager process; will be registered as a finalizer
z#sending shutdown message to managerrNrp)rGzmanager still alive�	terminatez'trying to `terminate()` manager processz#manager still alive after terminate)rErr�rPr�r�r��hasattrr\�killrrrr�_address_to_localr�)rr)r�r5rrr�s       rr3�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:�E"�
E
�E"�;E3�
E�E"�"
E0�/E0�3
F�?Fc��UR$r)r
r0s rr)�BaseManager.address�s���}�}�rc�^^�SUR;aURR5UlTc[mU=(d
 [	TSS5nU=(d
 [	TSS5nU(aZ[UR
55H=upx[U5[Ld
SU-5e[U5[LaM5SU-5e X$UT4URT'U(aUU4Sjn	TU	l	[UTU	5 gg)z)
Register a typeid with the manager type
rN�	_exposed_�_method_to_typeid_z%r is not a stringc�>�[R"ST5 UR"T/UQ70UD6up4T"X0RUURUS9nURURURS9n[USSUR45 U$)Nz)requesting creation of a shared %r object��managerr�r�rrx)	rr�rBrrrr)rPr*)	r,rLrMr��exp�proxyr�r�r(s	       ��rrf�"BaseManager.register.<locals>.temp�s����
�
�F��O�!�\�\�&�@�4�@�4�@�
��!��+�+�T� �M�M�3����|�|�E�M�M�4�=�=�|�I����t�X����{�;��r)�__dict__r�copy�	AutoProxyrcr!rrYrVr;�setattr)
r>r(rdr�r�r��
create_method�keyrrfs
 ` `      r�register�BaseManager.register�s�����c�l�l�*��M�M�.�.�0�C�M���!�I��B�W�Y��T�B��+�J�"�9�.B�D�I�	��"�#3�#9�#9�#;�<�
���C�y�C�'�C�)=��)C�C�'��E�{�c�)�G�+?�%�+G�G�)�=�

�/��!��
�
�f���	
�#�D�M��C���&�r)
rrr
rrr0rrrrp)NNrNr}r)NNNNT)r;r>r?r@rArrnr=r-rr r��classmethodr/rBr�rKrOrRrY�staticmethodr3�propertyr)rrrCrDrrrr�s�����I��G�>F��2�/2�2�
7�*�)�V�/1����,
9�%������ �� �D�����EI�6:�%'��%'rrc� �\rSrSrSrSrSrg)�ProcessLocalSeti�c�4�[R"US5 g)Nc�"�UR5$r)�clearr"s r�<lambda>�*ProcessLocalSet.__init__.<locals>.<lambda>�s
��3�9�9�;r)r�register_after_forkr0s rr-�ProcessLocalSet.__init__�s��� � ��'>�?rc��[U5S4$r})rYr0s r�
__reduce__�ProcessLocalSet.__reduce__�s���D�z�2�~�rrDN)r;r>r?r@r-r�rCrDrrrxrx�s
��@�rrxc��\rSrSrSr0r\R"5rSr	SSjr
SrS04SjrS	r
S
r\S5rSrS
rSrSrSrSrg)ri�z&
A base for proxies of shared objects
r	Nc��[R [RRURS5nUc<[
R"5[54nU[RUR'[RUl	[=RS-
slSSS5 WSUl
USUlXlURRUlX0lX l["USUlXplUb[(R*"U5UlOMURbURR,UlO$[(R."5R0UlU(aUR35 [
R4"U[R65 g!,(df   GN=f)Nr	r)r�_mutexr_r�r)r�ForkAwareLocalrx�_next_serial�_serial�_tls�_all_serials�_tokenr*�_id�_managerrr�r�_owned_by_managerrr�rr�r��_increfr~�_after_fork)	r,r�r�rhr�r�rw�
manager_owned�tls_serialss	         rr-�BaseProxy.__init__�sB��
�
�
�#�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�BF2�2
Gc��[R"S5 [R"5Rn[
R"5RS:wa%US[
R"5R--
nURURRURS9n[USSU45 X Rl
g)Nzmaking connection to manager�
MainThread�|rrr)rr�rr�rgr�r�rr�r)rrPr�r
)r,rgr�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�'�:�#�	�	�rrDc��URRnURURXU45 UR5upVUS:XaU$US:Xa�UupxURRURSn	URR UlU	"X�R"URUR$US9n
UR'UR UR$S9n[)USSUR*45 U
$[-XV5e![a^ [R"S[
R"5R5 UR5 URRnGN\f=f!Af=f)	zF
Try to call a method of the referent and return a copy of the result
z#thread %r does not own a connectionrFr����rgrNrx)r�r
r�rr�r�r�rgr�rGr�rHr�rr(r�r)rrrrPr*rI)r,rKrLrMr�rNrOr�r�r�rjs           r�_callmethod�BaseProxy._callmethod2s=��	(��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
�E8�
A$E5�4E5�8E;c�$�URS5$)z)
Get a copy of the value of the referent
r��r�r0s r�	_getvalue�BaseProxy._getvalueSs������,�,rc���UR(a,[R"SURR5 gURURRURS9n[USSUR45 [R"SURR5 URRUR5 UR=(a URRn[R"U[ R"URURURUUR$URUR
4SS9Ulg)Nz%owned_by_manager skipped INCREF of %rrrwz	INCREF %r�
r+)r�rr�r�r*rr)rrPr�r��addr�r�rr2r�_decrefr��_close)r,r�r5s   rr��BaseProxy._increfYs����!�!��J�J�>������O���|�|�D�K�K�/�/����|�G����t�X����{�3��
�
�;������/������d�l�l�+��
�
�6�$�-�-�"6�"6���m�m��)�#�#��+�+�t�|�|�T�]�]�E��)�)�T�.�.����>��	��rc�t�URU5 UbUR[R:XaM[R
"SUR5 U"URUS9n[USSUR45 O![R
"SUR5 U(dc[US5(aQ[R
"S[R"5R5 URR5 U?ggg![a!n[R
"SU5 SnAN�SnAff=f)Nz	DECREF %rrrxz... decref failed %sz%DECREF %r -- manager already shutdownr
z-thread %r has no more proxies so closing conn)�discardrrrrr�r*r)rPr�r]r�r�rgr
r�)	r��serialr�r5�tls�idsetrr�r�s	         rr��BaseProxy._decrefms���
�
�
�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�
D7�D2�2D7c��SUlUR5 g![a#n[R"SU-5 SnAgSnAff=f)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��0n[5bURUS'[USS5(a3URUS'[[
URURU44$[[U5URURU44$)Nr��_isautoFr�)	rrrcrd�RebuildProxyrnr�rrY�r,rMs  rr��BaseProxy.__reduce__�s�������+�"�m�m�D��O��4��E�*�*�"�n�n�D��O� �����T�-=�-=�t�D�F�
F�!��$�Z����d�.>�.>��E�G�
Grc�"�UR5$r)r�)r,�memos  r�__deepcopy__�BaseProxy.__deepcopy__�s���~�~��rc�r�S[U5RURR[	U54-$)Nz<%s object, typeid %r at %#x>)rYr;r�r(r*r0s rr<�BaseProxy.__repr__�s3��.��T�
�#�#�T�[�[�%7�%7��D��B�C�	Crc�h�URS5$![a [U5SSS-s$f=f)zF
Return representation of the referent (or a fall-back if that fails)
r<Nr�z; '__str__()' failed>)r�r�r�r0s rr_�BaseProxy.__str__�s=��	=��#�#�J�/�/���	=���:�c�r�?�%<�<�<�	=�s��1�1)rr�rr�r�r�r�r�rr�r��NNNTF)r;r>r?r@rAr_r�ForkAwareThreadLockr�r�r-r�r�r�r�rur�r�r�r�r<r_rCrDrrrr�s{�����
�
%�
%�
'�F��L�26�HM�*>�X$�,.�B��B-��(����0/�G� �C�=rrc���[[R"5SS5nU(a�URUR:Xaf[R
"SU5 SUS'URUR;a0URURURUR'URSS5=(a% [[R"5SS5(+nU"X4SU0UD6$)	z-
Function used for unpickling proxy objects.
r�Nz*Rebuild a proxy owned by manager, token=%rTr�rw�_inheritingF)
rcrr�r)rr�r*r�r��pop)rhr�r�rMr?rws      rr�r��s����W�,�,�.�0A�4�
H�F�
�&�.�.�E�M�M�1��
�
�?��G� $��_���8�8�6�7�7�7�� � ����*�
�(�(����2�	
����4� �	E��G�+�+�-�}�e�D�D����9�&�9�D�9�9rc���[U5nX U4$![a Of=f0nUHn[SU<SU<S3U5 M [U[4U5nXlXRX4'U$)z:
Return a proxy type whose methods are given by `exposed`
zdef z:(self, /, *args, **kwds):
        return self._callmethod(z
, args, kwds))r�r��execrYrrd)rgr��_cache�dic�meth�	ProxyTypes      r�
MakeProxyTyper��s����G�n�G�
��W�o�&�&���
��
��
�C����6:�D�B�CF�	H���T�I�<��-�I�!��'�D�?���s��
 � c	�h�[USnUc1U"URUS9n[USSU45nUR5 UcUbURnUc[
R"5Rn[SUR-U5n	U	"XX#XVS9n
SU
l
U
$!UR5 f=f)z"
Return an auto-proxy for `token`
r	Nrrsz
AutoProxy[%s])rhr�rwr�T)r�r)rPr�rrr�r�r�r(r�)r�r�rhr�r�rwr�rr�r�rjs           rrnrn�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�B�B1c� �\rSrSrSrSrSrg)�	Namespacei�c�:�URRU5 gr)rl�updater�s  rr-�Namespace.__init__�s���
�
���T�"rc�<�[URR55n/nUH5up4URS5(aMUR	U<SU<35 M7 UR5 URR<SSRU5<S3$)Nrk�=�(�, r9)	r!rlr�
startswithrer�r:r;r�)r,rrfrgrs     rr<�Namespace.__repr__�sr���T�]�]�(�(�*�+���� �K�D��?�?�3�'�'����t�U�3�4�!�	
�	�	���>�>�2�2�D�I�I�d�O�D�DrrDN)r;r>r?r@r-r<rCrDrrr�r��s
��#�Err�c�B�\rSrSrSSjrSrSrSr\"\\5r	Sr
g)	�Valueic��XlX lgr��	_typecode�_value)r,rr�locks    rr-�Value.__init__s��!���rc��UR$r�r�r0s rr��	Value.gets���{�{�rc��Xlgrr��r,rs  rr��	Value.set	s���rc�l�[U5R<SUR<SUR<S3$)Nr�r�r9)rYr;r�r�r0s rr<�Value.__repr__s!��!�$�Z�0�0�$�.�.�$�+�+�N�Nrr�N�T)r;r>r?r@r-r�r�r<rvrrCrDrrr�r�s#�����O��S�#��Err�c�.�[R"X5$r)r)r�sequencer�s   r�Arrayr�s���;�;�x�*�*rc�6�\rSrSrSrSrSrSrSrSr	Sr
g	)
�
IteratorProxyi)�__next__rG�throwr�c��U$rrDr0s r�__iter__�IteratorProxy.__iter__����rc�&�URSU5$)Nr�r��r,rLs  rr��IteratorProxy.__next__s�����
�D�1�1rc�&�URSU5$)NrGr�r�s  rrG�IteratorProxy.sends�������-�-rc�&�URSU5$)Nr�r�r�s  rr��IteratorProxy.throw��������.�.rc�&�URSU5$)Nr�r�r�s  rr��IteratorProxy.close r�rrDN)r;r>r?r@rdr�r�rGr�r�rCrDrrr�r�s ��6�I��2�.�/�/rr�c�4�\rSrSrSrS	SjrSrSrSrSr	g)
�
AcquirerProxyi$)�acquire�releaseNc�8�UcU4OX4nURSU5$�Nr�r�)r,�blockingrGrLs    rr��AcquirerProxy.acquire&s%��%�o��{�H�3F�����	�4�0�0rc�$�URS5$�Nr�r�r0s rr��AcquirerProxy.release)������	�*�*rc�$�URS5$r�r�r0s rrR�AcquirerProxy.__enter__+rrc�$�URS5$rr�rUs    rrY�AcquirerProxy.__exit__-rrrD)TN)
r;r>r?r@rdr�r�rRrYrCrDrrr�r�$s��&�I�1�+�+�+rr�c�<�\rSrSrSrS	SjrS
SjrSrS	SjrSr	g)�ConditionProxyi1)r�r�r��notify�
notify_allNc�(�URSU45$�Nr�r�rFs  rr��ConditionProxy.wait3��������
�3�3rc�(�URSU45$)Nrr�)r,�ns  rr�ConditionProxy.notify5s������1�$�/�/rc�$�URS5$)Nr
r�r0s rr
�ConditionProxy.notify_all7s������-�-rc��U"5nU(aU$Ub[R"5U-nOSnSnU(dEUb!U[R"5-
nUS::aU$URW5 U"5nU(dMEU$)Nr)�time�	monotonicr�)r,�	predicaterGrO�endtime�waittimes      r�wait_for�ConditionProxy.wait_for9s��������M����n�n�&��0�G��G��H���"�"�T�^�^�%5�5���q�=���
�
�I�I�h���[�F�
�&��
rrDr)r	)
r;r>r?r@rdr�rr
rrCrDrrrr1s��F�I�4�0�.�rrc�4�\rSrSrSrSrSrSrS	SjrSr	g)
�
EventProxyiL)r�r�r{r�c�$�URS5$)Nr�r�r0s rr��EventProxy.is_setNs������)�)rc�$�URS5$�Nr�r�r0s rr��EventProxy.setP�������&�&rc�$�URS5$)Nr{r�r0s rr{�EventProxy.clearR�������(�(rNc�(�URSU45$rr�rFs  rr��EventProxy.waitTrrrDr)
r;r>r?r@rdr�r�r{r�rCrDrrr r Ls��2�I�*�'�)�4rr c�^�\rSrSrSrSSjrSrSr\S5r	\S5r
\S	5rS
rg)�BarrierProxyiX)�__getattribute__r��abort�resetNc�(�URSU45$rr�rFs  rr��BarrierProxy.waitZrrc�$�URS5$)Nr/r�r0s rr/�BarrierProxy.abort\r)rc�$�URS5$)Nr0r�r0s rr0�BarrierProxy.reset^r)rc�&�URSS5$)Nr.)�partiesr�r0s rr8�BarrierProxy.parties`s����� 2�L�A�Arc�&�URSS5$)Nr.)�	n_waitingr�r0s rr;�BarrierProxy.n_waitingcs����� 2�N�C�Crc�&�URSS5$)Nr.)�brokenr�r0s rr>�BarrierProxy.brokenfs����� 2�K�@�@rrDr)
r;r>r?r@rdr�r/r0rvr8r;r>rCrDrrr-r-XsR��>�I�4�)�)�
�B��B�
�D��D�
�A��Arr-c�*�\rSrSrSrSrSrSrSrg)�NamespaceProxyik)r.�__setattr__�__delattr__c�~�USS:Xa[RX5$[RUS5nU"SU45$)Nrrkr�r.)�objectr.�r,rq�
callmethods   r�__getattr__�NamespaceProxy.__getattr__ms@���q�6�S�=��*�*�4�5�5��,�,�T�=�A�
��,�s�f�5�5rc��USS:Xa[RXU5$[RUS5nU"SX45$)Nrrkr�rB)rErBr.)r,rqrrGs    rrB�NamespaceProxy.__setattr__rsA���q�6�S�=��%�%�d��7�7��,�,�T�=�A�
��-�#��6�6rc�~�USS:Xa[RX5$[RUS5nU"SU45$)Nrrkr�rC)rErCr.rFs   rrC�NamespaceProxy.__delattr__ws?���q�6�S�=��%�%�d�0�0��,�,�T�=�A�
��-�#��0�0rrDN)	r;r>r?r@rdrHrBrCrCrDrrrArAks��B�I�6�
7�
1rrAc�Z�\rSrSrSrSrSr\"\\5r\	"\
R5rSr
g)�
ValueProxyi~)r�r�c�$�URS5$)Nr�r�r0s rr��ValueProxy.get�r&rc�(�URSU45$r$r�r�s  rr��ValueProxy.set�s�������x�0�0rrDN)r;r>r?r@rdr�r�rvrrt�types�GenericAlias�__class_getitem__rCrDrrrOrO~s.���I�'�1��S�#��E�#�E�$6�$6�7�rrO�
BaseListProxy)�__add__�__contains__�__delitem__�__getitem__�__len__�__mul__�__reversed__�__rmul__�__setitem__re�count�extend�index�insertr��remove�reverser��__imul__c�D�\rSrSrSrSr\"\R5r	Sr
g)�	ListProxyi�c�,�URSU45 U$)Nrbr�r�s  r�__iadd__�ListProxy.__iadd__�s������E�8�,��rc�,�URSU45 U$)Nrgr�r�s  rrg�ListProxy.__imul__�s������e�X�.��rrDN)r;r>r?r@rkrgrtrTrUrVrCrDrrriri�s����$�E�$6�$6�7�rri�	DictProxy)rYrZr[r�r\r`r{rmr�rrr��popitem�
setdefaultr�rr��Iteratorc�8�\rSrSr\"\R5rSrg)roi�rDN)	r;r>r?r@rtrTrUrVrCrDrrroro�s��#�E�$6�$6�7�r�
ArrayProxy)r\r[r`�	PoolProxy)�apply�apply_asyncr��imap�imap_unorderedr��map�	map_async�starmap�
starmap_asyncr\�AsyncResult)rwr{r}rxryc� �\rSrSrSrSrSrg)rui�c��U$rrDr0s rrR�PoolProxy.__enter__�r�rc�$�UR5 gr)r\rUs    rrY�PoolProxy.__exit__�s�����rrDN)r;r>r?r@rRrYrCrDrrruru�s���rc��\rSrSrSrSrg)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.
rDN)r;r>r?r@rArCrDrrrr�s��rr�Queue�
JoinableQueuer�r��RLock�	Semaphore�BoundedSemaphore�	Condition�Barrier�Poolr!r�r�)r�rp)rpc�H�\rSrSrSr/4SjrSrSrSrSr	Sr
S	rS
rg)�_SharedMemoryTrackeri�z+Manages one or more shared memory segments.c��XlX lgr��shared_memory_context_name�
segment_names)r,rgr�s   rr-�_SharedMemoryTracker.__init__�s��.2�+�!.�rc��[R"SU<S[535 URR	U5 g)z6Adds the supplied shared memory block name to tracker.zRegister segment � in pid N)rr�rr�re�r,�segment_names  r�register_segment�%_SharedMemoryTracker.register_segment�s3���J�J�*�<�*:�(�6�8�*�M�N����%�%�l�3rc���[R"SU<S[535 URR	U5 [
R"U5nUR5 UR5 g)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�rer�SharedMemoryr��unlink)r,r��segments   r�destroy_segment�$_SharedMemoryTracker.destroy_segment�sX��
�J�J�)�,�)9��&�(��L�M����%�%�l�3�#�0�0��>�G��M�M�O��N�N�rc�R�URSSHnURU5 M g)z<Calls destroy_segment() on all tracked shared memory blocks.N)r�r�r�s  rr��_SharedMemoryTracker.unlink�s%�� $� 2� 2�1� 5���$�$�\�2�!6rc��[R"SURRS[	535 UR5 g)NzCall z.__del__ in )rr�r:r;rr�r0s r�__del__�_SharedMemoryTracker.__del__�s1���J�J��t�~�~�6�6�7�|�F�H�:�N�O��K�K�Mrc�2�URUR4$rr�r0s rr1�!_SharedMemoryTracker.__getstate__s���3�3�T�5G�5G�H�Hrc�"�UR"U6 gr)r-r4s  rr6�!_SharedMemoryTracker.__setstate__s���M�M�5�!r)r�r�N)
r;r>r?r@rAr-r�r�r�r�r1r6rCrDrrr�r��s,��5�/1�	/�	4�
	�	3�
	�	I�	"rr�c�Z�\rSrSr\R
/SQ-rSrSrSrSr	Sr
SrS	rg
)�SharedMemoryServeri
)�
track_segment�release_segment�
list_segmentsc�$�[R"U/UQ70UD6 URn[U[5(a[
R"U5n[SUS[535Ul	[R"S[535 g)N�shm_rkz"SharedMemoryServer started by pid )rnr-r)rUr~�os�fsdecoder�r�shared_memory_contextrr�)r,rL�kwargsr)s    rr-�SharedMemoryServer.__init__sq���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��[URUSS5(aURUS'[R"XU/UQ70UD6$)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.r��_shared_memory_proxyr�)r]rr�rnrq)r,rJr(rLr�s     rrq�SharedMemoryServer.createsL���t�}�}�V�,�R�0�2H�I�I�26�2L�2L��.�/��=�=��&�B�4�B�6�B�Brc�`�URR5 [RX5$)zACall unlink() on all tracked shared memory, terminate the Server.)r�r�rnrpr�s  rrp�SharedMemoryServer.shutdown#s#���&�&�-�-�/��?�?�4�+�+rc�:�URRU5 g)z?Adds the supplied shared memory block name to Server's tracker.N)r�r��r,rJr�s   rr�� SharedMemoryServer.track_segment(s���&�&�7�7��Erc�:�URRU5 g)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   rr��"SharedMemoryServer.release_segment,s��
�&�&�6�6�|�Drc�.�URR$)zVReturns a list of names of shared memory blocks that the Server
is currently tracking.)r�r�r�s  rr�� SharedMemoryServer.list_segments1s���-�-�;�;�;r)r�N)
r;r>r?r@rnr�r-rqrpr�r�r�rCrDrrr�r�
s6�����F�G��	H�	C�	,�
	F�	E�
	<rr�c�:�\rSrSrSr\rSrSrSr	Sr
SrSrg	)
ri7aqLike 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��[RS:XaSSKJn UR	5 [
R"U/UQ70UD6 [R"URRS[535 g)N�posixr	)�resource_trackerz created by pid )r�rg�r��ensure_runningrr-rr�r:r;r)r,rLr�r�s    rr-�SharedMemoryManager.__init__Cs\���w�w�'�!�/� �/�/�1�� � ��7��7��7��J�J�$�.�.�1�1�2�2B�6�8�*�M�Nrc�r�[R"URRS[	535 g)Nz.__del__ by pid )rr�r:r;rr0s rr��SharedMemoryManager.__del__Os'���J�J�$�.�.�1�1�2�2B�6�8�*�M�Nrc���URR[R:wa�URR[R:Xa[S5eURR[R:Xa[S5e[SRURR55eURURURURUR5$)z@Better than monkeypatching for now; merge into Server ultimatelyz"Already started SharedMemoryServerz!SharedMemoryManager has shut downr)
rrrrrr
rrXr=rr
rrr0s rr�SharedMemoryManager.get_serverRs����{�{� � �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�.�URURURS9n[R"SSUS9n[USSUR45 SSS5 U$![anUR5 UeSnAff=f!,(df   W$=f)zcReturns a new SharedMemory instance with the specified size in
bytes, to be tracked by the manager.rNT)rq�sizer�)	rr
rrr�rPrg�
BaseExceptionr�)r,r�r��smsr�s     rr�� SharedMemoryManager.SharedMemory_s������d�m�m�T�]�]��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�+A=�=B�B�
Bc�V�URURURS9n[R"U5n[USSURR45 SSS5 U$![a!nURR5 UeSnAff=f!,(df   W$=f)zuReturns a new ShareableList instance populated with the values
from the input sequence, to be tracked by the manager.rNr�)
rr
rr�
ShareableListrP�shmrgr�r�)r,r�r��slr�s     rr��!SharedMemoryManager.ShareableListks������d�m�m�T�]�]��C�t�"�0�0��:����T�4��2�6�6�;�;�.�I�D��I��%���F�F�M�M�O��G����	D�C��I�s(�B�#A+�+
B�5B�B�B�
B(rDN)
r;r>r?r@rAr�r=r-r�rr�r�rCrDrrrr7s*��	�%��
	O�	O�	A�
	�
	rr�r�)X�__all__r�r�r:r�queuerrTr�rr�rr�r
�contextrrr
rrrrr�	HAS_SHMEMre�ImportErrorrrrrYrc�
view_typesr$�	view_typerErrPrIr�rZrirlrnrr�r��XmlListener�	XmlClientr�rr�rxrr�r�rnr�r�r�r�r�rr r-rArOrWri�_BaseDictProxyrerort�
BasePoolProxyrurr�r�r�r�r�r�r�r�r�r!r�r�r�r)rgs0r�<module>r�s]��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:�*)+��,8<�7<��:
E��
E�
�F�
�+�/�I�/�
+�I�
+��]��6	4��	4�A�9�A�&1�Y�1�&8��8��o�0��
�8�
�8��{�-����
�%��!�8��8��<�*��
�
�k�,��
�
!��"�� �$�
� ��
��	�+�	����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�-����W�e�Z�0����W�e�Z�0����[�)�^�<����Z�=���N����]�%��8�
�""�""�J*<�V�*<�Z>�k�>�g
��%���I���Os�P�P�P�P

?>