
    Vpfi                    :   U d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dl	Z	d dl
mZ d dl
mZ ej        dd            Zi Zd	ed
<   ej        d             Z G d dej                  ZddZej                            d           ej        ded           dS dS )    )annotationsN)Any)cli_debugger)corereturntuple[int, ...]c                 ~    dd l } t          t          t          | j                            d                              S )Nr   .)web_pdbtuplemapint__version__split)r   s    ^/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/jax/_src/debugger/web_debugger.py_web_pdb_versionr      s4    ...	s3+11#6677	8	88    zdict[tuple[str, int], Any]_web_consolesc                     t                                           D ]} |                                  t                                            d S N)r   valuescloseclear)consoles    r   _close_debuggersr   $   sD    %%''  gMMOOOOr   c                  T     e Zd ZU dZdZdZded<   	 dd fdZd Zd Z	d Z
d Z xZS )WebDebuggerzA web-based debugger.z(jdb) Fbooluse_rawinputtab   frames!list[debugger_core.DebuggerFrame]completekeystrhostportr   c                   ||ft           vr%dd l}|                    |||           t           ||f<   t           ||f         }t          j        |           |_        t                                          |||||           d S )Nr   )stdinstdoutr%   )r   r   
WebConsoleweakrefproxy	_debuggersuper__init__)	selfr#   	thread_idr%   r'   r(   r   _web_console	__class__s	           r   r1   zWebDebugger.__init__0   s    d|=((nnn")"4"4T4"F"FmD$J t,L$]400L	GGVYl<!,  . . . . .r   c                4   |                                  }|j        }|j        }d }|j        
|j        dz   }t	                      dk     r(|d                    |          |t          |          g dS t          j        	                    t          j        
                    |                    t          j        j        z   t          j                            |          d                    |          |g |                                 |                                 dS )N   )r7      r8   
)filenamelisting	curr_linetotal_lines	breaklist)dirnamer:   file_listingcurrent_linebreakpointsglobalslocals)current_framer:   sourceoffsetr   joinlenospathr?   abspathsepbasenameget_globals
get_locals)r2   rE   r:   linesrA   s        r   get_current_frame_dataz"WebDebugger.get_current_frame_data;   s    &&((M%H EL'")A-lI%%99U##!5zz   7??27??8#<#<==KG$$X..		%(($##%%//##  r   c                    |                                  }d                    d t          |j                                                  D                       S )Nr9   c              3  *   K   | ]\  }}| d | V  dS z = N .0keyvalues      r   	<genexpr>z*WebDebugger.get_globals.<locals>.<genexpr>W   sP       A AC 5A A A A A Ar   )rE   rH   sortedrC   itemsr2   rE   s     r   rO   zWebDebugger.get_globalsU   sd    &&((M99 A A !6!<!<!>!>??A A A A A Ar   c                    |                                  }d                    d t          |j                                                  D                       S )Nr9   c              3  *   K   | ]\  }}| d | V  dS rU   rV   rW   s      r   r[   z)WebDebugger.get_locals.<locals>.<genexpr>]   sP       @ @C 5@ @ @ @ @ @r   )rE   rH   r\   rD   r]   r^   s     r   rP   zWebDebugger.get_locals[   sd    &&((M99 @ @ !5!;!;!=!=>>@ @ @ @ @ @r   c                *    |                                  S r   )cmdloop)r2   s    r   runzWebDebugger.runa   s    <<>>r   )r    r!   r"   )r#   r$   r%   r&   r'   r&   r(   r   )__name__
__module____qualname____doc__promptr   __annotations__r1   rR   rO   rP   rc   __classcell__)r5   s   @r   r   r   +   s         &, FJ	. 	. 	. 	. 	. 	. 	.  4A A A@ @ @      r   r   r#   r$   r3   
int | Nonekwargsr   c                F    t          | |fi |                                 d S r   )r   rc   )r#   r3   rl   s      r   run_debuggerrn   d   s,    fi**6**..00000r   r   web)r   r   )r#   r$   r3   rk   rl   r   )
__future__r   atexit	functoolsimportlib.util	importlibrJ   typingr   r-   jax._src.debuggerr   r   debugger_corecacher   r   ri   registerr   CliDebuggerr   rn   util	find_specregister_debuggerrV   r   r   <module>r      sV   # " " " " " "          				        * * * * * * 3 3 3 3 3 3 9 9 9 9
 -/ . . . .   7 7 7 7 7,* 7 7 7r1 1 1 1
 >I&&2!-!%r::::: 32r   