+
     Bi                     *   R t ^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RIH	t	 ^ RI
t
^ RIt^ RIHt ^ RIt^ RIt^ RIHt ]P$                  ! 4       tRs ! R R4      tR	 t]
P.                  ! ]4       ^t^=t ! R
 R]4      t ! R R4      tR t ! R R]4      t ! R R]4      t  ! R R]4      t! ! R R]	4      t"R t#R$R lt$R%R lt% ! R R]
PL                  4      t'Rs(Rs)R t*R t+ ! R R]PX                  4      t-R t.R!t/].]/0t0 ! R" R#]Pb                  4      t2R# )&z"Brian Quinlan (brian@sweetapp.com)N)_base)Queue)partial)format_exceptionFc                   8   a  ] tR t^Dt o R tR tR tR tRtV t	R# )_ThreadWakeupc                    R V n         \        P                  ! 4       V n        \        P
                  ! R R7      w  V n        V n        R# )F)duplexN)_closed	threadingLock_lockmpPipe_reader_writerselfs   &1/usr/lib/python3.14/concurrent/futures/process.py__init___ThreadWakeup.__init__E   s.    ^^%
%'WWE%:"dl    c                   V P                   ;_uu_ 4        V P                  '       g<   R V n        V P                  P                  4        V P                  P                  4        RRR4       R#   + '       g   i     R# ; iTN)r   r
   r   closer   r   s   &r   r   _ThreadWakeup.closeJ   sI     ZZZ<<<#""$""$	 ZZZs   AA--A>	c                    V P                   ;_uu_ 4        V P                  '       g   V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; i)r   N)r   r
   r   
send_bytesr   s   &r   wakeup_ThreadWakeup.wakeupV   s2    ZZZ<<<'', ZZZs   .AA	c                    V P                   '       d   \        R 4      hV P                  P                  4       '       d   V P                  P	                  4        K<  R# )z!operation on closed _ThreadWakeupN)r
   RuntimeErrorr   poll
recv_bytesr   s   &r   clear_ThreadWakeup.clear[   s?    <<<BCCll!!LL##% "r   )r
   r   r   r   N)
__name__
__module____qualname____firstlineno__r   r   r   r$   __static_attributes____classdictcell____classdict__s   @r   r   r   D   s     ;

%-
& &r   r   c                      R s \        \        P                  4       4      p V  F  w  rVP	                  4        K  	  V  F  w  r1VP                  4        K  	  R# r   )_global_shutdownlist_threads_wakeupsitemsr   join)r2   _thread_wakeupts       r   _python_exitr7   b   sL    !'')*E! " 	 r   c                   ,   a  ] tR t^t o R tR tRtV tR# )_RemoteTracebackc                    Wn         R # Ntb)r   r=   s   &&r   r   _RemoteTraceback.__init__   s    r   c                    V P                   # r;   r<   r   s   &r   __str___RemoteTraceback.__str__   s    wwr   r<   N)r&   r'   r(   r)   r   r@   r*   r+   r,   s   @r   r9   r9      s      r   r9   c                   ,   a  ] tR t^t o R tR tRtV tR# )_ExceptionWithTracebackc                    R P                  \        \        V4      W4      4      pWn        RV P                  n        RV,          V n        R# ) Nz

