
    9i                        d Z ddlZddlZddlZdZ ed       ed      ddez   dez   d	ez   d
ez   dej                  ddddddZed   ed<   ed   ed<   ej                  dk(  r=g Z	ed   ez
  ed   ez
  ed   ez
  ed   ez
  ed   ez
  ed   ez
  ed   ez
  ed   ez
  dZ
 ed      D ]  Z e ee            e ee      <    d Zd Zy)zk
Utilities relating to parsing raw characters from the keyboard, based on https://github.com/bchao1/bullet
    N   	   A   B   C   D   [      2   3   5   6   )tabnewlineescupdownrightleftmod_int	undefined	interruptinsertdeletepg_uppg_downr   arrow_beginr   	arrow_endwin32r   r   )s   Hs    Hs   Ps    Ps   Ms    Ms   Ks    K
   c                     t         j                  dk(  r^ddl} d}| j                         r!| j	                          | j                         r!t        t              dk(  r| j	                         }|dv r|| j	                         z   }	 t        t        |         }t        j                  t        t        d                t        j                  |       t        |      t        d   dz
  d	z  t        d
   dz
  d	z  t        d   dz
  d	z  t        d   dz
  d	z  fv rt        j                  t        d             t        t        d         }|S |j                  |      }|S t        j                  d      }|S t         j                  dk(  rddl}ddl}t"        j$                  j'                         }|j)                  |      }	 |j+                  |       t"        j$                  j-                  d      }|j/                  ||j0                  |       |S S # t        $ r	 |d   }Y |S w xY w# |j/                  ||j0                  |       w xY w)zGets raw characters from inputsntr   Nmbcs)       r   r      	   r   r   r   ~   r   posix)osnamemsvcrtkbhitgetchlenWIN_CH_BUFFERchr
WIN_KEYMAPappendKEYMAPordKeyErrordecodepoptermiosttysysstdinfileno	tcgetattrsetrawread	tcsetattr	TCSADRAIN)	r.   encodingchch2chxr;   r<   fdold_settingss	            i/var/www/html/backtest/airagagent/rag_env/lib/python3.12/site-packages/accelerate/commands/menu/keymap.pyget_raw_charsrL   @   s   	ww$llnLLN lln}"B ''6<<>) jo.C!((VI->)?@!((-3xx(1,1x(1,1w!+q0y)A-2	$  &,,SX6VE]+B$ I YYx( I ""1%B I 
G	YY((,	CJJrN"Bb'"3"3\BI2I#    QB  I#   b'"3"3\Bs   CH >0H$ H! H!$Ic                     t               } t        |       t        d   t        d   fv r| S t        |       t        d   k(  rt               }t        |      t        d   k(  rft               }t        |      t        d   t        z
  k\  r7t        |      t        d   t        z
  k  rt	        t        |      t        z         S t        d   S t               S | t
        j                  v r| S t        d   S )z;Gets a character from the keyboard and returns the key coder   r   r   r   r   r    r   )rL   r7   r6   ARROW_KEY_FLAGr3   string	printable)charcombokeys      rK   get_characterrT   q   s    ?D
4yVK(&*;<<	TfUm	#u:	**/C3x6-0>AAc#hRXYdRehvRvFv3s8n455k** ?" 6###K+&&    )__doc__r,   rO   r=   rN   r7   maxsizer6   platformr2   r4   rangeistrrL   rT    rU   rK   <module>r]      s:  
 
  
  t94y
~
. 
" t} Vn{ <<7M,/,/.>1.>1/N2/N2.>1.>1	J 
r !AQ[F3q6N!.b'rU   