summaryrefslogtreecommitdiffstats
path: root/konsole/doc/VT100
diff options
context:
space:
mode:
Diffstat (limited to 'konsole/doc/VT100')
-rw-r--r--konsole/doc/VT100/Makefile.am3
-rw-r--r--konsole/doc/VT100/MoreText98
-rw-r--r--konsole/doc/VT100/Table.Codes1879
-rw-r--r--konsole/doc/VT100/Table.Graphic32
-rw-r--r--konsole/doc/VT100/Table.VT5240
-rw-r--r--konsole/doc/VT100/awk.table.graphic30
-rw-r--r--konsole/doc/VT100/cmds.pro61
-rw-r--r--konsole/doc/VT100/db.trans190
-rwxr-xr-xkonsole/doc/VT100/db2.pl49
-rwxr-xr-xkonsole/doc/VT100/genDocument257
-rwxr-xr-xkonsole/doc/VT100/genPl.pl300
-rwxr-xr-xkonsole/doc/VT100/genTC.pl434
-rw-r--r--konsole/doc/VT100/konsole1.gifbin0 -> 1582 bytes
-rw-r--r--konsole/doc/VT100/konsole2.gifbin0 -> 1813 bytes
-rwxr-xr-xkonsole/doc/VT100/t.pl17
-rw-r--r--konsole/doc/VT100/techref.html4681
-rw-r--r--konsole/doc/VT100/vt100.gif401
17 files changed, 8472 insertions, 0 deletions
diff --git a/konsole/doc/VT100/Makefile.am b/konsole/doc/VT100/Makefile.am
new file mode 100644
index 000000000..04367ed5e
--- /dev/null
+++ b/konsole/doc/VT100/Makefile.am
@@ -0,0 +1,3 @@
+EXTRA_DIST = Table.Codes Table.Graphic Table.VT52 \
+ awk.table.graphic db.trans db2.pl genTC.pl t.pl \
+ vt100.gif konsole1.gif konsole2.gif techref.html
diff --git a/konsole/doc/VT100/MoreText b/konsole/doc/VT100/MoreText
new file mode 100644
index 000000000..e8804236f
--- /dev/null
+++ b/konsole/doc/VT100/MoreText
@@ -0,0 +1,98 @@
+The refinement discussed here so far, is implemented in the
+overall structure of the program:
+
+
+ Operations -------------X
+ Screen(s)
+ Protocol / |
+ Shell X------------X Emulation |
+ \ V
+ Widget
+ Events X------------------
+
+
+Part Application Protocol Data model Visualization
+ User Events
+
+Files TEShell.C TEmulation.C Screen.C TEWidget.C
+ TEVt102.C
+
+Types TEShell Emulation TEScreen TEWidget
+
+
+
+The abstract data type, in which the text is represented and
+manipulated by a set of operations is
+
+
+------------------------------------------------------------------
+
+On the first glance, the terminal consists of the following
+parts:
+
+- A screen to display characters to the user on a rectangular area.
+- A keyboard to accept the user keypresses.
+- A bidirectional serial connection, on which the application
+ sends the text to be displayed to the terminal and on which
+ the user's key pressed are forwarded to the application.
+- The application that actually run on the terminal.
+
+More formally our terminal model consists of
+- a character screen : a matrix [Lines,Columns] -> Character
+- a current visual pointer position (cursor).
+- a set of operations by which the screen can be manipulated
+- a set of events (mainly keystrokes)
+- two streams on which bytes are exchanged between the
+ application and the terminal which are used to communicate
+ the operations and events between the two end points.
+- an initial state.
+
+ 0 (columns) V--- Columns-1
+ +-----------------------+
+ | | 0
+ | text on |
+ | the screen |
+ | | (lines)
+ | |
+ | |
+ | | Lines-1
+ +-----------------------+
+
+
+For adressing purpose, we call the (columnNo,lineNo) pair a "position"
+
+- protocol == collection of operations and their encoding.
+
+Beschreibung
+
+- Strom von Kommandos und Anfragen
+- Strom von Ereignissen und Antworten
+
+- HostToTerminalStream
+ : Sequence(Command U Request)
+
+- Type Command-Tokens
+ : Prn(Char) - literal(Character) - 1 char subset
+ : Ctl(Char) - 0-parm command
+ : Esc(Char) - 0-parm command
+ : Csi(Char,Args) - fix & flex num parm command
+ - some are sub-commands
+ : Pri(Char,Args) <: Csi("?",Char,Args) - fix & flex num parm command
+ - some are sub-commands
+ : Hsh(Char) - 0-parm command
+ : Scs(A,B) - 2-parm num command
+ : Vt5(A,B) - 2-parm num command
+
+- command definition
+
+ : name(parm:Type<:Integer)
+
+ : setFgColor(color)
+ : setBgColor(color)
+ : setReverse(bool)
+ : setBold(bool)
+ : setBlink(bool)
+
+------------------------------------------------------------------
+
+
diff --git a/konsole/doc/VT100/Table.Codes b/konsole/doc/VT100/Table.Codes
new file mode 100644
index 000000000..6ece0f4bf
--- /dev/null
+++ b/konsole/doc/VT100/Table.Codes
@@ -0,0 +1,1879 @@
+##############################################################################
+# #
+# [Table.Codes] Concept Data Base #
+# #
+# Copyright (c) 1998 by Lars Doelle <lars.doelle@on-line.de> #
+# This file is part of Konsole #
+##############################################################################
+
+# This is work in progress. The overall goal is to link the documentation of
+# konsole closely to it's source. Further, the source could be organize such
+# that the emulation dependent parts are separated from everything else.
+# If this goal is matched, the emulation independent parts have to undergo
+# documentation, also.
+#
+# Refere to [db.trans] for not-yet-integrated stuff.
+#
+# What has to be done in any case is to merge db.trans into this file and to
+# make a script that extracts it again. From db.trans, we then generate parts
+# of the decoder (the semantic assignment).
+#
+# db2.pl contains as script able to slit TEScreen.C into the emulation
+# (in)dependent parts due to [db.trans].
+#
+# A like thing has to be done for TEmuVt102.C/h and for TEScreen.h.
+#
+# The missing link in the moment is a proper handling of all the Ps arguments
+# that refere to different routines (subfunction of an esc code).
+
+## Section Text ##############
+
+Introduction.html
+ <h2>Introduction</h2>
+ <p>
+ In a traditional UNIX installation a single machine (host) served
+ several users by means of terminals attached to this host by a serial
+ cable. These terminals (end points) where specialized devices, either
+ regular ttys (printer with keyboard) or later more sophisticated
+ things with cathode ray tubes.
+ <p>
+ <center><img src="konsole2.gif"></center>
+ <p>
+ Today, hardware has become so cheap, that each single user could
+ be provided with a complete host/display combination for the former
+ price of a terminal.
+ <p>
+ Additional, and here we come to the X in the emulation, display
+ devices have become graphical while the original terminal where
+ only able to show characters but not graphics.
+ <p>
+ To allow programs designed for the original configuration to be
+ used in the contemporary setup, "terminal emulations" where invented.
+ In these emulations, the whole original setup is simulated.
+ <p>
+ The serial cable is folded into the operating system as a sort of
+ loop back device, and a program, the terminal emulation, uses modern
+ means of graphical user interfaces to behave like an earlier terminal.
+ To complete the picture, the host in the diagram is replaced by the
+ application that runs in the emulation (typically a shell or an old
+ editor). So, terminal emulations are in fact interfaces to character
+ oriented applications.
+ <p>
+ This document describes the implementations of a program named
+ "konsole", which is such an X terminal emulation. Since konsole
+ is distributed under the GPL, meaning that it's source code is
+ available to whoever likes to hack on it, the program would be
+ incomplete without a proper introduction into the code and it's
+ concepts. Thus, this text is to complement the program and the
+ source with the remaining informations to make a complete product.
+ <p>
+ <h2>A first refinement</h2>
+ <p>
+ Before we can come to the actual implementation, quite some
+ notions have to be introduced. We have to get us an idea what
+ a terminal emulation does in more detail.
+ <p>
+ To this end, a simple model of the terminal and it's operation
+ is given, which is later extended and refined as we come deeper
+ into matter and implementation.
+ <p>
+ At some level conception, a terminal can be described as a
+ (abstract) data model. This means it has some type of state
+ together with operations on that data type. These operations
+ are somehow encoded to be passed over the serial line.
+ <p>
+ The concrete model is often loosely named the "emulation",
+ the specific encoding chosen, the "protocol".
+ <p>
+ There are two principle models in use. The first, stream like
+ one, which is related to a tty, consideres the terminal as an
+ indefinit long and wide sheet of paper on which a printer head
+ types the characters that come in over the line. Typical examples
+ are shell scripts, make and other programs producing sequential
+ protocols of their activity. Their basic data type is a list of
+ list of characters.
+ <p>
+ The second principle model is used by applications written
+ especially for crt devices, so called full screen applications.
+ These treat the terminal as a matrix of characters where each
+ position can be individually addressed and written to. Typical
+ representatives are full screen editors like vi and emacs,
+ file managers like mc and mail readers like mutt.
+ <p>
+ Though the second model is newer, it's age does not imply a
+ preference. To the contrary, both models have a right for their
+ own and are both to be supported. The first model is fully
+ expressed within konsole in form of it's ref:history buffer.
+ <p>
+ Note, that although the second model definitely build on the
+ first one in almost any respect, it cannot fully express it,
+ since it introduces a finite line length, while the first
+ model works with indefinite lines.
+ <p>
+ Since application with both view of things are typically run
+ within the same session, some effort has been made within
+ konsole to maintain both ideas simultaniously, but only with
+ limited success so far.
+ <p>
+ In both models, the notion of a current position (historically
+ a printer's head, nowadays visualized by a cursor) is present.
+ "Printing" a character at the current position and advancing
+ the head together with the starting a new line are the most
+ fundamental operations of the emulation.
+ <p>
+ The full screen model basically adds the possibility to position
+ the cursor and to overwrite and clear the screen.
+ <p>
+ A plethora of additional (more or less useful) commands are
+ then added on this by every specific emulation, see below for
+ the awful details.
+ <p>
+ <!-- BEGIN: new section about the codes -->
+ <h2>Parts of the model</h2>
+ <p>
+ <it>All the following in this section is an outline</it>.
+ <p>
+ Parts of the terminal description
+ <ul>
+ <li>State
+ <br>This is mainly the screen, the cursor (including it's graphical state)
+ and some hidden mode variables. Note that the state cannot be investigated
+ by the attached host.
+ <li>Interface
+ <br>That's what goes over the wire. Beside being related to objects, this
+ appears so closely related to contemporal process communication, that
+ it might be discussed in likely terms.
+ <br>We have information flowing in both directions. On could destinguist
+ between:
+ <li>Commands
+ <br>These are "calls" of the terminals interface by the host which cause
+ some change of the terminals state, but do not end in a response.
+ <li>Requests
+ <br>These are "calls" of the terminals interface by the host which do not cause
+ any change of the terminals state, but end in a response of the terminal.
+ Clearly, requests are somehow used to investigate the state of the terminal.
+ <li>Events
+ <br>These are signals from the terminal caused by the user affecting the
+ mouse or keyboard to the host.
+ <li>Replys
+ <br>These are send by the terminal as a result of a Request from the hosts.
+ <li>Encoding/Decoding
+ </ul>
+
+Sequences.html
+ Conceptually, the commands to the terminal emulation are encoded if form
+ of byte sequences to meet the restrictions of the transport media. These
+ sequences have pretty different originations and therefore the format of
+ the sequences are inhomogenous.
+ <p>
+ Refering both to their origin and form, one can group the overall encoding
+ schemes as follows:
+ <p>
+ <table>
+ <tr><td width=20% bgcolor=#d0d0d0>Name</td><td width=20% bgcolor=#d0d0d0>Pattern</td><td bgcolor=#d0d0d0>Scope</td><td bgcolor=#d0d0d0>Comment</td></tr>
+ <tr><td>Printable Ascii Characters</td><td>32..126</td><td>ASCII ECMA</td>
+ <td>This is the most original pattern of all. The characters to be
+ displayed are passed over the chanel and are interpreted by the
+ terminal (emulation) as instructions to display the corresponding
+ glyph of the ascii character set. Contempory emulations include the
+ upper half (128..255) of the extentions to the national ascii character
+ sets, also.</td></tr>
+ <tr><td>Ascii Control Characters</td><td>0..26,28..31,127</td><td>ASCII ECMA</td>
+ <td>Ascii defines some non-printable, but format effecting characters, too.
+ Depending on the emulation, at least some of them are given a meaning.
+ The typically implemented ones are those that are handled by a teletype
+ like device.</td></tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>ECMA</td>
+ <td>These sequences are made up from an <b>ESC</b> character followed by
+ exactly one other character in the range ???..???.</td></tr>
+ <tr><td>CSI Sequence</td>
+ <td><b>ESC</b> <b>[</b> <i>Parameters</i> {<i>I</i>} <i>C</i></td>
+ <td>ECMA</td>
+ <td></td></tr>
+ <tr><td colspan=4>
+ <p>
+ The remaining codes are nonstandard but traditionalized hacks.
+ <p>
+ </td></tr>
+ <tr><td>DEC hacks</td>
+ <td><b>ESC</b> <i>C</i> <i>D</i></td>
+ <td>VT100</td>
+ <td></td></tr>
+ <tr><td>XTERM hacks</td>
+ <td><b>ESC ]</b> <i>Pn</i> <b>;</b> <i>text</i> <b>BEL</b></td>
+ <td>XTERM</td>
+ <td></td>
+ <tr><td colspan=4>
+ <p>
+ VT52 uses a different (incompatible) set of escape codes. VT100 includes
+ the VT52 emulation as a mode.
+ <p>
+ </td></tr>
+ </tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>VT52</td>
+ <td></td></tr>
+ <tr><td>Complex Escape Sequence</td><td><b>ESC</b> <b>Y</b> <i>X</i> <i>Y</i></td><td>VT52</td>
+ <td></td></tr>
+ .
+ </table>
+ .
+ <h3>More on Control Sequences</h3>
+ .
+ <h4>Control Characters</h4>
+ .
+ Control characters (codes 0x00 - 0x1f inclusive) are specifically excluded
+ from the control sequence syntax, but may be embedded within a control
+ sequence. Embedded control characters are executed as soon as they are
+ encountered by a VT100. The processing of the control sequence then
+ continues with the next character received. The exceptions are:
+ if the <a href=#ESC>ESC</a> character occurs, the current control sequence
+ is aborted, and a new one commences beginning with the <a href=#ESC>ESC</a>
+ just received. If the character <a href=#CAN>CAN</a> (0x0c) or the
+ character <a href=#SUB>SUB</a> (0x0e) occurs,
+ the current control sequence is aborted. The ability to embed control
+ characters allows the synchronization characters XON and XOFF to be
+ interpreted properly without affecting the control sequence.
+ <p>
+ .
+ <h4>CSI Sequences</h4>
+ .
+ <dl>
+ <dt>Control Sequence Introducer (CSI):
+ <dd>An escape sequence that provides
+ supplementary controls and is itself a prefix affecting the
+ interpretation of a limited number of contiguous characters.
+ In the VT100, the CSI is: &lt;ESC&gt;[
+ .
+ <dt>Parameter:
+ <dd>1. A string of zero or more decimal characters which
+ represent a single value. Leading zeros are ignored. The
+ decimal characters have a range of 0 (060) to 9 (071).
+ <br>2. The value so represented.
+ .
+ <dt>Numeric Parameter:
+ <dd>A parameter that represents a number, designated by Pn.
+ .
+ <dt>Selective Parameter:
+ <dd>A parameter that selects a subfunction from a
+ specified set of subfunctions, designated by Ps. In general, a
+ control sequence with more than one selective parameter causes
+ the same effect as several control sequences, each with one
+ selective parameter, e.g., CSI Psa; Psb; Psc F is identical to
+ CSI Psa F CSI Psb F CSI Psc F.
+ .
+ <dt>Parameter String:
+ <dd>A string of parameters separated by a semicolon.
+ .
+ <dt>Default:
+ <dd> A function-dependent value that is assumed when no explicit
+ value, or a value of 0, is specified.
+ .
+ <dt>Final character:
+ <dd>A character whose bit combination terminates an escape or control sequence.
+ </dl>
+ .
+ <em>EXAMPLE</em>: Control sequence to turn off all character attributes, then
+ turn on underscore and blink attributes (<a href=#SGR>SGR</a>).
+ .
+ <center><img src="konsole1.gif"></center>
+ <p>
+ The octal representation of this string is:
+ <pre>
+ 033 0133 060 073 064 073 065 0155
+ &lt;ESC&gt; [ 0 ; 4 ; 5 m
+ </pre>
+ .
+ Alternate sequences which will accomplish the same thing:
+ .
+ <ul>
+ <li><code>&lt;ESC&gt;[;4;m </code>
+ <li><code>&lt;ESC&gt;[m </code>
+ <br><code>&lt;ESC&gt;[4m </code>
+ <br><code>&lt;ESC&gt;[5m </code>
+ <li><code>&lt;ESC&gt;[0;04;005m</code>
+ </ul>
+ .
+ <h4>DEC hacks</h4>
+ .
+ These form two groups of commands.
+ <p>
+ In one first the first character is a hash (<em>#</em>) and the following a digit.
+ This command group is used to denote VT100 specific instructions and can
+ safely be sonsidered to be obsolete. See
+ <a href=#DECALN>DECALN</a>,
+ <a href=#DECDHLB>DECDHLB</a>,
+ <a href=#DECDHLT>DECDHLT</a>,
+ <a href=#DECDWL>DECDWL</a> and
+ <a href=#DECSWL>DECSWL</a>.
+ <p>
+ The second one is used to specify character set mappings (see <a
+ href=#SCS>SCS</a>). A CSI instruction to do this is specified in ECMA,
+ and this should be used as a replacement.
+ .
+ <h4>XTERM hacks</h4>
+
+ConceptDB.html
+ <i>The following text is a collection of several sorts of definitions and
+ explainations. It is incomplete in many respects and a working draft.
+ </i>
+ .
+ <p>
+ All of the following control sequences are transmitted from the Host to
+ VT100 unless otherwise noted. All of the control sequences are a subset of
+ those defined in ANSI X 3.64 1977 and ANSI X 3.41 1974.
+ <p>
+ The following text conforms to these formatting conventions:
+ <ul>
+ <li>Individual character literals are set in bold face. Ascii representation
+ is used throughout, so <b>ESC</b> means the binary value of 27 and
+ <b>[</b> a value of 91.
+ .
+ <li>Parameters are indicated by italic type faces.
+ <li>Parameter types usually are indicated as one of:
+ <table>
+ <tr><td><i>Pn </i></td><td>A string of digits representing a numerical value.</td></tr>
+ <tr><td><i>Ps </i></td><td>A character that selects an item from a list.</td></tr>
+ <tr><td><i>a-z</i></td><td>Any lowercase sequence of one or more
+ characters represent a value to be
+ entered (as in <i>Pn</i>), and the name in the
+ will be referred to in explanatory text.</td></tr>
+ </table>
+ .
+ <li>Spaces are used only to improve readability, they do not occure in the
+ control sequences unless otherwise indicated.
+ .
+ </ul>
+ .
+ <p>
+ The following attributes below have the following meaning:
+ <ul>
+ <li>VT100 - This code is known to VT100.
+ <li>ANSI - This code is defined by ANSI.
+ <li>DEC - This code is DEC private.
+ <li>Command - Sent from host to the terminal. <b>FIXME:</b>add Inquiery.
+ <li>Reply - Sent from terminal to the host (as response to an Inquiery).
+ <li>Event - Sent from terminal to the host (caused by a user activity).
+ <li>Mode - The entry is a mode.
+ </ul>
+
+Operations.html
+ <p>
+ <ul>
+ <li>Host to Terminal (Commands,Requests)
+ <ul>
+ <li>Commands
+ <ul>
+ <li>Character Display Operation
+ <li>Rendition related status
+ <li>Cursor
+ <li>Cursor related status
+ <li>Edit
+ <li>Miscellaneous
+ <li>General mode setting
+ <li>Miscellaneous status
+ <li>VT52
+ <li>Not implemented
+ <li>Ignored
+ </ul>
+ <li>Requests
+ </ul>
+ <li>Terminal to Host (Replies, Events)
+ <ul>
+ <li>Replies
+ <li>Events
+ </ul>
+ <li>Modes
+ <ul>
+ <li>Modes
+ </ul>
+ </ul>
+
+## Keyboard #################################################################
+
+KEYBOARD.head Keyboard Events
+KEYBOARD.emus KONSOLE
+KEYBOARD.sect Event
+KEYBOARD.text
+ FIXME. explain
+KEYBOARD.table.Codes
+ Key|Code:4
+ AltButton|"\033"
+ Return|MODE_NewLine ? "\r\n" : "\r"
+ Backspace|MODE_BsHack ? "\x7f" : "\x08"
+ Delete|MODE_BsHack ? "\033[3~" : "\x7f"
+ Up|!MODE_Ansi ?"\033A" : MODE_AppCuKeys ?"\033OA" : "\033[A"
+ Down|!MODE_Ansi ?"\033B" : MODE_AppCuKeys ?"\033OB" : "\033[B"
+ Right|!MODE_Ansi ?"\033C" : MODE_AppCuKeys ?"\033OC" : "\033[C"
+ Left|!MODE_Ansi ?"\033D" : MODE_AppCuKeys ?"\033OD" : "\033[D"
+ F1|Xterm? "\033[11~": "\033[[A"
+ F2|Xterm? "\033[12~": "\033[[B"
+ F3|Xterm? "\033[13~": "\033[[C"
+ F4|Xterm? "\033[14~": "\033[[D"
+ F5|Xterm? "\033[15~": "\033[[E"
+ F6|"\033[17~"
+ F7|"\033[18~"
+ F8|"\033[19~"
+ F9|"\033[20~"
+ F10|"\033[21~"
+ F11|"\033[23~"
+ F12|"\033[24~"
+ Home|"\033[7~"
+ End|"\033[8~"
+ Prior|"\033[5~"
+ Next|"\033[6~"
+ Insert|"\033[2~"
+ Control_Space|"\x00"
+ Control_Print|reportAnswerBack()
+ Ascii|Character
+
+MOUSE.head Mouse Events
+MOUSE.emus KONSOLE
+MOUSE.sect Event
+MOUSE.text
+ FIXME. explain
+
+CHA.head Cursor Horizontal Absolute
+CHA.emus ECMA KONSOLE
+CHA.sect Command.Cursor
+CHA.code CSI|G|{Pn}
+CHA.text
+ FIXME. explain
+CHA.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|setCursorX|p|see above
+
+DCH.head Delete Character
+DCH.emus ECMA KONSOLE
+DCH.sect Command.Delete
+DCH.code CSI|P|{Pn}
+DCH.text
+ FIXME. explain
+DCH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|deleteChars|p|see above
+
+DECRST.head DEC Private Reset Mode
+DECRST.emus VT100 KONSOLE
+DECRST.sect Command.SetMode
+DECRST.code PRI|l|{Ps;...}
+DECRST.text
+ FIXME. explain
+DECRST.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|VT100|emu|resetMode|MODE_AppCuKeys|Meaning
+ 2|VT100|emu|resetMode|MODE_Ansi|Meaning
+ 3|VT100|emu|setColumns|80|Meaning
+ 4|VT100|emu|Ignored||Meaning
+ 5|VT100|scr|resetMode|MODE_Screen|Meaning
+ 6|VT100|scr|resetMode|MODE_Origin|Meaning
+ 7|VT100|scr|resetMode|MODE_Wrap|Meaning
+ 8|VT100|emu|Ignored||Meaning
+ 9|VT100|emu|Ignored||Meaning
+ 25|VT100|emu|resetMode|MODE_Cursor|Meaning
+ 47|xterm|emu|resetMode|MODE_AppScreen|Meaning
+ 1000|xterm|emu|resetMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+ 1047|xterm|emu|resetMode|MODE_AppScreen|Meaning
+ 1048|xterm|scr|restoreCursor||Meaning
+
+DECSET.head DEC Private Set Mode
+DECSET.emus VT100 KONSOLE
+DECSET.sect Command.SetMode
+DECSET.code PRI|h|{Ps;...}
+DECSET.text
+ FIXME. explain
+DECSET.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|VT100|emu|setMode|MODE_AppCuKeys|Meaning
+ 3|VT100|emu|setColumns|132|Meaning
+ 4|VT100|emu|Ignored||Meaning
+ 5|VT100|scr|setMode|MODE_Screen|Meaning
+ 6|VT100|scr|setMode|MODE_Origin|Meaning
+ 7|VT100|scr|setMode|MODE_Wrap|Meaning
+ 8|VT100|emu|Ignored||Meaning
+ 9|VT100|emu|Ignored||Meaning
+ 25|VT100|emu|setMode|MODE_Cursor|Meaning
+ 47|xterm|emu|setMode|MODE_AppScreen|Meaning
+ 1000|xterm|emu|setMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+ 1047|xterm|emu|setMode|MODE_AppScreen|Meaning
+ 1048|xterm|scr|saveCursor||Meaning
+
+DL.head Delete Line
+DL.emus ECMA KONSOLE
+DL.sect Command.Delete
+DL.code CSI|M|{Pn}
+DL.text
+ FIXME. explain
+DL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|konsole|scr|deleteLines|p|see above
+
+ECH.head Erase Character
+ECH.emus ECMA KONSOLE
+ECH.sect Command.Erase
+ECH.code CSI|X|{Pn}
+ECH.text
+ FIXME. explain
+ECH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|konsole|scr|eraseChars|p|see above
+
+ICH.head Insert Character
+ICH.emus ECMA KONSOLE
+ICH.sect Command.Insert
+ICH.code CSI|@|{Pn}
+ICH.text
+ FIXME. explain
+ICH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|konsole|scr|insertChars|p|see above
+
+IL.head Insert Line
+IL.emus KONSOLE
+IL.sect Command.Insert
+IL.code CSI|L|{Pn}
+IL.text
+ FIXME. explain
+IL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|insertLines|p|see above
+
+LS2.head Lock Shift Two
+LS2.emus KONSOLE
+LS2.sect Command.RenderMode
+LS2.code ESC|n|
+LS2.text
+ FIXME. explain
+LS2.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|useCharset|2|see above
+
+LS3.head Lock Shift Three
+LS3.emus KONSOLE
+LS3.sect Command.RenderMode
+LS3.code ESC|o|
+LS3.text
+ FIXME. explain
+LS3.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|useCharset|3|see above
+
+MC.head Media Copy
+MC.emus ECMA VT100
+MC.sect Command.NoImp
+MC.code CSI|i|{Pn}
+MC.text
+ FIXME. explain
+MC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|emu|Ignored||Meaning
+
+VPA.head Vertical Position Absolute
+VPA.emus ECMA KONSOLE
+VPA.sect Command.Cursor
+VPA.code CSI|d|{Pn}
+VPA.text
+ FIXME. explain
+VPA.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|xterm|scr|setCursorY|p|see above
+
+XTERESTORE.head XTerm Private Restore Mode
+XTERESTORE.emus XTERM KONSOLE
+XTERESTORE.sect Command.SetMode
+XTERESTORE.code PRI|r|{Ps;...}
+XTERESTORE.text
+ FIXME. explain
+XTERESTORE.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|xterm|emu|restoreMode|MODE_AppCuKeys|Meaning
+ 6|xterm|scr|restoreMode|MODE_Origin|Meaning
+ 7|xterm|scr|restoreMode|MODE_Wrap|Meaning
+ 1000|xterm|emu|restoreMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+
+XTESAVE.head XTerm Private Save Mode
+XTESAVE.emus XTERM KONSOLE
+XTESAVE.sect Command.SetMode
+XTESAVE.code PRI|s|{Ps;...}
+XTESAVE.text
+ FIXME. explain
+XTESAVE.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 1|xterm|emu|saveMode|MODE_AppCuKeys|Meaning
+ 6|xterm|scr|saveMode|MODE_Origin|Meaning
+ 7|xterm|scr|saveMode|MODE_Wrap|Meaning
+ 1000|xterm|emu|saveMode|MODE_Mouse1000|Meaning
+ 1001|xterm|emu|Ignored||Meaning
+
+NUL.head Null
+NUL.emus VT100 XTERM Linux KONSOLE
+NUL.sect Command.Ignored
+NUL.code CTL|0x00|
+NUL.text
+ NUL is used as media- or time-fill. It is ignored by Konsole, but may
+ be sensible for devices which requiere a recognizable amount of time
+ to complete some commands (e.g. form feed on a non-buffering printing
+ device).
+NUL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+SOH.head Start Of Heading
+SOH.emus VT100 XTERM Linux KONSOLE
+SOH.sect Command.Ignored
+SOH.code CTL|0x01|
+SOH.text
+ Ignored
+SOH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+STX.head Start Of Text
+STX.emus VT100 XTERM Linux KONSOLE
+STX.sect Command.Ignored
+STX.code CTL|0x02|
+STX.text
+ Ignored
+STX.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+ETX.head End Of Text
+ETX.emus VT100 XTERM Linux KONSOLE
+ETX.sect Command.Ignored
+ETX.code CTL|0x03|
+ETX.text
+ Ignored
+ETX.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+EOT.head End Of Transmission
+EOT.emus VT100 XTERM Linux KONSOLE
+EOT.sect Command.Ignored
+EOT.code CTL|0x04|
+EOT.text
+ Ignored
+EOT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+ENQ.head Enquiry
+ENQ.emus VT100
+ENQ.sect Command.Request
+ENQ.code CTL|0x05|
+ENQ.text
+ Transmit the ANSWERBACK message. The answerback message can be loaded
+ in SET-UP B (i.e. is a configurable string).
+ENQ.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|reportAnswerBack||see above
+
+ACK.head Acknowledge
+ACK.emus VT100 XTERM Linux KONSOLE
+ACK.sect Command.Ignored
+ACK.code CTL|0x06|
+ACK.text
+ Ignored
+ACK.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+BEL.head Bell
+BEL.emus VT100
+BEL.sect Command
+BEL.code CTL|0x07|
+BEL.text
+ Sound bell
+BEL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|gui|Bell||see above
+
+BS.head Back Space
+BS.emus VT100
+BS.sect Command.Cursor
+BS.code CTL|0x08|
+BS.text
+ Move cursor to the left one position, unless it is at the left
+ margin, in which case no action is taken.
+BS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|BackSpace||see above
+
+HT.head Horizontal Tabulation
+HT.emus VT100
+HT.sect Command.Cursor
+HT.code CTL|0x09|
+HT.text
+ Move cursor to the next tab stop, or to the right margin
+ if no further tabs are set.
+HT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|Tabulate||see above
+
+LF.head Line Feed
+LF.emus VT100
+LF.sect Command.Cursor
+LF.code CTL|0x0a|
+LF.text
+ Causes either a line feed or new line operation (See \ref:LNM.)
+LF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|NewLine||see above
+
+VT.head Vertical Tabulation
+VT.emus VT100
+VT.sect Command.Cursor
+VT.code CTL|0x0b|
+VT.text
+ Same as \ref:LF.
+VT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|NewLine||see above
+
+FF.head Form Feed
+FF.emus VT100
+FF.sect Command.Cursor
+FF.code CTL|0x0c|
+FF.text
+ Same as \ref:LF.
+FF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|NewLine||see above
+
+CR.head Carriage Return
+CR.emus VT100
+CR.sect Command.Cursor
+CR.code CTL|0x0d|
+CR.text
+ Move the cursor to the left margin of the current line.
+CR.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|Return||see above
+
+LS0.head Lock Shift Zero (Shift Out - SO)
+LS0.emus VT100
+LS0.sect Command.RenderMode
+LS0.code CTL|0x0e|
+LS0.text
+ Invoke the G1 character set, as designated by the \ref:SCS control sequence.
+LS0.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|useCharset|1|see above
+
+LS1.head Lock Shift One (Shift In - SI)
+LS1.emus VT100
+LS1.sect Command.RenderMode
+LS1.code CTL|0x0f|
+LS1.text
+ Invoke the G0 character set, as selected by the <ESC>( sequence.
+LS1.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|useCharset|0|see above
+
+DLE.head Data Link Escape
+DLE.emus VT100 XTERM Linux KONSOLE
+DLE.sect Command.Ignored
+DLE.code CTL|0x10|
+DLE.text
+ Ignored
+DLE.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC1.head Device Control One
+DC1.emus VT100
+DC1.sect Ignored
+DC1.code CTL|0x11|
+DC1.text
+ Causes terminal to resume transmission (XON).
+DC1.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC2.head Device Control Two
+DC2.emus VT100 XTERM Linux KONSOLE
+DC2.sect Command.Ignored
+DC2.code CTL|0x12|
+DC2.text
+ Ignored
+DC2.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC3.head Device Control Three
+DC3.emus VT100 XTERM Linux KONSOLE
+DC3.sect Command.Ignored
+DC3.code CTL|0x13|
+DC3.text
+ Causes terminal to stop transmitting all codes except XOFF and XON (XOFF).
+DC3.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DC4.head Device Control Four
+DC4.emus VT100 XTERM Linux KONSOLE
+DC4.sect Command.Ignored
+DC4.code CTL|0x14|
+DC4.text
+ Ignored
+DC4.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+NAK.head Negative Acknowledge
+NAK.emus VT100 XTERM Linux KONSOLE
+NAK.sect Command.Ignored
+NAK.code CTL|0x15|
+NAK.text
+ Ignored
+NAK.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+SYN.head Synchronous Idle
+SYN.emus VT100 XTERM Linux KONSOLE
+SYN.sect Command.Ignored
+SYN.code CTL|0x16|
+SYN.text
+ Ignored
+SYN.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+ETB.head End Of Transmission Block
+ETB.emus VT100 XTERM Linux KONSOLE
+ETB.sect Command.Ignored
+ETB.code CTL|0x17|
+ETB.text
+ Ignored
+ETB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+CAN.head Cancel
+CAN.emus VT100
+CAN.sect Command
+CAN.code CTL|0x18|
+CAN.text
+ If sent during a control sequence, the sequence id immediately
+ terminated and not executed. It also causes the error character
+ (checkerboard) to be displayed.
+CAN.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|ShowCharacter|2|see above
+
+EM.head End Of Medium
+EM.emus VT100 XTERM Linux KONSOLE
+EM.sect Command.Ignored
+EM.code CTL|0x19|
+EM.text
+ Ignored
+EM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+SUB.head Substitute
+SUB.emus VT100
+SUB.sect Command
+SUB.code CTL|0x1a|
+SUB.text
+ Same as \ref:CAN.
+SUB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|ShowCharacter|2|see above
+
+ESC.head Escape
+ESC.emus ECMA VT100
+ESC.sect Ignored
+ESC.code CTL|0x1b|
+ESC.text
+ Introduces a control sequence.
+ESC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+FS.head File Separator (IS4 - Information Separator Four)
+FS.emus VT100 XTERM Linux KONSOLE
+FS.sect Command.Ignored
+FS.code CTL|0x1c|
+FS.text
+ Ignored
+FS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+GS.head Group Separator (IS3 - Information Separator Three)
+GS.emus VT100 XTERM Linux KONSOLE
+GS.sect Command.Ignored
+GS.code CTL|0x1d|
+GS.text
+ Ignored
+GS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+RS.head Record Separator (IS2 - Information Separator Two)
+RS.emus VT100 XTERM Linux KONSOLE
+RS.sect Command.Ignored
+RS.code CTL|0x1e|
+RS.text
+ Ignored
+RS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+US.head Unit Separator (IS1 - Information Separator One)
+US.emus VT100 XTERM Linux KONSOLE
+US.sect Command.Ignored
+US.code CTL|0x1f|
+US.text
+ Ignored
+US.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DEL.head Delete Character
+DEL.emus VT100
+DEL.sect Command.Ignored
+DEL.code DEL||
+DEL.text
+ Ignored
+
+CPR.head Cursor Position Report
+CPR.emus ECMA VT100
+CPR.sect Reply
+CPR.code CSI|R|{Pn;Pn}
+CPR.dflt 1 1
+CPR.text
+ The CPR sequence reports the active position by means of the
+ parameters. This sequence has two parameter values, the first
+ specifying the line and the second specifying the column. The default
+ condition with no parameters present, or parameters of 0, is equivalent
+ to a cursor at home position.
+ .
+ The numbering of the lines depends upon the state of the Origin Mode
+ (\ref:DECOM).
+ .
+ This control sequence is sent in reply to a device status report
+ (\ref:DSRREQ) command sent from the host.
+
+CUB.head Cursor Backward
+CUB.emus ECMA VT100
+CUB.sect Command.Cursor Event
+CUB.code CSI|D|{Pn}
+CUB.dflt 1
+CUB.text
+ Moves the cursor to the left. The distance moved is
+ determined by the parameter. If the parameter missing, zero, or one,
+ the cursor is moved one position. The cursor cannot be moved past the
+ left margin.
+CUB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorLeft|p|see above
+
+CUD.head Cursor Down
+CUD.emus ECMA VT100
+CUD.sect Command.Cursor Event
+CUD.code CSI|B|{Pn}
+CUD.dflt 1
+CUD.text
+ Moves the cursor down a number of lines as specified in the parameter
+ without changing columns. The cursor cannot be moved past the bottom
+ margin.
+CUD.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorDown|p|see above
+
+CUF.head Cursor Foreward
+CUF.emus ECMA VT100
+CUF.sect Command.Cursor Event
+CUF.code CSI|C|{Pn}
+CUF.dflt 1
+CUF.text
+ Moves the cursor to the right a number of positions
+ specified in the parameter. The cursor cannot be moved past the right
+ margin.
+CUF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorRight|p|see above
+
+CUP.head Cursor Position
+CUP.emus ECMA VT100
+CUP.sect Command.Cursor
+CUP.code CSI|H|{Pn;Pn}
+CUP.dflt 1 1
+CUP.text
+ Moves the curor to the position specified by the
+ parameters. The first parameter specifies the line, and the second
+ specifies the column. A value of zero for either line or column moves
+ the cursor to the first line or column in the display. The default
+ string (<ESC>H) homes the cursor. In the VT100, this command behaves
+ identically to it's format effector counterpart, \ref:HVP.
+ .
+ The numbering of the lines depends upon the state of the Origin Mode
+ (\ref:DECOM).
+CUP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|setCursorYX|p,q|see above
+
+CUU.head Cursor Up
+CUU.emus ECMA VT100
+CUU.sect Command.Cursor Event
+CUU.code CSI|A|{Pn}
+CUU.dflt 1
+CUU.text
+ Moves the cursor up without changing columns. The cursor is moved up a
+ number of lines as indicated by the parameter. The cursor cannot be
+ moved beyond the top margin.
+CUU.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|cursorUp|p|see above
+
+DA.head Device Attributes Request
+DA.emus ECMA VT100
+DA.sect Command.Request
+DA.code CSI|c|{Pn}
+DA.dflt 0
+DA.text
+ The host requests the VT100 to send a DA sequence to indentify
+ itself. This is done by sending the DA sequence with no parameters,
+ or with a parameter of zero.
+ The device replies by (\ref:DECDA).
+DA.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|reportTerminalType||see above
+
+DECDA.head Device Attributes Reply
+DECDA.emus VT100
+DECDA.sect Reply
+DECDA.code PRI|c|{1;Pn}
+DECDA.text
+ Response to the \ref:DA request (VT100 to host) is generated
+ by the VT100 as a DECDA control sequence with the numeric parameters as
+ follows:
+DECDA.table.Pn
+ Pn|Meaning:4
+ 0|No options
+ 1|Processor Option (STP)
+ 2|Advanced Video Option (AVO)
+ 3|AVO and STP
+ 4|Graphics Option (GPO)
+ 5|GPO and STP
+ 6|GPO and AVO
+
+DECALN.head Screen Alignment Display
+DECALN.emus VT100
+DECALN.sect Command
+DECALN.code HSH|8|
+DECALN.text
+ Causes the VT100 to fill it's screen with
+ uppercase Es for screen focus and alignment.
+DECALN.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|helpAlign||see above
+
+DECANM.head ANSI/VT52 Mode
+DECANM.emus VT100
+DECANM.sect Mode
+DECANM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state causes only VT52 compatible escape sequences to be
+ recognized. The set state causes only ANSI compatible escape sequences
+ to be recognized. See the entries for \ref:MODES, \ref:SM, \ref:RM
+ and \ref:VT52ANSI.
+
+DECARM.head Auto Repeat Mode
+DECARM.emus VT100
+DECARM.sect Mode
+DECARM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state causes no keyboard keys to auto-repeat, the set state
+ causes most of them to. See \ref:MODES, \ref:SM and \ref:RM.
+
+DECAWM.head Autowrap Mode
+DECAWM.emus VT100
+DECAWM.sect Mode
+DECAWM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state prevents the cursor from moving when characters are
+ received while at the right margin. The set state causes these
+ characters to advance to the next line, causing a scroll up if required
+ and permitted. See \ref:MODES, \ref:SM, and
+ \ref:RM.
+
+DECCKM.head Cursor Keys Mode
+DECCKM.emus VT100
+DECCKM.sect Mode
+DECCKM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control requences. This
+ mode is only effective when the terminal is in keypad application mode
+ (\ref:DECKPAM) and the ANSI/VT52 mode (\ref:DECANM)
+ is set. Under these
+ conditions, if this mode is reset, the cursor keys will send ANSI
+ cursor control commands. If setm the cursor keys will send application
+ function commands. See \ref:MODES, \ref:RM, and
+ \ref:SM.
+
+DECCOLM.head Column Mode
+DECCOLM.emus VT100
+DECCOLM.sect Mode
+DECCOLM.text
+ This is a private parameter to the \ref:SM and \ref:RM
+ control sequences. The
+ reset state causes an 80 column screen to be used. The set state
+ causes a 132 column screen to be used. See \ref:MODES,
+ \ref:RM, and \ref:SM.
+
+DECDHLT.head Double Height Line (Top)
+DECDHLT.emus VT100
+DECDHLT.sect Command.NoImp
+DECDHLT.code HSH|3|
+DECDHLT.text
+ Cause the line containing the cursor to become the top half of a
+ double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ .
+ \ref:DECDHLB and \ref:DECDHLT
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+DECDHLT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECDHLB.head Double Height Line (Bottom)
+DECDHLB.emus VT100
+DECDHLB.sect Command.NoImp
+DECDHLB.code HSH|4|
+DECDHLB.text
+ This sequence cause the line containing the cursor to become the
+ bottom half of a double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ .
+ \ref:DECDHLB and \ref:DECDHLT
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+DECDHLB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECDWL.head Double Width Line
+DECDWL.emus VT100
+DECDWL.sect Command.NoImp
+DECDWL.code HSH|6|
+DECDWL.text
+ This causes the line that contains the cursor to become double-width
+ single height. If the line was single width, all characters ro the
+ right of the center of the screen will be lost. The cursor remains
+ over the same character position, unless it would be to the right of
+ the right margin, in which case it is moved to the right margin.
+DECDWL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECID.head Identify Terminal
+DECID.emus VT100
+DECID.sect Command.Request
+DECID.code ESC|Z|
+DECID.text
+ This sequence causes the same response as the \ref:DA sequence. This
+ sequence will not be supported in future models.
+DECID.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|reportTerminalType||see above
+
+DECINLM.head Interlace Mode
+DECINLM.emus VT100
+DECINLM.sect Mode
+DECINLM.text
+ This is a private parameter to the \ref:RM and \ref:SM
+ control sequences. The
+ reset state (non-interlace) causes the video processor to display 240
+ scan lines per frame. The set state causes the video processor to
+ display 480 scan lines per screen. See \ref:MODES,
+ \ref:RM, and \ref:SM.
+
+DECKPAM.head Keypad Application Mode
+DECKPAM.emus VT100
+DECKPAM.sect Command.Mode Mode
+DECKPAM.code ESC|=|
+DECKPAM.text
+ The auxiliary keypad keys will transmit control sequences.
+DECKPAM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|setMode|MODE_AppKeyPad|see above
+
+DECKPNM.head Keypad Numeric Mode
+DECKPNM.emus VT100
+DECKPNM.sect Mode Command.Mode
+DECKPNM.code ESC|>|
+DECKPNM.text
+ The auxiliary keypad keys will send ASCII codes corresponding to the
+ characters engraved on their keys.
+DECKPNM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|resetMode|MODE_AppKeyPad|see above
+
+DECLL.head Load LEDs
+DECLL.emus VT100
+DECLL.sect Command.NoImp
+DECLL.code CSI|q|{Ps;...}
+DECLL.dflt 0
+DECLL.text
+ Load the four programmable LEDs on the keyboard according to the parameter(s).
+DECLL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|emu|Ignore||Clear all LEDs
+ 1|VT100|emu|Ignore||Light LED 1
+ 2|VT100|emu|Ignore||Light LED 2
+ 3|VT100|emu|Ignore||Light LED 3
+ 4|VT100|emu|Ignore||Light LED 4
+
+DECOM.head Origin Mode
+DECOM.emus VT100
+DECOM.sect Mode
+DECOM.text
+ This is a private parameter to \ref:SM and \ref:RM
+ control sequences. The reset
+ state causes the origin (or home position) to be the upper left
+ character position of the screen. Line and column numbers are,
+ therefore, independent of current margin settings. The cursor may be
+ positioned outside the margins with a cursor position (\ref:CUP) or
+ horizontal and vertical position (\ref:HVP) control.
+ .
+ The set state causes the origin to be at the upper left character
+ position within the current margins. Line and column numbers are,
+ therefore, relative to the current margin settings. The cursor cannot
+ be positioned outside of the margins.
+ .
+ The cursor is moved to the new home position when this mode is set or
+ reset. Lines and columns are numbered consecutively, with the origin
+ being line 1, column 1.
+
+DECRC.head Restore Cursor
+DECRC.emus VT100
+DECRC.sect Command.CursMode
+DECRC.code ESC|8|
+DECRC.text
+ This sequence causes the previously saved cursor position, graphic
+ rendition, and character set to be restored.
+DECRC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|restoreCursor||see above
+
+DECREPTPARM.head Report Terminal Parameters
+DECREPTPARM.emus ECMA VT100
+DECREPTPARM.sect Reply
+DECREPTPARM.code CSI|x|{sol;par;nbits;xspd;rspd;cmul;flags}
+DECREPTPARM.text
+ This sequence is generated by the VT100 to notify the host of the
+ status of selected terminal parameters. The status sequence may be
+ sent when requested by the host (via \ref:DECREQTPARM)
+ or at the terminal's
+ discretion. On power up or reset, the VT100 is inhibited from sending
+ unsolicited reports.
+ .
+ The meanings of the sequence parameters are:
+DECREPTPARM.table.sol
+ sol|Meaning:4
+ 1|This message is a report.
+ 2|This message is a report, and the terminal is only reporting on request.
+DECREPTPARM.table.par
+ par|Meaning:4
+ 1|No parity set
+ 4|Parity set and odd
+ 5|Parity set and even
+DECREPTPARM.table.nbits
+ nbits|Meaning:4
+ 1|8 bits per character
+ 2|7 bits per character
+DECREPTPARM.table.speed(xspd,rspd)
+ speed|Meaning (xspd,rspd):4
+ 0|Speed set to 50 bps
+ 8|Speed set to 75 bps
+ 16|Speed set to 110 bps
+ 24|Speed set to 134.5 bps
+ 32|Speed set to 150 bps
+ 40|Speed set to 200 bps
+ 48|Speed set to 300 bps
+ 56|Speed set to 600 bps
+ 64|Speed set to 1200 bps
+ 72|Speed set to 1800 bps
+ 80|Speed set to 2000 bps
+ 88|Speed set to 2400 bps
+ 96|Speed set to 3600 bps
+ 104|Speed set to 4800 bps
+ 112|Speed set to 9600 bps
+ 120|Speed set tp 19200 bps
+DECREPTPARM.table.cmul
+ cmul|Meaning:4
+ 1|The bit rate multiplier is 16
+DECREPTPARM.table.flags
+ flags|Meaning:4
+ 0-15|This value communicates the four switch values in block 5 of SET-UP B, which are only visible to the user when an STP option is installed.
+
+DECREQTPARM.head Request Terminal Parameters
+DECREQTPARM.emus ECMA VT100
+DECREQTPARM.sect Command.Request
+DECREQTPARM.code CSI|x|{Ps}
+DECREQTPARM.text
+ The host sends this sequence to request the VT100 to send a
+ \ref:DECREPTPARM
+ sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be
+ allowed to send unsolicited \ref:DECREPTPARMs.
+ These reports will be generated each time the terminal exits the SET-UP mode.
+ If {Ps} is 1, then the terminal will only generate
+ \ref:DECREPTPARMs in response to a request.
+DECREQTPARM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|emu|reportTerminalParms|2|Meaning
+ 1|VT100|emu|reportTerminalParms|3|Meaning
+
+DECSC.head Save Cursor
+DECSC.emus VT100
+DECSC.sect Command.CursMode
+DECSC.code ESC|7|
+DECSC.text
+ Causes the cursor position, graphic rendition, and character set to be
+ saved. (See \ref:DECRC)
+DECSC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|saveCursor||see above
+
+DECSCLM.head Scrolling Mode
+DECSCLM.emus VT100
+DECSCLM.sect Mode
+DECSCLM.text
+ This is a private parameter to \ref:RM and \ref:SM
+ control sequences. The reset
+ state causes scrolls to "jump" instantaneuously one line at a time.
+ The set state causes the scrolls to be "smooth", and scrolls at a
+ maximum rate of siz lines/sec. See \ref:MODES,
+ \ref:RM, and \ref:SM.
+
+DECSCNM.head Screen Mode
+DECSCNM.emus VT100
+DECSCNM.sect Mode
+DECSCNM.text
+ This is a private parameter to \ref:RM and \ref:SM
+ control sequences. The reset
+ state causes the screen to be black with white characters; the set
+ state causes the screen to be white with black characters.
+ See \ref:MODES, \ref:RM, and \ref:SM.
+
+DECSTBM.head Set Top and Bottom Margins
+DECSTBM.emus VT100
+DECSTBM.sect Command.CursMode
+DECSTBM.code CSI|r|{Pn;Pn}
+DECSTBM.dflt 1 ScreenLines
+DECSTBM.text
+ This sequence sets the top and bottom margins to define the scrolling
+ region. The first parameter is the line number of the first line in
+ the scrolling region; the second parameter is the line number of the
+ bottom line of the scrolling region.
+ .
+ Default is the entire screen (no margins).
+ The minimum region allowed is two lines, i.e., the top line
+ must be less than the bottom. The cursor is placed in the home
+ position (See \ref:DECOM).
+DECSTBM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|setMargins|p,q|see above
+
+DECSWL.head Single-width Line
+DECSWL.emus VT100
+DECSWL.sect Command.NoImp
+DECSWL.code HSH|5|
+DECSWL.text
+ This causes the line which contains the cursor to become single-width,
+ single-height. The cursor remains on the same character position.
+ This is the default condition for all new lines on the screen.
+DECSWL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+
+DECTST.head Invoke Confidence Test
+DECTST.emus ECMA VT100
+DECTST.sect Command
+DECTST.code CSI|y|{2;Ps}
+DECTST.text
+ Ps is the parameter indicating the test to be done. It is computed by
+ taking the weight indicated for each desired test and adding them
+ together. If Ps is 0, no test is performed but the VT100 is reset.
+DECTST.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|Ignored||see above
+DECTST.table.Weight
+ Weight|Meaning:4
+ 1|POST (ROM checksum, RAM NVR, keyboardm and AVO)
+ 2|Data Loop Back (Loopback connector required)
+ 3|EIA Modem Control Test (Loopback connector req.)
+ 4|Repeat Testing until failure
+
+DSRREQ.head Device Status Report
+DSRREQ.emus ECMA VT100
+DSRREQ.sect Command.Request
+DSRREQ.code CSI|n|{Ps}
+DSRREQ.text
+ Requests status of the VT100 according to the following parameters.
+DSRREQ.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 5|VT100|emu|reportStatus||Report Status (using a \ref:DSRREP control sequence)
+ 6|VT100|emu|reportCursorPosition||Report Active Position (using a \ref:CPR sequence)
+
+DSRREP.head Device Status Report Reply
+DSRREP.emus ECMA VT100
+DSRREP.sect Reply
+DSRREP.code CSI|n|{Status}
+DSRREP.text
+ Reports the general status of the VT100 according to the
+ following parameters.
+ .
+ DSRREP with a parameter of 0 or 3 is always sent as a response to a
+ requesting \ref:DSRREQ with a parameter of 5.
+DSRREP.table.Status
+ Status|Meaning:3
+ 0|Ready, no faults detected
+ 3|Malfunction detected
+
+ED.head Erase in Display
+ED.emus ECMA VT100
+ED.sect Command.Erase
+ED.code CSI|J|{Ps}
+ED.dflt 0
+ED.text
+ This sequence erases some or all of the characters in the display
+ according to the parameter. Any complete line erased by this sequence
+ will return that line to single width mode.
+ED.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|clearToEndOfScreen||Erase from the cursor to the end of the screen.
+ 1|VT100|scr|clearToBeginOfScreen||Erase from the start of the screen to the cursor.
+ 2|VT100|scr|clearEntireScreen||Erase the entire screen.
+
+EL.head Erase in Line
+EL.emus ECMA VT100
+EL.sect Command.Erase
+EL.code CSI|K|{Ps}
+EL.dflt 0
+EL.text
+ Erases some or all characters in the active line, according to the
+ parameter.
+EL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|clearToEndOfLine||Erase from cursor to the end of the line.
+ 1|VT100|scr|clearToBeginOfLine||Erase from the start of the line to the cursor.
+ 2|VT100|scr|clearEntireLine||Erase the entire line.
+
+HTS.head Horizontal Tab Set
+HTS.emus ECMA VT100
+HTS.sect Command.CursMode
+HTS.code ESC|H|
+HTS.text
+ Set a tab stop at the current cursor position.
+HTS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|changeTabStop|TRUE|see above
+
+HVP.head Horizontal and Vertical Position
+HVP.emus ECMA VT100
+HVP.sect Command.Cursor
+HVP.code CSI|f|{Pn;Pn}
+HVP.dflt 1 1
+HVP.text
+ Moves the cursor to the position specified by the parameters. The
+ first parameter specifies the line, and the second specifies the
+ column. A parameter of 0 or 1 causes the active position to move to
+ the first line or column in the display. In the VT100, this control
+ behaves identically with it's editor counterpart, \ref:CUP.
+ The numbering of hte lines depends upon the state of the Origin Mode
+ (\ref:DECOM).
+HVP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|setCursorYX|p,q|see above
+
+IND.head Index
+IND.emus ECMA VT100
+IND.sect Command.Cursor
+IND.code ESC|D|
+IND.text
+ This sequence causes the cursor to move downward one line without
+ changing the column. If the cursor is at the bottom margin, a scroll
+ up is performed.
+IND.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|index||see above
+
+LNM.head Line Feed/New Line Mode
+LNM.emus ECMA VT100
+LNM.sect Mode
+LNM.text
+ This is a parameter to \ref:SM and \ref:RM control sequences.
+ The reset state
+ causes the interpretation of the \ref:LF character to imply only vertical
+ movement of the cursor and causes the RETURN key to send the single
+ code \ref:CR.
+ .
+ The set state causes the \ref:LF character to imply movement
+ to the first position of the following line, and causes the RETURN key
+ to send the code pair \ref:CR \ref:LF. This is the New Line option.
+ .
+ This mode does not affect the Index (\ref:IND) or the next line
+ (\ref:NEL) format effectors.
+
+NEL.head Next Line
+NEL.emus ECMA VT100
+NEL.sect Command.Cursor
+NEL.code ESC|E|
+NEL.text
+ This causes the cursor to move to the first position of the next line
+ down. If the cursor is on the bottom line, a scroll is performed.
+NEL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|NextLine||see above
+
+PRINT.head Printable Characters
+PRINT.emus ECMA VT100
+PRINT.sect Command.Display
+PRINT.code PRN||{0x20..0x7e,0xa0..0xff}
+PRINT.text
+ Printable characters are basically displayed. They my cause a line
+ wrap when the cursor is already located at the end of the line.
+ .
+ The VT100 has a unique way to do this by producing a line wrap before
+ the character would be displayed on the next line. This feature allows
+ to print at the rightmost column without producing an implicit line feed.
+PRINT.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|ShowCharacter|p|see above
+
+RI.head Reverse Index
+RI.emus ECMA VT100
+RI.sect Command.Cursor
+RI.code ESC|M|
+RI.text
+ Move the cursor up one line without changing columns. If the cursor is
+ on the top line, a scroll down is performed.
+RI.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|scr|reverseIndex||see above
+
+RIS.head Reset to Initial State
+RIS.emus ECMA VT100
+RIS.sect Command.Mode
+RIS.code ESC|c|
+RIS.text
+ Resets the VT100 to the state is has upon power up. This also causes
+ the execution of the POST and signal INT H to be asserted briefly.
+RIS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|resetTerminal||see above
+
+RM.head Reset Mode
+RM.emus ECMA VT100
+RM.sect Command.SetMode
+RM.code CSI|l|{Ps;...}
+RM.text
+ Resets one or more VT100 modes as specified by each selective parameter
+ in the parameter string. Each mode to be reset is specified by a
+ separate parameter. See \ref:MODES and \ref:SM.
+RM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 4|xterm|scr|resetMode|MODE_Insert|Meaning
+ 20|VT100|emu|resetMode|MODE_NewLine|\ref:LNM
+
+SCS.head Select Character Set
+SCS.emus ECMA VT100
+SCS.sect Command.RenderMode
+SCS.code SCS||{Pc;Cs}
+SCS.text
+ The appropriate D0 and G1 character sets are designated from one of the
+ five possible sets. The G0 and G1 sets are invoked by the characters
+ \ref:LS1 and \ref:LS0, respectively.
+ .
+ The United Kingdom and ASCII sets conform to the "ISO international
+ register of character sets to be used with escape sequences". The
+ other sets are private character sets. Special graphics means that the
+ graphic characters fpr the codes 0137 to 0176 are replaced with other
+ characters. The specified character set will be used until another SCS
+ is received.
+SCS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT100|emu|setCharset|p-'(',q|see above
+SCS.table.Pc
+ Pc|Character Selection:4
+ (|Select G0 Set
+ )|Select G1 Set
+SCS.table.Cs
+ Cs|Character Set:4
+ A|United Kingdom Set
+ B|ASCII Set
+ 0|Special Graphics
+ 1|Alternate Character ROM (Standard Character Set)
+ 2|Alternate Character ROM (Special Graphics)
+
+SGR.head Select Graphic Rendition
+SGR.emus ECMA VT100
+SGR.sect Command.RenderMode
+SGR.code CSI|m|{Ps;...}
+SGR.text
+ Invoke the graphic rendition specified by the parameter(s). All
+ following characters transmitted to the VT100 are rendered according
+ to the parameter(s) until the next occurrence of an SGR.
+ .
+ All other parameter values are ignored.
+ .
+ Without the Advanced Video Option, only one type of character attribute
+ is possible, as determined by the cursor selection; in that case
+ specifying either underscore or reverse will activate the currently
+ selected attribute.
+SGR.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|setDefaultRendition||Attributes Off
+ 1|VT100|scr|setRendition|RE_BOLD|Bold or increased intensity
+ 4|VT100|scr|setRendition|RE_UNDERLINE|Underscore
+ 5|VT100|scr|setRendition|RE_BLINK|Blink
+ 7|VT100|scr|setRendition|RE_REVERSE|Negative (reverse) image
+ 10|konsole|emu|Ignored||Meaning
+ 11|konsole|emu|Ignored||Meaning
+ 12|konsole|emu|Ignored||Meaning
+ 22|VT100|scr|resetRendition|RE_BOLD|Meaning
+ 24|VT100|scr|resetRendition|RE_UNDERLINE|Meaning
+ 25|VT100|scr|resetRendition|RE_BLINK|Meaning
+ 27|VT100|scr|resetRendition|RE_REVERSE|Meaning
+ 30|xterm|scr|setForeColor|0|Meaning
+ 31|xterm|scr|setForeColor|1|Meaning
+ 32|xterm|scr|setForeColor|2|Meaning
+ 33|xterm|scr|setForeColor|3|Meaning
+ 34|xterm|scr|setForeColor|4|Meaning
+ 35|xterm|scr|setForeColor|5|Meaning
+ 36|xterm|scr|setForeColor|6|Meaning
+ 37|xterm|scr|setForeColor|7|Meaning
+ 39|xterm|scr|setForeColorToDefault||Meaning
+ 40|xterm|scr|setBackColor|0|Meaning
+ 41|xterm|scr|setBackColor|1|Meaning
+ 42|xterm|scr|setBackColor|2|Meaning
+ 43|xterm|scr|setBackColor|3|Meaning
+ 44|xterm|scr|setBackColor|4|Meaning
+ 45|xterm|scr|setBackColor|5|Meaning
+ 46|xterm|scr|setBackColor|6|Meaning
+ 47|xterm|scr|setBackColor|7|Meaning
+ 49|xterm|scr|setBackColorToDefault||Meaning
+ 90|xterm|scr|setForeColor|8|Meaning
+ 91|xterm|scr|setForeColor|9|Meaning
+ 92|xterm|scr|setForeColor|10|Meaning
+ 93|xterm|scr|setForeColor|11|Meaning
+ 94|xterm|scr|setForeColor|12|Meaning
+ 95|xterm|scr|setForeColor|13|Meaning
+ 96|xterm|scr|setForeColor|14|Meaning
+ 97|xterm|scr|setForeColor|15|Meaning
+ 100|xterm|scr|setBackColor|8|Meaning
+ 101|xterm|scr|setBackColor|9|Meaning
+ 102|xterm|scr|setBackColor|10|Meaning
+ 103|xterm|scr|setBackColor|11|Meaning
+ 104|xterm|scr|setBackColor|12|Meaning
+ 105|xterm|scr|setBackColor|13|Meaning
+ 106|xterm|scr|setBackColor|14|Meaning
+ 107|xterm|scr|setBackColor|15|Meaning
+
+SM.head Set Mode
+SM.emus ECMA VT100
+SM.sect Command.SetMode
+SM.code CSI|h|{Ps;...}
+SM.text
+ Causes one or more modes to be set within the VT100 as specified by
+ each selective parameter string. Each mode to be set is specified by a
+ seperate parameter. A mode is considered set until it is reset by a
+ Reset Mode (\ref:RM) control sequence.
+ See \ref:RM and \ref:MODES.
+SM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 4|VT100|scr|setMode|MODE_Insert|Meaning
+ 20|VT100|emu|setMode|MODE_NewLine|\ref:LNM
+
+TBC.head Tabulation Clear
+TBC.emus ECMA VT100
+TBC.sect Command.CursMode
+TBC.code CSI|g|{Ps}
+TBC.text
+ If the parameter is missing or 0, this will clear the tab stop at the
+ cursor's position. If it is 3, this will clear all of the tab stops.
+ Any other parameter is ignored.
+TBC.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ 0|VT100|scr|changeTabStop|FALSE|Meaning
+ 3|VT100|scr|clearTabStops||Meaning
+
+##############################################################################
+# #
+# VT52 #
+# #
+##############################################################################
+
+VT52ANSI.head VT52 ANSI Ansi Mode
+VT52ANSI.emus VT100 XTERM VT52 KONSOLE
+VT52ANSI.sect Command.Mode
+VT52ANSI.code ESC|<|
+VT52ANSI.text
+ This is an extension to the VT52 commands to embed the emulation into VT100.
+ It allows to return back to VT100 emulation (ANSI mode).
+ See also \ref:DECANM and \ref:SM.
+VT52ANSI.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|setMode|MODE_Ansi|see above
+
+VT52CUB.head VT52 Cursor Back
+VT52CUB.emus KONSOLE
+VT52CUB.sect Command.VT52
+VT52CUB.code ESC|D|
+VT52CUB.text
+ See \ref:CUB.
+VT52CUB.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorLeft|1|see above
+
+VT52CUD.head VT52 Cursor Down
+VT52CUD.emus KONSOLE
+VT52CUD.sect Command.VT52
+VT52CUD.code ESC|B|
+VT52CUD.text
+ See \ref:CUD.
+VT52CUD.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorDown|1|see above
+
+VT52CUF.head VT52 Cursor Forward
+VT52CUF.emus KONSOLE
+VT52CUF.sect Command.VT52
+VT52CUF.code ESC|C|
+VT52CUF.text
+ See \ref:CUF.
+VT52CUF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorRight|1|see above
+
+VT52CUP.head VT52 Cursor Position
+VT52CUP.emus KONSOLE
+VT52CUP.sect Command.VT52
+VT52CUP.code VT5||{X;Y}
+VT52CUP.text
+ Line and column numbers for direct cursor address are single
+ character codes whose values are the desired number plus
+ 37 (in Octal). Line and column numbers start at 1.
+VT52CUP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setCursorYX|p-31,q-31|see above
+
+VT52CUU.head VT52 Cursor Up
+VT52CUU.emus KONSOLE
+VT52CUU.sect Command.VT52
+VT52CUU.code ESC|A|
+VT52CUU.text
+ See \ref:CUU.
+VT52CUU.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|cursorUp|1|see above
+
+VT52EDL.head VT52 Clear To End Of Line
+VT52EDL.emus KONSOLE
+VT52EDL.sect Command.VT52
+VT52EDL.code ESC|K|
+VT52EDL.text
+ FIXME. explain
+VT52EDL.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|clearToEndOfLine||see above
+
+VT52EDS.head VT52 Clear To End Of Screen
+VT52EDS.emus KONSOLE
+VT52EDS.sect Command.VT52
+VT52EDS.code ESC|J|
+VT52EDS.text
+ FIXME. explain
+VT52EDS.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|clearToEndOfScreen||see above
+
+VT52CUH.head VT52 Cursor Home
+VT52CUH.emus KONSOLE
+VT52CUH.sect Command.VT52
+VT52CUH.code ESC|H|
+VT52CUH.text
+ FIXME. explain
+VT52CUH.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setCursorYX|1,1|see above
+
+VT52KPAM.head VT52 Enter alternate keypad mode
+VT52KPAM.emus KONSOLE
+VT52KPAM.sect Command.VT52
+VT52KPAM.code ESC|=|
+VT2KPAM.text
+ FIXME. explain
+VT52KPAM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|setMode|MODE_AppKeyPad|see above
+
+VT52KPNM.head VT52 Exit alternate keypad mode
+VT52KPNM.emus KONSOLE
+VT52KPNM.sect Command.VT52
+VT52KPNM.code ESC|>|
+VT52KPNM.text
+ FIXME. explain
+VT52KPNM.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|resetMode|MODE_AppKeyPad|see above
+
+VT52REP.head VT52 Report Terminal Type
+VT52REP.emus KONSOLE
+VT52REP.sect Command.VT52
+VT52REP.code ESC|Z|
+VT52REP.text
+ Response to ESC Z is ESC / Z.
+VT52REP.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|emu|reportTerminalType||see above
+
+VT52RI.head VT52 Reverse Index
+VT52RI.emus KONSOLE
+VT52RI.sect Command.VT52
+VT52RI.code ESC|I|
+VT52RI.text
+ FIXME. explain
+VT52RI.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|reverseIndex||see above
+
+VT52SCSF.head VT52 Select special graphics character set
+VT52SCSF.emus KONSOLE
+VT52SCSF.sect Command.VT52
+VT52SCSF.code ESC|F|
+VT52SCSF.text
+ FIXME. explain
+VT52SCSF.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setAndUseCharset|0,'0'|see above
+
+VT52SCSG.head VT52 Select ASCII character set
+VT52SCSG.emus KONSOLE
+VT52SCSG.sect Command.VT52
+VT52SCSG.code ESC|G|
+VT52SCSG.text
+ FIXME. explain
+VT52SCSG.table.XPS
+ Subcode|Emulation|Scope|Operation|Args|Meaning
+ N/A|VT52|scr|setAndUseCharset|0,'B'|see above
diff --git a/konsole/doc/VT100/Table.Graphic b/konsole/doc/VT100/Table.Graphic
new file mode 100644
index 000000000..afc159564
--- /dev/null
+++ b/konsole/doc/VT100/Table.Graphic
@@ -0,0 +1,32 @@
+Blank
+Diamond
+Checkerboard
+Digraph: (HT)
+Digraph: (FF)
+Digraph: (CR)
+Digraph: (LF)
+Degree Symbol: &deg;
++/- Symbol: &plusmn;
+Digraph: (NL)
+Digraph: (VT)
+Lower-right corner
+Upper-right corner
+Upper-left corner
+Lower-left corner
+Crossing lines (+)
+Horiz Line - scan 1
+Horiz Line - scan 3
+Horiz Line - scan 5
+Horiz Line - scan 7
+Horiz Line - scan 9
+Left "T" (|-)
+Right "T" (-|)
+Bottom "T" (|_)
+Top "T" (T)
+Vertical Bar (|)
+Less/Equal: &le;
+Graeter/Egual: &ge;
+Pi symbol: &pi;
+Not equal: &ne;
+UK pound symbol: &pound;
+Centered dot: &middot;
diff --git a/konsole/doc/VT100/Table.VT52 b/konsole/doc/VT100/Table.VT52
new file mode 100644
index 000000000..d6faca3d2
--- /dev/null
+++ b/konsole/doc/VT100/Table.VT52
@@ -0,0 +1,40 @@
+VT52 Compatible Mode
+
+: VT52A Cursor Up
+c ESC A
+: VT52b Cursor Down
+c ESC B
+: VT52C Cursor Right
+c ESC C
+: VT52D Cursor Left
+c ESC D
+: VT52F Select Special Graphics character set
+c ESC F
+: VT52G Select ASCII character set
+c ESC G
+: VT52H Cursor to home
+c ESC H
+: VT52I Reverse line feed
+c ESC I
+: VT52J Erase to end of screen
+c ESC J
+: VT52K Erase to end of line
+c ESC K
+: VT52Y Direct cursor address
+c ESC Y {l} {c}
+h
+ Line and column numbers for direct cursor address are single
+ character codes whose values are the desired number plus
+ 37 (in Octal). Line and column numbers start at 1.
+e
+: VT52Z Identify
+c ESC Z
+h
+ Response to ESC Z is ESC / Z.
+e
+: VT52KBAM Enter alternate keypad mode
+c ESC =
+: VT52KEAM Exit alternate keypad mode
+c ESC >
+: VT52AM Enter ANSI mode
+c ESC <
diff --git a/konsole/doc/VT100/awk.table.graphic b/konsole/doc/VT100/awk.table.graphic
new file mode 100644
index 000000000..f27aae29e
--- /dev/null
+++ b/konsole/doc/VT100/awk.table.graphic
@@ -0,0 +1,30 @@
+function header()
+{
+ printf("<tr><td>Octal<br>Code </td>\n");
+ printf(" <td>ASCII<br>Graphic</td>\n");
+ printf(" <td>Special Graphic </td></tr>\n");
+ printf("<tr><td><hr></td>\n");
+ printf(" <td><hr></td>\n");
+ printf(" <td><hr></td></tr>\n");
+}
+
+BEGIN {
+ color = "" # " bgcolor=lightblue"
+ printf("<center>\n");
+ printf("<table cellspacing=30>\n");
+ printf("<tr><td><table>");
+ header();
+}
+ {
+
+# printf("%04o %s %c %s %s\n",NR-1+95,$1,NR-1+95,$2,$3);
+ if (NR > 1 && NR % 16 == 1) { printf("</td></table></td><td><table>"); header(); }
+ printf("<tr><td%s>%04o</td>\n",color,NR-1+95);
+ printf(" <td%s align=center>%c</td>\n",color,NR-1+95);
+ printf(" <td%s>%s</td></tr>\n",color,$0);
+}
+END {
+ printf("</td></tr></table>\n");
+ printf("</table>\n");
+ printf("</center>\n");
+}
diff --git a/konsole/doc/VT100/cmds.pro b/konsole/doc/VT100/cmds.pro
new file mode 100644
index 000000000..35fec3ab2
--- /dev/null
+++ b/konsole/doc/VT100/cmds.pro
@@ -0,0 +1,61 @@
+?- consult('dicts.pro').
+
+test :- dict(X,_), check(X), fail; true.
+test1 :- findall(A,head(A,_),R), sort(R,Res), print(Res), nl, fail.
+
+check([_,head]) :- !. /* TITLE */
+check([_,emus]) :- !. /* List Word */
+check([_,dflt]) :- !. /* List NumberOrWord */
+check([_,sect]) :- !. /* List Word // Dotted Name */
+check([_,code]) :- !. /* [ TYP, ("Char"/none/Numb), [arg, ...] ] */
+check([_,text]) :- !. /* [ String/nl/ref(Sym) ... ] */
+
+check([_,table,'XPS']) :- !. /* interpretation */
+
+/*Other (type) tables */
+/*check([_,table,_]) :- !, print(X), nl.*/
+
+check(X) :- !, print(X), nl.
+
+/* ----------- */
+/* State: We're closer to make up a proper data model.
+ Todo:
+ - put the type/value definitions listed in 'test'
+ to a more appropriate place.
+ - clearify section material.
+ - make a model and a consistency checker.
+ - make a report generator.
+ - integrate 'TEScreen.C' functions
+*/
+
+
+head(Name,Title) :- dict([Name,head],Title).
+emus(Name,Emus) :- dict([Name,emus],Emus).
+dflt(Name,Defaults) :- dict([Name,dflt],Defaults).
+sect(Name,DottedSect) :- dict([Name,sect],DottedSect).
+code(Name,Code) :- dict([Name,code],Desc), tcode(Desc,Code).
+text(Name,Text) :- dict([Name,text],Text).
+
+tcode(['PRN',none,[]],prn) :- !.
+tcode(['DEL',none,[]],ctl(127)) :- !.
+tcode(['CTL',Num,[]],ctl(Num)) :- !.
+tcode(['ESC',Chr,[]],esc(Chr)) :- !.
+tcode(['HSH',Chr,[]],esc(Chr)) :- !.
+tcode(['CSI',Chr,[P,'...']],csi(Chr,list(P))) :- !.
+tcode(['CSI',Chr,Parm],csi(Chr,Parm)) :- !.
+tcode(['PRI',Chr,[P,'...']],pri(Chr,list(P))) :- !.
+tcode(['PRI',Chr,Parm],pri(Chr,Parm)) :- !.
+tcode(['SCS',none,[A,B]],scs([A,B])) :- !.
+tcode(['VT5',none,[X,Y]],vt5([X,Y])) :- !.
+tcode(P,P) :- writef("\n - fail\n %t \n\n",[P]).
+
+pheads :-
+ head(N,T),
+ writef("%w - %s\n",[N,T]),
+ fail; true.
+
+pcodes :-
+ code(N,P),
+ writef("%w - %t\n",[N,P]),
+ fail; true.
+
diff --git a/konsole/doc/VT100/db.trans b/konsole/doc/VT100/db.trans
new file mode 100644
index 000000000..7fe21ef27
--- /dev/null
+++ b/konsole/doc/VT100/db.trans
@@ -0,0 +1,190 @@
+TY_CHR___|PRINT|||scr|ShowCharacter|p
+TY_CTL___|NUL|'@'||||
+TY_CTL___|SOH|'A'||||
+TY_CTL___|STX|'B'||||
+TY_CTL___|ETX|'C'||||
+TY_CTL___|EOT|'D'||||
+TY_CTL___|ENQ|'E'||emu|reportAnswerBack|
+TY_CTL___|ACK|'F'||||
+TY_CTL___|BEL|'G'||gui|Bell|
+TY_CTL___|BS|'H'||scr|BackSpace|
+TY_CTL___|HT|'I'||scr|Tabulate|
+TY_CTL___|LF|'J'||emu|NewLine|
+TY_CTL___|VT|'K'||emu|NewLine|
+TY_CTL___|FF|'L'||emu|NewLine|
+TY_CTL___|CR|'M'||scr|Return|
+TY_CTL___|LS0|'N'||scr|useCharset|1
+TY_CTL___|LS1|'O'||scr|useCharset|0
+TY_CTL___|DLE|'P'||||
+TY_CTL___|DC1|'Q'||||
+TY_CTL___|DC2|'R'||||
+TY_CTL___|DC3|'S'||||
+TY_CTL___|DC4|'T'||||
+TY_CTL___|NAK|'U'||||
+TY_CTL___|SYN|'V'||||
+TY_CTL___|ETB|'W'||||
+TY_CTL___|CAN|'X'||scr|ShowCharacter|2
+TY_CTL___|EM|'Y'||||
+TY_CTL___|SUB|'Z'||scr|ShowCharacter|2
+TY_CTL___|ESC|'['||||
+TY_CTL___|FS|'\\'||||
+TY_CTL___|GS|']'||||
+TY_CTL___|RS|'^'||||
+TY_CTL___|US|'_'||||
+TY_ESC___|IND|'D'||scr|index|
+TY_ESC___|NEL|'E'||scr|NextLine|
+TY_ESC___|HTS|'H'||scr|changeTabStop|TRUE
+TY_ESC___|RI|'M'||scr|reverseIndex|
+TY_ESC___|DECID|'Z'||emu|reportTerminalType|
+TY_ESC___|RIS|'c'||emu|resetTerminal|
+TY_ESC___|LS2|'n'||scr|useCharset|2
+TY_ESC___|LS3|'o'||scr|useCharset|3
+TY_ESC___|DECSC|'7'||scr|saveCursor|
+TY_ESC___|DECRC|'8'||scr|restoreCursor|
+TY_ESC___|DECKPAM|'='||emu|setMode|MODE_AppKeyPad
+TY_ESC___|DECKPNM|'>'||emu|resetMode|MODE_AppKeyPad
+TY_ESC___|DECANSI|'<'||emu|setMode|MODE_Ansi
+TY_ESC_CS|SCS|||emu|setCharset|p-'(',q
+TY_ESC_DE|DECDHLT|'3'||||
+TY_ESC_DE|DECDHLB|'4'||||
+TY_ESC_DE|DECSWL|'5'||||
+TY_ESC_DE|DECDWL|'6'||||
+TY_ESC_DE|DECALN|'8'||scr|helpAlign|
+TY_CSI_PS|EL|'K'|0|scr|clearToEndOfLine|
+TY_CSI_PS|EL|'K'|1|scr|clearToBeginOfLine|
+TY_CSI_PS|EL|'K'|2|scr|clearEntireLine|
+TY_CSI_PS|ED|'J'|0|scr|clearToEndOfScreen|
+TY_CSI_PS|ED|'J'|1|scr|clearToBeginOfScreen|
+TY_CSI_PS|ED|'J'|2|scr|clearEntireScreen|
+TY_CSI_PS|TBC|'g'|0|scr|changeTabStop|FALSE
+TY_CSI_PS|TBC|'g'|3|scr|clearTabStops|
+TY_CSI_PS|SM|'h'|4|scr|setMode|MODE_Insert
+TY_CSI_PS|SM|'h'|20|emu|setMode|MODE_NewLine
+TY_CSI_PS|MC|'i'|0|||
+TY_CSI_PS|RM|'l'|4|scr|resetMode|MODE_Insert
+TY_CSI_PS|RM|'l'|20|emu|resetMode|MODE_NewLine
+TY_CSI_PS|SGR|'m'|0|scr|setDefaultRendition|
+TY_CSI_PS|SGR|'m'|1|scr|setRendition|RE_BOLD
+TY_CSI_PS|SGR|'m'|4|scr|setRendition|RE_UNDERLINE
+TY_CSI_PS|SGR|'m'|5|scr|setRendition|RE_BLINK
+TY_CSI_PS|SGR|'m'|7|scr|setRendition|RE_REVERSE
+TY_CSI_PS|SGR|'m'|10|||
+TY_CSI_PS|SGR|'m'|11|||
+TY_CSI_PS|SGR|'m'|12|||
+TY_CSI_PS|SGR|'m'|22|scr|resetRendition|RE_BOLD
+TY_CSI_PS|SGR|'m'|24|scr|resetRendition|RE_UNDERLINE
+TY_CSI_PS|SGR|'m'|25|scr|resetRendition|RE_BLINK
+TY_CSI_PS|SGR|'m'|27|scr|resetRendition|RE_REVERSE
+TY_CSI_PS|SGR|'m'|30|scr|setForeColor|0
+TY_CSI_PS|SGR|'m'|31|scr|setForeColor|1
+TY_CSI_PS|SGR|'m'|32|scr|setForeColor|2
+TY_CSI_PS|SGR|'m'|33|scr|setForeColor|3
+TY_CSI_PS|SGR|'m'|34|scr|setForeColor|4
+TY_CSI_PS|SGR|'m'|35|scr|setForeColor|5
+TY_CSI_PS|SGR|'m'|36|scr|setForeColor|6
+TY_CSI_PS|SGR|'m'|37|scr|setForeColor|7
+TY_CSI_PS|SGR|'m'|39|scr|setForeColorToDefault|
+TY_CSI_PS|SGR|'m'|40|scr|setBackColor|0
+TY_CSI_PS|SGR|'m'|41|scr|setBackColor|1
+TY_CSI_PS|SGR|'m'|42|scr|setBackColor|2
+TY_CSI_PS|SGR|'m'|43|scr|setBackColor|3
+TY_CSI_PS|SGR|'m'|44|scr|setBackColor|4
+TY_CSI_PS|SGR|'m'|45|scr|setBackColor|5
+TY_CSI_PS|SGR|'m'|46|scr|setBackColor|6
+TY_CSI_PS|SGR|'m'|47|scr|setBackColor|7
+TY_CSI_PS|SGR|'m'|49|scr|setBackColorToDefault|
+TY_CSI_PS|SGR|'m'|90|scr|setForeColor|8
+TY_CSI_PS|SGR|'m'|91|scr|setForeColor|9
+TY_CSI_PS|SGR|'m'|92|scr|setForeColor|10
+TY_CSI_PS|SGR|'m'|93|scr|setForeColor|11
+TY_CSI_PS|SGR|'m'|94|scr|setForeColor|12
+TY_CSI_PS|SGR|'m'|95|scr|setForeColor|13
+TY_CSI_PS|SGR|'m'|96|scr|setForeColor|14
+TY_CSI_PS|SGR|'m'|97|scr|setForeColor|15
+TY_CSI_PS|SGR|'m'|100|scr|setBackColor|8
+TY_CSI_PS|SGR|'m'|101|scr|setBackColor|9
+TY_CSI_PS|SGR|'m'|102|scr|setBackColor|10
+TY_CSI_PS|SGR|'m'|103|scr|setBackColor|11
+TY_CSI_PS|SGR|'m'|104|scr|setBackColor|12
+TY_CSI_PS|SGR|'m'|105|scr|setBackColor|13
+TY_CSI_PS|SGR|'m'|106|scr|setBackColor|14
+TY_CSI_PS|SGR|'m'|107|scr|setBackColor|15
+TY_CSI_PS|DSR|'n'|5|emu|reportStatus|
+TY_CSI_PS|DSR|'n'|6|emu|reportCursorPosition|
+TY_CSI_PS|DECLL|'q'|0|||
+TY_CSI_PS|DECLL|'q'|1|||
+TY_CSI_PS|DECLL|'q'|2|||
+TY_CSI_PS|DECLL|'q'|3|||
+TY_CSI_PS|DECLL|'q'|4|||
+TY_CSI_PS|DECREQTPARM|'x'|0|emu|reportTerminalParms|2
+TY_CSI_PS|DECREQTPARM|'x'|1|emu|reportTerminalParms|3
+TY_CSI_PN|ICH|'@'||scr|insertChars|p
+TY_CSI_PN|CUU|'A'||scr|cursorUp|p
+TY_CSI_PN|CUD|'B'||scr|cursorDown|p
+TY_CSI_PN|CUF|'C'||scr|cursorRight|p
+TY_CSI_PN|CUB|'D'||scr|cursorLeft|p
+TY_CSI_PN|CHA|'G'||scr|setCursorX|p
+TY_CSI_PN|CUP|'H'||scr|setCursorYX|p,q
+TY_CSI_PN|IL|'L'||scr|insertLines|p
+TY_CSI_PN|DL|'M'||scr|deleteLines|p
+TY_CSI_PN|DCH|'P'||scr|deleteChars|p
+TY_CSI_PN|ECH|'X'||scr|eraseChars|p
+TY_CSI_PN|DA|'c'||emu|reportTerminalType|
+TY_CSI_PN|VPA|'d'||scr|setCursorY|p
+TY_CSI_PN|HVP|'f'||scr|setCursorYX|p,q
+TY_CSI_PN|DECSTBM|'r'||scr|setMargins|p,q
+TY_CSI_PN|DECTST|'y'||||
+TY_CSI_PR|DECSET|'h'|1|emu|setMode|MODE_AppCuKeys
+TY_CSI_PR|DECSET|'h'|3|emu|setColumns|132
+TY_CSI_PR|DECSET|'h'|4|||
+TY_CSI_PR|DECSET|'h'|5|scr|setMode|MODE_Screen
+TY_CSI_PR|DECSET|'h'|6|scr|setMode|MODE_Origin
+TY_CSI_PR|DECSET|'h'|7|scr|setMode|MODE_Wrap
+TY_CSI_PR|DECSET|'h'|8|||
+TY_CSI_PR|DECSET|'h'|9|||
+TY_CSI_PR|DECSET|'h'|25|emu|setMode|MODE_Cursor
+TY_CSI_PR|DECSET|'h'|47|emu|setMode|MODE_AppScreen
+TY_CSI_PR|DECSET|'h'|1000|emu|setMode|MODE_Mouse1000
+TY_CSI_PR|DECSET|'h'|1001|||
+TY_CSI_PR|DECSET|'h'|1047|emu|setMode|MODE_AppScreen
+TY_CSI_PR|DECSET|'h'|1048|scr|saveCursor|
+TY_CSI_PR|DECRST|'l'|1|emu|resetMode|MODE_AppCuKeys
+TY_CSI_PR|DECRST|'l'|2|emu|resetMode|MODE_Ansi
+TY_CSI_PR|DECRST|'l'|3|emu|setColumns|80
+TY_CSI_PR|DECRST|'l'|4|||
+TY_CSI_PR|DECRST|'l'|5|scr|resetMode|MODE_Screen
+TY_CSI_PR|DECRST|'l'|6|scr|resetMode|MODE_Origin
+TY_CSI_PR|DECRST|'l'|7|scr|resetMode|MODE_Wrap
+TY_CSI_PR|DECRST|'l'|8|||
+TY_CSI_PR|DECRST|'l'|9|||
+TY_CSI_PR|DECRST|'l'|25|emu|resetMode|MODE_Cursor
+TY_CSI_PR|DECRST|'l'|47|emu|resetMode|MODE_AppScreen
+TY_CSI_PR|DECRST|'l'|1000|emu|resetMode|MODE_Mouse1000
+TY_CSI_PR|DECRST|'l'|1001|||
+TY_CSI_PR|DECRST|'l'|1047|emu|resetMode|MODE_AppScreen
+TY_CSI_PR|DECRST|'l'|1048|scr|restoreCursor|
+TY_CSI_PR|XTESAVE|'s'|1|emu|saveMode|MODE_AppCuKeys
+TY_CSI_PR|XTESAVE|'s'|6|scr|saveMode|MODE_Origin
+TY_CSI_PR|XTESAVE|'s'|7|scr|saveMode|MODE_Wrap
+TY_CSI_PR|XTESAVE|'s'|1000|emu|saveMode|MODE_Mouse1000
+TY_CSI_PR|XTESAVE|'s'|1001|||
+TY_CSI_PR|XTERESTORE|'r'|1|emu|restoreMode|MODE_AppCuKeys
+TY_CSI_PR|XTERESTORE|'r'|6|scr|restoreMode|MODE_Origin
+TY_CSI_PR|XTERESTORE|'r'|7|scr|restoreMode|MODE_Wrap
+TY_CSI_PR|XTERESTORE|'r'|1000|emu|restoreMode|MODE_Mouse1000
+TY_CSI_PR|XTERESTORE|'r'|1001|||
+TY_VT52__|VT52CUU|'A'||scr|cursorUp|1
+TY_VT52__|VT52CUD|'B'||scr|cursorDown|1
+TY_VT52__|VT52CUF|'C'||scr|cursorRight|1
+TY_VT52__|VT52CUB|'D'||scr|cursorLeft|1
+TY_VT52__|VT52SCSF|'F'||scr|setAndUseCharset|0,'0'
+TY_VT52__|VT52SCSG|'G'||scr|setAndUseCharset|0,'B'
+TY_VT52__|VT52CUH|'H'||scr|setCursorYX|1,1
+TY_VT52__|VT52RI|'I'||scr|reverseIndex|
+TY_VT52__|VT52EDS|'J'||scr|clearToEndOfScreen|
+TY_VT52__|VT52EDL|'K'||scr|clearToEndOfLine|
+TY_VT52__|VT52CUP|'Y'||scr|setCursorYX|p-31,q-31
+TY_VT52__|VT52REP|'Z'||emu|reportTerminalType|
+TY_VT52__|VT52ANSI|'<'||emu|setMode|MODE_Ansi
+TY_VT52__|VT52KPAM|'='||emu|setMode|MODE_AppKeyPad
+TY_VT52__|VT52KPNM|'>'||emu|resetMode|MODE_AppKeyPad
diff --git a/konsole/doc/VT100/db2.pl b/konsole/doc/VT100/db2.pl
new file mode 100755
index 000000000..f961e5d31
--- /dev/null
+++ b/konsole/doc/VT100/db2.pl
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+$ops = "db.trans";
+$src = "../../src/TEScreen.C";
+$res1 = ">TEScreen.p1";
+$res2 = ">TEScreen.p2";
+
+open(OPS, $ops) || die "cannot open file '" . $ops . "'.";
+
+my $tbl = {};
+while (<OPS>)
+{
+ chop; # strip record separator
+ my @Fld = split('\|', $_);
+ if ($Fld[2] && $Fld[2] eq 'scr')
+ {
+ $tbl->{$Fld[3]} = 1;
+ }
+}
+#foreach $p (sort keys %$tbl)
+#{
+# print $p, "\n";
+#}
+
+open(SRC, $src) || die "cannot open file '" . $src . "'.";
+open(RES1, $res1) || die "cannot open file '" . $res1 . "'.";
+open(RES2, $res2) || die "cannot open file '" . $res2 . "'.";
+my $control = 0;
+while (<SRC>)
+{
+ chop;
+ if ( /void TEScreen::(.*)\((.*)\)/ && exists $tbl->{$1} )
+ {
+ print RES1 "\n";
+ $control = 1;
+ }
+ if ($control)
+ {
+ print RES1 $_, "\n";
+ }
+ else
+ {
+ print RES2 $_, "\n";
+ }
+ if ( /^}$/ )
+ {
+ $control = 0;
+ }
+}
diff --git a/konsole/doc/VT100/genDocument b/konsole/doc/VT100/genDocument
new file mode 100755
index 000000000..4ecee0996
--- /dev/null
+++ b/konsole/doc/VT100/genDocument
@@ -0,0 +1,257 @@
+#!/bin/sh
+RES=techref.html
+
+function header
+{
+cat << etx >> $RES
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>$1</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+etx
+}
+
+cat > $RES /dev/null
+
+# -- HTML Header --------------------------------------------------------------------
+
+cat >> $RES << etx
+<html>
+<head>
+<title>VT100</title>
+<!-- NOTE: this page is generated using the "genDocument" script -->
+</head>
+<body bgcolor=white>
+
+<hr>
+
+etx
+
+# -- Editors Notes ------------------------------------------------------------------
+
+cat >> $RES << etx
+
+<h1><center>VT100</center></h1>
+<center><img src="vt100.gif"></center>
+
+<it>Please note that this text is under construction.</it>
+
+<h2>Preface</h2>
+
+This document accompanies the Konsole program, which is a terminal emulation
+for the X Windows System. Since material about the extend and precise semantics
+of the emulatation intended to be handled by this programs is hard to find on the
+internet today, it came out nessesary to include a more precise specification within
+their release.
+Hopefully, this helps to clearify the relation to the VT100, VT102, Linux, XTerm
+and ansi.sys (ANSI-BBS) terminals, which are the target of these programs. Further,
+it specifies which codes are interpreted by them, and what has been omitted.
+<p>
+To begin with, all of the above call themselfes "ANSI" emulations, which makes this
+notion pretty vage. "ANSI" referes here to the American National Standards
+Institute's documents X3.41-1974 and X3.64-1977. DEC partially implemented this
+standart in their VT100 terminal, with some additions. The VT102 is a later extention
+of that. Both the Linux console and the XTerm emulation implement most of VT102,
+with some additions. MS stepped in later and produced another ANSI emulation,
+<code>ansi.sys</code>, for their OS, which became of some relevance in BBS style
+telecommunication programs. One can view this as a small subset of the VT100
+emulation, with some additions, of cause.
+This situation is further confused by the fact, that often many versions of the
+above terminals and emulations are out, one able to do a little more or less then
+the other.
+<p>
+<hr>
+<p>
+I'm working towards a
+close integration of the konsole's source code with this document, but it
+is still a long way to go.
+<p>
+Currently, the body of this document is mainly a concept data base, that
+referes to the VT100 component of the emulation. Though the codes accepted by
+konsole are now clearly indicated, a comparison to the xterm and Linux console
+emulation is missing.
+<p>
+The konsole emulation sources is not linked closely with it's documentation,
+and, also accurate at the time of writing, it can still fall slightly appart,
+though the codes accepted and produced by konsole should be properly listed.
+Work is currently in progress to fix this issue.
+
+
+
+<h2>Notes &amp; todos</h2>
+<ul>
+<li>Include complete reference on keyboard material.
+<li>Check for explaination of out-of-bound values.
+<li>Include VT52, VT102, XTERM, LINUX-console codes
+<li>Make the whole document more concept oriented
+<li>See the section <em>Method of description</em>, below
+<li>Derive some summarizing lists.
+</ul>
+<hr>
+etx
+
+
+# -- Codes --------------------------------------------------------------------------
+
+./genTC.pl >> $RES
+
+
+header "On VT100"
+
+cat >> $RES << etx
+
+The VT100 is an upward and downward software-compatible terminal;
+that is, previous Digital video terminals have Digital's private standards
+for control sequences. The American National Standards Institute has since
+standardized escape and control sequences in terminals in documents X3.41-1974
+and X3.64-1977.
+<p>
+The VT100 is compatible with both the previous Digital standard and
+ANSI standards. Customers may use existing Digital software designed around
+the VT52 or new VT100 software. The VT100 has a "VT52 compatible" mode in
+which the VT100 responds to control sequences like a VT52. In this mode, most
+of the new VT100 features cannot be used.
+<p>
+Throughout this document references will be made to "VT52 mode" or
+"ANSI mode". These two terms are used to indicate the VT100's software
+compatibility.
+<p>
+<em>NOTE</em>: The ANSI standards allow the manufacturer flexibility in implementing
+each function. This document describes how the VT100 will respond to the
+implemented ANSI central function.
+<p>
+
+etx
+
+header "Modes"
+
+cat >> $RES << etx
+<a name=#MODES></a>
+
+
+The Following is a list of VT100 modes which may be changed with Set
+Mode (SM) and Reset Mode (RM) controls.
+
+<h3>ANSI Specified Modes</h3>
+
+<table border=1>
+<tr><td>Parameter</td><td>Mnemonic</td><td>Function</td></tr>
+<tr><td><hr></td><td><hr></td><td><hr></td></tr>
+<tr><td>0 </td><td> </td><td>Error (Ignored)</td></tr>
+<tr><td>20 </td><td>LNM </td><td>Line Feed/New Line Mode</td></tr>
+</table>
+
+
+<h3>DEC Private Modes</h3>
+
+If the first character in the parameter string is ? (077), the
+parameters are interpreted as DEC private parameters according to the
+following:
+
+<table border=1>
+<tr><td>Parameter</td><td>Mnemonic</td><td>Function
+<tr><td><hr></td><td><hr></td><td><hr></td></tr>
+<tr><td>0</td><td> </td><td>Error (Ignored)</td></tr>
+<tr><td>1</td><td><a href=#DECCKM >DECCKM </a></td><td>Cursor Key </td></tr>
+<tr><td>2</td><td><a href=#DECANM >DECANM </a></td><td>ANSI/VT52 </td></tr>
+<tr><td>3</td><td><a href=#DECCOLM>DECCOLM</a></td><td>Column </td></tr>
+<tr><td>4</td><td><a href=#DECSCLM>DECSCLM</a></td><td>Scrolling </td></tr>
+<tr><td>5</td><td><a href=#DECSCNM>DECSCNM</a></td><td>Screen </td></tr>
+<tr><td>6</td><td><a href=#DECOM >DECOM </a></td><td>Origin </td></tr>
+<tr><td>7</td><td><a href=#DECAWM >DECAWM </a></td><td>Auto Wrap </td></tr>
+<tr><td>8</td><td><a href=#DECARM>DECARM </a></td><td>Auto Repeat </td></tr>
+<tr><td>9</td><td><a href=#DECINLM>DECINLM</a></td><td>Interlace </td></tr>
+</table>
+
+Any other parameter values are ignored.
+
+<p>
+The following modes, which are specified in the ANSI standard, may be
+considered to be permanently set, permanently reset, or not applicable,
+as noted.
+
+<table border=1>
+<tr><td>Mnemonic</td><td>Function </td><td>State</td></tr>
+
+<tr><td>CRM </td><td>Control Representation </td><td>Reset</td></tr>
+<tr><td>EBM </td><td>Editing Boundary </td><td>Reset</td></tr>
+<tr><td>ERM </td><td>Erasure </td><td>Set </td></tr>
+<tr><td>FEAM </td><td>Format Effector Action </td><td>Reset</td></tr>
+<tr><td>FETM </td><td>Format Effector Transfer </td><td>Reset</td></tr>
+<tr><td>GATM </td><td>Guarded Area Transfer </td><td>NA </td></tr>
+<tr><td>HEM </td><td>Horizontal Editing </td><td>NA </td></tr>
+<tr><td>IRM </td><td>Insertion-replacement </td><td>Reset</td></tr>
+<tr><td>KAM </td><td>Keyboard Action </td><td>Reset</td></tr>
+<tr><td>MATM </td><td>Multiple area transfer </td><td>NA </td></tr>
+<tr><td>PUM </td><td>Positioning Unit </td><td>Reset</td></tr>
+<tr><td>SATM </td><td>Selected Area Transfer </td><td>NA </td></tr>
+<tr><td>SRTM </td><td>Status Reporting Transfer</td><td>Reset</td></tr>
+<tr><td>TSM </td><td>Tabulation Stop </td><td>Reset</td></tr>
+<tr><td>TTM </td><td>Transfer Termination </td><td>NA </td></tr>
+<tr><td>VEM </td><td>Vertical Editing </td><td>NA </td></tr>
+</table>
+etx
+
+# -- Keyboard Codes -----------------------------------------------------------------
+
+cat >> $RES << etx
+<h2>Keyboard Codes</h2>
+
+The notation &lt;ESC&gt; denotes a single ASCII Escape character, 1Bx.
+
+<table border=1>
+<tr>
+<td>Cursor Key</td>
+<td>VT52 mode</td>
+<td>ANSI mode w/cursor <br> key mode reset</td>
+<td>ANSI mode w/cursor <br> key mode set</td>
+</tr>
+<tr><td>UP </td><td>&lt;ESC&gt;A</td><td>&lt;ESC&gt;[A</td><td>&lt;ESC&gt;OA</td></tr>
+<tr><td>DOWN </td><td>&lt;ESC&gt;B</td><td>&lt;ESC&gt;[B</td><td>&lt;ESC&gt;OB</td></tr>
+<tr><td>RIGHT</td><td>&lt;ESC&gt;C</td><td>&lt;ESC&gt;[C</td><td>&lt;ESC&gt;OC</td></tr>
+<tr><td>LEFT </td><td>&lt;ESC&gt;D</td><td>&lt;ESC&gt;[D</td><td>&lt;ESC&gt;OD</td></tr>
+</table>
+etx
+
+
+# -- Graphics Characters ------------------------------------------------------------
+
+cat >> $RES << etx
+<h2>Special Graphics Characters</h2>
+
+If the Special Graphics set is selected, the graphics for ASCII codes
+0137 through 0176 will be replaced according to the following table (see the
+<a href=#SCS>SCS</a> control sequence).
+etx
+
+
+awk -f awk.table.graphic < Table.Graphic >> $RES
+
+
+cat >> $RES << etx
+<em>NOTE 1</em>: Codes 0152-0156 and 0164-0170 are used to draw rectangular grids" each
+piece of this set is contiguous with other so the lines formed will be
+unbroken.
+<p>
+<em>NOTE 2</em>: Codes 0157-0163 give better vertical resolution than dashes and
+underlines when drawing graphs; using these segments, 120 x 132 resolution may
+be obtained in 132 column mode with the Advanced Video Option installed.
+<p>
+
+<h2>References</h2>
+<p>
+<hr>
+<small>
+This text is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+<p>
+<a href="mailto:lars.doelle@on-line.de">Lars D&ouml;lle</a>, 1998
+</small>
+
+</body>
+</html>
+etx
diff --git a/konsole/doc/VT100/genPl.pl b/konsole/doc/VT100/genPl.pl
new file mode 100755
index 000000000..0a3bb648e
--- /dev/null
+++ b/konsole/doc/VT100/genPl.pl
@@ -0,0 +1,300 @@
+#!/usr/bin/perl -w
+use strict;
+
+my $source = "Table.Codes";
+
+my $html = 1;
+my $test = 0;
+
+# Syntax -----------------------------------------------------------------------
+#
+# Dotted.Name Text
+# Dotted.Name
+# Text
+# Lines
+#
+# The dotted names have to be unique. Conceptually, they form a tree.
+#
+
+# Data Model ------------------------------------------------------------------
+
+# This is currently pretty wierd.
+#
+# Empirically, we have
+#
+# NAME.head TitleLine
+# NAME.emus { EmuName ... }
+# NAME.dflt { Number|'ScreenLines' ... }
+# NAME.sect DottedWord
+#
+# NAME.code <Typ>|<Ide>|<Parm>
+# NAME.text
+# <text with some special tricks>
+# NAME.table.TAB
+# <"|"-separated head line>
+# <"|"-separated data rows>
+#
+# TABs
+# - .XPS, used for instructions with subcodes
+# Subcode|Emulation|Scope|Operation|Parameter|Meaning
+# - .XEX, used for individual codes
+# Instruction|Scope|Operation|Parameter
+#
+# Alternative
+# - .impl Scope|Operation|Parameters
+# - .subc.SUBCODE.impl
+# - .subc.SUBCODE.attr
+# - .subc.SUBCODE.head
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# Analyze Source --------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+my $all = {};
+
+my $state = 0;
+my $name = '';
+my $value = '';
+
+sub parse
+{
+ sub chkstate
+ { my ($expect,$lineno,$line) = @_;
+ if ($state != $expect)
+ {
+ print STDERR "$source($lineno): line unexpected in state $state. : $line\n";
+ }
+ }
+
+ sub reduce
+ {
+ $all->{$name} = $value;
+ $state = 0;
+ $value = '';
+ }
+
+ open(CODES, $source) || die "cannot open file '" . $source . "'.";
+ while (<CODES>)
+ {
+ chop; # strip record separator
+ my @Fld = split(' ', $_);
+
+ if ($#Fld == -1)
+ {
+ reduce() if $state != 0;
+ }
+ elsif (substr($_, 0, 1) eq '#')
+ {
+ ; #ignore
+ }
+ elsif (substr($_, 0, 1) eq ' ')
+ { &chkstate(1,$.,$_);
+ $value .= ($value eq "" ? "" : "\n") . $_; #FIXME: unchop
+ }
+ else
+ {
+ reduce() if $state != 0;
+ $name = $Fld[0];
+ if ($#Fld == 0)
+ {
+ $state = 1;
+ }
+ else
+ {
+ $value = join ' ', @Fld[1..$#Fld];
+ reduce();
+ }
+ }
+ }
+ reduce() if ($state == 1);
+ chkstate(0,$.,$_);
+
+ return $all;
+}
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# Analyze Source --------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+sub clausify
+{
+ my ($t) = @_;
+ my $p;
+ my $word;
+ foreach $p (keys %$t)
+ {
+ my $flag = 0;
+ print("dict([");
+ foreach $word (split('\.', $p))
+ {
+ print(", ") if ($flag);
+ print("\'$word\'");
+ $flag = 1;
+ }
+ print("], ");
+ my @Fld = split('\.', $p);
+ #
+ # head
+ #
+ if ($#Fld == 1 && $Fld[1] eq 'head')
+ {
+ print "\"",$t->{$p},"\"";
+ }
+ #
+ # emus
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'emus')
+ {
+ my $emu;
+ $flag = 0;
+ print("[");
+ foreach $emu (split(' ', $t->{$p}))
+ {
+ print ", " if ($flag);
+ print "\'$emu\'";
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # dflt
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'dflt')
+ {
+ my $dflt;
+ $flag = 0;
+ print("[");
+ foreach $dflt (split(' ', $t->{$p}))
+ {
+ print ", " if ($flag);
+ print $dflt if (length($dflt) == 1);
+ print "\'$dflt\'" if (length($dflt) > 1);
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # sect
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'sect')
+ {
+ my $sect;
+ $flag = 0;
+ print("[");
+ foreach $sect (split('\.', $t->{$p}))
+ {
+ print ", " if ($flag);
+ print "\'$sect\'";
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # code
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'code')
+ {
+ my @Code = split('\|', $t->{$p});
+ print("[");
+ print("\'$Code[0]\', ");
+ if ($#Code > 0 && $Code[1] ne '')
+ {
+ print("\"$Code[1]\", ") if ($Code[0] ne 'CTL');
+ printf("%d, ",eval($Code[1])) if ($Code[0] eq 'CTL');
+ }
+ else
+ {
+ print("none, ")
+ }
+ if ($#Code == 2 && $Code[2] ne '' && $Code[0] ne 'PRN')
+ {
+ $_ = $Code[2];
+ s/{/['/;
+ s/}/']/;
+ s/;/','/g;
+ s/'([0-9]+)'/$1/g;
+ print $_;
+ }
+ else
+ {
+ print "[]";
+ }
+ print("]");
+ }
+ #
+ # text
+ #
+ elsif ($#Fld == 1 && $Fld[1] eq 'text')
+ {
+ my $text;
+ $flag = 0;
+ print("[");
+ foreach $text (split('\n', $t->{$p}))
+ {
+ print ", " if ($flag);
+ $_ = $text;
+ s/^ //;
+ s/"/\\"/g;
+ s/\\ref:([A-Z0-9]+)/", ref('$1'), "/g;
+ print "\n \"$_\"" if ($_ ne '.');
+ print "\n nl" if ($_ eq '.');
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # table.* - subcodes
+ #
+ #elsif ($#Fld == 2 && $Fld[1] eq 'table' && $Fld[2] eq 'XPS')
+ elsif ($#Fld >= 1 && $Fld[1] eq 'table')
+ {
+ my $text;
+ $flag = 0;
+ print("[");
+ foreach $text (split('\n', $t->{$p}))
+ {
+ print ",\n " if ($flag);
+ $_ = $text;
+ s/^ //;
+ my $flag2 = 0;
+ my $col;
+ print("[");
+ foreach $col (split('\|', $_))
+ {
+ print ", " if ($flag2);
+ $_ = $col;
+ s/'/\\'/g;
+ print "\'$_\'";
+ $flag2 = 1;
+ }
+ print("]");
+ $flag = 1;
+ }
+ print("]");
+ }
+ #
+ # other (text, tables)
+ #
+ else
+ {
+ print("other");
+ }
+ print(").\n");
+ }
+}
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# MAIN ------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+my $t = parse();
+my $p;
+my $table = 0;
+
+clausify($t);
diff --git a/konsole/doc/VT100/genTC.pl b/konsole/doc/VT100/genTC.pl
new file mode 100755
index 000000000..a3a7c5669
--- /dev/null
+++ b/konsole/doc/VT100/genTC.pl
@@ -0,0 +1,434 @@
+#!/usr/bin/perl -w
+use strict;
+
+my $source = "Table.Codes";
+
+my $html = 1;
+my $test = 0;
+
+# Syntax -----------------------------------------------------------------------
+#
+# Dotted.Name Text
+# Dotted.Name
+# Text
+# Lines
+#
+# The dotted names have to be unique. Conceptually, they form a tree.
+#
+
+# Data Model ------------------------------------------------------------------
+
+# This is currently pretty wierd.
+#
+# Empirically, we have
+#
+# NAME.head <Title Line>
+# NAME.attr { lots ... }
+# NAME.dflt Value ...
+# NAME.code <Typ>|<Ide>|<Parm>
+# NAME.text
+# <text with some special tricks>
+# NAME.table.TAB
+# <"|"-separated head line>
+# <"|"-separated data rows>
+#
+# Section.html
+# <html-text>
+#
+# TABs
+# - .XPS, used for instructions with subcodes
+# Subcode|Emulation|Scope|Operation|Parameter|Meaning
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# Analyze Source --------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+my $all = {};
+
+my $state = 0;
+my $name = '';
+my $value = '';
+
+sub parse
+{
+ sub chkstate
+ { my ($expect,$lineno,$line) = @_;
+ if ($state != $expect)
+ {
+ print STDERR "$source($lineno): line unexpected in state $state. : $line\n";
+ }
+ }
+
+ sub reduce
+ {
+ $all->{$name} = $value;
+ $state = 0;
+ $value = '';
+ }
+
+ open(CODES, $source) || die "cannot open file '" . $source . "'.";
+ while (<CODES>)
+ {
+ chop; # strip record separator
+ my @Fld = split(' ', $_);
+
+ if ($#Fld == -1)
+ {
+ reduce() if $state != 0;
+ }
+ elsif (substr($_, 0, 1) eq '#')
+ {
+ ; #ignore
+ }
+ elsif (substr($_, 0, 1) eq ' ')
+ { &chkstate(1,$.,$_);
+ $value .= ($value eq "" ? "" : "\n") . $_; #FIXME: unchop
+ }
+ else
+ {
+ reduce() if $state != 0;
+ $name = $Fld[0];
+ if ($#Fld == 0)
+ {
+ $state = 1;
+ }
+ else
+ {
+ $value = join ' ', @Fld[1..$#Fld];
+ reduce();
+ }
+ }
+ }
+ reduce() if ($state == 1);
+ chkstate(0,$.,$_);
+
+ return $all;
+}
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# Html Layout -----------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+sub head
+{
+ if ($html)
+ {
+ print "<table>\n";
+ print "<tr><td width=10%%><td><td><td><td><td><td width=40%%>\n";
+ }
+}
+
+sub tail
+{
+ if ($html)
+ {
+ print "</table>\n";
+ }
+}
+
+my $color1 = " bgcolor=\"#D0D0D0\""; # table head // section head
+my $color2 = " bgcolor=\"#5BA5B2\""; # table body (even)
+my $color3 = " bgcolor=\"#5188B2\""; # table body (odd)
+my $color4 = ""; # code, default
+my $color5 = ""; # text
+
+sub txt2Html
+{
+ my ($Doku) = @_;
+ $_ = $Doku;
+ s/</&lt;/g;
+ s/>/&gt;/g;
+ s/\\ref:([A-Z0-9]+)/<a href=#$1>$1<\/a>/g;
+ s/\n \.\n/\n <p>\n/g;
+ return $_;
+}
+
+sub layout
+{ my ($Name, $Head, $Code, $Doku, $Dflt, $Attr) = @_;
+ if ($html)
+ {
+
+ print "<tr><td><p></td></tr>\n";
+
+ print "<tr><td $color1><a name=$Name>$Name</a>\n";
+ if ($Attr eq '')
+ {
+ print " <td $color1 colspan=6><b>$Head</b>\n";
+ }
+ else
+ {
+ print " <td colspan=5 $color1><b>$Head</b>\n";
+ print " <td $color1>$Attr\n";
+ }
+
+ if ($Code ne '')
+ {
+ my @Part = split('\|',$Code);
+ my $Type = $Part[0];
+ my $Indi = $#Part > 0 ? $Part[1] : "";
+ my $Parm = $#Part > 1 ? $Part[2] : "";
+ $Code = $Parm if $Type eq 'PRN';
+ $Code = $Indi if $Type eq 'CTL';
+ $Code = "ESC $Indi" if $Type eq 'ESC';
+ $Code = "0x7f" if $Type eq 'DEL';
+ $Code = "ESC # $Indi" if $Type eq 'HSH';
+ $Code = "ESC $Parm" if $Type eq 'SCS';
+ $Code = "ESC Y $Parm" if $Type eq 'VT5';
+ $Code = "ESC [ $Parm $Indi" if $Type eq 'CSI';
+ $Code = "ESC [ ? $Parm $Indi" if $Type eq 'PRI';
+ print "<tr><td><p></td>\n";
+ print "<tr><td>\n";
+ print " <td colspan=5 $color4>", codeToHtml($Code), "\n";
+ print " <td $color4>Default: $Dflt\n" if ($Dflt ne '');
+ }
+
+ print "<tr><td><p></td>\n";
+ print "<tr><td></td>\n";
+# $_ = $Doku;
+# s/</&lt;/g;
+# s/>/&gt;/g;
+# s/\\ref:([A-Z0-9]+)/<a href=#$1>$1<\/a>/g;
+# s/\n \.\n/\n <p>\n/g;
+ print " <td $color5 colspan=6>";
+ print txt2Html($Doku);
+ print "\n";
+ }
+ if ($test)
+ {
+ print "NAME: $Name\n";
+ print "TEXT: $Head\n";
+ print "CODE: $Code\n";
+ print "ATTR: $Attr\n";
+ print "DFLT: $Dflt\n";
+ # print "DOCU: $Doku\n";
+ }
+}
+
+sub codeToHtml
+{ my ($code) = @_;
+ my $res = '<code>';
+ foreach (split(' ', $code))
+ {
+ /^\{(.*)\}$/ && do { $res .= " <em>$1</em>"; next; };
+ /^<$/ && do { $res .= ' <b>&lt;</b>'; next; };
+ /^>$/ && do { $res .= ' <b>&gt;</b>'; next; };
+ $res .= " <b>$_</b>";
+ }
+ return $res . '</code>';
+}
+
+# -----------------------------------------------------------------------------
+
+sub secthead
+{ my ($Title) = @_;
+print "<h2>\n";
+print "<table width=100%>\n";
+print "<tr><td align=center bgcolor=#d0d0d0></td></tr>\n";
+print "<tr><td align=center bgcolor=#d0d0d0>$Title</td></tr>\n";
+print "<tr><td align=center bgcolor=#d0d0d0></td></tr>\n";
+print "</table>\n";
+print "</h2>\n";
+}
+
+sub layout2
+{ my ($Name, $Head, $Code) = @_;
+ my @Part = split('\|',$Code);
+ my $Type = $#Part > -1 ? $Part[0] : "";
+ my $Indi = $#Part > 0 ? $Part[1] : "";
+ my $Parm = $#Part > 1 ? $Part[2] : "";
+ if ($Type eq 'CTL')
+ {
+ $_ = $Indi;
+ s/0x00/@/; s/0x01/A/; s/0x02/B/; s/0x03/C/;
+ s/0x04/D/; s/0x05/E/; s/0x06/F/; s/0x07/G/;
+ s/0x08/H/; s/0x09/I/; s/0x0a/J/; s/0x0b/K/;
+ s/0x0c/L/; s/0x0d/M/; s/0x0e/N/; s/0x0f/O/;
+ s/0x10/P/; s/0x11/Q/; s/0x12/R/; s/0x13/S/;
+ s/0x14/T/; s/0x15/U/; s/0x16/V/; s/0x17/W/;
+ s/0x18/X/; s/0x19/Y/; s/0x1a/Z/; s/0x1b/[/;
+ s/0x1c/\\/; s/0x1d/]/; s/0x1e/^/; s/0x1f/_/;
+ $Indi = $_;
+ }
+ print "<tr>\n";
+ print "<td $color1><a href=#$Name>$Name</a>\n";
+ print "<td $color1>$Type\n";
+ print "<td $color1>$Indi\n";
+ print "<td $color1>$Parm\n";
+ print "<td $color1>$Head\n";
+}
+
+sub layoutTable
+{
+ my ($Head, $t, $Include) = @_;
+ my $p;
+print "<tr><td colspan=5><h3>$Head</h3>\n";
+foreach $p (sort keys %$t)
+{
+ my @Fld = split('\.', $p);
+ if ($#Fld == 1 && $Fld[1] eq 'head')
+ {
+ my $name = $Fld[0];
+ my $head = $t->{$p};
+ my $attr = exists $t->{"$name.sect"}?$t->{"$name.sect"}:"";
+ if ($attr =~ /$Include/)
+ {
+ layout2( $name, $head, exists $t->{"$name.code"}?$t->{"$name.code"}:"");
+ }
+ }
+}
+}
+
+sub sortTest
+{
+ my ($t) = @_;
+ my $p;
+ my $s = {};
+ my $n = {};
+ my $curr = "";
+ foreach $p (keys %$t)
+ {
+ my @Fld = split('\.', $p);
+ if ($#Fld == 1 && $Fld[1] eq 'head')
+ {
+ my $name = $Fld[0];
+ if (exists $t->{"$name.code"})
+ {
+ $s->{$t->{"$name.code"}} = $name;
+ }
+ }
+ }
+ print "<table>\n";
+ foreach $p (sort keys %$s)
+ {
+ my $name = $s->{$p};
+ my @Fld = split('\|', $p);
+ if ($Fld[0] ne $curr)
+ {
+ print "<tr><td colspan=5><h3>$Fld[0] codes</h3>\n";
+ }
+ $curr = $Fld[0];
+ layout2($name,$t->{"$name.head"},$p);
+ }
+ print "</table>\n";
+}
+
+sub htmlsect
+{
+ my ($h) = @_;
+ $_ = $all->{"$h.html"};
+ s/\n \.\n/\n <p>\n/g;
+ print "$_\n";
+}
+
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# MAIN ------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+# -----------------------------------------------------------------------------
+
+my $t = parse();
+my $p;
+my $table = 0;
+
+# -------------------------------
+htmlsect("Introduction");
+# -------------------------------
+secthead("Control Sequences");
+htmlsect("Sequences");
+# -------------------------------
+secthead("Host to Terminal (Instructions by Code)");
+sortTest($t);
+# -------------------------------
+secthead("Host to Terminal (Instructions by Group)");
+htmlsect("Operations");
+print "<table>\n";
+layoutTable("Commands (Character Display Operation)",$t,"Command\.Display");
+layoutTable("Commands (Rendition related status)",$t,"Command\.RenderMode");
+layoutTable("Commands (Cursor)",$t,"Command\.Cursor");
+layoutTable("Commands (Cursor related status)",$t,"Command\.CursMode");
+layoutTable("Commands (Edit)",$t,"Command\.Erase|Command\.Insert|Command.\Delete");
+layoutTable("Commands (Miscellaneous)",$t,"Command[^.]|Command\$");
+layoutTable("Commands (General mode setting)",$t,"Command\.SetMode");
+layoutTable("Commands (Miscellaneous status)",$t,"Command\.Mode");
+layoutTable("Commands (VT52)",$t,"Command\.VT52");
+layoutTable("Commands (Not implemented)",$t,"Command\.NoImp");
+layoutTable("Commands (Ignored)",$t,"Command\.Ignored");
+layoutTable("Commands (Requests)",$t,"Command\.Request");
+print "</table>\n";
+# -------------------------------
+secthead("Terminal to Host");
+print "<table>\n";
+layoutTable("Replies",$t,"Reply");
+layoutTable("Events",$t,"Event");
+# -------------------------------
+print "</table>\n";
+secthead("Modes");
+print "<table>\n";
+layoutTable("Modes",$t,"Mode");
+#print "<h3>Other Codes</h3>\n";
+print "</table>\n";
+# -------------------------------
+secthead("Appendix A - Notion Details");
+htmlsect("ConceptDB");
+# -------------------------------
+
+head();
+foreach $p (sort keys %$t)
+{
+ my @Fld = split('\.', $p);
+ if ($#Fld == 1 && $Fld[1] eq 'head')
+ {
+# print "</table>\n" if ($table);
+ my $name = $Fld[0];
+ my $head = $t->{$p};
+ layout( $name, $head,
+ exists $t->{"$name.code"}?$t->{"$name.code"}:"",
+ exists $t->{"$name.text"}?$t->{"$name.text"}:"",
+ exists $t->{"$name.dflt"}?$t->{"$name.dflt"}:"",
+ exists $t->{"$name.emus"}?$t->{"$name.emus"}:"" );
+ $table = 0;
+ }
+ if ($html && $#Fld == 2 && $Fld[1] eq 'table')
+ {
+ my $lines = $t->{$p};
+ my $line;
+ my $field;
+ my @fldspan = ();
+ my $ln = 0;
+ print "<tr><td><p></td></tr>\n";
+# print "<tr><td $color1>$Fld[2]</td><td $color1>Meaning</td></tr>\n";
+ foreach $line (split('\n', $lines))
+ {
+ my $fn = 0;
+ @fldspan = split('\|',$line) if ($ln == 0);
+ print "<tr>\n";
+ print "<td></td>\n";
+ foreach $field (split('\|',$line))
+ {
+ if ($ln == 0)
+ {
+ my @Parts = split(":",$field);
+ $field = $Parts[0];
+ $fldspan[$fn] = ($#Parts > 0) ? $Parts[1] : 1;
+ }
+ print "<td";
+ printf(" colspan=%s",$fldspan[$fn]);
+ print " $color1" if ($ln == 0);
+ print " $color2" if ($ln > 0 && $ln % 2 == 0);
+ print " $color3" if ($ln > 0 && $ln % 2 == 1);
+ print ">";
+ print txt2Html($field);
+ print "</td>";
+ $fn += 1;
+ }
+ print "</tr>\n";
+ $ln += 1;
+ }
+ $table = 1;
+ }
+}
+tail();
diff --git a/konsole/doc/VT100/konsole1.gif b/konsole/doc/VT100/konsole1.gif
new file mode 100644
index 000000000..832c2dc65
--- /dev/null
+++ b/konsole/doc/VT100/konsole1.gif
Binary files differ
diff --git a/konsole/doc/VT100/konsole2.gif b/konsole/doc/VT100/konsole2.gif
new file mode 100644
index 000000000..eb2cdb4d0
--- /dev/null
+++ b/konsole/doc/VT100/konsole2.gif
Binary files differ
diff --git a/konsole/doc/VT100/t.pl b/konsole/doc/VT100/t.pl
new file mode 100755
index 000000000..b0d9dc8e5
--- /dev/null
+++ b/konsole/doc/VT100/t.pl
@@ -0,0 +1,17 @@
+#!/usr/bin/perl
+
+# This script is here only as a pattern for maintainance works.
+# It has changing contents and is of no use to anyone but me.
+
+$source = "Table.Codes";
+
+open(CODES, $source) || die "cannot open file '" . $source . "'.";
+
+while (<CODES>)
+{
+ if (/^attr/)
+ {
+ s/VT100/VT100 ANSI/ if (!/DEC/);
+ }
+ print $_;
+}
diff --git a/konsole/doc/VT100/techref.html b/konsole/doc/VT100/techref.html
new file mode 100644
index 000000000..6e36f39e5
--- /dev/null
+++ b/konsole/doc/VT100/techref.html
@@ -0,0 +1,4681 @@
+<html>
+<head>
+<title>VT100</title>
+<!-- NOTE: this page is generated using the "genDocument" script -->
+</head>
+<body bgcolor=white>
+
+<hr>
+
+
+<h1><center>VT100</center></h1>
+<center><img src="vt100.gif"></center>
+
+<it>Please note that this text is under construction.</it>
+
+<h2>Preface</h2>
+
+This document accompanies the Konsole program, which is a terminal emulation
+for the X Windows System. Since material about the extend and precise semantics
+of the emulatation intended to be handled by this programs is hard to find on the
+internet today, it came out nessesary to include a more precise specification within
+their release.
+Hopefully, this helps to clearify the relation to the VT100, VT102, Linux, XTerm
+and ansi.sys (ANSI-BBS) terminals, which are the target of these programs. Further,
+it specifies which codes are interpreted by them, and what has been omitted.
+<p>
+To begin with, all of the above call themselfes "ANSI" emulations, which makes this
+notion pretty vage. "ANSI" referes here to the American National Standards
+Institute's documents X3.41-1974 and X3.64-1977. DEC partially implemented this
+standart in their VT100 terminal, with some additions. The VT102 is a later extension
+of that. Both the Linux console and the XTerm emulation implement most of VT102,
+with some additions. MS stepped in later and produced another ANSI emulation,
+<code>ansi.sys</code>, for their OS, which became of some relevance in BBS style
+telecommunication programs. One can view this as a small subset of the VT100
+emulation, with some additions, of cause.
+This situation is further confused by the fact, that often many versions of the
+above terminals and emulations are out, one able to do a little more or less then
+the other.
+<p>
+<hr>
+<p>
+I'm working towards a
+close integration of the konsole's source code with this document, but it
+is still a long way to go.
+<p>
+Currently, the body of this document is mainly a concept data base, that
+referes to the VT100 component of the emulation. Though the codes accepted by
+konsole are now clearly indicated, a comparison to the xterm and Linux console
+emulation is missing.
+<p>
+The konsole emulation sources is not linked closely with it's documentation,
+and, also accurate at the time of writing, it can still fall slightly appart,
+though the codes accepted and produced by konsole should be properly listed.
+Work is currently in progress to fix this issue.
+
+
+
+<h2>Notes &amp; todos</h2>
+<ul>
+<li>Include complete reference on keyboard material.
+<li>Check for explaination of out-of-bound values.
+<li>Include VT52, VT102, XTERM, LINUX-console codes
+<li>Make the whole document more concept oriented
+<li>See the section <em>Method of description</em>, below
+<li>Derive some summarizing lists.
+</ul>
+<hr>
+ <h2>Introduction</h2>
+ <p>
+ In a traditional UNIX installation a single machine (host) served
+ several users by means of terminals attached to this host by a serial
+ cable. These terminals (end points) where specialized devices, either
+ regular ttys (printer with keyboard) or later more sophisticated
+ things with cathode ray tubes.
+ <p>
+ <center><img src="konsole2.gif"></center>
+ <p>
+ Today, hardware has become so cheap, that each single user could
+ be provided with a complete host/display combination for the former
+ price of a terminal.
+ <p>
+ Additional, and here we come to the X in the emulation, display
+ devices have become graphical while the original terminal where
+ only able to show characters but not graphics.
+ <p>
+ To allow programs designed for the original configuration to be
+ used in the contemporary setup, "terminal emulations" where invented.
+ In these emulations, the whole original setup is simulated.
+ <p>
+ The serial cable is folded into the operating system as a sort of
+ loop back device, and a program, the terminal emulation, uses modern
+ means of graphical user interfaces to behave like an earlier terminal.
+ To complete the picture, the host in the diagram is replaced by the
+ application that runs in the emulation (typically a shell or an old
+ editor). So, terminal emulations are in fact interfaces to character
+ oriented applications.
+ <p>
+ This document describes the implementations of a program named
+ "konsole", which is such an X terminal emulation. Since konsole
+ is distributed under the GPL, meaning that it's source code is
+ available to whoever likes to hack on it, the program would be
+ incomplete without a proper introduction into the code and it's
+ concepts. Thus, this text is to complement the program and the
+ source with the remaining informations to make a complete product.
+ <p>
+ <h2>A first refinement</h2>
+ <p>
+ Before we can come to the actual implementation, quite some
+ notions have to be introduced. We have to get us an idea what
+ a terminal emulation does in more detail.
+ <p>
+ To this end, a simple model of the terminal and it's operation
+ is given, which is later extended and refined as we come deeper
+ into matter and implementation.
+ <p>
+ At some level conception, a terminal can be described as a
+ (abstract) data model. This means it has some type of state
+ together with operations on that data type. These operations
+ are somehow encoded to be passed over the serial line.
+ <p>
+ The concrete model is often loosely named the "emulation",
+ the specific encoding chosen, the "protocol".
+ <p>
+ There are two principle models in use. The first, stream like
+ one, which is related to a tty, consideres the terminal as an
+ indefinit long and wide sheet of paper on which a printer head
+ types the characters that come in over the line. Typical examples
+ are shell scripts, make and other programs producing sequential
+ protocols of their activity. Their basic data type is a list of
+ list of characters.
+ <p>
+ The second principle model is used by applications written
+ especially for crt devices, so called full screen applications.
+ These treat the terminal as a matrix of characters where each
+ position can be individually addressed and written to. Typical
+ representatives are full screen editors like vi and emacs,
+ file managers like mc and mail readers like mutt.
+ <p>
+ Though the second model is newer, it's age does not imply a
+ preference. To the contrary, both models have a right for their
+ own and are both to be supported. The first model is fully
+ expressed within konsole in form of it's ref:history buffer.
+ <p>
+ Note, that although the second model definitely build on the
+ first one in almost any respect, it cannot fully express it,
+ since it introduces a finite line length, while the first
+ model works with indefinite lines.
+ <p>
+ Since application with both view of things are typically run
+ within the same session, some effort has been made within
+ konsole to maintain both ideas simultaniously, but only with
+ limited success so far.
+ <p>
+ In both models, the notion of a current position (historically
+ a printer's head, nowadays visualized by a cursor) is present.
+ "Printing" a character at the current position and advancing
+ the head together with the starting a new line are the most
+ fundamental operations of the emulation.
+ <p>
+ The full screen model basically adds the possibility to position
+ the cursor and to overwrite and clear the screen.
+ <p>
+ A plethora of additional (more or less useful) commands are
+ then added on this by every specific emulation, see below for
+ the awful details.
+ <p>
+ <!-- BEGIN: new section about the codes -->
+ <h2>Parts of the model</h2>
+ <p>
+ <it>All the following in this section is an outline</it>.
+ <p>
+ Parts of the terminal description
+ <ul>
+ <li>State
+ <br>This is mainly the screen, the cursor (including it's graphical state)
+ and some hidden mode variables. Note that the state cannot be investigated
+ by the attached host.
+ <li>Interface
+ <br>That's what goes over the wire. Beside being related to objects, this
+ appears so closely related to contemporal process communication, that
+ it might be discussed in likely terms.
+ <br>We have information flowing in both directions. On could destinguist
+ between:
+ <li>Commands
+ <br>These are "calls" of the terminals interface by the host which cause
+ some change of the terminals state, but do not end in a response.
+ <li>Requests
+ <br>These are "calls" of the terminals interface by the host which do not cause
+ any change of the terminals state, but end in a response of the terminal.
+ Clearly, requests are somehow used to investigate the state of the terminal.
+ <li>Events
+ <br>These are signals from the terminal caused by the user affecting the
+ mouse or keyboard to the host.
+ <li>Replys
+ <br>These are send by the terminal as a result of a Request from the hosts.
+ <li>Encoding/Decoding
+ </ul>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Control Sequences</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+ Conceptually, the commands to the terminal emulation are encoded if form
+ of byte sequences to meet the restrictions of the transport media. These
+ sequences have pretty different originations and therefore the format of
+ the sequences are inhomogenous.
+ <p>
+ Refering both to their origin and form, one can group the overall encoding
+ schemes as follows:
+ <p>
+ <table>
+ <tr><td width=20% bgcolor=#d0d0d0>Name</td><td width=20% bgcolor=#d0d0d0>Pattern</td><td bgcolor=#d0d0d0>Scope</td><td bgcolor=#d0d0d0>Comment</td></tr>
+ <tr><td>Printable Ascii Characters</td><td>32..126</td><td>ASCII ECMA</td>
+ <td>This is the most original pattern of all. The characters to be
+ displayed are passed over the chanel and are interpreted by the
+ terminal (emulation) as instructions to display the corresponding
+ glyph of the ascii character set. Contempory emulations include the
+ upper half (128..255) of the extentions to the national ascii character
+ sets, also.</td></tr>
+ <tr><td>Ascii Control Characters</td><td>0..26,28..31,127</td><td>ASCII ECMA</td>
+ <td>Ascii defines some non-printable, but format effecting characters, too.
+ Depending on the emulation, at least some of them are given a meaning.
+ The typically implemented ones are those that are handled by a teletype
+ like device.</td></tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>ECMA</td>
+ <td>These sequences are made up from an <b>ESC</b> character followed by
+ exactly one other character in the range ???..???.</td></tr>
+ <tr><td>CSI Sequence</td>
+ <td><b>ESC</b> <b>[</b> <i>Parameters</i> {<i>I</i>} <i>C</i></td>
+ <td>ECMA</td>
+ <td></td></tr>
+ <tr><td colspan=4>
+ <p>
+ The remaining codes are nonstandard but traditionalized hacks.
+ <p>
+ </td></tr>
+ <tr><td>DEC hacks</td>
+ <td><b>ESC</b> <i>C</i> <i>D</i></td>
+ <td>VT100</td>
+ <td></td></tr>
+ <tr><td>XTERM hacks</td>
+ <td><b>ESC ]</b> <i>Pn</i> <b>;</b> <i>text</i> <b>BEL</b></td>
+ <td>XTERM</td>
+ <td></td>
+ <tr><td colspan=4>
+ <p>
+ VT52 uses a different (incompatible) set of escape codes. VT100 includes
+ the VT52 emulation as a mode.
+ <p>
+ </td></tr>
+ </tr>
+ <tr><td>Simple Escape Sequence</td><td><b>ESC</b> <i>C</i></td><td>VT52</td>
+ <td></td></tr>
+ <tr><td>Complex Escape Sequence</td><td><b>ESC</b> <b>Y</b> <i>X</i> <i>Y</i></td><td>VT52</td>
+ <td></td></tr>
+ <p>
+ </table>
+ <p>
+ <h3>More on Control Sequences</h3>
+ <p>
+ <h4>Control Characters</h4>
+ <p>
+ Control characters (codes 0x00 - 0x1f inclusive) are specifically excluded
+ from the control sequence syntax, but may be embedded within a control
+ sequence. Embedded control characters are executed as soon as they are
+ encountered by a VT100. The processing of the control sequence then
+ continues with the next character received. The exceptions are:
+ if the <a href=#ESC>ESC</a> character occurs, the current control sequence
+ is aborted, and a new one commences beginning with the <a href=#ESC>ESC</a>
+ just received. If the character <a href=#CAN>CAN</a> (0x0c) or the
+ character <a href=#SUB>SUB</a> (0x0e) occurs,
+ the current control sequence is aborted. The ability to embed control
+ characters allows the synchronization characters XON and XOFF to be
+ interpreted properly without affecting the control sequence.
+ <p>
+ <p>
+ <h4>CSI Sequences</h4>
+ <p>
+ <dl>
+ <dt>Control Sequence Introducer (CSI):
+ <dd>An escape sequence that provides
+ supplementary controls and is itself a prefix affecting the
+ interpretation of a limited number of contiguous characters.
+ In the VT100, the CSI is: &lt;ESC&gt;[
+ <p>
+ <dt>Parameter:
+ <dd>1. A string of zero or more decimal characters which
+ represent a single value. Leading zeros are ignored. The
+ decimal characters have a range of 0 (060) to 9 (071).
+ <br>2. The value so represented.
+ <p>
+ <dt>Numeric Parameter:
+ <dd>A parameter that represents a number, designated by Pn.
+ <p>
+ <dt>Selective Parameter:
+ <dd>A parameter that selects a subfunction from a
+ specified set of subfunctions, designated by Ps. In general, a
+ control sequence with more than one selective parameter causes
+ the same effect as several control sequences, each with one
+ selective parameter, e.g., CSI Psa; Psb; Psc F is identical to
+ CSI Psa F CSI Psb F CSI Psc F.
+ <p>
+ <dt>Parameter String:
+ <dd>A string of parameters separated by a semicolon.
+ <p>
+ <dt>Default:
+ <dd> A function-dependent value that is assumed when no explicit
+ value, or a value of 0, is specified.
+ <p>
+ <dt>Final character:
+ <dd>A character whose bit combination terminates an escape or control sequence.
+ </dl>
+ <p>
+ <em>EXAMPLE</em>: Control sequence to turn off all character attributes, then
+ turn on underscore and blink attributes (<a href=#SGR>SGR</a>).
+ <p>
+ <center><img src="konsole1.gif"></center>
+ <p>
+ The octal representation of this string is:
+ <pre>
+ 033 0133 060 073 064 073 065 0155
+ &lt;ESC&gt; [ 0 ; 4 ; 5 m
+ </pre>
+ <p>
+ Alternate sequences which will accomplish the same thing:
+ <p>
+ <ul>
+ <li><code>&lt;ESC&gt;[;4;m </code>
+ <li><code>&lt;ESC&gt;[m </code>
+ <br><code>&lt;ESC&gt;[4m </code>
+ <br><code>&lt;ESC&gt;[5m </code>
+ <li><code>&lt;ESC&gt;[0;04;005m</code>
+ </ul>
+ <p>
+ <h4>DEC hacks</h4>
+ <p>
+ These form two groups of commands.
+ <p>
+ In one first the first character is a hash (<em>#</em>) and the following a digit.
+ This command group is used to denote VT100 specific instructions and can
+ safely be sonsidered to be obsolete. See
+ <a href=#DECALN>DECALN</a>,
+ <a href=#DECDHLB>DECDHLB</a>,
+ <a href=#DECDHLT>DECDHLT</a>,
+ <a href=#DECDWL>DECDWL</a> and
+ <a href=#DECSWL>DECSWL</a>.
+ <p>
+ The second one is used to specify character set mappings (see <a
+ href=#SCS>SCS</a>). A CSI instruction to do this is specified in ECMA,
+ and this should be used as a replacement.
+ <p>
+ <h4>XTERM hacks</h4>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Host to Terminal (Instructions by Code)</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+<table>
+<tr><td colspan=5><h3>CSI codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ICH>ICH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">@
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Insert Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUU>CUU</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUD>CUD</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUF>CUF</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Foreward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUB>CUB</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Backward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CHA>CHA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Horizontal Absolute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUP>CUP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Cursor Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ED>ED</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Erase in Display
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EL>EL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Erase in Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#IL>IL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">L
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Insert Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DL>DL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Delete Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DCH>DCH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">P
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Delete Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CPR>CPR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">R
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Cursor Position Report
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ECH>ECH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">X
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Erase Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DA>DA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Device Attributes Request
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VPA>VPA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">d
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Vertical Position Absolute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HVP>HVP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">f
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Horizontal and Vertical Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#TBC>TBC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">g
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Tabulation Clear
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SM>SM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#MC>MC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">i
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Media Copy
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RM>RM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SGR>SGR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">m
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Select Graphic Rendition
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DSRREQ>DSRREQ</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Device Status Report
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DSRREP>DSRREP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">{Status}
+<td bgcolor="#D0D0D0">Device Status Report Reply
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECLL>DECLL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">q
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Load LEDs
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSTBM>DECSTBM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Set Top and Bottom Margins
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECREQTPARM>DECREQTPARM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">x
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Request Terminal Parameters
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECREPTPARM>DECREPTPARM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">x
+<td bgcolor="#D0D0D0">{sol;par;nbits;xspd;rspd;cmul;flags}
+<td bgcolor="#D0D0D0">Report Terminal Parameters
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECTST>DECTST</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">y
+<td bgcolor="#D0D0D0">{2;Ps}
+<td bgcolor="#D0D0D0">Invoke Confidence Test
+<tr><td colspan=5><h3>CTL codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NUL>NUL</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">@
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Null
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SOH>SOH</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Start Of Heading
+<tr>
+<td bgcolor="#D0D0D0"><a href=#STX>STX</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Start Of Text
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ETX>ETX</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Text
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EOT>EOT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Transmission
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ENQ>ENQ</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">E
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Enquiry
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ACK>ACK</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">F
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Acknowledge
+<tr>
+<td bgcolor="#D0D0D0"><a href=#BEL>BEL</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Bell
+<tr>
+<td bgcolor="#D0D0D0"><a href=#BS>BS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Back Space
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HT>HT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">I
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tabulation
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LF>LF</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Line Feed
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT>VT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Vertical Tabulation
+<tr>
+<td bgcolor="#D0D0D0"><a href=#FF>FF</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">L
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Form Feed
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CR>CR</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Carriage Return
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS0>LS0</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">N
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Zero (Shift Out - SO)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS1>LS1</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">O
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift One (Shift In - SI)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DLE>DLE</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">P
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Data Link Escape
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC1>DC1</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Q
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control One
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC2>DC2</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">R
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC3>DC3</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">S
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Three
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC4>DC4</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">T
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Four
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NAK>NAK</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">U
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Negative Acknowledge
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SYN>SYN</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">V
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Synchronous Idle
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ETB>ETB</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">W
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Transmission Block
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CAN>CAN</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">X
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Cancel
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EM>EM</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Y
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Medium
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SUB>SUB</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Substitute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ESC>ESC</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">[
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Escape
+<tr>
+<td bgcolor="#D0D0D0"><a href=#FS>FS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">\
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">File Separator (IS4 - Information Separator Four)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#GS>GS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">]
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Group Separator (IS3 - Information Separator Three)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RS>RS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">^
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Record Separator (IS2 - Information Separator Two)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#US>US</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">_
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Unit Separator (IS1 - Information Separator One)
+<tr><td colspan=5><h3>DEL codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DEL>DEL</a>
+<td bgcolor="#D0D0D0">DEL
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Delete Character
+<tr><td colspan=5><h3>ESC codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSC>DECSC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">7
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Save Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRC>DECRC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Restore Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52ANSI>VT52ANSI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0"><
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 ANSI Ansi Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52KPAM>VT52KPAM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">=
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Enter alternate keypad mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52KPNM>VT52KPNM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Exit alternate keypad mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUU>VT52CUU</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUD>VT52CUD</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUF>VT52CUF</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Forward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUB>VT52CUB</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Back
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NEL>NEL</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">E
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Next Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52SCSF>VT52SCSF</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">F
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Select special graphics character set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52SCSG>VT52SCSG</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Select ASCII character set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HTS>HTS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tab Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52RI>VT52RI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">I
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Reverse Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52EDS>VT52EDS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Clear To End Of Screen
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52EDL>VT52EDL</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Clear To End Of Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RI>RI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reverse Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECID>DECID</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Identify Terminal
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RIS>RIS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reset to Initial State
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS2>LS2</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS3>LS3</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">o
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Three
+<tr><td colspan=5><h3>HSH codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDHLT>DECDHLT</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">3
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Height Line (Top)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDHLB>DECDHLB</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">4
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Height Line (Bottom)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSWL>DECSWL</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">5
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Single-width Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDWL>DECDWL</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">6
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Width Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECALN>DECALN</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Screen Alignment Display
+<tr><td colspan=5><h3>PRI codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDA>DECDA</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">{1;Pn}
+<td bgcolor="#D0D0D0">Device Attributes Reply
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSET>DECSET</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRST>DECRST</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTERESTORE>XTERESTORE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Restore Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTESAVE>XTESAVE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">s
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Save Mode
+<tr><td colspan=5><h3>PRN codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#PRINT>PRINT</a>
+<td bgcolor="#D0D0D0">PRN
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{0x20..0x7e,0xa0..0xff}
+<td bgcolor="#D0D0D0">Printable Characters
+<tr><td colspan=5><h3>SCS codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SCS>SCS</a>
+<td bgcolor="#D0D0D0">SCS
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{Pc;Cs}
+<td bgcolor="#D0D0D0">Select Character Set
+<tr><td colspan=5><h3>VT5 codes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUP>VT52CUP</a>
+<td bgcolor="#D0D0D0">VT5
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{X;Y}
+<td bgcolor="#D0D0D0">VT52 Cursor Position
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Host to Terminal (Instructions by Group)</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+ <p>
+ <ul>
+ <li>Host to Terminal (Commands,Requests)
+ <ul>
+ <li>Commands
+ <ul>
+ <li>Character Display Operation
+ <li>Rendition related status
+ <li>Cursor
+ <li>Cursor related status
+ <li>Edit
+ <li>Miscellaneous
+ <li>General mode setting
+ <li>Miscellaneous status
+ <li>VT52
+ <li>Not implemented
+ <li>Ignored
+ </ul>
+ <li>Requests
+ </ul>
+ <li>Terminal to Host (Replies, Events)
+ <ul>
+ <li>Replies
+ <li>Events
+ </ul>
+ <li>Modes
+ <ul>
+ <li>Modes
+ </ul>
+ </ul>
+<table>
+<tr><td colspan=5><h3>Commands (Character Display Operation)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#PRINT>PRINT</a>
+<td bgcolor="#D0D0D0">PRN
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{0x20..0x7e,0xa0..0xff}
+<td bgcolor="#D0D0D0">Printable Characters
+<tr><td colspan=5><h3>Commands (Rendition related status)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS0>LS0</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">N
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Zero (Shift Out - SO)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS1>LS1</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">O
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift One (Shift In - SI)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS2>LS2</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS3>LS3</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">o
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Three
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SCS>SCS</a>
+<td bgcolor="#D0D0D0">SCS
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{Pc;Cs}
+<td bgcolor="#D0D0D0">Select Character Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SGR>SGR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">m
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Select Graphic Rendition
+<tr><td colspan=5><h3>Commands (Cursor)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#BS>BS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Back Space
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CHA>CHA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Horizontal Absolute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CR>CR</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Carriage Return
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUB>CUB</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Backward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUD>CUD</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUF>CUF</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Foreward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUP>CUP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Cursor Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUU>CUU</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#FF>FF</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">L
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Form Feed
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HT>HT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">I
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tabulation
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HVP>HVP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">f
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Horizontal and Vertical Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#IND>IND</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LF>LF</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Line Feed
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NEL>NEL</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">E
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Next Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RI>RI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reverse Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VPA>VPA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">d
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Vertical Position Absolute
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT>VT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Vertical Tabulation
+<tr><td colspan=5><h3>Commands (Cursor related status)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRC>DECRC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Restore Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSC>DECSC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">7
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Save Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSTBM>DECSTBM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Set Top and Bottom Margins
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HTS>HTS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tab Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#TBC>TBC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">g
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Tabulation Clear
+<tr><td colspan=5><h3>Commands (Edit)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DCH>DCH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">P
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Delete Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DL>DL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">M
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Delete Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ECH>ECH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">X
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Erase Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ED>ED</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Erase in Display
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EL>EL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Erase in Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ICH>ICH</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">@
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Insert Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#IL>IL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">L
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Insert Line
+<tr><td colspan=5><h3>Commands (Miscellaneous)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#BEL>BEL</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Bell
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CAN>CAN</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">X
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Cancel
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECALN>DECALN</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Screen Alignment Display
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECTST>DECTST</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">y
+<td bgcolor="#D0D0D0">{2;Ps}
+<td bgcolor="#D0D0D0">Invoke Confidence Test
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SUB>SUB</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Substitute
+<tr><td colspan=5><h3>Commands (General mode setting)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRST>DECRST</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSET>DECSET</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RM>RM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SM>SM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTERESTORE>XTERESTORE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Restore Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTESAVE>XTESAVE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">s
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Save Mode
+<tr><td colspan=5><h3>Commands (Miscellaneous status)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECKPAM>DECKPAM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">=
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keypad Application Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECKPNM>DECKPNM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keypad Numeric Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RIS>RIS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reset to Initial State
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52ANSI>VT52ANSI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0"><
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 ANSI Ansi Mode
+<tr><td colspan=5><h3>Commands (VT52)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUB>VT52CUB</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Back
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUD>VT52CUD</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUF>VT52CUF</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Forward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUH>VT52CUH</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Home
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUP>VT52CUP</a>
+<td bgcolor="#D0D0D0">VT5
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{X;Y}
+<td bgcolor="#D0D0D0">VT52 Cursor Position
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52CUU>VT52CUU</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52EDL>VT52EDL</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">K
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Clear To End Of Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52EDS>VT52EDS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">J
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Clear To End Of Screen
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52KPAM>VT52KPAM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">=
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Enter alternate keypad mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52KPNM>VT52KPNM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Exit alternate keypad mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52REP>VT52REP</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Report Terminal Type
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52RI>VT52RI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">I
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Reverse Index
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52SCSF>VT52SCSF</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">F
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Select special graphics character set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52SCSG>VT52SCSG</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">G
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 Select ASCII character set
+<tr><td colspan=5><h3>Commands (Not implemented)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDHLB>DECDHLB</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">4
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Height Line (Bottom)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDHLT>DECDHLT</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">3
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Height Line (Top)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDWL>DECDWL</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">6
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Double Width Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECLL>DECLL</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">q
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Load LEDs
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSWL>DECSWL</a>
+<td bgcolor="#D0D0D0">HSH
+<td bgcolor="#D0D0D0">5
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Single-width Line
+<tr>
+<td bgcolor="#D0D0D0"><a href=#MC>MC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">i
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Media Copy
+<tr><td colspan=5><h3>Commands (Ignored)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ACK>ACK</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">F
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Acknowledge
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC2>DC2</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">R
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC3>DC3</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">S
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Three
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DC4>DC4</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">T
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Device Control Four
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DEL>DEL</a>
+<td bgcolor="#D0D0D0">DEL
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Delete Character
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DLE>DLE</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">P
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Data Link Escape
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EM>EM</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">Y
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Medium
+<tr>
+<td bgcolor="#D0D0D0"><a href=#EOT>EOT</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Transmission
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ETB>ETB</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">W
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Transmission Block
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ETX>ETX</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">End Of Text
+<tr>
+<td bgcolor="#D0D0D0"><a href=#FS>FS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">\
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">File Separator (IS4 - Information Separator Four)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#GS>GS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">]
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Group Separator (IS3 - Information Separator Three)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NAK>NAK</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">U
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Negative Acknowledge
+<tr>
+<td bgcolor="#D0D0D0"><a href=#NUL>NUL</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">@
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Null
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RS>RS</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">^
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Record Separator (IS2 - Information Separator Two)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SOH>SOH</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Start Of Heading
+<tr>
+<td bgcolor="#D0D0D0"><a href=#STX>STX</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Start Of Text
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SYN>SYN</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">V
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Synchronous Idle
+<tr>
+<td bgcolor="#D0D0D0"><a href=#US>US</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">_
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Unit Separator (IS1 - Information Separator One)
+<tr><td colspan=5><h3>Commands (Requests)</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DA>DA</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Device Attributes Request
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECID>DECID</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">Z
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Identify Terminal
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECREQTPARM>DECREQTPARM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">x
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Request Terminal Parameters
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DSRREQ>DSRREQ</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Device Status Report
+<tr>
+<td bgcolor="#D0D0D0"><a href=#ENQ>ENQ</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">E
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Enquiry
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Terminal to Host</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+<table>
+<tr><td colspan=5><h3>Replies</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CPR>CPR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">R
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Cursor Position Report
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECDA>DECDA</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">{1;Pn}
+<td bgcolor="#D0D0D0">Device Attributes Reply
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECREPTPARM>DECREPTPARM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">x
+<td bgcolor="#D0D0D0">{sol;par;nbits;xspd;rspd;cmul;flags}
+<td bgcolor="#D0D0D0">Report Terminal Parameters
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DSRREP>DSRREP</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">{Status}
+<td bgcolor="#D0D0D0">Device Status Report Reply
+<tr><td colspan=5><h3>Events</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUB>CUB</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">D
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Backward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUD>CUD</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">B
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Down
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUF>CUF</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">C
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Foreward
+<tr>
+<td bgcolor="#D0D0D0"><a href=#CUU>CUU</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">A
+<td bgcolor="#D0D0D0">{Pn}
+<td bgcolor="#D0D0D0">Cursor Up
+<tr>
+<td bgcolor="#D0D0D0"><a href=#KEYBOARD>KEYBOARD</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keyboard Events
+<tr>
+<td bgcolor="#D0D0D0"><a href=#MOUSE>MOUSE</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Mouse Events
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Modes</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+<table>
+<tr><td colspan=5><h3>Modes</h3>
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECANM>DECANM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">ANSI/VT52 Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECARM>DECARM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Auto Repeat Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECAWM>DECAWM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Autowrap Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECCKM>DECCKM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Cursor Keys Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECCOLM>DECCOLM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Column Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECINLM>DECINLM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Interlace Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECKPAM>DECKPAM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">=
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keypad Application Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECKPNM>DECKPNM</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Keypad Numeric Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECOM>DECOM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Origin Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRC>DECRC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">8
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Restore Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECRST>DECRST</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSC>DECSC</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">7
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Save Cursor
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSCLM>DECSCLM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Scrolling Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSCNM>DECSCNM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Screen Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSET>DECSET</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">DEC Private Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#DECSTBM>DECSTBM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Pn;Pn}
+<td bgcolor="#D0D0D0">Set Top and Bottom Margins
+<tr>
+<td bgcolor="#D0D0D0"><a href=#HTS>HTS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">H
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Horizontal Tab Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LNM>LNM</a>
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Line Feed/New Line Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS0>LS0</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">N
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Zero (Shift Out - SO)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS1>LS1</a>
+<td bgcolor="#D0D0D0">CTL
+<td bgcolor="#D0D0D0">O
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift One (Shift In - SI)
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS2>LS2</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">n
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Two
+<tr>
+<td bgcolor="#D0D0D0"><a href=#LS3>LS3</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">o
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Lock Shift Three
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RIS>RIS</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0">c
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">Reset to Initial State
+<tr>
+<td bgcolor="#D0D0D0"><a href=#RM>RM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">l
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Reset Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SCS>SCS</a>
+<td bgcolor="#D0D0D0">SCS
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">{Pc;Cs}
+<td bgcolor="#D0D0D0">Select Character Set
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SGR>SGR</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">m
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Select Graphic Rendition
+<tr>
+<td bgcolor="#D0D0D0"><a href=#SM>SM</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">h
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">Set Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#TBC>TBC</a>
+<td bgcolor="#D0D0D0">CSI
+<td bgcolor="#D0D0D0">g
+<td bgcolor="#D0D0D0">{Ps}
+<td bgcolor="#D0D0D0">Tabulation Clear
+<tr>
+<td bgcolor="#D0D0D0"><a href=#VT52ANSI>VT52ANSI</a>
+<td bgcolor="#D0D0D0">ESC
+<td bgcolor="#D0D0D0"><
+<td bgcolor="#D0D0D0">
+<td bgcolor="#D0D0D0">VT52 ANSI Ansi Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTERESTORE>XTERESTORE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">r
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Restore Mode
+<tr>
+<td bgcolor="#D0D0D0"><a href=#XTESAVE>XTESAVE</a>
+<td bgcolor="#D0D0D0">PRI
+<td bgcolor="#D0D0D0">s
+<td bgcolor="#D0D0D0">{Ps;...}
+<td bgcolor="#D0D0D0">XTerm Private Save Mode
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Appendix A - Notion Details</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+ <i>The following text is a collection of several sorts of definitions and
+ explainations. It is incomplete in many respects and a working draft.
+ </i>
+ .
+ <p>
+ All of the following control sequences are transmitted from the Host to
+ VT100 unless otherwise noted. All of the control sequences are a subset of
+ those defined in ANSI X 3.64 1977 and ANSI X 3.41 1974.
+ <p>
+ The following text conforms to these formatting conventions:
+ <ul>
+ <li>Individual character literals are set in bold face. Ascii representation
+ is used throughout, so <b>ESC</b> means the binary value of 27 and
+ <b>[</b> a value of 91.
+ <p>
+ <li>Parameters are indicated by italic type faces.
+ <li>Parameter types usually are indicated as one of:
+ <table>
+ <tr><td><i>Pn </i></td><td>A string of digits representing a numerical value.</td></tr>
+ <tr><td><i>Ps </i></td><td>A character that selects an item from a list.</td></tr>
+ <tr><td><i>a-z</i></td><td>Any lowercase sequence of one or more
+ characters represent a value to be
+ entered (as in <i>Pn</i>), and the name in the
+ will be referred to in explanatory text.</td></tr>
+ </table>
+ <p>
+ <li>Spaces are used only to improve readability, they do not occure in the
+ control sequences unless otherwise indicated.
+ <p>
+ </ul>
+ <p>
+ <p>
+ The following attributes below have the following meaning:
+ <ul>
+ <li>VT100 - This code is known to VT100.
+ <li>ANSI - This code is defined by ANSI.
+ <li>DEC - This code is DEC private.
+ <li>Command - Sent from host to the terminal. <b>FIXME:</b>add Inquiery.
+ <li>Reply - Sent from terminal to the host (as response to an Inquiery).
+ <li>Event - Sent from terminal to the host (caused by a user activity).
+ <li>Mode - The entry is a mode.
+ </ul>
+<table>
+<tr><td width=10%%><td><td><td><td><td><td width=40%%>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ACK>ACK</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Acknowledge</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x06</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=BEL>BEL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Bell</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x07</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Sound bell
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">gui</td><td colspan=1 bgcolor="#5188B2">Bell</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=BS>BS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Back Space</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x08</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Move cursor to the left one position, unless it is at the left
+ margin, in which case no action is taken.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">BackSpace</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CAN>CAN</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cancel</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x18</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> If sent during a control sequence, the sequence id immediately
+ terminated and not executed. It also causes the error character
+ (checkerboard) to be displayed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">ShowCharacter</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CHA>CHA</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Horizontal Absolute</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>G</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorX</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CPR>CPR</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Position Report</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>R</b></code>
+ <td >Default: 1 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The CPR sequence reports the active position by means of the
+ parameters. This sequence has two parameter values, the first
+ specifying the line and the second specifying the column. The default
+ condition with no parameters present, or parameters of 0, is equivalent
+ to a cursor at home position.
+ <p>
+ The numbering of the lines depends upon the state of the Origin Mode
+ (<a href=#DECOM>DECOM</a>).
+ <p>
+ This control sequence is sent in reply to a device status report
+ (<a href=#DSRREQ>DSRREQ</a>) command sent from the host.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CR>CR</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Carriage Return</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0d</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Move the cursor to the left margin of the current line.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">Return</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUB>CUB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Backward</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>D</b></code>
+ <td >Default: 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor to the left. The distance moved is
+ determined by the parameter. If the parameter missing, zero, or one,
+ the cursor is moved one position. The cursor cannot be moved past the
+ left margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorLeft</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUD>CUD</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Down</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>B</b></code>
+ <td >Default: 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor down a number of lines as specified in the parameter
+ without changing columns. The cursor cannot be moved past the bottom
+ margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorDown</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUF>CUF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Foreward</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>C</b></code>
+ <td >Default: 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor to the right a number of positions
+ specified in the parameter. The cursor cannot be moved past the right
+ margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorRight</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUP>CUP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Position</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>H</b></code>
+ <td >Default: 1 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the curor to the position specified by the
+ parameters. The first parameter specifies the line, and the second
+ specifies the column. A value of zero for either line or column moves
+ the cursor to the first line or column in the display. The default
+ string (&lt;ESC&gt;H) homes the cursor. In the VT100, this command behaves
+ identically to it's format effector counterpart, <a href=#HVP>HVP</a>.
+ <p>
+ The numbering of the lines depends upon the state of the Origin Mode
+ (<a href=#DECOM>DECOM</a>).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">p,q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=CUU>CUU</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Up</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>A</b></code>
+ <td >Default: 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor up without changing columns. The cursor is moved up a
+ number of lines as indicated by the parameter. The cursor cannot be
+ moved beyond the top margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorUp</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DA>DA</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Attributes Request</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>c</b></code>
+ <td >Default: 0
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The host requests the VT100 to send a DA sequence to indentify
+ itself. This is done by sending the DA sequence with no parameters,
+ or with a parameter of zero.
+ The device replies by (<a href=#DECDA>DECDA</a>).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalType</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DC1>DC1</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Control One</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x11</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes terminal to resume transmission (XON).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DC2>DC2</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Control Two</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x12</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DC3>DC3</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Control Three</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x13</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes terminal to stop transmitting all codes except XOFF and XON (XOFF).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DC4>DC4</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Control Four</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x14</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DCH>DCH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Delete Character</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>P</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">deleteChars</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECALN>DECALN</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Screen Alignment Display</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>8</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes the VT100 to fill it's screen with
+ uppercase Es for screen focus and alignment.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">helpAlign</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECANM>DECANM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>ANSI/VT52 Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The
+ reset state causes only VT52 compatible escape sequences to be
+ recognized. The set state causes only ANSI compatible escape sequences
+ to be recognized. See the entries for <a href=#MODES>MODES</a>, <a href=#SM>SM</a>, <a href=#RM>RM</a>
+ and <a href=#VT52ANSI>VT52ANSI</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECARM>DECARM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Auto Repeat Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The
+ reset state causes no keyboard keys to auto-repeat, the set state
+ causes most of them to. See <a href=#MODES>MODES</a>, <a href=#SM>SM</a> and <a href=#RM>RM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECAWM>DECAWM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Autowrap Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The
+ reset state prevents the cursor from moving when characters are
+ received while at the right margin. The set state causes these
+ characters to advance to the next line, causing a scroll up if required
+ and permitted. See <a href=#MODES>MODES</a>, <a href=#SM>SM</a>, and
+ <a href=#RM>RM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECCKM>DECCKM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Cursor Keys Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control requences. This
+ mode is only effective when the terminal is in keypad application mode
+ (<a href=#DECKPAM>DECKPAM</a>) and the ANSI/VT52 mode (<a href=#DECANM>DECANM</a>)
+ is set. Under these
+ conditions, if this mode is reset, the cursor keys will send ANSI
+ cursor control commands. If setm the cursor keys will send application
+ function commands. See <a href=#MODES>MODES</a>, <a href=#RM>RM</a>, and
+ <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECCOLM>DECCOLM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Column Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The
+ reset state causes an 80 column screen to be used. The set state
+ causes a 132 column screen to be used. See <a href=#MODES>MODES</a>,
+ <a href=#RM>RM</a>, and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECDA>DECDA</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Attributes Reply</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>1;Pn</em> <b>c</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Response to the <a href=#DA>DA</a> request (VT100 to host) is generated
+ by the VT100 as a DECDA control sequence with the numeric parameters as
+ follows:
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Pn</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=4 bgcolor="#5188B2">No options</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=4 bgcolor="#5BA5B2">Processor Option (STP)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=4 bgcolor="#5188B2">Advanced Video Option (AVO)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=4 bgcolor="#5BA5B2">AVO and STP</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=4 bgcolor="#5188B2">Graphics Option (GPO)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 5</td><td colspan=4 bgcolor="#5BA5B2">GPO and STP</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 6</td><td colspan=4 bgcolor="#5188B2">GPO and AVO</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECDHLB>DECDHLB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Double Height Line (Bottom)</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>4</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence cause the line containing the cursor to become the
+ bottom half of a double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ <p>
+ <a href=#DECDHLB>DECDHLB</a> and <a href=#DECDHLT>DECDHLT</a>
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECDHLT>DECDHLT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Double Height Line (Top)</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>3</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Cause the line containing the cursor to become the top half of a
+ double-height, double width line.
+ If the line was single width single height, all
+ characters to the right of the center of the screen will be lost. The
+ cursor remains over the same character position, unless it would be to
+ the right of the right margin, in which case it is moved to the right
+ margin.
+ <p>
+ <a href=#DECDHLB>DECDHLB</a> and <a href=#DECDHLT>DECDHLT</a>
+ should be used in pairs on adjacent lines with each line containing the
+ same character string.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECDWL>DECDWL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Double Width Line</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>6</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This causes the line that contains the cursor to become double-width
+ single height. If the line was single width, all characters ro the
+ right of the center of the screen will be lost. The cursor remains
+ over the same character position, unless it would be to the right of
+ the right margin, in which case it is moved to the right margin.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECID>DECID</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Identify Terminal</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>Z</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence causes the same response as the <a href=#DA>DA</a> sequence. This
+ sequence will not be supported in future models.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalType</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECINLM>DECINLM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Interlace Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to the <a href=#RM>RM</a> and <a href=#SM>SM</a>
+ control sequences. The
+ reset state (non-interlace) causes the video processor to display 240
+ scan lines per frame. The set state causes the video processor to
+ display 480 scan lines per screen. See <a href=#MODES>MODES</a>,
+ <a href=#RM>RM</a>, and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECKPAM>DECKPAM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Keypad Application Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>=</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The auxiliary keypad keys will transmit control sequences.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECKPNM>DECKPNM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Keypad Numeric Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>&gt;</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The auxiliary keypad keys will send ASCII codes corresponding to the
+ characters engraved on their keys.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECLL>DECLL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Load LEDs</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>q</b></code>
+ <td >Default: 0
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Load the four programmable LEDs on the keyboard according to the parameter(s).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignore</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Clear all LEDs</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignore</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Light LED 1</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignore</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Light LED 2</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignore</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Light LED 3</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignore</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Light LED 4</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECOM>DECOM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Origin Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to <a href=#SM>SM</a> and <a href=#RM>RM</a>
+ control sequences. The reset
+ state causes the origin (or home position) to be the upper left
+ character position of the screen. Line and column numbers are,
+ therefore, independent of current margin settings. The cursor may be
+ positioned outside the margins with a cursor position (<a href=#CUP>CUP</a>) or
+ horizontal and vertical position (<a href=#HVP>HVP</a>) control.
+ <p>
+ The set state causes the origin to be at the upper left character
+ position within the current margins. Line and column numbers are,
+ therefore, relative to the current margin settings. The cursor cannot
+ be positioned outside of the margins.
+ <p>
+ The cursor is moved to the new home position when this mode is set or
+ reset. Lines and columns are numbered consecutively, with the origin
+ being line 1, column 1.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECRC>DECRC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Restore Cursor</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>8</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence causes the previously saved cursor position, graphic
+ rendition, and character set to be restored.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">restoreCursor</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECREPTPARM>DECREPTPARM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Report Terminal Parameters</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>sol;par;nbits;xspd;rspd;cmul;flags</em> <b>x</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence is generated by the VT100 to notify the host of the
+ status of selected terminal parameters. The status sequence may be
+ sent when requested by the host (via <a href=#DECREQTPARM>DECREQTPARM</a>)
+ or at the terminal's
+ discretion. On power up or reset, the VT100 is inhibited from sending
+ unsolicited reports.
+ <p>
+ The meanings of the sequence parameters are:
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> cmul</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">The bit rate multiplier is 16</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> flags</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0-15</td><td colspan=4 bgcolor="#5188B2">This value communicates the four switch values in block 5 of SET-UP B, which are only visible to the user when an STP option is installed.</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> nbits</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">8 bits per character</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=4 bgcolor="#5BA5B2">7 bits per character</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> par</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">No parity set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 4</td><td colspan=4 bgcolor="#5BA5B2">Parity set and odd</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 5</td><td colspan=4 bgcolor="#5188B2">Parity set and even</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> sol</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">This message is a report.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=4 bgcolor="#5BA5B2">This message is a report, and the terminal is only reporting on request.</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> speed</td><td colspan=4 bgcolor="#D0D0D0">Meaning (xspd,rspd)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=4 bgcolor="#5188B2">Speed set to 50 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 8</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 75 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 16</td><td colspan=4 bgcolor="#5188B2">Speed set to 110 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 24</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 134.5 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 32</td><td colspan=4 bgcolor="#5188B2">Speed set to 150 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 40</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 200 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 48</td><td colspan=4 bgcolor="#5188B2">Speed set to 300 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 56</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 600 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 64</td><td colspan=4 bgcolor="#5188B2">Speed set to 1200 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 72</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 1800 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 80</td><td colspan=4 bgcolor="#5188B2">Speed set to 2000 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 88</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 2400 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 96</td><td colspan=4 bgcolor="#5188B2">Speed set to 3600 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 104</td><td colspan=4 bgcolor="#5BA5B2">Speed set to 4800 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 112</td><td colspan=4 bgcolor="#5188B2">Speed set to 9600 bps</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 120</td><td colspan=4 bgcolor="#5BA5B2">Speed set tp 19200 bps</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECREQTPARM>DECREQTPARM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Request Terminal Parameters</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>x</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The host sends this sequence to request the VT100 to send a
+ <a href=#DECREPTPARM>DECREPTPARM</a>
+ sequence back. {Ps} can be either 0 or 1. If 0, the terminal will be
+ allowed to send unsolicited <a href=#DECREPTPARM>DECREPTPARM</a>s.
+ These reports will be generated each time the terminal exits the SET-UP mode.
+ If {Ps} is 1, then the terminal will only generate
+ <a href=#DECREPTPARM>DECREPTPARM</a>s in response to a request.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalParms</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">reportTerminalParms</td><td colspan=1 bgcolor="#5BA5B2">3</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECRST>DECRST</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>DEC Private Reset Mode</b>
+ <td bgcolor="#D0D0D0">VT100 KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>l</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Ansi</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 3</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setColumns</td><td colspan=1 bgcolor="#5188B2">80</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 4</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 5</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_Screen</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Origin</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_Wrap</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 8</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 9</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 25</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Cursor</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 47</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1000</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1001</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1047</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1048</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">restoreCursor</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSC>DECSC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Save Cursor</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>7</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes the cursor position, graphic rendition, and character set to be
+ saved. (See <a href=#DECRC>DECRC</a>)
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">saveCursor</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSCLM>DECSCLM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Scrolling Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to <a href=#RM>RM</a> and <a href=#SM>SM</a>
+ control sequences. The reset
+ state causes scrolls to "jump" instantaneuously one line at a time.
+ The set state causes the scrolls to be "smooth", and scrolls at a
+ maximum rate of siz lines/sec. See <a href=#MODES>MODES</a>,
+ <a href=#RM>RM</a>, and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSCNM>DECSCNM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Screen Mode</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a private parameter to <a href=#RM>RM</a> and <a href=#SM>SM</a>
+ control sequences. The reset
+ state causes the screen to be black with white characters; the set
+ state causes the screen to be white with black characters.
+ See <a href=#MODES>MODES</a>, <a href=#RM>RM</a>, and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSET>DECSET</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>DEC Private Set Mode</b>
+ <td bgcolor="#D0D0D0">VT100 KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>h</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">setColumns</td><td colspan=1 bgcolor="#5BA5B2">132</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 5</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Screen</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 6</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Origin</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 7</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Wrap</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 8</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 9</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 25</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Cursor</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 47</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1000</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1001</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1047</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppScreen</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1048</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">saveCursor</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSTBM>DECSTBM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Set Top and Bottom Margins</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>r</b></code>
+ <td >Default: 1 ScreenLines
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence sets the top and bottom margins to define the scrolling
+ region. The first parameter is the line number of the first line in
+ the scrolling region; the second parameter is the line number of the
+ bottom line of the scrolling region.
+ <p>
+ Default is the entire screen (no margins).
+ The minimum region allowed is two lines, i.e., the top line
+ must be less than the bottom. The cursor is placed in the home
+ position (See <a href=#DECOM>DECOM</a>).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setMargins</td><td colspan=1 bgcolor="#5188B2">p,q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECSWL>DECSWL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Single-width Line</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>#</b> <b>5</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This causes the line which contains the cursor to become single-width,
+ single-height. The cursor remains on the same character position.
+ This is the default condition for all new lines on the screen.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DECTST>DECTST</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Invoke Confidence Test</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>2;Ps</em> <b>y</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ps is the parameter indicating the test to be done. It is computed by
+ taking the weight indicated for each desired test and adding them
+ together. If Ps is 0, no test is performed but the VT100 is reset.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Weight</td><td colspan=4 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=4 bgcolor="#5188B2">POST (ROM checksum, RAM NVR, keyboardm and AVO)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 2</td><td colspan=4 bgcolor="#5BA5B2">Data Loop Back (Loopback connector required)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 3</td><td colspan=4 bgcolor="#5188B2">EIA Modem Control Test (Loopback connector req.)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 4</td><td colspan=4 bgcolor="#5BA5B2">Repeat Testing until failure</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DEL>DEL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Delete Character</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x7f</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DL>DL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Delete Line</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>M</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">deleteLines</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DLE>DLE</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Data Link Escape</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x10</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DSRREP>DSRREP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Status Report Reply</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Status</em> <b>n</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Reports the general status of the VT100 according to the
+ following parameters.
+ <p>
+ DSRREP with a parameter of 0 or 3 is always sent as a response to a
+ requesting <a href=#DSRREQ>DSRREQ</a> with a parameter of 5.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Status</td><td colspan=3 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=3 bgcolor="#5188B2">Ready, no faults detected</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=3 bgcolor="#5BA5B2">Malfunction detected</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=DSRREQ>DSRREQ</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Device Status Report</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>n</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Requests status of the VT100 according to the following parameters.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 5</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportStatus</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Report Status (using a <a href=#DSRREP>DSRREP</a> control sequence)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">reportCursorPosition</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Report Active Position (using a <a href=#CPR>CPR</a> sequence)</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ECH>ECH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Erase Character</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>X</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">eraseChars</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ED>ED</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Erase in Display</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>J</b></code>
+ <td >Default: 0
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence erases some or all of the characters in the display
+ according to the parameter. Any complete line erased by this sequence
+ will return that line to single width mode.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfScreen</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase from the cursor to the end of the screen.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">clearToBeginOfScreen</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Erase from the start of the screen to the cursor.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearEntireScreen</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase the entire screen.</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=EL>EL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Erase in Line</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>K</b></code>
+ <td >Default: 0
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Erases some or all characters in the active line, according to the
+ parameter.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase from cursor to the end of the line.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">clearToBeginOfLine</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Erase from the start of the line to the cursor.</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearEntireLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Erase the entire line.</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=EM>EM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>End Of Medium</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x19</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ENQ>ENQ</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Enquiry</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x05</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Transmit the ANSWERBACK message. The answerback message can be loaded
+ in SET-UP B (i.e. is a configurable string).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportAnswerBack</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=EOT>EOT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>End Of Transmission</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x04</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ESC>ESC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Escape</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1b</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Introduces a control sequence.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ETB>ETB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>End Of Transmission Block</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x17</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ETX>ETX</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>End Of Text</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x03</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=FF>FF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Form Feed</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0c</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Same as <a href=#LF>LF</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">NewLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=FS>FS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>File Separator (IS4 - Information Separator Four)</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1c</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=GS>GS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Group Separator (IS3 - Information Separator Three)</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1d</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=HT>HT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Horizontal Tabulation</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x09</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Move cursor to the next tab stop, or to the right margin
+ if no further tabs are set.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">Tabulate</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=HTS>HTS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Horizontal Tab Set</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>H</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Set a tab stop at the current cursor position.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">changeTabStop</td><td colspan=1 bgcolor="#5188B2">TRUE</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=HVP>HVP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Horizontal and Vertical Position</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn;Pn</em> <b>f</b></code>
+ <td >Default: 1 1
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Moves the cursor to the position specified by the parameters. The
+ first parameter specifies the line, and the second specifies the
+ column. A parameter of 0 or 1 causes the active position to move to
+ the first line or column in the display. In the VT100, this control
+ behaves identically with it's editor counterpart, <a href=#CUP>CUP</a>.
+ The numbering of hte lines depends upon the state of the Origin Mode
+ (<a href=#DECOM>DECOM</a>).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">p,q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=ICH>ICH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Insert Character</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>@</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">insertChars</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=IL>IL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Insert Line</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>L</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">insertLines</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=IND>IND</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Index</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>D</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This sequence causes the cursor to move downward one line without
+ changing the column. If the cursor is at the bottom margin, a scroll
+ up is performed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">index</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=KEYBOARD>KEYBOARD</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Keyboard Events</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Key</td><td colspan=4 bgcolor="#D0D0D0">Code</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> AltButton</td><td colspan=4 bgcolor="#5188B2">"\033"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Return</td><td colspan=4 bgcolor="#5BA5B2">MODE_NewLine ? "\r\n" : "\r"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Backspace</td><td colspan=4 bgcolor="#5188B2">MODE_BsHack ? "\x7f" : "\x08"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Delete</td><td colspan=4 bgcolor="#5BA5B2">MODE_BsHack ? "\033[3~" : "\x7f"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Up</td><td colspan=4 bgcolor="#5188B2">!MODE_Ansi ?"\033A" : MODE_AppCuKeys ?"\033OA" : "\033[A"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Down</td><td colspan=4 bgcolor="#5BA5B2">!MODE_Ansi ?"\033B" : MODE_AppCuKeys ?"\033OB" : "\033[B"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Right</td><td colspan=4 bgcolor="#5188B2">!MODE_Ansi ?"\033C" : MODE_AppCuKeys ?"\033OC" : "\033[C"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Left</td><td colspan=4 bgcolor="#5BA5B2">!MODE_Ansi ?"\033D" : MODE_AppCuKeys ?"\033OD" : "\033[D"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F1</td><td colspan=4 bgcolor="#5188B2">Xterm? "\033[11~": "\033[[A"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F2</td><td colspan=4 bgcolor="#5BA5B2">Xterm? "\033[12~": "\033[[B"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F3</td><td colspan=4 bgcolor="#5188B2">Xterm? "\033[13~": "\033[[C"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F4</td><td colspan=4 bgcolor="#5BA5B2">Xterm? "\033[14~": "\033[[D"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F5</td><td colspan=4 bgcolor="#5188B2">Xterm? "\033[15~": "\033[[E"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F6</td><td colspan=4 bgcolor="#5BA5B2">"\033[17~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F7</td><td colspan=4 bgcolor="#5188B2">"\033[18~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F8</td><td colspan=4 bgcolor="#5BA5B2">"\033[19~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F9</td><td colspan=4 bgcolor="#5188B2">"\033[20~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F10</td><td colspan=4 bgcolor="#5BA5B2">"\033[21~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> F11</td><td colspan=4 bgcolor="#5188B2">"\033[23~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> F12</td><td colspan=4 bgcolor="#5BA5B2">"\033[24~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Home</td><td colspan=4 bgcolor="#5188B2">"\033[7~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> End</td><td colspan=4 bgcolor="#5BA5B2">"\033[8~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Prior</td><td colspan=4 bgcolor="#5188B2">"\033[5~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Next</td><td colspan=4 bgcolor="#5BA5B2">"\033[6~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Insert</td><td colspan=4 bgcolor="#5188B2">"\033[2~"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Control_Space</td><td colspan=4 bgcolor="#5BA5B2">"\x00"</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> Control_Print</td><td colspan=4 bgcolor="#5188B2">reportAnswerBack()</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> Ascii</td><td colspan=4 bgcolor="#5BA5B2">Character</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LF>LF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Line Feed</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0a</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes either a line feed or new line operation (See <a href=#LNM>LNM</a>.)
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">NewLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LNM>LNM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Line Feed/New Line Mode</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is a parameter to <a href=#SM>SM</a> and <a href=#RM>RM</a> control sequences.
+ The reset state
+ causes the interpretation of the <a href=#LF>LF</a> character to imply only vertical
+ movement of the cursor and causes the RETURN key to send the single
+ code <a href=#CR>CR</a>.
+ <p>
+ The set state causes the <a href=#LF>LF</a> character to imply movement
+ to the first position of the following line, and causes the RETURN key
+ to send the code pair <a href=#CR>CR</a> <a href=#LF>LF</a>. This is the New Line option.
+ <p>
+ This mode does not affect the Index (<a href=#IND>IND</a>) or the next line
+ (<a href=#NEL>NEL</a>) format effectors.
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LS0>LS0</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift Zero (Shift Out - SO)</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0e</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Invoke the G1 character set, as designated by the <a href=#SCS>SCS</a> control sequence.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LS1>LS1</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift One (Shift In - SI)</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0f</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Invoke the G0 character set, as selected by the &lt;ESC&gt;( sequence.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">0</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LS2>LS2</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift Two</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>n</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=LS3>LS3</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Lock Shift Three</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>o</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">useCharset</td><td colspan=1 bgcolor="#5188B2">3</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=MC>MC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Media Copy</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>i</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=MOUSE>MOUSE</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Mouse Events</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=NAK>NAK</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Negative Acknowledge</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x15</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=NEL>NEL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Next Line</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>E</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This causes the cursor to move to the first position of the next line
+ down. If the cursor is on the bottom line, a scroll is performed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">NextLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=NUL>NUL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Null</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x00</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> NUL is used as media- or time-fill. It is ignored by Konsole, but may
+ be sensible for devices which requiere a recognizable amount of time
+ to complete some commands (e.g. form feed on a non-buffering printing
+ device).
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=PRINT>PRINT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Printable Characters</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <em>0x20..0x7e,0xa0..0xff</em></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Printable characters are basically displayed. They my cause a line
+ wrap when the cursor is already located at the end of the line.
+ <p>
+ The VT100 has a unique way to do this by producing a line wrap before
+ the character would be displayed on the next line. This feature allows
+ to print at the rightmost column without producing an implicit line feed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">ShowCharacter</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=RI>RI</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Reverse Index</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>M</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Move the cursor up one line without changing columns. If the cursor is
+ on the top line, a scroll down is performed.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">reverseIndex</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=RIS>RIS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Reset to Initial State</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>c</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Resets the VT100 to the state is has upon power up. This also causes
+ the execution of the POST and signal INT H to be asserted briefly.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetTerminal</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=RM>RM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Reset Mode</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>l</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Resets one or more VT100 modes as specified by each selective parameter
+ in the parameter string. Each mode to be reset is specified by a
+ separate parameter. See <a href=#MODES>MODES</a> and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_Insert</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 20</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">resetMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_NewLine</td><td colspan=1 bgcolor="#5BA5B2"><a href=#LNM>LNM</a></td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=RS>RS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Record Separator (IS2 - Information Separator Two)</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1e</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SCS>SCS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Select Character Set</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <em>Pc;Cs</em></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> The appropriate D0 and G1 character sets are designated from one of the
+ five possible sets. The G0 and G1 sets are invoked by the characters
+ <a href=#LS1>LS1</a> and <a href=#LS0>LS0</a>, respectively.
+ <p>
+ The United Kingdom and ASCII sets conform to the "ISO international
+ register of character sets to be used with escape sequences". The
+ other sets are private character sets. Special graphics means that the
+ graphic characters fpr the codes 0137 to 0176 are replaced with other
+ characters. The specified character set will be used until another SCS
+ is received.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Cs</td><td colspan=4 bgcolor="#D0D0D0">Character Set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> A</td><td colspan=4 bgcolor="#5188B2">United Kingdom Set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> B</td><td colspan=4 bgcolor="#5BA5B2">ASCII Set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=4 bgcolor="#5188B2">Special Graphics</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=4 bgcolor="#5BA5B2">Alternate Character ROM (Standard Character Set)</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 2</td><td colspan=4 bgcolor="#5188B2">Alternate Character ROM (Special Graphics)</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Pc</td><td colspan=4 bgcolor="#D0D0D0">Character Selection</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> (</td><td colspan=4 bgcolor="#5188B2">Select G0 Set</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> )</td><td colspan=4 bgcolor="#5BA5B2">Select G1 Set</td></tr>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setCharset</td><td colspan=1 bgcolor="#5188B2">p-'(',q</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SGR>SGR</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Select Graphic Rendition</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>m</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Invoke the graphic rendition specified by the parameter(s). All
+ following characters transmitted to the VT100 are rendered according
+ to the parameter(s) until the next occurrence of an SGR.
+ <p>
+ All other parameter values are ignored.
+ <p>
+ Without the Advanced Video Option, only one type of character attribute
+ is possible, as determined by the cursor selection; in that case
+ specifying either underscore or reverse will activate the currently
+ selected attribute.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setDefaultRendition</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Attributes Off</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_BOLD</td><td colspan=1 bgcolor="#5BA5B2">Bold or increased intensity</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setRendition</td><td colspan=1 bgcolor="#5188B2">RE_UNDERLINE</td><td colspan=1 bgcolor="#5188B2">Underscore</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 5</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_BLINK</td><td colspan=1 bgcolor="#5BA5B2">Blink</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setRendition</td><td colspan=1 bgcolor="#5188B2">RE_REVERSE</td><td colspan=1 bgcolor="#5188B2">Negative (reverse) image</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 10</td><td colspan=1 bgcolor="#5BA5B2">konsole</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 11</td><td colspan=1 bgcolor="#5188B2">konsole</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 12</td><td colspan=1 bgcolor="#5BA5B2">konsole</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">Ignored</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 22</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetRendition</td><td colspan=1 bgcolor="#5188B2">RE_BOLD</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 24</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">resetRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_UNDERLINE</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 25</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">resetRendition</td><td colspan=1 bgcolor="#5188B2">RE_BLINK</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 27</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">resetRendition</td><td colspan=1 bgcolor="#5BA5B2">RE_REVERSE</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 30</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">0</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 31</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">1</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 32</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 33</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">3</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 34</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">4</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 35</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">5</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 36</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">6</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 37</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">7</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 39</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColorToDefault</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 40</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">0</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 41</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 42</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">2</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 43</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">3</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 44</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">4</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 45</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">5</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 46</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">6</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 47</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">7</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 49</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColorToDefault</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 90</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">8</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 91</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">9</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 92</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">10</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 93</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">11</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 94</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">12</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 95</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">13</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 96</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setForeColor</td><td colspan=1 bgcolor="#5188B2">14</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 97</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setForeColor</td><td colspan=1 bgcolor="#5BA5B2">15</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 100</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">8</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 101</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">9</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 102</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">10</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 103</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">11</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 104</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">12</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 105</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">13</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 106</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setBackColor</td><td colspan=1 bgcolor="#5188B2">14</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 107</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">setBackColor</td><td colspan=1 bgcolor="#5BA5B2">15</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SM>SM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Set Mode</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps;...</em> <b>h</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Causes one or more modes to be set within the VT100 as specified by
+ each selective parameter string. Each mode to be set is specified by a
+ seperate parameter. A mode is considered set until it is reset by a
+ Reset Mode (<a href=#RM>RM</a>) control sequence.
+ See <a href=#RM>RM</a> and <a href=#MODES>MODES</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 4</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Insert</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 20</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">setMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_NewLine</td><td colspan=1 bgcolor="#5BA5B2"><a href=#LNM>LNM</a></td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SOH>SOH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Start Of Heading</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x01</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=STX>STX</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Start Of Text</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x02</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SUB>SUB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Substitute</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1a</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Same as <a href=#CAN>CAN</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">ShowCharacter</td><td colspan=1 bgcolor="#5188B2">2</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=SYN>SYN</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Synchronous Idle</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x16</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=TBC>TBC</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Tabulation Clear</b>
+ <td bgcolor="#D0D0D0">ECMA VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Ps</em> <b>g</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> If the parameter is missing or 0, this will clear the tab stop at the
+ cursor's position. If it is 3, this will clear all of the tab stops.
+ Any other parameter is ignored.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 0</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">changeTabStop</td><td colspan=1 bgcolor="#5188B2">FALSE</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 3</td><td colspan=1 bgcolor="#5BA5B2">VT100</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">clearTabStops</td><td colspan=1 bgcolor="#5BA5B2"></td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=US>US</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Unit Separator (IS1 - Information Separator One)</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM Linux KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x1f</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Ignored
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VPA>VPA</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Vertical Position Absolute</b>
+ <td bgcolor="#D0D0D0">ECMA KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <em>Pn</em> <b>d</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorY</td><td colspan=1 bgcolor="#5188B2">p</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT>VT</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>Vertical Tabulation</b>
+ <td bgcolor="#D0D0D0">VT100
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>0x0b</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Same as <a href=#LF>LF</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT100</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">NewLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52ANSI>VT52ANSI</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 ANSI Ansi Mode</b>
+ <td bgcolor="#D0D0D0">VT100 XTERM VT52 KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>&lt;</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> This is an extension to the VT52 commands to embed the emulation into VT100.
+ It allows to return back to VT100 emulation (ANSI mode).
+ See also <a href=#DECANM>DECANM</a> and <a href=#SM>SM</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_Ansi</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUB>VT52CUB</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Back</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>D</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> See <a href=#CUB>CUB</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorLeft</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUD>VT52CUD</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Down</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>B</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> See <a href=#CUD>CUD</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorDown</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUF>VT52CUF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Forward</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>C</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> See <a href=#CUF>CUF</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorRight</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUH>VT52CUH</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Home</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>H</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">1,1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUP>VT52CUP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Position</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>Y</b> <em>X;Y</em></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Line and column numbers for direct cursor address are single
+ character codes whose values are the desired number plus
+ 37 (in Octal). Line and column numbers start at 1.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setCursorYX</td><td colspan=1 bgcolor="#5188B2">p-31,q-31</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52CUU>VT52CUU</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Cursor Up</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>A</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> See <a href=#CUU>CUU</a>.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">cursorUp</td><td colspan=1 bgcolor="#5188B2">1</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52EDL>VT52EDL</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Clear To End Of Line</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>K</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfLine</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52EDS>VT52EDS</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Clear To End Of Screen</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>J</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">clearToEndOfScreen</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52KPAM>VT52KPAM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Enter alternate keypad mode</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>=</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6>
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">setMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52KPNM>VT52KPNM</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Exit alternate keypad mode</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>&gt;</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">resetMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppKeyPad</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52REP>VT52REP</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Report Terminal Type</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>Z</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> Response to ESC Z is ESC / Z.
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">reportTerminalType</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52RI>VT52RI</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Reverse Index</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>I</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">reverseIndex</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52SCSF>VT52SCSF</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Select special graphics character set</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>F</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setAndUseCharset</td><td colspan=1 bgcolor="#5188B2">0,'0'</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=VT52SCSG>VT52SCSG</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>VT52 Select ASCII character set</b>
+ <td bgcolor="#D0D0D0">KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>G</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> N/A</td><td colspan=1 bgcolor="#5188B2">VT52</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">setAndUseCharset</td><td colspan=1 bgcolor="#5188B2">0,'B'</td><td colspan=1 bgcolor="#5188B2">see above</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=XTERESTORE>XTERESTORE</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>XTerm Private Restore Mode</b>
+ <td bgcolor="#D0D0D0">XTERM KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>r</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">restoreMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">restoreMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Origin</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">restoreMode</td><td colspan=1 bgcolor="#5188B2">MODE_Wrap</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1000</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">restoreMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1001</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr><td><p></td></tr>
+<tr><td bgcolor="#D0D0D0"><a name=XTESAVE>XTESAVE</a>
+ <td colspan=5 bgcolor="#D0D0D0"><b>XTerm Private Save Mode</b>
+ <td bgcolor="#D0D0D0">XTERM KONSOLE
+<tr><td><p></td>
+<tr><td>
+ <td colspan=5 ><code> <b>ESC</b> <b>[</b> <b>?</b> <em>Ps;...</em> <b>s</b></code>
+<tr><td><p></td>
+<tr><td></td>
+ <td colspan=6> FIXME. explain
+<tr><td><p></td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#D0D0D0"> Subcode</td><td colspan=1 bgcolor="#D0D0D0">Emulation</td><td colspan=1 bgcolor="#D0D0D0">Scope</td><td colspan=1 bgcolor="#D0D0D0">Operation</td><td colspan=1 bgcolor="#D0D0D0">Args</td><td colspan=1 bgcolor="#D0D0D0">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">saveMode</td><td colspan=1 bgcolor="#5188B2">MODE_AppCuKeys</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 6</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">scr</td><td colspan=1 bgcolor="#5BA5B2">saveMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Origin</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 7</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">scr</td><td colspan=1 bgcolor="#5188B2">saveMode</td><td colspan=1 bgcolor="#5188B2">MODE_Wrap</td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5BA5B2"> 1000</td><td colspan=1 bgcolor="#5BA5B2">xterm</td><td colspan=1 bgcolor="#5BA5B2">emu</td><td colspan=1 bgcolor="#5BA5B2">saveMode</td><td colspan=1 bgcolor="#5BA5B2">MODE_Mouse1000</td><td colspan=1 bgcolor="#5BA5B2">Meaning</td></tr>
+<tr>
+<td></td>
+<td colspan=1 bgcolor="#5188B2"> 1001</td><td colspan=1 bgcolor="#5188B2">xterm</td><td colspan=1 bgcolor="#5188B2">emu</td><td colspan=1 bgcolor="#5188B2">Ignored</td><td colspan=1 bgcolor="#5188B2"></td><td colspan=1 bgcolor="#5188B2">Meaning</td></tr>
+</table>
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>On VT100</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+
+The VT100 is an upward and downward software-compatible terminal;
+that is, previous Digital video terminals have Digital's private standards
+for control sequences. The American National Standards Institute has since
+standardized escape and control sequences in terminals in documents X3.41-1974
+and X3.64-1977.
+<p>
+The VT100 is compatible with both the previous Digital standard and
+ANSI standards. Customers may use existing Digital software designed around
+the VT52 or new VT100 software. The VT100 has a "VT52 compatible" mode in
+which the VT100 responds to control sequences like a VT52. In this mode, most
+of the new VT100 features cannot be used.
+<p>
+Throughout this document references will be made to "VT52 mode" or
+"ANSI mode". These two terms are used to indicate the VT100's software
+compatibility.
+<p>
+<em>NOTE</em>: The ANSI standards allow the manufacturer flexibility in implementing
+each function. This document describes how the VT100 will respond to the
+implemented ANSI central function.
+<p>
+
+<h2>
+<table width=100%>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+<tr><td align=center bgcolor=#d0d0d0>Modes</td></tr>
+<tr><td align=center bgcolor=#d0d0d0></td></tr>
+</table>
+</h2>
+<a name=#MODES></a>
+
+
+The Following is a list of VT100 modes which may be changed with Set
+Mode (SM) and Reset Mode (RM) controls.
+
+<h3>ANSI Specified Modes</h3>
+
+<table border=1>
+<tr><td>Parameter</td><td>Mnemonic</td><td>Function</td></tr>
+<tr><td><hr></td><td><hr></td><td><hr></td></tr>
+<tr><td>0 </td><td> </td><td>Error (Ignored)</td></tr>
+<tr><td>20 </td><td>LNM </td><td>Line Feed/New Line Mode</td></tr>
+</table>
+
+
+<h3>DEC Private Modes</h3>
+
+If the first character in the parameter string is ? (077), the
+parameters are interpreted as DEC private parameters according to the
+following:
+
+<table border=1>
+<tr><td>Parameter</td><td>Mnemonic</td><td>Function
+<tr><td><hr></td><td><hr></td><td><hr></td></tr>
+<tr><td>0</td><td> </td><td>Error (Ignored)</td></tr>
+<tr><td>1</td><td><a href=#DECCKM >DECCKM </a></td><td>Cursor Key </td></tr>
+<tr><td>2</td><td><a href=#DECANM >DECANM </a></td><td>ANSI/VT52 </td></tr>
+<tr><td>3</td><td><a href=#DECCOLM>DECCOLM</a></td><td>Column </td></tr>
+<tr><td>4</td><td><a href=#DECSCLM>DECSCLM</a></td><td>Scrolling </td></tr>
+<tr><td>5</td><td><a href=#DECSCNM>DECSCNM</a></td><td>Screen </td></tr>
+<tr><td>6</td><td><a href=#DECOM >DECOM </a></td><td>Origin </td></tr>
+<tr><td>7</td><td><a href=#DECAWM >DECAWM </a></td><td>Auto Wrap </td></tr>
+<tr><td>8</td><td><a href=#DECARM>DECARM </a></td><td>Auto Repeat </td></tr>
+<tr><td>9</td><td><a href=#DECINLM>DECINLM</a></td><td>Interlace </td></tr>
+</table>
+
+Any other parameter values are ignored.
+
+<p>
+The following modes, which are specified in the ANSI standard, may be
+considered to be permanently set, permanently reset, or not applicable,
+as noted.
+
+<table border=1>
+<tr><td>Mnemonic</td><td>Function </td><td>State</td></tr>
+
+<tr><td>CRM </td><td>Control Representation </td><td>Reset</td></tr>
+<tr><td>EBM </td><td>Editing Boundary </td><td>Reset</td></tr>
+<tr><td>ERM </td><td>Erasure </td><td>Set </td></tr>
+<tr><td>FEAM </td><td>Format Effector Action </td><td>Reset</td></tr>
+<tr><td>FETM </td><td>Format Effector Transfer </td><td>Reset</td></tr>
+<tr><td>GATM </td><td>Guarded Area Transfer </td><td>NA </td></tr>
+<tr><td>HEM </td><td>Horizontal Editing </td><td>NA </td></tr>
+<tr><td>IRM </td><td>Insertion-replacement </td><td>Reset</td></tr>
+<tr><td>KAM </td><td>Keyboard Action </td><td>Reset</td></tr>
+<tr><td>MATM </td><td>Multiple area transfer </td><td>NA </td></tr>
+<tr><td>PUM </td><td>Positioning Unit </td><td>Reset</td></tr>
+<tr><td>SATM </td><td>Selected Area Transfer </td><td>NA </td></tr>
+<tr><td>SRTM </td><td>Status Reporting Transfer</td><td>Reset</td></tr>
+<tr><td>TSM </td><td>Tabulation Stop </td><td>Reset</td></tr>
+<tr><td>TTM </td><td>Transfer Termination </td><td>NA </td></tr>
+<tr><td>VEM </td><td>Vertical Editing </td><td>NA </td></tr>
+</table>
+<h2>Keyboard Codes</h2>
+
+The notation &lt;ESC&gt; denotes a single ASCII Escape character, 1Bx.
+
+<table border=1>
+<tr>
+<td>Cursor Key</td>
+<td>VT52 mode</td>
+<td>ANSI mode w/cursor <br> key mode reset</td>
+<td>ANSI mode w/cursor <br> key mode set</td>
+</tr>
+<tr><td>UP </td><td>&lt;ESC&gt;A</td><td>&lt;ESC&gt;[A</td><td>&lt;ESC&gt;OA</td></tr>
+<tr><td>DOWN </td><td>&lt;ESC&gt;B</td><td>&lt;ESC&gt;[B</td><td>&lt;ESC&gt;OB</td></tr>
+<tr><td>RIGHT</td><td>&lt;ESC&gt;C</td><td>&lt;ESC&gt;[C</td><td>&lt;ESC&gt;OC</td></tr>
+<tr><td>LEFT </td><td>&lt;ESC&gt;D</td><td>&lt;ESC&gt;[D</td><td>&lt;ESC&gt;OD</td></tr>
+</table>
+<h2>Special Graphics Characters</h2>
+
+If the Special Graphics set is selected, the graphics for ASCII codes
+0137 through 0176 will be replaced according to the following table (see the
+<a href=#SCS>SCS</a> control sequence).
+<center>
+<table cellspacing=30>
+<tr><td><table><tr><td>Octal<br>Code </td>
+ <td>ASCII<br>Graphic</td>
+ <td>Special Graphic </td></tr>
+<tr><td><hr></td>
+ <td><hr></td>
+ <td><hr></td></tr>
+<tr><td>0137</td>
+ <td align=center>_</td>
+ <td>Blank</td></tr>
+<tr><td>0140</td>
+ <td align=center>`</td>
+ <td>Diamond</td></tr>
+<tr><td>0141</td>
+ <td align=center>a</td>
+ <td>Checkerboard</td></tr>
+<tr><td>0142</td>
+ <td align=center>b</td>
+ <td>Digraph: (HT)</td></tr>
+<tr><td>0143</td>
+ <td align=center>c</td>
+ <td>Digraph: (FF)</td></tr>
+<tr><td>0144</td>
+ <td align=center>d</td>
+ <td>Digraph: (CR)</td></tr>
+<tr><td>0145</td>
+ <td align=center>e</td>
+ <td>Digraph: (LF)</td></tr>
+<tr><td>0146</td>
+ <td align=center>f</td>
+ <td>Degree Symbol: &deg;</td></tr>
+<tr><td>0147</td>
+ <td align=center>g</td>
+ <td>+/- Symbol: &plusmn;</td></tr>
+<tr><td>0150</td>
+ <td align=center>h</td>
+ <td>Digraph: (NL)</td></tr>
+<tr><td>0151</td>
+ <td align=center>i</td>
+ <td>Digraph: (VT)</td></tr>
+<tr><td>0152</td>
+ <td align=center>j</td>
+ <td>Lower-right corner</td></tr>
+<tr><td>0153</td>
+ <td align=center>k</td>
+ <td>Upper-right corner</td></tr>
+<tr><td>0154</td>
+ <td align=center>l</td>
+ <td>Upper-left corner</td></tr>
+<tr><td>0155</td>
+ <td align=center>m</td>
+ <td>Lower-left corner</td></tr>
+<tr><td>0156</td>
+ <td align=center>n</td>
+ <td>Crossing lines (+)</td></tr>
+</td></table></td><td><table><tr><td>Octal<br>Code </td>
+ <td>ASCII<br>Graphic</td>
+ <td>Special Graphic </td></tr>
+<tr><td><hr></td>
+ <td><hr></td>
+ <td><hr></td></tr>
+<tr><td>0157</td>
+ <td align=center>o</td>
+ <td>Horiz Line - scan 1</td></tr>
+<tr><td>0160</td>
+ <td align=center>p</td>
+ <td>Horiz Line - scan 3</td></tr>
+<tr><td>0161</td>
+ <td align=center>q</td>
+ <td>Horiz Line - scan 5</td></tr>
+<tr><td>0162</td>
+ <td align=center>r</td>
+ <td>Horiz Line - scan 7</td></tr>
+<tr><td>0163</td>
+ <td align=center>s</td>
+ <td>Horiz Line - scan 9</td></tr>
+<tr><td>0164</td>
+ <td align=center>t</td>
+ <td>Left "T" (|-)</td></tr>
+<tr><td>0165</td>
+ <td align=center>u</td>
+ <td>Right "T" (-|)</td></tr>
+<tr><td>0166</td>
+ <td align=center>v</td>
+ <td>Bottom "T" (|_)</td></tr>
+<tr><td>0167</td>
+ <td align=center>w</td>
+ <td>Top "T" (T)</td></tr>
+<tr><td>0170</td>
+ <td align=center>x</td>
+ <td>Vertical Bar (|)</td></tr>
+<tr><td>0171</td>
+ <td align=center>y</td>
+ <td>Less/Equal: &le;</td></tr>
+<tr><td>0172</td>
+ <td align=center>z</td>
+ <td>Graeter/Egual: &ge;</td></tr>
+<tr><td>0173</td>
+ <td align=center>{</td>
+ <td>Pi symbol: &pi;</td></tr>
+<tr><td>0174</td>
+ <td align=center>|</td>
+ <td>Not equal: &ne;</td></tr>
+<tr><td>0175</td>
+ <td align=center>}</td>
+ <td>UK pound symbol: &pound;</td></tr>
+<tr><td>0176</td>
+ <td align=center>~</td>
+ <td>Centered dot: &middot;</td></tr>
+</td></tr></table>
+</table>
+</center>
+<em>NOTE 1</em>: Codes 0152-0156 and 0164-0170 are used to draw rectangular grids" each
+piece of this set is contiguous with other so the lines formed will be
+unbroken.
+<p>
+<em>NOTE 2</em>: Codes 0157-0163 give better vertical resolution than dashes and
+underlines when drawing graphs; using these segments, 120 x 132 resolution may
+be obtained in 132 column mode with the Advanced Video Option installed.
+<p>
+
+<h2>References</h2>
+<p>
+<hr>
+<small>
+This text is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+<p>
+<a href="mailto:lars.doelle@on-line.de">Lars D&ouml;lle</a>, 1998
+</small>
+
+</body>
+</html>
diff --git a/konsole/doc/VT100/vt100.gif b/konsole/doc/VT100/vt100.gif
new file mode 100644
index 000000000..0d3e21d49
--- /dev/null
+++ b/konsole/doc/VT100/vt100.gif
@@ -0,0 +1,401 @@
+/* XPM */
+static char*vt100[]={
+"188 161 237 2",
+".N c #5d5d5d",
+"bA c #040404",
+".f c #f4f4f4",
+".Y c #9b9b9b",
+"Qt c None",
+"#Z c #424242",
+".w c #d9d9d9",
+"#W c #808080",
+"aF c #272727",
+"bq c #bebebe",
+".M c #656565",
+"bz c #0c0c0c",
+"aI c #a3a3a3",
+"#h c #4a4a4a",
+".x c #e1e1e1",
+"a2 c #888888",
+"ao c #2f2f2f",
+"bK c #c6c6c6",
+"#. c #6d6d6d",
+"bt c #141414",
+".3 c #ababab",
+"aT c #525252",
+".Z c #e9e9e9",
+"aX c #909090",
+"#M c #373737",
+"aP c #cecece",
+"#x c #757575",
+"aK c #1c1c1c",
+"#s c #b3b3b3",
+"ag c #5a5a5a",
+"bC c #010101",
+".s c #f1f1f1",
+"ba c #989898",
+"#2 c #3f3f3f",
+"ac c #d6d6d6",
+".H c #7d7d7d",
+"av c #242424",
+"bL c #bbbbbb",
+".P c #626262",
+".F c #a0a0a0",
+"#J c #474747",
+".p c #dedede",
+"ae c #858585",
+"ar c #2c2c2c",
+"#r c #c3c3c3",
+".R c #6a6a6a",
+"bg c #111111",
+"az c #a8a8a8",
+"#e c #4f4f4f",
+".i c #e6e6e6",
+"a5 c #8d8d8d",
+"#P c #343434",
+"#q c #cbcbcb",
+"#A c #727272",
+"aW c #191919",
+"bh c #b0b0b0",
+"#D c #575757",
+".e c #eeeeee",
+"ad c #959595",
+"#k c #3c3c3c",
+".B c #d3d3d3",
+".6 c #7a7a7a",
+"aL c #212121",
+"#7 c #b8b8b8",
+"#a c #5f5f5f",
+"bF c #060606",
+".# c #f6f6f6",
+"bd c #9d9d9d",
+"#H c #444444",
+".v c #dbdbdb",
+"b# c #828282",
+"aE c #292929",
+"bp c #c0c0c0",
+".L c #676767",
+"bj c #a5a5a5",
+"#g c #4c4c4c",
+".j c #e3e3e3",
+"a1 c #8a8a8a",
+"at c #313131",
+".1 c #c8c8c8",
+".8 c #6f6f6f",
+"bl c #161616",
+"#R c #adadad",
+"#E c #545454",
+".A c #ebebeb",
+"#p c #929292",
+"#j c #393939",
+"ai c #d0d0d0",
+".I c #777777",
+"aM c #1e1e1e",
+"bx c #b5b5b5",
+".U c #5c5c5c",
+"bG c #030303",
+".g c #f3f3f3",
+".4 c #9a9a9a",
+"#3 c #414141",
+"aa c #d8d8d8",
+"af c #7f7f7f",
+"au c #262626",
+".D c #bdbdbd",
+".V c #646464",
+"be c #a2a2a2",
+"#0 c #494949",
+".k c #e0e0e0",
+"a0 c #878787",
+"aD c #2e2e2e",
+"bH c #c5c5c5",
+".K c #6c6c6c",
+"bu c #131313",
+"bs c #aaaaaa",
+"#f c #515151",
+".c c #e8e8e8",
+".G c #8f8f8f",
+"#4 c #363636",
+"aB c #cdcdcd",
+".7 c #747474",
+"aJ c #1b1b1b",
+"bO c #b2b2b2",
+"a. c #595959",
+"bB c #000000",
+".0 c #f0f0f0",
+"a9 c #979797",
+"#I c #3e3e3e",
+"ah c #d5d5d5",
+"a4 c #7c7c7c",
+"aR c #232323",
+"bI c #bababa",
+".T c #616161",
+"bD c #080808",
+"bi c #9f9f9f",
+"#1 c #464646",
+".r c #dddddd",
+"aY c #848484",
+"aC c #2b2b2b",
+"ax c #c2c2c2",
+"## c #696969",
+"aH c #a7a7a7",
+"#F c #4e4e4e",
+".n c #e5e5e5",
+"a6 c #8c8c8c",
+"#N c #333333",
+".C c #cacaca",
+".9 c #717171",
+".E c #afafaf",
+"#d c #565656",
+".h c #ededed",
+"#u c #949494",
+"#L c #3b3b3b",
+"#5 c #d2d2d2",
+"#y c #797979",
+"aO c #202020",
+"#T c #b7b7b7",
+"#b c #5e5e5e",
+"bE c #050505",
+".a c #f5f5f5",
+"bc c #9c9c9c",
+"#n c #434343",
+".y c #dadada",
+"#9 c #818181",
+"as c #282828",
+"bN c #bfbfbf",
+".W c #666666",
+"bw c #0d0d0d",
+"#t c #a4a4a4",
+"#Y c #4b4b4b",
+".m c #e2e2e2",
+".5 c #898989",
+"aw c #303030",
+"#S c #c7c7c7",
+"#C c #6e6e6e",
+"#8 c #acacac",
+"ak c #535353",
+".d c #eaeaea",
+"aS c #919191",
+"#Q c #383838",
+"ap c #cfcfcf",
+"#w c #767676",
+"aQ c #1d1d1d",
+"bP c #b4b4b4",
+"bJ c #5b5b5b",
+"by c #020202",
+".z c #f2f2f2",
+"bb c #999999",
+"#i c #404040",
+"ab c #d7d7d7",
+"#v c #7e7e7e",
+".2 c #bcbcbc",
+".O c #636363",
+"bv c #0a0a0a",
+"bf c #a1a1a1",
+"#G c #484848",
+".l c #dfdfdf",
+"aZ c #868686",
+"al c #2d2d2d",
+"bM c #c4c4c4",
+"#B c #6b6b6b",
+"bn c #a9a9a9",
+"an c #505050",
+".u c #e7e7e7",
+"a7 c #8e8e8e",
+"#m c #353535",
+"br c #cccccc",
+"#z c #737373",
+"bo c #1a1a1a",
+"aG c #b1b1b1",
+"#c c #585858",
+".b c #efefef",
+"#V c #969696",
+"#K c #3d3d3d",
+"aq c #d4d4d4",
+".X c #7b7b7b",
+"am c #b9b9b9",
+".S c #606060",
+"aj c #9e9e9e",
+"#o c #454545",
+".q c #dcdcdc",
+"a3 c #838383",
+"aA c #2a2a2a",
+"bm c #c1c1c1",
+".Q c #686868",
+"bk c #0f0f0f",
+"#U c #a6a6a6",
+"#X c #4d4d4d",
+".o c #e4e4e4",
+"b. c #8b8b8b",
+"#O c #323232",
+"#6 c #c9c9c9",
+".J c #707070",
+"aN c #171717",
+"bQ c #aeaeae",
+"aU c #555555",
+".t c #ececec",
+"a8 c #939393",
+"#l c #3a3a3a",
+"ay c #d1d1d1",
+"aV c #787878",
+"a# c #b6b6b6",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.b.b.c.d.b.e.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.#.f.f.f.g.e.h.c.i.j.k.l.m.k.l.l.m.l.k.m.n.m.m.m.o.o.m.m.k.o.m.m.k.l.l.k.k.k.m.k.k.p.k.q.k.k.m.l.m.j.o.o.m.m.r.jQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.f.f.f.f.f.a.#.f.f.#.f.s.s.b.t.u.o.l.v.w.v.r.l.l.m.m.m.j.x.x.m.m.m.o.o.o.o.o.i.i.c.i.u.i.n.n.i.o.o.o.j.o.j.o.j.m.m.x.m.x.m.k.x.x.m.m.k.k.m.m.o.o.o.o.o.m.m.x.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.f.g.g.g.s.z.g.s.h.A.h.u.u.o.o.k.j.o.m.j.x.q.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.M.O.Q.R.L.M.R.O.S.T.U.V.V.M.W.J.X.Y.y.Z.u.i.n.u.i.i.u.u.u.u.i.u.n.o.m.m.m.r.k.k.x.m.x.x.m.m.m.m.x.x.r.q.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.f.g.a.g.s.0.h.h.A.i.o.o.m.m.m.o.o.o.m.v.B.1.2.3.4.5.6.7.8.9#.#..K#..K.K#.##.R#.#..W.L.V####.P.O#a.N#a#b#c#d#e#f#g#h#i#j#k#l#j#m#n#o#o#h#p.b.Z.i.i.u.i.i.n.i.i.o.o.j.n.j.o.j.o.j.o.j.o.m.l.m.k.l.q.q.r.r.r.w.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.#.#.f.a.a.a.z.g.h.h.A.u.o.o.u.j.o.n.j.j.o.r.y#q#r#s#t#u#v.6#w#x#v#y#x#x#w.7#x#z.K#A#.#B.Q#..Q#.#C.K#C.K.V.V#D#E#F#g#G#G#h#o#H#I#J#n#n#o#G#n#K#L#i#M#N#O#M#P#O#L#Q#L#k#i#H#R.A.u.u.n.i.o.i.o.o.n.o.m.m.m.l.k.m.x.x.m.k.m.m.x.l.k.p.q.q.r.v.w.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.a.#.g.f.z.f.b.h.A.A.d.i.i.i.i.i.i.u.n.o.v.B#S#T#U#V#W#y#z.7#A.7.K#A#x#x.9#x.9.J#C.9.9#x.9#.#z#C.8#B.R.Q.N#c#d#D#D#F#f#F#X#Y#n#i#Z#0#1#I#i#i#K#2#I#Q#3#3#o#k#1#i#H#I#i#Q#L#Q#M#4#j#Q#4#L#M#i#K#2#I#J#5.i.o.m.o.m.k.l.l.r.r.q.r.l.p.k.q.q.r.r.r.l.v.r.q.v.y.y.v.q.y.v.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQt.s.0.h.h.t.A.t.t.Z.Z.d.c.c.u.i.w#5#6#7#8#V#9#x.8.R.V.R#..8#.#A.9#.#..K#C#.#C.K.J.K.J#B.8#A.9.M.Q.T.M.V.V.O#da.#c#F#F#0#g#H#n#I#k#i#k#i#i#o#Z#Z#i#i#n#j#L#M#k#Q#Q#M#l#Q#k#n#i#2#Z#H#i#1#2#K#k#k#L#k#i#L#j#o#2#k#2#K#L#Ha#.o.o.m.k.l.q.r.v.q.v.w.q.v.y.y.w.w.y.waa.w.w.y.w.wab.wac.w.w.y.y.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQt.g.b.h.e.b.e.h.A.h.A.t.t.d.Z.m#sadaeaf.7.6#A#B.V.W.Uag.P#b.V.R#..J#z#x.8##.L.R.V.Q#..R.L.S.O.Q##.U.U#c#F#h#f#f#e#0#Y#n#0#X#X#0#Y#3#i#3#l#2#l#I#4#L#I#Z#K#3#i#K#Z#i#n#n#2#l#Q#4#N#I#K#M#i#k#L#M#I#i#m#L#i#i#i#m#N#4#l#M#i#K#J#p.r.k.p.q.r.q.r.q.q.q.r.r.yaaab.y.v.w.wab.w.waaaaaaabababaaabahab.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQt.b.b.0.s.0.0.0.0.0.0.b.b.t.A.c.mai#Taj#v.S.S.R.L.T.V.T.V.S.M.Q.O#.#..L#..R.V#..T#a.Oakak#f#e#Y#n#X#0#F#H#h#Y#Z#h#h#X#1#g#K#n#n#n#Q#3#n#2#l#Q#K#k#I#i#i#Q#m#K#2#n#H#L#n#Z#l#L#Z#2#n#k#l#I#l#Mal#m#n#4#j#i#i#K#3#k#I#M#M#L#4#Q.O.y.x.r.q.q.y.w.w.y.w.y.w.w.w.w.w.w.q.w.w.waaacabahahahacab.w.w.w.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.b.e.e.e.h.e.b.h.b.e.h.h.h.h.h.b.h.h.b.h.h.h.t.d.u.qam#2#Y#G#Y#Gan#g#X#1#h#han#h#Y#h#H#1#n#3#i#2#i#n#o#J#i#Yan#2#Z#K#K#2#2#n#2#2#K#l#L#M#i#K#n#K#j#kao#j#K#2#k#l#4#m#Z#i#l#Q#N#O#n#J#Z#n#l#3#k#i#j#k#i#L#j#I#2#i#2#M#M#M#i#i#l#nap.r.v.y.yaaabab.w.wababaaaqabacabacahababab.Baq.Babababac.yab.y.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.b.A.t.t.A.A.t.A.A.d.A.h.A.h.A.A.A.h.h.t.e.h.b.s.h.d.Z.n.5ar#m#P#M#L#m#L#i#3#Z#i#o#Z#3#2#i#4#M#l#I#L#K#i#H#i#3#n#2#i#n#n#i#n#H#k#H#3#o#l#L#i#l#3#n#M#N#Q#P#Q#k#K#L#M#k#K#n#k#i#m#i#m#P#M#j#i#2#Z#P#n#n#3#n#L#2#I#i#l#jas#Parat#l#S.yaaababahacacaqahahacahab.Bababacabahah.B.Baqaq.Bahahahabab.waaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.f.b.h.A.A.t.h.t.A.h.h.t.t.h.h.d.A.d.A.A.A.A.h.A.z.b.d.Z.Z.r#vauavaw#K#L#Z#i#J#3#l#i#n#o#2#N#l#L#K#L#M#i#Q#3#j#M#k#i#m#L#I#j#4#j#Q#Qao#N#4#m#2at#m#m#Q#i#I#l#K#M#L#N#K#P#N#4#O#m#M#i#3#2#j#M#4#2#i#K#i#i#k#k#N#2#i#K#I#Pasatal#4#Oaxaaac.Baq.B.Bay#5#5ai#5ah#5ahahabaq.BahahaqabahahahaaababacacahaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.h.d.A.A.h.t.h.h.h.h.h.t.t.t.t.A.A.A.A.A.h.h.h.b.0.Z.u.i.lazaA#4#K#1#L#K#i#L#I#L#k#j#H#K#i#Z#2#2#L#2#2#G#L#4#Nal#4#P#Q#2#l#P#l#l#H#I#3#l#P#O#Pao#j#4#Q#j#I#j#K#j#4at#K#Oaoaw#M#Oalao#m#M#K#m#1#L#j#k#2#Q#Q#L#P#4#j#l#L#l#M#m#O#l.Dacaqaqahahah.B#5.Baiapaiap#5.B.Bahahahacah.BacacahaqaqahahacahacQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.h.A.Z.h.A.A.h.h.h.h.h.h.t.t.t.t.A.A.h.A.t.A.A.h.0.d.i.n.oaBaraC#L#3#P#Z#J#m#L#K#3#n#L#K#2#j#L#m#m#M#P#M#P#P#2#k#L#L#i#l#M#I#k#2#j#i#K#i#L#lat#Q#m#PaD#kaE#P#2#N#P#O#m#P#Mar#m#mao#N#P#i#l#j#Q#l#L#K#l#K#K#3#i#4#k#L#Nar#4#mat#M.2ahahah.B.B.B#5.B.Baiay.B#5ah.B.Bahah.Bah.B.Baqabahaaabac.wahaqabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.h.t.A.h.A.d.h.A.h.t.t.Z.A.A.A.A.A.A.Z.d.A.A.h.t.0.A.n.o.o.v#fao#M#k#M#2#lat#4#m#n#Q#Oar#Oaw#k#4#4#P#2#i#j#I#i#j#1#k#Z#M#l#L#I#K#3#i#M#i#k#i#l#mawao#4#i#P#M#n#l#k#Mao#4#l#M#O#l#K#O#M#P#M#O#l#2#P#M#MaCaDataoawaDaAaF#m#j#M#MaCaGabaqah.B#5#5.B.B#5ah#5.B#5.B#5.Bayaiayaqah.Bacahabaaababahahahah.sQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.e.d.d.d.d.Z.Z.d.d.t.t.A.d.A.A.Z.t.t.t.A.i.t.h.h.b.t.x.j.jabaH#4#jat#P#i#k#N#L#M#2#2#Q#M#L#2#3#j#Z#I#k#K#i#i#K#i#k#2#K#N#N#Q#k#K#I#L#L#H#j#3#l#l#4#L#2#j#K#l#jaw#l#I#P#M#m#jatawaC#OalaCaEaFaCaoasauararaoaFaAavaralawaA#L#Q#4alaIah.B.Bayai#5#5.B#5ai.Bayaiaiai#5.B#5aqahahahacabahaaac.Bacahaqac.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.t.d.Z.d.d.A.Z.Z.t.h.A.t.t.t.d.A.t.A.A.t.t.h.h.h.h.A.j.m.mac.B#Q#K#g#J#h#h#1#P#4#j#l#L#i#Q#m#M#m#P#j#L#4#4#n#k#M#4#j#m#j#2#i#Q#j#i#L#P#P#N#i#i#L#4#K#Q#maDaoaDaDaCasasaAaJaKavaLaJaMaKaAaJaNasaEaoaAaAaKavauaNaOaJasasauaA#Oas#k.4.B.B#5aiai.Bai#5#5#5#5apaPapapapai#5#5ah.B.B.Baqahabacaqah.Baqah.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.A.Z.t.d.c.Z.Z.Z.Z.A.t.A.h.h.e.h.h.h.t.h.h.t.t.A.t.Z.m.x.jab.w#k#1#n#o#Z#i#iat#Q#Q#I#m#K#O#Nalat#P#P#P#L#j#l#L#L#i#k#i#2#kaw#MaD#lat#j#j#M#P#N#P#PataDatavauaCauaEaFaQaRaOatalal#NaraDararaD#PaDar#O#2#L#L#NaMararaQ#maCaCaDaDaEaS.Baiaiapapaiaiai.Baiapaiaiaiai.B#5aiaqah.B.B.Baqayahabahahahac.w.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.h.Z.Z.Z.Z.Z.Z.d.d.d.A.A.h.h.h.A.A.t.A.A.A.h.h.h.h.A.o.m.maa.r#l#N#O#P#L#K#2#Q#Q#O#L#K#N#l#I#L#Z#i#i#o#k#L#L#M#4#4al#3#m#PaoaAalatar#jao#OaraCalao#OawawaDaEataAaD#OaCaw#M#l#k#L#n#g#h#YaT#X#X#XanaUag#DaU#JaMar#MaD#m#P#Q#4aoawae#5.B#5aiaiaiapaBaiaiaiapaiaiaiaiaiay.B.B.B.Bah.B.Bahabahaqaq.Bab.mQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.a.A.A.A.A.A.Z.Z.A.t.t.t.d.h.t.t.h.A.A.t.t.t.t.t.h.h.c.m.x.m.w.r#OaA#maA#M#2#H#3#k#M#3#4#O#M#2#I#2#M#m#O#j#N#MaFaOaOalavavaFawavalaLalatasaw#M#4#3#nanaU.P.O.W#..7.9.I#A#z#x#x#x#z#w.6.XaV#w#A#A.8#.aV#A.I.7.8aW#N#j#k#O#k#K#PaoaE#x#5.Baqaiahai#5apap#5apaPaiaPapaiaiai#5.B#5#5ay#5.Baiay.BahacahacaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.Z.Z.Z.Z.Z.d.t.A.A.A.h.t.h.t.t.A.h.h.t.h.h.h.h.h.h.Z.x.k.l.q.x#iar#Q#QaX#J#1awat#malatas#4awaEalaEaraEaLaEatawataC#jaw#I#o#X#e.U.O#..8.7#v.X#9#9aYaZafa0.5aea1aea2aYaea2aZaYa3afaY#Waea3#v#va4#v#va2afafaV.6aDau#O#Mat#M#4#m#PaC.Lap.B.B#5#5aiaiapaPaBaBaPapapaiai#5.Baq#5.B.Bai.Bay.B.B.B#5ahababaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.#.A.Z.t.A.t.A.A.A.A.A.A.A.t.A.A.A.A.A.t.t.t.h.h.A.h.o.p.l.l.r.r#bataEa5#GaCaJaJaWaRaEaLaCatataw#l#P#l#Y#Gak#b#B#A#wafaeaea1a6a7a6.G.Gad#ua7#paSa7#p#pa8a9aSa7a6a5a5a5.5a0.5.5a2b..5a0aYa2a0aZaZa3aYa0a0a0b#b##XaL#KaDaoaO#MaCau#P#d#q#5.B.Bayaiapayaiap#5aiapai#5aiayayayai#5#5ai.Bai.Baiah.B#5ahab.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.a.d.d.d.A.A.d.A.t.A.A.t.h.A.A.A.A.A.h.A.d.h.h.h.h.h.i.k.q.r.q.y#vao#N#W#Iasaoaw#l#i#i#Eag.V#..I.X#9a3a6.Ga7a5#pa7adadad.4#V#Vbabbbaad.4bb#Va9#uad#uba#Vad#V#Vadbaa9a9ad#p#Vada5#Va5a5a5a6a2a2a6a6a0aXa0aZa3a3.VaJaDat#4aAaAaFaKaO#L.Cah#5ai#5aiaiaPapapapapai#5#5ay.B#5#5#5aq.Bai#5ai#5ay.BayahahacabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.g.Z.d.A.A.A.d.A.t.A.d.Z.d.Z.A.d.A.d.Z.Z.A.A.t.h.A.t.u.l.q.q.r.w#uaEaw#kar#O#Kag.Ha0a7#p.G#ua9bbbbbc.4bbbc.4bd.4ajbd.4bd.FajbdbebdbdaIbfaIaj.4.Y.4.4.Ybc.4.4bbad#V#uad#uaXaS#p#uaS#paSa5a7a5b.a5.5.5a0.5aeaf#W#xbg#NasaDaw#NaraCaF#N#Saq#5ay#5aiaiaiaiapapapapai.B#qaiaiaiap.B#5ai#5ay.B#5.Baq#5.BaqabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.g.c.Z.A.A.t.A.A.d.Z.Z.d.c.c.Z.d.Z.d.A.Z.d.A.A.A.A.d.u.l.r.q.q#5bharal#J#l#l.Ra6.4bibi.Ybd.4bcbd.YbdbcajajbdaIaIbf.F#taI#U.F#UaIaI#t#tbjajajbiajbdbdbdbbbdbb.4bb#V.4a9.4bbad#V#u#ua7#pa5a6a1a6a5a6a2a6.5a3#va4.7bkauasataDalalaEaO#P#r#5aiaiai#5aBapapapayai#5aiai#5.B.Bah.Baiaiapaiai.Bap.Baqah.B#5#5.cQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.f.A.A.A.d.A.A.d.d.h.A.A.d.d.c.Z.Z.Z.A.A.Z.A.A.Z.d.Z.n.q.q.q.qaB#raE#P#G#m#F#vadbcbjbjbj.F#tbfbebj#UbjaIaIbj#U#t.FbebjbjbebjaI#t#t#tbj#U#tbeaI.Fbeaj.Y.4ba#V#Vbaba#ua8ba#Vadada8#u#p#paSa6a6b.a1a2.5a0a1aeaYb##yaFaLavaEauavaoblaMaFbmaqayaiaiaiapapapapaiaiaiap#5ap#5#5.B.Baiaiai#5apay#5.Babah.Bahaq.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.f.Z.Z.Z.d.Z.d.d.A.A.A.A.A.A.Z.c.A.Z.c.c.Z.Z.d.d.Z.A.i.r.q.q.w#q#6#PataT#Q#daf#u#taHaH#Ubjbe#Ubj#tbj#U#t#U#U#Uaz#t#U#tbnazaHbn#t#U#Uaz#tbe#tbiaj.F.4.Y.4a9bbbbba#Va9adbb#ua8a8#uaX.GaSaSa7b.b..5aeaZ.5a2aZ#W#v.6aAbobgaQaOaAasblau#Pbp.BayaiaP#5.B#5aiaiaiaiaPapaiapai#5#5ai#5.Baiaiaiaq.Baiaqahay.B.B.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.s.Z.A.A.d.Z.Z.Z.Z.d.c.Z.Z.Z.Z.A.d.A.Z.Z.Z.A.c.d.d.c.i.q.v.q.q.CaBavaoan#Q#faZba#UbnaH#UaH#Ubjbn#U#t#t#U#Uaz#t#Ubj#t#t#U#U#tbj#U#U#UaIbe#UaIbibdbd.4aj.4bb.4bbbbbababa#V#V#uba#V#pa7#pa5aX.G.G.5.5a0aZaeaY#Wa3.X#ZauaOaKblaQasblbkaEbq#5aiapaiaiaiapapapaiapai#5#5.B.B#5#5.B.B.B.Baiai#5#5.B#5.B.B.B#5.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.s.Z.Z.d.A.A.c.d.Z.A.A.Z.d.Z.Z.Z.c.c.u.u.u.c.u.u.c.c.o.q.y.q.ybracal#maU#I#fb#bibjazbs#UaH#Ubsbnbn#Ubnbnbn#UbnbnbnbjaH#t#tbe#taIaIbe#taIbfaI.Ybe.4aj.4.4a9bbbb#ubbad#ua9a9ad#u#u#u#paXa7aS.GaSa5b.aZa0aYaYafa4.IanbkaKaFaObtaKblaMaLbqayaiapaPapaBapaPapaiaiaiai.B.B.B.B#5#5#5#5ai#5#5#5ah.B#5ahahaqahaaQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.0.Z.Z.A.A.Z.d.c.c.d.Z.A.Z.Z.Z.Z.Z.d.c.c.i.u.u.u.c.u.o.q.y.y.w#q.waraD#h#l#f#9aj#Ubn#Ubjbn#UaHaHbjbj#Ubnazbnbn#U#Ubn#U#t#Ubj#Ubn#U#Ubj#t#Ubfaj.4.4bbaj.Ybb.4ad.4bb#Vbabba9ad#paSa7a7a7b.a5a6.5b..5a2a0a3#W#W#v.X#dboaJaQaLavaRboaJbo.2aibraBaBaBaPapapaiapaiayaiai.Baq.B#5.B#5.B#5aq#5.Bahah.B.BahabaqabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.s.Z.d.Z.d.Z.u.Z.u.c.u.A.Z.d.Z.Z.u.c.u.u.i.u.i.u.u.u.o.y.w.v.v#5.waDao#K#m#ia4baazaH#UbjbjaI#Ubjbj#U#U#U#U#U#UbjaH#U#UaIbe#tbjbjaIbebfajbcbdbibd.Ybi.4.4bbbba8bbadad#V#u#u#p#pa7#pa5a6a7a1a6a6a6aeaYa3aYaf.XaV#w#cbkbtaKbkblaQbtbubv#Tapbr#q.CaPaPaPai#5aqahah.B.B.B.Bay.B.B.B.Bah.B.Bahaqahababah.B#5aqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.e.d.d.Z.Z.c.u.u.u.c.Z.Z.Z.c.u.Z.u.c.i.u.i.i.i.i.i.u.o.w.wacabaiabaDas#4al#1afbcbjbn#Ubjaz#taI#Ubj#UaI#U#U#t#UbjbjaH#Ubj#taIaIbebfbfbibdaIbdbd.4a9a9.4.4ba#V#ubb.4ada8#pa7aSa5.5a7a6a5a6a6a7b.a0aYaZaYaZafaf#y#v.PbuaNaFauaMbobwaNbtbx#5aPaBapapapapapai.B.B.Bah.Bah.B.Baqaqaqay.B#5aq#5ay.Baq.BahahahabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.h.c.Z.Z.Z.u.i.u.u.Z.c.Z.Z.Z.Z.u.c.u.u.o.i.u.u.i.n.u.o.yababah.Bac#Nalawaw#Ja4bb#Ubnbn#U#U#Ubebjbn#tbjbjazbjbj#U#Uazbj#tbj#t#UaIbiajbfbdaIbdbb.4bb.4#Vadad#V#V#Vadadad#u#p.GaXa5.5b.a0a2a0aZa3aYaeaZaYa3a3af.6.6.VbvaKaWblaJaMblbubo.EaB.C#qaBaPayaiaiahaq#5aqaq#5.B.B.B.B.B.Baq.B#5.B.Bah.B.B.B.Bah.Baq.bQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.b.u.Z.i.u.Z.c.u.u.u.u.Z.u.Z.Z.u.i.i.i.u.u.c.c.c.Z.i.jababah.B#5aq#lal#Oat#i#x#ubeaIbeaIbebj#tbjaHaH#U#U#U#t#t#Ubfbf#t#taIajbiajaj.4bi.Y.4.4.4.4ba#Vada9.4ad#ua8#u#uaSaSa7#pa5b.a5a6aYaZa0a2b.a0afaYb##9b#.X.I#A#BaMbyaWbgbzbgbvblbk.4aPaPaBai.Baq#5.Bahahay#5#5aq#5#5ai#5#5.B.B#5.B#5#5.Bah.Baqai#5#5aq.dQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.0.u.u.c.i.i.i.u.i.u.i.u.i.i.i.i.i.Z.Z.c.Z.i.j.o.o.o.jabaqaq.B.B.B#aaQaEaWal.QaSajaj.Fbe.F#taIaIbfaI.F#UaIbjbebebfaIaIbeajbf.4ajajbc.4bbbb#V#Vbaad#uaS#paXa8#pa6aX#paS.Ga5a6a1a6a2a2aea2a0aY#Wa3b#b#b##v#W.6#xaV#AbobAbtbzbwbobgbwaJa6#qapaBaPayaiaiayai#5ap#5ayay.B.B.Baiaq#5#5ayai#5#5.Baiaiaiai#5#5.B.nQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.A.i.u.u.u.n.i.i.Z.u.i.u.i.i.o.n.o.n.j.o.o.n.n.o.j.o.jacahah#5.Bap.XaMaOaQar#Db.#Vajbcbibd.F.4.F.Fbibebj#UbebebiaIbe.Fajbdaj.Y.Y.Ybd.4.4bb#V.4#V#p#u#uaSaS#pa7a8aSaXa5a6b.b.a1.5aeaYaZaYa0aZ#9#W#W#W.H.X.H#w.9.9.LaJbBbybCbzbwbvbybD#w#qapaiayaiapaiaiapapapaiap#5ai#5ayaiaiaiapayapap#5apayapapaiayay#5.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.A.u.u.i.i.n.i.u.i.n.o.u.n.i.o.o.o.o.o.u.o.o.j.o.j.m.kabahah#5.Baia2aJaMboaRag.5.4.4ajbibdbibfbebfajaj.FaIbe.F.4.Fbibiajbc.4.4.4ada9#Vadada9ad#p#p#p#u#p#uaS#p#u#uaSa5a7a6b.a1.5a0a2.5a0a1aZb##W#va4#v.6.Xa4.I#A.RaAbCbDbEbvbFbwbwbF#a.CaPapapapaBbrbraB#5apaiayay#5#5ap#5apaiaiaBapaBaPai#5ai#5ay.B.B.B.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.A.i.Z.u.u.i.o.i.i.i.i.n.n.o.o.o.j.o.j.o.o.j.o.o.o.o.mac.B.Bai.B#q#paKaNaMaR#c.5bb.4aj.4bebfbebdajbeaj.F.F.Fajbd.Y.4bbbc.4bc.4.4.4ba#Vadad#u#uaS.Ga8a1a7aX#pa7aS#ua7aXaSa6a5a5b..5aZa2aY.5a0aeaY#vaf.6aV#y.6#A.8.RawbFbybvbGbFbgbvaO#e.CaiaiaBap#qap#q#q#q#qaPapaPaBaiaiaiaiaiay#5aiapapaiapaiapaiaiap.BahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.e.u.u.u.u.u.u.u.o.o.o.o.o.o.o.o.o.m.j.j.x.j.o.j.m.x.paqayapap#5bHazaJaWaLaRan#Wadbb.Ybibd.4.4bd.4ajbiaIaj.Ybd.F.4biajbd.4ajbb#Vadadad#V#V#u#uaXa7#p#paXa8#uaS.G.Ga7a7a6a2a5a0aYa3a3aZa3aYaYa2a3#W.6a4#y.6aV.7.8#b#mbBbCbvbCbybDbFbt#Q.C.B.Bay#5apaiaB#q#q#q#qaBaB#qaiaBaP#qapaiaiaPaiaPapapapaiai#5ai#5.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.c.i.i.o.o.m.m.m.j.o.o.i.o.n.o.j.m.j.j.m.m.j.o.m.m.m.xah#5#5apapax#Tbzbvavbt#3#vaS#ubabbbi.Y.4.4a9.4.4ba.4ba.4bd.4.4.4aj.4bb#V#V#uadaSaXadaSaXa6a5a7aSa8a7a5a7aSa7a7a1a2b..5a2.5.5a0a0aeaZaZaYaY#v#v.6.X.X#x.9#.#C#GbybDbybGbAbFbybwaFbHayaiayayaB#qaBaP#q#qaB#qbraBaiapaiayapaiayapapaiaPaBapaPaiai.B#5aqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.o.o.o.n.m.o.m.o.o.o.n.j.o.o.m.m.x.k.x.m.m.m.x.m.l.k.r.B.B#5apapbpbHbFaWawbo#l#yaXa8#u#Vbaba#Vbb.Y.4bdbdaj.4bbbbbbbbbc.4bb#uad#uaS#pa8aSaSa2aXa7a6a6a7aSa5a6a1.5a0a0aZa2a2a2a2aZaZaZa0.5a2aea3a3#v.Ha4#W.X.I.7.K#.anbEbvbwbFblaJbkaKaCbp#5ayaiayaP#qapaB#q.C#q.1brbraP#qbr#qapaiaPaiaPapaiapapapaiaiapaiaqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.Z.o.o.i.i.i.o.o.o.x.o.j.m.m.m.x.m.m.x.m.m.m.m.k.k.x.lahayapapaiax#qaKaNaLaQ#j.8.5aSa8ba#V#V#Vbbad#Vbbbba9#V.4a9#Vbaa9a9bb#u#u#paS#p#paX.GaS#pa7a5a5a5.G.5.5a6a1a1.5.5a1a0.5a2.5a0a2aYaY#9b#afaf.6a4#v.6#y#A#x.K.MaTbgaWbgaJblbgbgbtawbpaq#5apapaBapapbr#q#q#q#qaPaBapaPaBaBaP#qaPaPapaPaiaiaiaiai#5ai#5.B.eQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.o.o.o.j.o.o.n.m.j.j.o.o.o.o.m.m.o.m.j.m.j.m.m.m.l.k.lah#5aiaPai#raBaNaKaAaL#m#.a0aX#pba#Vbbba.4.4.4bb.Y.4#Vbba9.4#Vadad#V#p#paSaXaSa8.Ga7a5aS.Ga5a6a7b.a2.5a2a0a0aZa0a0aZ.5a2aeb#aY#9aY#W#W#W#W.H#v#v.H.I.X.I#A#.#EbwbwaNaJaLaJbgaNavbIai#5aPapaBbr#q#qaBaB.C.C#q#q#q#qapaPaBaB#qbrbraBbraB#5aiaiay#5.B#5.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.j.j.j.m.o.o.o.j.x.m.m.m.x.j.m.x.l.m.k.j.m.j.m.k.x.lab#5#5apap#6aBbFbFaObu#P.WaeaS#pbababaad.4bbadbba9#u#uadaS#uadad#V#ua8#V#uaS#p#paS#paXb.a7aXb.a5a1.5a1a6.5a0a6aYa0aZaea3aea0aZaYa3.6af.HaV.H.X.6.X.6#A#x#A.8#DaJbgavaJavaQaRaKaCbq.B#5ap#5aPbrbrbraPaBaPaPbr#qaPaB#q.C#q#q#q.CaB#qbraP#qaiaiayayaiai.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.n.o.j.o.o.j.j.o.j.o.o.j.m.m.m.j.m.x.k.m.k.x.x.m.r.m.raqaiayaBaPbrapbkbDbtbwaA.NaYa5.G#uad#V#ua9ad.4#Vba#V#u#u#u#p#pa8a8a8#paSaXa7a7aSaXa7a5aSa5a7a7a1.5a6a5b.a2a0a2aYaeaZa2a3aeaYaYaYafb#a4#Waf.6a4.6.X.6#A#x.8.8#FaJboaJaNaEaJboaNaubqay#5apapaPaP#qaB#q#q#q#qbrbraP.CaB.C#q#qaPaBapaBbrapapai#5apaiai.B.lQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.o.j.o.o.o.j.m.j.o.o.j.j.o.o.j.j.m.x.k.m.k.k.k.k.x.l.pahaiai.CaB.CaBblbwbwbkaJaU#9a6aS#uad#u#u#Va8#u#p#ua8aX#pa7#pa8aS#p#p#u#p#paSaXa7#p.5a7a5a1a5a7b..5a1a0aeaYb#aYa3aea3a0aZ#W#Wa3#9a3#9#W#9#v.H.6.X.I.6.7#z#A#.#ebuaKaQboaOaMaMaJaAax.BaiaPap#qaBaPaB.Cbr#q.C#q.Cbr.1#q#6#qbraBaBaPaPaPaBapaBapayapapay.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.n.o.i.o.n.o.o.n.o.o.o.o.j.m.m.m.l.m.m.m.x.m.m.k.k.k.lahaiaPbraBbraPbzbkbubkaC#d#9a6a7aS#paX.G#u.4ad#uad#pa7#uaS.GaSad#p#pad#V#u.G#paXa7a7a1a5a5.Ga1.5.5a0a2a3#vaYa3aYaeaea0a0aea2a3#9#vafafaf#v#v.X.X#x.7#z#x.9#CagbDbzbuaNaKaNaMaLaubmay#5apaPaBaPaBaBbr.CaB#qaB.C#q.C.C#q.C.C.C#q#qaBaBaBaPaBaPapapaiayabQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.r.m.o.m.m.o.o.j.o.o.o.o.o.o.o.o.o.j.j.m.x.k.k.l.l.r.qahapayaiaiapai#jbFbobBaM#Xa4b.a0a5aXa5#paSa8#p#uad#paSaS.Ga7aXa5a1a7b.a5a7.5b.a5a2a5a0.Gb.b..5a2a0a2.5a2.5.5a0a3a3aYaYb#a3aYa3#v.X#va4.H.6#W.XaV.I#A#w#A.8#.#DblblaMaNbwbgaNbwavbxaiapbraBaB#qaP#q#q.C#q#q#q#q.C.C.C.C.C.C.C#q.C#6#q#qaPaPaiapayapai#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.j.o.o.o.j.o.o.o.o.o.n.o.o.j.j.m.x.m.m.m.m.x.x.k.l.lahaiai#qapap#q#gbGbAblaN#H#xa0a7aXa6aSaX#pada8#p#u#u#paS.GaS#pa7aSaSa6a5a5a1.Ga5a5a5a6a0a1a1a2a3.5b##Wb#b#aYafaea3b#a3aYafaY#vaY#Waf#9af#vaV.X.X#x.6#w#A.K#.agbubFaKaJaWblaKaRaA#s#5aiapapbr.C#6.C.C.1.C#6#6.C.C#6.C#q#q.C#q#q#q.CaB.CbraBaPapaB#qaBaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.l.x.j.j.o.o.m.o.m.m.n.o.o.j.m.m.m.x.m.m.k.m.m.m.k.r.raqaiayapaiaibHaVbybEbwaN#3#xaea2a2a6a5a7a7a7a5a7a7a7a7aS#pa5a8aXb.a5a5b.a1a0a2a2a6.5a0.5a1.5a0.5aYa6a6a0.5a0aYaeaeaYaYb#aYa3#vaf.Xa4#y.H.H#v#y.6#x#z.6.9.9#C#fbzaNboblaJboaOaOaA.4aBaiaBaPaPaP#q.Cbr#q.C.C#q#q#q#q#q#6#q#q#q#q.CaBbr#q.CaBaPaBapaBaBapQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.l.j.m.m.m.o.m.m.i.o.j.j.o.x.m.m.m.l.k.m.m.m.x.m.l.l.rah#5aiaBaBaP#ra3bEbzblaK#j#wa0.5.5aSa6a7a6aSa5a5a7a5a1a6a7#pa7a7a6a6a1a1a2b.a2a1.5aZaY.5.5a0.5a1aZa0.5a0a2a0aYaYa3aeaYa0b#a3#W#W#9af.X.6.XaV.6#y#x#x#A.9.J.K#DbwbwaNaJbtaRaOasboa9apapaBaBbr#q.Cbr.C#q.C.CaB.C#qaBaPbr.C.C#q.C#6#qaP.C#q#qaP#qaPaiaP#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.j.m.m.x.m.m.o.o.o.m.n.m.j.l.j.m.m.m.x.m.k.m.l.r.l.rab.B#5aiai#5bpb.bBbvbwbu#L#xa0b.a7aXa7aS#uadaXaSa7a5.Ga6a7aXaSa7aSa1.5a6a2a0.5.5b.a0a2.5aea2a5a1a2aZ#Wa3#9aY#9a3a3b#b#aYa3a3afa3#v#v#v#v.X.6.X#xaV#y#y.7#A.RanbzbDaJbtaNbDboboaMa5.CaiaPaBaPaB.C#q.CaPaB.C#q.C#q.C#q.1.Cbr.C#q#q#q#q.C#q#q#qbr#q#qaPaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.l.k.m.x.o.j.j.j.j.o.o.o.o.o.m.j.x.x.k.l.k.l.x.x.k.k.kabay.Bapaiaybpbebgbobobtal.9#vaYa0a5a7a7aSaS.G.Ga1a7a2#paSa7a6a5a7a5a7a0a5a6a5a5.5.5a6.5a2.5ae.5aea2aYaYaY#Wa3aYa3#Wb#a3#Wafaf.6.X.X#w#y.6#x#w.7#y#x.8#x.9.T#JbkblboblbwaRaMblaR#y#SapaiaBapaBaB#qaB.C.1.C.C.C.C.C#S#6#q#6#6#6.Cbr#qaB.CapaPaBaBaPaB#q.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.x.j.m.o.m.j.m.k.m.j.j.m.x.m.k.m.x.k.x.k.m.m.m.p.x.k.labaiayapai#5bq#sbEbgaKaKaw.Qb#aea0a6.Ga6aSaSa7a1a5a2b.a7.5a1a7b.aXa6a5.5.5a2a1a2a1.5a1.5a0aYaYaZaY#9a3aZb#aY#v#vaZ#WaY#vafaf.H#v#W.H#v.H.H.6#w.7.7#x.9#..K.L#kbvbuaWbobtaKaNaQaRak#rapaPaBapaB#q#6.C#6.C#6.C.C#6.1.C.C.C.CaB#q#q.C.C.C.C.C#qapaBapaBai.xQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.k.m.j.m.m.j.x.m.j.o.j.o.x.m.k.x.m.r.l.q.x.l.l.p.m.x.paaaPayaiapaibq.DblboauaWal.M.Hb#aY.5a1.5a1a1a2a1a5b.a6a7a6a6a6a5a7.5a2a1a0a0aea6a2a0aZa0a0a0aYaZaZ#Waea3af#v#Wafafaf#Wa3.Xaf.6.H.H.H.6a4af.X#w#x#y.8#z.R#..S#nbkbgbuaKaNaRaNaRbo#4bpapaPaP#qaB.CaB.Cbr#q#6.C#S.C#q#6aB.1#6#S.2bsaS#.#Y#n#X.CapaBapbrap.rQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.o.o.m.x.m.x.m.j.k.m.m.m.m.k.k.l.k.m.x.k.x.k.l.k.p.labaiaiapaPapbpbpbzbyaCaOao.M#vaYaYa0.5a2a2a2a2aYa0b.a2a2aZa0.5.5a0b..5a6.5.5ae.5.5aZa2.5.5a0a0a0aZa3aY#W#W#W#9#va4aYaYafaY.HaV#v.6.H#w#w#y.7.6.7#y#C#A.K##.M#nbEblbubtblaJblaWaJ#Mbqai#q.C#q.Cbr#q#q.C#q#qbr.C.C.1#Sbm.Ea5#.#Z#G#g#F#F#f.P#SaiapaibraPahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.x.x.o.m.o.m.m.j.j.j.k.m.x.m.k.k.l.r.p.l.l.x.k.l.x.m.laaaiayaiapaPax#SblboaCbvaKbJa4#9aZa2.5a2b.b.a0.5a1a2a2a0a2a2aZa0aYa2a1.5a2a1a0aZaYa3ae.5aZa2aeaYa0aZa3b#afaeb#aV.X#9#Waf#v#v.Xa4.XaV.6#y.I.6#x.7#A#C#..L#a#d#NbFaJboboboaNbgaLblaD.DapapaP#q#q.C#q.C.1bK#S#S.Dbna7#A#K#i#2#d#faU#d#d#D.Oag.DaiaPaPaPap#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.k.k.j.j.m.l.m.k.k.m.k.m.x.r.l.p.l.l.l.l.x.k.k.r.m.labaiaPapaiaB#S#qbkaWaFaLaAa..XaYaeaYaeaY.5.5a2.5a6.5aeaZb..5.5a2a2b.a2a0.5.5a0a0a3a3aeaYaea3aYa3a0a3aYb##Waf#v.Ha4#v#W#v#v#w.X#va4#y#Waf.6aV#xaVaV#B#.#.#B#basbwbyblblaNaOaNaQaQaRa#aB#qaB#q.C.1.C#q#LauaEakb#a5be.B#5.2#sam#FbJ.S#D#dagakbnaiaPapaP#qaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.o.m.o.m.x.m.m.k.x.l.j.m.m.x.m.m.m.k.x.x.j.x.k.k.l.labaiaiapapaP#qapaWaWaObuaA#daV#va3a3#WaYaeaf#9aYaYaY#9a3a0a2aZa0.5.5.5a1a1a1a2a0a2aYa2a0a3a0aea0a3aeb#b##9#9afaf.H#Wafaf.H.6aV.6.H#ya4.XaV#w#x#x.K#B#B.P.TaUaKbobvaJbwblblaLaWaQaObLaPaBaPaB#q.C.C.1aLaE#nbIbmbsbe#8bsbja5#Uan.Ua.#c#d#D#daXaiapaPaPapaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.m.x.m.m.x.o.k.x.m.m.j.j.o.m.m.k.r.k.k.m.x.j.o.x.k.k.r.wapaiapapaiaBaPbubuaMaQau#F#y#W#W#W#9#9a3aY#Wa3a0aea3a0a2a0a2a3a0aYa2aeaeaf#9aY#9#vafaYa3#9aea0a3a3aYa3aZ#W#9a4#vaf#Waf.6.X#y.6a4.6.X.IaVaV.I.I#A#x.9#A#B.TbwbGbzbtbwbobubzaNbgbobLaB#q.C.C#6.1#6.CaNal#jbd#SaH.G.CbM.Gad#x#G#F#1#H#a#Waj.DaB#q.C#q.CaBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.x.m.x.x.m.o.j.j.m.o.j.o.x.x.j.m.x.k.m.m.x.j.m.m.m.x.m.y#5aiapayaiaPapaNbtaWbgaW#i.9.6.X#W#W#Wa3a3a3#9b##9#Wa3b#a3#9aYaYaZa0a2a0a0.5a0a2a0aeaYa0aYa0a3b##WaY#W#9af#W#x.XaVa4af.X#v.X.H.X.6#x#z.7#z#..R#..W.ObJ.M.ObzaAblaWaJaNaKbwboboaM.DaB.C.C#q#S#6bH#SaOaMawb##H#i#2#3#X.Xbb.3bpaxbMbMbHbH#S.1#q.C#q#q#qaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.k.x.x.m.m.j.k.m.o.j.m.j.j.o.x.o.m.m.j.o.x.m.m.m.l.m.l.w.B.Baiaiaiai#qaMbtbtbwaQ#K#.#w#y.X#v#vaf#vafb#b#a3.H#va3a3a3aYa3a0afaYa3aZaeaY#9a3a3a3a0#9aZa2a3aZaY#W#Waf#Wa3#W.H#9.H.H#v.X.IaV.7#A#A#..K.R.L.Sagag#c#e#obl#N#P#mboaJbkaNbvaKaN#rap#q#q#q#6.1.C#q.7#B.5azbIax#rbKbH#SbKbM#SbK.1#S#S#S.C.1#q#qbr#q#q#q.AQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.j.l.m.k.k.m.m.j.m.m.m.j.j.o.j.m.m.j.m.m.o.m.x.j.k.m.x.yai#5#5aiaPapbMaEbububvbt#4###A.6aVa4#vaf#v#Wb#aYa3#W#9aYb##W#9b#a0b#aZa3a2aYa2a2a0a0a3a3#9aeaYa3#9aYaf#Wafaf#v#W.6#v#W.6.6aV#x.8#C.K.L.L#a#b#D#E#D#X#1albtblauaLaM#OawaAaKaKaLaK.2ap#q#q.C#6#6.1.CbHbH#r#SbH#S#SbK#S#S#S.1#6#S.1#r.1bK#S.1#6br#q#q#qaB.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtab.x.j.m.m.m.l.m.m.o.o.o.i.o.o.o.o.o.j.j.k.m.m.k.l.m.k.waiap#5ayapaPbN#3bybGbDbuao#D.J#w.6.6.6.H.X.H.X#9af#vb##W#9aYa3#W#W#v#vaV#Waf#9aYaYaZaea3a3aea3aYa3aY#9ae#WaY.H.X.X#x#w.I#x#A#B.L.O.N#daU#n#laDaMaLboavbtbtbkbEbuaWbuboaR#KaKbgaNbp#q.C.C.C.1#6.1#6#q#S#S#S.1.C#S#6#S#S#6#6.1.1.1#q#q.C#q#6.C#q.C#q.C#q.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtah.r.m.m.j.j.x.j.o.m.x.o.m.m.o.j.k.k.x.k.l.l.m.x.m.m.l.r#5aiaiaBaBaB.2#dbCbgbzbgaWaU.K#ya4.6.X.X#v#W#9#W#W#v.Xaf#9#9b#afafa3#9afae#9b#ae#Wafb#a3#WaZ#W#vaea3#vaf#vafa4.XaV#y#A.7.J.K.W.O#d#f#n#OboaKaJaKblbububwbgbwbvbzbzaWaKaQ#maMblaO#r#q#q#q.C.1#S#S#6#S.CbMbHbH#S#S.1.C.C.1#S#S#S#q.1bK#S.1.1#q#6#q#q.Cap.wQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtabab.o.o.o.o.o.m.o.j.m.m.m.o.m.m.m.m.j.m.x.m.x.k.l.l.r.yapaiaPap.CaB#7.KbAbgbvbgar#c.K.I#y.Xa4#v.H#vaf#vafb##W#Wb#a3#9#W#va3af#9a3a3a0b##WaYb##Wa3aYaf.X.X#v.6.X.X.6#y#x#A#C#C#B.M.TbJ#GaFbwaOaKbgaMaRaMauaJaWaWaJbtbubkbvblbvbkaQbkaW#4#r#q.CbH.1#S#S#S#6#S#S#S.1bKbKbH.1#S#S.1.C#6#6.C#6.1.C#6.1#6.C.1#6.C.C.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.B.w.q.o.o.o.j.j.x.o.k.j.o.j.j.o.m.o.o.o.k.k.l.x.k.j.x.yapaPbrbr#q#q#T#9bCbGbubgaJ#h#B#A.7aV.I.Ha4.6.H#v#v#Wa4#vaf#W#Wa4af#va3a3a3b#af.Ha4.H#vaf#W#v.X.6#v#vaVaVaV#x.J#BaU#KauaJaKboblblaWaNaWaMbwboaMaLaKaWaNaLaJaNbtbzbDbtaWaNbtblaKbNaB.C#q.C#6.1#6.C.C.C.C#S#SbK#6#6#S.1#6#6#S#q.C#q.C.C#qaP.C#q#q#q.C#6#qapQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtabab.w.r.n.o.o.j.o.m.x.j.m.o.o.o.k.m.k.l.l.x.x.m.m.x.r.wapapaBaBbr#qam#pbBbBbFbtaQ#0#.#x.X.X#W#v#9.Ha4af.H#v.6.H#vaVa4.H#Waf.6.XaV#y#y.H.X#w#y.6.X.6#A#..M#X#NaFaOaMavasblaQaLavaJaNbtbgblblaQaWaWaLbgbvbwbgbvbuaNaWbEbobgbFbEblaWaL.3.C.C.1#S.1bK#6#6.1#6#S#SbK#S#r#rbM#SbH#S#q.C.C#6#S.1#S#S#6.1.C.C.C.1.1.1#qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtac.v.w.r.r.k.m.o.o.j.o.o.o.o.m.j.x.o.x.l.k.x.m.x.l.l.p.vapaBapaBaPaBbL#UbubAbgbybk#F.8.9#A#AaV#y.6.X#x#y#w.6.H.6.X.6#w#y#y.7aV.I#x.X#x#C#a#F#NaraEaCavaCauasaEaQarauavaDaKaNauavblaQbwbzbDbwbDblbtaNbtboaWaLbwaJbubtbtbkaQaMaJaO#3bM#S.1#q#S#S#S#6.C.C.1#S#SbKbK#S.CbKbM.1#SbK.C#S.C.C#q.CaB.C.C#6#6.C#6.C#qaBaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtac.v.y.q.p.r.m.j.m.j.m.m.m.j.j.m.m.o.m.m.j.x.j.x.m.l.r.vapaBaBaB#qaB.2bnbBbBbkbwaJ#g#..J.9#x#y#y#x#w#A#x#A.J#.#w#A.7#z#y.7.8.L#c#h#kaAasaLaJaRavaMavaMaMaAaOaCasaKaFaObtaOaNbtbtbDbzbobDbCbEbvaOaNbgbvaWblaOaNaQaObgbvaKaJaRaD.J.D#r.C#q#S#S#S#S#S#S#SbHbMbKbMbM.1#S#6bK#S#S.C.C.1br.C.1#S#S.1.C.C.C.C#q#qaB#qaPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.qabab.w.q.r.o.o.o.o.m.m.m.o.j.o.x.m.k.x.l.k.k.l.r.l.r.yaiaiaBaBaPaBbpbObBbEbubAaW#J#a#B.8#x#A#z.I#w#x#A#x#z.J#z#..LaT#iaoaOaOaOauarauaEaA#NalawaOaFaOaMblaWaLaKaLaLaWaObtbgaNaNbtbwaQbDbwbgaWaQbtaWauaLaQaFaWbobzbtaOana3a9aGaxbp.1bK.C.1#6#S#S.1.1.CbM#SbHbm#SbHbMbKbKbK#6#S.C.C#q.C.C.C#6#S#SbK#6#6.C#q.C.CaBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.kab.v.w.w.q.q.x.o.o.o.o.o.o.o.o.o.m.j.k.l.m.x.r.p.r.p.qai#qbr#q.C.C#S.2bBbBbgbAbFaR#GaU#f#i#LaraRaWaKaOavaQblbgaQaOaMaMaEaMavaLaJavaEaAav#P#NaFaWaKaNaKaQbgbuaWblaMaQaQaNbubvbEaKbvbkbgbDbuaKaLaJaD#Q#bafbi#s#TbLbqbpbmbMaxaxbM#rbK#rbMbHbMbHbK#S.1#6#6#SbKbKbM.1#S#r#r.1bK#S.1.C.1#6.C.1.1.1.C#S#S#S.1.C.C.C#qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.oab.r.q.r.q.y.q.x.o.o.o.j.m.j.m.o.m.k.k.l.l.l.l.p.r.r.yaiapapaB.C#q.1#rbCbCbFbCbwbzaWaWaOaMaOaLaOaQaOaMaMaQaWaMaKbobobuaQasasaLaMaOaKaQaLaLbtbuaWbgaWbtaWboaWaFaRaKavasaFaMaMbubkbkaR#G.I.4.Ea##T.2bqbm#r#r#rbM#r#rbH#rbM#rbHbK#rbMbKbK#S.1bKbH#S#S.1.C#6.1#SbHbH#S.1#S#S.CbK#q#q.1#S.C.1#6#S#S#S.1#6#q.C.C#qbmQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.Aaa.q.q.y.y.q.v.p.k.o.o.o.j.o.m.k.k.l.k.x.k.k.k.l.k.r.vapbr#qaB.C#q.C#rbBbBbDbvbwaWboaNaNbuavaNaJaOaQauaAaWaJbFbybFbvbkbgbAaObvbkblboaQaNaWaKaQaRaKblaNaubgaWaMaLaLaE#X.XadbnbPbIbL.Dbpbmbmbmbpbm#rbMbMbHbM#SbH#SbK#SbH.1#S#S#SbM#SbMbM#r#rbH#S#S.1.1#S.C#S#rbKbK#6#SbH#S.C.1.CbHbHbHbK#S#SbKbqbO.E#8bO.2bL.2axQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQt.hac.w.q.q.y.y.q.r.l.o.n.o.o.o.j.x.m.m.m.k.k.x.p.l.r.r.waP#q#q#q.C#q#q#SbBbBbBbBbyboaNblaQblboaMaWaWbubzbFbGbybubCbFbkbgbuaJaLaWbwaLboaKboblaFaEauaFaOaLaRaMat#o#wadaH#s#T.2bpaxbpbmbmaxbm#rbpax#r#rbp#rbpbMax#rbM#rbHbMbM#SbH#S#SbMbHbK#6#S#SbK#SbH.1#SbK.C#S.C.1#6#6.C.C#S#6bK.1#r#rbL#saG.E#sam#7bL.2bpbN.2bNQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtab.y.q.q.q.q.q.l.q.l.l.n.n.j.m.x.m.x.x.l.p.k.l.r.r.q.q#5aP#qbr#q#q#q#rbybBbzbvbBbzaJboblbwblaObtbgbDbtbzbCbybybybDbwbgbkbgaNboaWaWaQaKaJaOaLaQaMaCat#e.H#V#UbPa#bLbL.2#rax#rbpbmax#rbm#r#r#rbMax#r#rbmbmax#r#raxbm#raxbmbMbMbM#r#rbK#SbM#6bH#S#SbH#S#S.C#6#SbKbM.1#6#6.C#S#S.D#T#s#R#s#T#T#T.2.2ambIam.2bI#T.2QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.B.v.q.v.v.v.q.r.r.q.l.o.o.m.m.x.x.l.x.l.p.l.r.r.r.p.qaibr#q.C#6#q.Cax.4bBbybCbtbybGbDbybEbybCbFbybzbGbDaNbtblbubvbkaOaOaJaJaRaQaQ#4.Na2.4#Ra#.2.2bpbM#S#rbHbMax#r#r#r#rbm#r#rbpbmbM#rbmaxaxbM#r#r#r#r#r#SbH#rbMbHbHbK#r#rbmbK#r#rbpbmbp#rbKbH#S#SbK.1#S#rax.2#sbO.EbP#TamambIbL#T#TbP#Ta#bP#sbObQbnaHazaj.4.4QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtai.w.r.q.q.r.q.q.r.q.q.k.o.n.j.x.m.k.k.l.r.q.l.r.r.q.vaiaPaiaB.C#q.C.CbMagbBbBbCbGbCbvbybFbzbwblbzbububtbgbkaNblaO#Q#Ca1#U#s#T.2bN#r#SbH#S.1#S#S#6.C#SbHbKbK#r#rbMbM#r#r#raxaxbpbpaxaxax#rax#r#r#rbH#r#rbK#SbMbK#raxax#r#rbHbMbK#SbKbH#S#SbH.2a##R#8bQa#bPbP#Tam.2#7am#Tama##7#s#Rbs#UaIbcba#pa2a3af#A.S#E#VQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt#qah.q.q.w.q.q.y.q.y.q.l.r.o.o.k.k.k.x.p.r.k.l.r.q.r.qay#q.CaP#q#q.C#qbr#S#vbEbBbGbFbvbGbAbtaWblaDaTa3.4bQ#7.2.D#r#rbK.C.C#q.C#6#6#SbH#SbK#S#6bKbH#rbMbHbMbM#rax#r#r#r#rbMbH#rbMbM#rbM#r#r#rbmaxbMbK.1bH#S#S#r#6#SbMbKbMbM#rbL#s#8bj.EaGbxbP#Tbx#7#T#s#s#s#s#saG.Ebn#U#tbdbaaSa2b##v.8.Oak#F#M#QQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.Baa.w.q.r.l.q.y.w.v.q.r.r.q.k.p.l.l.m.l.p.l.r.q.l.r.vapaB#q#q#q#q#q.C#6#6#S.Da5a.#aaYbe#sbI.DbpaxbM#S.1.C.1bK.1#S#6.1.1.C#q#6#S#S#S#6.1.1#6.1#SbK#rbMbm#rbpaxbm#r#r#rbpaxbpax#r#raxbpaxaxax#r#r#rbMbM#S#SbHbIaG.E#RaG#s#saGa#bx#Tam#TbP#T#s#RaG.3#8#tbebb#ub.a0b##y#A.T#f#X#F#2atavaMaAaraRaO#mbpQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtayaqaa.v.v.y.v.yab.w.y.v.r.v.r.r.k.x.l.l.k.l.p.r.q.q.qap#q#6brbraP#q.C.C.C#q.C#rbp#r#S#SbK#rbMbKbK.C.1bK#SbK#S#S.1#6#S#S#S#S#6#S.1bKbKbH#S.1#S#SbK#r#raxaxaxbmaxaxbMbH#rbM#rbH#S#rbHaxbm#rbN#TbO#s#samam#T#TbxbPa##T#TbObO.E.Ebsbnbjajbdadada6a2#9aV#A.Ka.#h#n#maraFbwbgaWboavas#O#k#h.T.RaV#9a5blbgaC.7QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.yac.w.q.r.q.q.q.y.v.v.v.q.vab.w.w.w.l.p.r.l.q.v.r.v.vai#q.Cbr#qaBbr#q.C.C#6.1bHbMbHbHbKbM#S#S#S#S#S#S#S#q#6#S#6#6#SbK#6bK#6#S#S#6#S#S#S#S#6#S#rbMbMbHbpbmbmbqbmbm#rbMaxbm#r#TbOaGbOam#T#7bxam#TbLbI#TbPbP#sbObQbQ#Ubjbebb#u.Ga2a2a4#A.V#D#Han#i#maFbkbzauaMaQaKauaF#k#Z#d#..6b#b.aSa9.4ajajaIaIbvbwbzaWaQaC#LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.oac.w.q.v.v.r.r.qab.w.w.y.w.q.waa.v.q.l.l.x.p.r.r.q.qap#q#qaBaBaB#qaybr.C.1#6.1#6#S#S.1bKbH#SbM#r#SbK#SbKbHbK.1.1bK.1.1bKbMbK#S.1bK#6.1#S#6#SbK#Sax#raxbpbm#7bOaGbPbI.2bIbIa#am#Tam#T#s.E.E#Rbn#U#UaIajbb#p.Ga2a3#v#z.Ran#X#o#2#jaQbobwbkaNbFbtaraFat#lak.P#xafaZ.5a8#u.4.4.Ybibe#t#U#UbnbnbsbfbFbkbwblavaWbkaNaKa1QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.Aab.q.q.q.y.y.q.qaa.v.q.v.qaaaa.w.y.r.r.l.l.r.p.q.r.rayaB#q#qaPaBap#q#q#6.1#q.1.1#6#6.1.C.C.1#S.1.1bK#rbKbHbK#S#6#6#6#S#S#S#rbK#S#SbM#SbM#SbHbKbMbpambObQaGbPbIbIbxbP#T#T#Ta##TambP.E#8#8bnaI.4.4#uaSa6a3#v.J.W#E#n#i#NaCblbobobubobtaWasaKaE#Q#g#f#.aVa4b.#p#Vba.4ajbi#taIbjbj#t#U#UazbsbnbhbcbkbkaOaLaWbzaRbzbvaOaR.DQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.c.w.y.r.q.q.l.q.q.q.q.y.w.w.y.wabaa.w.q.l.r.q.q.r.y.vapaB#qaB#qaBbr#q#q.C.1.C.C#SbH.1bMbK#SbK#S#S#S.1#6.C.1#6#6bK#S#S.1#r#r#S#6bKbKbHbKbMbK.DbO#R.E#TbI#Ta#bx#Tbx#TbP#sbObhaG.E#RbnbjaI.4#u#ua5a3.H#x#.aU#J#Z#QasaFbvbDbkboaKaWaFauaC#i#n#d.W#A#vaZa7a5#pbbbbbibf#t#taIbj#t#U#U#U#UbnbnbQ#8bh#ublblaQaNbzbzbgau#laLaC#m#8QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.hac.w.q.y.q.q.r.q.y.v.w.y.q.w.q.w.w.w.w.q.l.l.q.v.y.vap.Cap.1#q#q#6#6.C.1.C.C.C#S#SbHbH#SbK#rbK#S#S#S#SbHbHbHbKbKbKbH#SbM#rbqbxbP#sa#.2.2ambIamama#ambx#s.EbQbh#Rbn#UbfajbbadaSa2aY.X#z.N#E#n#kawaFbtbzbgbzbuboboaJas#P#H#D.N.9afa3a5.5ad#ua9.4aj#t#t#U.Fbebjbjbnbnbsbh#R#8bn#8bn#8#8#8bQbhbPQtQtQtbcbybybAblaMaQavaQaLasaFaoQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.0ap.w.v.q.v.r.r.p.y.y.v.qababab.w.waaabab.v.q.q.q.q.vap#q.C.C.CaB#q.C.C.C.C#S#6#S#S#S.C.1#6#6.1.C#S#S#q#S#SbHbI#8#8.EbPa##T#TbI.2amam#T#TbP#s#s.E#8#Ubjbe.4#ua5a2b##y.7.QaU#1#1#latalaJbzbFaNbFaJboaQaC#M#1#d##.I#Wae.5a5#ubb.4bdaj.F#t#U#U#UbnbnaHbjaHbn#UbnbnbnazbsbQ.EbQaG#8bh.Ebh#sbQbh#sQtQtQtQtQtQtQtavaJaKaNaRaOaL#JaraOawa9QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.zbIaaab.v.w.q.r.l.v.y.w.y.y.vab.w.w.w.y.w.w.qab.p.q.rai.C#6.C.1#6.C.CaB.C.C.C.C#6#6.C#6.C#S#S.2bObQbh.EbxbxbP#T#7.2ambIa##T#T#TbxbO#R#8#UbfbibbaSa2a3.6#.aT#J#3#jaDaAavaKaNbuaNaKaKaMaFao#Z#a#b#B#x#vaYa1a7a8a8ba.4.FajaI#t.FbjbnbsbsaHbn#8bn#R#R#8bn#8bQ#8.3#R#R.E#saGbhbhbQ.Ebh#8.3bObObxbOQtQtQtQtQtQtQtQtQtQta0aJboaWaQaQaraO#G#4.WQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQt.z#Sab.v.q.r.v.w.q.w.q.y.waaacabababaaaaaaabab.w.r.r.qaiaB#q#6.C.C.C.Cbr.C#q#q#6.C#6.1axa#bQ.3aGbPbxbPa#bI.2ambIam#Ta#bPaGbQ.Ebnaz#UbiadaXa1a3a4#A#b#f#H#i#JaDaRbtbzaNbubDaWbtaCar#IaU.N#.#x.Xa3a2a1aSaXadba#Vba.Ya9bc#tbebe#t#Ubsbnbn#8bn.3#8.3bs#8bh.EbQ#8#8.E#8.EaGbObPbx#sbO.Ebs#R.3.E#R.EQtQtQtQt.D#TbLbqQtQtQt#faWaMaMaRaE#PbJaw#4#.QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQt.macab.w.r.v.v.v.q.q.q.q.waaaaab.w.wah.waaaq.Bab.r.qapaP#6#6.C.C#q#qaB#q.C#6bM#TbQ#R.E#TbIa#bLbN.D.2bL#Ta#bxbx#s#sbhbs#Ubeajbb#ua1a0#v#x#B.N#c#f#Z#MasbvasbgbkbobgaNaK#P#M#h#c#BaVafa2a0a5a5#pada9a9#u.4.Fbdbibibfbebebj#taI#tazbn#8#8bsbs#R#8#8bQ#8.E.E#R#8#8bQaGbhbObhbQ.E.E#Rbn#Rbsbnbs#Rax.2.2bpbpbpbmaxaxQtQtQt#gavavaFaDaAaD#L#Z#LQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQt.g.iaqab.v.q.v.v.r.q.q.r.y.y.wacabahababaaacacabaa.vap.C.C#q#SbLaG#8bnbOa#.Dbqbpbpbp.D.2.2bIama##sbQ.Ebs#Ubn.4baada6ae.X.9#D#c#F#J#LaraRaKboaNbobuaQaQaE#j#nan.V.7#yb#b.a6.G#ubb#V.4bc.4bibd.4.4bibcbdaj.FaI#tbn#UbnbnaHbnbnazbQ.E#R.E.E#s.E#8bsbnbQbhaG.EbhbQaGbh.E.3#8bQbO#s#7.2bpbM#r#rbHbM#r#TaIaY#c#Jaf.D#rQtQtQtQtQtavaQasaCaCaD#Nar#nQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQt.z.uaqab.p.v.v.q.v.q.q.q.y.w.w.y.waaabab.wacahaa.q.2a#bLbqbpaxbH#r#rbp.2bpbLbIa##Ta#bh.3bs#tbf#V.Gae#v#x.Q#d#Y#o#KaFaNaWbgbtaNaLaEasat#k#n#f.P#A#x#Wa0a6.G#uadbbbcbibcaj.F.FajajaI#U#Ubjbj#Ubnbnbjbj#tbn#UbnaH#Ubn.3#U.3#8#8#RbO.Ebhbh#sbQbQbQbh.E.E.EbO#T.2bN#rbmbM#r#r#r#r.2bh.4.X#e#NaCawarar#mataCaD#Oarbn.CQtQtQtQtQtQt#kaKavaFavauas#PQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQt.0.m.B.w.y.v.v.w.l.q.q.v.w.w.y.v.waaaa.wabababab#rbMbKbMbHbm.DbLa##sbQbQbnbs#t.YaXaea4.J##bJan#1aDaMbgbtbubtaNaRalaw#2#3#d.L#Ca4a3b.a7a1a7adad#Vbabibdajbibi#tbfbj#t#UaIaI#Ubj#Ubnbn#Uazbsbsazazbnbs.3bnbs#R#RbQ.E.E.EbsaGaGbsbsbs#RbxambNbpbM#rbH.1bKbmbpbh.Yaf#E#l#OaDasaRaEauav#M#M#i#Oaw#maA#m#Oawaraw#QbqbrQtQtQtQtQtQtQtaFaraMavavala.QtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQt.0ah.y.q.r.w.v.q.q.v.yaa.v.yaa.w.y.v.w.waaaaab#rbmax#rbN.2ambxaGbsbnbea9a6a0.H.8.V.U#F#j#4aLaMblaWbFaOaQar#m#nakag#.#wa3a2a7#p#u.4.4.4bcbdaIajbdbfbi#taIbf#tbnbnaH#tbj#taH.3bnbnbnbn.3bsbnbn#Uazbs#R#R#R#8bs#R.3#UbnaH#RbObI.2bmbpaxbK#SbMbHax.D#Ua5.J#n#Pawaoasasat#O#OalaDaEaD#Q#Q#Qaw#m#jalaDalaDaw#N#4.RaBQtQtQtQtQtQtQtbsaEaFaKaMau#1QtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQt.naqab.v.y.q.p.r.q.v.w.y.w.waa.waaaaabab.wab.1bMbmbpam#TbP.E#Ubd#u.5.H#A.T#d#oataAaKaubuaOaOasalaw#2#g.U.L#z.HaY.5aSadbabb.4bd.FaIbiaI#taHaI.FaI#UaI#UaIaH#U#U#Ubj#Ubj#Ubnbn#8bsbn.3#8#8#R.3bnaH.3.3aH#UaIbjbn#R#sambIbpbqaxbMbm#rbNbO.4afag#l#Par#NaraD#NaEalawarao#NawaAaCaoatatao#Q#O#Q#4atawaw#K#i#n#j#qaPQtQtQtQtQtQtQt#FaMaMauaR#j#tQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQt.x.B.w.w.k.q.v.y.q.y.w.w.wabab.waaa#bQ.wahbq#sbnaIada5aYaV.8#F#H#jaw#Masat#L#I#2#Fag.M#B.X.Haeb..Gba.Yaj.F.Fbj#UbnazaHaHbn#UbjaHbjaH#U#UbjaI#tbjaIbj.3bsbs.3#8bnbs#Rbsbs#R.E#8bn#Rbs#Ubnbn.Ea#ambLbpbqbp#r#r#rbp#sbcaeagataDaDaEaF#QauaAat#OatasalaDataE#OalasaCaAaual#Oataw#Nao#k#K#N#2#d.6a4#m#G.8.P#J#n.CaBQtQtQtQtQtQtQt#favaLaFas#IQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQt.kaa.y.q.p.r.r.r.y.w.yab.w.waaabbx.4a3.4a1#x#b#f#J#g#1#J#o#Y#ha.#D.Q#z.X.5.5.G.4.Ybiajbi#t#U#Ubs#Ubnazbn#tazbs#U#UaHbnbsbnbs#8#8#8#R#8#8#8bs#8#8#R#R#RbQ#8#R#UaIaIbj.3bQa##7.2bqbNbqbqbNbNbLbQbcafanavbuaWaJaFboaEasaOaAaAaAasaCawavaoaCauas#Nataoataw#4aoaAat#N#j#H#.#Las#3.X#y#Aatal#n#I#kaD#m.6#Q#M#m#G#qapQtQtQtQtQtQtQtavaJasao#4QtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.oabaa.w.q.q.vacab.wab.w.waaaabp#sbha9.9#DbJ.O.O.7a4#vb.ad#Vbi#tbnbs.3.3#8bQ#8.3bs.3#8bn#8#U.3#Rbs#8#R#R.3#R.3aHaHbs.3#RbQ#8#R#8.3#8bs#Ubj#t#tbn.EaGbx#TbqbpbmbM#r#rbp.Dbhbc#9#davbublbtaJboaKbgaRbkaWbtaLaLaRauaRaAaEalaAavasat#N#K#javasaCar#PawalaFaEaD#Pal#2#2#I#QaR#O.H#K#kawar#v#kat#naD.T#o#k#h#X.O.CbrQtQtQtQtQtQtavaMaEaR#MQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.w.w.r.r.v.w.w.wabac.wacabbHbpbq#TbsbibeaIbjaHbj#tbnbnbnbQbObQbQ#RaG.Ebh#R#R#8#8bhbhbQ#8#R#R#8#RbQbhbO.EbhbQ.E#RbQ#8aHaH#UbQbPbL.2.2.DbpaxbpbpbpbLbPaIa7#.#QaKaJaWbubzbkaJaJaKaJbtbkbubzbvblbtbyboblaLal#LataC#m#Gbc.Jatas#N.Naf#naOaDaRaraE#4awaAaravaKaR#Nag#N#Pawar.L#Han#W#i#H#h#ibb#k#O#4#f#i#o#kae.C#qQtQtQtQtasaFaMaL#3#MQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.qaa.v.w.r.wabaaabaaababab.CbH#rbp.2bPbPbObPaGaGbhbO#sbPa##s#sbObO#s#s#s#s#sbO#sbhbhbQaGaGbh#R#8#8bn.3bnbQ#s#7.2bpbmaxbp#r#rbmbp#7#Ua1###QaRaNaOaOaKaQblauavaNaJaFaJaWauaObtaNbgbwaKbtblaMaR.6aWaNaRat#n#rawaraF#1#g#n#jbkav#9aDauawataA#P#Q#l#malaAaCbkaLaAao#i.K.4#Yar#I#G.6#F#l#PbJ#m#O#Nav#9#l#M#laA.F#qa9boaKaKaKaOaOaD#K#4QtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s.rac.w.wabacabaa.wah.waa.C#6#rbpbLambI#7bxbxbP#sbxa##s#7#T#sbObxbx#s#sa##s#saG#8#8#RbQa#.2bNbpbNax#rbH#SbHbHbp.Ea9aV#iboboaJbgbzaMaWaNaKaJbgaQaFaNbtaNaWaKaOaMaKaOaQaOaNbtaNbgbobFbwaWaWavalboaJaKau#v#N#QavboakatawalaKaQ#i#j#j#n#jaD#L.Xb#ad#PavaDaDboaE#j#3.V#3#iaEaoaV#M#PataO#W#Nas#Qas#D#K#I#n#Zat.E.CaZaJaJasavavaoaAQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.0abah.wab.waa.w.y.w.w.waP#q#Sbq.2bpbLbLbI#T#7a##T#TbI.2#Ta##T#TbL.Dbp#r#rbK.1.C#6.1#6.C.1#r#sbia3#XavaMasas#NaLasaMauaQaQaQbwbkauaJaMaNaQaFaMaOaJaLaQaMbgboaKaWboaLboauaMaKbkbwbkbvbtaQaTaFaKaMbkaQ#Dauat#mbgag#P#P#yalalaQ#o.4bibbal#O#D#0#iaoaFawararasaD#Pa2#i#N#Nav#B#k#i#J#n#K#f#Iaj#E#Pak#g#n#L#natbq.C#vaK#nboaA#Fa7QtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Z#5.w.wab.waaab.waaabap#6#rbpbmax.2bLbq.2am#TbNbm#S#qapapai.Baqaq.Bah.B.BaiapaBbM#s.4#y#naubtbgaNbgaNaNaRaRaObtaMaEavaMaQaWaKbwbuaWbwboboblaNaQboaWaQauauaQaLaLaFbublaNbtbDbtbuaNaNaK#waJaLaNaWbu#m#Q#3#b#i#L#k#G#X#1#oav#PaV.V#naLaR.Nav#mat#4#PawatblaE#k.R#4#Q#F#K#i#d#objaU#L#f#o#v#.#K#2#D#M#M#O#O#xbraxaQ#KaDas#OQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahabababaa.w.waa.w.waP#SbMbHbmbqbNbp#r#qayab.y.q.l.q.q.v.y.q.yaaaaabaibKbQ#p#B#maraFbtboaQboaMaLavaraRaraAaRaLaNaWaNaLaRaQbkaWaKaJaWaFaQbtaWaNblbtaNaQbuaJaLaEaLasbkaQaWbzbGbBbDbvbv.Uao#4#l#iaNaC#X.V.W#naraD#G#G.Q#gboata3#KasataM.6aDao#OaR#mal#4aDao#l#4#h#Fazag#i.O#H#9.X#J#lbJ#nat#maC#f#Nalaras#P#S#q#daRaoaoaXQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.wababab.wab.w.w.v.w.y.y.q.r.q.r.r.r.r.x.r.r.r.r.w.C#Tbb.I#d#3#j#k#K#mawalaDaRawaDaoaAaualauaLaEawaOavaLaFaRaQavaLauaEaQbgaFaEboaNaNbtaWavaWaJaNblbvaWbwbkbtbE#P#n#i#nbDbE#P#c#N#laOaw#4#G#J#IaL#N.N.N#kaFbo#i#QasaoblaL#y#Q#Nao#MaU#F#iar#OawaEaraEaOar#N#G.J#dan#2#j.Q#i#P#Par#Aar#Nawaw#Jar#P#L#i#O#laBaB#SQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahah.w.wab.r.n.m.l.p.r.r.qaaaqbm.E#u#z#E#0#i#n#f#n#n#L#i#Z#i#l#K#M#o#k#n#L#k#KaD#maE#P#4#karararauaAaEaAauaJaRaRaOavaRaLaLaFbkaMbububybgbGbDbAbgaJ#Pa8#JaJaM#X#2ajaTaE#Q#G#K.X#QaRaE#CalaDaAbkaCa3#4alavaK#G#k#NaAao#o#i#0#N#3a0aXa1.K#QalaCarataw#MaO#j#1ae#l#j#laA.9aA#iana.#G#o#f.MaI#0#l#f#Za2an#i#Fap.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahacaaabaa.o.j.m.la2#X#e#f#f#I#J#1#h#G#3#i#H#1#i#i#n#K#n#I#j#L#Latawat#K#marar#j#N#j#l#l#M#l#m#N#N#LaDaDaoaFaRauaOaObEbE#YaT#Aakbwbu#G#s.T#FbyaT#1a6aS#gaE#3.5awauaWbDal#daWaQbtbz#9al#Oat#j#i.L#Haw#oak.Waf#EaD#k#0#faT#gav#MaYaCaw#O#Pat#NaC#4arawaA#k#F#G#1#x#YaU.S#Cag.6#h#k#X.Vaoalao#4.U#Ya7#D#Y.VaBaBQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.oacacahab.m.o.p#S#h#X#0#JaT#n#Z#F#0an#1#g#1#n#o#3#n#2#i#MaD#M#m#j#m#l#Q#O#m#maw#Lawaw#Q#k#PaCaraRauasaQaNbl#ka4#V#fbkav.V#E.3agbl#I#ZaVajagbz#f.7.Lbb#LbF#I#vaCaFavbuaEalauauauaJ#E#L#Oao#D#fa3#H#i#3#D.Wbc.O#N#k#i.OaU#gaC#kagaraA#OaE#P#O#M#K#NaoaFaC#P#0#D#n#2#M#I#f#3aCalav#n#eaFaC#2ao#D#a#X#.#X#G.CaB#SQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.Bah.w.r.n.xbx#1#F#H#F#F#0#G#3#o#1#i#H#n#o#i#3#H#3#1#Q#j#2#2#I#P#K#m#Oaw#kaD#Q#O#O#O#OalavbuaJ#Q.9#hbtbv.LaYbL.OaL#1#zanbp#A#lan.W#hbh#eaF#l.V#PaDaLbDal#naMawasbtaQ#NaEaA#h#0bda4#ZaA#FaUa0#F#J#O#n#b#j#Nal#L#J#dakaT#Earalao#3#F#1aFar#N#P#P#Z#kalat#G#d#iataDas#n#QawaFalasaw#i#Q#3#oaU#x#A#X#0#G.Hap.CQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtacabaaaa.i.m.r#n#h#o#1#o#l#Z#3#K#n#i#Z#k#Han#d.P.O.V#y#z#K#Oao#Nal#PalasaLaublbubkau#M#LbubFafaU#U.SaU#I.R.Pa8#.#j#G.Nb#araDasbG#o#mauaJaLbo#.aDasaE#O#M#F#YaE#O#o.3aY#0ar#o.S#z#c#0aw#i#9aw#NalaF#n#P#4#o#F#ha.#b#A.6.Tan#Lan#fa4.VaUaA#M#l#l#4#jaAal#IagaD#m#L#P#2#0an#Y#Fa.#Kag#c#0#1#I#1.5#j#M#m#Qa9aB#qQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaaabab.x.o.kb.#3#g#H#n#Y#h#G#f#faU#G#G#D#xa0bnaea4#A#.#P#NbzblbwbA.RaUaa.W#gbF#z#FbL#a#b#L.K.Hak#IaC#P#Xa9#NaDaobv#2#maCavaCbtaF#maL#P#D#daU.6#gaE.P#Zbn#d#Y#1#d#A#kaFaRbo.MataCataAaK.NaoaA#H.Ma.anal#f.O.S#A.LbJ#f#Z#Pbo#M.XawaoaCaE#4#M#4#O#Q#kal#ia.#D#F#D#a.M.H#.#K#Q#QaD#2#W#Oat#laE#1#M#OaE#Pat.3apbKQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.xac.yab.o.k.w#k#H#0#k#n#i#n#I#G#e#gaQ.J#W#D#Z#2#2aw#K.Va.#t.M#oaJ#c.R.7a8#fbAbJaV.8ae#2al#e#Wal#NaoaNaO#KaC#Pau#I#Gak#FaQ#Y#J.4#z#daQak#Ab#.6#gaw#J.5alaOaLbu#Y#OaAasaAaO#D#4#QbJ.V#u.LaU.S.V#E#uak#2#i.O#4at#Pawavaoaraobu#1#oak#FaCar#2#l#Z#k#k#LaQ#Z.U.U#KaAaCao#jaCaCaAaCbt#EaDas#4aD#l#m#PaoaAaFaobOaP.CQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.xab.waa.i.k.l#2#O#j#L#j#0ak#g#j#o#ibvak.I#F#f.U.PaD#4aV#b#W#..VaFa.#W#i#NaOaQ#n.GaraFavbk#M#JaCas#OaMbl#2#law#lanaj.5.Sbo#bbJ.K#zagaM#n.6aD#OasaW#La4araCaFboaoaRaL#F#Y#J#f#h#h.O.S.I.O#g#FbJ#z#OasataM#BaAasaOavawaw#M#MaF.T.5bQ#v#jaEao#j#I#Z#3#k#MaD#gagatawararalaRarasaFav#MarawaoaAalaFaFaFavaraw.TaibrQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.kab.wab.j.m.p#zaw#M#L#L#I#n#G#1#J#0#N#0.9.7.7#p#V#Har.Mag.SaV.R#lbJbbawaoasbtaJa0aFaKaMbgaL#maRaRar#f.5#v#aaC#c.T.P#t.PaCag.9#Y#maEbg#N.HaoaAaFaRbo#4#m#P#K#e.W#E#P#D#aa7#w.M#XanaYatav#OaF#c#F#lat#PaR#xar#j#j#3#gawaD#I#M#A#v#b#iaoaCaFaw#M#2#2#k#m#m#1.U#NataDavaKaraD#4awalaDaRaRaLaA#O#PalaDal#Q#j#ibp#qaBQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.rahabac.v.n.lai#Q#P#k#4#Z#1#n#J#e#F#oaF.Oaf#.##.K#FaL#Ea7#i#NarboasaTaEaOaEaRbw#i#ZboaKa.bjaH#BaraU.LaV#w.P#M#n.U#naRaJbobw#.alauavaDav.Rar#3#2#faf.L#P#c.Lae.IbJaF#da2#4aEaAavatagar#K#P#m#H#f#0#j#N#O#Y#A.7#d#2awal#o#Yan#b#x#Laoal#N#i#l#Q#M#4#i#K#M#k#galasasaCaDauaQaLaral#P#Oawar#Patataoaw#NaC#O#N#K#6aBaiQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaaacabab.v.u.m.k#nawal#m#I#I#k#o#o#X#3#P#0a4.GataFavbDbg.RaCaEal#G.U.X.Mavau.V#8am.8#i#Y#b.9.8#faC#Oa.#kaAaOaRbkag#P#O#k#G#0.Mav#h.OaGbs#.#2#e#D.P#A#iao#Q#.#NaFaDaCbg#E#P#OaE#n#D#u#D#J#K#A.X#E#Mas#D.L.6.Q#zaoalataAaR#J.S#e#M#NawataDaEalaw#L#2#i#Q#M#P#n#MatatawawaD#Oasao#N#k#4#j#j#m#PaoaCaraD#m#Oat#L#AapaPapQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.wahabab.w.l.o.l#raD#M#2#i#M#l#l#J#G#0#Z#O.H#i#i#n#dagagbJ.PaK#h.QbjaI.Waw#I.P.R#e#2auaW.N#LaAaOaDbt#haoaw#1#0#C.R#I#Z.O.T#Ua2aT#G.S#XaEalaAboakaFasav#MaJ#Y#K#Z#Oag#b#U#x#JaQ.M.8#PatataD#D#AaualaCavaT##.RaDaraDaw#P#4#Q#LaQ#m#M#QawaDaFasaE#m#P#n#4#j#k#Ialar#Pao#4aA#P#4#Q#L#Mat#N#2#Q#M#M#l#j#i#Z.Pa1bs.CaB.C.C#5QtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.yahahahab.w.i.l.q#Kalal#4#j#i#k#H#I#M#kaFa.#n.Vag.Q#W.X.K#B#j#n.W#XauaEaFaW###mawavalat#D#N#M##a2.4#w.L#HbJ#..H#f#M#L#c#vaDavaEbk#JaFas#Q#P#k#a#yaUaE#D.8adb##Haw#c.KalaCavaR#i.KauaAaCaFas#YaoaCauaFaQaCaDauataD#4#m#NaDawasaRas#malaD#L#Q#n#L#j#m#j#P#l#L#l#K#malat#j#j#4#M#i#i#i#n#F.6bd#T#r.C.C.C#6.C.C.C.C.C#S.1QtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.qahahac.wah.l.l.rbjaraw#m#G#n#4#i#I#k#4#MaKag#z#ialavataEasaRbB#faLaMaC#2#f#baE#O#A.8#U#u#A#h.T.6#NaDaCau#D.PalarauaWawawao#N#M#Fa2bf#D#k#D.J.J#Z#Oau#c.N#Mararawav#DasaRaQar#3#D#i#G#i#i#n#K#laCaraQboaLaMaOaOasaEaDal#Naw#m#P#Q#m#m#3#i#1#i#Z#l#j#i#l#2#L#j#M#Z#i#K#2#D#vajbL#q#q.C.C.C.C#6#S#S#S#S#S#S#S#S#S#S#SbK#rQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.x.Bahaqabab.y.n.l.qal#4#P#i#I#Q#Q#l#j#L#3aW#3#aauaNaRasaAasasaL#NaL#j.Oa.bba2.L#Ha.a3aCaEauaQ#h#LaJaLaQasao#0#1aC#M#fa5bh#0ar#f#d.6asaRbuaCa.aDaOaMaAaR#Xal#K#n#n#F#e#2#n#law#mararasaDauaRaMaQawaoaLaCalasal#l#i#l#K#2#3#I#i#i#3#Z#i#o#H#n#n#i#1#3#J#1#F.Ma5bs#rbraB#q.C.C#q.C.C.C.1.1#S#SbHbK#r#rax#r#r#rbMaxaxbpbpbpQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.y.qah.wababaa.o.m.raZao#matatawaraoat#K#f.Na..9auaJ#o.Ma5.QaWaOaubk#g#e.MaLaMaCbu#HaoaFar#O#l.L#9aU#4#i#A#Waf#3aD#eag#laAaFaOaF#YalaRaKasaC#3#M#P#3#l#g#I#i#4#NaoauaRbkauauaLaQboboaQaNaLaKaJaOasaW#Q#4#j#m#N#i#H#o#3#3#Z#Z#i#i#1#n#XanaU.U#vajam#qapapaiapaPaBap.C.C.C#S#6#6.C.1#SbMbMbMbH#rbmbp#rbNbqbpbNbpbqbqbqbpbpaqQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtai.racabacaaab.m.m.xbpalaw#Nao#i#MaD#m#d#z#9bs.4aw#FaUbbbi#9aMaC#gaE#IaU#4ataravasal#J#iaC#Nagb.#R#f#j.U.T#x#OauaKatbJalaraMaoaW#jawaE#O#M#o#0#F#3#Z#O#4ataFawavaRaRaraFavaQaLaOavaKbubublbobtblaKaRaE#4#Z#2#M#k#j#O#L#i#J#X#g#X#E#DaVbcam#q.Bay#5aiaiaiapap#qaBaP#q.C.C.1bHbH#6bHbHbH#rbmaxaxbpbNbN.2.2bqbq.2.DbNbq.2bN.BQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtah.rah.Bahahab.w.o.xabaraw#M#l#P#4aw#P#.#W#waY.8aD#g#Bae#A#Xbw#D.J#b#O#FaraCaC#N#cad#8.LaraU#B.L#Zaoav#H#b#kasaEasaN#FataLaF#O#I#0#Z#J#J#3#I#M#NaoavaraKauauaFaAaJaQaLblaJaKaKbubgaEaRaMaKaLaOauaQavar#j#2#i#0#n#n#X#g#f#f#f.6.4bx#qaqaq.Bay#5.BaiapapaiapapaB#q#q.C.1#SbKbH#r#SbH#r#r#rbpbpbpbpbp.2.Dbqbqbq.D.2.2bIbL#TQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.r.B.yabababacah.o.m.k.Vavar#OaCaE#PbB#b#.avaLaraAby#xaFawaE#Qa.#A#xb#.WbkaJaW.N.J#e#MaAaJ#f.OawataEaAaQ#G#N#Q#Q#l#H#X#H#3#2#jalaFaQbtblauaQalauaRaOaraMaAasaRaKaLavaRaOaOaNaKaKaFauasavaKaQaLaWaQaE#l#N#G#f.LaS#s.1ahacab.waaabaq.Bah.B#5.BaiaBaPaP#q#q#q.C#6#6#6bMbMbH#r#SaxbMax#rbpbpbN.2.2.2.D.DbL.2a#bhbQbhbx#Tbx#RaBQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.uaiahababaaaa.w.x.j.kapaEaDalau#malar#1#haC#O#E#.#OaraCaE#D#B.J#Y#3ataC#N.Q#F#fbJ#laoaCaraO#h#4#M#1#n#F#g#1#i#Z#PauaraFaFaKaMaMaRbtaQaQavaWaKaMboauaMaQavaRaLaCasaAauaWaCaJavaLaAaFawasat#k#G#WaHbmah.w.y.v.yaa.yahababaaacabah.BaiayapapaBaB#q#q.C.C.C#6#6bKbH#SbHbMaxbpbNbp#rbpbpbNbpbIa#aG.E#sa#a#bxbO#sbObh#8#8#8bsQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.bai.B.kaaabahab.y.o.m.qaDaD#OataA#Q#Pboal#.baag.L#Qbu#d#.aYakaEaCauasaLaL#Q.Mal#Kaoat#E#Z#J#n#1#Q#MataEaFaKasaOaOaJblbtbtaKboaWaNavaQaKaKaKaLboasaQaFaQaEaMaOasaRaEarawaw#K#Eafbe.D#5.w.q.qab.r.w.w.w.wababaaaaahacaq#5aq.B#5ayaPapap#q#6.C.1.C#q#6bK.1bKbHbMbH#rbpbpbNbN.D#T#sbO#sam#T#7bxbx#sbO.Ebh#8bnbjbfaj#VaS.5#UQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.v#5.w.q.waa.q.v.Z.m.kaZaAao#P#I#4#Lbtal.8aYaCaFaQbw.S.Ka2bJawaLaLaMaLarao#jbvaoaE#P#j#Pao#laRaDauaLaWaMaKaCaRaNaWaOaOasaQauaFaCauaQboaWaOaWaOaJaQaQaRaFaDaC#M#k#I#F.6#Ubpaq.y.q.q.v.q.q.r.wacabab.v.yababacah.B.B#5aiaiaiaPaPaBaBaPapaP.C#6.1#S#S#SbK#SbHbMbH#raxbIbx.E#s#TbLam#TbPbP#s#s.EbQ.3bjbebiajbb#pa5b#.5#UQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.o.Baq.r.yabaa.y.i.m.kbpar#N#N#PaE#LaQ#m#xanaoaWboaM#i.LaV#nblaLaAauaMavaraEav#NaD#k#mauauaJaNaRaKbuaQaJaKaRaQauaNasaRaRaLaNaKboaOaJauaFaRasavavavaFaE#L#2#Xaf#Ubpaq.q.v.q.qab.r.q.v.q.y.w.y.waaacahabahacahaqaqai.Bai#5apapapaibr#qaBaP.C#q.C#6#6.1.1#S#S#r#7#7bxambIbI#7#Tbxbx#s#R#8bsbn#taj.Ybaa7.5a3a0.Ya#QtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtacab.m.l.r.p.r.o.d.i.jaCaraoaC#l#P#Nar#zataOaRasarbFaDaCaRaFauaOaFarasaOaRaF#l#Naw#NauaRaJauavauauaAaJawaMaMaRaWaKaKaJaRaFaLaRaraC#N#K#3#f.Ibi.Dah.r.m.x.k.r.p.q.r.l.r.q.waa.y.w.y.w.wabahabah.B.B.B.B.B.Baiay#5#5apapaPaBaBaB#q#S.1.1#S#S#r.DamambNbNbq.DbIbLa#bxaGbhbnaz#Uaj.4#Va7aY#WaebjbNaiQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.bab.w.m.q.l.l.r.h.u.i#U#4ar#I#I#m#PboanaJaFaMaJaNbFaKaKavauaraAalaAaA#P#Q#2#4#IaW#NaQboaQaKaJaKaOaOaRauasaLauaAatal#Nal#n.SaS#sap.l.k.m.k.x.k.l.l.x.l.k.p.r.q.q.w.wacababacacacab.B.B.B#5#5aiaiap#5#5apapaPaPaB#qaB#q#q.C#6ax.2am.2#rbpbp.DbqbqbIama##sbQbnbnbeaja9a1aY.6afbf.DahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.oab.w.l.k.l.m.d.A.c.jasaCaw#m#maD#I#javaFaCaKaFawaA#P#Q#i#M#O#4#K#i#n#M#l#2#LalaFaMavauaJaQaJavaFao#P#k#X.X#UbH.r.m.x.x.x.k.l.q.r.r.q.r.v.y.l.v.q.q.w.waaababah.Bai.B#5ay#5ayapaiaiaiaiapapap#qaBbr#q.1.C#r.DbIbIbpbpbpbpbp.2bL.2ama##saG#R#8bjajbb#pb.#W#W.Fbq.BQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtacab.m.x.l.x.u.A.c.i#maAawao#Nal#M#m#mat#OaA#M#I#N#Z#l#L#P#L#M#l#P#Q#l#N#Q#k#ialaEar#NaDaual#O#Ga4bfbpac.k.k.k.p.l.p.r.q.q.r.v.q.q.y.vaa.vaaabab.B.Baq.Baq#5.BayaiaiaiapaBaBaPbrap#qbraB#q#q#q#q.1bNbI#T.2bpbp.DbI.2amam#T#7a#bPbhbnazbebia8a5#W.6a8.E.CQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtahaq.k.l.q.q.p.d.u.o.XaO#L#m#i#j#4#L#M#Q#N#P#k#i#4#I#L#N#Pat#N#l#n#I#i#3#i#I#Z#I#k#I#L#n#A.4.2#5.w.p.k.r.k.r.r.r.v.q.v.vababababababacacah.B#5aqaqaiaiaiaBapaPaPaP#qbrapapaBaB#qaBbr#6#qbK.2#TbI.2#r#rbpbpbpbq.2bL#TbxbObQbnbn#Ubeada5a0#v.XbebNahQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Z#5.B.r.p.q.q.c.o.naaaAat#L#l#2#M#Q#P#j#M#2#L#K#n#i#I#2#H#k#j#j#L#2#M#0.J.4#TaP.q.r.p.r.r.r.r.q.q.v.q.v.y.waaaaaa.wahah.Bah.Bah.Bay.B.B.Bayaiaq#5aPaPapapapapaB.C#qbr#q.C#r.DamambpbM#r#rbmbmbqbp.2#TbP#s.Ebnbjbi.4a8a6a3#v.HbbamaqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaq#5.v.p.q.r.j.c.o.o#X#O#j#j#I#L#P#N#j#N#K#N#P#k#3#i#YbJa1bQ#S.w.r.k.k.x.k.l.l.r.y.v.y.vababahacaaahahabaaababahah.Bai.B#5aiaiaiaPaPaPaB#qbraBaB#q#6.C#6bHbLbxa#.2bmaxbmbmbNbq.D.2#7#TbObhbh#8bnbfbaa5a0a4#z.I.4bp.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.s#5aq.m.p.q.w.Z.i.oaPaD#k#Q#4#1#h#i#naTa0bQ#6.q.l.m.k.r.r.v.w.w.v.w.y.wabab.wababahacacah.Bah.B.B.Baq.Bayayai#5apaiapaBaB#qaB#qaBaB#q#q.CbNambI.2bMbH#SaxbpbpbqbLam#Tbx#sbQbQbsbj.4#pa6aY.X.7af.3aPQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.mayah.r.yaa.n.i.o.o.kbHbOaxaa.m.j.m.l.k.x.r.p.r.r.q.q.y.yabacabacacacaqaqah.B#5#5ai#5apapapapapaPapaiaB#qbraBaB#q.C#q.C#S.2bI#TbLax#r#rbpbN.2bN.2#T#Tbx.E#Rbs#Uajba#pa2b##x#.a6bx#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaiah.m.q.y.v.h.o.j.o.j.o.x.l.l.q.p.l.q.q.y.v.v.wab.w.Bahahaq.Baq.B#5aiaiaiaiayapapaPaiaBbrbr#q#q#q#q#6#S.2bObh#7bpax#raxaxaxbmam.2am#TbP#sbQbs#U.F.4#pa6af#A#w.4bq.vQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.h#5ah.m.raa.Z.j.k.k.r.r.v.l.v.w.w.w.wabaa.wabacacah#5ai.B#5.Bai#5#5#5apaB#q#6.C#6#6.1.1#rbI#Tbx#TbqbmbqbL.2.2.2.DbIambPbh#8bs#Ubi.4a8.5#v.6.JaYbn#q.iQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.qaq.y.p.w.o.x.q.y.v.wab.wabahababacahahab.BaqaiaiapaiapaPai#qaP.C#q.1#S.2#T#sbxbqbpbp.2.Dbm.2.2bLbx#sbO.3aH#Ubi.Y.4aSa0af#z#A#u.2.qQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.Aai.B.x.y.k.m.v.qabababahacahahab.B#5#5aq#5ayaiapapaB.C.C.C.1#Sax#TbO.E#sax#r.D.2bp.D.2a#bxbhbQ.Ebsbn#UbdadaXaY.H.I#Aa6aG#5.ZQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaBai.mab.q.mab.wabacababah.Baq.Bahah#5#5#5aP#q#q#q.C.C#SbqbxbPambmbpbpbNbq.2am#Ta#a#bO#8bsaIbi.4adaSa1b#.6.J.X#U#6.oQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.iaBai.qab.kac.Baq.B.B.B#5apaB#5aP#q.C.1bma##sbx.2bpaxbNaxbq.2bLbI#Tbx#saG#8#Ubfajada6a2.H.7.J#p#TaqQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#5ap.rababaiapapapaiaB.1bpbI#Tbmbmbm.2.DbLbp.2am#Ta##sbO.3bs#Ubi#V#pa5a3aV.R.Ibf#r.pQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.eaPai.obM.D#T.D#r#SbM#rbm#rbp.2bLama##s#saGbnbjbd#ua6b#.X#x.RaYbh#5QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l#5aqah#SbK#SbMaxbmbNbLa#bQ.3#Ubi#VaXa0.X.7#Abbbq.r.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtaiaibNbq#TbPbhazbjbdada6a3#y.5bQbr.uQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt#rbjada6a2aebfbp.yQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.tQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
+"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"};