"""
%s""")r3   r   typeexc__traceback__r=   )r   rG   r=   s   &&&r   r    _ExceptionWithTraceback.__init__   s;    WW%d3i9: "& 2%r   c                >    \         V P                  V P                  33# r;   )_rebuild_excrG   r=   r   s   &r   
__reduce__"_ExceptionWithTraceback.__reduce__   s    dhh000r   rG   r=   N)r&   r'   r(   r)   r   rL   r*   r+   r,   s   @r   rC   rC      s     &1 1r   rC   c                 &    \        V4      V n        V # r;   )r9   	__cause__rN   s   &&r   rK   rK      s    $R(CMJr   c                   &   a  ] tR t^t o R tRtV tR# )	_WorkItemc                6    Wn         W n        W0n        W@n        R # r;   )futurefnargskwargs)r   rT   rU   rV   rW   s   &&&&&r   r   _WorkItem.__init__   s    	r   )rV   rU   rT   rW   Nr&   r'   r(   r)   r   r*   r+   r,   s   @r   rR   rR            r   rR   c                   *   a  ] tR t^t o RR ltRtV tR# )_ResultItemNc                6    Wn         W n        W0n        W@n        R # r;   )work_id	exceptionresultexit_pid)r   r^   r_   r`   ra   s   &&&&&r   r   _ResultItem.__init__   s    " r   )r_   ra   r`   r^   NNNrY   r,   s   @r   r\   r\      s     ! !r   r\   c                   &   a  ] tR t^t o R tRtV tR# )	_CallItemc                6    Wn         W n        W0n        W@n        R # r;   )r^   rU   rV   rW   )r   r^   rU   rV   rW   s   &&&&&r   r   _CallItem.__init__   s    	r   )rV   rU   rW   r^   NrY   r,   s   @r   re   re      rZ   r   re   c                   B   a a ] tR t^t oRV 3R lltV 3R ltRtVtV ;t# )
_SafeQueuec               @   < W0n         W@n        \        SV `  WR 7       R# ))ctxN)pending_work_itemsr5   superr   )r   max_sizerk   rl   r5   	__class__s   &&$$$r   r   _SafeQueue.__init__   s    "4*+r   c                  < \        V\        4      '       d   \        \        V4      WP                  4      p\        R P                  RP                  V4      4      4      Vn        V P                  P                  VP                  R4      pV P                  P                  4        Ve   VP                  P                  V4       R# R# \         SV `E  W4       R# )z

"""
{}"""rE   N)
isinstancere   r   rF   rH   r9   formatr3   rP   rl   popr^   r5   r   rT   set_exceptionrm   _on_queue_feeder_error)r   eobjr=   	work_itemro   s   &&&  r   rv   !_SafeQueue._on_queue_feeder_error   s    c9%%!$q'1oo>B*>+@+@+MNAK//33CKKFI%%' $  ..q1 % G*12r   )rl   r5   )    )	r&   r'   r(   r)   r   rv   r*   r+   __classcell__ro   r-   s   @@r   ri   ri      s     ,
3 3r   ri   c                 6    V Uu. uF  q ! V!  NK
  	  up# u upi r;    )rU   chunkrV   s   && r   _process_chunkr      s      #((%$BI%(((s   c           	           V P                  \        WW4R 7      4       R#   \         d=   p\        YUP                  4      pT P                  \        YTR7      4        Rp?R# Rp?ii ; i))r`   r_   ra   r_   ra   N)putr\   BaseExceptionrC   rH   )result_queuer^   r`   r_   ra   rw   rG   s   &&&&&  r   _sendback_resultr      s`    9W/8M 	N 9%a9W.68 	9 	99s     A'1A""A'c                 l   Ve    V! V!   ^ pR p V P	                  RR7      pVf'   VP                  \        P                  ! 4       4       R # Ve%   V^,          pWT8  d   \        P                  ! 4       p VP                  ! VP                  / VP                  B p\        WP                  VVR7       ??Vf   K  R #   \          d&    \        P                  P                  RRR7        R # i ; i  \          d8   p	\        YP                  4      p
\        YP                  T
TR7        R p	?	LyR p	?	ii ; i)NzException in initializer:T)exc_infoblock)r`   ra   r   )r   r   LOGGERcriticalgetr   osgetpidrU   rV   rW   r   r^   rC   rH   )
call_queuer   initializerinitargs	max_tasks	num_tasksra   	call_itemrrw   rG   s   &&&&&      r   _process_workerr      s%    	" IH
NNN.	RYY[) NI%99;		innA	0@0@AA \+<+<Q&.0 G  	LL!!"=!M 		*  	0)!__=C\+<+<&.0 0	0s)   B> 6&C1 >,C.-C.1D3<-D..D3c                   ~   a a ] tR tRt oV 3R ltR tR tR tR tR t	R t
R	 tR
 tR tR tRR ltR tRtVtV ;t# )_ExecutorManagerThreadi  c                  < VP                   V n        VP                  V n        V P                  \        P
                  P                  3R  lp\        P                  ! W4      V n	        VP                  V n        VP                  V n        VP                  V n        VP                   V n        VP$                  V n        VP(                  V n        \,        SV `]  4        R# )c                 6    V! R 4       VP                  4        R# )z?Executor collected: triggering callback for QueueManager wakeupN)r   )r4   r5   mp_util_debugs   &&&r   
