
    zbj                       % S SK Jr  S SKrS SK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
JrJrJrJr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  S S	KJr  S S
KJr  S SKJ r J!r!  S SKJ"r"  S SK#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-  S SK.r/S SK0r/S SK1J2r2J3r3J4r4  S SK0J5r5J6r6J7r7J8r8J9r9  S SK:J;r<  S SK=J>r>  SSK?J@r@JArAJBrBJCrCJDrDJErEJFrF  SSKGJHrH  SSKIJJrJJKrKJLrLJMrM  SSKNJOrO  SSKPJQrQ  SSKRJSrT  SSKRJUrV  SSKRJWrX  SSKRJYrYJZrZ  SSKRJ[r\  SSK]J^r_  SSK]J`r`  SSKFJaraJbrbJcrc  SS KdJereJfrf  SS!KgJhrhJiriJjrjJkrk  \%(       a  S S"KlJmrm  SS#KnJoro  \R                  S$:  a  S S%KqJrrr  \R                  S&:  a  S S'K#JsrsJtrtJuru  OS S(KvJwrw  S S'KqJsrsJtrtJuru  \+" S)5      rx\+" S*5      ry\+" S+S,S-9rz\+" S.\{\a5      r|\t" S/5      r}\*" S05      r~    SiS1 jr\/GR                   GR                  r " S2 S3\_5      r^\r" S45      r " S5 S6\FGR                  \h   \'\h   5      r " S7 S8\FGR
                  5      r\" S9S:9 " S; S<\FGR                  5      5       r\" S9S:9 " S= S>\FGR                  5      5       r\" S9S:9 " S? S@\FGR                  5      5       r " SA SB\/R                  GR                  5      r\" SC5      rSD\SC'   SjSE jr " SF SG\'\|   5      r " SH SI\\FGR"                  5      r " SJ SK\\FGR$                  5      r " SL SM\\FGR&                  5      r " SN SO\\FGR&                  5      r " SP SQ\\a   \FGR,                  5      r " SR SS\\a   \FGR.                  5      r " ST SU\\{   \FGR0                  5      r " SV SW\\{   \FGR2                  5      r " SX SY\V5      rU " SZ S[\X5      rW " S\ S]\\5      r[ " S^ S_\T5      rS\" S`5      rSD\S`'    " Sa Sb5      r " Sc Sd\FGR8                  5      r " Se Sf\D5      r " Sg Sh\e5      r\rg)k    )annotationsN)AsyncGeneratorAsyncIterator	AwaitableCallable
Collection	CoroutineIterableSequence)AbstractContextManager)Context)	dataclass)partialwraps)IOBase)PathLike)Signals)AddressFamily
SocketKind)TracebackType)
IOTYPE_CHECKINGAnyGenericLiteralNoReturn	ParamSpecTypeVarcastoverload)ErrorOutcomeValue)current_root_taskcurrent_tasknotify_closingwait_readablewait_writable)
SocketType)run_sync   )CapacityLimiterStatisticsEventStatisticsLockStatisticsRunFinishedErrorTaskInfo
WouldBlockabc)claim_worker_thread)BrokenResourceErrorBusyResourceErrorClosedResourceErrorEndOfStream)convert_ipv6_sockaddr)create_memory_object_streamCapacityLimiterEventLock)ResourceGuardSemaphoreStatistics	SemaphoreCancelScope)
TaskHandle)IPSockAddrTypeUDPPacketTypeUNIXDatagramPacketType)AsyncBackendStrOrBytesPath)T_contracall_for_coroutineget_callable_nameget_coro_name)FileDescriptorLike)MemoryObjectSendStream)      )sentinel)rR      )SelfTypeVarTupleUnpack)BaseExceptionGroupTT_RetvalT_coT)	covariant
T_SockAddrPosArgsTPc                4   ^  [        T 5      SU 4S jj5       nU$ )Nc                    >^ T" U 0 UD6m[        T[        5      (       a  T$ [        T[        5      (       d  T$ [        T5      SU4S jj5       nU" 5       $ )Nc                 $   >#    T I S h  vN $  N7fN )	awaitables   ڑ/tmp/claude-0/-home-danvics-docker-quiz/c1e0577a-e42c-4a3d-b1ea-3edd61103a4e/scratchpad/stt/lib/python3.13/site-packages/anyio/_backends/_trio.pyinner_wrapper;ensure_returns_coro.<locals>.wrapper.<locals>.inner_wrapper~   s     &&s   returnr[   )
isinstancer	   r   r   )argskwargsrh   rf   funcs      @rg   wrapper$ensure_returns_coro.<locals>.wrapperr   s\    $)&)	i++Iy11  4[' ' !?"    )rm   P.argsrn   P.kwargsrk   zCoroutine[Any, Any, T_Retval])r   )ro   rp   s   ` rg   ensure_returns_cororu   o   s"     4[# #" Nrr   c                     \ rS rSrSr S     SS jjrSSS jjrSS jr        SS jrSSS jjr	\
SS	 j5       r\R                  SS
 j5       r\
SS j5       r\
SS j5       r\
SS j5       r\R                  SS j5       rSrg)rE      
__originalNc                ,    [         R                  U 5      $ rd   object__new__)clsoriginalrn   s      rg   r}   CancelScope.__new__   s     ~~c""rr   c                L    U=(       d    [         R                  " S0 UD6U l        g Nre   )triorE   _CancelScope__original)selfr   rn   s      rg   __init__CancelScope.__init__   s    "@d&6&6&@&@rr   c                :    U R                   R                  5         U $ rd   )r   	__enter__r   s    rg   r   CancelScope.__enter__   s    !!#rr   c                :    U R                   R                  XU5      $ rd   )r   __exit__r   exc_typeexc_valexc_tbs       rg   r   CancelScope.__exit__   s     ''6BBrr   c                :    U R                   R                  U5        g rd   )r   cancel)r   reasons     rg   r   CancelScope.cancel   s    v&rr   c                .    U R                   R                  $ rd   r   deadliner   s    rg   r   CancelScope.deadline   s    '''rr   c                $    XR                   l        g rd   r   r   values     rg   r   r      s    #( rr   c                .    U R                   R                  $ rd   )r   cancel_calledr   s    rg   r   CancelScope.cancel_called   s    ,,,rr   c                .    U R                   R                  $ rd   )r   cancelled_caughtr   s    rg   r   CancelScope.cancelled_caught       ///rr   c                .    U R                   R                  $ rd   r   shieldr   s    rg   r   CancelScope.shield   s    %%%rr   c                $    XR                   l        g rd   r   r   s     rg   r   r      s    !&rr   rd   )r   trio.CancelScope | Nonern   r|   rk   rV   )r   r   rn   r   rk   Nonerk   rV   r   type[BaseException] | Noner   BaseException | Noner   TracebackType | Nonerk   bool)r   z
str | Nonerk   r   rk   floatr   r   rk   r   rk   r   )r   r   rk   r   )__name__
__module____qualname____firstlineno__	__slots__r}   r   r   r   r   propertyr   setterr   r   r   __static_attributes__re   rr   rg   rE   rE      s    I 26#.#AG#	#
AC,C &C %	C
 
