+
    NV-j�Â  ã            
       ó�	  € . RdOt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RI
Ht ^ RIHt ^RIHt ^RIHtHtHt ^R	IHt ^R
IHt ^RIHt ^RIHt  ^RIHt Rt] P5                  R4       R t]P:                  ! ]P                  ]4       Re U u. uF  p ]! ]! / V 4      ! 4       4      NK  	  up t R t!]  F  t"]P:                  ! ]"]!4       K  	  A"A  ! R R]#4      t$Rf/ 3R lt%R t& ! R R]'4      t(R t)R t* ! R R]#4      t+ ! R R]#4      t,R]PZ                  ]P\                  3R]P^                  ]P`                  3/t1 ! R  R ]#4      t2 ! R! R"]34      t4 ! R# R]#4      t5R$ t6/ 3R% lt7RgR& lt8 ! R' R(]#4      t9 ! R) R*]#4      t:RhR+ lt; ! R, R-]54      t< ! R. R/]54      t= ! R0 R1]=4      t> ! R2 R3]54      t? ! R4 R5]54      t@ ! R6 R7]54      tA ! R8 R9]54      tB]7! R:Ri4      tC ! R; R<]C4      tD]PŠ                  PŒ                  P;                  ]C4       ]7! R=Rj4      tGR>R?/]GnH         ! R@ RA]G4      tI]PŠ                  P”                  P;                  ]G4       ]7! RBRk4      tK ! RC RD]K4      tL]PŠ                  P”                  P;                  ]K4       ]7! RERl4      tM]7! RFRm4      tNRGRLRJRLRKRLRHR?RIR?/]NnH         ! RM RF]N4      tO ! RN R]24      tP]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?]<RR]7       ]PP;                  RLRR^7       ]'       d#    ! R_ R`4      t\ ! Ra Rb]+4      t] ! Rc R]24      t^R# R#   ] d    Rt ELHi ; iu up i )nÚBaseManagerÚSyncManagerÚ	BaseProxyÚTokenN)Úgetpid)Ú
format_exc)Ú
connection)Ú	reductionÚget_spawning_popenÚProcessError)Úpool)Úprocess)Úutil)Úget_context)Úshared_memoryTÚSharedMemoryManagerFc                 óZ   € \         P                   V P                  V P                  4       33# ©N)ÚarrayÚtypecodeÚtobytes)Úas   &Úf/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/multiprocess/managers.pyÚreduce_arrayr   0   s    € Ü�;‰;˜Ÿ™ Q§Y¡Y£[Ð1Ð1Ð1ó    c                 ó&   € \         \        V 4      33# r   )Úlist©Úobjs   &r   Úrebuild_as_listr   5   s   € Ü”$�s“)�ÐÐr   c                   ó@   a € ] tR t^?t o RtRtR tR tR tR t	Rt
V tR# )	r   z+
Type to uniquely identify a shared object
c                ó0   € WVuV n         V n        V n        R # r   ©ÚtypeidÚaddressÚid)Úselfr#   r$   r%   s   &&&&r   Ú__init__ÚToken.__init__E   s   € Ø06ÀÐ,ˆŒ�d”l D¦Gr   c                óH   € V P                   V P                  V P                  3# r   r"   ©r&   s   &r   Ú__getstate__ÚToken.__getstate__H   s   € Ø—‘˜TŸ\™\¨4¯7©7Ð3Ð3r   c                ó0   € Vw  V n         V n        V n        R # r   r"   ©r&   Ústates   &&r   Ú__setstate__ÚToken.__setstate__K   s   € Ø/4Ñ,ˆŒ�d”l D¦Gr   c                óŠ   € V P                   P                  : R V P                  : RV P                  : RV P                  : R2# )z(typeid=z
, address=z, id=Ú))Ú	__class__Ú__name__r#   r$   r%   r*   s   &r   Ú__repr__ÚToken.__repr__N   s-   € à—‘×'Ô'¨¯¬°d·l´lÀDÇGÄGðMð 	Mr   )r$   r%   r#   Nr"   )r5   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r'   r+   r0   r6   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r   ?   s-   ø‡ € ñð ,€IòEò4ò5÷Mð Mr   c                ó‚   € V P                  WW434       V P                  4       w  rVVR8X  d   V#  \        WV4      h  ?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   ÚdispatchrL   V   sD   € ð ‡F�FˆB˜DÐ'Ô(Ø—6‘6“8�L€DØˆyÔØˆðÜ˜tÓ,Ð,øáús   °; »>c           	      ó  € V R 8X  d   V# V R9   d_   \        V\        4      '       g%   \        RP                  W\	        V4      4      4      hV R8X  d   \        RV,          4      # \        V4      # \        RP                  V 4      4      # )ú#ERRORú#UNSERIALIZABLEz.Result {0!r} (kind '{1}') type is {2}, not strzUnserializable message: %s
zUnrecognized message type {!r})ú
#TRACEBACKrO   )Ú
isinstanceÚstrÚ	TypeErrorÚformatÚtypeÚRemoteErrorÚ
ValueError)rJ   rK   s   &&r   rE   rE   c   s‡   € ØˆxÔØˆØ	Ð2Ô	2Ü˜&¤#×&Ò&ÜØ@×GÑGØ¤$ v£,ó0ó1ð 1ð Ð$Ô$ÜÐ=ÀÕFÓGÐGä˜vÓ&Ð&äÐ:×AÑAÀ$ÓGÓHÐHr   c                   ó&   a € ] tR t^rt o R tRtV tR# )rV   c                óV   € R\        V P                  ^ ,          4      ,           R,           # )Ú
zK---------------------------------------------------------------------------zM
---------------------------------------------------------------------------
)rR   rH   r*   s   &r   Ú__str__ÚRemoteError.__str__s   s   € Ø$¤s¨4¯9©9°Q­<Ó'8Õ8¸6ÕAÐBr   © N)r5   r8   r9   r:   r[   r=   r>   r?   s   @r   rV   rV   r   s   ø‡ € ÷Cð Cr   rV   c                óŒ   € . p\        V 4       F2  p\        W4      p\        V4      '       g   K!  VP                  V4       K4  	  V# )z,
Return a list of names of methods of `obj`
)ÚdirÚgetattrÚcallableÚappend)r   ÚtempÚnameÚfuncs   &   r   Úall_methodsrf   z   s=   € ð €DÜ�C–ˆÜ�sÓ!ˆÜ�D�>Œ>Ø�K‰K˜Öñ ð €Kr   c                ó`   € \        V 4       Uu. uF  q^ ,          R8w  g   K  VNK  	  up# u upi )zH
Return a list of names of methods of `obj` which do not start with '_'
Ú_)rf   )r   rd   s   & r   Úpublic_methodsri   …   s-   € ô )¨Ô-Ó@Ñ-�T°aµ¸C±�DˆDÑ-Ñ@Ð@ùÒ@s   Ž+¢+c                   ó¨   a € ] tR t^�t o Rt. ROtR tR tR tR t	R t
R tR tR	 tR
 tR]R]R]/tR tR tR tR tR tR tR tR tR tRtV tR# )ÚServerzE
Server class which runs in a process controlled by a manager object
c                ó�  € \        V\        4      '       g%   \        R P                  V\	        V4      4      4      hWn        \        P                  ! V4      V n        \        V,          w  rVV! V^€R7      V n
        V P                  P                  V n        RR/V n        / V n        / V n        \        P                   ! 4       V n        R# )z&Authkey {0!r} is type {1!s}, not bytes)r$   ÚbacklogÚ0N©Nr]   )rQ   ÚbytesrS   rT   rU   Úregistryr   ÚAuthenticationStringÚauthkeyÚlistener_clientÚlistenerr$   Ú	id_to_objÚid_to_refcountÚid_to_local_proxy_objÚ	threadingÚLockÚmutex)r&   rq   r$   rs   Ú
serializerÚListenerÚClients   &&&&&  r   r'   ÚServer.__init__–   s¤   € Ü˜'¤5×)Ò)ÜØ8×?Ñ?ØœT '›]ó,ó-ð -ð !ŒÜ×3Ò3°GÓ<ˆŒÜ*¨:Õ6Ñˆñ !¨¸#Ô>ˆŒØ—}‘}×,Ñ,ˆŒà˜zÐ*ˆŒØ ˆÔØ%'ˆÔ"Ü—^’^Ó%ˆŽ
r   c                óš  € \         P                  ! 4       V n        V \        P                  ! 4       n         \         P                  ! V P                  R7      pRVn        VP                  4         V P                  P                  4       '       g   V P                  P                  ^4       K=   \        P                  \        P                   8w  dI   \"        P$                  ! R4       \        P                   \        n        \        P&                  \        n        \        P*                  ! ^ 4       R#   \        \        3 d     L–i ; i  \        P                  \        P                   8w  dI   \"        P$                  ! R4       \        P                   \        n        \        P&                  \        n        \        P*                  ! ^ 4       i ; i)z
Run the server forever
)ÚtargetTzresetting 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 Ä0EÅE ÅEÅE ÅBG
c                óÖ   €   V P                   P                  4       p\        P                  ! T P
                  T3R7      pR Tn        TP                  4        KX    \         d     Kf  i ; i)T©r�   rH   )ru   ÚacceptÚOSErrorry   r†   Úhandle_requestrˆ   r‰   )r&   rF   Úts   &  r   r‡   ÚServer.accepter¾   s\   € ØðØ—M‘M×(Ñ(Ó*�ô × Ò ¨×(;Ñ(;À1À$ÔGˆAØˆAŒHØ�G‰GŽIøô	 ô Úðús   ƒA ÁA(Á'A(c                óÚ  € R p \         P                  ! WP                  4       \         P                  ! WP                  4       VP	                  4       pVw  r4rVW@P
                  9   g   Q RV,          4       h\        W4      p V! V.VO5/ VB pRV3p	 TP                  T	4       R #   \         d    R\        4       3p	 L-i ; i  \         d    R\        4       3p	 LJi ; i  \         d   p
 TP                  R\        4       34       M  \         d     Mi ; i\        P                  ! RT	4       \        P                  ! RT4       \        P                  ! RT
4        R p
?
R # R p
?
ii ; i)Nz%r unrecognizedrB   rP   zFailure to send message: %rz ... request was %rú ... exception was %r)r   Údeliver_challengers   Úanswer_challengerD   Úpublicr`   Ú	Exceptionr   rC   r   Úinfo)r&   rF   ÚrequestÚignoreÚfuncnamerH   rI   re   rK   Ú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ÄAE%Å%E*c                ó–   €  V P                  V4       VP                  4        R#   \         d     Li ; i  TP                  4        i ; i)z
Handle a new connection
N)rª   r�   Úclose©r&   Úconns   &&r   r›   ÚServer.handle_requestæ   s@   € ð	Ø× Ñ  Ô&ð
 �J‰JŽLøô	 ô 	áð	ûð �J‰J�Lús   ‚% ¥3°6 ²3³6 ¶Ac                óh  € \         P                  ! R\        P                  ! 4       P                  4       VP
                  pVP                  pV P                  pV P                  P                  4       '       gÀ    R;rVV! 4       pVw  r…rš WH,          w  rkpY[9  d!   \        RT: R\        T4      : RT: 24      h\        Ye4      p T! T	/ T
