+
    iVZ  c                  sl  a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
HtHtHtHtHtHtHt ^ RIHtHtHt ^RIHtHt ^RIHt ^RIHt ^RIHt  ^ R	IHtHtHtH t H!t! R]%R&    ^ RI&t&Rt(]('       d   ^ RI)H*t* / ^#Rb^$Rb^%Rb^&Rb^'Rb^(Rb^.Rb^pRb^qRb^rRb^sRb^tR b^uR!b^vR"b^wR#b^xR$b^yR%b^zR&^{R'^|R(^}R)^~R*^R+^R,^R-^R.^R//
Ct+R0]%R1&   R2t,R3t-R4t.R5t/R6t0R7t1^t2^t3R8t4R9t5R9t6 ! R: R;]74      t8R< t9 ! R= R>]4      t: ! R? R@]4      t; ! RA RB]4      t< ! RC RD]4      t= ! RE RF]4      t> ! RG RH]P$                  4      t? ! RI RJ]P$                  4      t@ ! RK RL]P(                  4      tA ! RM RN]4      tB^tC^tD^tE^tF^tG^tH^tI^tJ^tK^ tLROtM^tN^tO^tPRUtQRVtR]P                  RP8X  Ed>   ]! RQRRRS7      tT] P                  P                  tV].]VnW        ]]VnX        ]TP                  tY]]P&                  ! ];4      .]YnW        ]]YnX        ]TP                  t[]]! ]4      ]! ]4      ]	]! ]=4      .][nW        ]][nX        ]TP                  t\]]! ]4      .]\nW        ]]\nX        ]TP                  t]]].]]nW        ]]]nX        ]TP                  t_]]! ]B4      ]]! ]4      .]_nW        ]]_nX        ]TP                  t`].]`nW        ]]`nX        ]TP                  ta]].]anW        ]]anX        ]V! ]R4      tb]V! ]Q4      tcR# RT td]dtV]dtY]dt[]dt\]dt]]dt_]dt`]dta^ tb^ tcR#    ^ R
IH"tH#t  R R ltR R lt ! R R]$4      t! EL; i  ]' d    Rt& ELi ; i)W    )annotationsN)	_COORDWORD
SMALL_RECTBOOLHANDLECHARDWORDWCHARSHORT)	StructurePOINTERUnion)EventConsole)trace)wlen)
EventQueue)get_last_errorGetLastErrorWinDLLwindllWinError)CDLLcdllc                   V ^8  d   QhRR/#    returnint format   "0/usr/lib64/python3.14/_pyrepl/windows_console.py__annotate__r$   3   s      #     c                     ^*# i*   r   r   r%   r#   r   r   3       r%   c               r   r   r   r    r"   r#   r$   r$   6   s      C r%   c                 r&   r'   r   r   r%   r#   r   r   6   r(   r%   c                  s&    ] tR t^9tRR R lltRtR# )r   Nc               $    V ^8  d   QhRRRRRR/# )r   err
int | Nonedescrz
str | Noner   Noner   r    r"   r#   r$   ZWinError.__annotate__:   s!     	 	
 	: 	 	r%   c                	s    Wn         W n        R # N)r*   r,   )selfr*   r,      &&&r#   __init__ZWinError.__init__:   s    HJr%   )r,   r*   r.   )__name__
__module____qualname____firstlineno__r1   __static_attributes__r   r%   r#   r   r   9   s    	 	r%   r   ztypes.ModuleType | NonentF)IOZendZhomeleftZuprightZdownZdeleteZf1Zf2Zf3Zf4Zf5Zf6Zf7Zf8Zf9Zf10Zf11Zf12Zf13Zf14Zf15Zf16Zf17Zf18Zf19Zf20zdict[int, str]VK_MAPz[Kz[{}Dz[{}Cz[{}Az[{}Bz[H[Ji  l    c                  s    ] tR t^~tRtR# )_errorr   N)r2   r3   r4   r5   r6   r   r%   r#   r<   r<   ~   s    r%   r<   c                 sR     \         P                  ! 4       #   \         d     R # i ; i)F)r7   Z_supports_virtual_terminalZAttributeErrorr   r%   r#   _supports_vtr=      s(    ,,.. s    &&c                  s  a  ] tR t^tRAR V 3R llltR R lt]R 4       tR R ltRBR R	 llt	R
 t