C' ( ( __) ) - - 0 0 & & ]]' 'rr   rE   empty_start_valuec                  @    \ rS rSr% \rS\S'   SrS\S'   S	S
S jjrSr	g)_TrioTaskStatus   zT_contra | objectearly_start_valueNz'trio.TaskStatus[T_contra | None] | Nonereal_task_statusc                    U R                   c%  U R                  [        La  [        S5      eXl        g U R                   R	                  U5        g )Nz.called 'started' twice on the same task status)r   r   r   RuntimeErrorstartedr   s     rg   r   _TrioTaskStatus.started   sC      (%%->>"#STT%*"!!))%0rr   )r   rd   )r   zT_contra | Nonerk   r   )
r   r   r   r   r   r   __annotations__r   r   r   re   rr   rg   r   r      s$    +<(<@D=D1 1rr   r   c                      \ rS rSrSS jrSS jr        SS jrSSS jjrSSS.       SS jjrSS	S
.         SS jjr	Sr
g)	TaskGroup   c                `    SU l         SU l        [        R                  " SS9U l        S U l        g )NFT)strict_exception_groups)_entered_activer   open_nursery_nursery_managercancel_scoper   s    rg   r   TaskGroup.__init__   s+     $ 1 1$ O rr   c                   #    U R                   (       a  [        S5      eSU l         SU l        U R                  R	                  5       I S h  vN U l        [        U R
                  R                  5      U l        U $  N/7f)Nz*TaskGroup cannot be entered more than onceT)r   r   r   r   
__aenter___nurseryrE   r   r   s    rg   r   TaskGroup.__aenter__   sa     ==KLL"33>>@@'(B(BC As   AA<
A:0A<c                8  #     U R                   R                  XU5      I S h  vN AASU l        $  N! [         aL  nUR	                  [
        R                  5      S   (       d  [
        R                  R                  5       Uee S nAff = f! AASU l        f = f7f)NF   )r   	__aexit__r   rY   splitr   	Cancelled_create)r   r   r   r   excs        rg   r   TaskGroup.__aexit__   s     
	!..88FSS  DL T! 	99T^^,Q/nn,,.C7		  DLs=   B3 13 
B3 
B	ABB		B BBNc                b    U R                   (       d  Ub  UR                  5         [        S5      eg )Nz;This task group is not active; no new tasks can be started.)r   closer   )r   coros     rg   _check_activeTaskGroup._check_active   s-    ||

M 	 rr   )namecontextc                  [        U[        5      (       d"  [        SUR                  R                   35      eU R                  U5        [        X5      n[        X5      nUbD  UR                  [        U R                  R                  UR                  UR                  S95        U$ U R                  R                  UR                  UR                  S9  U$ )Nzexpected a coroutine, got r   )rl   r	   	TypeError	__class__r   r   rO   rF   runr   r   
start_soon	_run_coror   )r   r   r   r   
final_namehandles         rg   create_taskTaskGroup.create_task  s     $	**89T9T8UVWW4 "4.
D-KK00&2B2BU  MM$$V%5%5FKK$Hrr   F)r   return_handlec                  ^^^^#        SUUUU4S jjnU R                  5         [        TU5      mU R                  R                  UTS9I S h  vN nU(       a	  UTl        T$ U$  N7f)Nc                   >#    [        5       n[        TTUS9nUR                  [        La  U R	                  UR                  5        OXl        [        UT5      mTR                  5       I S h  vN   g  N7f)N)task_status)r   rM   r   r   r   r   rF   r   )r   wrapper_task_statusr   rm   r   ro   r   s      rg   run_coro_with_task_status2TaskGroup.start.<locals>.run_coro_with_task_status&  sh      #2"3%dD>QRD"44<MM##$7$I$IJ7B4j1F""$$$s   A*A5-A3.A5r   )r   ztrio.TaskStatus[Any]rk   r   )r   rN   r   start_start_value)	r   ro   r   r   rm   r   start_valuer   r   s	    `  `  @@rg   r   TaskGroup.start  sz     	%0	%	% 	% 	&tT2
 MM//%J 0 
 
 "-FM
s   A	A(A&A()r   r   r   r   r   rk   r   r   r   rd   )r   zCoroutine | Nonerk   r   )r   zCoroutine[Any, Any, T_co]r   r|   r   zContext | Nonerk   zTaskHandle[T_co])
ro   7Callable[[Unpack[PosArgsT]], Coroutine[Any, Any, T_co]]rm   zUnpack[PosArgsT]r   r|   r   zLiteral[False, True]rk   r   )r   r   r   r   r   r   r   r   r   r   r   re   rr   rg   r   r      s    !!,! &! %	!
 
!$ "&' 	
   
4 .3 E     	 
 ,  
   rr   r   F)eqc                  8    \ rS rSr% S\S'   SS	S jjrS
S jrSrg)ReceiveStreamWrapperiE  ztrio.abc.ReceiveStream_streamNc                X  #    Ub  US:  a  [        S5      e U R                  R                  U5      I S h  vN nU(       a  [        U5      $ [        e N! [        R                   a  n[        UR
                  eS nAf[        R                   a  n[        UR
                  eS nAff = f7fNr   z$max_bytes must be a positive integer)	
ValueErrorr  receive_somer   r6   	__cause__r4   bytesr7   r   	max_bytesdatar   s       rg   receiveReceiveStreamWrapper.receiveI  s      Y]CDD	9229==D ; >'' 	9%3==8'' 	9%3==8	9sC   B*A AA B*A B')A::B'B""B''B*c                T   #    U R                   R                  5       I S h  vN   g  N7frd   r  acloser   s    rg   r  ReceiveStreamWrapper.acloseY       ll!!###   (&(re   rd   )r
  
int | Nonerk   r  r   )r   r   r   r   r   r  r  r   re   rr   rg   r  r  E  s    ## $rr   r  c                  4    \ rS rSr% S\S'   SS jrS	S jrSrg)
SendStreamWrapperi]  ztrio.abc.SendStreamr  c                  #     U R                   R                  U5      I S h  vN   g  N! [        R                   a  n[        UR                  eS nAf[        R
                   a  n[
        UR                  eS nAff = f7frd   )r  send_allr   r6   r  r4   r   itemr   s      rg   sendSendStreamWrapper.senda  s^     	9,,''---'' 	9%3==8'' 	9%3==8	9s<   A?* (* A?* A<AA<&A77A<<A?c                T   #    U R                   R                  5       I S h  vN   g  N7frd   r  r   s    rg   r  SendStreamWrapper.aclosei  r  r  re   Nr  r  rk   r   r   )r   r   r   r   r   r  r  r   re   rr   rg   r  r  ]  s      9$rr   r  c                      \ rS rSr% S\S'   S\S'   S\S'   S\S'   SS	 jrSS
 jrSS jrSS jrSS jr	\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       rSrg)Processim  ztrio.Process_processabc.ByteSendStream | None_stdinabc.ByteReceiveStream | None_stdout_stderrc                |  #    [        SS9   U R                  (       a"  U R                  R                  5       I S h  vN   U R                  (       a"  U R                  R                  5       I S h  vN   U R                  (       a"  U R                  R                  5       I S h  vN   S S S 5         U R                  5       I S h  vN   g  N N[ N*! , (       d  f       N.= f N! [         aN    U R                  5         [        SS9   U R                  5       I S h  vN    S S S 5        e ! , (       d  f       e = ff = f7fNT)r   )rE   r$  r  r&  r'  waitBaseExceptionkillr   s    rg   r  Process.acloset  s     %{{kk((***||ll))+++||ll))+++ &	))+ +++ &%  	IIKD)iik!! * *)		s   
D</CC2C.C
/2C!C"C&D</C! CC! D<C
CC
CD<C! !#D9D'DD'	D9'
D5	1D99D<c                R   #    U R                   R                  5       I S h  vN $  N7frd   )r"  r*  r   s    rg   r*  Process.wait  s     ]]''))))   '%'c                8    U R                   R                  5         g rd   )r"  	terminater   s    rg   r2  Process.terminate  s    !rr   c                8    U R                   R                  5         g rd   )r"  r,  r   s    rg   r,  Process.kill  s    rr   c                :    U R                   R                  U5        g rd   )r"  send_signal)r   signals     rg   r7  Process.send_signal  s    !!&)rr   c                .    U R                   R                  $ rd   )r"  pidr   s    rg   r;  Process.pid  s    }}   rr   c                .    U R                   R                  $ rd   )r"  
returncoder   s    rg   r>  Process.returncode  s    }}'''rr   c                    U R                   $ rd   )r$  r   s    rg   stdinProcess.stdin  s    {{rr   c                    U R                   $ rd   )r&  r   s    rg   stdoutProcess.stdout      ||rr   c                    U R                   $ rd   )r'  r   s    rg   stderrProcess.stderr  rF  rr   re   Nr   rk   int)r8  r   rk   r   rk   r  )rk   r#  )rk   r%  )r   r   r   r   r   r  r*  r2  r,  r7  r   r;  r>  rA  rD  rH  r   re   rr   rg   r!  r!  m  s    %%))))"*"* ! ! ( (      rr   r!  c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_ProcessPoolShutdownInstrumenti  c                "   > [         TU ]  5         g rd   )super	after_run)r   r   s    rg   rQ  (_ProcessPoolShutdownInstrument.after_run  s    rr   re   r   )r   r   r   r   rQ  r   __classcell__r   s   @rg   rN  rN    s     rr   rN  &current_default_worker_process_limiterztrio.lowlevel.RunVarc                z  #     [         R                  " [        R                  5      I S h  vN   g  N! [         R                   aq    U  H"  nUR
                  b  M  UR                  5         M$     [        SS9   U  H  nUR                  5       I S h  vN    M     S S S 5         g ! , (       d  f        g = ff = f7fr)  )	r   sleepmathinfr   r>  r,  rE   r  )workersprocesss     rg   _shutdown_process_poolr\    s     	'jj""">> 'G!!)  %"nn&&& # &%%%'sa   B;'3 13 B;3 $B8B88B%B
	B%B8#B;%
B4	/B82B;4B88B;c                  P    \ rS rSrS	S jrS
S jr\SS j5       rS
S jrSS jr	Sr
g)_TrioSocketMixini  c                    Xl         SU l        g NF)_trio_socket_closed)r   trio_sockets     rg   r   _TrioSocketMixin.__init__  s    'rr   c                z    U R                   (       a  [        eU R                  R                  5       S:  a  [        eg Nr   )rb  r6   ra  filenor4   r   s    rg   _check_closed_TrioSocketMixin._check_closed  s1    <<%%##%)%% *rr   c                .    U R                   R                  $ rd   )ra  _sockr   s    rg   _raw_socket_TrioSocketMixin._raw_socket  s      &&&rr   c                   #    U R                   R                  5       S:  a"  SU l        U R                   R                  5         g g 7f)Nr   T)ra  rg  rb  r   r   s    rg   r  _TrioSocketMixin.aclose  s:     ##%*DL##% +s   AAc                    [        U[        R                  5      (       a  [        UeU R                  R	                  5       S:  a  U R
                  (       a  [        S e[        U[        5      (       a  [        UeUerf  )rl   r   r6   ra  rg  rb  OSErrorr4   r   r   s     rg   _convert_socket_error&_TrioSocketMixin._convert_socket_error  s\    c43344%3.%%'!+%4/W%%%3.Irr   )rb  ra  Nrc  TrioSocketTyperk   r   r   )rk   socket.socket)r   r+  rk   r   )r   r   r   r   r   rh  r   rl  r  rs  r   re   rr   rg   r^  r^    s*    & ' '&
rr   r^  c                  N   ^  \ rS rSrSU 4S jjrSS	S jjrS
S jrSS jrSrU =r	$ )SocketStreami  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g Nreading from
writing torP  r   r@   _receive_guard_send_guardr   rc  r   s     rg   r   SocketStream.__init__  *    %+N;(6rr   c                4  #    US:  a  [        S5      eU R                      U R                  R                  U5      I S h  vN nW(       a  UsS S S 5        $ [        e N! [         a  nU R                  U5         S nAN:S nAff = f! , (       d  f       g = f7fr  )r  r  ra  recvr+  rs  r7   r	  s       rg   r  SocketStream.receive  s     q=CDD  0!..33I>>  !  "! ?  0**3//0 ! s]   BBA AAB
BBA
B)A?:B?BB
BBc                4  #    U R                      [        U5      nU(       a2   U R                  R                  U5      I S h  vN nUWS  nU(       a  M2  S S S 5        g  N! [         a  nU R                  U5         S nAN9S nAff = f! , (       d  f       g = f7frd   )r  
memoryviewra  r  r+  rs  )r   r  view
bytes_sentr   s        rg   r  SocketStream.send  s     d#D4'+'8'8'='=d'C!CJ JK( $  "D$ 4..s334 sW   BBAAAB	BA
B)A?:B?BB
BBc                ^   #    U R                   R                  [        R                  5        g 7frd   )ra  shutdownsocketSHUT_WRr   s    rg   send_eofSocketStream.send_eof  s     ""6>>2   +-r  r  ru  )   )r
  rK  rk   r  r  r   )
r   r   r   r   r   r  r  r  r   rS  rT  s   @rg   ry  ry    s    7
"	)3 3rr   ry  c                  (    \ rS rSrSS jrSS jrSrg)UNIXSocketStreami  c           	       #    [        U[        5      (       a  US:  a  [        S5      e[        U[        5      (       a  US:  a  [        S5      e[        R                  " S5      n[        R
                  R                  5       I S h  vN   U R                       U R                  R                  U[        R                  " X#R                  -  5      5      I S h  vN u  pEpgU(       d  U(       d  [        e S S S 5        W Hy  u  pnU	[        R                   :w  d  U
[        R"                  :w  a  [%        SW< SU	 SU
 35      eUR'                  US [)        U5      [)        U5      UR                  -  -
   5        M{     W[+        U5      4$  GN N! [         a  nU R                  U5         S nAOS nAff = fGM!  ! , (       d  f       N= f7f)	Nr   z%msglen must be a non-negative integerr   z!maxfds must be a positive integeriz.Received unexpected ancillary data; message = z, cmsg_level = z, cmsg_type = )rl   rK  r  arrayr   lowlevel
checkpointr  ra  recvmsgr  CMSG_LENitemsizer7   r+  rs  
SOL_SOCKET
SCM_RIGHTSr   	frombyteslenlist)r   msglenmaxfdsfdsmessageancdata_flags_addrr   
cmsg_level	cmsg_type	cmsg_datas               rg   receive_fdsUNIXSocketStream.receive_fds  s    &#&&&1*DEE&#&&&1*@AAkk#mm&&(((  
<@<M<M<U<U0E F= 73Gf #7)) ! 18,J9V...)v?P?P2P"DWK P$$.<~i[J 
 MM)$Vc)nI8U&VWX 18 S	!!1 	)7 % 4..s334  ! sg   BGF
GF:?FFF!F:6BGF
F4F/*F:/F44F::
GGc                  #    U(       d  [        S5      eU(       d  [        S5      e/ nU Ha  n[        U[        5      (       a  UR                  U5        M+  [        U[        5      (       d  MB  UR                  UR                  5       5        Mc     [        R                  " SU5      n[        R                  R                  5       I S h  vN   U R                       U R                  R                  U/[        R                  [        R                  U4/5      I S h  vN    S S S 5        g  Nb N! [          a  nU R#                  U5         S nAOS nAff = fM~  ! , (       d  f       g = f7f)Nzmessage must not be emptyzfds must not be emptyr  )r  rl   rK  appendr   rg  r  r   r  r  r  ra  sendmsgr  r  r  r+  rs  )r   r  r  filenosfdfdarrayr   s          rg   send_fdsUNIXSocketStream.send_fds'  s.    899455B"c""r"B''ryy{+	  ++c7+mm&&(((4++33 	 !' 1 1 & 1 1 '	 	 	   	)	 % 4..s334  sn   A'E*-AE*D+	E*EA D/D-D/!E"
E*-D//
E9E
EEE
E'#E*re   N)r  rK  r  rK  rk   ztuple[bytes, list[int]])r  r  r  zCollection[int | IOBase]rk   r   )r   r   r   r   r  r  r   re   rr   rg   r  r    s    "B4rr   r  c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )TCPSocketListeneriH  c                ~   > [         TU ]  [        R                  R	                  U5      5        [        S5      U l        g Nzaccepting connections fromrP  r   r   r  from_stdlib_socketr@   _accept_guardr   
raw_socketr   s     rg   r   TCPSocketListener.__init__I  -    77
CD*+GHrr   c                h  #    U R                       U R                  R                  5       I S h  vN u  pS S S 5        WR                  [        R                  [        R                  S5        [        U5      $  NH! [         a  nU R	                  U5         S nANdS nAff = f! , (       d  f       Nr= f7fNr   )
r  ra  acceptr+  rs  
setsockoptr  IPPROTO_TCPTCP_NODELAYry  r   rc  r  r   s       rg   r  TCPSocketListener.acceptM  s     0+/+<+<+C+C+E%E"   	v1163E3EqIK(( &F  0**3//0  sO   B2B!A9A7A9AB27A99
BBB!BB!!
B/+B2r  r  rw  )rk   ry  r   r   r   r   r   r  r   rS  rT  s   @rg   r  r  H  s    I) )rr   r  c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )UNIXSocketListeneriX  c                ~   > [         TU ]  [        R                  R	                  U5      5        [        S5      U l        g r  r  r  s     rg   r   UNIXSocketListener.__init__Y  r  rr   c                
  #    U R                       U R                  R                  5       I S h  vN u  pS S S 5        [        W5      $  N! [         a  nU R	                  U5         S nAN5S nAff = f! , (       d  f       NC= f7frd   )r  ra  r  r+  rs  r  r  s       rg   r  UNIXSocketListener.accept]  sn     0+/+<+<+C+C+E%E"    ,,	 &F  0**3//0  sN   BA2A
AA
BA


A/A*%A2*A//A22
B <Br  r  )rk   r  r  rT  s   @rg   r  r  X  s    I- -rr   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )		UDPSocketig  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g r{  r~  r  s     rg   r   UDPSocket.__init__h  r  rr   c                &  #    U R                       U R                  R                  S5      I S h  vN u  pU[        U5      4sS S S 5        $  N! [         a  nU R                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fNr  )r  ra  recvfromr8   r+  rs  r   r  addrr   s       rg   r  UDPSocket.receivem  sv       0#'#4#4#=#=e#DD
2488 ! D  0**3//0/ !  sU   BB AAA
BA
A3A.)B .A33B 7	B 
B
Bc                   #    U R                       U R                  R                  " U6 I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7frd   r  ra  sendtor+  rs  r  s      rg   r  UDPSocket.sendu  a     0''..555 5  0**3//0 H   A6A%=;=	A6=
A"AA%A""A%%
A3/A6r  ru  )rk   ztuple[bytes, IPSockAddrType])r  rH   rk   r   	r   r   r   r   r   r  r  r   rS  rT  s   @rg   r  r  g      7
00 0rr   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	ConnectedUDPSocketi}  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g r{  r~  r  s     rg   r   ConnectedUDPSocket.__init__~  r  rr   c                  #    U R                       U R                  R                  S5      I S h  vN sS S S 5        $  N! [         a  nU R	                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fr  r  ra  r  r+  rs  rr  s     rg   r  ConnectedUDPSocket.receive  d       0!..33E:: ! :  0**3//0/	 !  N   BA1?=?
B?
A$	AA1A$$A1(	B1
A?;Bc                   #    U R                       U R                  R                  U5      I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7frd   r  ra  r  r+  rs  r  s      rg   r  ConnectedUDPSocket.send  a     0'',,T222 2  0**3//0 H   A8A'?=?	A8?
A$	AA'A$$A''
A51A8r  ru  rk   r  r  r  rT  s   @rg   r  r  }  s    7
00 0rr   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	UNIXDatagramSocketi  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g r{  r~  r  s     rg   r   UNIXDatagramSocket.__init__  r  rr   c                  #    U R                       U R                  R                  S5      I S h  vN u  pX4sS S S 5        $  N! [         a  nU R	                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fr  )r  ra  r  r+  rs  r  s       rg   r  UNIXDatagramSocket.receive  sm       0#'#4#4#=#=e#DD
z ! D  0**3//0/ !  sT   BA6AAA
BA
A)A$A6$A))A6-	B6
B Bc                   #    U R                       U R                  R                  " U6 I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7frd   r  r  s      rg   r  UNIXDatagramSocket.send  r  r  r  ru  )rk   rI   )r  rI   rk   r   r  rT  s   @rg   r  r    r  rr   r  c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	ConnectedUNIXDatagramSocketi  c                d   > [         TU ]  U5        [        S5      U l        [        S5      U l        g r{  r~  r  s     rg   r   $ConnectedUNIXDatagramSocket.__init__  r  rr   c                  #    U R                       U R                  R                  S5      I S h  vN sS S S 5        $  N! [         a  nU R	                  U5         S nAOS nAff = f S S S 5        g ! , (       d  f       g = f7fr  r  rr  s     rg   r  #ConnectedUNIXDatagramSocket.receive  r  r  c                   #    U R                       U R                  R                  U5      I S h  vN   S S S 5        g  N! [         a  nU R	                  U5         S nAN+S nAff = f! , (       d  f       g = f7frd   r  r  s      rg   r   ConnectedUNIXDatagramSocket.send  r  r  r  ru  r  r  r  rT  s   @rg   r  r    s    7
00 0rr   r  c                  T    \ rS rSrSrS
S jrSS jrSS jrSS jrSS jr	SS jr
Srg	)r=   i  rx   c                ,    [         R                  U 5      $ rd   r{   r~   s    rg   r}   Event.__new__      ~~c""rr   c                8    [         R                  " 5       U l        g rd   )r   r=   _Event__originalr   s    rg   r   Event.__init__  s    **,rr   c                6    U R                   R                  5       $ rd   )r  is_setr   s    rg   r  Event.is_set      %%''rr   c                R   #    U R                   R                  5       I S h  vN $  N7frd   )r  r*  r   s    rg   r*  
Event.wait  s     __))++++r0  c                \    U R                   R                  5       n[        UR                  S9$ )N)tasks_waiting)r  
statisticsr-   r  r   orig_statisticss     rg   r  Event.statistics  s%    //446_-J-JKKrr   c                8    U R                   R                  5         g rd   )r  setr   s    rg   r  	Event.set  s    rr   Nr   r   r   )rk   r-   )r   r   r   r   r   r}   r   r  r*  r  r  r   re   rr   rg   r=   r=     s&    I#'(,Lrr   r=   c                      \ rS rSrSrSS.SS jjrSS.SS jjr\SS j5       rSS jr	SS	 jr
SS
 jrSS jrSS jrSrg)r?   i  )ry   _fast_acquireFfast_acquirec               ,    [         R                  U 5      $ rd   r{   r~   r  s     rg   r}   Lock.__new__  r	  rr   c               D    Xl         [        R                  " 5       U l        g rd   )r  r   r?   _Lock__original)r   r  s     rg   r   Lock.__init__  s    )))+rr   c                4    U R                   S:X  a  SU l         g g )N)z*attempt to re-acquire an already held Lock)z)Attempted to acquire an already held Lock)rm   )r   s    rg   _convert_runtime_error_msgLock._convert_runtime_error_msg  s    88FFECH Grr   c                  #    U R                   (       d$   U R                  R                  5       I S h  vN   g [
        R                  R                  5       I S h  vN    U R                  R                  5         g  NG! [         a  nU R	                  U5        e S nAff = f NF! [
        R                   a0    U R                  R                  R                  5       I S h  vN     g [         a  nU R	                  U5        e S nAff = f7frd   )r  r$  acquirer   r'  r   r  checkpoint_if_cancelledacquire_nowaitr1   _lotparkrr  s     rg   r*  Lock.acquire  s     !!oo--///
  mm33555	OO**, 0 //4 	6  	.//&&++--- 	++C0	s   DA< A:A< "DB DB" 9D:A< <
BBBD";DC D#D%	D.D  DDc                     U R                   R                  5         g ! [        R                   a    [        S e[         a  nU R                  U5        e S nAff = frd   )r$  r,  r   r1   r   r'  rr  s     rg   r,  Lock.acquire_nowait  sL    	OO**, 	'$& 	++C0	s    $AAAc                6    U R                   R                  5       $ rd   )r$  lockedr   s    rg   r3  Lock.locked  r  rr   c                8    U R                   R                  5         g rd   )r$  releaser   s    rg   r6  Lock.release
      !rr   c                    U R                   R                  5       nUR                  (       a  [        UR                  5      OS n[	        UR
                  X!R                  5      $ rd   )r$  r  ownerTrioTaskInfor.   r3  r  )r   r  r:  s      rg   r  Lock.statistics  sM    //4467F7L7L_223RV""E+H+H
 	
rr   N)r  r   rk   rV   )r  r   rk   r   )r   r   rk   r   r   r   )rk   r.   )r   r   r   r   r   r}   r   staticmethodr'  r*  r,  r3  r6  r  r   re   rr   rg   r?   r?     sH    -I-2 # 05 & F F(("
rr   r?   c                     ^  \ rS rSrSrSSS.       SS jjrSSS.       SU 4S jjjrSS jrSS	 jr\	SS
 j5       r
\	SS j5       rSS jrSS jrSrU =r$ )rC   i  rx   NF	max_valuer  c               ,    [         R                  U 5      $ rd   r{   r~   initial_valuer@  r  s       rg   r}   Semaphore.__new__  s     ~~c""rr   c               T   > [         TU ]  XUS9  [        R                  " XS9U l        g )Nr?  )r@  )rP  r   r   rC   _Semaphore__original)r   rC  r@  r  r   s       rg   r   Semaphore.__init__!  s'     	,W..Lrr   c                  #    U R                   (       d#  U R                  R                  5       I S h  vN   g [        R                  R                  5       I S h  vN    U R                  R                  5         g  NG N"! [        R                   a0    U R                  R                  R                  5       I S h  vN     g f = f7frd   )
r  rF  r*  r   r  r+  r,  r1   r-  r.  r   s    rg   r*  Semaphore.acquire+  s     !!//))+++ mm33555	.OO**, , 	6  	.//&&++---	.sQ   /CA9&CA;CA= 8C;C=;C8B;9C>C CCc                x     U R                   R                  5         g ! [        R                   a    [        S ef = frd   )rF  r,  r   r1   r   s    rg   r,  Semaphore.acquire_nowait7  2    	'OO**, 	'$&	'    9c                .    U R                   R                  $ rd   )rF  r@  r   s    rg   r@  Semaphore.max_value=  s    (((rr   c                .    U R                   R                  $ rd   )rF  r   r   s    rg   r   Semaphore.valueA  s    $$$rr   c                8    U R                   R                  5         g rd   )rF  r6  r   s    rg   r6  Semaphore.releaseE  r8  rr   c                `    U R                   R                  5       n[        UR                  5      $ rd   )rF  r  rA   r  r  s     rg   r  Semaphore.statisticsH  s%    //446"?#@#@AArr   )rC  rK  r@  r  r  r   rk   rV   )rC  rK  r@  r  r  r   rk   r   r   rL  rJ  )rk   rA   )r   r   r   r   r   r}   r   r*  r,  r   r@  r   r6  r  r   rS  rT  s   @rg   rC   rC     s    I !%"## 	#
 # 