B pT;'       d    TP                  TR4      pT'       d5   T P!                  TTT4      w  pp\#        TT P$                  T4      pRTT33pMRT3p   T! X4       Kß  R#   \         d3   p T P                  T,          w  rkp Rp?LÌ  \         d    Thi ; iRp?ii ; i  \&         d   pRT3p Rp?LbRp?ii ; i  \         dZ    Xf   R	\)        4       3p L‡ T P*                  T,          pT! YXX.X	O5/ X
B pRT3p L¯  \&         d    R	\)        4       3p  LÉi ; i\,         dO    \         P                  ! R
\        P                  ! 4       P                  4       \.        P0                  ! ^ 4        EL$\&         d    R	\)        4       3p EL=i ; i  \&         d    T! R\)        4       34        EK5  i ; i  \&         d•   p\         P2                  ! R\        P                  ! 4       P                  4       \         P2                  ! RX4       \         P2                  ! RT4       TP5                  4        \.        P0                  ! ^4        Rp?EKÓ  Rp?ii ; i)zA
Handle requests from the proxies in a particular process/thread
z$starting server thread to service %rNzmethod z of z object is not in exposed=ú#PROXYrB   rN   rP   z$got EOF -- exiting thread serving %rrO   zexception in thread serving %rz ... message was %rrŸ   )r   r‘   ry   Úcurrent_threadrd   rD   rC   rv   rƒ   rŠ   ÚKeyErrorrx   ÚAttributeErrorrU   r`   ÚgetÚcreater   r$   r£   r   Úfallback_mappingÚEOFErrorrŽ   r”   r¤   r­   )r&   r¯   rD   rC   rv   rG   r   r¥   ÚidentrH   rI   ÚexposedÚ	gettypeidÚkeÚfunctionÚresr#   ÚridentÚrexposedÚtokenr¨   r©   Úfallback_funcrK   s   &&                      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Å2E7Å7F Å:FÆFÆ	F ÆFÆF ÆI*Æ4%GÇG6Ç2I*Ç5G6Ç6I*ÈAI*ÉI*ÉI*É)I*É-JÊ
J ÊJÊJ ÊL1ÊBL,Ì,L1c                ó   € V# r   r]   ©r&   r¯   rº   r   s   &&&&r   Úfallback_getvalueÚServer.fallback_getvalueC  s   € Øˆ
r   c                ó   € \        V4      # r   ©rR   rÇ   s   &&&&r   Úfallback_strÚServer.fallback_strF  s   € Ü�3‹xˆr   c                ó   € \        V4      # r   )ÚreprrÇ   s   &&&&r   Úfallback_reprÚServer.fallback_reprI  s   € Ü�C‹yÐr   r[   r6   ú	#GETVALUEc                ó   € R # r   r]   ©r&   rF   s   &&r   ÚdummyÚServer.dummyR  s   € Ùr   c                óÄ  € V P                   ;_uu_ 4        . p\        V P                  P                  4       4      pVP	                  4        V Fb  pVR8w  g   K  VP                  RV: RV P                  V,          : R\        V P                  V,          ^ ,          4      R,          : 24       Kd  	  RP                  V4      uuRRR4       #   + '       g   i     R# ; i)z?
Return some info --- useful to spot problems with refcounting
rn   z  z:       refcount=z
    :NéK   NrZ   N)	r{   r   rw   ÚkeysÚsortrb   rR   rv   Újoin)r&   rF   rK   rÙ   rº   s   &&   r   Ú
debug_infoÚServer.debug_infoU  s    € ð
 �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                ó,   € \        V P                  4      # )z
Number of shared objects
)Úlenrw   rÔ   s   &&r   Únumber_of_objectsÚServer.number_of_objectse  s   € ô
 �4×&Ñ&Ó'Ð'r   c                óþ   €  \         P                  ! R4       VP                  R4       T P
                  P                  4        R#    ^ RIpTP	                  4         L4; i  T P
                  P                  4        i ; i)z
Shutdown this process
z!manager received shutdown messageN©rB   N)r   r‘   rC   Ú	tracebackÚ	print_excrƒ   Úset)r&   rF   rä   s   && r   ÚshutdownÚServer.shutdownl  sZ   € ð	"Ü�JŠJÐ:Ô;Ø�F‰FÐ$Ô%ð
 �O‰O×ÑÖ!øð		"ÛØ×ÑÖ!ûà�O‰O×ÑÕ!ús   ‚'A ÁAÁA  Á A<c          
     óÔ  € V P                   ;_uu_ 4        V P                  V,          w  rVrxVf.   V'       g   \        V4      ^8w  d   \        R4      hV^ ,          p	MV! V/ VB p	Vf   \	        V	4      pVeV   \        V\        4      '       g%   \        RP                  V\        V4      4      4      h\        V4      \        V4      ,           pR\        V	4      ,          p