weakref_cb3_ExecutorManagerThread.__init__.<locals>.weakref_cb*  s      1 2  "r   N)_executor_manager_thread_wakeupr5   _shutdown_lockshutdown_lockr   utildebugweakrefrefexecutor_reference
_processes	processes_call_queuer   _result_queuer   	_work_idswork_ids_queue_max_tasks_per_childmax_tasks_per_child_pending_work_itemsrl   rm   r   )r   executorr   ro   s   && r   r   _ExecutorManagerThread.__init__  s    
 &EE%44 &*%7%7%'WW]]	# #*++h"C ",, #.. %22 '00 $,#@#@  #+">">r   c                f     V P                  4        T P	                  4       w  r4pT'       d   T P                  T4       R# Te   T P                  T4       TP                  RJpT'       d6   T P                  P                  TP                  4      pTP                  4        ?T P                  4       ;p'       dR   T'       d/   T P                  ;_uu_ 4        TP                  4        RRR4       MTP                  P                  4        ?T P                  4       '       g   EK#  T P!                  4        T P                  4        T P"                  '       d   EKX  T P%                  4        R#   \         d(   p\        T4      pT P                  T4        Rp?R# Rp?ii ; i  + '       g   i     L; ir   )add_call_item_to_queuer   r   terminate_brokenwait_result_broken_or_wakeupprocess_result_itemra   r   rt   r3   r   r   _adjust_process_count_idle_worker_semaphorereleaseis_shutting_downflag_executor_shutting_downrl   join_executor_internals)r   rG   causeresult_item	is_brokenprocess_exitedpr   s   &       r   run_ExecutorManagerThread.runJ  s[    ++- -1,M,M,O)KE%%e,&((5!,!5!5T!A!**;+?+?@AFFH  #668888%!///$::< 0/ !77??A $$&&002
 ++- ...002U ! (-%%e,0 0/s#   E+ F +F6FF F0	c                    V P                   P                  4       '       d   R#  V P                  P                  RR7      pV P                  V,          pVP
                  P                  4       '       dJ   V P                   P                  \        VVP                  VP                  VP                  4      R R7       K  V P                  V K    \        P                   d     R# i ; i)TNFr   )r   fullr   r   rl   rT   set_running_or_notify_cancelr   re   rU   rV   rW   queueEmpty)r   r^   ry   s   &  r   r   -_ExecutorManagerThread.add_call_item_to_queue~  s     ##%%--111> !33G<	##@@BBOO''	'2;,,2;..2;2B2B)D /3	 ( 4 //8 ;; s   C C%$C%c                   V P                   P                  pV P                  P                  pW.p\        V P                  P                  4       4       Uu. uF  qDP                  NK  	  pp\        P                  P                  W5,           4      pR pRpR p	W9   d    VP                  4       p	RpMW&9   d   RpV P                  P                  4        WV3# u upi   \         d   p
\        T
4      p R p
?
L>R p
?
ii ; iNTF)r   r   r5   r0   r   valuessentinelr   
connectionwaitrecvr   r   r$   )r   result_readerwakeup_readerreadersr   worker_sentinelsreadyr   r   r   rG   s   &          r   r   3_ExecutorManagerThread.wait_result_broken_or_wakeup  s     ))11**22 004T^^5J5J5L0MN0M1JJ0MN""7#=>	!.+002!	 #I  "u,,% O ! .(-.s   CC C;&C66C;c                   V P                   P                  VP                  R 4      pVe]   VP                  e(   VP                  P                  VP                  4       R # VP                  P                  VP                  4       R # R # r;   )rl   rt   r^   r_   rT   ru   
set_resultr`   )r   r   ry   s   && r   r   *_ExecutorManagerThread.process_result_item  sm    
 ++//0C0CTJ	 $$0  ..{/D/DE  ++K,>,>?	 !r   c                n    V P                  4       p\        ;'       g    VR J ;'       g    VP                  # r;   )r   r/   _shutdown_thread)r   r   s   & r   r   '_ExecutorManagerThread.is_shutting_down  s>    **,
 ! - -H$4 - -,,	.r   c                V   V P                  4       pVe   RVn        RVn        R p\        R4      pVe$   \	        RRP                  V4       R24      Vn        V P                  P                  4        F"  w  rE VP                  P                  V4       ?K$  	  V P                  P                  4        V P                  P                  4        F  pVP!                  4        K  	  V P"                  P%                  4        V P'                  RR7       R #   \        P                   d     Li ; i)NzKA child process terminated abruptly, the process pool is not usable anymoreTz^A process in the process pool was terminated abruptly while the future was running or pending.z
'''
rE   z''')broken)r   _brokenr   BrokenProcessPoolr9   r3   rP   rl   r2   rT   ru   r   InvalidStateErrorr$   r   r   	terminater   _terminate_broken_join_executor_internals)r   r   r   bper^   ry   r   s   &&     r   r   (_ExecutorManagerThread._terminate_broken  s    **,!1H )-H%H   !6 7 ,"''%.)-/CM #'"9"9"?"?"AG  ..s3  #B 	%%' &&(AKKM ) 	))+ 	%%T%2% ** 
 s   7DD('D(c                    V P                   ;_uu_ 4        V P                  V4       R R R 4       R #   + '       g   i     R # ; ir;   )r   r   )r   r   s   &&r   r   '_ExecutorManagerThread.terminate_broken  s+    ""5)  s	   1A	c                   V P                  4       pVe   RVn        VP                  '       dp   / pV P                  P	                  4        F+  w  r4VP
                  P                  4       '       d   K'  WBV&   K-  	  W n          V P                  P                  4        K  R # R #   \        P                   d     Mi ; iRTn        R # r   )r   r   _cancel_pending_futuresrl   r2   rT   cancelr   
get_nowaitr   r   )r   r   new_pending_work_itemsr^   ry   s   &    r   r   2_ExecutorManagerThread.flag_executor_shutting_down  s     **,(,H%/// *,&*.*A*A*G*G*I&G$++2244:Cw7 +J +A' ++668 0    !;;  490s   B! !B98B9c                   V P                  4       p^ pW!8  dW   V P                  4       ^ 8  d@   \        W,
          4       F(  p V P                  P                  R4       V^,          pK*  	  KZ  R# R#   \        P
                   d      Kw  i ; i)r{   N)get_n_children_aliveranger   
put_nowaitr   Full)r   n_children_to_stopn_sentinels_sentis   &   r   shutdown_workers'_ExecutorManagerThread.shutdown_workers  s    !668  4--/!3-@AOO..t4$)$ B 4 5 zz s   $A11B
Bc                    V P                   ;_uu_ 4        V P                  4        R R R 4       R #   + '       g   i     R # ; ir;   )r   r   r   s   &r   r   ._ExecutorManagerThread.join_executor_internals%  s)    ))+  s	   0A	c                d   V'       g   V P                  4        V P                  P                  4        V P                  P                  4        V P                  P                  4        V P
                  P                  4        F+  pV'       d   VP                  4        VP                  4        K-  	  R # r;   )	r   r   r   join_threadr5   r   r   r   r3   )r   r   r   s   && r   r   /_ExecutorManagerThread._join_executor_internals)  ss    !!# 	##%  " &&(AFFH )r   c                V    \        R  V P                  P                  4        4       4      # )c              3   @   "   T F  qP                  4       x  K  	  R # 5ir;   )is_alive).0r   s   & r   	<genexpr>>_ExecutorManagerThread.get_n_children_alive.<locals>.<genexpr><  s     A)@A::<<)@s   )sumr   r   r   s   &r   r   +_ExecutorManagerThread.get_n_children_alive:  s     A)>)>)@AAAr   )	r   r   r   rl   r   r   r   r5   r   )F)r&   r'   r(   r)   r   r   r   r   r   r   r   r   r   r   r   r   r   r*   r+   r|   r}   s   @@r   r   r     sQ     ,\2h.-<@.-3^*94,"B Br   r   c                  P   \         '       d   \        '       d   \        \        4      hR s  ^ RIp  \
        P                  ! R4      pTR8X  d   R# TR8  d   R# RT,          s\        \        4      h  \         d    Rs\        \        4      hi ; i  \        \        3 d     R# i ; i)TNzxThis Python build lacks multiprocessing.synchronize, usually due to named semaphores being unavailable on this platform.SC_SEM_NSEMS_MAX   z@system provides too few semaphores (%d available, 256 necessary))	_system_limits_checked_system_limitedNotImplementedErrormultiprocessing.synchronizeImportErrorr   sysconfAttributeError
ValueError)multiprocessing	nsems_maxs     r   _check_system_limitsr  C  s    ?%o66!3*JJ12	 B 	C 	46?@O
o
..+  3F 	 "/223 J' s   A0 B 0BB%$B%c              #   x   "   V  F/  pVP                  4        V'       g   K  VP                  4       x  K  	  R # 5ir;   )reversert   )iterableelements   & r   _chain_from_iterable_of_listsr  c  s,      g++- s   ::c                       ] tR tRtRtR# )r   io  r   N)r&   r'   r(   r)   r*   r   r   r   r   r   o  s    r   r   r   killc                   *  a a ] tR tRt oRRR/R lltR tR tR tR tR	 t	]
P                  P                  P                  ]	n        R
RR^RR/V 3R lltRRR/R llt]
P                  P                  P                  ]n        R tR tR tRtVtV ;t# )ProcessPoolExecutori~  Nr   c               H   \        4        VfZ   \        P                  ! 4       ;'       g    ^V n        \        P
                  R8X  d    \        \        V P                  4      V n        MJV^ 8:  d   \        R4      h\        P
                  R8X  d   V\        8  d   \        R\         24      hWn        Vf1   Ve   \        P                  ! R4      pM\        P                  ! 4       pW n        V P                  P                  RR7      R8g  V n        Ve   \        V4      '       g   \        R4      hW0n        W@n        Ve`   \%        V\&        4      '       g   \        R	4      hV^ 8:  d   \        R