# !%"MM 	M
 M 
M M
.' ) ) % %"B Brr   rC   c                  *   \ rS rSrSr SSS.     SS jjjr SSS.     SS jjjrSS jr        SS jr\	SS	 j5       r
\
R                  SS
 j5       r
\	SS j5       r\	SS j5       rSS jrSS jrSS jrSS jrSS jrSS jrSS jrSrg)r;   iM  rx   Nr   c               ,    [         R                  U 5      $ rd   r{   )r~   total_tokensr   s      rg   r}   CapacityLimiter.__new__P  s     ~~c""rr   c               X    Ub  X l         g Uc   e[        R                  " U5      U l         g rd   )_CapacityLimiter__originalr   r;   )r   rY  r   s      rg   r   CapacityLimiter.__init__X  s-     &O+++"22<@DOrr   c                R   #    U R                   R                  5       I S h  vN $  N7frd   )r\  r   r   s    rg   r   CapacityLimiter.__aenter__d  s     __//1111r0  c                X   #    U R                   R                  XU5      I S h  vN   g  N7frd   )r\  r   r   s       rg   r   CapacityLimiter.__aexit__g  s!      oo''6BBBs    *(*c                .    U R                   R                  $ rd   r\  rY  r   s    rg   rY  CapacityLimiter.total_tokenso  s    +++rr   c                $    XR                   l        g rd   rc  r   s     rg   rY  rd  s  s    ',$rr   c                .    U R                   R                  $ rd   )r\  borrowed_tokensr   s    rg   rg  CapacityLimiter.borrowed_tokensw  s    ...rr   c                .    U R                   R                  $ rd   )r\  available_tokensr   s    rg   rj   CapacityLimiter.available_tokens{  r   rr   c                x     U R                   R                  5         g ! [        R                   a    [        S ef = frd   )r\  r,  r   r1   r   s    rg   r,  CapacityLimiter.acquire_nowait  rL  rM  c                z     U R                   R                  U5        g ! [        R                   a    [        S ef = frd   )r\  acquire_on_behalf_of_nowaitr   r1   r   borrowers     rg   ro  +CapacityLimiter.acquire_on_behalf_of_nowait  s4    	'OO77A 	'$&	's    :c                T   #    U R                   R                  5       I S h  vN   g  N7frd   )r\  r*  r   s    rg   r*  CapacityLimiter.acquire  s     oo%%'''r  c                V   #    U R                   R                  U5      I S h  vN   g  N7frd   )r\  acquire_on_behalf_ofrp  s     rg   rv  $CapacityLimiter.acquire_on_behalf_of  s     oo228<<<s   )')c                6    U R                   R                  5       $ rd   )r\  r6  r   s    rg   r6  CapacityLimiter.release  s    &&((rr   c                8    U R                   R                  U5      $ rd   )r\  release_on_behalf_ofrp  s     rg   r{  $CapacityLimiter.release_on_behalf_of  s    33H==rr   c                    U R                   R                  5       n[        UR                  UR                  [        UR                  5      UR                  S9$ )N)rg  rY  	borrowersr  )r\  r  r,   rg  rY  tupler~  r  )r   origs     rg   r  CapacityLimiter.statistics  sH    ))+( 00**DNN+,,	
 	
rr   rd   )rY  float | Noner   trio.CapacityLimiter | Nonerk   rV   )rY  r  r   r  rk   r   r   )r   r   r   r   r   r   rk   r   r   r   rJ  )rq  r|   rk   r   )rk   r,   )r   r   r   r   r   r}   r   r   r   r   rY  r   rg  rj  r,  ro  r*  rv  r6  r{  r  r   re   rr   rg   r;   r;   M  s   I &*# 15	#"# .	#
 
# &*
A 15	
A"
A .	
A
 

A2C,C &C %	C
 
C , , - - / / 0 0''(=)>
rr   r;   _capacity_limiter_wrapperc                  b    \ rS rSr% S\S'   SS jrSS jr        SS jrSS jrSS jr	S	r
g
)_SignalReceiveri  zAsyncIterator[int]	_iteratorc                    Xl         g rd   )_signals)r   signalss     rg   r   _SignalReceiver.__init__  s    rr   c                    [         R                  " U R                  6 U l        U R                  R	                  5       U l        U $ rd   )r   open_signal_receiverr  _cmr   r  r   s    rg   r   _SignalReceiver.__enter__  s1    ,,dmm<++-rr   c                :    U R                   R                  XU5      $ rd   )r  r   r   s       rg   r   _SignalReceiver.__exit__  s     xx  F;;rr   c                    U $ rd   re   r   s    rg   	__aiter___SignalReceiver.__aiter__  s    rr   c                h   #    U R                   R                  5       I S h  vN n[        U5      $  N7frd   )r  	__anext__r   )r   signums     rg   r  _SignalReceiver.__anext__  s)     ~~//11v 2s   202)r  r  r  N)r  ztuple[Signals, ...]r   )r   r   r   r   r   r   rk   zbool | None)rk   r  )rk   r   )r   r   r   r   r   r   r   r   r  r  r   re   rr   rg   r  r    sG    !! 
<,< &< %	<
 
<rr   r  c                      \ rS rSrSS jr        SS jrSS jrSS jrSS jr        SS jr	      SS jr
      SS	 jr      SS
 jrSrg)