\        P                  ! RW*4       V	\        V4      V3V P                  V
&   W P                   9  d   ^ V P                   V
&   RRR4       V P#                  VX
4       V
\%        X4      3#   + '       g   i     L/; 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{   rq   rß   rW   ri   rQ   ÚdictrS   rT   rU   r   r%   r   r‘   ræ   rv   rw   ÚincrefÚtuple)r&   rF   r#   rH   rI   ra   r»   Úmethod_to_typeidÚ	proxytyper   rº   s   """*,      r   r·   ÚServer.createy  sB  € ð �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                ó\   € \        V P                  VP                  ,          ^,          4      # )z<
Return the methods of the shared object indicated by token
)rì   rv   r%   )r&   rF   rÂ   s   &&&r   Úget_methodsÚServer.get_methods�  s!   € ô �T—^‘^ E§H¡HÕ-¨aÕ0Ó1Ð1r   c                ó~   € V\         P                  ! 4       n        VP                  R4       V P	                  V4       R# )z-
Spawn a new thread to serve this connection
Nrã   )ry   r³   rd   rC   rÄ   )r&   rF   rd   s   &&&r   Úaccept_connectionÚServer.accept_connection£  s0   € ð +/Œ	× Ò Ó"Ô'Ø	�‰Ð Ô!Ø×Ñ˜!Ör   c                óˆ  € V P                   ;_uu_ 4         V P                  V;;,          ^,          uu&   RRR4       R#   \         dc   pY P                  9   dL   ^T P                  T&   T P                  T,          T P                  T&   \
        P                  ! RT4        Rp?LpThRp?ii ; i  + '       g   i     R# ; i)é   z&Server re-enabled tracking & INCREF %rN)r{   rw   r´   rx   rv   r   r‘   )r&   rF   rº   r½   s   &&& r   rë   Ú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-ÁAB(Â!B0Â&B(Â(B-Â-B0Â0C	c           
     óö  € W P                   9  d*   W P                  9   d   \        P                  ! R V4       R# V P                  ;_uu_ 4        V P                   V,          ^ 8:  d>   \        RP                  W P                  V,          V P                   V,          4      4      hV P                   V;;,          ^,          uu&   V P                   V,          ^ 8X  d   V P                   V RRR4       W P                   9  dS   RV P                  V&   \        P                  ! RV4       V P                  ;_uu_ 4        V P                  V RRR4       R# R#   + '       g   i     Lt; i  + '       g   i     R# ; i)zServer DECREF skipping %rNz+Id {0!s} ({1!r}) has refcount {2:n}, not 1+zdisposing of obj with id %r)Nr]   N)rw   rx   r   r‘   r{   ÚAssertionErrorrT   rv   )r&   rF   rº   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   ÁBEÄ:E'ÅE$	Å'E8	)	r$   rs   rx   rv   rw   ru   r{   rq   rƒ   N)	rç   r·   rô   rñ   rÜ   rà   rÕ   rë   rû   )r5   r8   r9   r:   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   @r   rk   rk   �   sŽ   ø‡ € ñòN€Fò&ò$ò,ò2ò<
òOòbòòð 	�,Ø�=ØÐ%ð
Ðòò%ò (ò"ò"%òH2òò÷"*ð *r   rk   c                   ó(   € ] tR tRtR.t^ t^t^tRtR# )ÚStateiÜ  Úvaluer]   N)	r5   r8   r9   r:   r<   ÚINITIALÚSTARTEDÚSHUTDOWNr=   r]   r   r   rþ   rþ   Ü  s   † Ø�	€IØ€GØ€GØ„Hr   rþ   ÚpickleÚ	xmlrpclibc                   óÄ   a € ] tR tRt o Rt/ t]tRRR/R lltR t	R t
RR	 lt]RR
 l4       tR tRR ltR tR tR tR t]R 4       t]R 4       t]RR l4       tRtV tR# )r   iï  z
Base class for managers
NÚshutdown_timeoutg      ð?c               óh  € Vf    \         P                  ! 4       P                  pWn        \         P                  ! V4      V n        \        4       V n        \        P                  V P                  n	        W0n
        \        V,          w  V n        V n        T;'       g    \        4       V n        WPn        R # r   )r   r„   rs   Ú_addressrr   Ú_authkeyrþ   Ú_stater   rÿ   Ú_serializerrt   Ú	_ListenerÚ_Clientr   Ú_ctxÚ_shutdown_timeout)r&   r$   rs   r|   Úctxr  s   &&&&&$r   r'   ÚBaseManager.__init__ö  s{   € àŠ?Ü×-Ò-Ó/×7Ñ7ˆGØŒÜ×4Ò4°WÓ=ˆŒÜ“gˆŒÜ!ŸM™Mˆ�‰ÔØ%ÔÜ'6°zÕ'BÑ$ˆŒ˜œØ×(Ð(œ;›=ˆŒ	Ø!1Ör   c                óì  € V P                   P                  \        P                  8w  d—   V P                   P                  \        P                  8X  d   \        R4      hV P                   P                  \        P                  8X  d   \        R4      h\        RP                  V P                   P                  4      4      h\        V P                  V P                  V P                  V P                  4      # )zH
Return server object with serve_forever() method and address attribute
úAlready started serverúManager has shut downúUnknown state {!r})r
  rÿ   rþ   r   r  r   r  rT   rk   Ú	_registryr  r	  r  r*   s   &r   Ú
get_serverÚBaseManager.get_server  s­   € ð �;‰;×Ñ¤§¡Ô-Ø�{‰{× Ñ ¤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ð 	7r   c                óÌ   € \         V P                  ,          w  rV! V P                  V P                  R7      p\	        VRR4       \
        P                  V P                  n        R# )z.
Connect manager object to the server process
©rs   NrÕ   )	rt   r  r  r	  rL   rþ   r  r
  rÿ   )r&   r}   r~   r¯   s   &   r   ÚconnectÚBaseManager.connect  sG   € ô +¨4×+;Ñ+;Õ<ÑˆÙ�d—m‘m¨T¯]©]Ô;ˆÜ��t˜WÔ%Ü!ŸM™Mˆ�‰Ör   c           
     ó<  € V P                   P                  \        P                  8w  d—   V P                   P                  \        P                  8X  d   \        R4      hV P                   P                  \        P                  8X  d   \        R4      h\        RP                  V P                   P                  4      4      hVe   \        V4      '       g   \        R4      h\        P                  ! RR7      w  r4V P                  P                  \        V 4      P                  V P                   V P"                  V P$                  V P&                  WAV3R7      V n        R	P+                  R
 V P(                  P,                   4       4      p\        V 4      P.                  R,           V,           V P(                  n        V P(                  P3                  4        VP5                  4        VP7                  4       V n        VP5                  4        \        P                  V P                   n        \8        P:                  ! V \        V 4      P<                  V P(                  V P"                  V P$                  V P                   V P>                  V P@                  3^ R7      V n!        R# )z0
Spawn a server process for this manager object
r  r  r  Nzinitializer must be a callableF)Úduplexr˜   Ú:c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   rË   )Ú.0Úis   & r   Ú	<genexpr>Ú$BaseManager.start.<locals>.<genexpr>4  s   é € ÐAÑ)@ Aœ˜QŸ˜Ó)@ùs   ‚Ú-©rH   Úexitpriority)"r
  rÿ   rþ   r   r  r   r  rT   ra   rS   r   ÚPiper  ÚProcessrU   Ú_run_serverr  r  r	  r  Ú_processrÛ   Ú	_identityr5   rd   r‰   r­   rD   r   ÚFinalizeÚ_finalize_managerr  r  rç   )r&   ÚinitializerÚinitargsÚreaderÚwriterrº   s   &&&   r   r‰   ÚBaseManager.start  s×  € ð �;‰;×Ñ¤§¡Ô-Ø�{‰{× Ñ ¤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àô	ˆŽr   c                ó\  € \         P                   ! \         P                  \         P                  4       Ve   V! V!   V P                  WW44      pVP	                  VP
                  4       VP                  4        \        P                  ! RVP
                  4       VP                  4        R# )z0
Create a server, report its address and run it
Nzmanager serving at %r)
ÚsignalÚSIGINTÚSIG_IGNÚ_ServerrC   r$   r­   r   r¤   r•   )	Úclsrq   r$   rs   r|   r2  r/  r0  Úservers	   &&&&&&&& r   r*  ÚBaseManager._run_serverF  sv   € ô 	�Š”f—m‘m¤V§^¡^Ô4àÒ"Ù˜Ò"ð —‘˜X°ÓDˆð 	�‰�F—N‘NÔ#Ø�‰Œô 	�	Š	Ð)¨6¯>©>Ô:Ø×ÑÖr   c               ó^  € V P                   P                  \        P                  8X  g   Q R4       hV P	                  V P
                  V P                  R7      p \        VRRV3V,           V4      w  rVVP                  4        \        WP
                  V4      V3#   TP                  4        i ; i)z@
Create a new shared object; return the token and exposed tuple
zserver not yet startedr  Nr·   )
r
  rÿ   rþ   r  r  r  r	  rL   r­   r   )r&   r#   rH   rI   r¯   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                ó®   € V P                   eG   V P                   P                  V4       V P                   P                  4       '       g
   RV n         R# R# R# )z3
