&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Infered      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm ZTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      U]\[ZYXWV^ gfedcba`_hjiklmnopqr Safe-InferedA small wrapper around s, to ensure the ncurses library is  initialized while running. tuvwxyz{|}~ tuvwxyz{|tuvwxyz{|}~ Safe-InferedS  (X, Y, Z) ;If the mouse event was caused by a change in button state, 6 the buttons and their new state will be listed here. MLower right of keypad NLower left of keypad OCenter of keypad PUpper right of keypad QUpper left of keypad \Clear to end of line ]Clear to end of screen ^ Clear screen _$Sent by rmir or smir in insert mode dFunction keys, F0   F64 qBA glyph is a character, typically spacing, combined with a set of  attributes. uA wrapper around  to ensure clients don  t use an & uninitialized color in an attribute. EPut the terminal in graphical mode, including enabling special keys, * colors, and mouse events (if supported).  After the 3 block has finished running, the terminal is reset  to text mode.  The default window created when ncurses is initialized, also known  as stdscr.  Create a new ), with the given dimensions. To create a  fullscreen window, use  0 0 0 0. *When the window is no longer needed, call . Windows are not  garbage collected, because there s no way to know if  they 9re still in use (as a background, or event source, etc). BClose a window, and free all resources associated with it. Once a 6 window has been closed, it is no longer safe to use. HNote: this computation will not automatically clear the window from the  screen. DCreate a separate window, initialised with the state of an existing  window. 5Apply a window update to the window. After all of an  application "s windows have been updated, call  to update  the terminal  s contents. Re =draw any portions of the screen which have changed since the  last render. 6Set the current foreground and background colors. See   for how to create color IDs. Move the window /s cursor position to the given row and column. =Add some text to the window, at the current cursor position. =Add some text to the window, at the current cursor position. CDraw a border around the edge of the window. For any edge, passing  ! means to use the default glyph. @drawBox v h = drawBorder v v h h Nothing Nothing Nothing NothingEDraw a horizontal line from left to right, using the given glyph and > maximum character count. The cursor position is not changed. CDraw a vertical line from top to bottom, using the given glyph and > maximum character count. The cursor position is not changed. Set the window /s background glyph. The glyph will be drawn in - place of any blank characters, and the glyph s attributes will be ) combined with those of every character.  Set a single , on the current window. No other attributes  are modified. Set all 4s at once on the current window. Any attributes not % included in the list will be unset. 1Check if the terminal supports color. If it doesn t, E alternative indicators (such as underlines or bold) should be used. ;Check if the terminal supports changing color defintiions. 0Change the definition of an existing color. Use  to 6 determine whether changing color values is possible. 5Query the current definition of the given color (see ). 9 The returned tuple is (red, green, blue), with values 0   1000. The default color ID  Assign a new u. to some (foreground, background) color pair. I The user may pick which color ID is assigned, but it must be valid. Use  = to determine how many colors the current terminal supports. ;Get the maximum color ID supported by the current terminal Upper left corner Lower left corner Upper right corner Lower right corner Tee pointing right Tee pointing left Tee pointing up Tee pointing down Horizontal line Vertical line Large plus or crossover  Scan line 1  Scan line 9 Diamond Stipple, or checker board Degree symbol Plus/minus Bullet Arrow pointing left Arrow pointing right Arrow pointing down Arrow pointing up Board of squares Lantern symbol Solid square block  Scan line 3  Scan line 7  Not equal Less than or equal Greater than or equal Pi UK pounds sterling symbol  Get the next k from a given window. JIf the timeout is specified, and no event is received within the timeout,  getEvent returns . If the timeout is 0 or less, getEvent  will not block at all. 6Set the current cursor mode to visible, invisible, or " very visible". ' The previous cursor mode is returned. Runs raw() or noraw() Runs cbreak() or  nocbreak() Runs echo() or noecho() BGet the output speed of the current terminal, in bits per second. "Check if the terminal has a mouse 5Check if some position is contained within the given . )Return (rows, columns) of current screen 'Set whether the entire window has been  touched ; 5 touched characters are redrawn on the next refresh. 4Set whether particular rows in the window have been   touched . Enable/"disable support for special keys.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Rows Columns Begin Y Begin X Row Column  Left edge  Right edge  Top edge  Bottom edge Top left corner Top right corner Bottom left corner Bottom right corner Red (0   1000)  Green (0   1000) Blue (0   1000)  Foreground  Background A value n , such that  (0 < n "d )  Foreground  Background The u to change Timeout, in milliseconds Row Column Start Count   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~v~}|{zyxwuqrstkponmljihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  R Vjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! kponmlqrstuv~}|{zyxw  Safe-InferedCreates a new , on top of the panel stack. :Permanently removes the given panel from the panel stack. GUpdates windows to account for the current panel stack order. The user  must call ) before changes are drawn to the screen.  panelAbove p retrieve the panel above p.  panelAbove p retrieve the panel below p. Retrieve the top most panel in the stack. Retrieve the bottom most panel in the stack. EMakes a hidden panel visible, and places it on the top of the stack. >Temporarily removes the given panel from the panel stack. Use   to restore it. 0Checks if the given panel is currently visible. Move the panel so its upper left corner is at the new  coordinates. (Raise a bottom to the top of the stack. *Lower a panel to the bottom of the stack. ,Retrieves which window a panel is drawn to. +Replaces which window a panel is drawn to.  New upper  left row  New upper  left column        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVyWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ncurses-0.2.3 UI.NCursesUI.NCurses.PanelUI.NCurses.EnumsUI.NCurses.TypesWindowUpdateCurses CursorModeCursorVeryVisible CursorVisibleCursorInvisible MouseStatemouseCoordinates mouseButtonsmouseAlt mouseShift mouseControl ButtonStateButtonTripleClickedButtonDoubleClicked ButtonClickedButtonReleased ButtonPressedKeyKeyUndo KeySuspendKeyShiftedUndoKeyShiftedSuspendKeyShiftedSaveKeyShiftedResumeKeyShiftedRightArrowKeyShiftedReplaceKeyShiftedRedoKeyShiftedPrintKeyShiftedPreviousKeyShiftedOptionsKeyShiftedNextKeyShiftedMoveKeyShiftedMessageKeyShiftedLeftArrowKeyShiftedInsertCharacterKeyShiftedHomeKeyShiftedHelpKeyShiftedFindKeyShiftedExit KeyShiftedEOL KeyShiftedEnd KeySelectKeyShiftedDeleteLineKeyShiftedDeleteCharacterKeyShiftedCreateKeyShiftedCopyKeyShiftedCommandKeyShiftedCancelKeyShiftedBeginKeySave KeyResume KeyRestart KeyReplace KeyRefresh KeyReferenceKeyRedo KeyPrevious KeyOptionsKeyOpenKeyNextKeyMove KeyMessageKeyMarkKeyHelpKeyFindKeyExitKeyEnd KeyCreateKeyCopy KeyCommandKeyClose KeyCancelKeyBegin KeyBackTabKeyC3KeyC1KeyB2KeyA3KeyA1 KeyHomeDownKeyPrintKeyEnterKeyClearAllTabs KeyClearTab KeySetTabKeyPreviousPage KeyNextPageKeyScrollBackwardKeyScrollForwardKeyEOLKeyEOSKeyClearKeyEICKeyInsertCharacterKeyDeleteCharacter KeyInsertLine KeyDeleteLine KeyFunction KeyBackspaceKeyHome KeyRightArrow KeyLeftArrow KeyDownArrow KeyUpArrowEvent EventUnknown EventResized EventMouseEventSpecialKeyEventCharacterGlyphglyphCharacterglyphAttributesColorIDColor ColorWhite ColorCyan ColorMagenta ColorBlue ColorYellow ColorGreenColorRed ColorBlack AttributeAttributeProtectAttributeInvisibleAttributeAltCharset AttributeBold AttributeDimAttributeBlinkAttributeReverseAttributeUnderlineAttributeStandout runCurses defaultWindow newWindow closeWindow cloneWindow updateWindowrendersetColor moveCursor drawStringdrawText drawBorderdrawBox drawLineH drawLineV setBackground setAttribute setAttributes supportsColorcanDefineColor defineColor queryColordefaultColorID newColorID setColorID maxColorID glyphCornerUL glyphCornerLL glyphCornerUR glyphCornerLR glyphTeeL glyphTeeR glyphTeeB glyphTeeT glyphLineH glyphLineV glyphPlus glyphScan1 glyphScan9 glyphDiamond glyphStipple glyphDegreeglyphPlusMinus glyphBullet glyphArrowL glyphArrowR glyphArrowD glyphArrowU glyphBoard glyphLantern glyphBlockglyphS3glyphS7glyphNEglyphLTEglyphGTEglyphPi glyphSterlinggetEvent setCursorModesetRaw setCBreaksetEchobaudratebeepflashhasMouseenclosed screenSize setTouchedsetRowsTouched setKeypad getCursorPanelnewPanel deletePanel refreshPanels panelAbove panelBelowpanelTop panelBottom showPanel hidePanel panelHidden movePanel raisePanel lowerPanelgetPanelWindowreplacePanelWindowButtonBUTTON4_TRIPLE_CLICKEDBUTTON4_DOUBLE_CLICKEDBUTTON4_CLICKEDBUTTON4_PRESSEDBUTTON4_RELEASEDBUTTON3_TRIPLE_CLICKEDBUTTON3_DOUBLE_CLICKEDBUTTON3_CLICKEDBUTTON3_PRESSEDBUTTON3_RELEASEDBUTTON2_TRIPLE_CLICKEDBUTTON2_DOUBLE_CLICKEDBUTTON2_CLICKEDBUTTON2_PRESSEDBUTTON2_RELEASEDBUTTON1_TRIPLE_CLICKEDBUTTON1_DOUBLE_CLICKEDBUTTON1_CLICKEDBUTTON1_PRESSEDBUTTON1_RELEASED BUTTON_ALT BUTTON_SHIFT BUTTON_CTRL KEY_EVENT KEY_RESIZE KEY_MOUSEKEY_UNDO KEY_SUSPEND KEY_SUNDO KEY_SSUSPEND KEY_SSAVE KEY_SRSUME KEY_SRIGHT KEY_SREPLACE KEY_SREDO KEY_SPRINT KEY_SPREVIOUS KEY_SOPTIONS KEY_SNEXT KEY_SMOVE KEY_SMESSAGE KEY_SLEFTKEY_SIC KEY_SHOME KEY_SHELP KEY_SFIND KEY_SEXITKEY_SEOLKEY_SEND KEY_SELECTKEY_SDLKEY_SDC KEY_SCREATE KEY_SCOPY KEY_SCOMMAND KEY_SCANCELKEY_SBEGKEY_SAVE KEY_RESUME KEY_RESTART KEY_REPLACE KEY_REFRESH KEY_REFERENCEKEY_REDO KEY_PREVIOUS KEY_OPTIONSKEY_OPENKEY_NEXTKEY_MOVE KEY_MESSAGEKEY_MARKKEY_HELPKEY_FINDKEY_EXITKEY_END KEY_CREATEKEY_COPY KEY_COMMAND KEY_CLOSE KEY_CANCELKEY_BEGKEY_BTABKEY_C3KEY_C1KEY_B2KEY_A3KEY_A1KEY_LL KEY_PRINT KEY_ENTER KEY_CATABKEY_CTABKEY_STAB KEY_PPAGE KEY_NPAGEKEY_SRKEY_SFKEY_EOLKEY_EOS KEY_CLEARKEY_EICKEY_ICKEY_DCKEY_ILKEY_DLKEY_F0 KEY_BACKSPACEKEY_HOME KEY_RIGHTKEY_LEFTKEY_UPKEY_DOWN KEY_CODE_YES COLOR_WHITE COLOR_CYAN COLOR_MAGENTA COLOR_BLUE COLOR_YELLOW COLOR_GREEN COLOR_RED COLOR_BLACK WA_PROTECTWA_INVIS WA_ALTCHARSETWA_BOLDWA_DIMWA_BLINK WA_REVERSE WA_UNDERLINE WA_STANDOUT EnumWrapperERRALL_MOUSE_EVENTSEnumtoEnumfromEnum $fEnumButton $fEnumKey $fEnumColor$fEnumAttribute$fEnumEnumWrapperghc-prim GHC.TypesIO windowPtrunUpdateunCursescheckRCcToBool cFromBool$fApplicativeUpdate$fFunctorUpdate$fMonadFixUpdate $fMonadUpdate$fApplicativeCurses$fFunctorCurses$fMonadIOCurses$fMonadFixCurses $fMonadCurses integer-gmpGHC.Integer.TypeIntegerbase Data.MaybeNothing