R tR tR tR R ltR R ltR R lt]R R l4       tR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltRCR* R+ lltR, R- ltR. R/ ltR0 R1 ltR2 R3 lt R4 R5 lt!R6 R7 lt"R8 R9 lt#R: R; lt$R< R= lt%R> R? lt&R@t'V ;t(# )DWindowsConsolec               s(    V ^8  d   QhRRRRRRRR/# )r   f_inzIO[bytes] | intf_outtermstrencodingr   r    r"   r#   r$   WindowsConsole.__annotate__   s2     $ $$ $ 	$
 $r%   c                	s4  < \         SV `  WW44       \        4       V n        V P                  '       d   \	        R 4       \        4       p\        \        V4       \	        RVP                  R 24       VP                  V n	        \        \        \        \        ,          \        ,          4       . V n        ^PV n        ^V n        ^ V n        \'        V4      V n         \*        P,                  ! V P.                  R4      V n        R#   \2         d    RT n         R# i ; i)z!console supports virtual terminalzsaved original input mode 0xxZwN)Zsuperr1   r=   _WindowsConsole__vt_supportr   r   GetConsoleModeInHandlevalue$_WindowsConsole__original_input_modeSetConsoleMode	OutHandleENABLE_WRAP_AT_EOL_OUTPUTENABLE_PROCESSED_OUTPUT"ENABLE_VIRTUAL_TERMINAL_PROCESSINGscreenwidthheight_WindowsConsole__offsetr   event_queueioZ_WindowsConsoleIO	output_fdout
ValueError)r/   r?   r@   rA   rC   Zoriginal_input_mode	__class__s   &&&&& r#   r1   ZWindowsConsole.__init__   s     	d5(N56 $gx!45,-@-F-Fq,IJK%8%>%>"%%&01	
 "$
%h/	++DNNC@DH 	DH	s   &D DDc               r)   )r   rP   z	list[str]c_xytuple[int, int]r   r-   r   r    r"   r#   r$   rD      s&     C! C!i C! C!4 C!r%   c                s   Vw  r4\        V P                  4      \        \        V4      V P                  4      8  d   V P	                  4        V P                  '       d>   V P                  ^ \        V P                  4      ^,
          4       V P                  R4       ^ \        V P                  4      3V n        V P                  P                  R4       K  V P                  w  rVV P                  ;rxV P                  p	WH8  d   TpEMWHV	,           8  d   WI,
          ^,           pW,
          p
V P                  WP                  4       4       V P                  ^ ,          V P                  ^,          V
,           3V n        V ;P                  V
,          un	        \        V
4       F  pV P                  P                  R4       K   	  MJV^ 8  dD   \        V4      W,           8  d.   \        \        V4      V	,
          ^ 4      pVP                  R4       V P                  WwV	,            pWW,            pWn	        V P	                  4        \        \        WV	,           4      W4       F#  w  pppVV8w  g   K  V P                  WVV4       K%  	  \        V4      pV\        V4      8  d7   V P                  ^ V4       ^ V3V n        V P!                  4        V^,          pKF  V P#                  4        Wn        V P%                  W44       R# )z
Refresh the console screen.

Parameters:
- screen (list): List of strings representing the screen contents.
- c_xy (tuple): Cursor position (x, y) on the screen.

 N)lenrP   minrR   _hide_cursor_move_relative_WindowsConsole__writeposxyZappendrS   _scroll_getscrollbacksizerangeZmaxZzip#_WindowsConsole__write_changed_line_erase_to_end_show_cursormove_cursor)r/   rP   rZ   ZcxZcyZpxZpyZ
old_offsetZoffsetrR   Zscroll_linesiZoldscrZnewscryoldlinenewlines   &&&              r#   refreshZWindowsConsole.refresh   sN    $++S[$++!>>{{{##As4;;'7!';<T"C,,DJKKr""mm+
 ;FF?"[1_F!.L
 LL'>'>'@AA

1(DDDJMM\)M<(""2& )aZCK&/9Vv-q1FMM"Zv*=>1
 v/@	
'!))!grB A K#f+o1%ADJ FA r%   c                	sp    \         e.   \         P                  ! 4       '       d   \         P                  # R # R # r.   )r7   Z_is_inputhook_installedZ
_inputhookr/      &r#   
input_hookZWindowsConsole.input_hook   s(     >b88::==  ;>r%   c          
     s,    V ^8  d   QhRRRRRRRRRR/# )	r   rl   r   rm   rB   rn   px_coordr   r-   r   r    r"   r#   r$   rD      s4     /' /'/'"/'-0/'<?/'	/'r%   c                	s   \        \        V4      \        V4      4      p^ p^ p^ p^ p	V F&  p
W8  d    MV	\        V
4      ,          p	V^,          pK(  	  Wu8  dD   W&,          W6,          8X  d1   W6,          R8w  d$   V\        W6,          4      ,          pV^,          pKI  V P                  4        V P                  Wq4       \        V4      \        V4      8  d   V P	                  4        V P                  W6R 4       \        V4      V P                  8X  d,   V P                  ^ V^,           4       ^ V^,           3V n        R# \        V4      V3V n        RV9   g   WP                  ^,          8w  g   RV9   d   V P                  ^ V4       R# R# )r    N)	r_   r   r`   ra   rh   rb   rQ   rc   rj   )r/   rl   rm   rn   rs   ZminlenZx_posZx_coordZpx_posZjZcs   &&&&&      r#   Z__write_changed_lineZ#WindowsConsole.__write_changed_line   sI    T']DM2A}aLAaKF	  '.0&(tGN++GQJEG'=4=( WV_%=DJJ&1q5)AEDJg)DJ AA$6&G:K   A&	 ;Lr%   c          
     s,    V ^8  d   QhRRRRRRRRRR/# )	r   topr   bottomr9   r+   r:   r   r-   r   r    r"   r#   r$   rD   +  s4     + ++ #++5+EO+	+r%   c                	sv   \        4       p\        V4      Vn        \        V4      Vn        \        Vf   ^ MT4      Vn        \        Vf   V P                  4       ^,          ^,
          MT4      Vn        \        4       p\        4       pRVn	        \        \        VR Wg4      '       g   \        \        4       4      hR # )NZ )r   r
   TopBottomLeftgetheightwidthRightr   	CHAR_INFOUnicodeCharScrollConsoleScreenBufferrL   r   r   )r/   rv   rw   r9   r:   Zscroll_rectZdestination_originZ	fill_infos   &&&&&   r#   rd   ZWindowsConsole._scroll+  s     !l*"6] dl=!,1MD!!$q(u
 $XK	 #	({D*<
 
 <>**