Join the manager process (if it has been spawned)
N)r+  rÛ   Úis_alive©r&   Útimeouts   &&r   rÛ   ÚBaseManager.joini  sD   € ð �=‰=Ò$Ø�M‰M×Ñ˜wÔ'Ø—=‘=×)Ñ)×+Ò+Ø $�–ñ ,ñ %r   c                ó¶   € V P                  V P                  V P                  R7      p \        VRR4      VP	                  4        #   TP	                  4        i ; i)zC
Return some info about the servers shared objects and connections
r  NrÜ   ©r  r  r	  rL   r­   r®   s   & r   Ú_debug_infoÚBaseManager._debug_infor  sB   € ð �|‰|˜DŸM™M°4·=±=ˆ|ÓAˆð	Ü˜D $¨Ó5à�J‰J�LøˆD�J‰J�Lúó   ©A ÁAc                ó¶   € V P                  V P                  V P                  R7      p \        VRR4      VP	                  4        #   TP	                  4        i ; i)z%
Return the number of shared objects
r  Nrà   rE  r®   s   & r   Ú_number_of_objectsÚBaseManager._number_of_objects|  sC   € ð �|‰|˜DŸM™M°4·=±=ˆ|ÓAˆð	Ü˜D $Ð(;Ó<à�J‰J�LøˆD�J‰J�LúrH  c                óö  € V P                   P                  \        P                  8X  d   V P	                  4        V P                   P                  \        P
                  8w  d—   V P                   P                  \        P                  8X  d   \        R 4      hV P                   P                  \        P                  8X  d   \        R4      h\        RP                  V P                   P                  4      4      hV # )zUnable to start serverr  r  )	r
  rÿ   rþ   r   r‰   r  r   r  rT   r*   s   &r   Ú	__enter__ÚBaseManager.__enter__†  s§   € Ø�;‰;×Ñ¤§¡Ô-Ø�J‰JŒLØ�;‰;×Ñ¤§¡Ô-Ø�{‰{× Ñ ¤E§M¡MÔ1Ü"Ð#;Ó<Ð<Ø—‘×"Ñ"¤e§n¡nÔ4Ü"Ð#:Ó;Ð;ä"Ø(×/Ñ/°·±×0AÑ0AÓBóDð Dàˆr   c                ó&   € V P                  4        R # r   )rç   ©r&   Úexc_typeÚexc_valÚexc_tbs   &&&&r   Ú__exit__ÚBaseManager.__exit__“  s   € Ø�‰Žr   c                ó(  € V P                   ! 4       '       Ed   \        P                  ! R4        V! WR7      p \        VRR4       VP	                  4        T P                  ! TR7       T P                   ! 4       '       d²   \        P                  ! R4       \        T R4      '       dŠ   \        P                  ! R4       T P                  ! 4        T P                  ! TR7       T P                   ! 4       '       d9   \        P                  ! R	4       T P                  ! 4        T P                  ! 4        \        P                  Vn         \        P                  V R#   TP	                  4        i ; i  \
         d     EL'i ; i  \         d     R# i ; i)
zA
Shutdown the manager process; will be registered as a finalizer
z#sending shutdown message to managerr  Nrç   )rB  zmanager still aliveÚ	terminatez'trying to `terminate()` manager processz#manager still alive after terminate)r@  r   r¤   rL   r­   r£   rÛ   ÚhasattrrW  Úkillrþ   r  rÿ   r   Ú_address_to_localr´   )r   r$   rs   r/   r  r  r¯   s   &&&&&& r   r.  Ú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 Å0E?Å>E?ÆFÆFc                ó   € V P                   # r   )r  r*   s   &r   r$   ÚBaseManager.address¹  s   € à�}‰}Ðr   c                ó   aa€ RV P                   9  d    V P                  P                  4       V n        Sf   \        oT;'       g    \	        SRR4      pT;'       g    \	        SRR4      pV'       de   \        VP                  4       4       FG  w  rx\        V4      \        J g   Q RV,          4       h\        V4      \        J d   K;  Q RV,          4       h	  W$VS3V P                  S&   V'       d   VV3R lp	SV	n	        \        V SV	4       R# R# )z)
Register a typeid with the manager type
r  NÚ	_exposed_Ú_method_to_typeid_z%r is not a stringc                ó&  <€ \         P                  ! R S4       V P                  ! S.VO5/ VB w  r4S! W0P                  V V P                  VR7      pV P                  VP                  V P                  R7      p\        VRRVP                  34       V# )z)requesting creation of a shared %r object©Úmanagerrs   r»   r  Nrû   )	r   r‘   r=  r  r	  r  r$   rL   r%   )	r&   rH   rI   rÂ   ÚexpÚproxyr¯   rî   r#   s	   "*,    €€r   rc   Ú"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   ÚitemsrU   rR   r5   Úsetattr)
r9  r#   ra   rî   r»   rí   Úcreate_methodÚkeyrÿ   rc   s
   &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  r  r	  r  r+  r  r  r
  rç   )NNr  Nro   r   )NNNNT)r5   r8   r9   r:   r;   r  rk   r8  r'   r  r  r‰   Úclassmethodr*  r=  rÛ   rF  rJ  rM  rT  Ústaticmethodr.  Úpropertyr$   rn  r=   r>   r?   s   @r   r   r   ï  s¢   ø‡ € ñð €IØ€Gñ2Ø/2õ2ò7ò*ô)ðV óó ðò,
9ô%òòòòð ñ ó ð ðD ñó ðð ó%'ó ö%'r   c                   ó,   a € ] tR tRt o R tR tRtV tR# )ÚProcessLocalSetié  c                ó6   € \         P                  ! V R  4       R# )c                 ó"   € V P                  4       # r   ©Úclearr   s   &r   Ú<lambda>Ú*ProcessLocalSet.__init__.<locals>.<lambda>ë  s
   € °3·9±9´;r   N)r   Úregister_after_forkr*   s   &r   r'   ÚProcessLocalSet.__init__ê  s   € Ü× Ò  Ñ'>Ö?r   c                ó   € \        V 4      R3# ro   )rU   r*   s   &r   Ú
__reduce__ÚProcessLocalSet.__reduce__ì  s   € Ü�D‹z˜2ˆ~Ðr   r]   N)r5   r8   r9   r:   r'   r~  r=   r>   r?   s   @r   rt  rt  é  s   ø‡ € ò@÷ð r   rt  c                   ó¦   a € ] tR tRt o Rt/ t]P                  ! 4       t^t	RR lt
R tR/ 3R ltR tR t]R	 4       tR
 tR tR tR tR tRtV tR# )r   ió  z&
A base for proxies of shared objects
Nc                óÎ  € \         P                  ;_uu_ 4        \         P                  P                  VP                  R 4      pVf=   \
        P                  ! 4       \        4       3pV\         P                  VP                  &   \         P                  V n	        \         ;P                  ^,          un        R R R 4       X^ ,          V n
        V^,          V n        Wn        V P                  P                  V n        W0n        W n        \"        V,          ^,          V n        Wpn        Ve   \(        P*                  ! V4      V n        MNV P                  e   V P                  P,                  V n        M$\(        P.                  ! 4       P0                  V n        V'       d   V P3                  4        \
        P4                  ! V \         P6                  4       R #   + '       g   i     EL&; ir   )r   Ú_mutexrZ  r¶   r$   r   ÚForkAwareLocalrt  Ú_next_serialÚ_serialÚ_tlsÚ_all_serialsÚ_tokenr%   Ú_idÚ_managerr  rt   r  Ú_owned_by_managerr   rr   r	  r„   rs   Ú_increfr{  Ú_after_fork)	r&   rÂ   r|   rc  rs   r»   rë   Úmanager_ownedÚtls_serialss	   &&&&&&&& r   r'   Ú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   ™BGÇG$	c                ó²  € \         P                  ! R 4       \        P                  ! 4       P                  p\
        P                  ! 4       P                  R8w  d.   VR\
        P                  ! 4       P                  ,           ,          pV P                  V P                  P                  V P                  R7      p\        VRRV34       W P                  n        R# )zmaking connection to managerÚ
MainThreadÚ|r  Nrô   )r   r‘   r   r„   rd   ry   r³   r  rˆ  r$   r	  rL   r†  r   )r&   rd   r¯   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°'Ô:Ø#�	‰	Ör   c                ó  €  V P                   P                  pVP                  V P                  WV34       VP                  4       w  rVVR8X  d   V# VR8X  dº   Vw  rxV P                  P                  VP                  ,          R,          p	V P                  P                   Vn        V	! W€P"                  V P                  V P$                  VR7      p
V P'                  VP                   V P$                  R7      p\)        VRRVP*                  34       V
#  \-        WV4      h  \         d_    \        P                  ! R\
        P                  ! 4       P                  4       T P                  4        T P                   P                  p ELmi ; 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 connectionrB   r²   rb  r  Nrû   éÿÿÿÿ)r†  r   rµ   r   r‘   ry   r³   rd   r”  rC   r‰  rD   rŠ  r  r#   rˆ  r$   r  r	  r  rL   r%   rE   )r&   rG   rH   rI   r¯   rJ   rK   r»   rÂ   rî   re  s   &&&&       r   Ú_callmethodÚBaseProxy._callmethod3  s=  € ð	(Ø—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                ó$   € V P                  R4      # )z)
