
    ,hhr3                     h   S SK r S SKrS SKrS SKJrJr  / SQr " S S5      r " S S\5      r " S S	5      r	SS
 jr
\S:X  ap  S SKr\R                  " 5       r\R                  SSSS9  \R!                  5       r\R$                  (       d  \R&                  R(                  (       a  SrOSr\
" \5        gg)    N)CommandCompilercompile_command)InteractiveInterpreterInteractiveConsoleinteractr   c                   P    \ rS rSrSS jrSS jrS rSS jrS rS r	S	 r
S
 rSrg)r      Nc                 >    Uc  SS S.nXl         [        5       U l        g )N__console__)__name____doc__)localsr   compile)selfr   s     -/opt/python-3.13.8/usr/lib/python3.13/code.py__init__InteractiveInterpreter.__init__   s"     >"/DAF&(    c                      U R                  XU5      nUc  gU R                  U5        g! [        [        [        4 a    U R	                  X!S9   gf = f)N)sourceFT)r   OverflowErrorSyntaxError
ValueErrorshowsyntaxerrorruncode)r   r   filenamesymbolcodes        r   	runsource InteractiveInterpreter.runsource(   s^    0	<<&9D < 	T {J7 	   9	s   * $AAc                 r     [        XR                  5        g ! [         a    e   U R                  5          g = fN)execr   
SystemExitshowtracebackr   r   s     r   r   InteractiveInterpreter.runcodeO   s1    	!{{# 		! s    6c                      [         R                  " 5       u  p4nU(       a  [        U[        5      (       a  Xl        UR                  SS5      nU R                  X4S U5        S =n=pEg ! S =n=pEf = f)Nr    )sysexc_info
issubclassr   r   pop_showtraceback)r   r   kwargstypvaluetbr   s          r   r   &InteractiveInterpreter.showsyntaxerrorb   sk    	$ \\^NCJsK88!)ZZ"-FD&9##C#%"t#C#%"s   AA' 'A.c                      [         R                  " 5       u  pnU R                  XUR                  S5        S =n=p#g ! S =n=p#f = fNr)   )r*   r+   r.   tb_next)r   r0   r1   r2   s       r   r%   $InteractiveInterpreter.showtracebackw   sK    	$ \\^NCBJJ;##C#%"t#C#%"s	   5= Ac                    U[         l        U[         l        UR                  U5      nUR	                  5       nU(       aV  U[
        L aM  UR                  (       d<  UR                  b/  [        U5      UR                  :  a  XRR                  S-
     Ul        UR                  U5      =[         l	        =[         l
        n[         R                  [         R                  L a  U R                  XU5        g  [         R                  " XU5        g ! [         a    e [         a  nS Ul        UR                  UR"                  R$                  5      n['        S[         R(                  S9  [         R                  " [+        U5      XfR"                  5        ['        [         R(                  S9  ['        S[         R(                  S9  [         R                  " XU5         S nAg S nAff = f)N   zError in sys.excepthook:)filezOriginal exception was:)r*   	last_typelast_tracebackwith_traceback
splitlinesr   textlinenolenlast_exc
last_value
excepthook__excepthook___excepthookr$   BaseException__context____traceback__r6   printstderrtype)r   r0   r1   r2   r   lineses          r   r.   %InteractiveInterpreter._showtraceback   sP   $$R(!!#sk)

u||'?J%,,.||a/0EJ050D0DR0HHHs~>>S///S,3s2.   3 $$$Q__%<%<=0szzB""47A?3::&/cjjA""3r223s   1D	 	GB4GGc                 r    [         R                  " XU5      nU R                  SR                  U5      5        g r5   )	tracebackformat_exceptionwritejoin)r   r0   r1   r2   rM   s        r   rF   "InteractiveInterpreter._excepthook   s*     **3r:

2775>"r   c                 B    [         R                  R                  U5        g r"   )r*   rK   rS   )r   datas     r   rS   InteractiveInterpreter.write   s     	

r   )r   r   r"   )z<input>single)r   
__module____qualname____firstlineno__r   r   r   r   r%   r.   rF   rS   __static_attributes__ r   r   r   r      s+    )%N!&$*$3:#r   r   c                   J    \ rS rSrSSS.S jjrS rSS jrSS jrSS	 jrS
r	g)r      NF
local_exitc                f    [         R                  X5        X l        X0l        U R	                  5         g r"   )r   r   r   rb   resetbuffer)r   r   r   rb   s       r   r   InteractiveConsole.__init__   s(     	''5 $r   c                     / U l         g r"   )bufferr   s    r   rd   InteractiveConsole.resetbuffer   s	    r   c                     [         R                     [         R                    SnUcS  U R	                  S[         R
                  < S[         R                  < SU< SU R                  R                  < S3	5        O$U(       a  U R	                  S	[        U5      -  5        S
nS nS nU R                  (       ar  [        [        S5      (       a$  [        R                  n[        S5      [        l        [        [        S5      (       a$  [        R                  n[        S5      [        l           U(       a  [         R                  nO[         R                  n U R!                  U5      nU R#                  U5      nMN  ! [         a    S[         l         GN~f = f! [         a    S[         l         GNf = f! [$         a    U R	                  S5         Omf = f! [&         a&    U R	                  S5        U R)                  5         S
n N[*         a.  n	U R                  (       a  U R	                  S5         S n	A	O
U	eS n	A	ff = fUb  U[        l        Ub  U[        l        Uc)  U R	                  SU R                  R                  -  5        g US:w  a  U R	                  S	U-  5        g g ! Ub  U[        l        Ub  U[        l        Uc)  U R	                  SU R                  R                  -  5        f US:w  a  U R	                  S	U-  5        f f = f)Nz>>> z... zFType "help", "copyright", "credits" or "license" for more information.zPython z on 
z
(z)
z%s
r   exitquitz
KeyboardInterrupt
znow exiting %s...
r)   )r*   ps1AttributeErrorps2rS   versionplatform	__class__r   strrb   hasattrbuiltinsrl   Quitterrm   	raw_inputpushEOFErrorKeyboardInterruptrd   r$   )
r   bannerexitmsgcprtmore_exit_quitpromptlinerN   s
             r   r   InteractiveConsole.interact   si    	GG	GG X>JJS\\4//1 2 JJvF+, ??x((  'x((  '#	- !$!$/#~~f5
  $yy K  	CG	  	CG	R $ 

4(
 ) JJ67$$&D!  

4(    %  %

04>>3J3JJKB

6G+,    %  %

04>>3J3JJKB

6G+, s   E8 F )J +(G F0 %G 6J 8FFF-,F-0GG J GG -H7>J  	H7	"H2+J 0H22H77J A%Lc                     U R                   R                  U5        SR                  U R                   5      nUc  U R                  nU R	                  XBUS9nU(       d  U R                  5         U$ )Nrk   )r   )rg   appendrT   r   r   rd   )r   r   r   _symbolr   r   s         r   ry   InteractiveConsole.push(  s]     	4 4;;'}}H~~fw~?r   c                     [        U5      $ r"   )input)r   r   s     r   rx   InteractiveConsole.raw_input?  s     V}r   )rg   r   rb   )Nz	<console>)NN)NrY   )r)   )
r   rZ   r[   r\   r   rd   r   ry   rx   r]   r^   r   r   r   r      s$     Y-v.r   r   c                   *    \ rS rSrS rS rSS jrSrg)rw   iM  c                 V    Xl         [        R                  S:X  a  SU l        g SU l        g )Nwin32zCtrl-Z plus ReturnzCtrl-D (i.e. EOF))namer*   rr   eof)r   r   s     r   r   Quitter.__init__N  s!    	<<7"+DH*DHr   c                 <    SU R                    SU R                   S3$ )NzUse z or z to exit)r   r   rh   s    r   __repr__Quitter.__repr__U  s    dii[TXXJh77r   Nc                     [        U5      er"   )r$   r&   s     r   __call__Quitter.__call__X  s    r   )r   r   r"   )r   rZ   r[   r\   r   r   r   r]   r^   r   r   rw   rw   M  s    +8r   rw   c                 v    [        X$S9nUb  Xl        O SS KnUR	                  X5        g ! [         a     Nf = f)Nra   r   )r   rx   readlineImportErrorr   )r|   readfunclocalr}   rb   consoler   s          r   r   r   \  sF      !>G$	 V%  		s   + 
88__main__z-q
store_truez*don't print version and copyright messages)actionhelpr)   )NNNNF)rv   r*   rQ   codeopr   r   __all__r   r   rw   r   r   argparseArgumentParserparseradd_argument
parse_argsargsqflagsquietr|   r^   r   r   <module>r      s     
  3^ ^BX/ Xv &6 z$$&F
\I  KDvvV r   