r%   c                	(    V P                  R 4       R# )z[?25lNrb   rp   rq   r#   r`   ZWindowsConsole._hide_cursor>      [!r%   c                	r   )z[?25hNr   rp   rq   r#   ri   ZWindowsConsole._show_cursorA  r   r%   c                	r   )z[?12hNr   rp   rq   r#   _enable_blinkingZWindowsConsole._enable_blinkingD  r   r%   c                	r   )z[?12lNr   rp   rq   r#   _disable_blinkingZ WindowsConsole._disable_blinkingG  r   r%   c               r   r   r   r-   r   r    r"   r#   r$   rD   J  s     $ $ $r%   c                	r   )z[?2004hNr   rp   rq   r#   _enable_bracketed_pasteZ&WindowsConsole._enable_bracketed_pasteJ      ]#r%   c               r   r   r   r    r"   r#   r$   rD   M  s     $ $$ $r%   c                	r   )z[?2004lNr   rp   rq   r#   _disable_bracketed_pasteZ'WindowsConsole._disable_bracketed_pasteM  r   r%   c                    V ^8  d   QhRRRR/# )r   textrB   r   r-   r   r    r"   r#   r$   rD   P  s     L LC LD Lr%   c                	s   R V9   d*   RP                  V Uu. uF  q"R 8X  d   RMTNK  	  up4      pV P                  eR   V P                  P                  VP                  V P                  R4      4       V P                  P                  4        R# \        P                  ! V P                  VP                  V P                  R4      4       R# u upi )ru   r]   z^ZNreplace)ZjoinrW   ZwriteencoderC   ZflushosrV   )r/   r   rE      && r#   Z__writeZWindowsConsole.__writeP  s    T>77E1KDQ6EFD88HHNN4;;t}}i@AHHNNHHT^^T[[	%JK Fs   Cc               r   r   r   r[   r   r    r"   r#   r$   rD   [  s     @ @? @r%   c                	s    \        4       p\        \        V4      '       g   \        \	        4       4      hVP
                  P                  VP
                  P                  3# r.   )CONSOLE_SCREEN_BUFFER_INFOGetConsoleScreenBufferInforL   r   r   dwCursorPositionZXZYr/   Zinfo   & r#   	screen_xyZWindowsConsole.screen_xyZ  sG    )+))T::<>**$$&&(=(=(?(???r%   c               r   r   r   r    r"   r#   r$   rD   a  s     $ $t $r%   c                	s0    V P                  \        4       R # r.   )rb   ERASE_IN_LINErp   rq   r#   rh   ZWindowsConsole._erase_to_enda  s    ]#r%   c               r   r   r   r    r"   r#   r$   rD   d  s     + + +r%   c                	s    \        R 4       . V n        V P                  4       w  V n        V n        RV n        ^ V n        ^ V n        V P                  '       d8   \        \        V P                  \        ,          4       V P                  4        R# R# )prepareNr    r    )r   rP   r{   rR   rQ   rc   Z_WindowsConsole__gone_tallrS   rF   rK   rH   rJ   ENABLE_VIRTUAL_TERMINAL_INPUTr   rp   rq   r#   r   ZWindowsConsole.prepared  sq    i"&"5"5"7TZ
8T%?%?B_%_`((* r%   c               r   r   r   r    r"   r#   r$   rD   q  s     A A Ar%   c                	s    V P                   '       d-   V P                  4        \        \        V P                  4       R # R # r.   )rF   r   rK   rH   rJ   rp   rq   r#   restoreZWindowsConsole.restoreq  s/    ))+8T%?%?@ r%   c               $    V ^8  d   QhRRRRRR/# r   rE   r   rl   r   r-   r   r    r"   r#   r$   rD   w  s!     / / / / /r%   c                s   WP                   ^ ,          ,
          pW P                   ^,          ,
          pV^ 8  d'   V P                  \        P                  V) 4      4       M+V^ 8  d%   V P                  \        P                  V4      4       V^ 8  d(   V P                  \
        P                  V) 4      4       R# V^ 8  d'   V P                  \        P                  V4      4       R# R# )z#Moves relative to the current posxyN)rc   rb   	MOVE_LEFTr!   
MOVE_RIGHTMOVE_UP	MOVE_DOWN)r/   rE   rl   ZdxZdys   &&&  r#   ra   ZWindowsConsole._move_relativew  s    AA6LL))2#./!VLL**2./6LL,-!VLL))"-. r%   c               r   r   r   r    r"   r#   r$   rD     s!      S S T r%   c                	s&   V^ 8  g   V^ 8  d   \        RV RV 24      hW P                  8  g"   W P                  V P                  ,           8  d(   V P                  P	                  \        RR4      4       R# V P                  W4       W3V n        R# )r    zBad cursor position z, Zscrollr]   N)rX   rS   rR   rT   insertr   ra   rc   )r/   rE   rl   r0   r#   rj   ZWindowsConsole.move_cursor  sv    q5AE3A3b<==}}]]T[[%@ @##E(B$78%DJr%   c               r   )r   visibleboolr   r-   r   r    r"   r#   r$   rD     s        d  t  r%   c                	sZ    V'       d   V P                  4        R # V P                  4        R # r.   )ri   r`   )r/   r      &&r#   set_cursor_visZWindowsConsole.set_cursor_vis  s    r%   c               r   r   r   r    r"   r#   r$   rD     s     	
 	
 	
r%   c                sH   \        4       p\        \        V4      '       g   \        \	        4       4      hVP
                  P                  VP
                  P                  ,
          ^,           VP
                  P                  VP
                  P                  ,
          ^,           3# )zlReturn (height, width) where height and width are the height