Get a copy of the value of the referent
rÒ   ©r˜  r*   s   &r   Ú	_getvalueÚBaseProxy._getvalueT  s   € ð ×Ñ Ó,Ð,r   c                óì  € V P                   '       d.   \        P                  ! R V P                  P                  4       R# V P                  V P                  P                  V P                  R7      p\        VRRV P                  34       \        P                  ! RV P                  P                  4       V P                  P                  V P                  4       V P                  ;'       d    V P                  P                  p\        P                  ! V \         P"                  V P                  V P                  V P                  VV P$                  V P                  V P
                  3^
R7      V n        R# )z%owned_by_manager skipped INCREF of %rNr  rë   z	INCREF %rr&  )r‹  r   r‘   rˆ  r%   r  r$   r	  rL   r‰  r‡  Úaddr…  rŠ  r
  r-  r   Ú_decrefr†  Ú_close)r&   r¯   r/   s   &  r   rŒ  ÚBaseProxy._increfZ  sò   € Ø×!×!Ð!Ü�JŠJÐ>ÀÇÁÇÁÔOÙà�|‰|˜DŸK™K×/Ñ/¸¿¹ˆ|ÓGˆÜ��t˜X¨¯© {Ô3Ü�
Š
�; §¡§¡Ô/à×Ñ×Ñ˜dŸl™lÔ+à—‘×6Ð6 $§-¡-×"6Ñ"6ˆä—m’mØ”)×#Ñ#Ø—+‘+˜tŸ|™|¨T¯]©]¸EØ—)‘)˜T×.Ñ.°·±ð>àô	ˆŽr   c                óŠ  € VP                  V4       Ve    VP                  \        P                  8X  dQ    \        P
                  ! RV P                  4       V! V P                  VR7      p\        VR RV P                  34       M!\        P
                  ! RV P                  4       V'       gg   \        VR4      '       dS   \        P
                  ! R\        P                  ! 4       P                  4       VP                  P                  4        V=R # R # R #   \         d"   p\        P
                  ! RT4        R p?L—R p?ii ; i)Nz	DECREF %rr  rû   z... decref failed %sz%DECREF %r -- manager already shutdownr   z-thread %r has no more proxies so closing conn)Údiscardrÿ   rþ   r  r   r‘   r%   r$   rL   r£   rX  ry   r³   rd   r   r­   )	rÂ   Úserialrs   r/   ÚtlsÚidsetr  r¯   r©   s	   &&&&&&&  r   r   ÚBaseProxy._decrefn  sæ   € à�‰�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   ¶AD ÄEÄ!D=Ä=Ec                ó¢   € R V n          V P                  4        R #   \         d)   p\        P                  ! RT,          4        R p?R # R p?ii ; i)Nzincref failed: %s)rŠ  rŒ  r£   r   r¤   )r&   r©   s   & r   r�  ÚBaseProxy._after_fork‡  s<   € ØˆŒð	/Ø�L‰LŽNøÜô 	/ä�IŠIÐ)¨AÕ-×.Ò.ûð	/ús   ‰ ›A¦A	Á	Ac                ó  € / p\        4       e   V P                  VR&   \        V RR4      '       d4   V P                  VR&   \        \
        V P                  V P                  V33# \        \        V 4      V P                  V P                  V33# )Nrs   Ú_isautoFr»   )	r
   r	  r`   r_  ÚRebuildProxyri  rˆ  r  rU   ©r&   rI   s   & r   r~  ÚBaseProxy.__reduce__�  s‰   € ØˆÜÓÒ+Ø"Ÿm™mˆD�‰Oä�4˜ E×*Ò*Ø"Ÿn™nˆD�‰OÜ Ü §¡¨T×-=Ñ-=¸tÐDðFð Fô !Ü˜$“Z §¡¨d×.>Ñ.>ÀÐEðGð Gr   c                ó"   € V P                  4       # r   )rœ  )r&   Úmemos   &&r   Ú__deepcopy__ÚBaseProxy.__deepcopy__œ  s   € Ø�~‰~ÓÐr   c                óz   € R \        V 4      P                  V P                  P                  \	        V 4      3,          # )z<%s object, typeid %r at %#x>)rU   r5   rˆ  r#   r%   r*   s   &r   r6   ÚBaseProxy.__repr__Ÿ  s3   € Ø.Ü�T“
×#Ñ# T§[¡[×%7Ñ%7¼¸D»ÐBõCð 	Cr   c                ór   €  V P                  R4      #   \         d    \        T 4      RR R,           u # i ; i)zF
Return representation of the referent (or a fall-back if that fails)
r6   Nz; '__str__()' failed>r—  )r˜  r£   rÏ   r*   s   &r   r[   ÚBaseProxy.__str__£  s=   € ð	=Ø×#Ñ# JÓ/Ð/øÜô 	=Ü˜“:˜c˜r�?Ð%<Õ<Ò<ð	=ús   ‚ “ 6µ6)r  r‡  r	  r¡  r‰  rŠ  r‹  r…  r  r†  rˆ  ©NNNTFr]   )r5   r8   r9   r:   r;   rZ  r   ÚForkAwareThreadLockr‚  r„  r'   r”  r˜  rœ  rŒ  rq  r   r�  r~  r²  r6   r[   r=   r>   r?   s   @r   r   r   ó  s}   ø‡ € ñð ÐØ×%Ò%Ó'€Fð €Lô*>òX$ð ,.°Bô òB-òð( ñó ðò0/òGò òC÷=ð =r   c                óò  € \        \        P                  ! 4       RR4      pV'       d‡   VP                  VP                  8X  dl   \        P
                  ! RV4       RVR&   VP                  VP                  9  d5   VP                  VP                  ,          VP                  VP                  &   VP                  RR4      ;'       d&    \        \        P                  ! 4       RR4      '       * pV ! W3RV/VB # )	z-
Function used for unpickling proxy objects.
r…   Nz*Rebuild a proxy owned by manager, token=%rTrŽ  rë   Ú_inheritingF)
r`   r   r„   r$   r   r‘   r%   rx   rv   Úpop)re   rÂ   r|   rI   r:  rë   s   &&&&  r   r­  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Ð9r   c                óÎ   € \        V4      p W V3,          #   \         d     Mi ; i/ pT F  p\        RT: RT: R2T4       K  	  \        T \        3T4      pYn        YRY3&   T# )z:
Return a proxy type whose methods are given by `exposed`
zdef z:(self, /, *args, **kwds):
        return self._callmethod(z, args, kwds))rì   r´   ÚexecrU   r   r_  )rd   r»   Ú_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,          ^,          pVf5   V! V P                  VR7      p \        VRRV 34      pVP                  4        Vf   Ve   VP                  pVf    \
        P                  ! 4       P                  p\        RV P                  ,          V4      p	V	! WW#WVR7      p
RV
n
        V