4      hV P                  P                  RR7      R8X  d   \        R4      hWPn        R V n        / V n        RV n        \0        P2                  ! 4       V n        \0        P6                  ! ^ 4      V n        RV n        ^ V n        / V n        RV n         \C        4       V n"        V P                  \F        ,           p\I        W`P                  V P>                  V PD                  R7      V n%        RV PJ                  n&        VPO                  4       V n(        \R        PT                  ! 4       V n+        R # )Nwin32z"max_workers must be greater than 0zmax_workers must be <= spawnF)
allow_noneforkzinitializer must be a callablez&max_tasks_per_child must be an integerz max_tasks_per_child must be >= 1zpmax_tasks_per_child is incompatible with the 'fork' multiprocessing start method; supply a different mp_context.)rn   rk   rl   r5   T),r  r   process_cpu_count_max_workerssysplatformmin_MAX_WINDOWS_WORKERSr  r   get_context_mp_contextget_start_method#_safe_to_dynamically_spawn_childrencallable	TypeError_initializer	_initargsrr   intr   _executor_manager_threadr   r   r   r   r   	Semaphorer   r   _queue_countr   r   r   r   EXTRA_QUEUED_CALLSri   r   _ignore_epipeSimpleQueuer   r   r   r   )r   max_workers
mp_contextr   r   r   
queue_sizes   &&&&&$ r   r   ProcessPoolExecutor.__init__  sY   ( 	 " 4 4 6 ; ;!D||w&$'(<(,(9(9%;! a !EFF,,')22 -.B-CDF F !,".^^G4
^^-
%   11U1CvM 	0 "8K+@+@<=='!*1377 HII$) !CDD00E0BfL  "C D D %8! )-%  !&'nn.&/&9&9!&<##% ',$ 0=, &&);;
%%5%5#77>>@ *.&'335r   c                    V P                   fl   V P                  '       g   V P                  4        \        V 4      V n         V P                   P	                  4        V P
                  \        V P                   &   R # R # r;   )r3  r-  _launch_processesr   startr   r1   r   s   &r   _start_executor_manager_thread2ProcessPoolExecutor._start_executor_manager_thread  sc    ((0;;;&&(,B4,HD)))//144 T::; 1r   c                    V P                   f   R # V P                  P                  RR7      '       d   R # \        V P                   4      pWP                  8  d   V P                  4        R # R # )NF)blocking)r   r   acquirelenr%  _spawn_process)r   process_counts   & r   r   )ProcessPoolExecutor._adjust_process_count  s]     ??" &&...>>DOO,,,, ! -r   c                    \        \        V P                  4      V P                  4       F  pV P	                  4        K  	  R # r;   )r   rE  r   r%  rF  )r   r4   s   & r   r>  %ProcessPoolExecutor._launch_processes	  s1    
 s4??+T->->?A! @r   c                   V P                   P                  \        V P                  V P                  V P
                  V P                  V P                  3R 7      pVP                  4        WP                  VP                  &   R# ))targetrV   N)r+  Processr   r   r   r0  r1  r   r?  r   pid)r   r   s   & r   rF  "ProcessPoolExecutor._spawn_process  sk    $$"""$$##..++	- % . 	
	!"r   c                  V P                   ;_uu_ 4        V P                  '       d   \        V P                  4      hV P                  '       d   \	        R 4      h\
        '       d   \	        R4      h\        P                  ! 4       p\        WAW#4      pWPP                  V P                  &   V P                  P                  V P                  4       V ;P                  ^,          un
        V P                  P                  4        V P                  '       d   V P!                  4        V P#                  4        VuuRRR4       #   + '       g   i     R# ; i)z*cannot schedule new futures after shutdownz6cannot schedule new futures after interpreter shutdownN)r   r   r   r   r!   r/   r   FuturerR   r   r5  r   r   r   r   r-  r   r@  )r   rU   rV   rW   fws   ""*,  r   submitProcessPoolExecutor.submit  s       |||'55$$$"#OPP" $: ; ; A!.A:;$$T%6%67NNt001"00779777**,//1+ !   s   9E E &CE  E	timeout	chunksize