and width of the terminal window in characters.)
r   r   rL   r   r   srWindowry   rx   r|   rz   r   r   r#   r{   ZWindowsConsole.getheightwidth  sr     *+))T::<>**MM  4==#4#44q8MM$--"4"44q8
 	
r%   c               r   r   r   r    r"   r#   r$   rD     s     $ $C $r%   c                	s    \        4       p\        \        V4      '       g   \        \	        4       4      hVP
                  P                  # r.   )r   r   rL   r   r   r   ry   r   r   r#   re   Z!WindowsConsole._getscrollbacksize  s4    )+))T::<>**}}###r%   c               r   )r   r   zINPUT_RECORD | Noner   r    r"   r#   r$   rD     s      0 r%   c                	s    \        4       p\        4       p\        \        V^V4      '       g   \	        \        4       4      hV# )   )INPUT_RECORDr   ReadConsoleInputrH   r   r   )r/   recreads   &  r#   _read_inputZWindowsConsole._read_input  s3    nw#q$77<>**
r%   c               r   )r   nr   r   z&tuple[ctypes.Array[INPUT_RECORD], int]r   r    r"   r#   r$   rD     s      	/r%   c                	s    V\         ,          ! 4       p\        4       p\        \        W!V4      '       g   \	        \        4       4      hW#P                  3# r.   )r   r   r   rH   r   r   rI   )r/   r   r   r   s   &&  r#   _read_input_bulkZWindowsConsole._read_input_bulk  s@     <"w#$77<>**JJr%   c               r   )r   blockr   r   zEvent | Noner   r    r"   r#   r$   rD     s     >& >&t >&| >&r%   c                s   V'       g   V P                  ^ R7      '       g   R# V P                  P                  4       '       Edg   V P                  4       pVf   R# VP                  \
        8X  d   \        RR4      # VP                  \        8w  g'   VP                  P                  P                  '       g   V'       d   K  R# VP                  P                  pVP                  P                  ;rEVR8X  d   \        RRR7      # VP                  ^8X  d   R	pEMVR