TestRunneri  c                B    SSK Jn  U" 5       U l        S U l        Xl        g )Nr   )Queue)queuer  _call_queue_send_stream_options)r   optionsr  s      rg   r   TestRunner.__init__  s#    8=  	  rr   c                    U R                   (       aW  U R                   R                  5         U R                   b/  U R                  R                  5       " 5         U R                   b  M.  g g g rd   )r  r   r  getr   s       rg   r   TestRunner.__exit__  sS     ##%##/  $$&( ##/ rr   c                >    [         R                  R                  5       $ rd   )r   r  in_trio_taskr   s    rg   
is_runningTestRunner.is_running  s    }}))++rr   c                  #    [         [        [        [           [        [
           4      " S5      u  U l        nU   U  S h  vN u  p# UI S h  vN nUR                  [        U5      5        M2   N- N"! [         a%  nUR                  [        U5      5         S nAM`  S nAff = f
 S S S 5        g ! , (       d  f       g = f7fr  )r9   r  r   r   r  r"   r  r  r#   r+  r!   )r   receive_streamrf   outcome_holderretvalr   s         rg   _run_tests_and_fixtures"TestRunner._run_tests_and_fixtures  s     ,G)C.$w-/0-

-)> 3A 9/i9#,_F #))%-89,$ 6"))%*556 4B ^^su   9CB0B&A0B&B0
A4A2A4B00B&2A44
B#>BB0B##B0'	C0
B>:Cc                    S U l         g rd   )r  )r   outcomes     rg   _main_task_finishedTestRunner._main_task_finished  s
     rr   c                  U R                   c  [        R                  R                  " U R                  4U R
                  R                  U R                  S.U R                  D6  U R                   c.  U R
                  R                  5       " 5         U R                   c  M.  / nU R                   R                  U" U0 UD6U45        U(       d(  U R
                  R                  5       " 5         U(       d  M(  US   R                  5       $ )N)run_sync_soon_threadsafedone_callbackr   )r  r   r  start_guest_runr  r  putr  r  r  send_nowaitunwrap)r   ro   rm   rn   r  s        rg   _call_in_runner_taskTestRunner._call_in_runner_task  s     $MM)),,)-)9)9)=)="66 --	 ##+  $$&( ##+ )+%%tT'<V'<n&MN   "$ !. a ''))rr   c              #     #    U" S0 UD6nU R                  UR                  S 5      nUv    U R                  UR                  S 5        U R                  UR                  5        [        S5      e! [         a     g f = f7f)Nz$Async generator fixture did not stopre   )r  asendr  r   StopAsyncIteration)r   fixture_funcrn   asyncgenfixturevalues        rg   run_asyncgen_fixtureTestRunner.run_asyncgen_fixture	  s}     
  )&)!%!:!:8>>4!P	G%%hnnd; %%hoo6EFF	 " 		s(   )A>A. &A>.
A;8A>:A;;A>c                (    U R                   " U40 UD6$ rd   r  )r   r  rn   s      rg   run_fixtureTestRunner.run_fixture  s    
 ((@@@rr   c                *    U R                   " U40 UD6  g rd   r  )r   	test_funcrn   s      rg   run_testTestRunner.run_test"  s     	!!)6v6rr   )r  r  r  N)r  r   rk   r   )r   r   r   r   r   ztypes.TracebackType | Nonerk   r   r   r   )r  r|   rk   r   )ro    Callable[P, Awaitable[T_Retval]]rm   rs   rn   rt   rk   r[   )r  z,Callable[..., AsyncGenerator[T_Retval, Any]]rn   dict[str, Any]rk   zIterable[T_Retval])r  z,Callable[..., Coroutine[Any, Any, T_Retval]]rn   r  rk   r[   )r  z'Callable[..., Coroutine[Any, Any, Any]]rn   r  rk   r   )r   r   r   r   r   r   r  r  r  r  r  r  r  r   re   rr   rg   r  r    s     	),	) &	) +		)
 
	),9!*.* 	*
 * 
*0GBG G 
	G$ABA A 
	A7@7JX7	7rr   r  c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )r;  i(  c                2  > S nUR                   (       a:  UR                   R                  (       a  [        UR                   R                  5      n[        TU ]  [        U5      X!R
                  UR                  5        [        R                  " U5      U l	        g rd   )
parent_nurseryparent_taskidrP  r   r   r   weakrefproxy_task)r   task	parent_idr   s      rg   r   TrioTaskInfo.__init__)  sb    	4#6#6#B#B4..::;ID9iiC]]4(
rr   c                d     U R                   R                  R                  $ ! [         a     gf = fr`  )r  _cancel_statuseffectively_cancelledReferenceErrorr   s    rg   has_pending_cancellation%TrioTaskInfo.has_pending_cancellation1  s1    	::,,BBB 	 	s   " 
//)r  )r  ztrio.lowlevel.Taskr   )r   r   r   r   r   r  r   rS  rT  s   @rg   r;  r;  (  s    ) rr   r;  c                     \ rS rSr\          S8S j5       r\S9S j5       r\S:S j5       r\S;S j5       r\S<S j5       r	\S<S j5       r
\S<S j5       r\S=S	 j5       r\\R                  S
S.     S>S jj5       r\S:S j5       r\S?S j5       r\S@S j5       r\SAS j5       r\SS
S.       SBS jj5       r\SCS j5       r\  SD         SES jj5       r\S<S j5       r\        SFS j5       r\        SGS j5       r\            SHS j5       r\SIS j5       r\ SJ       SKS jj5       r\SLS j5       r\SMS j5       r\SMS j5       r\          SNS j5       r \\!      SOS  j5       5       r"\\!      SPS! j5       5       r"\      SQS" j5       r"\S#S#S#S#S$.             SRS% jj5       r#\ SS     STS& jj5       r$\SUS' j5       r%\SUS( j5       r&\SUS) j5       r'\SMS* j5       r(\SVS+ j5       r)\SWS, j5       r*\SXS- j5       r+\SYS. j5       r,\SZS/ j5       r-\    S[S0 j5       r.\S\S1 j5       r/\    S]S2 j5       r0\S^S3 j5       r1\S_S4 j5       r2\S<S5 j5       r3\S`S6 j5       r4S7r5g)aTrioBackendi:  c                d    U(       a   S5       e[         R                  " [        U5      /UQ70 UD6$ )Nz&unreachable, and not supported by Trio)r   r   ru   )r~   ro   rm   rn   r  s        rg   r   TrioBackend.run;  s1     CCCzxx+D1DDDGDDrr   c                >    [         R                  R                  5       $ rd   )r   r  current_trio_tokenr  s    rg   current_tokenTrioBackend.current_tokenF  s    }}//11rr   c                ,    [         R                  " 5       $ rd   )r   current_timer  s    rg   r  TrioBackend.current_timeJ  s      ""rr   c                "    [         R                  $ rd   )r   r   r  s    rg   cancelled_exception_class%TrioBackend.cancelled_exception_classN  s    ~~rr   c                \   #    [         R                  R                  5       I S h  vN   g  N7frd   )r   r  r  r  s    rg   r  TrioBackend.checkpointR  s     mm&&(((   ",*,c                \   #    [         R                  R                  5       I S h  vN   g  N7frd   )r   r  r+  r  s    rg   r+  #TrioBackend.checkpoint_if_cancelledV  s     mm33555r  c                \   #    [         R                  R                  5       I S h  vN   g  N7frd   )r   r  cancel_shielded_checkpointr  s    rg   r  &TrioBackend.cancel_shielded_checkpointZ  s     mm66888r  c                L   #    [         R                  " U5      I S h  vN   g  N7frd   )r   rW  )r~   delays     rg   rW  TrioBackend.sleep^  s     jjs   $"$Fr   r   c                   [        XS9$ )Nr  rD   )r~   r   r   s      rg   create_cancel_scopeTrioBackend.create_cancel_scopeb  s     H<<rr   c                ,    [         R                  " 5       $ rd   )r   current_effective_deadliner  s    rg   r  &TrioBackend.current_effective_deadlineh  s    ..00rr   c                    [        5       $ rd   )r   r  s    rg   create_task_groupTrioBackend.create_task_groupl  s
    {rr   c                    [        5       $ rd   r<   r  s    rg   create_eventTrioBackend.create_eventp  s	    wrr   c                   [        US9$ )Nr  r>   r!  s     rg   create_lockTrioBackend.create_lockt  s    ..rr   Nr?  c                   [        XUS9$ )Nr?  rB   rB  s       rg   create_semaphoreTrioBackend.create_semaphorex  s     ,WWrr   c                    [        U5      $ rd   r:   )r~   rY  s     rg   create_capacity_limiter#TrioBackend.create_capacity_limiter  s    |,,rr   c                   ^^^#    SUUU4S jjn[         R                  5       m[        UU[        [        R
                  U5      S9I S h  vN $  N7f)Nc                 d   > [        [        T5         T" T 6 sS S S 5        $ ! , (       d  f       g = frd   )r3   r  )rm   ro   tokens   rg   rp   6TrioBackend.run_sync_in_worker_thread.<locals>.wrapper  s     $[%8T{ 988s   !
/)abandon_on_cancellimiterrj   )r  r  r*   r   r   r;   )r~   ro   rm   r  r  rp   r  s    ``   @rg   run_sync_in_worker_thread%TrioBackend.run_sync_in_worker_thread  sM     	# 	# ))+/--w7
 
 	
 
s   AA
AAc                @    [         R                  R                  5         g rd   )r   from_threadcheck_cancelledr  s    rg   r  TrioBackend.check_cancelled  s    ((*rr   c                    [        SU5      n [        R                  R                  " U/UQ7SU06$ ! [        R                   a    [        S ef = fNztrio.lowlevel.TrioToken | None
trio_token)r   r   r  r   r/   r~   ro   rm   r  r  s        rg   run_async_from_thread!TrioBackend.run_async_from_thread  sT     :EB
	-##''KtK
KK$$ 	-",	-	   #2 Ac                    [        SU5      n [        R                  R                  " U/UQ7SU06$ ! [        R                   a    [        S ef = fr  )r   r   r  r*   r/   r  s        rg   run_sync_from_thread TrioBackend.run_sync_from_thread  sT     :EB
	-##,,TPDPZPP$$ 	-",	-r!  c               `  #    SS jn[        U[        [        [        45      (       a5  [        R
                  R                  " U" U5      4UUUSS.UD6I S h  vN nOD[        R
                  R                  " U Vs/ s H
  o" U5      PM     sn4UUUSS.UD6I S h  vN nUR                  (       a  [        UR                  5      OS n	UR                  (       a  [        UR                  5      OS n
UR                  (       a  [        UR                  5      OS n[        XyX5      $  Ns  snf  N7f)Nc                    [         R                  " U 5      n[        U[        5      (       a  U$ [         R                  " U5      $ rd   )osfspathrl   strfsdecode)r  str_or_bytess     rg   convert_item.TrioBackend.open_process.<locals>.convert_item  s1    99T?L,,,##{{<00rr   T)rA  rD  rH  shellF)r  rK   rk   r)  )rl   r)  r  r   r   r  open_processrA  r  rD  r  rH  r!  )r~   commandrA  rD  rH  rn   r,  r[  r  stdin_streamstdout_streamstderr_streams               rg   r/  TrioBackend.open_process  s    	1 gUH566 MM66W%  G !MM66078d#8  G <C==(7d@G,W^^<TX@G,W^^<TXwmKK+ 9s1   AD.D%#D.;D'D.D,B	D.'D.c                L    [         R                  R                  [        U5        g rd   )r   r  spawn_system_taskr\  )r~   rZ  s     rg   #setup_process_pool_exit_at_shutdown/TrioBackend.setup_process_pool_exit_at_shutdown  s    ''(>Hrr   c                  #    SU;   a  [         R                  O[         R                  n[        R                   R                  U5      nUR	                  [         R
                  [         R                  S5        U(       a  UR                  U5      I S h  vN    UR                  X45      I S h  vN   [        U5      $  N* N! [         a    UR                  5         e f = f7f)N:r   )r  AF_INET6AF_INETr   r  r  r  bindconnectr+  r   ry  )r~   hostportlocal_addressfamilyrc  s         rg   connect_tcpTrioBackend.connect_tcp  s      %(4KV^^kk((0v1163E3EqI""=111	%%tl333
 K(( 2 4 		s<   BC B=C C -B?.C 2C ?C CC c                   #    [         R                  R                  [        R                  5      n UR                  U5      I S h  vN   [        U5      $  N! [         a    UR                  5         e f = f7frd   )r   r  AF_UNIXr>  r+  r   r  )r~   pathrc  s      rg   connect_unixTrioBackend.connect_unix  se     kk((8	%%d+++
  ,, , 		s.   .A6A AA 
A6A A33A6c                    [        U5      $ rd   )r  r~   socks     rg   create_tcp_listenerTrioBackend.create_tcp_listener  s     &&rr   c                    [        U5      $ rd   )r  rK  s     rg   create_unix_listener TrioBackend.create_unix_listener  s    !$''rr   c                  #    [         R                  R                  U[        R                  S9nU(       a/  UR                  [        R                  [        R
                  S5        U(       a  UR                  U5      I S h  vN   U(       a$  UR                  U5      I S h  vN   [        U5      $ [        U5      $  N: N7f)N)rB  typer   )
r   r  
SOCK_DGRAMr  r  SO_REUSEPORTr=  r>  r  r  )r~   rB  rA  remote_address
reuse_portrc  s         rg   create_udp_socketTrioBackend.create_udp_socket	  s      kk((V=N=N(O""6#4#4f6I6I1M""=111%%n555%k22[)) 2 6s$   A>B? B;B? B=!B?=B?c                   #    g 7frd   re   r~   r  remote_paths      rg   create_unix_datagram_socket'TrioBackend.create_unix_datagram_socket  s
      "%   c                   #    g 7frd   re   r[  s      rg   r]  r^  %  s
      +.r_  c                   #    [         R                  R                  U5      nU(       a$  UR                  U5      I S h  vN   [	        U5      $ [        U5      $  N7frd   )r   r  r  r>  r  r  )r~   r  r\  rc  s       rg   r]  r^  +  sM      kk44Z@%%k222.{;;%k22 3s   ;AAAr   )rB  rS  protoflagsc               `   #    [         R                  R                  XX4XV5      I S h  vN $  N7frd   )r   r  getaddrinfo)r~   r?  r@  rB  rS  rb  rc  s          rg   re  TrioBackend.getaddrinfo7  s&     & [[,,TuTTTTs   %.,.c                \   #    [         R                  R                  X5      I S h  vN $  N7frd   )r   r  getnameinfo)r~   sockaddrrc  s      rg   rh  TrioBackend.getnameinfoL  s"      [[,,X====s   #,*,c                   #     [        U5      I S h  vN   g  N! [        R                   a)  n[        5       R                  UR                  5      S eS nAf[        R
                   a    [        S5      S ef = f7f)Nr|  )r'   r   r6   with_traceback__traceback__r5   r~   objr   s      rg   r'   TrioBackend.wait_readableR  se     	>$$$'' 	T%'66s7H7HItS%% 	>#N3=	>0   A9  A9 A6$A$A66A9c                   #     [        U5      I S h  vN   g  N! [        R                   a)  n[        5       R                  UR                  5      S eS nAf[        R
                   a    [        S5      S ef = f7f)Nr}  )r(   r   r6   rl  rm  r5   rn  s      rg   r(   TrioBackend.wait_writable[  se     	<$$$'' 	T%'66s7H7HItS%% 	<#L1t;	<rq  c                    [        U5        g rd   )r&   )r~   ro  s     rg   r&   TrioBackend.notify_closingd  s
    srr   c                   #    [        [        S5      (       a)  UR                  [        R                  :X  a  [	        U5      $ [        U5      $ 7f)NrF  )hasattrr  rB  rF  r  r  rK  s     rg   wrap_listener_socket TrioBackend.wrap_listener_socketh  s7     69%%$++*G%d++ &&s   A
Ac                ^   #    [         R                  R                  U5      n[        U5      $ 7frd   )r   r  r  ry  r~   rL  	trio_socks      rg   wrap_stream_socketTrioBackend.wrap_stream_socketo  s$     KK2248	I&&r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frd   )r   r  r  r  r{  s      rg   wrap_unix_stream_socket#TrioBackend.wrap_unix_stream_sockett  s$     KK2248		**r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frd   )r   r  r  r  r{  s      rg   wrap_udp_socketTrioBackend.wrap_udp_sockety  s$     KK2248	##r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frd   )r   r  r  r  r{  s      rg   wrap_connected_udp_socket%TrioBackend.wrap_connected_udp_socket~  $     KK2248	!),,r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frd   )r   r  r  r  r{  s      rg   wrap_unix_datagram_socket%TrioBackend.wrap_unix_datagram_socket  r  r  c                ^   #    [         R                  R                  U5      n[        U5      $ 7frd   )r   r  r  r  r{  s      rg   #wrap_connected_unix_datagram_socket/TrioBackend.wrap_connected_unix_datagram_socket  s&      KK2248	*955r  c                     [         R                  5       $ ! [         a?    [        [        R
                  R                  5       S9n[         R                  U5        Us $ f = f)NrW  )r  r  LookupErrorr;   r   	to_threadcurrent_default_thread_limiterr  )r~   r  s     rg   r  *TrioBackend.current_default_thread_limiter  sT    	,0022 	%FFHG &))'2N	s    AAAc                    [        U5      $ rd   )r  )r~   r  s     rg   r   TrioBackend.open_signal_receiver  s     w''rr   c                ,    [        5       n[        U5      $ rd   )r%   r;  )r~   r  s     rg   get_current_taskTrioBackend.get_current_task  s    ~D!!rr   c                &   [        5       nU(       d   e[        U5      /nUR                  nU(       a^  / nU HK  nUR                   H8  nUR	                  [        U5      5        UR                  UR                  5        M:     MM     UnU(       a  M^  U$ rd   )r$   r;  child_nurserieschild_tasksr  extend)r~   	root_task
task_infos	nurseriesnew_nurseriesnurseryr  s          rg   get_running_tasksTrioBackend.get_running_tasks  s    %'	y"9-.
--	02M$#//D%%l4&89!(()=)=> 0 %
 &I i rr   c                :   #    SSK Jn  U" 5       I S h  vN   g  N7f)Nr   )wait_all_tasks_blocked)trio.testingr  )r~   r  s     rg   r  "TrioBackend.wait_all_tasks_blocked  s     7$&&&s   c                    [        S0 UD6$ r   )r  )r~   r  s     rg   create_test_runnerTrioBackend.create_test_runner  s    $G$$rr   re   )
ro   z1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]rm   tuple[Unpack[PosArgsT]]rn   r  r  r  rk   r[   )rk   r|   r   )rk   ztype[BaseException]r   )r  r   rk   r   )r   r   r   r   rk   BaseCancelScope)rk   zabc.TaskGroup)rk   	BaseEvent)r  r   rk   r?   )rC  rK  r@  r  r  r   rk   BaseSemaphore)rY  r   rk   r;   )FN)
ro   &Callable[[Unpack[PosArgsT]], T_Retval]rm   r  r  r   r  zBaseCapacityLimiter | Nonerk   r[   )ro   r   rm   r  r  r|   rk   r\   )ro   r  rm   r  r  r|   rk   r[   )r0  z)StrOrBytesPath | Sequence[StrOrBytesPath]rA  int | IO[Any] | NonerD  r  rH  r  rn   r   rk   r!  rZ  zset[abc.Process]rk   r   rd   )r?  r)  r@  rK  rA  IPSockAddrType | Nonerk   ry  )rG  str | bytesrk   zabc.UNIXSocketStream)rL  rw  rk   zabc.SocketListener)
rB  zsocket.AddressFamilyrA  r  rV  r  rW  r   rk   zUDPSocket | ConnectedUDPSocket)r  rw  r\  r   rk   zabc.UNIXDatagramSocket)r  rw  r\  r  rk   zabc.ConnectedUNIXDatagramSocket)r  rw  r\  zstr | bytes | Nonerk   z8abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocket)r?  zbytes | str | Noner@  zstr | int | NonerB  zint | AddressFamilyrS  zint | SocketKindrb  rK  rc  rK  rk   zuSequence[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int] | tuple[int, bytes]]])r   )ri  rG   rc  rK  rk   ztuple[str, str])ro  rP   rk   r   )rL  rw  rk   ry  )rL  rw  rk   r  )rL  rw  rk   r  )rL  rw  rk   r  )rL  rw  rk   r  )rL  rw  rk   r  )rk   r;   )r  r   rk   z.AbstractContextManager[AsyncIterator[Signals]])rk   r0   )rk   zSequence[TaskInfo])r  r  rk   r  )6r   r   r   r   classmethodr   r  r  r  r  r+  r  rW  rX  rY  r  r  r  r  r  r
  r  r  r  r  r#  r/  r7  rC  rH  rM  rP  rX  r    r]  re  rh  r'   r(   r&   rx  r}  r  r  r  r  r  r  r  r  r  r  r  r   re   rr   rg   r  r  :  sB   E?E &E 	E
  E 