#   TP                  4        i ; i)z"
Return an auto-proxy for `token`
Nr  rñ   zAutoProxy[%s])rc  rs   rë   rŽ  T)rt   r$   rL   r­   r	  r   r„   rs   rÃ  r#   r¬  )rÂ   r|   rc  rs   r»   rë   rŽ  r  r¯   rÂ  re  s   &&&&&&&    r   ri  ri  Û  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 Â5Cc                   ó,   a € ] tR tRt o R tR tRtV tR# )Ú	Namespaceiø  c               ó<   € V P                   P                  V4       R # r   )rg  Úupdater®  s   ",r   r'   ÚNamespace.__init__ù  s   € Ø�‰×Ñ˜TÖ"r   c                ó>  € \        V P                  P                  4       4      p. pV F6  w  r4VP                  R 4      '       d   K  VP	                  V: RV: 24       K8  	  VP                  4        V P                  P                  : RRP                  V4      : R2# )rh   Ú=Ú(ú, r3   )	r   rg  rj  Ú
startswithrb   rÚ   r4   r5   rÛ   )r&   rj  rc   rd   rÿ   s   &    r   r6   ÚNamespace.__repr__û  sr   € Ü�T—]‘]×(Ñ(Ó*Ó+ˆØˆÛ ‰KˆDØ—?‘? 3×'Ô'Ø—‘£tªUÐ3Ö4ñ !ð 	�	‰	ŒØŸ>™>×2Ô2°D·I±I¸d¶OÐDÐDr   r]   N)r5   r8   r9   r:   r'   r6   r=   r>   r?   s   @r   rÆ  rÆ  ø  s   ø‡ € ò#÷Eð Er   rÆ  c                   óN   a € ] tR tRt o RR ltR tR tR t]! ]]4      t	Rt
V tR# )	ÚValuei  c                ó   € Wn         W n        R # r   ©Ú	_typecodeÚ_value)r&   r   rÿ   Úlocks   &&&&r   r'   ÚValue.__init__  s   € Ø!ŒØŽr   c                ó   € V P                   # r   ©rÕ  r*   s   &r   r¶   Ú	Value.get  s   € Ø�{‰{Ðr   c                ó   € Wn         R # r   rÙ  ©r&   rÿ   s   &&r   ræ   Ú	Value.set
  s   € ØŽr   c                ól   € \        V 4      P                  : R V P                  : RV P                  : R2# )rÌ  rÍ  r3   )rU   r5   rÔ  rÕ  r*   s   &r   r6   ÚValue.__repr__  s!   € Ü! $›Z×0Ô0°$·.´.À$Ç+Ä+ÐNÐNr   rÓ  N©T)r5   r8   r9   r:   r'   r¶   ræ   r6   rr  rÿ   r=   r>   r?   s   @r   rÑ  rÑ    s&   ø‡ € ôòòòOá�S˜#Ó†Er   rÑ  c                 ó.   € \         P                   ! W4      # r   )r   )r   ÚsequencerÖ  s   &&&r   ÚArrayrã    s   € Ü�;Š;�xÓ*Ð*r   c                   óB   a € ] tR tRt o R	tR tR tR tR tR t	Rt
V tR# )
ÚIteratorProxyi  c                ó   € V # r   r]   r*   s   &r   Ú__iter__ÚIteratorProxy.__iter__  ó   € Øˆr   c                ó&   € V P                  R V4      # )Ú__next__r›  ©r&   rH   s   &*r   rë  ÚIteratorProxy.__next__  s   € Ø×Ñ 
¨DÓ1Ð1r   c                ó&   € V P                  R V4      # )rC   r›  rì  s   &*r   rC   ÚIteratorProxy.send  s   € Ø×Ñ ¨Ó-Ð-r   c                ó&   € V P                  R V4      # )Úthrowr›  rì  s   &*r   rñ  ÚIteratorProxy.throw  ó   € Ø×Ñ ¨Ó.Ð.r   c                ó&   € V P                  R V4      # )r­   r›  rì  s   &*r   r­   ÚIteratorProxy.close!  ró  r   r]   N)rë  rC   rñ  r­   )r5   r8   r9   r:   r_  rç  rë  rC   rñ  r­   r=   r>   r?   s   @r   rå  rå    s(   ø‡ € Ø6€Iòò2ò.ò/÷/ð /r   rå  c                   óF   a € ] tR tRt o R	tR
R ltR tR tR tR t	Rt
V tR# )ÚAcquirerProxyi%  Nc                ó:   € Vf   V3MW3pV P                  RV4      # )NÚacquirer›  )r&   ÚblockingrB  rH   s   &&& r   rù  ÚAcquirerProxy.acquire'  s%   € Ø%šo�‰{°HÐ3FˆØ×Ñ 	¨4Ó0Ð0r   c                ó$   € V P                  R 4      # ©Úreleaser›  r*   s   &r   rþ  ÚAcquirerProxy.release*  ó   € Ø×Ñ 	Ó*Ð*r   c                ó$   € V P                  R 4      # )Úlockedr›  r*   s   &r   r  ÚAcquirerProxy.locked,  ó   € Ø×Ñ Ó)Ð)r   c                ó$   € V P                  R 4      # )rù  r›  r*   s   &r   rM  ÚAcquirerProxy.__enter__.  r   r   c                ó$   € V P                  R 4      # rý  r›  rP  s   &&&&r   rT  ÚAcquirerProxy.__exit__0  r   r   r]   )rù  rþ  r  )TN)r5   r8   r9   r:   r_  rù  rþ  r  rM  rT  r=   r>   r?   s   @r   r÷  r÷  %  s(   ø‡ € Ø0€Iô1ò+ò*ò+÷+ð +r   r÷  c                   óH   a € ] tR tRt o RtR	R ltR
R ltR tR	R ltRt	V t
R# )ÚConditionProxyi4  Nc                ó(   € V P                  R V34      # ©r‹   r›  rA  s   &&r   r‹   ÚConditionProxy.wait6  ó   € Ø×Ñ ¨¨
Ó3Ð3r   c                ó(   € V P                  R V34      # )Únotifyr›  )r&   Úns   &&r   r  ÚConditionProxy.notify8  s   € Ø×Ñ ¨1¨$Ó/Ð/r   c                ó$   € V P                  R 4      # )Ú
notify_allr›  r*   s   &r   r  ÚConditionProxy.notify_all:  s   € Ø×Ñ Ó-Ð-r   c                óF  € V! 4       pV'       d   V# Ve-   \        \        R\        P                  4      ! 4       V,           pMR pR pV'       gT   Ve6   V\        \        R\        P                  4      ! 4       ,
          pV^ 8:  d    V# V P                  X4       V! 4       pK[  V# )NÚ	monotonic)r`   Útimer‹   )r&   Ú	predicaterB  rK   ÚendtimeÚwaittimes   &&&   r   Úwait_forÚConditionProxy.wait_for<  s‰   € Ù“ˆßØˆMØÒÜœd ;¬t¯y©yÔ9Ó;¸gÕE‰GàˆGØˆHßØÒ"Ø"¤W¬T°+¼d¿i¹iÔ%HÓ%JÕJ�Ø˜q”=Øð ˆð �I‰I�hÔÙ“[ŠFØˆr   r]   )rù  rþ  r  r‹   r  r  r   )r÷   )r5   r8   r9   r:   r_  r‹   r  r  r  r=   r>   r?   s   @r   r
  r
  4  s#   ø‡ € ØP€Iô4ô0ò.÷ò r   r
  c                   ó@   a € ] tR tRt o RtR tR tR tR	R ltRt	V t