8X  d   \        P                  VP                  4      pV'       d   VP                  \         ,          '       d   RV 2pMPVP                  \"        ,          '       d4   V P                  P%                  \        RVR7      4       \        RRR7      # \        RVR7      # V'       d   EK  R# V P&                  '       dL   VP)                  V P                  P*                  R4       F  pV P                  P-                  V4       K   	  EK  VP                  \"        ,          '       dQ   VP                  \         ,          '       g4   V P                  P%                  \        RVR7      4       \        RRR7      # \        RVR7      # V P                  P                  4       # )zReturn an Event instance.  Returns None if |block| is false
and there is no event pending, otherwise waits for the
completion of an event.)timeoutNZresizer]   keyr\   )ZevtdataZ	backspace zctrl rt   r   )waitrT   emptyr   	EventTypeWINDOW_BUFFER_SIZE_EVENTr   	KEY_EVENTKeyEventbKeyDownuCharr~   wVirtualKeyCoder;   getdwControlKeyStateCTRL_ACTIVE
ALT_ACTIVEr   rF   r   rC   Zpush)r/   r   r   	key_eventZraw_keyr   chars   &&     r#   	get_eventZWindowsConsole.get_event  s   
 TYYqY11$$&&""$C{}} 88Xr**}}	)1C1C1L1L1L		**I%OO777Gd{T22**a/!jj!:!:; 22[@@ %cUm"44zAA((//%c0JK$V<< U55"""#NN4+;+;+D+DiPD$$))$/ Q**Z77 !22[@@$$++Ee#,FG U88U--##%%r%   c               r   )r   r   zint | bytesr   r-   r   r    r"   r#   r$   rD     s     H Hk Hd Hr%   c                s    \        R4      h)z.
Push a character to the console event queue.
z"push_char not supported on WindowsZNotImplementedError)r/   r   r   r#   	push_charZWindowsConsole.push_char  s     ""FGGr%   c               r   r   r   r    r"   r#   r$   rD     s      d r%   c                	r   )ZNr   rp   rq   r#   beepZWindowsConsole.beep  s    Vr%   c               r   r   r   r    r"   r#   r$   rD     s      t r%   c                sL    V P                  \        4       RV n        . V n        R# )zWipe the screenNr   )rb   CLEARrc   rP   rp   rq   r#   clearZWindowsConsole.clear  s    U
r%   c               r   r   r   r    r"   r#   r$   rD     s       r%   c                s0   \        V P                  4      ^,
          pV^ 8  d%   V P                  V,          '       g   V^,          pK+  V P                  ^ \        WP                  V P
                  ,           ^,
          4      4       V P                  R4       R# )zsMove the cursor to the end of the display and otherwise get
ready for end.  XXX could be merged with restore?  Hmm.z
N)r^   rP   ra   r_   rR   rS   rb   )r/   rl   r   r#   finishZWindowsConsole.finish  sf     q 1fT[[^^FAAs1kkDMM&AA&EFGVr%   c               r   r   r   r    r"   r#   r$   rD     s      T r%   c                s    R# )zFlush all output to the screen (assuming there's some
buffering going on somewhere).

