o
    f)                     @   s`   d Z ddlT ddlZddlZdd Zdd Zze W n e	y)   dd	lmZ Y nw d
d Z
dS )zcurses

The main package for curses support for Python.  Normally used by importing
the package, and perhaps a particular module inside it.

   import curses
   from curses import textpad
   curses.initscr()
   ...

    )*Nc                  C   sp   dd l } dd l}ttjddtj d | 	 }| j
 D ]\}}|dd dks/|dv r5t||| q|S )Nr   TERMunknown)termfd   ACS_)LINESCOLS)_cursescurses	setupterm_osenvironget_sys
__stdout__filenoinitscr__dict__itemssetattr)r   r   stdscrkeyvalue r   &/usr/lib/python3.10/curses/__init__.pyr      s   r   c                  C   s@   dd l } dd l}|  }t| dr| j|_t| dr| j|_|S )Nr   COLORSCOLOR_PAIRS)r   r   start_colorhasattrr   r   )r   r   retvalr   r   r   r   *   s   

r      )has_keyc             	   O   s   z8t  }t  t  |d zt  W n   Y | |g|R i |W dt v r8|d t  t  t  S S dt v rM|d t  t  t  w w )a  Wrapper function that initializes curses and calls another function,
    restoring normal keyboard/screen behavior on error.
    The callable object 'func' is then passed the main window 'stdscr'
    as its first argument, followed by any other arguments passed to
    wrapper().
    r"   r   r   )	r   noechocbreakkeypadr   localsechonocbreakendwin)funcargskwdsr   r   r   r   wrapper?   s*   




r.   )__doc__r   osr   sysr   r   r   r#   	NameErrorr.   r   r   r   r   <module>   s    