R# )
Ú
EventProxyiO  c                ó$   € V P                  R 4      # )rŠ   r›  r*   s   &r   rŠ   ÚEventProxy.is_setQ  r  r   c                ó$   € V P                  R 4      # ©ræ   r›  r*   s   &r   ræ   ÚEventProxy.setS  ó   € Ø×Ñ Ó&Ð&r   c                ó$   € V P                  R 4      # rw  r›  r*   s   &r   rx  ÚEventProxy.clearU  ó   € Ø×Ñ Ó(Ð(r   Nc                ó(   € V P                  R V34      # r  r›  rA  s   &&r   r‹   ÚEventProxy.waitW  r  r   r]   )rŠ   ræ   rx  r‹   r   )r5   r8   r9   r:   r_  rŠ   ræ   rx  r‹   r=   r>   r?   s   @r   r  r  O  s#   ø‡ € Ø2€Iò*ò'ò)÷4ò 4r   r  c                   ój   a € ] tR tRt o R
tRR ltR tR t]R 4       t	]R 4       t
]R 4       tR	tV tR# )ÚBarrierProxyi[  Nc                ó(   € V P                  R V34      # r  r›  rA  s   &&r   r‹   ÚBarrierProxy.wait]  r  r   c                ó$   € V P                  R 4      # )Úabortr›  r*   s   &r   r0  ÚBarrierProxy.abort_  r(  r   c                ó$   € V P                  R 4      # )Úresetr›  r*   s   &r   r3  ÚBarrierProxy.reseta  r(  r   c                ó&   € V P                  R R4      # )Ú__getattribute__)Úpartiesr›  r*   s   &r   r7  ÚBarrierProxy.partiesc  s   € à×ÑÐ 2°LÓAÐAr   c                ó&   € V P                  R R4      # )r6  )Ú	n_waitingr›  r*   s   &r   r:  ÚBarrierProxy.n_waitingf  s   € à×ÑÐ 2°NÓCÐCr   c                ó&   € V P                  R R4      # )r6  )Úbrokenr›  r*   s   &r   r=  ÚBarrierProxy.brokeni  s   € à×ÑÐ 2°KÓ@Ð@r   r]   )r6  r‹   r0  r3  r   )r5   r8   r9   r:   r_  r‹   r0  r3  rr  r7  r:  r=  r=   r>   r?   s   @r   r,  r,  [  sU   ø‡ € Ø>€Iô4ò)ò)àñBó ðBàñDó ðDàñAó öAr   r,  c                   ó6   a € ] tR tRt o RtR tR tR tRtV t	R# )ÚNamespaceProxyin  c                óˆ   € V^ ,          R8X  d   \         P                  W4      # \         P                  V R4      pV! RV34      # )é    rh   r˜  r6  )Úobjectr6  ©r&   rm  Ú
callmethods   && r   Ú__getattr__ÚNamespaceProxy.__getattr__p  s@   € Øˆq�6�SŒ=Ü×*Ñ*¨4Ó5Ð5Ü×,Ñ,¨T°=ÓAˆ
ÙÐ,¨s¨fÓ5Ð5r   c                óŠ   € V^ ,          R8X  d   \         P                  WV4      # \         P                  V R4      pV! RW34      # )rB  rh   r˜  Ú__setattr__)rC  rI  r6  )r&   rm  rÿ   rE  s   &&& r   rI  ÚNamespaceProxy.__setattr__u  sA   € Øˆq�6�SŒ=Ü×%Ñ% d°Ó7Ð7Ü×,Ñ,¨T°=ÓAˆ
Ù˜-¨#¨Ó6Ð6r   c                óˆ   € V^ ,          R8X  d   \         P                  W4      # \         P                  V R4      pV! RV34      # )rB  rh   r˜  Ú__delattr__)rC  rL  r6  rD  s   && r   rL  ÚNamespaceProxy.__delattr__z  s?   € Øˆq�6�SŒ=Ü×%Ñ% dÓ0Ð0Ü×,Ñ,¨T°=ÓAˆ
Ù˜-¨#¨Ó0Ð0r   r]   N)r6  rI  rL  )
r5   r8   r9   r:   r_  rF  rI  rL  r=   r>   r?   s   @r   r@  r@  n  s   ø‡ € ØB€Iò6ò
7÷
1ð 1r   r@  c                   óf   a € ] tR tRt o RtR tR t]! ]]4      t]	! ]
P                  4      tRtV tR# )Ú
ValueProxyi�  c                ó$   € V P                  R 4      # )r¶   r›  r*   s   &r   r¶   ÚValueProxy.getƒ  r%  r   c                ó(   € V P                  R V34      # r#  r›  rÜ  s   &&r   ræ   ÚValueProxy.set…  s   € Ø×Ñ ¨ xÓ0Ð0r   r]   N)r¶   ræ   )r5   r8   r9   r:   r_  r¶   ræ   rr  rÿ   rp  ÚtypesÚGenericAliasÚ__class_getitem__r=   r>   r?   s   @r   rO  rO  �  s1   ø‡ € Ø€Iò'ò1á�S˜#Ó€Eá# E×$6Ñ$6Ó7Ör   rO  ÚBaseListProxyc                   óP   a € ] tR tRt o R tR t]! ]P                  4      t	Rt
V tR# )Ú	ListProxyi’  c                ó,   € V P                  R V34       V # )Úextendr›  rÜ  s   &&r   Ú__iadd__ÚListProxy.__iadd__“  s   € Ø×Ñ˜ E 8Ô,Øˆr   c                ó,   € V P                  R V34       V # )Ú__imul__r›  rÜ  s   &&r   r_  ÚListProxy.__imul__–  ó   € Ø×Ñ˜ e XÔ.Øˆr   r]   N)r5   r8   r9   r:   r\  r_  rp  rT  rU  rV  r=   r>   r?   s   @r   rY  rY  ’  s"   ø‡ € òòñ $ E×$6Ñ$6Ó7Ör   rY  Ú_BaseDictProxyrç  ÚIteratorc                   óJ   a € ] tR tRt o R t]! ]P                  4      tRt	V t
R# )Ú	DictProxyi§  c                ó,   € V P                  R V34       V # ©Ú__ior__r›  rÜ  s   &&r   rh  ÚDictProxy.__ior__¨  ó   € Ø×Ñ˜ U HÔ-Øˆr   r]   N)r5   r8   r9   r:   rh  rp  rT  rU  rV  r=   r>   r?   s   @r   re  re  §  s   ø‡ € òñ $ E×$6Ñ$6Ó7Ör   re  Ú_BaseSetProxyc                   ó\   a € ] tR tRt o R tR tR tR t]! ]	P                  4      tRtV tR# )ÚSetProxyi»  c                ó,   € V P                  R V34       V # rg  r›  rÜ  s   &&r   rh  ÚSetProxy.__ior__¼  rj  r   c                ó,   € V P                  R V34       V # )Ú__iand__r›  rÜ  s   &&r   rq  ÚSetProxy.__iand__¿  ra  r   c                ó,   € V P                  R V34       V # )Ú__ixor__r›  rÜ  s   &&r   rt  ÚSetProxy.__ixor__Â  ra  r   c                ó,   € V P                  R V34       V # )Ú__isub__r›  rÜ  s   &&r   rw  ÚSetProxy.__isub__Å  ra  r   r]   N)r5   r8   r9   r:   rh  rq  rt  rw  rp  rT  rU  rV  r=   r>   r?   s   @r   rm  rm  »  s,   ø‡ € òòòòñ $ E×$6Ñ$6Ó7Ör   rm  Ú
ArrayProxyÚ	PoolProxyÚapply_asyncÚimapÚimap_unorderedÚ	map_asyncÚstarmap_asyncÚAsyncResultc                   ó,   a € ] tR tRt o R tR tRtV tR# )rz  iÞ  c                ó   € V # r   r]   r*   s   &r   rM  ÚPoolProxy.__enter__ß  ré  r   c                ó&   € V P                  4        R # r   )rW  rP  s   &&&&r   rT  ÚPoolProxy.__exit__á  s   € Ø�‰Ör   r]   N)r5   r8   r9   r:   rM  rT  r=   r>   r?   s   @r   rz  rz  Þ  s   ø‡ € ò÷ð r   c                   ó   € ] tR tRtRtRtR# )r   iè  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 `multiprocess.Manager()` function creates started instances of
this class.
r]   N)r5   r8   r9   r:   r;   r=   r]   r   r   r   r   è  s   † õr   ÚQueueÚJoinableQueuer‚   rz   ÚRLockÚ	SemaphoreÚBoundedSemaphoreÚ	ConditionÚBarrierÚPoolr   rê   ræ   rã  )rî   rl  )rl  c                   óT   a € ] tR tRt o Rt. 3R ltR tR tR tR t	R t
R	 tR
tV tR# )Ú_SharedMemoryTrackeri  z+Manages one or more shared memory segments.c                ó   € Wn         W n        R # r   ©Úshared_memory_context_nameÚsegment_names)r&   rd   r”  s   &&&r   r'   Ú_SharedMemoryTracker.__init__  s   € Ø.2Ô+Ø!.Ör   c                ó†   € \         P                  ! RV: R\        4        24       V P                  P	                  V4       R# )z6Adds the supplied shared memory block name to tracker.zRegister segment ú in pid N)r   r‘   r   r”  rb   ©r&   Úsegment_names   &&r   Úregister_segmentÚ%_SharedMemoryTracker.register_segment  s3   € ä�JŠJÐ*¨<Ñ*:¸(Ä6Ã8À*ÐMÔNØ×Ñ×%Ñ% lÖ3r   c                óò   € \         P                  ! RV: R\        4        24       V P                  P	                  V4       \
        P                  ! V4      pVP                  4        VP                  4        R# )zvCalls unlink() on the shared memory block with the supplied name
and removes it from the list of blocks being tracked.zDestroy segment r—  N)	r   r‘   r   r”  Úremover   Ú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Ör   c                ó\   € V P                   R,           F  pV P                  V4       K  	  R# )z<Calls destroy_segment() on all tracked shared memory blocks.:NNNN)r”  r¡  r˜  s   & r   rŸ  Ú_SharedMemoryTracker.unlink#  s(   € à $× 2Ñ 2°1× 5Ð 5�Ø×$Ñ$ \Ö2ó !6r   c                ó–   € \         P                  ! R V P                  P                   R\	        4        24       V P                  4        R# )zCall z.__del__ in N)r   r‘   r4   r5   r   rŸ  r*   s   &r   Ú__del__Ú_SharedMemoryTracker.__del__(  s1   € Ü�JŠJ˜˜tŸ~™~×6Ñ6Ð7°|ÄFÃHÀ:ÐNÔOØ�K‰KŽMr   c                ó2   € V P                   V P                  3# r   r’  r*   s   &r   r+   Ú!_SharedMemoryTracker.__getstate__,  s   € Ø×3Ñ3°T×5GÑ5GÐHÐHr   c                ó&   € V P                   ! V!   R # r   )r'   r.   s   &&r   r0   Ú!_SharedMemoryTracker.__setstate__/  s   € Ø�MŠM˜5Ô!r   )r”  r“  N)r5   r8   r9   r:   r;   r'   rš  r¡  rŸ  r¦  r+   r0   r=   r>   r?   s   @r   r�  r�    s4   ø‡ € Ù5à/1ô 	/ò	4ò
	ò	3ò
	ò	I÷	"ð 	"r   r�  c                   ón   a € ] tR tRt o ]P
                  . R
