summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2000-10-03 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2000-10-03 18:00:00 +0200
commitef8fe3f04c30caedeb17b11ac275581539f039c7 (patch)
tree40a00f075c4fc94b95fd070077e89a1916923789
parent7e4b4d290570aee1d24241b0e0ac10e7c8148a36 (diff)
downloadvdr-patch-lnbsharing-ef8fe3f04c30caedeb17b11ac275581539f039c7.tar.gz
vdr-patch-lnbsharing-ef8fe3f04c30caedeb17b11ac275581539f039c7.tar.bz2
Version 0.65vdr-0.65
- Modified LIRC interface to better handle repeat function. - Faster OSD by first writing into a bitmap and then sending the entire bitmap to the DVB driver at once (requires the patch 'dvb.c.071.diff' to be applied against the version 0.71 DVB driver file 'dvb.c'). - When switching channels the channel is now immediately displayed, and the current/next information is shown as soon as it becomes available. - No longer displaying the year in the 'Recordings' menu to saves space for the title. - The 'Recordings' menu now displays a '*' to indicate new recordings. - Added the description of the timers.conf file to the FORMATS file (thanks to Bastian Guse). - Displaying as much as possible of the current/next info (dropping characters that would display only partially). - In normal viewing mode the '0' key now toggles between the current and the previous channel.
-rw-r--r--CONTRIBUTORS4
-rw-r--r--FORMATS24
-rw-r--r--HISTORY18
-rw-r--r--INSTALL19
-rw-r--r--MANUAL9
-rw-r--r--Makefile55
-rw-r--r--config.h4
-rw-r--r--dvb.c.071.diff100
-rw-r--r--dvbapi.c146
-rw-r--r--dvbapi.h32
-rw-r--r--dvbosd.c177
-rw-r--r--dvbosd.h74
-rw-r--r--eit.c6
-rw-r--r--font.c41
-rw-r--r--font.h40
-rw-r--r--fontosd.c6722
-rw-r--r--genfontfile.c378
-rw-r--r--interface.c38
-rw-r--r--menu.c8
-rw-r--r--recording.c17
-rw-r--r--recording.h4
-rw-r--r--remote.c50
-rw-r--r--remote.h5
-rw-r--r--timers.conf16
-rw-r--r--tools.c3
-rw-r--r--tools.h3
-rw-r--r--vdr.c11
27 files changed, 7840 insertions, 164 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 03fd4bc..2eefd64 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -6,6 +6,7 @@ Carsten Koch <Carsten.Koch@icem.de>
for implementing the 'Summary' feature
for adding the 'epg2timers' tool (see Tools/epg2timers)
for his idea of using multiple disks (and for testing this feature)
+ for implementing the 'new recording' indicator
Plamen Ganev <pganev@com-it.net>
for fixing the frequency offset for Hotbird channels
@@ -30,3 +31,6 @@ Niels de Carpentier <niels@casema.net>
Martin Hammerschmid <martin@hammerschmid.com>
for suggesting to display the direct channel select input on the OSD
+
+Bastian Guse <bastian@nocopy.de>
+ for writing the FORMATS entry for timers.conf
diff --git a/FORMATS b/FORMATS
index 776fb4f..eb9de0f 100644
--- a/FORMATS
+++ b/FORMATS
@@ -32,4 +32,26 @@ Video Disk Recorder File Formats
* timers.conf
- TODO
+ This file contains the timer setup.
+
+ The fields in a timer definition have the following meaning (from left
+ to right):
+
+ - Timer active (0 = inaactive, 1 = active)
+ - Program number of the channel to record
+ - Day of recording, either one or more of
+ M------ = Monday
+ -T----- = Tuesday
+ --W---- = Wednesday
+ ---T--- = Thrusday
+ ----F-- = Friday
+ -----S- = Saturday
+ ------S = Sunday
+ (any combination is possible, for example MTWTF--) or the "day of month" (1..31)
+ - Star time (first two digits for the hour, second two digits for the minutes)
+ - End time (first two digits for the hour, second two digits for the minutes)
+ - Priority (from 00 to 99, 00 = lowest prioity, 99 = highest priority)
+ - Guaranteed lifetime of recording (in days)
+ - Name of timer (will be used to name the recording)
+ - Summary
+
diff --git a/HISTORY b/HISTORY
index f8a1007..481e83e 100644
--- a/HISTORY
+++ b/HISTORY
@@ -203,3 +203,21 @@ Video Disk Recorder Revision History
- The daemon mode (option '-d') now no longer works with REMOTE=KBD (there
is no stdin in daemon mode, so KBD makes no sense - plus it sometimes
crashed).
+
+2000-10-03: Version 0.65
+
+- Modified LIRC interface to better handle repeat function.
+- Faster OSD by first writing into a bitmap and then sending the entire bitmap
+ to the DVB driver at once (requires the patch 'dvb.c.071.diff' to be applied
+ against the version 0.71 DVB driver file 'dvb.c').
+- When switching channels the channel is now immediately displayed, and the
+ current/next information is shown as soon as it becomes available.
+- No longer displaying the year in the 'Recordings' menu to saves space for the
+ title.
+- The 'Recordings' menu now displays a '*' to indicate new recordings.
+- Added the description of the timers.conf file to the FORMATS file (thanks to
+ Bastian Guse).
+- Displaying as much as possible of the current/next info (dropping characters
+ that would display only partially).
+- In normal viewing mode the '0' key now toggles between the current and the
+ previous channel.
diff --git a/INSTALL b/INSTALL
index 7b953be..7def168 100644
--- a/INSTALL
+++ b/INSTALL
@@ -15,18 +15,22 @@ If you have the DVB driver source in a different location
you will have to change the definition of DVBDIR in the
Makefile.
-This program requires the card driver version 0.05 or higher
-to work properly. If you are using driver version 0.7 you need
-to load the dvb.o module with option outstream=0, so your insmod
-statement should read 'insmod dvb.o outstream=0'. This is currently
-necessary because 'vdr' works with AV_PES data and will change
-once it has been modified to work directly with MPEG2.
+This program requires the card driver version 0.71 or higher
+to work properly. Currently you need to load the dvb.o module with
+option outstream=0, so your insmod statement should read
+'insmod dvb.o outstream=0'. This is necessary because 'vdr' works
+with AV_PES data and will change once it has been modified to work
+directly with MPEG2. You also need to apply the patch 'dvb.c.071.diff'
+for the On Screen Display to work properly.
After extracting the package, change into the VDR directory
and type 'make'. This should produce an executable file
named 'vdr', which can be run after the DVB driver has been
installed.
+IMPORTANT: See "Configuration files" below for information on how
+========= to set up the configuration files at the proper location!
+
The 'vdr' program can be controlled via the PC keyboard or
an infrared remote control unit. Define the REMOTE macro to one of the
following values 'make' call to activate the respective control mode:
@@ -115,7 +119,8 @@ Configuration files:
There are three configuration files that hold information about
channels, remote control keys and timers. By default these files are
assumed to be located in the video directory, but a different directory
-can be used with the '-c' option.
+can be used with the '-c' option. For starters just copy all *.conf files from
+the VDR directory into your video directory.
The configuration files can be edited with any text editor, or will be written
by the 'vdr' program if any changes are made inside the on-screen menus.
diff --git a/MANUAL b/MANUAL
index 91c9bff..24ee3ff 100644
--- a/MANUAL
+++ b/MANUAL
@@ -66,9 +66,12 @@ Video Disk Recorder User's Manual
if no key is pressed for about half a second, the digits collected so
far will define the channel number.
+ Pressing the '0' key toggles between the current and the previous channel.
+
After switching to a different channel the channel number and name, as well
- as the current time are displayed at the top of the screen. This line
- automatically goes away after about two seconds, or if any key is pressed.
+ as the current time are displayed at the top of the screen. If available, the
+ 'current/next' information will be displayed below this line. This display
+ automatically goes away after about five seconds, or if any key is pressed.
To bring up the channel display without switching channels you can press
the "Ok" button.
@@ -97,7 +100,7 @@ Video Disk Recorder User's Manual
All recordings are listed in the "Recordings" menu. Browse through the
list with the "Up" and "Down" button and press "Ok" (or the "Red" button)
- to start playback.
+ to start playback. New recordings are marked with an '*'.
Playback can be stopped via the Main menu by selecting "Stop replaying",
or by pressing the "Blue" button outside the menu.
diff --git a/Makefile b/Makefile
index fef7a6f..1575774 100644
--- a/Makefile
+++ b/Makefile
@@ -4,12 +4,15 @@
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
-# $Id: Makefile 1.11 2000/09/20 17:01:57 kls Exp $
+# $Id: Makefile 1.12 2000/10/01 14:27:12 kls Exp $
DVBDIR = ../DVB
INCLUDES = -I$(DVBDIR)/driver
-OBJS = config.o dvbapi.o eit.o interface.o menu.o osd.o recording.o remote.o svdrp.o tools.o vdr.o videodir.o
+OBJS = config.o dvbapi.o dvbosd.o eit.o font.o interface.o menu.o osd.o\
+ recording.o remote.o svdrp.o tools.o vdr.o videodir.o
+
+OSDFONT = -adobe-helvetica-medium-r-normal--23-*-100-100-p-*-iso8859-1
ifndef REMOTE
REMOTE = KBD
@@ -21,26 +24,52 @@ ifdef DEBUG_OSD
DEFINES += -DDEBUG_OSD
endif
+all: vdr
+font: genfontfile fontosd.c
+ @echo "font file created."
+
+# Implicit rules:
+
%.o: %.c
g++ -g -O2 -Wall -m486 -c $(DEFINES) $(INCLUDES) $<
-all: vdr
+# Dependencies:
-config.o : config.c config.h dvbapi.h eit.h interface.h svdrp.h tools.h
-dvbapi.o : dvbapi.c config.h dvbapi.h interface.h svdrp.h tools.h videodir.h
+config.o : config.c config.h dvbapi.h dvbosd.h eit.h font.h interface.h svdrp.h tools.h
+dvbapi.o : dvbapi.c config.h dvbapi.h dvbosd.h font.h interface.h svdrp.h tools.h videodir.h
+dvbosd.o : dvbosd.c dvbosd.h font.h tools.h
eit.o : eit.c eit.h tools.h
-interface.o: interface.c config.h dvbapi.h eit.h interface.h remote.h svdrp.h tools.h
-menu.o : menu.c config.h dvbapi.h interface.h menu.h osd.h recording.h svdrp.h tools.h
-osd.o : osd.c config.h dvbapi.h interface.h osd.h svdrp.h tools.h
-recording.o: recording.c config.h dvbapi.h interface.h recording.h svdrp.h tools.h videodir.h
-remote.o : remote.c config.h dvbapi.h remote.h tools.h
-svdrp.o : svdrp.c config.h dvbapi.h interface.h svdrp.h tools.h
+font.o : font.c font.h fontosd.c tools.h
+interface.o: interface.c config.h dvbapi.h dvbosd.h eit.h font.h interface.h remote.h svdrp.h tools.h
+menu.o : menu.c config.h dvbapi.h dvbosd.h font.h interface.h menu.h osd.h recording.h svdrp.h tools.h
+osd.o : osd.c config.h dvbapi.h dvbosd.h font.h interface.h osd.h svdrp.h tools.h
+recording.o: recording.c config.h dvbapi.h dvbosd.h font.h interface.h recording.h svdrp.h tools.h videodir.h
+remote.o : remote.c config.h dvbapi.h dvbosd.h font.h remote.h tools.h
+svdrp.o : svdrp.c config.h dvbapi.h dvbosd.h font.h interface.h svdrp.h tools.h
tools.o : tools.c tools.h
-vdr.o : vdr.c config.h dvbapi.h interface.h menu.h osd.h recording.h svdrp.h tools.h videodir.h
+vdr.o : vdr.c config.h dvbapi.h dvbosd.h font.h interface.h menu.h osd.h recording.h svdrp.h tools.h videodir.h
videodir.o : videodir.c tools.h videodir.h
+# The main program:
+
vdr: $(OBJS)
g++ -g -O2 $(OBJS) -lncurses -ljpeg -o vdr
+# The font file:
+
+fontosd.c:
+ genfontfile "cFont::tPixelData FontOsd" $(OSDFONT) > $@
+
+# The font file generator:
+
+genfontfile.o: genfontfile.c
+ gcc -O2 -c $<
+genfontfile: genfontfile.o
+ gcc -o $@ -L/usr/X11R6/lib $< -lX11
+
+# Housekeeping:
+
clean:
- -rm $(OBJS) vdr
+ -rm -f $(OBJS) vdr genfontfile genfontfile.o
+CLEAN: clean
+ -rm -f fontosd.c
diff --git a/config.h b/config.h
index 418fa63..224a7b3 100644
--- a/config.h
+++ b/config.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: config.h 1.21 2000/09/17 09:08:13 kls Exp $
+ * $Id: config.h 1.22 2000/10/01 14:14:18 kls Exp $
*/
#ifndef __CONFIG_H
@@ -17,7 +17,7 @@
#include "dvbapi.h"
#include "tools.h"
-#define VDRVERSION "0.64"
+#define VDRVERSION "0.65"
#define MaxBuffer 10000
diff --git a/dvb.c.071.diff b/dvb.c.071.diff
new file mode 100644
index 0000000..647b0de
--- /dev/null
+++ b/dvb.c.071.diff
@@ -0,0 +1,100 @@
+--- dvb.c.001 Sun Sep 17 22:02:37 2000
++++ dvb.c Tue Oct 3 12:11:46 2000
+@@ -1143,6 +1143,8 @@
+ {
+ int bpp;
+ int i;
++ int d, delta; //XXX kls: additional variables for data compression
++ u8 c; //XXX kls: additional variables for data compression
+ DECLARE_WAITQUEUE(wait, current);
+
+ if (dvb->bmp_state==BMP_LOADING) {
+@@ -1160,27 +1162,38 @@
+ if (dvb->bmp_state==BMP_LOADING)
+ return -1;
+ dvb->bmp_state=BMP_LOADING;
+- if (format==BITMAP8) bpp=8;
+- else if (format==BITMAP4) bpp=4;
+- else if (format==BITMAP2) bpp=2;
+- else if (format==BITMAP1) bpp=1;
++ if (format==BITMAP8) { bpp=8; delta = 1; } //XXX kls: initialize 'delta', too
++ else if (format==BITMAP4) { bpp=4; delta = 2; }
++ else if (format==BITMAP2) { bpp=2; delta = 4; }
++ else if (format==BITMAP1) { bpp=1; delta = 8; }
+ else {
+ dvb->bmp_state=BMP_NONE;
+ return -1;
+ }
+- dvb->bmplen= (dx*dy*bpp)/8;
++ dvb->bmplen= ((dx*dy*bpp+7)&~7)/8; //XXX kls: need to round up to include partial bytes
+ dvb->bmpp=0;
+ if (dvb->bmplen>32768) {
+ dvb->bmp_state=BMP_NONE;
+ return -1;
+ }
+ for (i=0; i<dy; i++) {
+- if (copy_from_user(dvb->bmpbuf+1024+i*dx, data+i*inc, (dx*bpp)/8)) {
++ if (copy_from_user(dvb->bmpbuf+1024+i*dx, data+i*inc, dx)) { //XXX kls: incoming data is "1 byte per pixel"
+ dvb->bmp_state=BMP_NONE;
+ return -1;
+ }
+
+ }
++ // XXX kls: Incoming data is always "one byte per pixel", so we need to compress
++ // the data in case we have a lower resolution than 8 bpp:
++ if (format != BITMAP8) {
++ for (i=0; i<dx*dy/delta; i++) {
++ c = ((u8 *)dvb->bmpbuf)[1024+i*delta+delta-1];
++ for (d=delta-2; d>=0; d--) {
++ c |= (((u8 *)dvb->bmpbuf)[1024+i*delta+d] << ((delta-d-1)*bpp));
++ ((u8 *)dvb->bmpbuf)[1024+i] = c;
++ }
++ }
++ }
+ dvb->bmplen+=1024;
+ return outcom(dvb, COMTYPE_OSD, LoadBmp, 3, format, dx, dy);
+ }
+@@ -1256,24 +1269,25 @@
+ int i;
+
+ w=x1-x0+1; h=y1-y0+1;
+- if (inc>0)
+- w=inc;
+- if (w>720 || h>576)
++ if (inc<=0)
++ inc=w; //XXX kls: see dvb_4l.h: "inc<=0 uses blockwidth as linewidth"
++ if (w<=0 || w>720 || h<=0 || h>576) //XXX kls: checking lower bounds, too
+ return -1;
+- bpp=8; //dvb->osdbpp[dvb->osdwin];
+- bpl=w*bpp/8;
++ bpp=dvb->osdbpp[dvb->osdwin]+1; //XXX kls: 'bpp' needs to be taken from the window
++ bpl=((w*bpp+7)&~7)/8; //XXX kls: need to round up to include partial bytes
+ size=h*bpl;
+- lpb=(64*1024)/bpl;
++ lpb=(32*1024)/bpl; //XXX kls: apparently 32K is the maximum possible value
+ bnum=size/(lpb*bpl);
+ brest=size-bnum*lpb*bpl;
+
+ for (i=0; i<bnum; i++) {
+- LoadBitmap(dvb, BITMAP8, w, lpb, inc, data);
++ LoadBitmap(dvb, bpp2bit[dvb->osdbpp[dvb->osdwin]], w, lpb, inc, data); //XXX kls: need to take the format from the actual window
+ BlitBitmap(dvb, dvb->osdwin, x0, y0+i*lpb, 1);
+- data+=bpl;
++ data+=lpb*inc; //XXX kls: incrementing must be done in "one byte per pixel"
++ ddelay(2); //XXX kls: without this the block is sometimes not fully displayed - firmware bug?
+ }
+ if (brest) {
+- LoadBitmap(dvb, BITMAP8, w, brest/bpl, inc, data);
++ LoadBitmap(dvb, bpp2bit[dvb->osdbpp[dvb->osdwin]], w, brest/bpl, inc, data); //XXX kls: need to take the format from the actual window
+ BlitBitmap(dvb, dvb->osdwin, x0, y0+bnum*lpb, 1);
+ }
+ ReleaseBitmap(dvb);
+@@ -6141,7 +6155,7 @@
+ init_waitqueue_head(&dvb->bmpq);
+ spin_lock_init (&(dvb->bmplock));
+ dvb->bmpp=dvb->bmplen=0;
+- dvb->bmpbuf=vmalloc(32768+1024);
++ dvb->bmpbuf=vmalloc(8*32768+1024); //XXX kls: '8*' to be prepared for the maximum possible incoming data at 1 bpp
+
+ init_waitqueue_head(&dvb->debiq);
+ dvb->debilock=SPIN_LOCK_UNLOCKED;
diff --git a/dvbapi.c b/dvbapi.c
index 1468de6..04873fc 100644
--- a/dvbapi.c
+++ b/dvbapi.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbapi.c 1.27 2000/09/17 12:45:55 kls Exp $
+ * $Id: dvbapi.c 1.30 2000/10/03 13:26:16 kls Exp $
*/
#include "dvbapi.h"
@@ -19,6 +19,7 @@ extern "C" {
#include <sys/stat.h>
#include <sys/time.h>
#include <unistd.h>
+#include "dvbapi.h"
#include "interface.h"
#include "tools.h"
#include "videodir.h"
@@ -71,6 +72,56 @@ extern "C" {
typedef unsigned char uchar;
+// --- cResumeFile ------------------------------------------------------------
+
+cResumeFile::cResumeFile(const char *FileName)
+{
+ fileName = new char[strlen(FileName) + strlen(RESUMEFILESUFFIX) + 1];
+ if (fileName) {
+ strcpy(fileName, FileName);
+ strcat(fileName, RESUMEFILESUFFIX);
+ }
+ else
+ esyslog(LOG_ERR, "ERROR: can't allocate memory for resume file name");
+}
+
+cResumeFile::~cResumeFile()
+{
+ delete fileName;
+}
+
+int cResumeFile::Read(void)
+{
+ int resume = -1;
+ if (fileName) {
+ int f = open(fileName, O_RDONLY);
+ if (f >= 0) {
+ if (read(f, &resume, sizeof(resume)) != sizeof(resume)) {
+ resume = -1;
+ LOG_ERROR_STR(fileName);
+ }
+ close(f);
+ }
+ else if (errno != ENOENT)
+ LOG_ERROR_STR(fileName);
+ }
+ return resume;
+}
+
+bool cResumeFile::Save(int Index)
+{
+ if (fileName) {
+ int f = open(fileName, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP);
+ if (f >= 0) {
+ if (write(f, &Index, sizeof(Index)) != sizeof(Index))
+ LOG_ERROR_STR(fileName);
+ close(f);
+ return true;
+ }
+ }
+ return false;
+}
+
// --- cIndexFile ------------------------------------------------------------
class cIndexFile {
@@ -78,8 +129,9 @@ private:
struct tIndex { int offset; uchar type; uchar number; short reserved; };
int f;
char *fileName, *pFileExt;
- int size, last, resume;
+ int size, last;
tIndex *index;
+ cResumeFile resumeFile;
bool CatchUp(void);
public:
cIndexFile(const char *FileName, bool Record = false);
@@ -89,21 +141,22 @@ public:
int GetNextIFrame(int Index, bool Forward, uchar *FileNumber, int *FileOffset, int *Length = NULL);
int Get(uchar FileNumber, int FileOffset);
int Last(void) { return last; }
- int GetResume(void) { return resume; }
- bool StoreResume(int Index);
+ int GetResume(void) { return resumeFile.Read(); }
+ bool StoreResume(int Index) { return resumeFile.Save(Index); }
static char *Str(int Index, bool WithFrame = false);
};
cIndexFile::cIndexFile(const char *FileName, bool Record)
+:resumeFile(FileName)
{
f = -1;
fileName = pFileExt = NULL;
size = 0;
- last = resume = -1;
+ last = -1;
index = NULL;
if (FileName) {
- fileName = new char[strlen(FileName) + strlen(INDEXFILESUFFIX) + strlen(RESUMEFILESUFFIX) + 1];
- if (fileName) { // no max() function at hand...
+ fileName = new char[strlen(FileName) + strlen(INDEXFILESUFFIX) + 1];
+ if (fileName) {
strcpy(fileName, FileName);
pFileExt = fileName + strlen(fileName);
strcpy(pFileExt, INDEXFILESUFFIX);
@@ -155,19 +208,6 @@ cIndexFile::cIndexFile(const char *FileName, bool Record)
delete fileName;
fileName = pFileExt = NULL;
}
- else {
- strcpy(pFileExt, RESUMEFILESUFFIX);
- int resumeFile = open(fileName, O_RDONLY);
- if (resumeFile >= 0) {
- if (read(resumeFile, &resume, sizeof(resume)) != sizeof(resume)) {
- resume = -1;
- LOG_ERROR_STR(fileName);
- }
- close(resumeFile);
- }
- else if (errno != ENOENT)
- LOG_ERROR_STR(fileName);
- }
}
else
esyslog(LOG_ERR, "ERROR: can't copy file name '%s'", FileName);
@@ -298,22 +338,6 @@ int cIndexFile::Get(uchar FileNumber, int FileOffset)
return -1;
}
-bool cIndexFile::StoreResume(int Index)
-{
- if (fileName) {
- int resumeFile = open(fileName, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP);
- if (resumeFile >= 0) {
- if (write(resumeFile, &Index, sizeof(Index)) != sizeof(Index))
- LOG_ERROR_STR(fileName);
- close(resumeFile);
- return true;
- }
- else if (errno != ENOENT)
- LOG_ERROR_STR(fileName);
- }
- return false;
-}
-
char *cIndexFile::Str(int Index, bool WithFrame)
{
static char buffer[16];
@@ -1087,6 +1111,8 @@ cDvbApi::cDvbApi(const char *FileName)
start_color();
leaveok(stdscr, true);
window = NULL;
+#else
+ osd = NULL;
#endif
lastProgress = lastTotal = -1;
replayTitle = NULL;
@@ -1488,18 +1514,19 @@ void cDvbApi::Open(int w, int h)
d *= lineHeight;
int x = (720 - MenuColumns * charWidth) / 2; //TODO PAL vs. NTSC???
int y = (576 - MenuLines * lineHeight) / 2 + d;
- Cmd(OSD_Open, 4, x, y, x + w - 1, y + h - 1);
+ osd = new cDvbOsd(videoDev, x, y, x + w - 1, y + h - 1, 4);
#define SETCOLOR(n, r, g, b, o) Cmd(OSD_SetColor, n, r, g, b, o)
+ SETCOLOR(clrTransparent, 0x00, 0x00, 0x00, 0);
#endif
- SETCOLOR(clrBackground, 0x00, 0x00, 0x00, 127); // background 50% gray
- SETCOLOR(clrBlack, 0x00, 0x00, 0x00, 255);
- SETCOLOR(clrRed, 0xFC, 0x14, 0x14, 255);
- SETCOLOR(clrGreen, 0x24, 0xFC, 0x24, 255);
- SETCOLOR(clrYellow, 0xFC, 0xC0, 0x24, 255);
- SETCOLOR(clrBlue, 0x00, 0x00, 0xFC, 255);
- SETCOLOR(clrCyan, 0x00, 0xFC, 0xFC, 255);
- SETCOLOR(clrMagenta, 0xB0, 0x00, 0xFC, 255);
- SETCOLOR(clrWhite, 0xFC, 0xFC, 0xFC, 255);
+ SETCOLOR(clrBackground, 0x00, 0x00, 0x00, 127); // background 50% gray
+ SETCOLOR(clrBlack, 0x00, 0x00, 0x00, 255);
+ SETCOLOR(clrRed, 0xFC, 0x14, 0x14, 255);
+ SETCOLOR(clrGreen, 0x24, 0xFC, 0x24, 255);
+ SETCOLOR(clrYellow, 0xFC, 0xC0, 0x24, 255);
+ SETCOLOR(clrBlue, 0x00, 0x00, 0xFC, 255);
+ SETCOLOR(clrCyan, 0x00, 0xFC, 0xFC, 255);
+ SETCOLOR(clrMagenta, 0xB0, 0x00, 0xFC, 255);
+ SETCOLOR(clrWhite, 0xFC, 0xFC, 0xFC, 255);
lastProgress = lastTotal = -1;
}
@@ -1512,7 +1539,8 @@ void cDvbApi::Close(void)
window = 0;
}
#else
- Cmd(OSD_Close);
+ delete osd;
+ osd = NULL;
#endif
lastProgress = lastTotal = -1;
}
@@ -1523,7 +1551,7 @@ void cDvbApi::Clear(void)
SetColor(clrBackground, clrBackground);
Fill(0, 0, cols, rows, clrBackground);
#else
- Cmd(OSD_Clear);
+ osd->Clear();
#endif
}
@@ -1539,7 +1567,7 @@ void cDvbApi::Fill(int x, int y, int w, int h, eDvbColor color)
}
wsyncup(window); // shouldn't be necessary because of 'syncok()', but w/o it doesn't work
#else
- Cmd(OSD_FillBlock, color, x * charWidth, y * lineHeight, (x + w) * charWidth - 1, (y + h) * lineHeight - 1);
+ osd->Fill(x * charWidth, y * lineHeight, (x + w) * charWidth - 1, (y + h) * lineHeight - 1, color);
#endif
}
@@ -1555,9 +1583,17 @@ void cDvbApi::Text(int x, int y, const char *s, eDvbColor colorFg, eDvbColor col
#ifdef DEBUG_OSD
SetColor(colorFg, colorBg);
wmove(window, y, x); // ncurses wants 'y' before 'x'!
- waddstr(window, s);
+ waddnstr(window, s, cols - x);
#else
- Cmd(OSD_Text, (int(colorBg) << 16) | colorFg, x * charWidth, y * lineHeight, 1, 0, s);
+ osd->Text(x * charWidth, y * lineHeight, s, colorFg, colorBg);
+#endif
+}
+
+void cDvbApi::Flush(void)
+{
+#ifndef DEBUG_OSD
+ if (osd)
+ osd->Flush();
#endif
}
@@ -1567,11 +1603,13 @@ bool cDvbApi::ShowProgress(bool Initial)
if (GetIndex(&Current, &Total)) {
if (Initial) {
+ Clear();
if (replayTitle)
Text(0, 0, replayTitle);
}
if (Total != lastTotal)
Text(-7, 2, cIndexFile::Str(Total));
+ Flush();
#ifdef DEBUG_OSD
int p = cols * Current / Total;
Fill(0, 1, p, 1, clrGreen);
@@ -1597,12 +1635,14 @@ bool cDvbApi::ShowProgress(bool Initial)
color = clrWhite;
}
if (lastProgress < 0)
- Cmd(OSD_FillBlock, clrWhite, 0, y1, w - 1, y2);
- Cmd(OSD_FillBlock, color, x1, y1, x2, y2);
+ osd->Fill(0, y1, w - 1, y2, clrWhite);
+ osd->Fill(x1, y1, x2, y2, color);
lastProgress = p;
}
+ Flush();
#endif
Text(0, 2, cIndexFile::Str(Current));
+ Flush();
lastTotal = Total;
return true;
}
diff --git a/dvbapi.h b/dvbapi.h
index 08ba4bf..b35f3fb 100644
--- a/dvbapi.h
+++ b/dvbapi.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: dvbapi.h 1.16 2000/09/17 12:15:05 kls Exp $
+ * $Id: dvbapi.h 1.18 2000/10/03 11:26:10 kls Exp $
*/
#ifndef __DVBAPI_H
@@ -20,6 +20,7 @@ typedef unsigned char __u8;
#endif
#include <stdio.h>
#include <dvb.h>
+#include "dvbosd.h"
// Overlay facilities
#define MAXCLIPRECTS 100
@@ -30,22 +31,16 @@ typedef struct CRect {
#define MenuLines 15
#define MenuColumns 40
-enum eDvbColor { clrBackground,
-#ifndef DEBUG_OSD
- clrOBSOLETE, //FIXME apparently color '1' can't be used as FgColor with e.g. clrRed as BgColor???
- clrBlack,
-#else
- clrBlack = clrBackground,
-#endif
- clrRed,
- clrGreen,
- clrYellow,
- clrBlue,
- clrMagenta,
- clrCyan,
- clrWhite,
- };
-
+class cResumeFile {
+private:
+ char *fileName;
+public:
+ cResumeFile(const char *FileName);
+ ~cResumeFile();
+ int Read(void);
+ bool Save(int Index);
+ };
+
class cDvbApi {
private:
int videoDev;
@@ -106,6 +101,8 @@ private:
enum { MaxColorPairs = 16 };
int colorPairs[MaxColorPairs];
void SetColor(eDvbColor colorFg, eDvbColor colorBg = clrBackground);
+#else
+ cDvbOsd *osd;
#endif
int cols, rows;
void Cmd(OSD_Command cmd, int color = 0, int x0 = 0, int y0 = 0, int x1 = 0, int y1 = 0, const void *data = NULL);
@@ -116,6 +113,7 @@ public:
void Fill(int x, int y, int w, int h, eDvbColor color = clrBackground);
void ClrEol(int x, int y, eDvbColor color = clrBackground);
void Text(int x, int y, const char *s, eDvbColor colorFg = clrWhite, eDvbColor colorBg = clrBackground);
+ void Flush(void);
// Progress Display facilities
diff --git a/dvbosd.c b/dvbosd.c
new file mode 100644
index 0000000..1e2c354
--- /dev/null
+++ b/dvbosd.c
@@ -0,0 +1,177 @@
+/*
+ * dvbosd.c: Interface to the DVB On Screen Display
+ *
+ * See the main source file 'vdr.c' for copyright information and
+ * how to reach the author.
+ *
+ * $Id: dvbosd.c 1.2 2000/10/03 13:34:13 kls Exp $
+ */
+
+#include "dvbosd.h"
+#include <sys/ioctl.h>
+#include <sys/stat.h>
+#include <sys/unistd.h>
+#include "tools.h"
+
+// --- cBitmap ---------------------------------------------------------------
+
+cBitmap::cBitmap(int Width, int Height)
+{
+ width = Width;
+ height = Height;
+ bitmap = NULL;
+ font = NULL;
+ if (width > 0 && height > 0) {
+ bitmap = new char[width * height];
+ if (bitmap) {
+ Clean();
+ memset(bitmap, clrTransparent, width * height);
+ SetFont(fontOsd);
+ }
+ else
+ esyslog(LOG_ERR, "ERROR: can't allocate bitmap!");
+ }
+ else
+ esyslog(LOG_ERR, "ERROR: illegal bitmap parameters (%d, %d)!", width, height);
+}
+
+cBitmap::~cBitmap()
+{
+ delete font;
+ delete bitmap;
+}
+
+void cBitmap::SetFont(eDvbFont Font)
+{
+ delete font;
+ font = new cFont(Font);
+}
+
+bool cBitmap::Dirty(void)
+{
+ return dirtyX2 >= 0;
+}
+
+void cBitmap::Clean(void)
+{
+ dirtyX1 = width;
+ dirtyY1 = height;
+ dirtyX2 = -1;
+ dirtyY2 = -1;
+}
+
+void cBitmap::SetPixel(int x, int y, eDvbColor Color)
+{
+ if (bitmap) {
+ if (0 <= x && x < width && 0 <= y && y < height) {
+ if (bitmap[width * y + x] != Color) {
+ bitmap[width * y + x] = Color;
+ if (dirtyX1 > x) dirtyX1 = x;
+ if (dirtyY1 > y) dirtyY1 = y;
+ if (dirtyX2 < x) dirtyX2 = x;
+ if (dirtyY2 < y) dirtyY2 = y;
+ }
+ }
+ }
+}
+
+void cBitmap::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor ColorBg)
+{
+ if (bitmap) {
+ int h = font->Height(s);
+ while (s && *s) {
+ const cFont::tCharData *CharData = font->CharData(*s++);
+ if (int(x + CharData->width) > width)
+ break;
+ for (int row = 0; row < h; row++) {
+ cFont::tPixelData PixelData = CharData->lines[row];
+ for (int col = CharData->width; col-- > 0; ) {
+ SetPixel(x + col, y + row, (PixelData & 1) ? ColorFg : ColorBg);
+ PixelData >>= 1;
+ }
+ }
+ x += CharData->width;
+ }
+ }
+}
+
+void cBitmap::Fill(int x1, int y1, int x2, int y2, eDvbColor Color)
+{
+ if (bitmap) {
+ for (int y = y1; y <= y2; y++)
+ for (int x = x1; x <= x2; x++)
+ SetPixel(x, y, Color);
+ }
+}
+
+void cBitmap::Clear(void)
+{
+ Fill(0, 0, width - 1, height - 1, clrBackground);
+}
+
+// --- cDvbOsd ---------------------------------------------------------------
+
+cDvbOsd::cDvbOsd(int VideoDev, int x1, int y1, int x2, int y2, int Bpp)
+:cBitmap(x2 - x1 + 1, y2 - y1 + 1)
+{
+ videoDev = VideoDev;
+ if (videoDev >= 0)
+ Cmd(OSD_Open, Bpp, x1, y1, x2, y2);
+ else
+ esyslog(LOG_ERR, "ERROR: illegal video device handle (%d)!", videoDev);
+}
+
+cDvbOsd::~cDvbOsd()
+{
+ if (videoDev >= 0)
+ Cmd(OSD_Close);
+}
+
+void cDvbOsd::Cmd(OSD_Command cmd, int color, int x0, int y0, int x1, int y1, const void *data)
+{
+ if (videoDev >= 0) {
+ struct drawcmd dc;
+ dc.cmd = cmd;
+ dc.color = color;
+ dc.x0 = x0;
+ dc.y0 = y0;
+ dc.x1 = x1;
+ dc.y1 = y1;
+ dc.data = (void *)data;
+ ioctl(videoDev, VIDIOCSOSDCOMMAND, &dc);
+ usleep(10); // XXX Workaround for a driver bug (cInterface::DisplayChannel() displayed texts at wrong places
+ // XXX and sometimes the OSD was no longer displayed).
+ // XXX Increase the value if the problem still persists on your particular system.
+ // TODO Check if this is still necessary with driver versions after 0.7.
+ }
+}
+
+void cDvbOsd::Flush(void)
+{
+ if (Dirty()) {
+ //XXX Workaround: apparently the bitmap sent to the driver always has to be a multiple
+ //XXX of 8 bits wide, and (dx * dy) also has to be a multiple of 8.
+ //TODO Fix driver (should be able to handle any size bitmaps!)
+ while ((dirtyX1 > 0 || dirtyX2 < width - 1) && ((dirtyX2 - dirtyX1) & 7) != 7) {
+ if (dirtyX2 < width - 1)
+ dirtyX2++;
+ else if (dirtyX1 > 0)
+ dirtyX1--;
+ }
+ while ((dirtyY1 > 0 || dirtyY2 < height - 1) && (((dirtyX2 - dirtyX1 + 1) * (dirtyY2 - dirtyY1 + 1) / 2) & 7) != 0) {
+ if (dirtyY2 < height - 1)
+ dirtyY2++;
+ else if (dirtyY1 > 0)
+ dirtyY1--;
+ }
+ while ((dirtyX1 > 0 || dirtyX2 < width - 1) && (((dirtyX2 - dirtyX1 + 1) * (dirtyY2 - dirtyY1 + 1) / 2) & 7) != 0) {
+ if (dirtyX2 < width - 1)
+ dirtyX2++;
+ else if (dirtyX1 > 0)
+ dirtyX1--;
+ }
+ Cmd(OSD_SetBlock, width, dirtyX1, dirtyY1, dirtyX2, dirtyY2, &bitmap[dirtyY1 * width + dirtyX1]);
+ Clean();
+ }
+}
+
diff --git a/dvbosd.h b/dvbosd.h
new file mode 100644
index 0000000..f7a5363
--- /dev/null
+++ b/dvbosd.h
@@ -0,0 +1,74 @@
+/*
+ * dvbosd.h: Interface to the DVB On Screen Display
+ *
+ * See the main source file 'vdr.c' for copyright information and
+ * how to reach the author.
+ *
+ * $Id: dvbosd.h 1.1 2000/10/01 15:00:00 kls Exp $
+ */
+
+#ifndef __DVBOSD_H
+#define __DVBOSD_H
+
+// FIXME: these should be defined in ../DVB/driver/dvb.h!!!
+typedef unsigned int __u32;
+typedef unsigned short __u16;
+typedef unsigned char __u8;
+
+#if defined(DEBUG_OSD) || defined(REMOTE_KBD)
+#include <ncurses.h>
+#endif
+#include <stdio.h>
+#include <dvb.h>
+#include "font.h"
+
+enum eDvbColor {
+#ifndef DEBUG_OSD
+ clrTransparent,
+#endif
+ clrBackground,
+#ifdef DEBUG_OSD
+ clrTransparent = clrBackground,
+ clrBlack = clrBackground,
+#else
+ clrBlack,
+#endif
+ clrRed,
+ clrGreen,
+ clrYellow,
+ clrBlue,
+ clrMagenta,
+ clrCyan,
+ clrWhite,
+ };
+
+class cBitmap {
+private:
+ cFont *font;
+protected:
+ int width, height;
+ char *bitmap;
+ int dirtyX1, dirtyY1, dirtyX2, dirtyY2;
+ void Clean(void);
+public:
+ cBitmap(int Width, int Height);
+ virtual ~cBitmap();
+ void SetFont(eDvbFont Font);
+ bool Dirty(void);
+ void SetPixel(int x, int y, eDvbColor Color);
+ void Text(int x, int y, const char *s, eDvbColor ColorFg = clrWhite, eDvbColor ColorBg = clrBackground);
+ void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
+ void Clear(void);
+ };
+
+class cDvbOsd : public cBitmap {
+private:
+ int videoDev;
+ void Cmd(OSD_Command cmd, int color = 0, int x0 = 0, int y0 = 0, int x1 = 0, int y1 = 0, const void *data = NULL);
+public:
+ cDvbOsd(int VideoDev, int x1, int y1, int x2, int y2, int Bpp);
+ ~cDvbOsd();
+ void Flush(void);
+ };
+
+#endif //__DVBOSD_H
diff --git a/eit.c b/eit.c
index d62c902..44c873b 100644
--- a/eit.c
+++ b/eit.c
@@ -13,7 +13,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
- * $Id: eit.c 1.3 2000/09/17 15:23:05 kls Exp $
+ * $Id: eit.c 1.4 2000/10/01 14:09:05 kls Exp $
***************************************************************************/
#include "eit.h"
@@ -424,9 +424,8 @@ int cEIT::SetProgramNumber(unsigned short pnr)
evtRunning.bIsValid = false;
evtNext.bIsValid = false;
uProgramNumber = pnr;
- return GetEIT();
}
- return (IsValid() ? 1 : -1);
+ return 1;
}
/** retrieves the string for the running title */
@@ -503,6 +502,7 @@ char * cEIT::GetNextTime()
/** */
bool cEIT::IsValid()
{
+ GetEIT();
return (evtRunning.bIsValid && evtNext.bIsValid);
}
diff --git a/font.c b/font.c
new file mode 100644
index 0000000..3ef4083
--- /dev/null
+++ b/font.c
@@ -0,0 +1,41 @@
+/*
+ * font.c: Font handling for the DVB On Screen Display
+ *
+ * See the main source file 'vdr.c' for copyright information and
+ * how to reach the author.
+ *
+ * $Id: font.c 1.1 2000/10/01 15:01:49 kls Exp $
+ */
+
+#include "font.h"
+#include "tools.h"
+
+#include "fontosd.c"
+
+cFont::cFont(eDvbFont Font)//XXX
+{
+ switch (Font) {
+ default:
+ case fontOsd: for (int i = 0; i < NUMCHARS; i++)
+ data[i] = (tCharData *)&FontOsd[i < 32 ? 0 : i - 32];
+ break;
+ // TODO others...
+ }
+}
+
+int cFont::Width(const char *s)
+{
+ int w = 0;
+ while (s && *s)
+ w += Width(*s++);
+ return w;
+}
+
+int cFont::Height(const char *s)
+{
+ int h = 0;
+ if (s && *s)
+ h = Height(*s); // all characters have the same height!
+ return h;
+}
+
diff --git a/font.h b/font.h
new file mode 100644
index 0000000..f31c6b5
--- /dev/null
+++ b/font.h
@@ -0,0 +1,40 @@
+/*
+ * font.h: Font handling for the DVB On Screen Display
+ *
+ * See the main source file 'vdr.c' for copyright information and
+ * how to reach the author.
+ *
+ * $Id: font.h 1.1 2000/10/01 15:00:35 kls Exp $
+ */
+
+#ifndef __FONT_H
+#define __FONT_H
+
+enum eDvbFont {
+ fontOsd,
+/* TODO as soon as we have the font files...
+ fontTtxSmall,
+ fontTtxLarge,
+*/
+ };
+
+class cFont {
+public:
+ enum { NUMCHARS = 256 };
+ typedef unsigned long tPixelData;
+ struct tCharData {
+ tPixelData width, height;
+ tPixelData lines[1];
+ };
+private:
+ const tCharData *data[NUMCHARS];
+public:
+ cFont(eDvbFont Font);
+ int Width(unsigned char c) { return data[c]->width; }
+ int Width(const char *s);
+ int Height(unsigned char c) { return data[c]->height; }
+ int Height(const char *s);
+ const tCharData *CharData(unsigned char c) { return data[c]; }
+ };
+
+#endif //__FONT_H
diff --git a/fontosd.c b/fontosd.c
new file mode 100644
index 0000000..17d1be5
--- /dev/null
+++ b/fontosd.c
@@ -0,0 +1,6722 @@
+cFont::tPixelData FontOsd[][29] = {
+ { // 32
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 33
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 34
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x000000CC, // .**..**.
+ 0x000000CC, // .**..**.
+ 0x000000CC, // .**..**.
+ 0x000000CC, // .**..**.
+ 0x000000CC, // .**..**.
+ 0x00000044, // ..*...*.
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 35
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000118, // .....*...**..
+ 0x00000318, // ....**...**..
+ 0x00000318, // ....**...**..
+ 0x00000310, // ....**...*...
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00000230, // ....*...**...
+ 0x00000630, // ...**...**...
+ 0x00000630, // ...**...**...
+ 0x00000620, // ...**...*....
+ 0x00003FFC, // ************.
+ 0x00003FFC, // ************.
+ 0x00000460, // ...*...**....
+ 0x00000C60, // ..**...**....
+ 0x00000C40, // ..**...*.....
+ 0x00000C40, // ..**...*.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 36
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000180, // .....**......
+ 0x00000180, // .....**......
+ 0x00000FF0, // ..********...
+ 0x00000CB8, // ..**..*.***..
+ 0x00001998, // .**..**..**..
+ 0x00001998, // .**..**..**..
+ 0x00001980, // .**..**......
+ 0x00001980, // .**..**......
+ 0x00000F80, // ..*****......
+ 0x000007E0, // ...******....
+ 0x000003F8, // ....*******..
+ 0x0000019C, // .....**..***.
+ 0x0000018C, // .....**...**.
+ 0x0000198C, // .**..**...**.
+ 0x0000198C, // .**..**...**.
+ 0x0000199C, // .**..**..***.
+ 0x00001D38, // .***.*..***..
+ 0x00000FF0, // ..********...
+ 0x00000180, // .....**......
+ 0x00000180, // .....**......
+ 0x00000180, // .....**......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 37
+ 20, 27,
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00038040, // ...***........*.....
+ 0x000FE0C0, // .*******.....**.....
+ 0x001C7180, // ***...***...**......
+ 0x00183100, // **.....**...*.......
+ 0x00183300, // **.....**..**.......
+ 0x001C7200, // ***...***..*........
+ 0x000FE600, // .*******..**........
+ 0x0007C400, // ..*****...*.........
+ 0x00000C78, // .........**...****..
+ 0x000018FC, // ........**...******.
+ 0x000019CC, // ........**..***..**.
+ 0x00003186, // .......**...**....**
+ 0x00002186, // .......*....**....**
+ 0x00006186, // ......**....**....**
+ 0x0000C0FC, // .....**......******.
+ 0x0000C078, // .....**.......****..
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ },
+ { // 38
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000780, // .....****......
+ 0x00000FC0, // ....******.....
+ 0x00001860, // ...**....**....
+ 0x00001860, // ...**....**....
+ 0x00001860, // ...**....**....
+ 0x00000DC0, // ....**.***.....
+ 0x00000F80, // ....*****......
+ 0x00000F00, // ....****.......
+ 0x00001F98, // ...******..**..
+ 0x00003198, // ..**...**..**..
+ 0x000060D8, // .**.....**.**..
+ 0x00006070, // .**......***...
+ 0x00006070, // .**......***...
+ 0x00007078, // .***.....****..
+ 0x00003FDC, // ..********.***.
+ 0x00001F00, // ...*****.......
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 39
+ 5, 27,
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x00000004, // ...*.
+ 0x00000004, // ...*.
+ 0x00000008, // ..*..
+ 0x00000008, // ..*..
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ },
+ { // 40
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x0000000C, // .....**.
+ 0x00000018, // ....**..
+ 0x00000018, // ....**..
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000020, // ...*....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000020, // ...*....
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000010, // ....*...
+ 0x00000018, // ....**..
+ 0x00000008, // .....*..
+ 0x00000008, // .....*..
+ },
+ { // 41
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000080, // .*......
+ 0x00000040, // ..*.....
+ 0x00000060, // ..**....
+ 0x00000020, // ...*....
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000018, // ....**..
+ 0x00000018, // ....**..
+ 0x00000018, // ....**..
+ 0x00000018, // ....**..
+ 0x00000018, // ....**..
+ 0x00000018, // ....**..
+ 0x00000018, // ....**..
+ 0x00000018, // ....**..
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000020, // ...*....
+ 0x00000060, // ..**....
+ 0x00000040, // ..*.....
+ 0x00000080, // .*......
+ },
+ { // 42
+ 9, 27,
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000020, // ....*....
+ 0x00000020, // ....*....
+ 0x000001AC, // .**.*.**.
+ 0x000000F8, // ..*****..
+ 0x00000070, // ...***...
+ 0x000000D8, // ..**.**..
+ 0x00000088, // ..*...*..
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ },
+ { // 43
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 44
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 45
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001FFE, // .************
+ 0x00001FFE, // .************
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 46
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 47
+ 6, 27,
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000004, // .....*.
+ 0x00000004, // .....*.
+ 0x0000000C, // ....**.
+ 0x0000000C, // ....**.
+ 0x00000008, // ....*..
+ 0x00000018, // ...**..
+ 0x00000018, // ...**..
+ 0x00000010, // ...*...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000020, // ..*....
+ 0x00000060, // .**....
+ 0x00000060, // .**....
+ 0x00000040, // .*.....
+ 0x000000C0, // **.....
+ 0x000000C0, // **.....
+ 0x00000080, // *......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ },
+ { // 48
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x000007F0, // ...*******...
+ 0x00000E38, // ..***...***..
+ 0x00000C18, // ..**.....**..
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x00000C18, // ..**.....**..
+ 0x00000E38, // ..***...***..
+ 0x000007F0, // ...*******...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 49
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000003C0, // ....****.....
+ 0x00000FC0, // ..******.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 50
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF8, // ..*********..
+ 0x00000C1C, // ..**.....***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000000C, // ..........**.
+ 0x00000018, // .........**..
+ 0x00000038, // ........***..
+ 0x000000F0, // ......****...
+ 0x000003C0, // ....****.....
+ 0x00000700, // ...***.......
+ 0x00000E00, // ..***........
+ 0x00000C00, // ..**.........
+ 0x00001800, // .**..........
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 51
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000007E0, // ...******....
+ 0x00000FF0, // ..********...
+ 0x00000C38, // ..**....***..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00000018, // .........**..
+ 0x00000030, // ........**...
+ 0x000001E0, // .....****....
+ 0x000001F8, // .....******..
+ 0x00000018, // .........**..
+ 0x0000000C, // ..........**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x00001C1C, // .***.....***.
+ 0x00000FF8, // ..*********..
+ 0x000007E0, // ...******....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 52
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000030, // ........**...
+ 0x00000070, // .......***...
+ 0x000000F0, // ......****...
+ 0x000000F0, // ......****...
+ 0x000001B0, // .....**.**...
+ 0x00000330, // ....**..**...
+ 0x00000630, // ...**...**...
+ 0x00000430, // ...*....**...
+ 0x00000C30, // ..**....**...
+ 0x00001830, // .**.....**...
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00000030, // ........**...
+ 0x00000030, // ........**...
+ 0x00000030, // ........**...
+ 0x00000030, // ........**...
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 53
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000FF8, // ..*********..
+ 0x00000FF8, // ..*********..
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000FE0, // ..*******....
+ 0x00000FF0, // ..********...
+ 0x00001C38, // .***....***..
+ 0x0000181C, // .**......***.
+ 0x0000000C, // ..........**.
+ 0x0000000C, // ..........**.
+ 0x0000000C, // ..........**.
+ 0x0000180C, // .**.......**.
+ 0x00001C18, // .***.....**..
+ 0x00000FF0, // ..********...
+ 0x000007E0, // ...******....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 54
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x000007F0, // ...*******...
+ 0x00000E18, // ..***....**..
+ 0x00000C1C, // ..**.....***.
+ 0x00001C00, // .***.........
+ 0x00001800, // .**..........
+ 0x00001BE0, // .**.*****....
+ 0x00001FF8, // .**********..
+ 0x00001E38, // .****...***..
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x00000C18, // ..**.....**..
+ 0x00000FF8, // ..*********..
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 55
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00000008, // ..........*..
+ 0x00000018, // .........**..
+ 0x00000030, // ........**...
+ 0x00000060, // .......**....
+ 0x00000060, // .......**....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00000180, // .....**......
+ 0x00000180, // .....**......
+ 0x00000300, // ....**.......
+ 0x00000300, // ....**.......
+ 0x00000300, // ....**.......
+ 0x00000700, // ...***.......
+ 0x00000600, // ...**........
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 56
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF0, // ..********...
+ 0x00001C38, // .***....***..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00000C38, // ..**....***..
+ 0x000007E0, // ...******....
+ 0x000007F0, // ...*******...
+ 0x00000E38, // ..***...***..
+ 0x00001C1C, // .***.....***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x00001C1C, // .***.....***.
+ 0x00000FF8, // ..*********..
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 57
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF0, // ..********...
+ 0x00000C38, // ..**....***..
+ 0x00001818, // .**......**..
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x00001C3C, // .***....****.
+ 0x00000FFC, // ..**********.
+ 0x000003EC, // ....*****.**.
+ 0x0000000C, // ..........**.
+ 0x0000001C, // .........***.
+ 0x00001818, // .**......**..
+ 0x00000C38, // ..**....***..
+ 0x00000FF0, // ..********...
+ 0x000007E0, // ...******....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 58
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 59
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x00000004, // ....*.
+ 0x00000004, // ....*.
+ 0x0000000C, // ...**.
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 60
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000004, // ...........*.
+ 0x0000001C, // .........***.
+ 0x00000078, // .......****..
+ 0x000003C0, // ....****.....
+ 0x00000F00, // ..****.......
+ 0x00001C00, // .***.........
+ 0x00001E00, // .****........
+ 0x000003C0, // ....****.....
+ 0x000000F0, // ......****...
+ 0x0000001C, // .........***.
+ 0x00000004, // ...........*.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 61
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 62
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001000, // .*...........
+ 0x00001C00, // .***.........
+ 0x00000780, // ...****......
+ 0x000001E0, // .....****....
+ 0x0000007C, // .......*****.
+ 0x0000000C, // ..........**.
+ 0x0000003C, // ........****.
+ 0x000000F0, // ......****...
+ 0x00000780, // ...****......
+ 0x00001E00, // .****........
+ 0x00001000, // .*...........
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 63
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000001F0, // .....*****...
+ 0x000007F8, // ...********..
+ 0x00000E1C, // ..***....***.
+ 0x00000C0C, // ..**......**.
+ 0x00000C0C, // ..**......**.
+ 0x0000000C, // ..........**.
+ 0x00000018, // .........**..
+ 0x00000030, // ........**...
+ 0x00000060, // .......**....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 64
+ 23, 27,
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00007E00, // .........******........
+ 0x0003FFC0, // ......************.....
+ 0x000781E0, // .....****......****....
+ 0x000E0070, // ....***..........***...
+ 0x001C0038, // ...***............***..
+ 0x00383D18, // ..***.....****.*...**..
+ 0x0030FF9C, // ..**....*********..***.
+ 0x0031C38C, // ..**...***....***...**.
+ 0x0061830C, // .**....**.....**....**.
+ 0x0063030C, // .**...**......**....**.
+ 0x0063030C, // .**...**......**....**.
+ 0x00630618, // .**...**.....**....**..
+ 0x00630618, // .**...**.....**....**..
+ 0x00738E30, // .***..***...***...**...
+ 0x0031FFE0, // ..**...************....
+ 0x0038E3C0, // ..***...***...****.....
+ 0x001C0000, // ...***.................
+ 0x000F0000, // ....****...............
+ 0x0007FF00, // .....***********.......
+ 0x0000FE00, // ........*******........
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ },
+ { // 65
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000380, // ......***......
+ 0x000003C0, // ......****.....
+ 0x000007C0, // .....*****.....
+ 0x000006C0, // .....**.**.....
+ 0x000006E0, // .....**.***....
+ 0x00000E60, // ....***..**....
+ 0x00000C60, // ....**...**....
+ 0x00000C70, // ....**...***...
+ 0x00001C30, // ...***....**...
+ 0x00001830, // ...**.....**...
+ 0x00001FF8, // ...**********..
+ 0x00003FF8, // ..***********..
+ 0x00003018, // ..**.......**..
+ 0x0000701C, // .***.......***.
+ 0x0000700C, // .***........**.
+ 0x0000600C, // .**.........**.
+ 0x0000600E, // .**.........***
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 66
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00003FE0, // ..*********....
+ 0x00003FF8, // ..***********..
+ 0x00003038, // ..**......***..
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x00003018, // ..**.......**..
+ 0x00003FF0, // ..**********...
+ 0x00003FF8, // ..***********..
+ 0x00003018, // ..**.......**..
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x00003018, // ..**.......**..
+ 0x00003FF8, // ..***********..
+ 0x00003FF0, // ..**********...
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 67
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000FC0, // ......******.....
+ 0x00003FE0, // ....*********....
+ 0x00007070, // ...***.....***...
+ 0x0000E038, // ..***.......***..
+ 0x0000C018, // ..**.........**..
+ 0x0000C000, // ..**.............
+ 0x00018000, // .**..............
+ 0x00018000, // .**..............
+ 0x00018000, // .**..............
+ 0x00018000, // .**..............
+ 0x00018000, // .**..............
+ 0x00018018, // .**..........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000E018, // ..***........**..
+ 0x00007030, // ...***......**...
+ 0x00007FF0, // ...***********...
+ 0x00001FC0, // .....*******.....
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 68
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x0000FF80, // ..*********......
+ 0x0000FFE0, // ..***********....
+ 0x0000C0E0, // ..**......***....
+ 0x0000C030, // ..**........**...
+ 0x0000C030, // ..**........**...
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C030, // ..**........**...
+ 0x0000C030, // ..**........**...
+ 0x0000C0E0, // ..**......***....
+ 0x0000FFE0, // ..***********....
+ 0x0000FF80, // ..*********......
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 69
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FF8, // ..***********..
+ 0x00003FF8, // ..***********..
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 70
+ 14, 27,
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00001FFC, // ..***********.
+ 0x00001FFC, // ..***********.
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001FF8, // ..**********..
+ 0x00001FF8, // ..**********..
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00001800, // ..**..........
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ },
+ { // 71
+ 18, 27,
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000E070, // ...***......***...
+ 0x0001C030, // ..***........**...
+ 0x00018018, // ..**..........**..
+ 0x00038000, // .***..............
+ 0x00030000, // .**...............
+ 0x00030000, // .**...............
+ 0x000303F8, // .**......*******..
+ 0x000303F8, // .**......*******..
+ 0x00030018, // .**...........**..
+ 0x00038018, // .***..........**..
+ 0x00018018, // ..**..........**..
+ 0x0001C038, // ..***........***..
+ 0x0000E078, // ...***......****..
+ 0x00007FD8, // ....*********.**..
+ 0x00001F88, // ......******...*..
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ },
+ { // 72
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000FFF8, // ..*************..
+ 0x0000FFF8, // ..*************..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 73
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 74
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00000018, // ........**..
+ 0x00001818, // **......**..
+ 0x00001818, // **......**..
+ 0x00001C38, // ***....***..
+ 0x00000FF0, // .********...
+ 0x000007E0, // ..******....
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ },
+ { // 75
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x0000300E, // ..**........***
+ 0x0000301C, // ..**.......***.
+ 0x00003038, // ..**......***..
+ 0x00003070, // ..**.....***...
+ 0x000030E0, // ..**....***....
+ 0x000031C0, // ..**...***.....
+ 0x00003380, // ..**..***......
+ 0x00003780, // ..**.****......
+ 0x00003F80, // ..*******......
+ 0x00003DC0, // ..****.***.....
+ 0x000038E0, // ..***...***....
+ 0x00003060, // ..**.....**....
+ 0x00003030, // ..**......**...
+ 0x00003038, // ..**......***..
+ 0x00003018, // ..**.......**..
+ 0x0000300C, // ..**........**.
+ 0x0000300E, // ..**........***
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 76
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000FFC, // ..**********.
+ 0x00000FFC, // ..**********.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 77
+ 19, 27,
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00038038, // ..***.........***..
+ 0x00038038, // ..***.........***..
+ 0x0003C038, // ..****........***..
+ 0x0003C078, // ..****.......****..
+ 0x0003C078, // ..****.......****..
+ 0x00036058, // ..**.**......*.**..
+ 0x000360D8, // ..**.**.....**.**..
+ 0x000360D8, // ..**.**.....**.**..
+ 0x00033098, // ..**..**....*..**..
+ 0x00033198, // ..**..**...**..**..
+ 0x00033198, // ..**..**...**..**..
+ 0x00031918, // ..**...**..*...**..
+ 0x00031B18, // ..**...**.**...**..
+ 0x00031B18, // ..**...**.**...**..
+ 0x00030F18, // ..**....****...**..
+ 0x00030E18, // ..**....***....**..
+ 0x00030E18, // ..**....***....**..
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ },
+ { // 78
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x0000C018, // ..**.........**..
+ 0x0000E018, // ..***........**..
+ 0x0000F018, // ..****.......**..
+ 0x0000F018, // ..****.......**..
+ 0x0000D818, // ..**.**......**..
+ 0x0000DC18, // ..**.***.....**..
+ 0x0000CC18, // ..**..**.....**..
+ 0x0000C618, // ..**...**....**..
+ 0x0000C718, // ..**...***...**..
+ 0x0000C318, // ..**....**...**..
+ 0x0000C398, // ..**....***..**..
+ 0x0000C198, // ..**.....**..**..
+ 0x0000C0D8, // ..**......**.**..
+ 0x0000C0F8, // ..**......*****..
+ 0x0000C078, // ..**.......****..
+ 0x0000C038, // ..**........***..
+ 0x0000C038, // ..**........***..
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 79
+ 18, 27,
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000E0F0, // ...***.....****...
+ 0x0001C038, // ..***........***..
+ 0x00018018, // ..**..........**..
+ 0x0003801C, // .***..........***.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x00018018, // ..**..........**..
+ 0x0001C038, // ..***........***..
+ 0x0000E070, // ...***......***...
+ 0x00007FE0, // ....**********....
+ 0x00001F80, // ......******......
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ },
+ { // 80
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00003FE0, // ..*********....
+ 0x00003FF8, // ..***********..
+ 0x00003018, // ..**.......**..
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x0000301C, // ..**.......***.
+ 0x00003FF8, // ..***********..
+ 0x00003FE0, // ..*********....
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 81
+ 18, 27,
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000E0F0, // ...***.....****...
+ 0x0001C038, // ..***........***..
+ 0x00018018, // ..**..........**..
+ 0x0003801C, // .***..........***.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x00018098, // ..**.......*..**..
+ 0x0001C1F8, // ..***.....******..
+ 0x0000E0F0, // ...***.....****...
+ 0x00007FF0, // ....***********...
+ 0x00001F9C, // ......******..***.
+ 0x00000008, // ...............*..
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ },
+ { // 82
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x0000FFC0, // ..**********.....
+ 0x0000FFF0, // ..************...
+ 0x0000C038, // ..**........***..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C030, // ..**........**...
+ 0x0000FFE0, // ..***********....
+ 0x0000FFF0, // ..************...
+ 0x0000C030, // ..**........**...
+ 0x0000C038, // ..**........***..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C01C, // ..**.........***.
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 83
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x000007C0, // .....*****.....
+ 0x00001FF0, // ...*********...
+ 0x00001838, // ...**.....***..
+ 0x00003018, // ..**.......**..
+ 0x00003008, // ..**........*..
+ 0x00003000, // ..**...........
+ 0x00003800, // ..***..........
+ 0x00001F00, // ...*****.......
+ 0x00000FF0, // ....********...
+ 0x000000F8, // ........*****..
+ 0x0000001C, // ...........***.
+ 0x0000000C, // ............**.
+ 0x0000600C, // .**.........**.
+ 0x0000300C, // ..**........**.
+ 0x00003018, // ..**.......**..
+ 0x00001FF0, // ...*********...
+ 0x00000FE0, // ....*******....
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 84
+ 14, 27,
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00007FFE, // **************
+ 0x00007FFE, // **************
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ },
+ { // 85
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x00006070, // ...**......***...
+ 0x00007FE0, // ...**********....
+ 0x00001FC0, // .....*******.....
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 86
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x0000600E, // .**.........***
+ 0x0000700C, // .***........**.
+ 0x0000300C, // ..**........**.
+ 0x0000301C, // ..**.......***.
+ 0x00003818, // ..***......**..
+ 0x00001818, // ...**......**..
+ 0x00001838, // ...**.....***..
+ 0x00001C30, // ...***....**...
+ 0x00000C30, // ....**....**...
+ 0x00000C70, // ....**...***...
+ 0x00000E60, // ....***..**....
+ 0x00000660, // .....**..**....
+ 0x00000660, // .....**..**....
+ 0x000007C0, // .....*****.....
+ 0x000003C0, // ......****.....
+ 0x000003C0, // ......****.....
+ 0x00000180, // .......**......
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 87
+ 22, 27,
+ 0x00000000, // ......................
+ 0x00000000, // ......................
+ 0x00000000, // ......................
+ 0x00000000, // ......................
+ 0x00000000, // ......................
+ 0x0030180C, // .**.......**.......**.
+ 0x0030380C, // .**......***.......**.
+ 0x00303C1C, // .**......****.....***.
+ 0x00383C1C, // .***.....****.....***.
+ 0x00183C18, // ..**.....****.....**..
+ 0x00186618, // ..**....**..**....**..
+ 0x00186618, // ..**....**..**....**..
+ 0x001C6638, // ..***...**..**...***..
+ 0x000CC630, // ...**..**...**...**...
+ 0x000CC330, // ...**..**....**..**...
+ 0x000CC330, // ...**..**....**..**...
+ 0x000EC370, // ...***.**....**.***...
+ 0x000781E0, // ....****......****....
+ 0x000781E0, // ....****......****....
+ 0x000781E0, // ....****......****....
+ 0x000781C0, // ....****......***.....
+ 0x000300C0, // .....**........**.....
+ 0x00000000, // ......................
+ 0x00000000, // ......................
+ 0x00000000, // ......................
+ 0x00000000, // ......................
+ 0x00000000, // ......................
+ },
+ { // 88
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x0000700C, // .***........**.
+ 0x0000301C, // ..**.......***.
+ 0x00001818, // ...**......**..
+ 0x00001C38, // ...***....***..
+ 0x00000C70, // ....**...***...
+ 0x00000660, // .....**..**....
+ 0x000007C0, // .....*****.....
+ 0x000003C0, // ......****.....
+ 0x00000380, // ......***......
+ 0x000003C0, // ......****.....
+ 0x000006C0, // .....**.**.....
+ 0x00000E60, // ....***..**....
+ 0x00001C70, // ...***...***...
+ 0x00001838, // ...**.....***..
+ 0x00003818, // ..***......**..
+ 0x0000701C, // .***.......***.
+ 0x0000600E, // .**.........***
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 89
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x0000600E, // .**.........***
+ 0x0000700E, // .***........***
+ 0x0000301C, // ..**.......***.
+ 0x00001818, // ...**......**..
+ 0x00001C38, // ...***....***..
+ 0x00000C30, // ....**....**...
+ 0x00000E60, // ....***..**....
+ 0x00000760, // .....***.**....
+ 0x000003C0, // ......****.....
+ 0x000003C0, // ......****.....
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 90
+ 14, 27,
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00003FFC, // .************.
+ 0x00003FFC, // .************.
+ 0x0000001C, // ..........***.
+ 0x00000018, // ..........**..
+ 0x00000038, // .........***..
+ 0x00000070, // ........***...
+ 0x000000E0, // .......***....
+ 0x000001C0, // ......***.....
+ 0x00000180, // ......**......
+ 0x00000380, // .....***......
+ 0x00000700, // ....***.......
+ 0x00000E00, // ...***........
+ 0x00000C00, // ...**.........
+ 0x00001C00, // ..***.........
+ 0x00003800, // .***..........
+ 0x00003FFC, // .************.
+ 0x00003FFC, // .************.
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ },
+ { // 91
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000003E, // .*****
+ 0x0000003E, // .*****
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x00000030, // .**...
+ 0x0000003E, // .*****
+ 0x0000003E, // .*****
+ },
+ { // 92
+ 6, 27,
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000080, // *......
+ 0x000000C0, // **.....
+ 0x00000040, // .*.....
+ 0x00000040, // .*.....
+ 0x00000060, // .**....
+ 0x00000020, // ..*....
+ 0x00000020, // ..*....
+ 0x00000020, // ..*....
+ 0x00000010, // ...*...
+ 0x00000010, // ...*...
+ 0x00000010, // ...*...
+ 0x00000008, // ....*..
+ 0x00000008, // ....*..
+ 0x00000008, // ....*..
+ 0x0000000C, // ....**.
+ 0x00000004, // .....*.
+ 0x00000004, // .....*.
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ },
+ { // 93
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000003C, // .****.
+ 0x0000003C, // .****.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000000C, // ...**.
+ 0x0000003C, // .****.
+ 0x0000003C, // .****.
+ },
+ { // 94
+ 11, 27,
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x000000E0, // ....***....
+ 0x000000E0, // ....***....
+ 0x000001A0, // ...**.*....
+ 0x000001B0, // ...**.**...
+ 0x00000110, // ...*...*...
+ 0x00000318, // ..**...**..
+ 0x00000218, // ..*....**..
+ 0x00000608, // .**.....*..
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ 0x00000000, // ...........
+ },
+ { // 95
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00007FFE, // **************
+ 0x00007FFE, // **************
+ 0x00000000, // .............
+ },
+ { // 96
+ 5, 27,
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000004, // ...*.
+ 0x00000008, // ..*..
+ 0x00000008, // ..*..
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ },
+ { // 97
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF8, // ..*********..
+ 0x00000C18, // ..**.....**..
+ 0x00000818, // ..*......**..
+ 0x00000018, // .........**..
+ 0x000003F8, // ....*******..
+ 0x00000F98, // ..*****..**..
+ 0x00001C18, // .***.....**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FFC, // .***********.
+ 0x000007DC, // ...*****.***.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 98
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001BE0, // .**.*****....
+ 0x00001FF8, // .**********..
+ 0x00001E38, // .****...***..
+ 0x00001C1C, // .***.....***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x00001C1C, // .***.....***.
+ 0x00001E38, // .****...***..
+ 0x00001FF8, // .**********..
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 99
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x000001F0, // ....*****...
+ 0x000007F8, // ..********..
+ 0x0000061C, // ..**....***.
+ 0x00000C0C, // .**......**.
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C0C, // .**......**.
+ 0x0000061C, // ..**....***.
+ 0x000007F8, // ..********..
+ 0x000001F0, // ....*****...
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ },
+ { // 100
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000018, // .........**..
+ 0x00000018, // .........**..
+ 0x00000018, // .........**..
+ 0x00000018, // .........**..
+ 0x00000018, // .........**..
+ 0x000003D8, // ....****.**..
+ 0x00000FF8, // ..*********..
+ 0x00000C38, // ..**....***..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00000C38, // ..**....***..
+ 0x00000FF8, // ..*********..
+ 0x000007C0, // ...*****.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 101
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x000007F0, // ...*******...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00001800, // .**..........
+ 0x00001808, // .**.......*..
+ 0x00000C18, // ..**.....**..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 102
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000000E, // ...***
+ 0x0000001E, // ..****
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x0000007E, // ******
+ 0x0000007E, // ******
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 103
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003D8, // ....****.**..
+ 0x00000FF8, // ..*********..
+ 0x00000C38, // ..**....***..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00000C38, // ..**....***..
+ 0x000007F8, // ...********..
+ 0x000003D8, // ....****.**..
+ 0x00000018, // .........**..
+ 0x00001818, // .**......**..
+ 0x00000C30, // ..**....**...
+ 0x00000FF0, // ..********...
+ 0x000007C0, // ...*****.....
+ },
+ { // 104
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000C00, // ..**.........
+ 0x00000DF0, // ..**.*****...
+ 0x00000FF8, // ..*********..
+ 0x00000E18, // ..***....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 105
+ 5, 27,
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000018, // .**..
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ },
+ { // 106
+ 5, 27,
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000003C, // ****.
+ 0x00000038, // ***..
+ },
+ { // 107
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C18, // .**.....**..
+ 0x00000C30, // .**....**...
+ 0x00000C60, // .**...**....
+ 0x00000CC0, // .**..**.....
+ 0x00000FC0, // .******.....
+ 0x00000FC0, // .******.....
+ 0x00000E60, // .***..**....
+ 0x00000C70, // .**...***...
+ 0x00000C30, // .**....**...
+ 0x00000C18, // .**.....**..
+ 0x00000C1C, // .**.....***.
+ 0x00000C0C, // .**......**.
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ },
+ { // 108
+ 5, 27,
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x0000000C, // ..**.
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ 0x00000000, // .....
+ },
+ { // 109
+ 19, 27,
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00037CF8, // ..**.*****..*****..
+ 0x0003FFFC, // ..****************.
+ 0x0003870C, // ..***....***....**.
+ 0x0003060C, // ..**.....**.....**.
+ 0x0003060C, // ..**.....**.....**.
+ 0x0003060C, // ..**.....**.....**.
+ 0x0003060C, // ..**.....**.....**.
+ 0x0003060C, // ..**.....**.....**.
+ 0x0003060C, // ..**.....**.....**.
+ 0x0003060C, // ..**.....**.....**.
+ 0x0003060C, // ..**.....**.....**.
+ 0x0003060C, // ..**.....**.....**.
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ 0x00000000, // ...................
+ },
+ { // 110
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000009F0, // ..*..*****...
+ 0x00000FF8, // ..*********..
+ 0x00000E18, // ..***....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 111
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF0, // ..********...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000181C, // .**......***.
+ 0x00000C38, // ..**....***..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 112
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001BE0, // .**.*****....
+ 0x00001FF8, // .**********..
+ 0x00001E38, // .****...***..
+ 0x00001C1C, // .***.....***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x00001C1C, // .***.....***.
+ 0x00001E38, // .****...***..
+ 0x00001FF8, // .**********..
+ 0x000019E0, // .**..****....
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ },
+ { // 113
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003D8, // ....****.**..
+ 0x00000FF8, // ..*********..
+ 0x00000C38, // ..**....***..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00000C38, // ..**....***..
+ 0x00000FF8, // ..*********..
+ 0x000007D8, // ...*****.**..
+ 0x00000018, // .........**..
+ 0x00000018, // .........**..
+ 0x00000018, // .........**..
+ 0x00000018, // .........**..
+ 0x00000018, // .........**..
+ },
+ { // 114
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x0000001C, // ....***.
+ 0x0000007C, // ..*****.
+ 0x00000070, // ..***...
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 115
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x000003F0, // ...******...
+ 0x000007F8, // ..********..
+ 0x00000C18, // .**.....**..
+ 0x00000C00, // .**.........
+ 0x00000E00, // .***........
+ 0x000007E0, // ..******....
+ 0x000001F8, // ....******..
+ 0x0000001C, // ........***.
+ 0x00000C0C, // .**......**.
+ 0x00000C0C, // .**......**.
+ 0x00000FF8, // .*********..
+ 0x000003F0, // ...******...
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ },
+ { // 116
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x0000007E, // ******
+ 0x0000007E, // ******
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x0000001E, // ..****
+ 0x0000001E, // ..****
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 117
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FF8, // .**********..
+ 0x000007C0, // ...*****.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 118
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00001C0C, // ***......**.
+ 0x00000C1C, // .**.....***.
+ 0x00000C18, // .**.....**..
+ 0x00000E18, // .***....**..
+ 0x00000638, // ..**...***..
+ 0x00000630, // ..**...**...
+ 0x00000330, // ...**..**...
+ 0x00000360, // ...**.**....
+ 0x00000360, // ...**.**....
+ 0x000001E0, // ....****....
+ 0x000001C0, // ....***.....
+ 0x000001C0, // ....***.....
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ },
+ { // 119
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x0003060C, // **.....**.....**.
+ 0x0001870C, // .**....***....**.
+ 0x00018F1C, // .**...****...***.
+ 0x00018F18, // .**...****...**..
+ 0x00018D98, // .**...**.**..**..
+ 0x0000C998, // ..**..*..**..**..
+ 0x0000D9B0, // ..**.**..**.**...
+ 0x0000D9B0, // ..**.**..**.**...
+ 0x000058F0, // ...*.**...****...
+ 0x000070F0, // ...***....****...
+ 0x000070E0, // ...***....***....
+ 0x000070E0, // ...***....***....
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 120
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000C1C, // .**.....***.
+ 0x00000618, // ..**....**..
+ 0x00000630, // ..**...**...
+ 0x00000360, // ...**.**....
+ 0x000001E0, // ....****....
+ 0x000001C0, // ....***.....
+ 0x000001C0, // ....***.....
+ 0x000003E0, // ...*****....
+ 0x00000370, // ...**.***...
+ 0x00000630, // ..**...**...
+ 0x00000E18, // .***....**..
+ 0x00000C1C, // .**.....***.
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ },
+ { // 121
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000C0C, // .**......**.
+ 0x00000C1C, // .**.....***.
+ 0x00000C18, // .**.....**..
+ 0x00000618, // ..**....**..
+ 0x00000630, // ..**...**...
+ 0x00000630, // ..**...**...
+ 0x00000330, // ...**..**...
+ 0x00000360, // ...**.**....
+ 0x00000360, // ...**.**....
+ 0x000001E0, // ....****....
+ 0x000001C0, // ....***.....
+ 0x000001C0, // ....***.....
+ 0x00000180, // ....**......
+ 0x00000180, // ....**......
+ 0x00000380, // ...***......
+ 0x00000F00, // .****.......
+ 0x00000E00, // .***........
+ },
+ { // 122
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000FF8, // .*********..
+ 0x00000FF8, // .*********..
+ 0x00000030, // .......**...
+ 0x00000030, // .......**...
+ 0x00000060, // ......**....
+ 0x000000C0, // .....**.....
+ 0x00000180, // ....**......
+ 0x00000300, // ...**.......
+ 0x00000600, // ..**........
+ 0x00000C00, // .**.........
+ 0x00000FFC, // .**********.
+ 0x00000FFC, // .**********.
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ },
+ { // 123
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000018, // ....**..
+ 0x00000038, // ...***..
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000070, // ..***...
+ 0x000000E0, // .***....
+ 0x000000C0, // .**.....
+ 0x00000060, // ..**....
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000038, // ...***..
+ 0x00000018, // ....**..
+ },
+ { // 124
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ },
+ { // 125
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x000000C0, // .**.....
+ 0x000000E0, // .***....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000030, // ...**...
+ 0x00000038, // ...***..
+ 0x00000018, // ....**..
+ 0x00000030, // ...**...
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x00000060, // ..**....
+ 0x000000E0, // .***....
+ 0x000000C0, // .**.....
+ },
+ { // 126
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000700, // ...***.......
+ 0x00000F8C, // ..*****...**.
+ 0x000008FC, // ..*...******.
+ 0x00000038, // ........***..
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 127
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 128
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 129
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 130
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 131
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 132
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 133
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 134
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 135
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 136
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 137
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 138
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 139
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 140
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 141
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 142
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 143
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 144
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 145
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 146
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 147
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 148
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 149
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 150
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 151
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 152
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 153
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 154
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 155
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 156
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 157
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 158
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 159
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 160
+ 0, 27,
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ 0x00000000, //
+ },
+ { // 161
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ },
+ { // 162
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000003F0, // ....******...
+ 0x00000FF8, // ..*********..
+ 0x00000E58, // ..***..*.**..
+ 0x00001C4C, // .***...*..**.
+ 0x00001840, // .**....*.....
+ 0x00001840, // .**....*.....
+ 0x00001880, // .**...*......
+ 0x00001880, // .**...*......
+ 0x0000188C, // .**...*...**.
+ 0x00000C9C, // ..**..*..***.
+ 0x00000EB8, // ..***.*.***..
+ 0x000007F0, // ...*******...
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 163
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x000007F0, // ...*******...
+ 0x00000E38, // ..***...***..
+ 0x00001818, // .**......**..
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x00001C00, // .***.........
+ 0x00000E00, // ..***........
+ 0x00001FC0, // .*******.....
+ 0x00001F40, // .*****.*.....
+ 0x00000700, // ...***.......
+ 0x00000300, // ....**.......
+ 0x00000300, // ....**.......
+ 0x00000600, // ...**........
+ 0x00000C00, // ..**.........
+ 0x00001FFC, // .***********.
+ 0x00001FF8, // .**********..
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 164
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000408, // ...*......*..
+ 0x00000FD8, // ..******.**..
+ 0x00000FF8, // ..*********..
+ 0x00000E38, // ..***...***..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000E38, // ..***...***..
+ 0x000007F0, // ...*******...
+ 0x00000FD8, // ..******.**..
+ 0x00000408, // ...*......*..
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 165
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x0000180C, // .**.......**.
+ 0x00001818, // .**......**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C30, // ..**....**...
+ 0x00000620, // ...**...*....
+ 0x00000260, // ....*..**....
+ 0x000003C0, // ....****.....
+ 0x00001DF8, // .***.******..
+ 0x00001FF8, // .**********..
+ 0x00000180, // .....**......
+ 0x00001FF8, // .**********..
+ 0x00001FF8, // .**********..
+ 0x00000180, // .....**......
+ 0x00000180, // .....**......
+ 0x00000180, // .....**......
+ 0x00000180, // .....**......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 166
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ },
+ { // 167
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000001E0, // .....****....
+ 0x000007F0, // ...*******...
+ 0x00000E38, // ..***...***..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000E00, // ..***........
+ 0x00000780, // ...****......
+ 0x00000DE0, // ..**.****....
+ 0x000018F0, // .**...****...
+ 0x00001838, // .**.....***..
+ 0x0000181C, // .**......***.
+ 0x00001C0C, // .***......**.
+ 0x00000E0C, // ..***.....**.
+ 0x00000798, // ...****..**..
+ 0x000001F0, // .....*****...
+ 0x000000E0, // ......***....
+ 0x00000070, // .......***...
+ 0x00000C30, // ..**....**...
+ 0x00000C30, // ..**....**...
+ 0x00000E30, // ..***...**...
+ 0x000007E0, // ...******....
+ 0x000003C0, // ....****.....
+ },
+ { // 168
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x000000CC, // .**..**.
+ 0x000000CC, // .**..**.
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 169
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000F078, // ...****.....****..
+ 0x0001C718, // ..***...***...**..
+ 0x00038F8C, // .***...*****...**.
+ 0x000318CC, // .**...**...**..**.
+ 0x00063046, // **...**.....*...**
+ 0x00063006, // **...**.........**
+ 0x00063006, // **...**.........**
+ 0x00063006, // **...**.........**
+ 0x00063066, // **...**.....**..**
+ 0x000318C6, // .**...**...**...**
+ 0x00031FCC, // .**...*******..**.
+ 0x0001879C, // ..**....****..***.
+ 0x0000E078, // ...***......****..
+ 0x00007FF0, // ....***********...
+ 0x00001F80, // ......******......
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 170
+ 9, 27,
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x000000F0, // ..****...
+ 0x000001F8, // .******..
+ 0x00000018, // .....**..
+ 0x00000078, // ...****..
+ 0x00000198, // .**..**..
+ 0x00000198, // .**..**..
+ 0x000001FC, // .*******.
+ 0x000000EC, // ..***.**.
+ 0x000001F8, // .******..
+ 0x000001F8, // .******..
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ 0x00000000, // .........
+ },
+ { // 171
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000110, // .....*...*...
+ 0x00000310, // ....**...*...
+ 0x00000670, // ...**..***...
+ 0x00000C40, // ..**...*.....
+ 0x00000C60, // ..**...**....
+ 0x00000730, // ...***..**...
+ 0x00000310, // ....**...*...
+ 0x00000110, // .....*...*...
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 172
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001FFE, // .************
+ 0x00001FFE, // .************
+ 0x00000006, // ...........**
+ 0x00000006, // ...........**
+ 0x00000006, // ...........**
+ 0x00000006, // ...........**
+ 0x00000006, // ...........**
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 173
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x000000F8, // .*****..
+ 0x000000F8, // .*****..
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 174
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000F078, // ...****.....****..
+ 0x0001FF98, // ..**********..**..
+ 0x0003BFCC, // .***.********..**.
+ 0x0003306C, // .**..**.....**.**.
+ 0x00063066, // **...**.....**..**
+ 0x00063066, // **...**.....**..**
+ 0x00063FC6, // **...********...**
+ 0x00063FE6, // **...*********..**
+ 0x00063066, // **...**.....**..**
+ 0x0003306E, // .**..**.....**.***
+ 0x0003306C, // .**..**.....**.**.
+ 0x0001F07C, // ..*****.....*****.
+ 0x0000E078, // ...***......****..
+ 0x00007FE0, // ....**********....
+ 0x00001F80, // ......******......
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 175
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x000000FC, // .******.
+ 0x000000FC, // .******.
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 176
+ 14, 27,
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x000003C0, // .....****.....
+ 0x000007E0, // ....******....
+ 0x00000C30, // ...**....**...
+ 0x00000C30, // ...**....**...
+ 0x00000C30, // ...**....**...
+ 0x00000660, // ....**..**....
+ 0x000007E0, // ....******....
+ 0x000003C0, // .....****.....
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ },
+ { // 177
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00000000, // .............
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 178
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000078, // ..****..
+ 0x000000FE, // .*******
+ 0x00000086, // .*....**
+ 0x00000006, // ......**
+ 0x0000000C, // .....**.
+ 0x00000030, // ...**...
+ 0x000000E0, // .***....
+ 0x00000080, // .*......
+ 0x000000FE, // .*******
+ 0x0000007E, // ..******
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 179
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000078, // ..****..
+ 0x000000FC, // .******.
+ 0x0000008C, // .*...**.
+ 0x0000000C, // .....**.
+ 0x00000038, // ...***..
+ 0x0000000C, // .....**.
+ 0x00000006, // ......**
+ 0x00000186, // **....**
+ 0x000000FC, // .******.
+ 0x00000078, // ..****..
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 180
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x0000001C, // ....***.
+ 0x00000038, // ...***..
+ 0x00000030, // ...**...
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 181
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FFC, // .***********.
+ 0x00001FDE, // .*******.****
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ },
+ { // 182
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x000001FE, // ....********
+ 0x000003FE, // ...*********
+ 0x000007EC, // ..******.**.
+ 0x000007EC, // ..******.**.
+ 0x00000FEC, // .*******.**.
+ 0x00000FEC, // .*******.**.
+ 0x00000FEC, // .*******.**.
+ 0x00000FEC, // .*******.**.
+ 0x000007EC, // ..******.**.
+ 0x000007EC, // ..******.**.
+ 0x000001EC, // ....****.**.
+ 0x0000006C, // ......**.**.
+ 0x0000006C, // ......**.**.
+ 0x0000006C, // ......**.**.
+ 0x0000006C, // ......**.**.
+ 0x0000006C, // ......**.**.
+ 0x0000006C, // ......**.**.
+ 0x0000006C, // ......**.**.
+ 0x0000006C, // ......**.**.
+ 0x0000006C, // ......**.**.
+ 0x0000006C, // ......**.**.
+ 0x00000000, // ............
+ },
+ { // 183
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 184
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000010, // ....*...
+ 0x00000038, // ...***..
+ 0x0000003C, // ...****.
+ 0x000000FC, // .******.
+ 0x00000038, // ...***..
+ },
+ { // 185
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000010, // ....*...
+ 0x00000070, // ..***...
+ 0x000000F0, // .****...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000030, // ...**...
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 186
+ 8, 27,
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000078, // ..****..
+ 0x0000007C, // ..*****.
+ 0x000000C6, // .**...**
+ 0x000000C6, // .**...**
+ 0x000000C6, // .**...**
+ 0x000000C6, // .**...**
+ 0x0000007C, // ..*****.
+ 0x00000038, // ...***..
+ 0x000000FC, // .******.
+ 0x000000FC, // .******.
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ 0x00000000, // ........
+ },
+ { // 187
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000840, // ..*....*.....
+ 0x00000C60, // ..**...**....
+ 0x00000730, // ...***..**...
+ 0x00000310, // ....**...*...
+ 0x00000330, // ....**..**...
+ 0x00000E60, // ..***..**....
+ 0x00000C40, // ..**...*.....
+ 0x00000840, // ..*....*.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 188
+ 20, 27,
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00030060, // ...**.........**....
+ 0x00070040, // ..***.........*.....
+ 0x000F0080, // .****........*......
+ 0x00030180, // ...**.......**......
+ 0x00030300, // ...**......**.......
+ 0x00030200, // ...**......*........
+ 0x00030618, // ...**.....**....**..
+ 0x00030C18, // ...**....**.....**..
+ 0x00030C38, // ...**....**....***..
+ 0x00001878, // ........**....****..
+ 0x000030D8, // .......**....**.**..
+ 0x00007098, // ......***....*..**..
+ 0x000061FE, // ......**....********
+ 0x0000C1FE, // .....**.....********
+ 0x0001C018, // ....***.........**..
+ 0x00018008, // ....**...........*..
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ },
+ { // 189
+ 20, 27,
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00030040, // ...**.........*.....
+ 0x00070080, // ..***........*......
+ 0x000F0180, // .****.......**......
+ 0x00030100, // ...**.......*.......
+ 0x00030300, // ...**......**.......
+ 0x00030600, // ...**.....**........
+ 0x00030C78, // ...**....**...****..
+ 0x00030CFC, // ...**....**..******.
+ 0x00031886, // ...**...**...*....**
+ 0x00003086, // .......**....*....**
+ 0x0000300C, // .......**........**.
+ 0x00006018, // ......**........**..
+ 0x0000C060, // .....**.......**....
+ 0x0000C080, // .....**......*......
+ 0x000181FE, // ....**......********
+ 0x0003007E, // ...**.........******
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ },
+ { // 190
+ 20, 27,
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00078020, // ..****.........*....
+ 0x000FC060, // .******.......**....
+ 0x0008C0C0, // .*...**......**.....
+ 0x0000C080, // .....**......*......
+ 0x00038180, // ...***......**......
+ 0x0000C300, // .....**....**.......
+ 0x00006218, // ......**...*....**..
+ 0x00186418, // **....**..*.....**..
+ 0x000FCC38, // .******..**....***..
+ 0x00078878, // ..****...*....****..
+ 0x000010D8, // ........*....**.**..
+ 0x00003098, // .......**....*..**..
+ 0x000021FE, // .......*....********
+ 0x000041FE, // ......*.....********
+ 0x00008018, // .....*..........**..
+ 0x00008008, // .....*...........*..
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ },
+ { // 191
+ 14, 27,
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000180, // ......**......
+ 0x00000180, // ......**......
+ 0x00000380, // .....***......
+ 0x00000700, // ....***.......
+ 0x00000E00, // ...***........
+ 0x00000C00, // ...**.........
+ 0x00001800, // ..**..........
+ 0x00001818, // ..**......**..
+ 0x00001818, // ..**......**..
+ 0x00001C38, // ..***....***..
+ 0x00000FF0, // ...********...
+ 0x000007C0, // ....*****.....
+ },
+ { // 192
+ 15, 27,
+ 0x00000E00, // ....***........
+ 0x00000700, // .....***.......
+ 0x00000100, // .......*.......
+ 0x00000080, // ........*......
+ 0x00000000, // ...............
+ 0x00000380, // ......***......
+ 0x000003C0, // ......****.....
+ 0x000007C0, // .....*****.....
+ 0x000006C0, // .....**.**.....
+ 0x000006E0, // .....**.***....
+ 0x00000E60, // ....***..**....
+ 0x00000C60, // ....**...**....
+ 0x00000C70, // ....**...***...
+ 0x00001C30, // ...***....**...
+ 0x00001830, // ...**.....**...
+ 0x00001FF8, // ...**********..
+ 0x00003FF8, // ..***********..
+ 0x00003018, // ..**.......**..
+ 0x0000701C, // .***.......***.
+ 0x0000700C, // .***........**.
+ 0x0000600C, // .**.........**.
+ 0x0000600E, // .**.........***
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 193
+ 15, 27,
+ 0x000000E0, // ........***....
+ 0x000000C0, // ........**.....
+ 0x00000180, // .......**......
+ 0x00000300, // ......**.......
+ 0x00000000, // ...............
+ 0x00000380, // ......***......
+ 0x000003C0, // ......****.....
+ 0x000007C0, // .....*****.....
+ 0x000006C0, // .....**.**.....
+ 0x000006E0, // .....**.***....
+ 0x00000E60, // ....***..**....
+ 0x00000C60, // ....**...**....
+ 0x00000C70, // ....**...***...
+ 0x00001C30, // ...***....**...
+ 0x00001830, // ...**.....**...
+ 0x00001FF8, // ...**********..
+ 0x00003FF8, // ..***********..
+ 0x00003018, // ..**.......**..
+ 0x0000701C, // .***.......***.
+ 0x0000700C, // .***........**.
+ 0x0000600C, // .**.........**.
+ 0x0000600E, // .**.........***
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 194
+ 15, 27,
+ 0x00000180, // .......**......
+ 0x000003C0, // ......****.....
+ 0x000006C0, // .....**.**.....
+ 0x00000460, // .....*...**....
+ 0x00000000, // ...............
+ 0x00000380, // ......***......
+ 0x000003C0, // ......****.....
+ 0x000007C0, // .....*****.....
+ 0x000006C0, // .....**.**.....
+ 0x000006E0, // .....**.***....
+ 0x00000E60, // ....***..**....
+ 0x00000C60, // ....**...**....
+ 0x00000C70, // ....**...***...
+ 0x00001C30, // ...***....**...
+ 0x00001830, // ...**.....**...
+ 0x00001FF8, // ...**********..
+ 0x00003FF8, // ..***********..
+ 0x00003018, // ..**.......**..
+ 0x0000701C, // .***.......***.
+ 0x0000700C, // .***........**.
+ 0x0000600C, // .**.........**.
+ 0x0000600E, // .**.........***
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 195
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000720, // .....***..*....
+ 0x00000FE0, // ....*******....
+ 0x00000040, // .........*.....
+ 0x00000000, // ...............
+ 0x00000380, // ......***......
+ 0x000003C0, // ......****.....
+ 0x000007C0, // .....*****.....
+ 0x000006C0, // .....**.**.....
+ 0x000006E0, // .....**.***....
+ 0x00000E60, // ....***..**....
+ 0x00000C60, // ....**...**....
+ 0x00000C70, // ....**...***...
+ 0x00001C30, // ...***....**...
+ 0x00001830, // ...**.....**...
+ 0x00001FF8, // ...**********..
+ 0x00003FF8, // ..***********..
+ 0x00003018, // ..**.......**..
+ 0x0000701C, // .***.......***.
+ 0x0000700C, // .***........**.
+ 0x0000600C, // .**.........**.
+ 0x0000600E, // .**.........***
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 196
+ 15, 27,
+ 0x00000000, // ...............
+ 0x000006E0, // .....**.***....
+ 0x000006E0, // .....**.***....
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000380, // ......***......
+ 0x000003C0, // ......****.....
+ 0x000007C0, // .....*****.....
+ 0x000006C0, // .....**.**.....
+ 0x000006E0, // .....**.***....
+ 0x00000E60, // ....***..**....
+ 0x00000C60, // ....**...**....
+ 0x00000C70, // ....**...***...
+ 0x00001C30, // ...***....**...
+ 0x00001830, // ...**.....**...
+ 0x00001FF8, // ...**********..
+ 0x00003FF8, // ..***********..
+ 0x00003018, // ..**.......**..
+ 0x0000701C, // .***.......***.
+ 0x0000700C, // .***........**.
+ 0x0000600C, // .**.........**.
+ 0x0000600E, // .**.........***
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 197
+ 15, 27,
+ 0x00000380, // ......***......
+ 0x000003C0, // ......****.....
+ 0x00000240, // ......*..*.....
+ 0x00000380, // ......***......
+ 0x00000180, // .......**......
+ 0x00000380, // ......***......
+ 0x000003C0, // ......****.....
+ 0x000007C0, // .....*****.....
+ 0x000006C0, // .....**.**.....
+ 0x000006E0, // .....**.***....
+ 0x00000E60, // ....***..**....
+ 0x00000C60, // ....**...**....
+ 0x00000C70, // ....**...***...
+ 0x00001C30, // ...***....**...
+ 0x00001830, // ...**.....**...
+ 0x00001FF8, // ...**********..
+ 0x00003FF8, // ..***********..
+ 0x00003018, // ..**.......**..
+ 0x0000701C, // .***.......***.
+ 0x0000700C, // .***........**.
+ 0x0000600C, // .**.........**.
+ 0x0000600E, // .**.........***
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 198
+ 23, 27,
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x0001FFF8, // .......**************..
+ 0x0001FFF8, // .......**************..
+ 0x00031800, // ......**...**..........
+ 0x00031800, // ......**...**..........
+ 0x00061800, // .....**....**..........
+ 0x00061800, // .....**....**..........
+ 0x000E1800, // ....***....**..........
+ 0x000C1FF8, // ....**.....**********..
+ 0x000C1FF8, // ....**.....**********..
+ 0x00181800, // ...**......**..........
+ 0x001FF800, // ...**********..........
+ 0x003FF800, // ..***********..........
+ 0x00301800, // ..**.......**..........
+ 0x00301800, // ..**.......**..........
+ 0x00701800, // .***.......**..........
+ 0x00601FFC, // .**........***********.
+ 0x00E01FFC, // ***........***********.
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ 0x00000000, // .......................
+ },
+ { // 199
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000FC0, // ......******.....
+ 0x00003FE0, // ....*********....
+ 0x00007070, // ...***.....***...
+ 0x0000E038, // ..***.......***..
+ 0x0000C018, // ..**.........**..
+ 0x0000C000, // ..**.............
+ 0x00018000, // .**..............
+ 0x00018000, // .**..............
+ 0x00018000, // .**..............
+ 0x00018000, // .**..............
+ 0x00018000, // .**..............
+ 0x00018018, // .**..........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x00006030, // ...**.......**...
+ 0x000078F0, // ...****...****...
+ 0x00001FE0, // .....********....
+ 0x00000200, // ........*........
+ 0x00000700, // .......***.......
+ 0x00000380, // ........***......
+ 0x00000F80, // ......*****......
+ 0x00000700, // .......***.......
+ },
+ { // 200
+ 15, 27,
+ 0x00000600, // .....**........
+ 0x00000300, // ......**.......
+ 0x00000180, // .......**......
+ 0x00000080, // ........*......
+ 0x00000000, // ...............
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FF8, // ..***********..
+ 0x00003FF8, // ..***********..
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 201
+ 15, 27,
+ 0x000000E0, // ........***....
+ 0x000000C0, // ........**.....
+ 0x00000180, // .......**......
+ 0x00000300, // ......**.......
+ 0x00000000, // ...............
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FF8, // ..***********..
+ 0x00003FF8, // ..***********..
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 202
+ 15, 27,
+ 0x00000180, // .......**......
+ 0x000003C0, // ......****.....
+ 0x00000640, // .....**..*.....
+ 0x00000460, // .....*...**....
+ 0x00000000, // ...............
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FF8, // ..***********..
+ 0x00003FF8, // ..***********..
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 203
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000660, // .....**..**....
+ 0x00000660, // .....**..**....
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FF8, // ..***********..
+ 0x00003FF8, // ..***********..
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FFC, // ..************.
+ 0x00003FFC, // ..************.
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 204
+ 6, 27,
+ 0x00000070, // ***...
+ 0x00000030, // .**...
+ 0x00000018, // ..**..
+ 0x0000000C, // ...**.
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 205
+ 6, 27,
+ 0x00000006, // ....**
+ 0x0000000C, // ...**.
+ 0x00000008, // ...*..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000008, // ...*..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 206
+ 6, 27,
+ 0x00000030, // ..**...
+ 0x00000078, // .****..
+ 0x0000004C, // .*..**.
+ 0x000000C4, // **...*.
+ 0x00000000, // .......
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000030, // ..**...
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ 0x00000000, // .......
+ },
+ { // 207
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000066, // **..**
+ 0x00000066, // **..**
+ 0x00000066, // **..**
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 208
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x0000FF80, // ..*********......
+ 0x0000FFE0, // ..***********....
+ 0x0000C0F0, // ..**......****...
+ 0x0000C030, // ..**........**...
+ 0x0000C030, // ..**........**...
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0003FC18, // ********.....**..
+ 0x0003FC18, // ********.....**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C030, // ..**........**...
+ 0x0000C030, // ..**........**...
+ 0x0000C0E0, // ..**......***....
+ 0x0000FFE0, // ..***********....
+ 0x0000FF80, // ..*********......
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 209
+ 17, 27,
+ 0x00000000, // .................
+ 0x00000EC0, // ......***.**.....
+ 0x00001FC0, // .....*******.....
+ 0x00000180, // .........**......
+ 0x00000000, // .................
+ 0x0000C018, // ..**.........**..
+ 0x0000E018, // ..***........**..
+ 0x0000F018, // ..****.......**..
+ 0x0000F018, // ..****.......**..
+ 0x0000D818, // ..**.**......**..
+ 0x0000DC18, // ..**.***.....**..
+ 0x0000CC18, // ..**..**.....**..
+ 0x0000C618, // ..**...**....**..
+ 0x0000C718, // ..**...***...**..
+ 0x0000C318, // ..**....**...**..
+ 0x0000C398, // ..**....***..**..
+ 0x0000C198, // ..**.....**..**..
+ 0x0000C0D8, // ..**......**.**..
+ 0x0000C0F8, // ..**......*****..
+ 0x0000C078, // ..**.......****..
+ 0x0000C038, // ..**........***..
+ 0x0000C038, // ..**........***..
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 210
+ 18, 27,
+ 0x00001800, // ......**..........
+ 0x00000C00, // .......**.........
+ 0x00000600, // ........**........
+ 0x00000200, // .........*........
+ 0x00000000, // ..................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000E0F0, // ...***.....****...
+ 0x0001C038, // ..***........***..
+ 0x00018018, // ..**..........**..
+ 0x0003801C, // .***..........***.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x00018018, // ..**..........**..
+ 0x0001C038, // ..***........***..
+ 0x0000E070, // ...***......***...
+ 0x00007FE0, // ....**********....
+ 0x00001F80, // ......******......
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ },
+ { // 211
+ 18, 27,
+ 0x00000180, // ..........**......
+ 0x00000300, // .........**.......
+ 0x00000600, // ........**........
+ 0x00000400, // ........*.........
+ 0x00000000, // ..................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000E0F0, // ...***.....****...
+ 0x0001C038, // ..***........***..
+ 0x00018018, // ..**..........**..
+ 0x0003801C, // .***..........***.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x00018018, // ..**..........**..
+ 0x0001C038, // ..***........***..
+ 0x0000E070, // ...***......***...
+ 0x00007FE0, // ....**********....
+ 0x00001F80, // ......******......
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ },
+ { // 212
+ 18, 27,
+ 0x00000600, // ........**........
+ 0x00000F00, // .......****.......
+ 0x00000900, // .......*..*.......
+ 0x00001080, // ......*....*......
+ 0x00000000, // ..................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000E0F0, // ...***.....****...
+ 0x0001C038, // ..***........***..
+ 0x00018018, // ..**..........**..
+ 0x0003801C, // .***..........***.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x00018018, // ..**..........**..
+ 0x0001C038, // ..***........***..
+ 0x0000E070, // ...***......***...
+ 0x00007FE0, // ....**********....
+ 0x00001F80, // ......******......
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ },
+ { // 213
+ 18, 27,
+ 0x00000000, // ..................
+ 0x00001CC0, // ......***..**.....
+ 0x00001F80, // ......******......
+ 0x00000180, // ..........**......
+ 0x00000000, // ..................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000E0F0, // ...***.....****...
+ 0x0001C038, // ..***........***..
+ 0x00018018, // ..**..........**..
+ 0x0003801C, // .***..........***.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x00018018, // ..**..........**..
+ 0x0001C038, // ..***........***..
+ 0x0000E070, // ...***......***...
+ 0x00007FE0, // ....**********....
+ 0x00001F80, // ......******......
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ },
+ { // 214
+ 18, 27,
+ 0x00000000, // ..................
+ 0x00001980, // ......**..**......
+ 0x00001980, // ......**..**......
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00001F80, // ......******......
+ 0x00007FE0, // ....**********....
+ 0x0000E0F0, // ...***.....****...
+ 0x0001C038, // ..***........***..
+ 0x00018018, // ..**..........**..
+ 0x0003801C, // .***..........***.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x0003000C, // .**............**.
+ 0x00018018, // ..**..........**..
+ 0x0001C038, // ..***........***..
+ 0x0000E070, // ...***......***...
+ 0x00007FE0, // ....**********....
+ 0x00001F80, // ......******......
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ },
+ { // 215
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000408, // ...*......*..
+ 0x00000E18, // ..***....**..
+ 0x00000730, // ...***..**...
+ 0x000003E0, // ....*****....
+ 0x000001C0, // .....***.....
+ 0x000001E0, // .....****....
+ 0x00000370, // ....**.***...
+ 0x00000638, // ...**...***..
+ 0x00000418, // ...*.....**..
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 216
+ 18, 27,
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00001F8C, // ......******...**.
+ 0x00007FE8, // ....**********.*..
+ 0x0000E070, // ...***......***...
+ 0x0001C038, // ..***........***..
+ 0x00018058, // ..**........*.**..
+ 0x0003809C, // .***.......*..***.
+ 0x0003018C, // .**.......**...**.
+ 0x0003030C, // .**......**....**.
+ 0x0003060C, // .**.....**.....**.
+ 0x00030C0C, // .**....**......**.
+ 0x0003180C, // .**...**.......**.
+ 0x0003300C, // .**..**........**.
+ 0x0001E018, // ..****........**..
+ 0x0001C038, // ..***........***..
+ 0x0000E070, // ...***......***...
+ 0x0003FFE0, // .*************....
+ 0x00023F80, // .*...*******......
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ 0x00000000, // ..................
+ },
+ { // 217
+ 17, 27,
+ 0x00001C00, // .....***.........
+ 0x00000C00, // ......**.........
+ 0x00000600, // .......**........
+ 0x00000300, // ........**.......
+ 0x00000000, // .................
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x00006070, // ...**......***...
+ 0x00007FE0, // ...**********....
+ 0x00001FC0, // .....*******.....
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 218
+ 17, 27,
+ 0x00000180, // .........**......
+ 0x00000300, // ........**.......
+ 0x00000200, // ........*........
+ 0x00000400, // .......*.........
+ 0x00000000, // .................
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x00006070, // ...**......***...
+ 0x00007FE0, // ...**********....
+ 0x00001FC0, // .....*******.....
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 219
+ 17, 27,
+ 0x00000700, // .......***.......
+ 0x00000700, // .......***.......
+ 0x00000D80, // ......**.**......
+ 0x00001880, // .....**...*......
+ 0x00000000, // .................
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x00006070, // ...**......***...
+ 0x00007FE0, // ...**********....
+ 0x00001FC0, // .....*******.....
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 220
+ 17, 27,
+ 0x00000000, // .................
+ 0x00001D80, // .....***.**......
+ 0x00001D80, // .....***.**......
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x0000C018, // ..**.........**..
+ 0x00006070, // ...**......***...
+ 0x00007FE0, // ...**********....
+ 0x00001FC0, // .....*******.....
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ 0x00000000, // .................
+ },
+ { // 221
+ 15, 27,
+ 0x000000E0, // ........***....
+ 0x000000C0, // ........**.....
+ 0x00000180, // .......**......
+ 0x00000300, // ......**.......
+ 0x00000000, // ...............
+ 0x0000600E, // .**.........***
+ 0x0000700E, // .***........***
+ 0x0000301C, // ..**.......***.
+ 0x00001818, // ...**......**..
+ 0x00001C38, // ...***....***..
+ 0x00000C30, // ....**....**...
+ 0x00000E60, // ....***..**....
+ 0x00000760, // .....***.**....
+ 0x000003C0, // ......****.....
+ 0x000003C0, // ......****.....
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000180, // .......**......
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 222
+ 15, 27,
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003FF0, // ..**********...
+ 0x00003FF8, // ..***********..
+ 0x0000301C, // ..**.......***.
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x0000300C, // ..**........**.
+ 0x00003038, // ..**......***..
+ 0x00003FF8, // ..***********..
+ 0x00003FF0, // ..**********...
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00003000, // ..**...........
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ 0x00000000, // ...............
+ },
+ { // 223
+ 14, 27,
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x000003E0, // .....*****....
+ 0x000007F0, // ....*******...
+ 0x00000E38, // ...***...***..
+ 0x00000C18, // ...**.....**..
+ 0x00000C18, // ...**.....**..
+ 0x00000C18, // ...**.....**..
+ 0x00000C38, // ...**....***..
+ 0x00000CE0, // ...**..***....
+ 0x00000CF0, // ...**..****...
+ 0x00000C18, // ...**.....**..
+ 0x00000C0C, // ...**......**.
+ 0x00000C0C, // ...**......**.
+ 0x00000C0C, // ...**......**.
+ 0x00000C0C, // ...**......**.
+ 0x00000C18, // ...**.....**..
+ 0x00000CF8, // ...**..*****..
+ 0x00000CE0, // ...**..***....
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ },
+ { // 224
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000300, // ....**.......
+ 0x00000180, // .....**......
+ 0x00000080, // ......*......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF8, // ..*********..
+ 0x00000C18, // ..**.....**..
+ 0x00000818, // ..*......**..
+ 0x00000018, // .........**..
+ 0x000003F8, // ....*******..
+ 0x00000F98, // ..*****..**..
+ 0x00001C18, // .***.....**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FFC, // .***********.
+ 0x000007DC, // ...*****.***.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 225
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000060, // .......**....
+ 0x000000C0, // ......**.....
+ 0x00000180, // .....**......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF8, // ..*********..
+ 0x00000C18, // ..**.....**..
+ 0x00000818, // ..*......**..
+ 0x00000018, // .........**..
+ 0x000003F8, // ....*******..
+ 0x00000F98, // ..*****..**..
+ 0x00001C18, // .***.....**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FFC, // .***********.
+ 0x000007DC, // ...*****.***.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 226
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000001C0, // .....***.....
+ 0x00000340, // ....**.*.....
+ 0x00000260, // ....*..**....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF8, // ..*********..
+ 0x00000C18, // ..**.....**..
+ 0x00000818, // ..*......**..
+ 0x00000018, // .........**..
+ 0x000003F8, // ....*******..
+ 0x00000F98, // ..*****..**..
+ 0x00001C18, // .***.....**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FFC, // .***********.
+ 0x000007DC, // ...*****.***.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 227
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000300, // ....**.......
+ 0x000007F0, // ...*******...
+ 0x000004E0, // ...*..***....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF8, // ..*********..
+ 0x00000C18, // ..**.....**..
+ 0x00000818, // ..*......**..
+ 0x00000018, // .........**..
+ 0x000003F8, // ....*******..
+ 0x00000F98, // ..*****..**..
+ 0x00001C18, // .***.....**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FFC, // .***********.
+ 0x000007DC, // ...*****.***.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 228
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000760, // ...***.**....
+ 0x00000760, // ...***.**....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF8, // ..*********..
+ 0x00000C18, // ..**.....**..
+ 0x00000818, // ..*......**..
+ 0x00000018, // .........**..
+ 0x000003F8, // ....*******..
+ 0x00000F98, // ..*****..**..
+ 0x00001C18, // .***.....**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FFC, // .***********.
+ 0x000007DC, // ...*****.***.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 229
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000180, // .....**......
+ 0x000001C0, // .....***.....
+ 0x00000240, // ....*..*.....
+ 0x000003C0, // ....****.....
+ 0x00000180, // .....**......
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF8, // ..*********..
+ 0x00000C18, // ..**.....**..
+ 0x00000818, // ..*......**..
+ 0x00000018, // .........**..
+ 0x000003F8, // ....*******..
+ 0x00000F98, // ..*****..**..
+ 0x00001C18, // .***.....**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FFC, // .***********.
+ 0x000007DC, // ...*****.***.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 230
+ 20, 27,
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x0001F3F0, // ....*****..******...
+ 0x0007FFF8, // ..****************..
+ 0x00060E1C, // ..**.....***....***.
+ 0x00040C0C, // ..*......**......**.
+ 0x00001C0C, // ........***......**.
+ 0x0003FFFC, // ...****************.
+ 0x0007EFFC, // ..******.**********.
+ 0x000E0C00, // .***.....**.........
+ 0x000C0C0C, // .**......**......**.
+ 0x000C1E1C, // .**.....****....***.
+ 0x000FF7F8, // .********.********..
+ 0x0007C3F0, // ..*****....******...
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ 0x00000000, // ....................
+ },
+ { // 231
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x000001F0, // ....*****...
+ 0x000007F8, // ..********..
+ 0x0000061C, // ..**....***.
+ 0x00000C0C, // .**......**.
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C00, // .**.........
+ 0x00000C0C, // .**......**.
+ 0x0000061C, // ..**....***.
+ 0x00000738, // ..***..***..
+ 0x000003F0, // ...******...
+ 0x00000080, // .....*......
+ 0x000000E0, // .....***....
+ 0x000000E0, // .....***....
+ 0x000003E0, // ...*****....
+ 0x000000C0, // .....**.....
+ },
+ { // 232
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000300, // ....**.......
+ 0x00000180, // .....**......
+ 0x00000080, // ......*......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x000007F0, // ...*******...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00001800, // .**..........
+ 0x00001808, // .**.......*..
+ 0x00000C18, // ..**.....**..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 233
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000070, // .......***...
+ 0x000000E0, // ......***....
+ 0x00000180, // .....**......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x000007F0, // ...*******...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00001800, // .**..........
+ 0x00001808, // .**.......*..
+ 0x00000C18, // ..**.....**..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 234
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000001C0, // .....***.....
+ 0x00000160, // .....*.**....
+ 0x00000320, // ....**..*....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x000007F0, // ...*******...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00001800, // .**..........
+ 0x00001808, // .**.......*..
+ 0x00000C18, // ..**.....**..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 235
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000370, // ....**.***...
+ 0x00000370, // ....**.***...
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x000007F0, // ...*******...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00001800, // .**..........
+ 0x00001808, // .**.......*..
+ 0x00000C18, // ..**.....**..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 236
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000070, // ***...
+ 0x00000030, // .**...
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 237
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000000E, // ...***
+ 0x0000000C, // ...**.
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 238
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x0000001C, // ..***.
+ 0x0000003C, // .****.
+ 0x00000066, // **..**
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 239
+ 6, 27,
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000066, // **..**
+ 0x00000066, // **..**
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000018, // ..**..
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ 0x00000000, // ......
+ },
+ { // 240
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000420, // ...*....*....
+ 0x000007C0, // ...*****.....
+ 0x00000780, // ...****......
+ 0x000004C0, // ...*..**.....
+ 0x000000E0, // ......***....
+ 0x000003F0, // ....******...
+ 0x00000FF8, // ..*********..
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000181C, // .**......***.
+ 0x00000C38, // ..**....***..
+ 0x00000FF8, // ..*********..
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 241
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000300, // ....**.......
+ 0x000007F0, // ...*******...
+ 0x000004E0, // ...*..***....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000009F0, // ..*..*****...
+ 0x00000FF8, // ..*********..
+ 0x00000E18, // ..***....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000C18, // ..**.....**..
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 242
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000300, // ....**.......
+ 0x00000180, // .....**......
+ 0x00000080, // ......*......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF0, // ..********...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000181C, // .**......***.
+ 0x00000C38, // ..**....***..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 243
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000060, // .......**....
+ 0x000000C0, // ......**.....
+ 0x00000180, // .....**......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF0, // ..********...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000181C, // .**......***.
+ 0x00000C38, // ..**....***..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 244
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000001C0, // .....***.....
+ 0x00000340, // ....**.*.....
+ 0x00000260, // ....*..**....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF0, // ..********...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000181C, // .**......***.
+ 0x00000C38, // ..**....***..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 245
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000300, // ....**.......
+ 0x000007F0, // ...*******...
+ 0x000004E0, // ...*..***....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF0, // ..********...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000181C, // .**......***.
+ 0x00000C38, // ..**....***..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 246
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000760, // ...***.**....
+ 0x00000760, // ...***.**....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000003E0, // ....*****....
+ 0x00000FF0, // ..********...
+ 0x00000C38, // ..**....***..
+ 0x0000181C, // .**......***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000181C, // .**......***.
+ 0x00000C38, // ..**....***..
+ 0x00000FF0, // ..********...
+ 0x000003E0, // ....*****....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 247
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001FFC, // .***********.
+ 0x00001FFC, // .***********.
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000000C0, // ......**.....
+ 0x000000C0, // ......**.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 248
+ 14, 27,
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x000007C8, // ....*****..*..
+ 0x00001FF0, // ..*********...
+ 0x00001830, // ..**.....**...
+ 0x00003078, // .**.....****..
+ 0x00003098, // .**....*..**..
+ 0x00003198, // .**...**..**..
+ 0x00003318, // .**..**...**..
+ 0x00003618, // .**.**....**..
+ 0x00003438, // .**.*....***..
+ 0x00001870, // ..**....***...
+ 0x00001FE0, // ..********....
+ 0x000027C0, // .*..*****.....
+ 0x00002000, // .*............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ 0x00000000, // ..............
+ },
+ { // 249
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000700, // ...***.......
+ 0x00000180, // .....**......
+ 0x00000080, // ......*......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FF8, // .**********..
+ 0x000007C0, // ...*****.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 250
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000000E0, // ......***....
+ 0x000000C0, // ......**.....
+ 0x00000180, // .....**......
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FF8, // .**********..
+ 0x000007C0, // ...*****.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 251
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000001C0, // .....***.....
+ 0x00000340, // ....**.*.....
+ 0x00000260, // ....*..**....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FF8, // .**********..
+ 0x000007C0, // ...*****.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 252
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x000006E0, // ...**.***....
+ 0x00000260, // ....*..**....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001818, // .**......**..
+ 0x00001838, // .**.....***..
+ 0x00001FF8, // .**********..
+ 0x000007C0, // ...*****.....
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ },
+ { // 253
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000070, // ......***...
+ 0x000000E0, // .....***....
+ 0x00000080, // .....*......
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000C0C, // .**......**.
+ 0x00000C1C, // .**.....***.
+ 0x00000C18, // .**.....**..
+ 0x00000618, // ..**....**..
+ 0x00000630, // ..**...**...
+ 0x00000630, // ..**...**...
+ 0x00000330, // ...**..**...
+ 0x00000360, // ...**.**....
+ 0x00000360, // ...**.**....
+ 0x000001E0, // ....****....
+ 0x000001C0, // ....***.....
+ 0x000001C0, // ....***.....
+ 0x00000180, // ....**......
+ 0x00000180, // ....**......
+ 0x00000380, // ...***......
+ 0x00000F00, // .****.......
+ 0x00000E00, // .***........
+ },
+ { // 254
+ 13, 27,
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00000000, // .............
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001BE0, // .**.*****....
+ 0x00001FF8, // .**********..
+ 0x00001E38, // .****...***..
+ 0x00001C1C, // .***.....***.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x0000180C, // .**.......**.
+ 0x00001C1C, // .***.....***.
+ 0x00001E38, // .****...***..
+ 0x00001FF8, // .**********..
+ 0x000019E0, // .**..****....
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ 0x00001800, // .**..........
+ },
+ { // 255
+ 12, 27,
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000370, // ...**.***...
+ 0x00000370, // ...**.***...
+ 0x00000000, // ............
+ 0x00000000, // ............
+ 0x00000C0C, // .**......**.
+ 0x00000C1C, // .**.....***.
+ 0x00000C18, // .**.....**..
+ 0x00000618, // ..**....**..
+ 0x00000630, // ..**...**...
+ 0x00000630, // ..**...**...
+ 0x00000330, // ...**..**...
+ 0x00000360, // ...**.**....
+ 0x00000360, // ...**.**....
+ 0x000001E0, // ....****....
+ 0x000001C0, // ....***.....
+ 0x000001C0, // ....***.....
+ 0x00000180, // ....**......
+ 0x00000180, // ....**......
+ 0x00000380, // ...***......
+ 0x00000F00, // .****.......
+ 0x00000E00, // .***........
+ },
+ };
diff --git a/genfontfile.c b/genfontfile.c
new file mode 100644
index 0000000..a98f801
--- /dev/null
+++ b/genfontfile.c
@@ -0,0 +1,378 @@
+/* Copyright (c) Mark J. Kilgard, 1997. */
+
+/* This program is freely distributable without licensing fees and is
+ provided without guarantee or warrantee expressed or implied. This
+ program is -not- in the public domain. */
+
+/* X compile line: cc -o gentexfont gentexfont.c -lX11 */
+
+/* 2000-10-01: Stripped down the original code to get a simple bitmap C-code generator */
+/* for use with the VDR project (see http://www.cadsoft.de/people/kls/vdr) */
+/* Renamed the file 'genfontfile.c' since it no longer generates 'tex' data */
+/* Klaus Schmidinger (kls@cadsoft.de) */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <math.h>
+
+typedef struct {
+ unsigned short c; /* Potentially support 16-bit glyphs. */
+ unsigned char width;
+ unsigned char height;
+ signed char xoffset;
+ signed char yoffset;
+ signed char advance;
+ char dummy; /* Space holder for alignment reasons. */
+ short x;
+ short y;
+} TexGlyphInfo;
+
+typedef struct {
+ short width;
+ short height;
+ short xoffset;
+ short yoffset;
+ short advance;
+ unsigned char *bitmap;
+} PerGlyphInfo, *PerGlyphInfoPtr;
+
+typedef struct {
+ int min_char;
+ int max_char;
+ int max_ascent;
+ int max_descent;
+ PerGlyphInfo glyph[1];
+} FontInfo, *FontInfoPtr;
+
+Display *dpy;
+FontInfoPtr fontinfo;
+
+/* #define REPORT_GLYPHS */
+#ifdef REPORT_GLYPHS
+#define DEBUG_GLYPH4(msg,a,b,c,d) printf(msg,a,b,c,d)
+#define DEBUG_GLYPH(msg) printf(msg)
+#else
+#define DEBUG_GLYPH4(msg,a,b,c,d) { /* nothing */ }
+#define DEBUG_GLYPH(msg) { /* nothing */ }
+#endif
+
+#define MAX_GLYPHS_PER_GRAB 512 /* this is big enough for 2^9 glyph
+ character sets */
+
+FontInfoPtr
+SuckGlyphsFromServer(Display * dpy, Font font)
+{
+ Pixmap offscreen;
+ XFontStruct *fontinfo;
+ XImage *image;
+ GC xgc;
+ XGCValues values;
+ int numchars;
+ int width, height, pixwidth;
+ int i, j;
+ XCharStruct *charinfo;
+ XChar2b character;
+ unsigned char *bitmapData;
+ int x, y;
+ int spanLength;
+ int charWidth, charHeight, maxSpanLength;
+ int grabList[MAX_GLYPHS_PER_GRAB];
+ int glyphsPerGrab = MAX_GLYPHS_PER_GRAB;
+ int numToGrab, thisglyph;
+ FontInfoPtr myfontinfo;
+
+ fontinfo = XQueryFont(dpy, font);
+ if (!fontinfo)
+ return NULL;
+
+ numchars = fontinfo->max_char_or_byte2 - fontinfo->min_char_or_byte2 + 1;
+ if (numchars < 1)
+ return NULL;
+
+ myfontinfo = (FontInfoPtr) malloc(sizeof(FontInfo) + (numchars - 1) * sizeof(PerGlyphInfo));
+ if (!myfontinfo)
+ return NULL;
+
+ myfontinfo->min_char = fontinfo->min_char_or_byte2;
+ myfontinfo->max_char = fontinfo->max_char_or_byte2;
+ myfontinfo->max_ascent = fontinfo->max_bounds.ascent;
+ myfontinfo->max_descent = fontinfo->max_bounds.descent;
+
+ width = fontinfo->max_bounds.rbearing - fontinfo->min_bounds.lbearing;
+ height = fontinfo->max_bounds.ascent + fontinfo->max_bounds.descent;
+
+ maxSpanLength = (width + 7) / 8;
+ /* Be careful determining the width of the pixmap; the X protocol allows
+ pixmaps of width 2^16-1 (unsigned short size) but drawing coordinates
+ max out at 2^15-1 (signed short size). If the width is too large, we
+ need to limit the glyphs per grab. */
+ if ((glyphsPerGrab * 8 * maxSpanLength) >= (1 << 15)) {
+ glyphsPerGrab = (1 << 15) / (8 * maxSpanLength);
+ }
+ pixwidth = glyphsPerGrab * 8 * maxSpanLength;
+ offscreen = XCreatePixmap(dpy, RootWindow(dpy, DefaultScreen(dpy)),
+ pixwidth, height, 1);
+
+ values.font = font;
+ values.background = 0;
+ values.foreground = 0;
+ xgc = XCreateGC(dpy, offscreen, GCFont | GCBackground | GCForeground, &values);
+
+ XFillRectangle(dpy, offscreen, xgc, 0, 0, 8 * maxSpanLength * glyphsPerGrab, height);
+ XSetForeground(dpy, xgc, 1);
+
+ numToGrab = 0;
+ if (fontinfo->per_char == NULL) {
+ charinfo = &(fontinfo->min_bounds);
+ charWidth = charinfo->rbearing - charinfo->lbearing;
+ charHeight = charinfo->ascent + charinfo->descent;
+ spanLength = (charWidth + 7) / 8;
+ }
+ for (i = 0; i < numchars; i++) {
+ if (fontinfo->per_char != NULL) {
+ charinfo = &(fontinfo->per_char[i]);
+ charWidth = charinfo->rbearing - charinfo->lbearing;
+ charHeight = charinfo->ascent + charinfo->descent;
+ if (charWidth == 0 || charHeight == 0) {
+ /* Still must move raster pos even if empty character */
+ myfontinfo->glyph[i].width = 0;
+ myfontinfo->glyph[i].height = 0;
+ myfontinfo->glyph[i].xoffset = 0;
+ myfontinfo->glyph[i].yoffset = 0;
+ myfontinfo->glyph[i].advance = charinfo->width;
+ myfontinfo->glyph[i].bitmap = NULL;
+ goto PossiblyDoGrab;
+ }
+ }
+ grabList[numToGrab] = i;
+
+ /* XXX is this right for large fonts? */
+ character.byte2 = (i + fontinfo->min_char_or_byte2) & 255;
+ character.byte1 = (i + fontinfo->min_char_or_byte2) >> 8;
+
+ /* XXX we could use XDrawImageString16 which would also paint the backing
+
+ rectangle but X server bugs in some scalable font rasterizers makes it
+
+ more effective to do XFillRectangles to clear the pixmap and
+ XDrawImage16 for the text. */
+ XDrawString16(dpy, offscreen, xgc,
+ -charinfo->lbearing + 8 * maxSpanLength * numToGrab,
+ charinfo->ascent, &character, 1);
+
+ numToGrab++;
+
+ PossiblyDoGrab:
+
+ if (numToGrab >= glyphsPerGrab || i == numchars - 1) {
+ image = XGetImage(dpy, offscreen,
+ 0, 0, pixwidth, height, 1, XYPixmap);
+ for (j = 0; j < numToGrab; j++) {
+ thisglyph = grabList[j];
+ if (fontinfo->per_char != NULL) {
+ charinfo = &(fontinfo->per_char[thisglyph]);
+ charWidth = charinfo->rbearing - charinfo->lbearing;
+ charHeight = charinfo->ascent + charinfo->descent;
+ spanLength = (charWidth + 7) / 8;
+ }
+ bitmapData = calloc(height * spanLength, sizeof(char));
+ if (!bitmapData)
+ goto FreeFontAndReturn;
+ DEBUG_GLYPH4("index %d, glyph %d (%d by %d)\n",
+ j, thisglyph + fontinfo->min_char_or_byte2, charWidth, charHeight);
+ for (y = 0; y < charHeight; y++) {
+ for (x = 0; x < charWidth; x++) {
+ /* XXX The algorithm used to suck across the font ensures that
+ each glyph begins on a byte boundary. In theory this would
+ make it convienent to copy the glyph into a byte oriented
+ bitmap. We actually use the XGetPixel function to extract
+ each pixel from the image which is not that efficient. We
+ could either do tighter packing in the pixmap or more
+ efficient extraction from the image. Oh well. */
+ if (XGetPixel(image, j * maxSpanLength * 8 + x, charHeight - 1 - y)) {
+ DEBUG_GLYPH("x");
+ bitmapData[y * spanLength + x / 8] |= (1 << (x & 7));
+ } else {
+ DEBUG_GLYPH(" ");
+ }
+ }
+ DEBUG_GLYPH("\n");
+ }
+ myfontinfo->glyph[thisglyph].width = charWidth;
+ myfontinfo->glyph[thisglyph].height = charHeight;
+ myfontinfo->glyph[thisglyph].xoffset = charinfo->lbearing;
+ myfontinfo->glyph[thisglyph].yoffset = -charinfo->descent;
+ myfontinfo->glyph[thisglyph].advance = charinfo->width;
+ myfontinfo->glyph[thisglyph].bitmap = bitmapData;
+ }
+ XDestroyImage(image);
+ numToGrab = 0;
+ /* do we need to clear the offscreen pixmap to get more? */
+ if (i < numchars - 1) {
+ XSetForeground(dpy, xgc, 0);
+ XFillRectangle(dpy, offscreen, xgc, 0, 0, 8 * maxSpanLength * glyphsPerGrab, height);
+ XSetForeground(dpy, xgc, 1);
+ }
+ }
+ }
+ XFreeGC(dpy, xgc);
+ XFreePixmap(dpy, offscreen);
+ return myfontinfo;
+
+FreeFontAndReturn:
+ XDestroyImage(image);
+ XFreeGC(dpy, xgc);
+ XFreePixmap(dpy, offscreen);
+ for (j = i - 1; j >= 0; j--) {
+ if (myfontinfo->glyph[j].bitmap)
+ free(myfontinfo->glyph[j].bitmap);
+ }
+ free(myfontinfo);
+ return NULL;
+}
+
+void
+printGlyph(FontInfoPtr font, int c)
+{
+ PerGlyphInfoPtr glyph;
+ unsigned char *bitmapData;
+ int width, height, spanLength;
+ int x, y, l;
+ char buf[1000], *b;
+
+ if (c < font->min_char || c > font->max_char) {
+ fprintf(stderr, "out of range glyph\n");
+ exit(1);
+ }
+ glyph = &font->glyph[c - font->min_char];
+ bitmapData = glyph->bitmap;
+ width = glyph->width;
+ spanLength = (width + 7) / 8;
+ height = glyph->height;
+
+ printf(" { // %d\n", c);
+ printf(" %d, %d,\n", glyph->advance, font->max_ascent + font->max_descent);
+ for (y = 0; y < font->max_ascent - glyph->yoffset - height; y++) {
+ printf(" 0x%08X, // ", 0);
+ for (x = 0; x < glyph->xoffset + width || x < glyph->advance; x++)
+ putchar('.');
+ putchar('\n');
+ }
+ for (y = height; y-- > 0;) {
+ l = 0;
+ b = buf;
+ for (x = 0; x < glyph->xoffset; x++)
+ *b++ = '.';
+ if (bitmapData) {
+ for (x = 0; x < width; x++) {
+ if (bitmapData[y * spanLength + x / 8] & (1 << (x & 7))) {
+ *b++ = '*';
+ l |= 1;
+ }
+ else
+ *b++ = '.';
+ l <<= 1;
+ }
+ for (x = 0; x < glyph->advance - width - glyph->xoffset; x++) {
+ *b++ = '.';
+ l <<= 1;
+ }
+ }
+ *b = 0;
+ printf(" 0x%08X, // %s\n", l, buf);
+ }
+ for (y = 0; y < font->max_descent + glyph->yoffset; y++) {
+ printf(" 0x%08X, // ", 0);
+ for (x = 0; x < glyph->xoffset + width || x < glyph->advance; x++)
+ putchar('.');
+ putchar('\n');
+ }
+ printf(" },\n");
+}
+
+void
+getMetric(FontInfoPtr font, int c, TexGlyphInfo * tgi)
+{
+ PerGlyphInfoPtr glyph;
+ unsigned char *bitmapData;
+
+ tgi->c = c;
+ if (c < font->min_char || c > font->max_char) {
+ tgi->width = 0;
+ tgi->height = 0;
+ tgi->xoffset = 0;
+ tgi->yoffset = 0;
+ tgi->dummy = 0;
+ tgi->advance = 0;
+ return;
+ }
+ glyph = &font->glyph[c - font->min_char];
+ bitmapData = glyph->bitmap;
+ if (bitmapData) {
+ tgi->width = glyph->width;
+ tgi->height = glyph->height;
+ tgi->xoffset = glyph->xoffset;
+ tgi->yoffset = glyph->yoffset;
+ } else {
+ tgi->width = 0;
+ tgi->height = 0;
+ tgi->xoffset = 0;
+ tgi->yoffset = 0;
+ }
+ tgi->dummy = 0;
+ tgi->advance = glyph->advance;
+}
+
+int
+main(int argc, char *argv[])
+{
+ int c;
+ TexGlyphInfo tgi;
+ int usageError = 0;
+ char *varname, *fontname;
+ XFontStruct *xfont;
+ int i;
+
+ if (argc == 3) {
+ varname = argv[1];
+ fontname = argv[2];
+ }
+ else
+ usageError = 1;
+
+ if (usageError) {
+ fprintf(stderr, "\n");
+ fprintf(stderr, "usage: genfontfile variable_name X_font_name\n");
+ fprintf(stderr, "\n");
+ exit(1);
+ }
+
+ dpy = XOpenDisplay(NULL);
+ if (!dpy) {
+ fprintf(stderr, "could not open display\n");
+ exit(1);
+ }
+ /* find an OpenGL-capable RGB visual with depth buffer */
+ xfont = XLoadQueryFont(dpy, fontname);
+ if (!xfont) {
+ fprintf(stderr, "could not get load X font: %s\n", fontname);
+ exit(1);
+ }
+ fontinfo = SuckGlyphsFromServer(dpy, xfont->fid);
+ if (!fontinfo) {
+ fprintf(stderr, "could not get font glyphs\n");
+ exit(1);
+ }
+
+ printf("%s[][%d] = {\n", varname, fontinfo->max_ascent + fontinfo->max_descent + 2);
+ for (c = 32; c < 256; c++) {
+ getMetric(fontinfo, c, &tgi);
+ printGlyph(fontinfo, c);
+ }
+ printf(" };\n");
+ return 0;
+}
diff --git a/interface.c b/interface.c
index 3d01238..a0fca0e 100644
--- a/interface.c
+++ b/interface.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: interface.c 1.19 2000/09/19 17:41:23 kls Exp $
+ * $Id: interface.c 1.21 2000/10/03 13:28:02 kls Exp $
*/
#include "interface.h"
@@ -69,6 +69,8 @@ unsigned int cInterface::GetCh(bool Wait)
eKeys cInterface::GetKey(bool Wait)
{
+ if (open)
+ cDvbApi::PrimaryDvbApi->Flush();
if (SVDRP)
SVDRP->Process();
eKeys Key = keyFromWait != kNone ? keyFromWait : Keys.Get(GetCh(Wait));
@@ -84,6 +86,8 @@ void cInterface::PutKey(eKeys Key)
eKeys cInterface::Wait(int Seconds, bool KeepChar)
{
eKeys Key = kNone;
+ if (open)
+ cDvbApi::PrimaryDvbApi->Flush();
RcIo.Flush(500);
if (cFile::AnyFileReady(-1, Seconds * 1000))
Key = GetKey();
@@ -326,15 +330,8 @@ eKeys cInterface::DisplayChannel(int Number, const char *Name, bool WithInfo)
if (Number)
RcIo.Number(Number);
if (Name && !Recording()) {
- char *RunningTitle = "", *RunningSubtitle = "", *NextTitle = "", *NextSubtitle = "";
- int Lines = 0;
- if (Number && WithInfo && EIT.IsValid()) {
- if (*(RunningTitle = EIT.GetRunningTitle())) Lines++;
- if (*(RunningSubtitle = EIT.GetRunningSubtitle())) Lines++;
- if (*(NextTitle = EIT.GetNextTitle())) Lines++;
- if (*(NextSubtitle = EIT.GetNextSubtitle())) Lines++;
- }
- Open(MenuColumns, Lines + 1);
+ Open(MenuColumns, 5);
+ cDvbApi::PrimaryDvbApi->Fill(0, 0, MenuColumns, 1, clrBackground);
int BufSize = MenuColumns + 1;
char buffer[BufSize];
if (Number)
@@ -346,27 +343,38 @@ eKeys cInterface::DisplayChannel(int Number, const char *Name, bool WithInfo)
struct tm *now = localtime(&t);
snprintf(buffer, BufSize, "%02d:%02d", now->tm_hour, now->tm_min);
Write(-5, 0, buffer);
+ cDvbApi::PrimaryDvbApi->Flush();
+
+ char *RunningTitle = "", *RunningSubtitle = "", *NextTitle = "", *NextSubtitle = "";
+ int Lines = 0;
+ if (Number && WithInfo && EIT.IsValid()) {
+ if (*(RunningTitle = EIT.GetRunningTitle())) Lines++;
+ if (*(RunningSubtitle = EIT.GetRunningSubtitle())) Lines++;
+ if (*(NextTitle = EIT.GetNextTitle())) Lines++;
+ if (*(NextSubtitle = EIT.GetNextSubtitle())) Lines++;
+ }
if (Lines > 0) {
const int t = 6;
- int w = MenuColumns - t;
int l = 1;
+ cDvbApi::PrimaryDvbApi->Fill(0, 1, MenuColumns, Lines, clrBackground);
if (*RunningTitle) {
Write(0, l, EIT.GetRunningTime(), clrYellow, clrBackground);
- snprintf(buffer, BufSize, "%.*s", w, RunningTitle); Write(t, l, buffer, clrCyan, clrBackground);
+ Write(t, l, RunningTitle, clrCyan, clrBackground);
l++;
}
if (*RunningSubtitle) {
- snprintf(buffer, BufSize, "%.*s", w, RunningSubtitle); Write(t, l, buffer, clrCyan, clrBackground);
+ Write(t, l, RunningSubtitle, clrCyan, clrBackground);
l++;
}
if (*NextTitle) {
Write(0, l, EIT.GetNextTime(), clrYellow, clrBackground);
- snprintf(buffer, BufSize, "%.*s", w, NextTitle); Write(t, l, buffer, clrCyan, clrBackground);
+ Write(t, l, NextTitle, clrCyan, clrBackground);
l++;
}
if (*NextSubtitle) {
- snprintf(buffer, BufSize, "%.*s", w, NextSubtitle); Write(t, l, buffer, clrCyan, clrBackground);
+ Write(t, l, NextSubtitle, clrCyan, clrBackground);
}
+ cDvbApi::PrimaryDvbApi->Flush();
}
eKeys Key = Wait(5, true);
if (Key == kOk)
diff --git a/menu.c b/menu.c
index 114ea7e..1f5fd88 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 1.27 2000/09/11 21:13:46 kls Exp $
+ * $Id: menu.c 1.30 2000/10/03 14:06:44 kls Exp $
*/
#include "menu.h"
@@ -985,7 +985,7 @@ cMenuRecordingItem::cMenuRecordingItem(cRecording *Recording)
void cMenuRecordingItem::Set(void)
{
- SetText(recording->Title('\t'));
+ SetText(recording->Title('\t', true));
}
// --- cMenuRecordings -------------------------------------------------------
@@ -1002,7 +1002,7 @@ public:
};
cMenuRecordings::cMenuRecordings(void)
-:cOsdMenu("Recordings", 9, 6)
+:cOsdMenu("Recordings", 6, 6)
{
if (Recordings.Load()) {
cRecording *recording = Recordings.First();
@@ -1186,7 +1186,7 @@ cDirectChannelSelect::~cDirectChannelSelect()
eOSState cDirectChannelSelect::ProcessKey(eKeys Key)
{
switch (Key) {
- case k0: case k1: case k2: case k3: case k4: case k5: case k6: case k7: case k8: case k9:
+ case k0 ... k9:
if (number >= 0) {
number = number * 10 + Key - k0;
cChannel *channel = Channels.GetByNumber(number);
diff --git a/recording.c b/recording.c
index 9f3b388..60ea4a1 100644
--- a/recording.c
+++ b/recording.c
@@ -1,10 +1,10 @@
/*
- * recording.h: Recording file handling
+ * recording.c: Recording file handling
*
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.c 1.15 2000/07/29 14:08:17 kls Exp $
+ * $Id: recording.c 1.18 2000/10/03 12:39:28 kls Exp $
*/
#define _GNU_SOURCE
@@ -15,6 +15,7 @@
#include <string.h>
#include <sys/stat.h>
#include <unistd.h>
+#include "dvbapi.h"
#include "interface.h"
#include "tools.h"
#include "videodir.h"
@@ -170,18 +171,24 @@ const char *cRecording::FileName(void)
return fileName;
}
-const char *cRecording::Title(char Delimiter)
+const char *cRecording::Title(char Delimiter, bool NewIndicator)
{
+ char New = ' ';
+ if (NewIndicator) {
+ cResumeFile ResumeFile(FileName());
+ if (ResumeFile.Read() <= 0)
+ New = '*';
+ }
delete titleBuffer;
titleBuffer = NULL;
struct tm *t = localtime(&start);
- asprintf(&titleBuffer, "%02d.%02d.%02d%c%02d:%02d%c%s",
+ asprintf(&titleBuffer, "%02d.%02d%c%02d:%02d%c%c%s",
t->tm_mday,
t->tm_mon + 1,
- t->tm_year % 100,
Delimiter,
t->tm_hour,
t->tm_min,
+ New,
Delimiter,
name);
return titleBuffer;
diff --git a/recording.h b/recording.h
index dc3b3d7..7511c65 100644
--- a/recording.h
+++ b/recording.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.h 1.9 2000/07/28 13:53:54 kls Exp $
+ * $Id: recording.h 1.10 2000/10/03 12:27:49 kls Exp $
*/
#ifndef __RECORDING_H
@@ -31,7 +31,7 @@ public:
cRecording(const char *FileName);
~cRecording();
const char *FileName(void);
- const char *Title(char Delimiter = ' ');
+ const char *Title(char Delimiter = ' ', bool NewIndicator = false);
const char *Summary(void) { return summary; }
bool WriteSummary(void);
bool Delete(void);
diff --git a/remote.c b/remote.c
index 46565a8..1bf8108 100644
--- a/remote.c
+++ b/remote.c
@@ -6,7 +6,7 @@
*
* Ported to LIRC by Carsten Koch <Carsten.Koch@icem.de> 2000-06-16.
*
- * $Id: remote.c 1.13 2000/09/19 17:40:52 kls Exp $
+ * $Id: remote.c 1.15 2000/10/03 10:49:58 kls Exp $
*/
#include "remote.h"
@@ -339,6 +339,7 @@ bool cRcIoRCU::DetectCode(unsigned char *Code, unsigned short *Address)
cRcIoLIRC::cRcIoLIRC(char *DeviceName)
{
+ repeat = 1;
struct sockaddr_un addr;
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, DeviceName);
@@ -361,23 +362,27 @@ cRcIoLIRC::~cRcIoLIRC()
const char *cRcIoLIRC::ReceiveString(void)
{
- char buf[LIRC_BUFFER_SIZE];
+ int oldrepeat = 1;
- while (InputAvailable(true)) {
- if (read(f, buf, sizeof(buf)) > 21) {
- const int now = time_ms();
- int repeat;
- sscanf(buf, "%*s %x %7s", &repeat, keyName); // '7' in '%7s' is LIRC_KEY_BUF-1!
- if (repeat == 0) {
- firstTime = lastTime = now;
- return keyName;
- }
- else if ((now > firstTime + REPEATDELAY) && (now > lastTime + REPEATLIMIT)) {
- lastTime = now;
- return keyName;
- }
- }
+ if (repeat != 0) {
+ Flush();
+ if (repeat != 0) {
+ oldrepeat = repeat;
+ Flush(REPEATLIMIT);
}
+ }
+
+ if (repeat == 0) {
+ firstTime = time_ms();
+ repeat = 1;
+ return keyName;
+ }
+
+ if ((repeat > 1) && (repeat != oldrepeat) && (time_ms() > firstTime + REPEATDELAY)) {
+ repeat = 1;
+ return keyName;
+ }
+
return NULL;
}
@@ -386,14 +391,10 @@ void cRcIoLIRC::Flush(int WaitMs)
char buf[LIRC_BUFFER_SIZE];
int t0 = time_ms();
- for (;;) {
- while (InputAvailable(false)) {
- read(f, buf, sizeof(buf));
- t0 = time_ms();
- }
- if (time_ms() - t0 >= WaitMs)
- break;
- }
+ do {
+ if (InputAvailable(false) && (read(f, buf, sizeof(buf)) > 21))
+ sscanf(buf, "%*x %x %7s", &repeat, keyName); // '7' in '%7s' is LIRC_KEY_BUF-1!
+ } while ((repeat != 0) && (time_ms() < t0 + WaitMs));
}
bool cRcIoLIRC::InputAvailable(bool Wait)
@@ -403,7 +404,6 @@ bool cRcIoLIRC::InputAvailable(bool Wait)
bool cRcIoLIRC::GetCommand(unsigned int *Command, unsigned short *)
{
- Flush();
if (Command) {
const char *cmd = ReceiveString();
if (cmd) {
diff --git a/remote.h b/remote.h
index 03f9155..75dc4ac 100644
--- a/remote.h
+++ b/remote.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: remote.h 1.9 2000/09/19 17:39:36 kls Exp $
+ * $Id: remote.h 1.10 2000/10/03 10:45:35 kls Exp $
*/
#ifndef __REMOTE_H
@@ -29,7 +29,7 @@ public:
virtual void SetPoints(unsigned char Dp, bool On) {}
virtual bool String(char *s) { return true; }
virtual bool DetectCode(unsigned char *Code, unsigned short *Address) { return true; }
- virtual void Flush(int WaitMs = 0) {}
+ virtual void Flush(int WaitMs = 0) = 0;
virtual bool InputAvailable(bool Wait = false) = 0;
virtual bool GetCommand(unsigned int *Command, unsigned short *Address = NULL) = 0;
};
@@ -81,6 +81,7 @@ private:
enum { LIRC_KEY_BUF = 8, LIRC_BUFFER_SIZE = 128 };
cFile f;
char keyName[LIRC_KEY_BUF];
+ int repeat;
const char *ReceiveString(void);
public:
cRcIoLIRC(char *DeviceName);
diff --git a/timers.conf b/timers.conf
index a625527..2a58454 100644
--- a/timers.conf
+++ b/timers.conf
@@ -1,14 +1,16 @@
1:15:M------:2128:2205:99:7:Neues:
1:3:-T-----:2013:2125:99:99:SevenDays:
-0:10:-T-----:2058:2202:99:10:Quarks:
-1:26:-T-----:2255:0015:99:99:UFO:
-1:3:---T---:2215:2315:99:10:IngoAppelt:
+1:10:-T-----:2058:2202:99:10:Quarks:
+1:26:-T-----:2235:2345:99:99:UFO:
+1:2:--W----:2110:2325:99:99:BulleVonToelz:
+1:3:---T---:2210:2315:99:10:IngoAppelt:
1:2:----F--:2140:2225:10:10:WWW:
1:1:----F--:2212:2325:99:99:7Tage7Koepfe:
-1:11:-----S-:2158:2235:99:99:Computer:
-1:2:-----S-:2213:2320:99:30:Wochenshow:
+1:11:-----S-:2058:2135:99:99:Computer:
+1:2:-----S-:2211:2340:99:30:Wochenshow:
1:11:------S:2013:2035:99:10:Centauri:
1:14:------S:2158:2235:99:14:MaxUndLisa:
-1:15:MTWTF--:1828:1901:10:5:nano:
+0:15:MTWTF--:1828:1901:10:5:nano:
1:1:-TWTF--:0955:1040:99:99:Ellen:
-1:1:MTWTF--:1553:1710:99:99:Hammerman:
+0:1:MTWTF--:1553:1710:99:99:Hammerman:
+1:1:4:0755:0910:99:99:Hammerman:
diff --git a/tools.c b/tools.c
index 79d2ee6..5bb56e6 100644
--- a/tools.c
+++ b/tools.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: tools.c 1.19 2000/09/19 17:55:09 kls Exp $
+ * $Id: tools.c 1.20 2000/09/29 16:19:28 kls Exp $
*/
#define _GNU_SOURCE
@@ -17,7 +17,6 @@
#endif
#include <signal.h>
#include <stdlib.h>
-#include <string.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <unistd.h>
diff --git a/tools.h b/tools.h
index 5c749a7..441f571 100644
--- a/tools.h
+++ b/tools.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: tools.h 1.15 2000/09/17 07:58:19 kls Exp $
+ * $Id: tools.h 1.16 2000/09/29 16:19:31 kls Exp $
*/
#ifndef __TOOLS_H
@@ -13,6 +13,7 @@
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
+#include <string.h>
#include <syslog.h>
#include <sys/stat.h>
#include <sys/types.h>
diff --git a/vdr.c b/vdr.c
index 91643c2..042b03c 100644
--- a/vdr.c
+++ b/vdr.c
@@ -22,7 +22,7 @@
*
* The project's page is at http://www.cadsoft.de/people/kls/vdr
*
- * $Id: vdr.c 1.35 2000/09/20 16:45:01 kls Exp $
+ * $Id: vdr.c 1.36 2000/10/03 13:52:26 kls Exp $
*/
#include <getopt.h>
@@ -193,12 +193,14 @@ int main(int argc, char *argv[])
cOsdBase *Menu = NULL;
cReplayControl *ReplayControl = NULL;
int LastChannel = -1;
+ int PreviousChannel = CurrentChannel;
while (!Interrupted) {
// Channel display:
if (CurrentChannel != LastChannel) {
if (!Menu)
Channels.ShowChannel(CurrentChannel, LastChannel > 0);
+ PreviousChannel = LastChannel;
LastChannel = CurrentChannel;
}
// Timers and Recordings:
@@ -244,8 +246,13 @@ int main(int argc, char *argv[])
}
else {
switch (key) {
+ // Toggle channels:
+ case k0:
+ if (PreviousChannel != CurrentChannel)
+ Channels.SwitchTo(PreviousChannel);
+ break;
// Direct Channel Select:
- case k0: case k1: case k2: case k3: case k4: case k5: case k6: case k7: case k8: case k9:
+ case k1 ... k9:
if (!Interface.Recording())
Menu = new cDirectChannelSelect(key);
break;