<holder role="mailto:alex@lisas.de">Alexander König</holder>
</copyright>
- <releaseinfo>Version 3.80</releaseinfo>
+ <releaseinfo>Version 3.81</releaseinfo>
<legalnotice id="legalnotice">
<para>Permission is granted to copy, distribute and/or modify this
Version 1.1 or any later version published by the Free Software
Foundation with no Invariant Sections, no Front-Cover Texts, and no
Back-Cover Texts. You can find a copy of the GFDL at this <ulink
- url="ghelp:fdl" type="help">link</ulink> or in the file COPYING-DOCS
+ type="help" url="ghelp:fdl">link</ulink> or in the file COPYING-DOCS
distributed with this manual.</para>
<para>Many of the names used by companies to distinguish their products
and MIDI interface - all accessible through an easy-to-use gtk+ GUI.</para>
<para>This is <emphasis>beta</emphasis> Software please help me fix
- bugs. See <xref linkend="CONTACT" /> (Contact/Download). Please read
- this manual and take a look at the <ulink
- url="http://www.terminatorX.cx">homepage</ulink>.</para>
+ <ulink url="http://terminatorX.cx/bugs.html">bugs</ulink>. See <xref
+ linkend="CONTACT" /> (Contact/Download). Please read this manual and
+ take a look at the <ulink url="http://www.terminatorX.cx">homepage</ulink>.</para>
</sect2>
<sect2 id="QUICKSTART">
file)</para>
</listitem>
+ <listitem>
+ <para>If you want to use the <ulink
+ url="http://jackit.sourceforge.net">JACK</ulink> backend run jackd
+ before starting terminatorX.</para>
+ </listitem>
+
<listitem>
<para>Run terminatorX</para>
</listitem>
+ <listitem>
+ <para>Setup Audio Output via <emphasis>Options/Preferences</emphasis>.</para>
+ </listitem>
+
<listitem>
<para>Load an audiofile into the available turntable (you can add
more turntables if you want) (Hint: Click on the button that holds
"NONE" to load an audiofile, or drop one over the audiofile
- display from your filemanager if your filemanager is efm, gmc,
- Nautilus or compatible (kfm does <emphasis>not</emphasis> work))</para>
+ display from your GNOME filemanager.</para>
</listitem>
<listitem>
<itemizedlist>
<listitem>
- <para>Scratching ;)</para>
+ <para>Scratching</para>
</listitem>
<listitem>
for loading ogg files.</para>
</listitem>
+ <listitem>
+ <para><ulink url="http://jackit.sourceforge.net">libjack</ulink>
+ for JACK support.</para>
+ </listitem>
+
<listitem>
<para><ulink url="http://xmlsoft.org/">libxml2</ulink> to
read terminatorX set and rc files</para>
</itemizedlist>
</sect3>
+ <sect3 id="SEQUENCERMENU">
+ <title><emphasis>Sequencer</emphasis> Menu</title>
+
+ <para>The <emphasis>Sequencer</emphasis> (see the <xref
+ linkend="SEQUENCER" />section for general information on the
+ sequencer) menu features these functions:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><emphasis>Delete All</emphasis> submenus</para>
+
+ <para>These submenus allow you to delete sequencer events of a
+ specific parameter or all events for a complete turntable. After
+ selecting the the parameter/turntable of your choice a dialog will
+ pop-up that allows you to delete all events from either:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>the beginning of the song upto the current song position</para>
+ </listitem>
+
+ <listitem>
+ <para>the current song position upto the end of the song</para>
+ </listitem>
+
+ <listitem>
+ <para>the beginning to the end of the song (all events)</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Delete All Events</emphasis></para>
+
+ <para>Works the same as the <emphasis>Delete All</emphasis>
+ submenus but selects <emphasis>all</emphasis> events for
+ <emphasis>all</emphasis> turntables.</para>
+ </listitem>
+
+ <listitem>
+ <para><emphasis>Confirm Recorded Events</emphasis></para>
+
+ <para>Usually terminatorX will add all recorded events of a take
+ to the song event list as soon as you hit the
+ <emphasis>Stop</emphasis> button for the sequencer. If you enable
+ <emphasis>Confirm Recorded Events</emphasis> terminatorX will ask
+ you whether the recorded events should really be fed into the song
+ list. This makes it much easier to record a certain part over and
+ over again until you get it right.</para>
+ </listitem>
+ </itemizedlist>
+ </sect3>
+
<sect3>
<title><emphasis>Options</emphasis> Menu</title>
<para>Maximizes the terminatorX main windows to use the complete
screen. Note that this requires a NETWM compliant window manager
- to work (GNOME2's metacity works nicely, while openbox 2.x
- does not for example). By choosing this option again
- terminatorX' window can be resized back to the previous state
- again. The setting will be stored in the <filename>~/.terminatorXrc</filename>
- file.</para>
+ to work. By toggling this option again terminatorX' window can
+ be resized back to the previous state again. The setting will be
+ stored in the <filename>~/.terminatorXrc</filename> file.</para>
</listitem>
<listitem>
displayed signal shows the turntable's current signal not
including the echo-signal which is mixed separately.</para></listitem></itemizedlist></para>
</sect4>
+
+ <sect4>
+ <title>Parameter Menus</title>
+
+ <para>TerminatorX can record events for nearly all parameters of a
+ turntable. All of these so-called "sequencable" parameters
+ have an extra pop-up menu since Version 3.81. Simply right-click on
+ the knob, button, slider of the parameter you want to setup, and a
+ menu with the following options will appear:<itemizedlist><listitem><para><emphasis>MIDI
+ Learn</emphasis></para><para>This options provides an easy method to
+ select the MIDI control to modify the parameter you select. If you
+ choose this menu entry, a tiny dialog box will pop up that reads
+ <emphasis>"Waiting for MIDI Event..."</emphasis>. The first
+ MIDI event terminatorX receives will now be mapped to control this
+ parameter.</para></listitem><listitem><para><emphasis>Remove MIDI
+ Binding</emphasis></para><para>If a MIDI event has been bound to a
+ parameter it can be removed by selecting this menu entry.</para></listitem><listitem><para><emphasis>Set
+ Upper MIDI Bound</emphasis></para><para>Sometimes it is preferable
+ to modify a certain parameter only within a specific value range -
+ this can be achieved with this option - by setting an upper and a
+ lower bound for the MIDI control of this parameter. When you select
+ this menu entry, the current setting of this parameter will be used
+ as the upper bound for the parameter's MIDI mapping.</para></listitem><listitem><para><emphasis>Reset
+ Upper MIDI Bound</emphasis></para><para>If an upper MIDI bound was
+ set for this parameter it can be removed by selecting this menu
+ entry.</para></listitem><listitem><para><emphasis>Set Lower MIDI
+ Bound</emphasis></para><para>Works just like setting the uper MIDI
+ bound: when you select this menu entry, the current setting of this
+ parameter will be used as the lower bound for the parameter's
+ MIDI mapping.</para></listitem><listitem><para><emphasis>Reset Lower
+ MIDI Bound</emphasis></para><para>If a lower MIDI bound was set for
+ this parameter it can be removed by selecting this menu entry.</para></listitem><listitem><para><emphasis>Delete
+ Sequencer Events</emphasis></para><para>Just like the <xref
+ linkend="SEQUENCERMENU" /> this entry allows you to delete events
+ recorded for this specific parameter.</para></listitem></itemizedlist></para>
+ </sect4>
</sect3>
<sect3>
<figure float="0">
<title>An example for a terminatorX effect queue</title>
- <graphic fileref="figures/signalflow.png" format="PNG" />
+ <graphic format="PNG" fileref="figures/signalflow.png" />
</figure>
<para>Now since release 3.71 the built-in echo effect is treated
<para>After pressing the <emphasis>Mouse Grab button</emphasis>
terminatorX enters "grab mode". This mode actually blocks the
- mouse (as its input is now used to control the real time parameters)
- and therefore you'll have to know some mouse/keyboard shortcuts to
+ mouse (as its input is now used to control the real time parameters) and
+ therefore you'll have to know some mouse/keyboard shortcuts to
control the software without the GUI.</para>
<para>Press <keycap moreinfo="none">ESCAPE</keycap> to quit grab mode.</para>
<para>Now the turntable that has the focus is the one you will
manipulate with your mouse and keyboard inputs: Note that you can
actually map different functions to the mouse x/y axis - so what
- actually happens when you move your mouse depends on what you select via the
- <emphasis>Mouse Mapping</emphasis> for each turntable.</para>
+ actually happens when you move your mouse depends on what you select via
+ the <emphasis>Mouse Mapping</emphasis> for each turntable.</para>
<table>
<title>Keyboard Controls in Grab Mode</title>
move the sequencer-scale to that position, press <emphasis>Record,</emphasis>
set the parameter and press <emphasis>Stop</emphasis> again.</para>
- <para>There is no other the way to edit the sequencer events currently,
- but future releases may feature an event-list editor.</para>
+ <para>To selectively delete events from the sequencer use the <xref
+ linkend="SEQUENCERMENU" />.</para>
</sect2>
<sect2 id="LADSPAPLUGINS">
it is possible to control parameters through MIDI events (since 3.80).
The MIDI interface is based upon the ALSA sequencer API. On startup
terminatorX creates a MIDI input port called "terminatorX". You
- can now use for example the <ulink url="http://pkl.net/%7Enode/alsa-patch-bay.html">alsa-patch-pay</ulink>
+ can now use for example the <ulink
+ url="http://pkl.net/%7Enode/alsa-patch-bay.html">alsa-patch-pay</ulink>
to connect an output port of your choice (either a hardware MIDI input
device or a software generating midi events) to the terminatorX input
port.</para>
<para>If you want to use your joystick to control terminatorX - I wrote
a tiny tool to create MIDI events from joystick motion called
<emphasis>aseqjoy</emphasis>. It's available from the <ulink
- url="http://terminatorX.cx/aseqjoy.html">terminatorX website</ulink>, too.</para>
+ url="http://terminatorX.cx/aseqjoy.html">terminatorX website</ulink>,
+ too.</para>
</sect2>
</sect1>
device per cycle. I'm not really sure on what kind of settings to
recommend, however I had best results when setting the
<emphasis>Period Time</emphasis> to 3rd or half of the
- <emphasis>Buffer Time</emphasis>. </para>
+ <emphasis>Buffer Time</emphasis>.</para>
<para>It's advisable to set the <emphasis>Buffer Time</emphasis> to
at least the double of the <emphasis>Period Time</emphasis>, but for a
<para>Send me comments, bug-reports, patches or scratches (see scratches
section on the terminatorX homepage) at: <email>alex@lisas.de</email></para>
</sect1>
-</article>
+</article>
\ No newline at end of file
-/* XPM */
-char * tX_icon_xpm[] = {
-"48 48 174 2",
-" c None",
-". c #191919",
-"+ c #0E0E0E",
-"@ c #070707",
-"# c #010101",
-"$ c #000000",
-"% c #131313",
-"& c #181818",
-"* c #090909",
-"= c #050505",
-"- c #040404",
-"; c #020202",
-"> c #030303",
-", c #262626",
-"' c #151515",
-") c #121212",
-"! c #5A5A5A",
-"~ c #2E2E2E",
-"{ c #282828",
-"] c #242424",
-"^ c #161616",
-"/ c #080808",
-"( c #141414",
-"_ c #5D5D5D",
-": c #404040",
-"< c #3A3A3A",
-"[ c #2D2D2D",
-"} c #212121",
-"| c #0D0D0D",
-"1 c #505050",
-"2 c #585858",
-"3 c #484848",
-"4 c #3F3F3F",
-"5 c #2A2A2A",
-"6 c #0F0F0F",
-"7 c #0A0A0A",
-"8 c #595959",
-"9 c #757575",
-"0 c #515151",
-"a c #4B4B4B",
-"b c #303030",
-"c c #1A1A1A",
-"d c #292929",
-"e c #1C1C1C",
-"f c #111111",
-"g c #616161",
-"h c #747474",
-"i c #626262",
-"j c #2C2C2C",
-"k c #323232",
-"l c #3D3D3D",
-"m c #060606",
-"n c #0C0C0C",
-"o c #737373",
-"p c #717171",
-"q c #636363",
-"r c #393939",
-"s c #4F4F4F",
-"t c #3B3B3B",
-"u c #1B1B1B",
-"v c #6D6D6D",
-"w c #606060",
-"x c #3C3C3C",
-"y c #4D4D4D",
-"z c #474747",
-"A c #4A4A4A",
-"B c #565656",
-"C c #232323",
-"D c #414141",
-"E c #4C4C4C",
-"F c #4E4E4E",
-"G c #252525",
-"H c #171717",
-"I c #1E1E1E",
-"J c #101010",
-"K c #272727",
-"L c #1F1F1F",
-"M c #333333",
-"N c #363636",
-"O c #202020",
-"P c #2B2B2B",
-"Q c #6B6B6B",
-"R c #848484",
-"S c #818181",
-"T c #5E5E5E",
-"U c #373737",
-"V c #0B0B0B",
-"W c #222222",
-"X c #1D1D1D",
-"Y c #8E8E8E",
-"Z c #D9D9D9",
-"` c #F6F6F6",
-" . c #FBFBFB",
-".. c #F9F9F9",
-"+. c #F1F1F1",
-"@. c #C0C0C0",
-"#. c #7B7B7B",
-"$. c #B1B1B1",
-"%. c #FAFAFA",
-"&. c #FCFCFC",
-"*. c #FFFFFF",
-"=. c #FEFEFE",
-"-. c #ADADAD",
-";. c #A2A2A2",
-">. c #F6F6F7",
-",. c #F5F5F5",
-"'. c #858585",
-"). c #696969",
-"!. c #EFEFEF",
-"~. c #FAF4F4",
-"{. c #FDFCFC",
-"]. c #F5F5F6",
-"^. c #F3F3F4",
-"/. c #FBFBFC",
-"(. c #979797",
-"_. c #C5C5C5",
-":. c #494949",
-"<. c #A6A6A6",
-"[. c #FDFDFE",
-"}. c #F4F4F5",
-"|. c #F7F6F7",
-"1. c #F7F7F8",
-"2. c #EDEDEF",
-"3. c #838383",
-"4. c #EAEAEA",
-"5. c #C4C4C4",
-"6. c #F1EBEC",
-"7. c #F0F0F2",
-"8. c #E9EBEA",
-"9. c #B8B8B8",
-"0. c #D2D2D2",
-"a. c #545454",
-"b. c #D1D1D1",
-"c. c #F5F4F5",
-"d. c #D9D9DE",
-"e. c #E8E8EB",
-"f. c #E6E6E9",
-"g. c #E2E2E2",
-"h. c #909191",
-"i. c #EEEEEE",
-"j. c #CBCBCB",
-"k. c #B7B7B7",
-"l. c #F3F3F5",
-"m. c #E5E5EC",
-"n. c #EDE6E8",
-"o. c #F9F9FA",
-"p. c #D0D0D0",
-"q. c #B4B4B4",
-"r. c #E3E3E3",
-"s. c #8F8F8F",
-"t. c #949494",
-"u. c #F8F8F8",
-"v. c #F4F3F7",
-"w. c #EDE7EA",
-"x. c #A5A5A5",
-"y. c #DDDDDD",
-"z. c #EBEBEB",
-"A. c #6E6E6E",
-"B. c #D8D8D8",
-"C. c #9C9C9C",
-"D. c #FDFDFD",
-"E. c #B5B5B5",
-"F. c #7E7E7E",
-"G. c #E1E1E1",
-"H. c #E5E5E5",
-"I. c #F0F0F0",
-"J. c #656565",
-"K. c #C7C7C7",
-"L. c #CACACA",
-"M. c #444444",
-"N. c #454545",
-"O. c #424242",
-"P. c #2F2F2F",
-"Q. c #343434",
-" ",
-" . + @ # $ $ $ $ $ $ $ @ % ",
-" & * @ = - ; # # $ $ $ $ $ $ $ $ > % ",
-" , & ' + * @ - # $ $ $ $ $ $ $ $ $ $ $ $ $ ) ",
-" ! ~ { ] ^ + / - # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ - ( ",
-" _ : < [ } % @ = = > # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ | ",
-" 1 2 3 4 5 ) 6 ) 7 = - ; # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ - ",
-" 8 9 0 a b c d e f 7 - # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ; ",
-" g h i ! j k l ~ c 7 m > ; $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ n ",
-" o p i q r a s t u f | = ; ; # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ f ",
-" v g q w x y 2 z e e ( * / > # # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6 ",
-" a i ! A l q B C . ' % 6 = @ - # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ * ",
-" D s E F d w 8 G ~ H I J + + > ; ; $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ) ",
-" b z z K 3 s ~ [ e K % L J / 7 ; $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ = / ",
-" M b N M O : < I C O ^ G ) ( 6 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^ ",
-" u P [ & P b c I ( I c H ' % $ $ $ ^ t Q R S T U 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ V ",
-" & } c 6 W } 6 ) ( n X 7 & $ $ # r Y Z ` ...+.@.#.5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ = J ",
-" e f H + V ^ + V @ V 6 / ) # $ $ D $.%.&. .*.*.*.*.=.-.~ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6 ",
-" ( | f @ n V m / m - 7 - * $ $ 5 ;.=.=.&.>.*.*. .*.*.,.'.^ $ $ $ $ $ $ $ $ $ $ $ $ $ $ + ",
-" n V 7 - @ @ ; > > ; m - # $ ; ).!.&.~.{.].^.]./.*.%.(._.:.$ $ $ $ $ $ $ $ $ $ $ $ $ $ 6 $ ",
-" / = m ; > - # # # ; # ; $ $ I <.[.}.|.1.2.[.=.*.*._.3.4.'.$ $ $ $ $ $ $ $ $ $ $ $ $ $ m $ ",
-" # - ; ; ; ; # $ $ # $ $ $ $ j 5.6.>.7.8.}.(.9.*.0.a.4.*.(.. $ $ $ $ $ $ $ $ $ $ $ $ $ * $ ",
-" # ; # # # # $ $ $ $ $ $ $ $ ~ b.c.d.e.f.g.h.'.i._ j. .*.;.] # # $ $ $ $ $ $ $ $ $ $ $ n $ ",
-" $ # # $ $ $ $ $ $ $ $ $ $ $ 5 k.*.l.m.n.o.p.5.).q.r.*.=.s.n ; > $ $ $ $ $ $ $ $ $ $ $ = $ ",
-" 7 $ # $ $ $ $ $ $ $ $ $ $ $ J t.u.*.v.w.*.&.9 x.y.*.*.z.A.; - = $ $ $ $ $ $ $ $ $ $ $ J $ ",
-" / $ $ $ $ $ $ $ $ $ $ $ $ $ $ s B.` *.*.*.C.S y.D.*.*.E.M = @ / ; # # # # # $ $ $ $ $ 7 $ ",
-" J $ $ $ $ $ $ $ $ $ $ $ $ $ $ ( F.` =.=.E.S %.D.*.*.G._ / / n n = - > > ; # # # # $ # + $ ",
-" & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ } s.H.I.h !.*.*.&.B.J.% / | ( 6 V / * * = > > ; ; # # J $ ",
-" # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ' 0 (.K.4.` L.s.: n @ n ( d f ) J % J n m = = ; > V = $ ",
-" V $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ^ 5 k [ d | > = 7 ) : 5 W & } c & / / / @ - @ J $ ",
-" u $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # - @ J b ~ ] j b r d u n n 7 - @ V % $ ",
-" / $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # ; - n e X K { x a x M e J ( ( @ n ' $ $ ",
-" 6 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # - * n c L 5 F M.N.5 e u e n 7 ^ | $ ",
-" @ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ; = @ % ] : : O.M I } ] X f c . $ $ ",
-" # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # - n ' G P.Q.{ } K 5 } ^ ' G V $ ",
-" ) $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # ; = V | H W X u L b k . I [ ^ $ $ ",
-" 7 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # - m + 6 f % O d I u [ b X $ $ ",
-" > $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # ; - @ * 6 H I . V O x ( $ $ ",
-" n $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # # > = n ) J 6 J e [ H $ $ ",
-" + # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # > m / n / 6 L { ( $ $ ",
-" & * $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ # ; > - m V H X V $ $ ",
-" | m $ $ $ $ $ $ $ $ $ $ $ $ $ # # - * * f f # $ $ ",
-" J n ; $ $ $ $ $ $ $ $ $ $ # ; @ 6 f ; $ $ ",
-" J | n J V 7 $ # | @ J n ) m $ $ $ ",
-" $ > > $ $ > ; $ $ $ $ ",
-" ",
-" ",
-" "};
+/* GdkPixbuf RGBA C-Source image dump */
+
+#include <gtk/gtk.h>
+
+const guint8 tX_icon[] =
+{ ""
+ /* Pixbuf magic (0x47646b50) */
+ "GdkP"
+ /* length: header (24) + pixel_data (9216) */
+ "\0\0$\30"
+ /* pixdata_type (0x1010002) */
+ "\1\1\0\2"
+ /* rowstride (192) */
+ "\0\0\0\300"
+ /* width (48) */
+ "\0\0\0""0"
+ /* height (48) */
+ "\0\0\0""0"
+ /* pixel_data: */
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0...\6\27\27\27"
+ "\23\23\23\23\37!!!=\40\40\40b\26\26\26|\5\5\5\204\2\2\2\204\32\32\32"
+ "\201\27\27\27`%%%B\25\25\25$\20\20\20\25\36\36\36\11\25\25\25\2\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0QQQ\1+++\20\32\32\32.\30\30\30d\21\21\21"
+ "\257\12\12\12\344\4\4\4\375\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\2\2\2\374\11\11\11\346\14\14\14\262\20\20\20p\21\21"
+ "\21<\24\24\24\25\6\6\6\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0TTT\14""333<!!!\205\30\30\30\324"
+ "\14\14\14\374\10\10\10\377\5\5\5\377\3\3\3\377\1\1\1\377\1\1\1\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\1\1\1\376\11\11\11\337\11\11\11\215\22\22\22I\32\32\32\26\0\0\0\4\0"
+ "\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\220\220\1eee\33GG"
+ "Gv...\314!!!\371\30\30\30\377\17\17\17\377\10\10\10\377\5\5\5\377\2\2"
+ "\2\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\374\11\11\11\326"
+ "\14\14\14\210\23\23\23""6\20\20\20\14\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0qqq\32WWW\240@@@\353000\377&&&\377\30\30\30\377\13\13\13\377"
+ "\6\6\6\377\4\4\4\377\2\2\2\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\3\3\3\361\11\11\11\266\21\21\21S\14\14\14\24\0\0"
+ "\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\220\220\220\12SSS\245TTT\367CCC\377444\377\36\36"
+ "\36\377\21\21\21\377\17\17\17\377\10\10\10\377\5\5\5\377\3\3\3\377\1"
+ "\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\1\1\1\371\4\4\4\321\4\4\4_\1\1\1\30\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\220\220\220\12ZZZ\235mm"
+ "m\371PPP\377AAA\377'''\377\"\"\"\377\35\35\35\377\22\22\22\377\11\11"
+ "\11\377\3\3\3\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\375\2\2\2\337\6\6\6^\0"
+ "\0\0\24\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\230\230\230"
+ "\1\223\223\223\"ggg\251ppp\371aaa\377LLL\377222\377999\377222\377\36"
+ "\36\36\377\14\14\14\377\6\6\6\377\3\3\3\377\1\1\1\377\0\0\0\377\0\0\0"
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\11\11\11\355\12\12\12V\1\1\1\31\0\0\0\5\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0xxx\32ooo\236nnn\367ccc\377VVV\377BBB\377N"
+ "NN\377@@@\377$$$\377\24\24\24\377\15\15\15\377\5\5\5\377\2\2\2\377\1"
+ "\1\1\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\14\14\14\314\10\10"
+ "\10L\0\0\0\25\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0QQQ\11[[[l```\350```\377YYY\377"
+ "\77\77\77\377VVV\377LLL\377***\377\32\32\32\377\25\25\25\377\14\14\14"
+ "\377\7\7\7\377\4\4\4\377\2\2\2\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\1\1\1\367\13\13\13\244\4\4\4""9\0\0\0\16\0\0\0\2\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0EEE1JJJ\300SSS\377UUU\377===\377PPP\377VVV\377666\377\40\40\40\377"
+ "\31\31\31\377\24\24\24\377\17\17\17\377\11\11\11\377\5\5\5\377\2\2\2"
+ "\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\376\6\6\6\343"
+ "\14\14\14v\0\0\0%\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0""222\12""555q@@@\365III\377:::\377<<<\377"
+ "RRR\377999\377'''\377\"\"\"\377\33\33\33\377\31\31\31\377\21\21\21\377"
+ "\12\12\12\377\6\6\6\377\2\2\2\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\2\2\2\371\10\10\10\270\4\4\4J\0\0\0\24\0\0\0\2\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""333&11"
+ "1\277555\377999\377'''\377>>>\377<<<\377###\377###\377\35\35\35\377\36"
+ "\36\36\377\30\30\30\377\23\23\23\377\14\14\14\377\2\2\2\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\7\7\7\341"
+ "\16\16\16~\0\0\0)\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0CCC\2$$$I###\365---\377\"\"\"\377&&&\377111\377\36\36\36"
+ "\377\34\34\34\377\31\31\31\377\34\34\34\377\31\31\31\377\26\26\26\377"
+ "\23\23\23\377\2\2\2\377\0\0\0\377\7\7\7\377###\377NNN\377nnn\377qqq\377"
+ "NNN\377&&&\377\5\5\5\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\4\4\4\366\10\10\10\255\1\1\1F\0\0\0\20\0\0\0\1\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0+++\15\"\"\"\216\32\32\32"
+ "\377\34\34\34\377\22\22\22\377\34\34\34\377\37\37\37\377\17\17\17\377"
+ "\21\21\21\377\20\20\20\377\23\23\23\377\21\21\21\377\23\23\23\377\3\3"
+ "\3\377\1\1\1\377\31\31\31\377ggg\377\274\274\274\377\355\355\355\377"
+ "\372\372\372\377\372\372\372\377\355\355\355\377\271\271\271\377mmm\377"
+ "\40\40\40\377\2\2\2\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\2\2"
+ "\2\377\11\11\11\321\11\11\11l\0\0\0\40\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\31\31\31\25\26\26\26\277\22\22\22\377\21\21"
+ "\21\377\14\14\14\377\21\21\21\377\15\15\15\377\12\12\12\377\7\7\7\377"
+ "\13\13\13\377\12\12\12\377\14\14\14\377\5\5\5\377\0\0\0\377\24\24\24"
+ "\377ttt\377\331\331\331\377\374\374\374\377\373\373\373\377\376\376\376"
+ "\377\377\377\377\377\376\376\376\377\377\377\377\377\347\347\347\377"
+ "\201\201\201\377\35\35\35\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\6\6\6\344\10\10\10\213\0\0\0""2\0\0\0\7\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\33\33\33\37\17\17\17\345\15\15\15\377"
+ "\12\12\12\377\11\11\11\377\12\12\12\377\5\5\5\377\6\6\6\377\4\4\4\377"
+ "\5\5\5\377\6\6\6\377\5\5\5\377\2\2\2\377\1\1\1\377QQQ\377\316\316\316"
+ "\377\375\374\374\377\374\373\373\377\370\370\371\377\371\371\372\377"
+ "\373\373\374\377\374\374\374\377\377\377\377\377\355\355\355\377\267"
+ "\267\267\377UUU\377\12\12\12\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\7\7\7\357\7\7\7\243\0\0\0D\0\0\0\15\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\31\31\31+\11\11\11\372\10\10\10\377\6\6\6\377"
+ "\4\4\4\377\5\5\5\377\2\2\2\377\2\2\2\377\2\2\2\377\3\3\3\377\3\3\3\377"
+ "\1\1\1\377\0\0\0\377\16\16\16\377\225\225\225\377\367\367\367\377\370"
+ "\367\367\377\371\367\370\377\364\364\365\377\366\366\367\377\371\371"
+ "\372\377\375\375\376\377\367\367\367\377\301\301\301\377\262\262\262"
+ "\377\221\221\221\377\32\32\32\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\5\5\5\366\5\5\5\264\0\0\0T\0\0\0\23\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\35\35\35""6\4\4\4\377\4\4\4\377\3\3\3\377\2\2"
+ "\2\377\3\3\3\377\1\1\1\377\0\0\0\377\1\1\1\377\1\1\1\377\1\1\1\377\0"
+ "\0\0\377\0\0\0\377\"\"\"\377\300\300\300\377\365\363\364\377\364\364"
+ "\365\377\360\361\362\377\360\361\361\377\312\312\313\377\320\320\320"
+ "\377\373\373\373\377\312\312\312\377\230\230\230\377\335\335\335\377"
+ "\267\267\267\377000\377\2\2\2\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0"
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\4\4"
+ "\4\372\4\4\4\276\0\0\0a\0\0\0\31\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0(((<\1\1\1\377\2\2\2\377\1\1\1\377\1\1\1\377\1\1\1\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "(((\377\323\322\322\377\357\355\357\377\344\344\347\377\350\351\353\377"
+ "\347\347\350\377\247\250\250\377\222\222\222\377\343\343\343\377\207"
+ "\207\207\377\311\311\311\377\373\373\373\377\303\303\303\377AAA\377\5"
+ "\5\5\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\6\6\6\373\5\5\5\302\0\0\0i\0"
+ "\0\0\35\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\26\26\26""7\0"
+ "\0\0\377\1\1\1\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377%%%\377\303\303\303"
+ "\377\372\372\373\377\354\354\360\377\351\346\352\377\362\360\361\377"
+ "\324\324\324\377\276\276\276\377\200\200\200\377\267\267\267\377\353"
+ "\353\353\377\376\376\376\377\272\272\272\377000\377\4\4\4\377\2\2\2\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\3\3\3\372\3\3\3\304\0\0\0l\0\0\0\37\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\35\35\35/\7\7\7\375\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\14\14\14\377\230\230\230\377\366\366\366"
+ "\377\373\372\374\377\362\357\362\377\371\367\370\377\364\364\364\377"
+ "\206\206\206\377\263\263\263\377\350\350\350\377\377\377\377\377\362"
+ "\362\362\377\226\226\226\377\33\33\33\377\4\4\4\377\5\5\5\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\7\7\7\370\7\7\7\302\0\0\0l\0\0\0\36\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\20\20\20\37\7\7\7\344\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377PPP\377\317\317\317\377\371\371\371\377"
+ "\377\377\377\377\363\363\363\377\253\253\253\377\236\236\236\377\350"
+ "\350\350\377\376\376\376\377\374\374\374\377\313\313\313\377UUU\377\16"
+ "\16\16\377\10\10\10\377\10\10\10\377\2\2\2\377\2\2\2\377\1\1\1\377\1"
+ "\1\1\377\1\1\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\5\5\5\363"
+ "\5\5\5\273\0\0\0g\0\0\0\34\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\21\21\21\30\14\14\14\277\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\26\26\26\377xxx\377\335\335\335\377\367\367\367\377\277\277"
+ "\277\377\247\247\247\377\362\362\362\377\376\376\376\377\373\373\373"
+ "\377\331\331\331\377zzz\377\35\35\35\377\11\11\11\377\16\16\16\377\14"
+ "\14\14\377\7\7\7\377\5\5\5\377\5\5\5\377\4\4\4\377\2\2\2\377\2\2\2\377"
+ "\1\1\1\377\1\1\1\377\1\1\1\377\7\7\7\354\7\7\7\261\0\0\0]\0\0\0\27\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\33\33\33\16\20\20\20\215"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\2\2\2\377!!!\377m"
+ "mm\377\257\257\257\377\254\254\254\377\331\331\331\377\371\371\371\377"
+ "\341\341\341\377\267\267\267\377mmm\377###\377\13\13\13\377\17\17\17"
+ "\377\35\35\35\377\20\20\20\377\16\16\16\377\15\15\15\377\15\15\15\377"
+ "\12\12\12\377\5\5\5\377\4\4\4\377\3\3\3\377\2\2\2\377\3\3\3\376\10\10"
+ "\10\342\5\5\5\241\0\0\0N\0\0\0\21\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0)))\5\22\22\22V\4\4\4\366\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\2\2\2\377\20\20\20\377222\377YYY\377rrr\377xxx\377"
+ "```\377555\377\23\23\23\377\10\10\10\377\15\15\15\377(((\377***\377\33"
+ "\33\33\377\27\27\27\377\31\31\31\377\26\26\26\377\16\16\16\377\10\10"
+ "\10\377\7\7\7\377\6\6\6\377\4\4\4\377\11\11\11\372\11\11\11\324\1\1\1"
+ "\216\0\0\0=\0\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\34\34\34\1\26\26\26""0\13\13\13\311\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\3\3\3\377\11\11\11\377\14\14"
+ "\14\377\13\13\13\377\11\11\11\377\4\4\4\377\5\5\5\377\12\12\12\377\37"
+ "\37\37\377000\377'''\377***\377,,,\377...\377\40\40\40\377\21\21\21\377"
+ "\13\13\13\377\12\12\12\377\5\5\5\377\7\7\7\377\15\15\15\361\12\12\12"
+ "\300\0\0\0x\0\0\0+\0\0\0\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\31\31\31\17\15\15\15\200\3\3\3\376\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\1\1\1\377\2\2\2\377\7\7\7\377\23\23\23\377\36\36\36\377&&"
+ "&\377(((\377<<<\377EEE\377888\377'''\377\24\24\24\377\22\22\22\377\23"
+ "\23\23\377\7\7\7\377\15\15\15\375\16\16\16\342\2\2\2\246\0\0\0\\\0\0"
+ "\0\32\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\2\16\16\16:\6\6\6\305\0\0\0\376\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\2\2\2\377\6\6\6\377\12\12\12\377\24\24\24\377\36\36\36\377+++\377KK"
+ "K\377DDD\377999\377###\377\34\34\34\377\34\34\34\377\17\17\17\377\15"
+ "\15\15\377\24\24\24\363\10\10\10\303\0\0\0\206\0\0\0:\0\0\0\14\0\0\0"
+ "\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\34"
+ "\34\34\17\15\15\15y\3\3\3\355\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\3\3\3\377\6\6\6\377\17\17\17\377\40\40\40\377999\377===\377888\377)"
+ "))\377\"\"\"\377###\377\35\35\35\377\23\23\23\377\34\34\34\373\21\21"
+ "\21\334\0\0\0\244\0\0\0`\0\0\0\40\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\24\24\24,\11\11"
+ "\11\253\1\1\1\370\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377\2\2\2\377\10\10\10"
+ "\377\20\20\20\377\34\34\34\377)))\377***\377\"\"\"\377$$$\377,,,\377"
+ "$$$\377\32\32\32\377\35\35\35\377\35\35\35\353\6\6\6\272\0\0\0\200\0"
+ "\0\0""9\0\0\0\15\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\10\23\23\23K\7\7\7\313\1\1"
+ "\1\374\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\1\1\1\377\3\3\3\377\7\7\7\377\14\14\14\377\22\22"
+ "\22\377\31\31\31\377\31\31\31\377\37\37\37\377%%%\377'''\377$$$\377&"
+ "&&\377&&&\364\13\13\13\310\0\0\0\227\0\0\0R\0\0\0\32\0\0\0\4\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\2\25\25\25\20\11\11\11]\2\2\2\326\0\0\0\377\0\0\0"
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\2\2\2\377\4\4\4\377\10\10\10\377\13\13\13\377\17\17\17\377\27"
+ "\27\27\377\37\37\37\377\32\32\32\377\30\30\30\377---\377%%%\363\17\17"
+ "\17\322\0\0\0\242\0\0\0e\0\0\0(\0\0\0\10\0\0\0\1\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\3\1\1\1\27\2\2\2]\7\7\7\343\0\0\0\377\0\0\0\377\0\0\0"
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377\2"
+ "\2\2\377\5\5\5\377\12\12\12\377\20\20\20\377\22\22\22\377\23\23\23\377"
+ "\24\24\24\377!!!\377$$$\363\15\15\15\322\1\1\1\253\0\0\0m\0\0\0""1\0"
+ "\0\0\15\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\1"
+ "\1\1\26\22\22\22a\10\10\10\322\1\1\1\376\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\2\2\2\377\5\5\5\377\10\10\10"
+ "\377\14\14\14\377\12\12\12\377\23\23\23\377!!!\376\37\37\37\357\14\14"
+ "\14\316\1\1\1\252\0\0\0u\0\0\0""1\0\0\0\16\0\0\0\2\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\25\13\13\13"
+ "I\20\20\20\250\5\5\5\352\1\1\1\373\0\0\0\377\0\0\0\377\0\0\0\377\0\0"
+ "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0"
+ "\0\0\377\0\0\0\377\1\1\1\377\3\3\3\377\4\4\4\377\6\6\6\377\15\15\15\376"
+ "\27\27\27\367\25\25\25\337\5\5\5\275\0\0\0\232\0\0\0g\0\0\0/\0\0\0\12"
+ "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\24\11\11\11""8\15\15\15z\10\10\10\302"
+ "\4\4\4\351\3\3\3\371\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\1\1\1\377\3\3\3\377"
+ "\11\11\11\374\13\13\13\366\16\16\16\345\13\13\13\310\1\1\1\251\0\0\0"
+ "\206\0\0\0V\0\0\0)\0\0\0\14\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0"
+ "\0\0\15\0\0\0&\5\5\5M\14\14\14\205\12\12\12\272\6\6\6\334\4\4\4\354\5"
+ "\5\5\366\5\5\5\373\4\4\4\376\1\1\1\377\0\0\0\377\5\5\5\377\3\3\3\374"
+ "\5\5\5\370\6\6\6\362\7\7\7\352\11\11\11\334\13\13\13\307\1\1\1\250\0"
+ "\0\0\214\0\0\0g\0\0\0>\0\0\0\34\0\0\0\11\0\0\0\1\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\7\0\0\0\25\0\0\0,\0\0\0K\13\13\13"
+ "v\10\10\10\231\11\11\11\263\11\11\11\305\7\7\7\320\2\2\2\325\1\1\1\327"
+ "\10\10\10\327\6\6\6\322\11\11\11\312\11\11\11\276\6\6\6\254\1\1\1\230"
+ "\0\0\0\201\0\0\0a\0\0\0A\0\0\0#\0\0\0\17\0\0\0\4\0\0\0\1\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\10"
+ "\0\0\0\23\0\0\0&\0\0\0:\0\0\0O\1\1\1b\2\2\2q\0\0\0|\0\0\0\201\1\1\1\202"
+ "\1\1\1\177\0\0\0x\0\0\0l\0\0\0\\\0\0\0H\0\0\0""3\0\0\0\36\0\0\0\16\0"
+ "\0\0\5\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\5\0\0\0\13\0"
+ "\0\0\22\0\0\0\34\0\0\0$\0\0\0+\0\0\0/\0\0\0/\0\0\0.\0\0\0)\0\0\0!\0\0"
+ "\0\30\0\0\0\20\0\0\0\10\0\0\0\4\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0"
+ "\3\0\0\0\4\0\0\0\4\0\0\0\3\0\0\0\3\0\0\0\2\0\0\0\1\0\0\0\1\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};