O,           tR tR tR tR t	R t
R tRtV tR	# )ÚSharedMemoryServeri3  c                ó(  € \         P                  ! V .VO5/ VB  V P                  p\        V\        4      '       d   \
        P                  ! V4      p\        R V R\        4        24      V n	        \        P                  ! R\        4        24       R# )Úshm_rh   z"SharedMemoryServer started by pid N)rk   r'   r$   rQ   rp   ÚosÚfsdecoder�  r   Úshared_memory_contextr   r‘   )r&   rH   Úkwargsr$   s   &*, r   r'   ÚSharedMemoryServer.__init__8  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ÖGr   c               óª   € \        V P                  V,          R,          R4      '       d   V P                  VR&   \        P                  ! WV.VO5/ VB # )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—  )rX  rq   r²  rk   r·   )r&   rF   r#   rH   r³  s   """*,r   r·   ÚSharedMemoryServer.createB  sL   € ô �t—}‘} VÕ,¨RÕ0Ð2H×IÒIØ26×2LÑ2L�Ð.Ñ/Ü—=’= ¨&ÐB°4ÒB¸6ÑBÐBr   c                ó`   € V P                   P                  4        \        P                  W4      # )zACall unlink() on all tracked shared memory, terminate the Server.)r²  rŸ  rk   rç   rÔ   s   &&r   rç   ÚSharedMemoryServer.shutdownL  s#   € à×&Ñ&×-Ñ-Ô/Ü—?‘? 4Ó+Ð+r   c                ó<   € V P                   P                  V4       R# )z?Adds the supplied shared memory block name to Server's tracker.N)r²  rš  ©r&   rF   r™  s   &&&r   Útrack_segmentÚ SharedMemoryServer.track_segmentQ  s   € à×&Ñ&×7Ñ7¸ÖEr   c                ó<   € V P                   P                  V4       R# )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_segmentU  s   € ð ×&Ñ&×6Ñ6°|ÖDr   c                ó.   € V P                   P                  # )zVReturns a list of names of shared memory blocks that the Server
is currently tracking.)r²  r”  rÔ   s   &&r   Úlist_segmentsÚ SharedMemoryServer.list_segmentsZ  s   € ð ×-Ñ-×;Ñ;Ð;r   )r²  N)r¼  r¿  rÂ  )r5   r8   r9   r:   rk   r¢   r'   r·   rç   r¼  r¿  rÂ  r=   r>   r?   s   @r   r­  r­  3  s>   ø‡ € à—‘ÚFõGˆò	Hò	Cò	,ò
	Fò	E÷
	<ð 	<r   r­  c                   óF   a € ] tR tRt o Rt]tR tR tR t	R t
R tRtV tR	# )
r   i`  aq  Like 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                óþ   € \         P                  R 8X  d   ^RIHp VP	                  4        \
        P                  ! V .VO5/ VB  \        P                  ! V P                  P                   R\        4        24       R# )Úposix)Úresource_trackerz created by pid N)r°  rd   Ú rÇ  Úensure_runningr   r'   r   r‘   r4   r5   r   )r&   rH   r³  rÇ  s   &*, r   r'   ÚSharedMemoryManager.__init__l  s\   € Ü�w‰w˜'Ô!õ /Ø ×/Ñ/Ô1Ü× Ò  Ð7¨Ò7°Ò7Ü�JŠJ˜$Ÿ.™.×1Ñ1Ð2Ð2BÄ6Ã8À*ÐMÖNr   c                ót   € \         P                  ! V P                  P                   R \	        4        24       R# )z.__del__ by pid N)r   r‘   r4   r5   r   r*   s   &r   r¦  ÚSharedMemoryManager.__del__x  s'   € Ü�JŠJ˜$Ÿ.™.×1Ñ1Ð2Ð2BÄ6Ã8À*ÐMÖNr   c                óø  € V P                   P                  \        P                  8w  d—   V P                   P                  \        P                  8X  d   \        R4      hV P                   P                  \        P                  8X  d   \        R4      h\        RP                  V P                   P                  4      4      hV P                  V P                  V P                  V P                  V P                  4      # )z@Better than monkeypatching for now; merge into Server ultimatelyz"Already started SharedMemoryServerz!SharedMemoryManager has shut downr  )r
  rÿ   rþ   r   r  r   r  rT   r8  r  r  r	  r  r*   s   &r   r  Ú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ð Ar   c                óP  € V P                  V P                  V P                  R7      ;_uu_ 4       p\        P                  ! RRVR7      p \        VRRVP                  34        RRR4       T#   \         d   pTP                  4        ThRp?ii ; i  + '       g   i     X# ; i)zcReturns a new SharedMemory instance with the specified size in
bytes, to be tracked by the manager.r  NT)r·   Úsizer¼  )	r  r  r	  r   rž  rL   rd   ÚBaseExceptionrŸ  )r&   rÐ  r¯   Úsmsr©   s   &&   r   rž  Ú 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  € V P                  V P                  V P                  R7      ;_uu_ 4       p\        P                  ! V4      p \        VRRVP                  P                  34        RRR4       T#   \         d"   pTP                  P                  4        ThRp?ii ; i  + '       g   i     X# ; i)zuReturns a new ShareableList instance populated with the values
from the input sequence, to be tracked by the manager.r  Nr¼  )
r  r  r	  r   ÚShareableListrL   Úshmrd   rÑ  rŸ  )r&   râ  r¯   Úslr©   s   &&   r   rÕ  Ú!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Á6B"ÂBÂB"Â"B%Â%B6	r]   N)r5   r8   r9   r:   r;   r­  r8  r'   r¦  r  rž  rÕ  r=   r>   r?   s   @r   r   r   `  s2   ø‡ € ñ	ð %ˆò
	Oò	Oò	Aò
	÷
	ð 
	r   )r   r   r   r   )rj  rÙ   Úvaluesr]   r¸  rà  )Ú__add__Ú__contains__Ú__delitem__Ú__getitem__r_  Ú__len__Ú__mul__Ú__reversed__Ú__rmul__Ú__setitem__rb   rx  rh  Úcountr[  ÚindexÚinsertr¼  r�  ÚreverserÚ   )rÛ  rÜ  rÝ  rh  rç  rÞ  Ú__or__rà  Ú__ror__râ  rx  rh  Úfromkeysr¶   rj  rÙ   r¼  ÚpopitemÚ
setdefaultrÈ  rÙ  )%Ú__and__rV  rÛ  rq  rh  rw  rç  rt  rÞ  rç  Ú__rand__rè  Ú__rsub__Ú__rxor__Ú__sub__Ú__xor__Ú__ge__Ú__gt__Ú__le__Ú__lt__rŸ  rx  rh  Ú
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~  Ústarmapr  rW  )_Ú__all__rŽ   ry   r5  r   Úcollections.abcÚcollectionsÚqueuer  rT  r°  r   rä   r   rÈ  r   Úcontextr	   r
   r   r   r   r   r   r   Ú	HAS_SHMEMrb   ÚImportErrorr   rn  rU   r`   Ú
view_typesr   Ú	view_typerC  r   rL   rE   r£   rV   rf   ri   rk   rþ   r}   r~   ÚXmlListenerÚ	XmlClientrt   r   ræ   rt  r   r­  rÃ  ri  rÆ  rÑ  rã  rå  r÷  r
  r  r,  r@  rO  rW  rY  ÚabcÚMutableSequencerb  r`  re  ÚMutableMappingrk  rm  ry  ÚBasePoolProxyrz  r   r‡  r‚   rz   r‰  rŠ  r‹  rŒ  r�  rŽ  r   rê   r�  r­  r   )rd   s   0r   Ú<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:ð* )+ô ô,ô:
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ðüò Os   ÁR3 ÂSÒ3	S Ò?S 