
    h                    N   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Jr  S SK	J
r
JrJr  S SKJr  S SKrS SKrS SKrS SKJr   " S S\R(                  \R*                  5      r\" \5      \R0                  R2                  SS	 j5       5       r\ " S
 S\5      5       rSS jrSS jrg)    )annotationsN)InteractiveConsole)CodeType	FrameTypeFunctionType)Callable)finalc                      \ rS rSrSrg)SuppressDecorator    N)__name__
__module____qualname____firstlineno____static_attributes__r       9/root/1688/env/lib/python3.13/site-packages/trio/_repl.pyr   r      s    r   r   c                     SS K n SS Kn U R                  [        R                  UR
                  S5        g ! [         a  n[        SU 3SSS9   S nAg S nAff = f)Nr      
z(
Press enter! Newline injection failed:  T)endflush)fcntltermiosioctlsysstdinTIOCSTIOSErrorprint)r   r   es      r   terminal_newliner#      sN     SCIIw6 S9!=2TRSs   +6 
A AAc                     ^  \ rS rSrS	S
U 4S jjjrSS jr\R                  S:X  a  SSS jjrSr
U =r$ SSS jjrSS jr	Sr
U =r$ )TrioInteractiveConsole$   c                   > [         TU ]  US9  S U l        U R                  R                  =R
                  [        R                  -  sl        SU l        g )N)localsF)	super__init__tokencompilecompilerflagsastPyCF_ALLOW_TOP_LEVEL_AWAITinterrupted)selfrepl_locals	__class__s     r   r*   TrioInteractiveConsole.__init__&   sC    ,59
##s'E'EE# r   c                   [        XR                  5      n[        R                  " U5      (       a/  [        R
                  R                  [        R                  U5      nO.[        R
                  R                  [        R                  U5      n[        U[        R                  5      (       a  [        UR                  [        5      (       a  UR                  e[        UR                  5      UR                  s[         l        [         l        UR                  R&                  [         l        [         R*                  S:  a  UR                  [         l        [         R.                  " [         R"                  [         R$                  [         R(                  5        [        R
                  R                  [        R0                  R2                  5        g )N)      )r   r(   inspectiscoroutinefunctiontriofrom_threadrunoutcomeacapturerun_synccapture
isinstanceErrorerror
SystemExittyper   	last_type
last_value__traceback__last_tracebackversion_infolast_exc
excepthooklowlevelcheckpoint_if_cancelled)r2   codefuncresults       r   runcodeTrioInteractiveConsole.runcode,   s   D++.&&t,,%%))'*:*:DAF%%..wEFfgmm,, &,,
33ll"
 15V\\0BFLL-s~%+\\%?%?"##w.#)<<CL s}}cnnc>P>PQT]]BBCr   win32c                     [        U5      $ ! [         a9    [        R                  R	                  [        R
                  R                  5        e f = fN)inputEOFErrorr;   r<   r=   rN   rO   )r2   prompts     r   	raw_input TrioInteractiveConsole.raw_inputM   sA    V}$   $$T]]%J%JKs
   
 AAc                  ^ ^^ SSK JmJ m  T R                  (       a   e  SUU U4S jjn[        R                  R                  U5      n [        U5      [        R                  R                  TTU5        T R                  (       a  [        e$ ! [        R                  R                  TTU5        T R                  (       a  [        ef = f)Nr   )SIGINTsignalc                 r   >^       SUU4S jjn [         R                  R                  5       mT" TU 5      $ )Nc                <   > STl         TR                  [        SS9  g )NT)
idempotent)r1   run_sync_soonr#   )sigframer2   r+   s     r   handlerJTrioInteractiveConsole.raw_input.<locals>.install_handler.<locals>.handler_   s!     (,D$''(8T'Jr   )rd   intre   zFrameType | NonereturnNone)r;   rN   current_trio_token)rf   r+   r^   r2   r_   s    @r   install_handler9TrioInteractiveConsole.raw_input.<locals>.install_handler\   sK    KK%5KK K 88:fg..r   )ri   z4Callable[[int, FrameType | None], None] | int | None)r_   r^   r1   r;   r<   r@   rX   KeyboardInterrupt)r2   rZ   rl   prev_handlerr^   r_   s   `   @@r   r[   r\   W   s    -''''/D/ /  ++44_EL,V}  ))&&,G##++ $   ))&&,G##++ $s   
B :Cc                    U R                   (       a2  US:X  d   e[        R                  R                  USS  5        SU l         g [        R                  R                  U5        g )Nz
KeyboardInterrupt
   F)r1   r   stderrwrite)r2   outputs     r   rs   TrioInteractiveConsole.writeq   sL    !8888

  ,#( 

  (r   )r1   r+   rW   )r3   zdict[str, object] | Noneri   rj   )rP   r   ri   rj   )r   )rZ   strri   rv   )rt   rv   ri   rj   )r   r   r   r   r*   rS   r   platformr[   rs   r   __classcell__)r4   s   @r   r%   r%   $   s:    ! !D> ||w	 		,4	) 	)r   r%   c           
     V  #    S[         R                   S[         R                   S[        [         SS5       S3n [        R
                  R                  U R                  U5      I S h  vN   [        R                  " SS[        S	9  g  N! [        R                  " SS[        S	9  f = f7f)
Nz
trio REPL z on zv
Use "await" directly instead of "trio.run()".
Type "help", "copyright", "credits" or "license" for more information.
ps1z>>> zimport trioignorez ^coroutine .* was never awaited$)messagecategory)r   versionrw   getattrr;   	to_threadr@   interactwarningsfilterwarningsRuntimeWarning)consolebanners     r   run_replr   z   s     
S[[Mcll^ 4" 3v&
'{		4 
nn%%g&6&6???7#	
 	@7#	
s.   8B)-B
 (B)B
 -B)B
 
B&&B)c                    [         R                  " [        5         SS KnS S S 5        S[        0nS H	  nX   X#'   M     [        U5      n[        R                  " [        U5        g ! , (       d  f       NL= f)Nr   r;   >   __file__r   __spec__
__loader____package____builtins__)
contextlibsuppressImportErrorreadliner;   r%   r=   r   )original_localsr   r3   keyr   s        r   mainr      s_    			[	) 
* '-d^K +/ %[1GHHXw 
*	)s   A&&
A4)ri   rj   )r   r%   ri   rj   )r   zdict[str, object]ri   rj   )
__future__r   r/   r   r9   r   r   rP   r   typesr   r   r   typingr   r>   r;   trio.lowlevel
trio._utilr	   ContextDecoratorr   r   rn   rN   disable_ki_protectionr#   r%   r   r   r   r   r   <module>r      s    " 
   
  # 3 3     	
33Z5H5H 	 $%$$S % &S R)/ R) R)j
$ r   