E E 2 2 # #   ) ) 6 6 9 9     "&((5==48=	= =
 1 1     / / 
 !%"XX 	X
 X 
X X - - 
 #(.2
4
 &
  	

 ,
 

 
$ + + 
-E
- &
- 	
-
 

- 
- 
-4
- &
- 	
-
 

- 
- &L:&L $	&L
 %&L %&L &L 
&L &LP I I JN))!)2G)	) )" - - ' ' ( ( *$* -* .	*
 * 
(* ** %&%59%	%  % .&.5@.	(.  . 	3&	35G	3	A	3 	3  '(!"U U U
 $U U U U
U U( 45>%>.1>	> >
 > > < <   ' ' ' ' + + $ $ - - - - 6 6	$6 6   ((	7( (
 " "    ' '
 % %rr   r  )ro   r  rk   z*Callable[P, Coroutine[Any, Any, T_Retval]]r  )
__future__r   r  rX  r'  r  systypesr  collections.abcr   r   r   r   r   r	   r
   r   
contextlibr   contextvarsr   dataclassesr   	functoolsr   r   ior   r   r8  r   r   r   r   typingr   r   r   r   r   r   r   r   r   r    trio.from_threadr   trio.lowlevelr  r!   r"   r#   r$   r%   r&   r'   r(   trio.socketr)   rv  trio.to_threadr*    r,   r-   r.   r/   r0   r1   r2   _core._eventloopr3   _core._exceptionsr4   r5   r6   r7   _core._socketsr8   _core._streamsr9   _core._synchronizationr;   BaseCapacityLimiterr=   r  r?   BaseLockr@   rA   rC   r  _core._tasksrE   r  rF   rG   rH   rI   abc._eventlooprJ   rK   
abc._tasksrL   rM   rN   rO   	_typeshedrP   streams.memoryrQ   version_infotyping_extensionsrT   rV   rW   rX   exceptiongrouprY   rZ   r[   r\   r)  r^   r_   r`   ru   r  RunVarr   
TaskStatusr   r   ByteReceiveStreamr  ByteSendStreamr  r!  
InstrumentrN  rU  r   r\  r^  ry  r  SocketListenerr  r  r  r  r  r  r  r  r  r;  r  backend_classre   rr   rg   <module>r     s   "   	  
  	 	 	 .  ! $    ,      ) )  5 #   3  3 8 8 5 @ 9 % G G 9 W W,7g*w111<<CL:v&\37

#cN
*/8 
		0'/ 0'n 01 1cnnX.0A 1b bT e$300 $ $. e$** $ $ e5ckk 5 5pTXX%8%8 
 @F,@ &(< 

'$wz* >!3#S%5%5 !3H@4|S%9%9 @4F)(#*<*< ) -)3+=+= -0 0#-- 0,0).93;Q;Q 0*0)#.0F0F 0,0S3::08I .7
8 7
t5B 5BpQ
) Q
h 399T2U / U @\7 \7~8 $D%, D%N rr   