All output on Windows is unbuffered so this is a nopNr   rp   rq   r#   flushoutputZWindowsConsole.flushoutput  s    
 	r%   c               r   r   r   r    r"   r#   r$   rD     s     + +T +r%   c                sV    \        \        4      '       g   \        \        4       4      hR# )z0Forget all pending, but not yet processed input.N)FlushConsoleInputBufferrH   r   r   rp   rq   r#   forgetinputZWindowsConsole.forgetinput  s    &x00<>** 1r%   c               r   )r   r   r   r   r    r"   r#   r$   rD     s      E r%   c                sr   \        RRR4      pV P                  P                  4       '       gJ   V P                  P                  4       pV'       g   KD  V;P                  VP                  ,          un        Ki  V P                  R4      w  r4\        V4       F  pW5,          pV'       g   K  VP                  \        8X  g   K,  VP                   P                  pVP                  '       g   KV  VP                  P                  pVR8X  d   Ku  VR8X  d
   VR,          pV;P                  V,          un        K  	  V# )zAReturn the characters that have been typed but not yet
processed.r   r]   r%   i   r   r   r\   )r   rT   r   r   r   r   rf   r   r   r   r   r   r~   )	r/   ZeZe2ZrecsZ	rec_countrk   r   r   Zchs	   &        r#   
getpendingZWindowsConsole.getpending  s     %S!""((**!!%%'Br"''!//5y!A'C ss}}	1II..	 )))__00<:$JB" "  r%   c               r   r   r   zfloat | Noner   r   r   r    r"   r#   r$   rD   :  s      l t r%   c                s    Vf   \         pM\        V4      p\        \        V4      pV\        8X  d   \        \        4       4      hV\        8X  d   R# R# )zWait for an event.FT)INFINITEr   WaitForSingleObjectrH   WAIT_FAILEDr   r   WAIT_TIMEOUT)r/   r   Zretr   r#   wait_for_eventZWindowsConsole.wait_for_event:  sE    ?G'lG!(G4+>+,,L r%   c               r   r   r   r    r"   r#   r$   rD   G  s     
 
