
    CjQ&                       % S SK Jr  SrS SKrS SKrS SKrS SKrS SKrS SKJ	r	  S SK
Jr  S SKJr  S SKJrJr  SS	KJrJrJr  SS
KJr  SSKJr  SSKJr  SSKJrJr  SSKJrJ r J!r!  SSK"J#r#J$r$  SSK%J&r&  \RN                  S:  a	  S SKJ(r(J)r)  OS SK*J(r(J)r)  Sr+\" S5      r,\(" S5      r-\#" S5      r.S\/S'   \#" S5      r0S\/S'   \#" S5      r1S\/S'   SSS.         S"S jjr2S#S jr3S$S  jr4\5S!:X  a  \4" 5         gg)%    )annotations)current_default_process_limiterprocess_workerrun_syncN)deque)Callable)
ModuleType)TypeVarcast   )current_timeget_async_backendget_cancelled_exc_class)BrokenWorkerProcess)open_process)CapacityLimiter)CancelScope
fail_after)ByteReceiveStreamByteSendStreamProcess)RunVarcheckpoint_if_cancelled)BufferedByteReceiveStream)      )TypeVarTupleUnpacki,  T_RetvalPosArgsT_process_pool_workerszRunVar[set[Process]]_process_pool_idle_workersz$RunVar[deque[tuple[Process, float]]]_default_process_limiterzRunVar[CapacityLimiter]F)cancellablelimiterc          	     H	  ^^^^#    SUUUU4S jjn[        5       I Sh  vN   [        R                  " SX4[        R                  S9n [        R                  5       m[        R                  5       nU=(       d
    [        5        ISh  vN   U(       Ga   UR                  5       u  mnTR                  c  [        [         TR"                  5      m[%        [        [&        TR(                  5      5      m[+        5       n/ n	U(       a`  XS   S   -
  [,        :  a  OMUR/                  5       u  pU
R1                  5         TR3                  U
5        U	R5                  U
5        U(       a  M`  [7        SS9   U	 H  nUR9                  5       I Sh  vN   M     SSS5        GOUTR3                  T5        U(       a  GM   [:        R<                  S	S
[>        /n[A        U[B        RD                  [B        RD                  S9I Sh  vN m [        [         TR"                  5      m[%        [        [&        TR(                  5      5      m[G        S5         TRI                  S5      I Sh  vN nSSS5        WS:w  a  [K        SU< 35      e[M        [:        RN                  S   SS5      n[        R                  " S[:        RP                  U4[        R                  S9nU" U5      I Sh  vN   TRW                  T5        [7        U(       + S9    [        [X        U" U5      I Sh  vN 5      TT;   a  UR5                  T[+        5       45        sSSS5        sSSS5      ISh  vN   $  GN:! [         a[    [        5       m[        5       n[        R                  T5        [        R                  U5        [        5       R                  T5         GNNf = f GN; GN?! , (       d  f       GN@= f GN GN! , (       d  f       GN= f GN! [J        [S        5       4 a    e [T         a!  nTR1                  5         [K        S5      UeSnAff = f GN$ N! TT;   a  UR5                  T[+        5       45        f f = f! , (       d  f       O= fSSS5      ISh  vN    g! , ISh  vN  (       d  f       g= f7f)a  
Call the given function with the given arguments in a worker process.

If the ``cancellable`` option is enabled and the task waiting for its completion is
cancelled, the worker process running it will be abruptly terminated using SIGKILL
(or ``terminateProcess()`` on Windows).

:param func: a callable
:param args: positional arguments for the callable
:param cancellable: ``True`` to allow cancellation of the operation while it's
    running
:param limiter: capacity limiter to use to limit the total amount of processes
    running (if omitted, the default limiter is used)
:raises NoEventLoopError: if no supported asynchronous event loop is running in the
    current thread
:return: an awaitable that yields the return value of the function.

c                  >#     T	R                  U 5      I S h  vN   TR                  SS5      I S h  vN nUR                  S5      u  p#US;  a  [        SU< 35      eTR	                  [        U5      5      I S h  vN n[        R                   " U5      nUS:X  a  [        U[        5      (       d   eUeU$  N N N?! [         a  nT
R                  T5         TR                  5         [        SS9   TR                  5       I S h  vN    S S S 5        O!! , (       d  f       O= f! [         a     Of = f[        U[        5       5      (       a  e [        UeS nAff = f7f)	N   
2       )   RETURN	   EXCEPTION-Worker process returned unexpected response: Tshieldr,   )sendreceive_untilsplitRuntimeErrorreceive_exactlyintBaseExceptiondiscardkillr   acloseProcessLookupError
isinstancer   r   pickleloads)pickled_cmdresponsestatuslengthpickled_responseexcretvalbufferedprocessstdinworkerss          b/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/anyio/to_process.pysend_raw_command"run_sync.<locals>.send_raw_commandF   s<    	3**[)))%33E2>>H%^^D1NF66"CH<P  &.%=%=c&k%JJ ./\!fm4444LM9 *>  K 	3OOG$ -!..*** .--%  #6899)s2	3s   E!B? B9B? B;A	B? =B=>B? 7E!9B? ;B? =B? ?
E	ED(4DD	DD(E
D%	!D($E%D((
D52E4D55$EEE!Nrun)protocolr   r   Tr.   z-uz-m)rG   stdout         READY
r-   __main____file__initz*Error during worker process initialization)r>   bytesreturnobject)-r   r<   dumpsHIGHEST_PROTOCOLr!   getr"   LookupErrorsetr   r   #setup_process_pool_exit_at_shutdownr   pop
returncoder   r   rG   r   r   rN   r   WORKER_MAX_IDLE_TIMEpopleftr8   removeappendr   r9   sys
executable__name__r   
subprocessPIPEr   receiver   getattrmodulespathr   r6   addr   )funcr$   r%   argsrJ   requestidle_workers
idle_sincenowkilled_processesprocess_to_killkilled_processcommandmessagemain_module_pathpickledrC   rE   rF   rG   rH   s                    @@@@rI   r   r   -   s    2 B "
###llE4.9P9PQGI'++-1557 ;9;;; "."2"2"4GZ!!)^W]];4*GNN; #n24 "!_Q//2FF2>2F2F2H/O#((*NN?3$++O< #l !-*:,33555 +; . NN7#7 l: ~~tT8<G(zz G^W]];4*GNN;  ^$,$4$4Q$77G $ j(-G{S  $+3;;z+BJPT#U  ,,SXX'78#44 'w/// KK K0CH,<W,E&EFg% '',.(AB 10E <;; $  I%w!!'*"&&|4??HI <6 6 .- 8 $^ 0')@)BC   )@ 'FI <L g% '',.(AB &	 10E <;;;;;sj  R"M)R"
(M 2R"	O
R"CR&	R/O
O
	O
"R6AR8O9R>AO7O"OO" A:O7O4O7R>Q% P>P9P>!Q%>	RR"P<R"A!O=R" OR"O


O		RO""
O1	,	O77P6P11P66R9P><R">$Q""Q%%
Q3	/R6R"RR"RRRR"c                      [         R                  5       $ ! [         aA    [        [        R
                  " 5       =(       d    S5      n [         R                  U 5        U s $ f = f)z
Return the capacity limiter that is used by default to limit the number of worker
processes.

:return: a capacity limiter object

   )r#   rZ   r[   r   os	cpu_countr\   )r%   s    rI   r   r      sM    '++-- !",,."5A6 $$W-s    AA! A!c                 f   [         R                  n [         R                  n[        [        R
                  5      [         l        [        [        R
                  S5      [         l        UR                  R                  S5         S =p# [        R                  " U R                  5      tpEUS:X  a  Uu  pe U" U6 nOUS:X  a  Uu  [         l        n[         R                  S	 U(       a  [        R                  R                  U5      (       ab   [        S5      n	[        R                   " USS9n
U	R"                  R%                  U
5        U	=[         R                  S'   [         R                  S'    Ub(  Sn[        R(                  " U[        R*                  5      nO(S	n[        R(                  " U[        R*                  5      n UR                  R                  S
U[-        U5      4-  5        UR                  R                  U5        [/        U[0        5      (       a  UeGM  ! [         a  nUn S nANS nAff = f! [         a  nUn S nANS nAff = f! [&         a     g [         a  nUn S nAGNS nAff = f! [         a3  nUnSn[        R(                  " U[        R*                  5      n S nANS nAff = f)NwrQ   rL   rT   rR   __mp_main__)run_namer,   r+   s   %s %d
)rd   rG   rN   openr}   devnullbufferwriter<   loadr6   rl   rk   isfiler	   runpyrun_path__dict__updateEOFErrorrX   rY   lenr;   
SystemExit)rG   rN   rD   	exceptionrw   ro   rn   rC   ry   mainmain_contentr@   rz   s                rI   r   r      s*    IIEZZFRZZ CIbjj#&CJ
MM
#
!!	(#[[6NG %!
$!4[F F"-1**KK
+#7G(H(H()-8',~~,}( ,,\:OSSJ/#++m2L
	A$% ,,y&2I2IJ" ,,vv/F/FG 	J&#g,)??@G$ i,,Oa  % $ #I$  ) ($'	(3  	 	I	@  	AI!Fll3(?(?@G	Asm   !I 2H 	A!H5 +*I3 'I3 
H2&H--H25
I?II
I0	I0#I++I03
J0=)J++J0rR   )
rn   z&Callable[[Unpack[PosArgsT]], T_Retval]ro   zUnpack[PosArgsT]r$   boolr%   zCapacityLimiter | NonerV   r   )rV   r   )rV   None)6
__future__r   __all__r}   r<   r   rg   rd   collectionsr   collections.abcr   typesr	   typingr
   r   _core._eventloopr   r   r   _core._exceptionsr   _core._subprocessesr   _core._synchronizationr   _core._tasksr   r   abcr   r   r   lowlevelr   r   streams.bufferedr   version_infor   r   typing_extensionsr`   r   r    r!   __annotations__r"   r#   r   r   r   rf        rI   <module>r      s    " 
    
  $    V V 2 - 3 1 ; ; 5 7w++6 :
#.45L.M + MCI D @  5;;U4V 1 V &*	OC
0OCOC OC $	OC
 OCd 9x z r   