buffersizec          	        < V^8  d   \        R4      h\        SV `	  \        \        V4      \
        P                  ! \        V!  V4      VVR7      p\        V4      # )   zchunksize must be >= 1.)rV  rX  )	r  rm   mapr   r   	itertoolsbatchedzipr  )r   rU   rV  rW  rX  	iterablesresultsro   s   &&$$$* r   r[  ProcessPoolExecutor.map5  s[    4 q=677'+gnb9'//YK&-)3  5 -W55r   cancel_futuresFc                  V P                   ;_uu_ 4        W n        R V n        V P                  e   V P                  P	                  4        RRR4       V P
                  e#   V'       d   V P
                  P                  4        RV n        RV n        V P                  e#   V'       d   V P                  P                  4        RV n        RV n
        RV n        R#   + '       g   i     L; ir   )r   r   r   r   r   r3  r3   r   r   r   r   )r   r   rb  s   &&$r   shutdownProcessPoolExecutor.shutdownX  s       +9($(D!33?44;;= ! ((4))..0 )-%)d$$&!/3,# ! s   6CC(	c                   V\         9  d   \        R V: 24      h/ pV P                  '       d   V P                  P                  4       pV P	                  RRR7       V'       g   R# VP                  4        FX  p VP                  4       '       g   K    T\        8X  d   TP                  4        K;  T\        8X  d   TP                  4        KX  KZ  	  R#   \         d     Kl  i ; i  \         d     K~  i ; i)zUnsupported operation: FT)r   rb  N)_SHUTDOWN_CALLBACK_OPERATIONr  r   copyrd  r   r  
_TERMINATEr   _KILLr  ProcessLookupError)r   	operationr   procs   &&  r   _force_shutdown#ProcessPoolExecutor._force_shutdownn  s     886ymDEE	???,,.I
 	56$$&D}} '
*NN$%'IIK ( '   & s*   :CC&1C&C#"C#&C54C5c                .    V P                  \        R 7      # )rl  )rn  ri  r   s   &r   terminate_workers%ProcessPoolExecutor.terminate_workers  s     ##j#99r   c                .    V P                  \        R 7      # rq  )rn  rj  r   s   &r   kill_workers ProcessPoolExecutor.kill_workers  s     ##e#44r   )r   r   r   r3  r   r   r1  r0  r   r%  r+  r   r   r5  r   r-  r   r   r   )NNNr   )T)r&   r'   r(   r)   r   r@  r   r>  rF  rT  r   Executor__doc__r[  rd  rn  rr  ru  r*   r+   r|   r}   s   @@r   r  r  ~  s     j'GKj'X5"("	#. ^^**22FN!6$ !6! !6 !6F4E 4( ~~..66H'R	:	5 	5r   r  rc   r;   )3
__author__r   concurrent.futuresr   r   r  r   multiprocessing.connectionmultiprocessing.queuesr   r   r   	functoolsr   r\  r&  	tracebackr   WeakKeyDictionaryr1   r/   r   r7   _register_atexitr6  r)  	Exceptionr9   rC   rK   objectrR   r\   re   ri   r   r   r   Threadr   r  r  r  r  BrokenExecutorr   ri  rj  rg  rw  r  r   r   r   <module>r     sC  \ 2
 	 $   " (     
 & ,,.  & &< 
  < (    y 	1 	1 !& ! 3 3,	)	93llBY-- lB^	  /@	 ,,  
 	  m5%.. m5r   