L 
T 
r%   c                sr    V P                   P                  4       '       * ;'       g    V P                  V4      # )z!
Wait for events on the console.
)rT   r   r   )r/   r   r   r#   r   ZWindowsConsole.waitG  s6    
   &&(( , ,""7+	
r%   c               r   r   r   r    r"   r#   r$   rD   P  s     8 8 8r%   c                	    \        R 4      h)zNo repaint supportr   rp   rq   r#   repaintZWindowsConsole.repaintP  s    !"677r%   )
Z__gone_tallZ__offsetZ__original_input_modeZ__vt_supportrT   rR   rW   rc   rP   rQ   )r    r   r]   r]   )NN)T))r2   r3   r4   r5   r1   ro   Zpropertyrr   rg   rd   r`   ri   r   r   r   r   rb   r   rh   r   r   ra   rj   r   r{   re   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   Z__classcell__)rY      @r#   r>   r>      s    $ $LC!J ! !/'b+&""""$$L @ @$+A/ 	
$>&@H+
:
8 8r%   r>   c                  s8    ] tR tRtR]3R]3R]3R]3R]3.tRtR# )	r   iU  dwSizer   ZwAttributesr   ZdwMaximumWindowSizer   N)	r2   r3   r4   r5   r   r   r   _fields_r6   r   r%   r#   r   r   U  s1    	6	V$		Z 	'Hr%   r   c                  &    ] tR tRtR]3R]3.tRtR# )CONSOLE_CURSOR_INFOi_  r   ZbVisibler   N)r2   r3   r4   r5   r   r   r   r6   r   r%   r#   r   r   _  s    	5	THr%   r   c                  r   )r}   if  r~   Z
Attributesr   N)r2   r3   r4   r5   r	   r   r   r6   r   r%   r#   r}   r}   f  s    		tHr%   r}   c                  s&    ] tR tRtR]3R ]3.tRtR# )Charim  r~   r   N)r2   r3   r4   r5   r	   r   r   r6   r   r%   r#   r   r   m  s    		Hr%   r   c                  s>    ] tR tRtR]3R]3R]3R]3R]3R]3.tRt	R	# )
r   it  r   ZwRepeatCountr   ZwVirtualScanCoder   r   r   N)
r2   r3   r4   r5   r   r   r   r   r   r6   r   r%   r#   r   r   t  s8    	T		D!	T"	$	e$Hr%   r   c                  s     ] tR tRtR]3.tRtR# )WindowsBufferSizeEventi  r   r   N)r2   r3   r4   r5   r   r   r6   r   r%   r#   r   r     s    6"#Hr%   r   c                  r   )ConsoleEventi  r   r   r   N)r2   r3   r4   r5   r   r   r   r6   r   r%   r#   r   r     s    	X	!#9:Hr%   r   c                  r   )r   i  r   r   r   N)r2   r3   r4   r5   r   r   r   r6   r   r%   r#   r   r     s    d#g|%<=Hr%   r   i   Zwin32kernel32T)Zuse_last_errorc                 r   )zWindows onlyr   )ZargsZkwargss   *,r#   	_win_onlyr     s    !.11r%   ii)e__conditional_annotations__Z
__future__r   rU   r   ZsysZctypesZtypesZctypes.wintypesr   r   r   r   r   r   r   r	   r
   r   r   r   Zconsoler   r   r   Zutilsr   Zwindows_eventqueuer   r   r   r   r   r   r   r   ZOSErrorZ__annotations__r7   ZImportErrorZTYPE_CHECKINGZtypingr8   r;   r   r   r   r   r   r   r   r   r   r   r   Z	Exceptionr<   r=   r>   r   r   r}   r   r   r   r   r   r   ZFOCUS_EVENTZ
MENU_EVENTZMOUSE_EVENTr   ZENABLE_PROCESSED_INPUTZENABLE_LINE_INPUTZENABLE_ECHO_INPUTZENABLE_MOUSE_INPUTZENABLE_INSERT_MODEr   rN   rM   rO   ZSTD_INPUT_HANDLEZSTD_OUTPUT_HANDLEZplatformZ	_KERNEL32r   ZGetStdHandleZargtypesZrestyper   ZScrollConsoleScreenBufferWr   rG   rK   ZReadConsoleInputWr   r   r   rL   rH   r   )r   r   r#   <module>r      s  ( # " 	 	 
  
 
 
 - , #   *MM"   %& 	& 	$	
 	' 	& 	( 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$  	$!" 	%#$ 	%%%%%%%%%%7 B 	

	 
 	Y 	J8W J8\ ) 	 5 v $V-- $6<< >9 > 	
       &    %) "  <<7z$7I??//L"GL!L!*!E!E12+' *.& ) D D

	*& )-%--N%wu~6N!N--N%uoN!N 22!')>wu~ V# (??(.x$&*##77$*E? "'./I,-H2 L!* )NN '#IHa57   	Bs   K? .L& ?!L#&	L32L3