diff options
author | Zack Rusin <[email protected]> | 2010-03-15 15:24:38 -0400 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2010-03-15 15:24:38 -0400 |
commit | 275c4bd3643d773210780cb8d578ca84f2604684 (patch) | |
tree | 8266edc39d4253ac0f2a0ecd41f560f3d815bb5c /src/glut/fbdev | |
parent | c5c5cd7132e18f4aad8e73d8ee879f8823c4c1e7 (diff) | |
parent | d0b35352ed27b1e66785c45ee95a352ed06b47ce (diff) |
Merge remote branch 'origin/master' into gallium_draw_llvm
Diffstat (limited to 'src/glut/fbdev')
-rw-r--r-- | src/glut/fbdev/Makefile | 94 | ||||
-rw-r--r-- | src/glut/fbdev/bitmap.c | 78 | ||||
-rw-r--r-- | src/glut/fbdev/callback.c | 171 | ||||
-rw-r--r-- | src/glut/fbdev/colormap.c | 177 | ||||
-rw-r--r-- | src/glut/fbdev/cursor.c | 272 | ||||
-rw-r--r-- | src/glut/fbdev/cursors.h | 7099 | ||||
-rw-r--r-- | src/glut/fbdev/ext.c | 154 | ||||
-rw-r--r-- | src/glut/fbdev/fbdev.c | 940 | ||||
-rw-r--r-- | src/glut/fbdev/gamemode.c | 306 | ||||
-rw-r--r-- | src/glut/fbdev/input.c | 828 | ||||
-rw-r--r-- | src/glut/fbdev/internal.h | 177 | ||||
-rw-r--r-- | src/glut/fbdev/menu.c | 309 | ||||
-rw-r--r-- | src/glut/fbdev/overlay.c | 57 | ||||
-rw-r--r-- | src/glut/fbdev/state.c | 197 | ||||
-rw-r--r-- | src/glut/fbdev/stroke.c | 81 | ||||
-rw-r--r-- | src/glut/fbdev/vidresize.c | 55 |
16 files changed, 0 insertions, 10995 deletions
diff --git a/src/glut/fbdev/Makefile b/src/glut/fbdev/Makefile deleted file mode 100644 index c150ea88dc1..00000000000 --- a/src/glut/fbdev/Makefile +++ /dev/null @@ -1,94 +0,0 @@ -# subset glut - -TOP = ../../.. -include $(TOP)/configs/current - -GLX_SHARED = $(TOP)/src/glut/glx -MINI_SHARED = $(TOP)/src/glut/mini - -GLUT_MAJOR = 3 -GLUT_MINOR = 7 -GLUT_TINY = 1 - -INCLUDES = -I$(TOP)/include -I$(GLX_SHARED) - -CORE_SOURCES = \ - fbdev.c \ - colormap.c \ - cursor.c \ - menu.c \ - overlay.c \ - ext.c \ - state.c \ - input.c \ - callback.c \ - gamemode.c \ - vidresize.c \ - bitmap.c \ - stroke.c - -GLX_SHARED_SOURCES = \ - $(GLX_SHARED)/glut_8x13.c \ - $(GLX_SHARED)/glut_9x15.c \ - $(GLX_SHARED)/glut_hel10.c \ - $(GLX_SHARED)/glut_hel12.c \ - $(GLX_SHARED)/glut_hel18.c \ - $(GLX_SHARED)/glut_tr10.c \ - $(GLX_SHARED)/glut_tr24.c \ - $(GLX_SHARED)/glut_mroman.c \ - $(GLX_SHARED)/glut_roman.c \ - -MINI_SHARED_SOURCES = \ - $(MINI_SHARED)/models.c \ - $(MINI_SHARED)/teapot.c - -SOURCES = $(CORE_SOURCES) $(GLX_SHARED_SOURCES) $(MINI_SHARED_SOURCES) - -OBJECTS = $(SOURCES:.c=.o) - - -##### RULES ##### - -.c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@ - -.S.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@ - - -##### TARGETS ##### - -default: depend $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME) - - -# Make the library -$(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME): depend $(OBJECTS) - $(MKLIB) -o $(GLUT_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \ - -major $(GLUT_MAJOR) -minor $(GLUT_MINOR) -patch $(GLUT_TINY) \ - $(GLUT_LIB_DEPS) -install $(TOP)/$(LIB_DIR) \ - $(MKLIB_OPTIONS) $(OBJECTS) - -install: - $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/GL - $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR) - $(INSTALL) -m 644 $(TOP)/include/GL/glut.h $(DESTDIR)$(INSTALL_INC_DIR)/GL - $(MINSTALL) $(TOP)/$(LIB_DIR)/libglut* $(DESTDIR)$(INSTALL_LIB_DIR) - -# Run 'make -f Makefile.solo dep' to update the dependencies if you change -# what's included by any source file. -depend: $(SOURCES) - rm -f depend - touch depend - $(MKDEP) $(MKDEP_OPTIONS) $(INCLUDES) $(SOURCES) > /dev/null - -# Emacs tags -tags: - etags `find . -name \*.[ch]` `find ../include` - - -# Remove .o and backup files -clean: depend - -rm -f depend depend.bak - -rm -f *.o *~ *.o *~ *.so libglut.so.3.7 - -include depend diff --git a/src/glut/fbdev/bitmap.c b/src/glut/fbdev/bitmap.c deleted file mode 100644 index 5dbb330cc24..00000000000 --- a/src/glut/fbdev/bitmap.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - * - * To improve on this library, maybe support subwindows or overlays, - * I (sean at depagnier dot com) will do my best to help. - */ - - -#include "glutbitmap.h" - -void glutBitmapCharacter(GLUTbitmapFont font, int c) -{ - const BitmapCharRec *ch; - BitmapFontPtr fi = (BitmapFontPtr) font; - - if (c < fi->first || - c >= fi->first + fi->num_chars) - return; - ch = fi->ch[c - fi->first]; - if (!ch) - return; - - glPushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT); - - glPixelStorei(GL_UNPACK_SWAP_BYTES, GL_FALSE); - glPixelStorei(GL_UNPACK_LSB_FIRST, GL_FALSE); - glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); - glPixelStorei(GL_UNPACK_SKIP_ROWS, 0); - glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0); - glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - glBitmap(ch->width, ch->height, ch->xorig, ch->yorig, - ch->advance, 0, ch->bitmap); - glPopClientAttrib(); -} - -int glutBitmapWidth (GLUTbitmapFont font, int c) -{ - const BitmapCharRec *ch; - BitmapFontPtr fi = (BitmapFontPtr) font; - - if (c < fi->first || c >= fi->first + fi->num_chars) - return 0; - ch = fi->ch[c - fi->first]; - if (ch) - return ch->advance; - return 0; -} - -int glutBitmapLength(GLUTbitmapFont font, const unsigned char *string) -{ - int length = 0; - - for (; *string; string++) - length += glutBitmapWidth(font, *string); - return length; -} diff --git a/src/glut/fbdev/callback.c b/src/glut/fbdev/callback.c deleted file mode 100644 index 8c039f530be..00000000000 --- a/src/glut/fbdev/callback.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -#include <stdlib.h> - -#include <GL/glut.h> - -#include "internal.h" - -void (*DisplayFunc)(void) = NULL; -void (*ReshapeFunc)(int width, int height) = NULL; -void (*KeyboardFunc)(unsigned char key, int x, int y) = NULL; -void (*KeyboardUpFunc)(unsigned char key, int x, int y) = NULL; -void (*MouseFunc)(int key, int state, int x, int y) = NULL; -void (*MotionFunc)(int x, int y) = NULL; -void (*PassiveMotionFunc)(int x, int y) = NULL; -void (*VisibilityFunc)(int state) = NULL; -void (*SpecialFunc)(int key, int x, int y) = NULL; -void (*SpecialUpFunc)(int key, int x, int y) = NULL; -void (*IdleFunc)(void) = NULL; -void (*MenuStatusFunc)(int state, int x, int y) = NULL; -void (*MenuStateFunc)(int state) = NULL; - -void glutDisplayFunc(void (*func)(void)) -{ - DisplayFunc = func; -} - -void glutOverlayDisplayFunc(void (*func)(void)) -{ -} - -void glutWindowStatusFunc(void (*func)(int state)) -{ -} - -void glutReshapeFunc(void (*func)(int width, int height)) -{ - ReshapeFunc = func; -} - -void glutKeyboardFunc(void (*func)(unsigned char key, int x, int y)) -{ - KeyboardFunc = func; -} - -void glutKeyboardUpFunc(void (*func)(unsigned char key, int x, int y)) -{ - KeyboardUpFunc = func; -} - -void glutMouseFunc(void (*func)(int button, int state, int x, int y)) -{ - MouseFunc = func; -} - -void glutMotionFunc(void (*func)(int x, int y)) -{ - MotionFunc = func; -} - -void glutPassiveMotionFunc(void (*func)(int x, int y)) -{ - PassiveMotionFunc = func; -} - -void glutJoystickFunc(void (*func)(unsigned int buttonMask, - int x, int y, int z), int pollInterval) -{ -} - -void glutVisibilityFunc(void (*func)(int state)) -{ - VisibilityFunc = func; -} - -void glutEntryFunc(void (*func)(int state)) -{ -} - -void glutSpecialFunc(void (*func)(int key, int x, int y)) -{ - SpecialFunc = func; -} - -void glutSpecialUpFunc(void (*func)(int key, int x, int y)) -{ - SpecialUpFunc = func; -} - -void glutSpaceballMotionFunc(void (*func)(int x, int y, int z)) -{ -} - -void glutSpaceballRotateFunc(void (*func)(int x, int y, int z)) -{ -} - -void glutSpaceballButtonFunc(void (*func)(int button, int state)) -{ -} - -void glutButtonBoxFunc(void (*func)(int button, int state)) -{ -} - -void glutDialsFunc(void (*func)(int dial, int value)) -{ -} - -void glutTabletMotionFunc(void (*func)(int x, int y)) -{ -} - -void glutTabletButtonFunc(void (*func)(int button, int state, - int x, int y)) -{ -} - -void glutMenuStatusFunc(void (*func)(int status, int x, int y)) -{ - MenuStatusFunc = func; -} - -void glutMenuStateFunc(void (*func)(int status)) -{ - MenuStateFunc = func; -} - -void glutIdleFunc(void (*func)(void)) -{ - IdleFunc = func; -} - -void glutTimerFunc(unsigned int msecs, - void (*func)(int value), int value) -{ - struct GlutTimer **head = &GlutTimers, *timer = malloc(sizeof *timer); - timer->time = glutGet(GLUT_ELAPSED_TIME) + msecs; - timer->func = func; - timer->value = value; - - while(*head && (*head)->time < timer->time) - head = &(*head)->next; - - timer->next = *head; - *head = timer; -} diff --git a/src/glut/fbdev/colormap.c b/src/glut/fbdev/colormap.c deleted file mode 100644 index 3e72a7b0513..00000000000 --- a/src/glut/fbdev/colormap.c +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -#include <stdio.h> -#include <stdlib.h> - -#include <linux/fb.h> - -#include <GL/gl.h> -#include <GL/glut.h> - -#include "internal.h" - -#define TOCMAP(x)(unsigned short)((x<0?0:x>1?1:x)*(GLfloat) ((1<<16) - 1)) -#define TORMAP(x)(unsigned short)((x<0?0:x>1?1:x)*(GLfloat)(REVERSECMAPSIZE-1)) -#define FROMCMAP(x) (GLfloat)x / (GLfloat)((1<<16) - 1) - -static struct fb_cmap ColorMap, OriginalColorMap; - -unsigned short RedColorMap[256], GreenColorMap[256], BlueColorMap[256]; - -unsigned char ReverseColorMap[REVERSECMAPSIZE] - [REVERSECMAPSIZE] - [REVERSECMAPSIZE]; - -static void FindReverseMap(int r, int g, int b) -{ - static int count; - int i, shift = 16 - REVERSECMAPSIZELOG; - unsigned int minv = -1, mini = 0; - for(i=0; i<256; i++) { - int val = 0; - val += abs(r-(RedColorMap[i]>>shift)); - val += abs(g-(GreenColorMap[i]>>shift)); - val += abs(b-(BlueColorMap[i]>>shift)); - if(val < minv) { - minv = val; - mini = i; - } - } - ReverseColorMap[r][g][b] = mini; -} - -static void FillItemReverseColorMap(int r, int g, int b) -{ - FindReverseMap(r, g, b); - if(r > 0) - FindReverseMap(r-1, g, b); - if(r < REVERSECMAPSIZE - 1) - FindReverseMap(r+1, g, b); - if(g > 0) - FindReverseMap(r, g-1, b); - if(g < REVERSECMAPSIZE - 1) - FindReverseMap(r, g+1, b); - if(b > 0) - FindReverseMap(r, g, b-1); - if(b < REVERSECMAPSIZE - 1) - FindReverseMap(r, g, b+1); -} - -static void FillReverseColorMap(void) -{ - int r, g, b; - for(r = 0; r < REVERSECMAPSIZE; r++) - for(g = 0; g < REVERSECMAPSIZE; g++) - for(b = 0; b < REVERSECMAPSIZE; b++) - FindReverseMap(r, g, b); -} - -void RestoreColorMap(void) -{ - if(FixedInfo.visual == FB_VISUAL_TRUECOLOR) - return; - - if (ioctl(FrameBufferFD, FBIOPUTCMAP, (void *) &ColorMap) < 0) - sprintf(exiterror, "ioctl(FBIOPUTCMAP) failed!\n"); -} - -void LoadColorMap(void) -{ - if(FixedInfo.visual == FB_VISUAL_TRUECOLOR) - return; - - ColorMap.start = 0; - ColorMap.red = RedColorMap; - ColorMap.green = GreenColorMap; - ColorMap.blue = BlueColorMap; - ColorMap.transp = NULL; - - if(DisplayMode & GLUT_INDEX) { - ColorMap.len = 256; - - if (ioctl(FrameBufferFD, FBIOGETCMAP, (void *) &ColorMap) < 0) - sprintf(exiterror, "ioctl(FBIOGETCMAP) failed!\n"); - - FillReverseColorMap(); - } else { - int rcols = 1 << VarInfo.red.length; - int gcols = 1 << VarInfo.green.length; - int bcols = 1 << VarInfo.blue.length; - - int i; - - ColorMap.len = gcols; - - for (i = 0; i < rcols ; i++) - RedColorMap[i] = (65536/(rcols-1)) * i; - - for (i = 0; i < gcols ; i++) - GreenColorMap[i] = (65536/(gcols-1)) * i; - - for (i = 0; i < bcols ; i++) - BlueColorMap[i] = (65536/(bcols-1)) * i; - - RestoreColorMap(); - } -} - -void glutSetColor(int cell, GLfloat red, GLfloat green, GLfloat blue) -{ - if(cell < 0 || cell >= 256) - return; - - RedColorMap[cell] = TOCMAP(red); - GreenColorMap[cell] = TOCMAP(green); - BlueColorMap[cell] = TOCMAP(blue); - - RestoreColorMap(); - - FillItemReverseColorMap(TORMAP(red), TORMAP(green), TORMAP(blue)); -} - -GLfloat glutGetColor(int cell, int component) -{ - if(!(DisplayMode & GLUT_INDEX)) - return -1.0; - - if(cell < 0 || cell > 256) - return -1.0; - - switch(component) { - case GLUT_RED: - return FROMCMAP(RedColorMap[cell]); - case GLUT_GREEN: - return FROMCMAP(GreenColorMap[cell]); - case GLUT_BLUE: - return FROMCMAP(BlueColorMap[cell]); - } - return -1.0; -} - -void glutCopyColormap(int win) -{ -} diff --git a/src/glut/fbdev/cursor.c b/src/glut/fbdev/cursor.c deleted file mode 100644 index 4bb2b7fba01..00000000000 --- a/src/glut/fbdev/cursor.c +++ /dev/null @@ -1,272 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -/* these routines are written to access graphics memory directly, not using mesa - to render the cursor, this is faster, it would be good to use a hardware - cursor if it exists instead */ - -#include <stdio.h> -#include <stdlib.h> -#include <inttypes.h> -#include <string.h> - -#include <linux/fb.h> - -#include <GL/glut.h> - -#include "internal.h" -#include "cursors.h" - -int CurrentCursor = GLUT_CURSOR_LEFT_ARROW; - -static int LastMouseX, LastMouseY; -static unsigned char *MouseBuffer; - -void InitializeCursor(void) -{ - if(!MouseBuffer && (MouseBuffer = malloc(CURSOR_WIDTH * CURSOR_HEIGHT - * VarInfo.bits_per_pixel / 8)) == NULL) { - sprintf(exiterror, "malloc failure\n"); - exit(0); - } - - MouseX = VarInfo.xres / 2; - MouseY = VarInfo.yres / 2; -} - -void EraseCursor(void) -{ - int off = LastMouseY * FixedInfo.line_length - + LastMouseX * VarInfo.bits_per_pixel / 8; - int stride = CURSOR_WIDTH * VarInfo.bits_per_pixel / 8; - int i; - - unsigned char *src = MouseBuffer; - - if(!MouseVisible || CurrentCursor < 0 || CurrentCursor >= NUM_CURSORS) - return; - - for(i = 0; i<CURSOR_HEIGHT; i++) { - memcpy(BackBuffer + off, src, stride); - src += stride; - off += FixedInfo.line_length; - } -} - -static void SaveCursor(int x, int y) -{ - int bypp, off, stride, i; - unsigned char *src = MouseBuffer; - - if(x < 0) - LastMouseX = 0; - else - if(x > (int)VarInfo.xres - CURSOR_WIDTH) - LastMouseX = VarInfo.xres - CURSOR_WIDTH; - else - LastMouseX = x; - - if(y < 0) - LastMouseY = 0; - else - if(y > (int)VarInfo.yres - CURSOR_HEIGHT) - LastMouseY = VarInfo.yres - CURSOR_HEIGHT; - else - LastMouseY = y; - - bypp = VarInfo.bits_per_pixel / 8; - off = LastMouseY * FixedInfo.line_length + LastMouseX * bypp; - stride = CURSOR_WIDTH * bypp; - for(i = 0; i<CURSOR_HEIGHT; i++) { - memcpy(src, BackBuffer + off, stride); - src += stride; - off += FixedInfo.line_length; - } -} - -void DrawCursor(void) -{ - int i, j, px, py, xoff, xlen, yoff, ylen, bypp, cstride, dstride; - unsigned char *c; - const unsigned char *d; - - if(!MouseVisible || CurrentCursor < 0 || CurrentCursor >= NUM_CURSORS) - return; - - px = MouseX - CursorsXOffset[CurrentCursor]; - py = MouseY - CursorsYOffset[CurrentCursor]; - - SaveCursor(px, py); - - xoff = 0; - if(px < 0) - xoff = -px; - - xlen = CURSOR_WIDTH; - if(px + CURSOR_WIDTH > VarInfo.xres) - xlen = VarInfo.xres - px; - - yoff = 0; - if(py < 0) - yoff = -py; - - ylen = CURSOR_HEIGHT; - if(py + CURSOR_HEIGHT > VarInfo.yres) - ylen = VarInfo.yres - py; - - bypp = VarInfo.bits_per_pixel / 8; - - c = BackBuffer + FixedInfo.line_length * (py + yoff) + (px + xoff) * bypp; - cstride = FixedInfo.line_length - bypp * (xlen - xoff); - - d = Cursors[CurrentCursor] + (CURSOR_WIDTH * yoff + xoff)*4; - dstride = (CURSOR_WIDTH - xlen + xoff) * 4; - - switch(bypp) { - case 1: - { - const int shift = 8 - REVERSECMAPSIZELOG; - for(i = yoff; i < ylen; i++) { - for(j = xoff; j < xlen; j++) { - if(d[3] < 220) - *c = ReverseColorMap - [(d[0]+(((int)(RedColorMap[c[0]]>>8)*d[3])>>8))>>shift] - [(d[1]+(((int)(GreenColorMap[c[0]]>>8)*d[3])>>8))>>shift] - [(d[2]+(((int)(BlueColorMap[c[0]]>>8)*d[3])>>8))>>shift]; - c++; - d+=4; - } - d += dstride; - c += cstride; - } - } break; - case 2: - { - uint16_t *e = (void*)c; - cstride /= 2; - for(i = yoff; i < ylen; i++) { - for(j = xoff; j < xlen; j++) { - if(d[3] < 220) - e[0] = ((((d[0] + (((int)(((e[0] >> 8) & 0xf8) - | ((c[0] >> 11) & 0x7)) * d[3]) >> 8)) & 0xf8) << 8) - | (((d[1] + (((int)(((e[0] >> 3) & 0xfc) - | ((e[0] >> 5) & 0x3)) * d[3]) >> 8)) & 0xfc) << 3) - | ((d[2] + (((int)(((e[0] << 3) & 0xf8) - | (e[0] & 0x7)) * d[3]) >> 8)) >> 3)); - - e++; - d+=4; - } - d += dstride; - e += cstride; - } - } break; - case 3: - case 4: - for(i = yoff; i < ylen; i++) { - for(j = xoff; j < xlen; j++) { - if(d[3] < 220) { - c[0] = d[0] + (((int)c[0] * d[3]) >> 8); - c[1] = d[1] + (((int)c[1] * d[3]) >> 8); - c[2] = d[2] + (((int)c[2] * d[3]) >> 8); - } - - c+=bypp; - d+=4; - } - d += dstride; - c += cstride; - } break; - } -} - -#define MIN(x, y) x < y ? x : y -void SwapCursor(void) -{ - int px = MouseX - CursorsXOffset[CurrentCursor]; - int py = MouseY - CursorsYOffset[CurrentCursor]; - - int minx = MIN(px, LastMouseX); - int sizex = abs(px - LastMouseX); - - int miny = MIN(py, LastMouseY); - int sizey = abs(py - LastMouseY); - - if(MouseVisible) - DrawCursor(); - - /* now update the portion of the screen that has changed, this is also - used to hide the mouse if MouseVisible is 0 */ - if(DisplayMode & GLUT_DOUBLE && ((sizex || sizey) || !MouseVisible)) { - int off, stride, i; - if(minx < 0) - minx = 0; - if(miny < 0) - miny = 0; - - if(minx + sizex > VarInfo.xres - CURSOR_WIDTH) - sizex = VarInfo.xres - CURSOR_WIDTH - minx; - if(miny + sizey > VarInfo.yres - CURSOR_HEIGHT) - sizey = VarInfo.yres - CURSOR_HEIGHT - miny; - off = FixedInfo.line_length * miny - + minx * VarInfo.bits_per_pixel / 8; - stride = (sizex + CURSOR_WIDTH) * VarInfo.bits_per_pixel / 8; - - for(i = 0; i < sizey + CURSOR_HEIGHT; i++) { - memcpy(FrameBuffer+off, BackBuffer+off, stride); - off += FixedInfo.line_length; - } - } -} - -void glutWarpPointer(int x, int y) -{ - if(x < 0) - x = 0; - if(x >= VarInfo.xres) - x = VarInfo.xres - 1; - MouseX = x; - - if(y < 0) - y = 0; - if(y >= VarInfo.yres) - y = VarInfo.yres - 1; - MouseY = y; - - EraseCursor(); - SwapCursor(); -} - -void glutSetCursor(int cursor) -{ - if(cursor == GLUT_CURSOR_FULL_CROSSHAIR) - cursor = GLUT_CURSOR_CROSSHAIR; - - EraseCursor(); - MouseVisible = 1; - CurrentCursor = cursor; - SwapCursor(); -} diff --git a/src/glut/fbdev/cursors.h b/src/glut/fbdev/cursors.h deleted file mode 100644 index b1f8c3cde4a..00000000000 --- a/src/glut/fbdev/cursors.h +++ /dev/null @@ -1,7099 +0,0 @@ -/* These cursor images were generated from png files - included in xorg. - - They are in the format RGBA and are each 32x32 - the RGB components have already been multiplied - by the alpha, and the alpha is already inverted */ - -#define CURSOR_WIDTH 32 -#define CURSOR_HEIGHT 32 - -int CursorsXOffset[20]={16, 4, 9, 16, 7, 16, 10, 8, 8, 11, - 16, 13, 12, 20, 3, 28, 3, 28, 28, 3}; -int CursorsYOffset[20]={4, 4, 2, 20, 28, 14, 0, 8, 14, 11, - 14, 12, 3, 28, 18, 12, 3, 3, 26, 26}; - -const unsigned char Cursors[][CURSOR_WIDTH * CURSOR_HEIGHT * 4] = { - { - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210, - 0, 0, 0, 76, 0, 0, 0, 100, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 210, 2, 2, 2, 73, - 127, 127, 127, 64, 0, 0, 0, 64, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 210, 2, 2, 2, 73, 127, 127, 127, 64, - 190, 190, 190, 64, 0, 0, 0, 64, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 251, - 0, 0, 0, 247, 0, 0, 0, 248, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210, - 2, 2, 2, 73, 127, 127, 127, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 64, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 248, 0, 0, 0, 236, - 0, 0, 0, 227, 0, 0, 0, 229, 0, 0, 0, 240, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 210, 2, 2, 2, 73, - 127, 127, 127, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 64, 0, 0, 0, 254, - 0, 0, 0, 248, 0, 0, 0, 234, 0, 0, 0, 221, - 0, 0, 0, 217, 0, 0, 0, 218, 0, 0, 0, 228, - 0, 0, 0, 248, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 210, 2, 2, 2, 73, 127, 127, 127, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 64, 0, 0, 0, 248, - 0, 0, 0, 234, 0, 0, 0, 221, 0, 0, 0, 216, - 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210, - 2, 2, 2, 73, 127, 127, 127, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 62, 0, 0, 0, 234, - 0, 0, 0, 221, 0, 0, 0, 216, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 210, 2, 2, 2, 73, - 127, 127, 127, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 189, 189, 189, 62, 0, 0, 0, 59, 0, 0, 0, 221, - 0, 0, 0, 216, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 210, 2, 2, 2, 73, 127, 127, 127, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 189, 189, 189, 62, - 189, 189, 189, 59, 0, 0, 0, 55, 0, 0, 0, 216, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210, - 2, 2, 2, 73, 127, 127, 127, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 59, - 189, 189, 189, 55, 0, 0, 0, 54, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 210, 2, 2, 2, 73, - 127, 127, 127, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 189, 189, 189, 62, 189, 189, 189, 59, 189, 189, 189, 55, - 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 222, 2, 2, 2, 73, 127, 127, 127, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 189, 189, 189, 62, - 189, 189, 189, 59, 189, 189, 189, 55, 190, 190, 190, 54, - 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 189, 26, 26, 26, 64, 130, 130, 130, 64, - 187, 187, 187, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 59, - 189, 189, 189, 55, 190, 190, 190, 54, 190, 190, 190, 54, - 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 174, 0, 0, 0, 94, - 23, 23, 23, 64, 104, 104, 104, 64, 178, 178, 178, 64, - 189, 189, 189, 62, 189, 189, 189, 59, 189, 189, 189, 55, - 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54, - 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 201, 0, 0, 0, 97, 56, 56, 56, 62, - 189, 189, 189, 59, 189, 189, 189, 55, 190, 190, 190, 54, - 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54, - 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 91, 133, 133, 133, 61, - 189, 189, 189, 56, 190, 190, 190, 54, 148, 148, 148, 54, - 127, 127, 127, 54, 186, 186, 186, 54, 190, 190, 190, 54, - 190, 190, 190, 54, 0, 0, 0, 54, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 198, 26, 26, 26, 63, 189, 189, 189, 60, - 189, 189, 189, 55, 190, 190, 190, 54, 56, 56, 56, 54, - 0, 0, 0, 67, 20, 20, 20, 54, 101, 101, 101, 54, - 175, 175, 175, 54, 0, 0, 0, 54, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 118, 107, 107, 107, 64, 189, 189, 189, 62, - 189, 189, 189, 57, 165, 165, 165, 55, 2, 2, 2, 59, - 0, 0, 0, 203, 0, 0, 0, 172, 0, 0, 0, 105, - 5, 5, 5, 56, 0, 0, 0, 72, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 225, - 8, 8, 8, 64, 178, 178, 178, 64, 189, 189, 189, 63, - 190, 190, 190, 61, 88, 88, 88, 59, 0, 0, 0, 119, - 0, 0, 0, 218, 0, 0, 0, 216, 0, 0, 0, 215, - 0, 0, 0, 202, 0, 0, 0, 207, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 144, - 80, 80, 80, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 184, 184, 184, 64, 14, 14, 14, 63, 0, 0, 0, 202, - 0, 0, 0, 222, 0, 0, 0, 216, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 243, 0, 0, 0, 73, - 160, 160, 160, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 122, 122, 122, 64, 0, 0, 0, 102, 0, 0, 0, 237, - 0, 0, 0, 220, 0, 0, 0, 216, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 216, - 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 225, - 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 207, 23, 23, 23, 64, - 169, 169, 169, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 41, 41, 41, 64, 0, 0, 0, 178, 0, 0, 0, 229, - 0, 0, 0, 217, 0, 0, 0, 216, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 216, - 0, 0, 0, 218, 0, 0, 0, 219, 0, 0, 0, 217, - 0, 0, 0, 216, 0, 0, 0, 217, 0, 0, 0, 228, - 0, 0, 0, 247, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 249, 0, 0, 0, 135, - 2, 2, 2, 70, 62, 62, 62, 64, 110, 110, 110, 64, - 0, 0, 0, 78, 0, 0, 0, 234, 0, 0, 0, 222, - 0, 0, 0, 216, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 217, - 0, 0, 0, 227, 0, 0, 0, 235, 0, 0, 0, 230, - 0, 0, 0, 225, 0, 0, 0, 226, 0, 0, 0, 239, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 237, 0, 0, 0, 165, 0, 0, 0, 111, - 0, 0, 0, 179, 0, 0, 0, 232, 0, 0, 0, 218, - 0, 0, 0, 216, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 215, 0, 0, 0, 216, 0, 0, 0, 221, - 0, 0, 0, 239, 0, 0, 0, 250, 0, 0, 0, 249, - 0, 0, 0, 245, 0, 0, 0, 246, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 245, 0, 0, 0, 224, 0, 0, 0, 216, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 216, 0, 0, 0, 217, 0, 0, 0, 228, - 0, 0, 0, 247, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 242, 0, 0, 0, 222, 0, 0, 0, 216, - 0, 0, 0, 215, 0, 0, 0, 215, 0, 0, 0, 215, - 0, 0, 0, 216, 0, 0, 0, 219, 0, 0, 0, 236, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 246, 0, 0, 0, 228, 0, 0, 0, 218, - 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 216, - 0, 0, 0, 216, 0, 0, 0, 225, 0, 0, 0, 244, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 243, 0, 0, 0, 231, - 0, 0, 0, 223, 0, 0, 0, 219, 0, 0, 0, 217, - 0, 0, 0, 220, 0, 0, 0, 234, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 249, - 0, 0, 0, 242, 0, 0, 0, 235, 0, 0, 0, 231, - 0, 0, 0, 235, 0, 0, 0, 247, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 100, - 0, 0, 0, 76, 0, 0, 0, 210, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 127, 127, 127, 64, 2, 2, 2, 73, 0, 0, 0, 210, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 127, 127, 127, 64, 2, 2, 2, 73, - 0, 0, 0, 210, 0, 0, 0, 255, 0, 0, 0, 252, - 0, 0, 0, 248, 0, 0, 0, 248, 0, 0, 0, 251, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 127, 127, 127, 64, - 2, 2, 2, 73, 0, 0, 0, 208, 0, 0, 0, 241, - 0, 0, 0, 230, 0, 0, 0, 228, 0, 0, 0, 237, - 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 127, 127, 127, 64, 2, 2, 2, 71, 0, 0, 0, 189, - 0, 0, 0, 219, 0, 0, 0, 218, 0, 0, 0, 222, - 0, 0, 0, 235, 0, 0, 0, 249, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 127, 127, 127, 62, 2, 2, 2, 64, - 0, 0, 0, 179, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 222, 0, 0, 0, 235, 0, 0, 0, 249, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 127, 127, 127, 57, - 3, 3, 3, 62, 0, 0, 0, 179, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 222, 0, 0, 0, 235, - 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57, - 127, 127, 127, 54, 3, 3, 3, 62, 0, 0, 0, 179, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 222, - 0, 0, 0, 235, 0, 0, 0, 249, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57, - 190, 190, 190, 54, 127, 127, 127, 54, 3, 3, 3, 62, - 0, 0, 0, 179, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 222, 0, 0, 0, 235, 0, 0, 0, 249, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57, - 190, 190, 190, 54, 190, 190, 190, 54, 127, 127, 127, 54, - 3, 3, 3, 62, 0, 0, 0, 179, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 222, 0, 0, 0, 235, - 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57, - 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54, - 127, 127, 127, 54, 3, 3, 3, 62, 0, 0, 0, 179, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 222, - 0, 0, 0, 235, 0, 0, 0, 249, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57, - 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54, - 190, 190, 190, 54, 127, 127, 127, 54, 3, 3, 3, 62, - 0, 0, 0, 189, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 222, 0, 0, 0, 235, 0, 0, 0, 249, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57, - 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54, - 186, 186, 186, 54, 130, 130, 130, 54, 26, 26, 26, 54, - 0, 0, 0, 161, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 222, 0, 0, 0, 235, - 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57, - 190, 190, 190, 54, 178, 178, 178, 54, 103, 103, 103, 54, - 23, 23, 23, 54, 0, 0, 0, 79, 0, 0, 0, 148, - 0, 0, 0, 214, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 222, - 0, 0, 0, 235, 0, 0, 0, 249, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 189, 189, 189, 57, - 190, 190, 190, 54, 56, 56, 56, 54, 0, 0, 0, 82, - 0, 0, 0, 171, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 222, 0, 0, 0, 235, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 187, 187, 187, 64, - 127, 127, 127, 64, 147, 147, 147, 62, 189, 189, 189, 57, - 190, 190, 190, 54, 133, 133, 133, 54, 0, 0, 0, 77, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 218, 0, 0, 0, 224, 0, 0, 0, 243, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 64, - 175, 175, 175, 64, 100, 100, 100, 64, 20, 20, 20, 64, - 0, 0, 0, 79, 56, 56, 56, 62, 189, 189, 189, 57, - 190, 190, 190, 54, 190, 190, 190, 54, 26, 26, 26, 54, - 0, 0, 0, 169, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 222, 0, 0, 0, 241, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 85, - 5, 5, 5, 67, 0, 0, 0, 124, 0, 0, 0, 204, - 0, 0, 0, 240, 2, 2, 2, 68, 165, 165, 165, 57, - 190, 190, 190, 54, 190, 190, 190, 54, 106, 106, 106, 54, - 0, 0, 0, 100, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 218, - 0, 0, 0, 221, 0, 0, 0, 230, 0, 0, 0, 246, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 246, - 0, 0, 0, 240, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 132, 88, 88, 88, 57, - 190, 190, 190, 54, 190, 190, 190, 54, 178, 178, 178, 54, - 8, 8, 8, 54, 0, 0, 0, 192, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 219, 0, 0, 0, 227, - 0, 0, 0, 236, 0, 0, 0, 245, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 209, 14, 14, 14, 57, - 184, 184, 184, 54, 190, 190, 190, 54, 190, 190, 190, 54, - 80, 80, 80, 54, 0, 0, 0, 123, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 223, 0, 0, 0, 239, - 0, 0, 0, 251, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 246, 0, 0, 0, 92, - 121, 121, 121, 54, 190, 190, 190, 54, 190, 190, 190, 54, - 160, 160, 160, 54, 0, 0, 0, 62, 0, 0, 0, 207, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 221, 0, 0, 0, 238, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 248, 0, 0, 0, 166, - 41, 41, 41, 55, 190, 190, 190, 54, 189, 189, 189, 55, - 169, 169, 169, 55, 23, 23, 23, 55, 0, 0, 0, 176, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 218, 0, 0, 0, 230, - 0, 0, 0, 248, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 234, - 0, 0, 0, 71, 109, 109, 109, 57, 62, 62, 62, 58, - 2, 2, 2, 65, 0, 0, 0, 122, 0, 0, 0, 214, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 223, - 0, 0, 0, 241, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 178, 0, 0, 0, 109, 0, 0, 0, 163, - 0, 0, 0, 233, 0, 0, 0, 240, 0, 0, 0, 222, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 219, - 0, 0, 0, 233, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 247, 0, 0, 0, 229, - 0, 0, 0, 218, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 226, 0, 0, 0, 245, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 237, - 0, 0, 0, 221, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 223, 0, 0, 0, 243, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245, - 0, 0, 0, 226, 0, 0, 0, 218, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 219, - 0, 0, 0, 229, 0, 0, 0, 246, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 235, 0, 0, 0, 222, 0, 0, 0, 219, - 0, 0, 0, 220, 0, 0, 0, 224, 0, 0, 0, 232, - 0, 0, 0, 243, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 247, 0, 0, 0, 236, 0, 0, 0, 232, - 0, 0, 0, 236, 0, 0, 0, 243, 0, 0, 0, 249, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 13, 14, 20, 170, 45, 49, 63, 26, - 50, 52, 63, 26, 63, 67, 78, 80, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 17, 18, 21, 197, 36, 36, 41, 108, 53, 53, 63, 0, - 58, 57, 69, 0, 76, 81, 96, 28, 62, 65, 76, 129, - 16, 17, 19, 233, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 4, 4, 17, 55, 94, 94, 99, 0, 210, 213, 218, 0, - 206, 209, 214, 0, 117, 118, 124, 0, 23, 24, 36, 0, - 31, 33, 38, 210, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 13, 12, 22, 55, 100, 100, 103, 0, 202, 204, 208, 0, - 193, 195, 200, 0, 122, 123, 128, 0, 29, 30, 39, 0, - 29, 32, 36, 210, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 14, 14, 25, 55, 101, 101, 104, 0, 201, 203, 208, 0, - 193, 195, 200, 0, 121, 121, 127, 0, 32, 32, 43, 0, - 28, 31, 37, 210, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 17, 16, 27, 55, 101, 101, 104, 0, 200, 203, 207, 0, - 193, 196, 201, 0, 119, 120, 125, 0, 33, 33, 44, 0, - 26, 29, 36, 187, 0, 0, 0, 189, 0, 0, 0, 189, - 0, 0, 0, 203, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 17, 16, 27, 55, 101, 101, 104, 0, 199, 201, 206, 0, - 194, 196, 200, 0, 118, 119, 124, 0, 36, 36, 46, 0, - 24, 27, 34, 173, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 187, 0, 0, 0, 220, 0, 0, 0, 248, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 18, 17, 28, 55, 102, 103, 106, 0, 202, 205, 210, 0, - 198, 200, 205, 0, 117, 118, 123, 0, 40, 40, 51, 0, - 7, 7, 9, 169, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 240, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 20, 19, 29, 55, 104, 104, 107, 0, 204, 206, 212, 0, - 201, 203, 208, 0, 117, 117, 123, 0, 34, 35, 47, 0, - 13, 15, 19, 160, 12, 13, 17, 164, 13, 14, 17, 164, - 13, 14, 17, 164, 14, 15, 18, 164, 12, 13, 15, 224, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 2, 2, 6, 197, 22, 22, 30, 20, 33, 33, 39, 20, - 19, 20, 25, 163, 0, 0, 0, 255, 0, 0, 0, 255, - 23, 22, 33, 55, 103, 103, 106, 0, 205, 207, 212, 0, - 202, 204, 210, 0, 114, 114, 121, 0, 27, 27, 36, 0, - 41, 45, 56, 0, 43, 46, 58, 0, 38, 41, 54, 0, - 52, 54, 65, 0, 49, 51, 64, 0, 51, 54, 66, 45, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 9, 9, 9, 28, 79, 80, 85, 0, 82, 82, 89, 0, - 52, 54, 63, 77, 25, 28, 34, 151, 0, 0, 0, 255, - 23, 22, 33, 55, 103, 103, 106, 0, 207, 209, 213, 0, - 205, 207, 212, 0, 112, 113, 119, 0, 33, 32, 42, 0, - 72, 73, 78, 0, 36, 36, 47, 0, 30, 30, 41, 0, - 74, 75, 81, 0, 45, 44, 52, 0, 39, 40, 50, 22, - 41, 42, 49, 126, 25, 26, 30, 211, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 26, 26, 26, 25, 211, 213, 218, 0, 214, 217, 221, 0, - 67, 67, 77, 0, 21, 20, 26, 50, 5, 5, 7, 246, - 25, 24, 32, 50, 103, 103, 106, 0, 209, 211, 215, 0, - 208, 210, 214, 0, 111, 112, 118, 0, 60, 60, 70, 0, - 209, 210, 214, 0, 98, 99, 106, 0, 77, 76, 83, 0, - 204, 206, 210, 0, 67, 68, 74, 0, 34, 34, 44, 0, - 2, 2, 20, 0, 58, 61, 70, 143, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 2, 2, 2, 104, 73, 74, 78, 0, 216, 218, 222, 0, - 191, 193, 199, 0, 149, 150, 156, 3, 23, 23, 36, 11, - 33, 32, 40, 0, 97, 97, 101, 0, 209, 211, 216, 0, - 208, 210, 214, 0, 113, 113, 119, 0, 57, 56, 65, 0, - 204, 205, 209, 0, 99, 99, 105, 0, 78, 77, 84, 0, - 198, 200, 205, 0, 70, 69, 77, 0, 87, 86, 93, 0, - 167, 168, 173, 0, 73, 74, 83, 2, 45, 47, 54, 101, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 2, 218, 27, 27, 31, 61, 130, 131, 135, 0, - 197, 198, 203, 0, 183, 184, 190, 0, 90, 90, 100, 0, - 38, 37, 47, 0, 103, 103, 108, 0, 210, 212, 216, 0, - 210, 212, 217, 0, 159, 160, 164, 0, 108, 109, 114, 0, - 209, 211, 215, 0, 148, 149, 153, 0, 122, 122, 127, 0, - 202, 204, 209, 0, 78, 78, 87, 0, 112, 112, 118, 0, - 201, 203, 208, 0, 68, 67, 74, 0, 39, 40, 46, 89, - 0, 0, 0, 252, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 2, 2, 3, 198, 17, 16, 26, 0, - 163, 165, 169, 0, 203, 205, 209, 0, 222, 224, 228, 0, - 62, 61, 70, 0, 107, 107, 114, 0, 209, 211, 216, 0, - 225, 227, 231, 0, 213, 215, 220, 0, 209, 212, 216, 0, - 214, 216, 220, 0, 212, 214, 218, 0, 205, 208, 213, 0, - 210, 212, 217, 0, 66, 67, 74, 0, 107, 108, 113, 0, - 202, 204, 208, 0, 68, 68, 75, 0, 38, 38, 46, 63, - 0, 0, 0, 178, 0, 0, 0, 190, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 3, 3, 4, 209, 21, 20, 31, 0, - 170, 172, 176, 0, 209, 211, 216, 0, 210, 212, 216, 0, - 55, 54, 63, 0, 107, 108, 114, 0, 209, 212, 216, 0, - 230, 232, 236, 0, 239, 242, 245, 0, 236, 238, 242, 0, - 234, 237, 241, 0, 229, 232, 237, 0, 219, 221, 227, 0, - 209, 211, 216, 0, 194, 197, 202, 0, 204, 206, 211, 0, - 205, 207, 211, 0, 67, 67, 74, 0, 36, 38, 45, 63, - 0, 0, 0, 178, 0, 0, 0, 184, 0, 0, 0, 219, - 0, 0, 0, 242, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 3, 3, 3, 226, 5, 5, 14, 93, - 110, 111, 119, 22, 177, 179, 183, 0, 215, 217, 221, 0, - 111, 111, 120, 0, 155, 156, 162, 0, 213, 215, 220, 0, - 228, 231, 234, 0, 233, 236, 240, 0, 232, 235, 240, 0, - 229, 231, 236, 0, 225, 227, 231, 0, 217, 220, 225, 0, - 211, 213, 218, 0, 203, 205, 211, 0, 201, 203, 208, 0, - 214, 216, 221, 0, 66, 66, 72, 0, 36, 38, 45, 63, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 221, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 10, 9, 20, 65, 87, 87, 93, 0, 229, 231, 234, 0, - 210, 212, 216, 0, 205, 207, 212, 0, 213, 215, 221, 0, - 221, 224, 229, 0, 226, 229, 234, 0, 226, 229, 234, 0, - 221, 223, 228, 0, 216, 219, 224, 0, 213, 215, 221, 0, - 209, 211, 216, 0, 203, 206, 212, 0, 201, 203, 208, 0, - 214, 217, 221, 0, 63, 62, 68, 0, 36, 37, 44, 63, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 179, 0, 0, 0, 209, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 247, 14, 14, 17, 170, 36, 37, 48, 0, - 204, 206, 209, 0, 212, 214, 220, 0, 212, 214, 219, 0, - 215, 218, 224, 0, 219, 222, 227, 0, 218, 221, 227, 0, - 215, 217, 223, 0, 211, 213, 219, 0, 209, 211, 217, 0, - 206, 208, 215, 0, 206, 209, 215, 0, 212, 214, 219, 0, - 217, 219, 224, 0, 53, 52, 59, 0, 34, 36, 44, 63, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 205, 28, 27, 35, 0, - 198, 199, 203, 0, 211, 214, 219, 0, 207, 210, 215, 0, - 208, 210, 216, 0, 209, 212, 218, 0, 210, 212, 217, 0, - 206, 209, 215, 0, 204, 207, 213, 0, 200, 203, 209, 0, - 198, 201, 206, 0, 206, 209, 215, 0, 201, 203, 207, 0, - 152, 154, 160, 0, 41, 43, 51, 58, 14, 14, 18, 124, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 1, 205, 5, 5, 18, 0, - 207, 209, 213, 0, 221, 223, 227, 0, 205, 207, 212, 0, - 200, 203, 209, 0, 203, 206, 212, 0, 202, 205, 211, 0, - 200, 202, 208, 0, 197, 199, 205, 0, 195, 198, 203, 0, - 193, 195, 200, 0, 196, 198, 203, 0, 154, 155, 160, 0, - 36, 36, 42, 0, 43, 49, 60, 108, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 1, 244, - 32, 31, 42, 14, 115, 115, 120, 0, 195, 197, 201, 0, - 195, 197, 202, 0, 196, 199, 204, 0, 196, 199, 205, 0, - 196, 198, 203, 0, 194, 196, 201, 0, 191, 194, 199, 0, - 191, 193, 197, 0, 191, 193, 198, 0, 156, 157, 162, 0, - 32, 31, 38, 0, 44, 48, 59, 108, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 25, 25, 36, 16, 109, 110, 114, 0, 198, 200, 205, 0, - 194, 196, 201, 0, 195, 197, 203, 0, 195, 198, 203, 0, - 194, 197, 202, 0, 194, 196, 200, 0, 193, 195, 199, 0, - 191, 193, 198, 0, 191, 193, 197, 0, 156, 158, 163, 0, - 28, 27, 34, 0, 29, 32, 39, 126, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 9, 9, 21, 39, 81, 82, 86, 1, 176, 178, 182, 22, - 170, 171, 175, 21, 170, 172, 176, 15, 171, 173, 176, 15, - 170, 171, 175, 15, 169, 171, 175, 15, 168, 170, 174, 16, - 168, 170, 173, 22, 168, 170, 174, 22, 136, 138, 141, 15, - 18, 18, 23, 0, 25, 27, 33, 134, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 204, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 248, 0, 0, 0, 77, 0, 0, 0, 52, - 0, 0, 0, 49, 0, 0, 0, 36, 0, 0, 0, 36, - 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 36, - 0, 0, 0, 38, 0, 0, 0, 38, 0, 0, 0, 36, - 0, 0, 0, 109, 1, 1, 1, 176, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 200, 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 241, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 223, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 249, 0, 0, 0, 184, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 223, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 184, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 231, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 191, - 0, 0, 0, 178, 0, 0, 0, 183, 0, 0, 0, 183, - 0, 0, 0, 183, 0, 0, 0, 183, 0, 0, 0, 183, - 0, 0, 0, 183, 0, 0, 0, 183, 0, 0, 0, 185, - 0, 0, 0, 185, 0, 0, 0, 182, 0, 0, 0, 178, - 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 200, 0, 0, 0, 193, 0, 0, 0, 193, - 0, 0, 0, 193, 0, 0, 0, 193, 0, 0, 0, 193, - 0, 0, 0, 193, 0, 0, 0, 193, 0, 0, 0, 194, - 0, 0, 0, 194, 0, 0, 0, 193, 0, 0, 0, 221, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 7, 7, 7, 246, 14, 14, 14, 239, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 45, 45, 45, 164, - 51, 51, 51, 83, 47, 47, 47, 67, 53, 53, 53, 61, - 45, 45, 45, 54, 50, 50, 50, 64, 55, 55, 55, 135, - 24, 24, 24, 223, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 8, 8, 8, 243, 39, 39, 39, 111, 7, 7, 7, 50, - 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0, 50, - 0, 0, 0, 50, 0, 0, 0, 50, 1, 1, 1, 50, - 37, 37, 37, 61, 48, 48, 48, 177, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 59, 59, 59, 100, 3, 3, 3, 50, 2, 2, 2, 50, - 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0, 50, - 0, 0, 0, 50, 0, 0, 0, 50, 1, 1, 1, 50, - 4, 4, 4, 50, 44, 44, 44, 56, 26, 26, 26, 226, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 6, 6, 6, 248, - 35, 35, 35, 54, 1, 1, 1, 50, 2, 2, 2, 50, - 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0, 50, - 0, 0, 0, 50, 0, 0, 0, 50, 0, 0, 0, 50, - 1, 1, 1, 50, 31, 31, 31, 50, 44, 44, 44, 205, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 2, 252, - 38, 38, 38, 55, 16, 16, 16, 50, 2, 2, 2, 50, - 1, 1, 1, 50, 1, 1, 1, 50, 0, 0, 0, 50, - 0, 0, 0, 50, 1, 1, 1, 50, 1, 1, 1, 48, - 5, 5, 5, 44, 30, 30, 30, 42, 35, 35, 35, 171, - 0, 0, 0, 208, 0, 0, 0, 210, 0, 0, 0, 243, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 77, 77, 77, 56, 39, 39, 39, 51, 2, 2, 2, 50, - 14, 14, 14, 50, 12, 12, 12, 50, 2, 2, 2, 50, - 3, 3, 3, 50, 13, 13, 13, 45, 2, 2, 2, 36, - 4, 4, 4, 35, 65, 65, 65, 36, 39, 39, 39, 134, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 203, 0, 0, 0, 249, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 101, 101, 101, 58, 45, 45, 45, 66, 98, 98, 98, 50, - 161, 161, 161, 50, 155, 155, 155, 50, 16, 16, 16, 50, - 112, 112, 112, 44, 161, 161, 161, 35, 131, 131, 131, 35, - 14, 14, 14, 35, 108, 108, 108, 54, 7, 7, 7, 172, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 191, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 84, 84, 84, 117, 14, 14, 14, 50, 149, 149, 149, 50, - 163, 163, 163, 50, 148, 148, 148, 50, 41, 41, 41, 49, - 106, 106, 106, 35, 163, 163, 163, 35, 163, 163, 163, 35, - 33, 33, 33, 35, 84, 84, 84, 63, 15, 15, 15, 166, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 238, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 72, 72, 72, 70, 5, 5, 5, 50, 65, 65, 65, 50, - 108, 108, 108, 50, 58, 58, 58, 50, 125, 125, 125, 50, - 79, 79, 79, 35, 97, 97, 97, 35, 80, 80, 80, 35, - 6, 6, 6, 35, 36, 36, 36, 40, 27, 27, 27, 153, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 238, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 14, 14, 14, 239, 57, 57, 57, 141, 71, 71, 71, 102, - 61, 61, 61, 87, 12, 12, 12, 50, 154, 154, 154, 52, - 94, 94, 94, 35, 38, 38, 38, 41, 70, 70, 70, 87, - 69, 69, 69, 54, 30, 30, 30, 147, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 233, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 100, 100, 100, 99, - 100, 100, 100, 102, 48, 48, 48, 57, 23, 23, 23, 50, - 42, 42, 42, 39, 92, 92, 92, 50, 50, 50, 50, 129, - 49, 49, 49, 135, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 186, 0, 0, 0, 245, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 21, 21, 21, 227, - 33, 33, 33, 206, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 28, 28, 28, 214, 43, 43, 43, 50, - 111, 111, 111, 105, 99, 99, 99, 63, 103, 103, 103, 60, - 105, 105, 105, 45, 114, 114, 114, 59, 67, 67, 67, 60, - 50, 50, 50, 102, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 8, 8, 8, 171, 35, 35, 35, 145, - 0, 0, 0, 178, 0, 0, 0, 196, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 3, 3, 3, 251, 55, 55, 55, 66, - 29, 29, 29, 51, 18, 18, 18, 225, 0, 0, 0, 255, - 0, 0, 0, 255, 38, 38, 38, 205, 30, 30, 30, 51, - 105, 105, 105, 57, 102, 102, 102, 63, 99, 99, 99, 56, - 112, 112, 112, 42, 113, 113, 113, 46, 19, 19, 19, 35, - 41, 41, 41, 111, 0, 0, 0, 178, 0, 0, 0, 178, - 23, 23, 23, 158, 52, 52, 52, 65, 55, 55, 55, 36, - 13, 13, 13, 168, 0, 0, 0, 180, 0, 0, 0, 239, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 42, 42, 42, 206, 24, 24, 24, 50, - 6, 6, 6, 50, 47, 47, 47, 178, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 48, 48, 48, 168, - 24, 24, 24, 52, 32, 32, 32, 50, 63, 63, 63, 50, - 40, 40, 40, 43, 14, 14, 14, 37, 38, 38, 38, 60, - 17, 17, 17, 165, 0, 0, 0, 178, 29, 29, 29, 147, - 40, 40, 40, 48, 55, 55, 55, 48, 49, 49, 49, 38, - 9, 9, 9, 170, 0, 0, 0, 211, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 45, 45, 45, 137, 4, 4, 4, 50, - 3, 3, 3, 50, 44, 44, 44, 68, 38, 38, 38, 203, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 26, 26, 26, 193, 41, 41, 41, 72, 39, 39, 39, 57, - 14, 14, 14, 71, 22, 22, 22, 140, 1, 1, 1, 211, - 0, 0, 0, 202, 36, 36, 36, 137, 31, 31, 31, 46, - 16, 16, 16, 35, 87, 87, 87, 50, 24, 24, 24, 47, - 23, 23, 23, 191, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 32, 32, 32, 198, 30, 30, 30, 60, 65, 65, 65, 62, - 38, 38, 38, 50, 6, 6, 6, 50, 24, 24, 24, 50, - 55, 55, 55, 110, 38, 38, 38, 199, 3, 3, 3, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 2, 252, - 2, 2, 2, 252, 11, 11, 11, 237, 11, 11, 11, 167, - 15, 15, 15, 115, 40, 40, 40, 40, 76, 76, 76, 62, - 84, 84, 84, 47, 53, 53, 53, 39, 36, 36, 36, 39, - 20, 20, 20, 192, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 80, 80, 80, 119, 2, 2, 2, 50, 20, 20, 20, 50, - 41, 41, 41, 67, 64, 64, 64, 50, 10, 10, 10, 50, - 2, 2, 2, 50, 14, 14, 14, 50, 51, 51, 51, 66, - 60, 60, 60, 120, 8, 8, 8, 244, 0, 0, 0, 255, - 12, 12, 12, 214, 51, 51, 51, 83, 24, 24, 24, 36, - 15, 15, 15, 39, 93, 93, 93, 41, 55, 55, 55, 64, - 47, 47, 47, 118, 38, 38, 38, 150, 41, 41, 41, 145, - 2, 2, 2, 214, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 222, 0, 0, 0, 194, - 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 21, 21, 21, 231, 90, 90, 90, 96, 51, 51, 51, 185, - 0, 0, 0, 255, 13, 13, 13, 239, 9, 9, 9, 227, - 55, 55, 55, 102, 36, 36, 36, 54, 42, 42, 42, 36, - 96, 96, 96, 35, 73, 73, 73, 88, 24, 24, 24, 75, - 7, 7, 7, 50, 13, 13, 13, 50, 62, 62, 62, 40, - 80, 80, 80, 78, 38, 38, 38, 148, 0, 0, 0, 178, - 0, 0, 0, 179, 0, 0, 0, 181, 2, 2, 2, 177, - 1, 1, 1, 234, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 206, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 57, 57, 57, 191, 24, 24, 24, 50, 25, 25, 25, 106, - 8, 8, 8, 232, 8, 8, 8, 244, 3, 3, 3, 251, - 73, 73, 73, 148, 66, 66, 66, 97, 55, 55, 55, 38, - 7, 7, 7, 35, 3, 3, 3, 40, 40, 40, 40, 50, - 77, 77, 77, 93, 80, 80, 80, 106, 34, 34, 34, 51, - 44, 44, 44, 45, 26, 26, 26, 102, 14, 14, 14, 148, - 44, 44, 44, 141, 65, 65, 65, 133, 55, 55, 55, 82, - 29, 29, 29, 77, 46, 46, 46, 194, 0, 0, 0, 198, - 0, 0, 0, 178, 0, 0, 0, 189, 0, 0, 0, 180, - 0, 0, 0, 249, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 58, 58, 58, 57, 35, 35, 35, 65, - 14, 14, 14, 51, 17, 17, 17, 52, 15, 15, 15, 60, - 4, 4, 4, 48, 1, 1, 1, 38, 30, 30, 30, 38, - 56, 56, 56, 61, 49, 49, 49, 114, 23, 23, 23, 173, - 33, 33, 33, 182, 60, 60, 60, 84, 45, 45, 45, 57, - 35, 35, 35, 50, 14, 14, 14, 45, 60, 60, 60, 50, - 38, 38, 38, 46, 18, 18, 18, 47, 4, 4, 4, 50, - 6, 6, 6, 48, 35, 35, 35, 140, 0, 0, 0, 181, - 0, 0, 0, 184, 0, 0, 0, 182, 0, 0, 0, 178, - 0, 0, 0, 236, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 57, 57, 57, 131, 34, 34, 34, 51, - 28, 28, 28, 52, 58, 58, 58, 50, 36, 36, 36, 50, - 54, 54, 54, 48, 46, 46, 46, 104, 23, 23, 23, 158, - 1, 1, 1, 177, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 190, 13, 13, 13, 206, - 43, 43, 43, 187, 60, 60, 60, 112, 54, 54, 54, 57, - 85, 85, 85, 58, 87, 87, 87, 60, 39, 39, 39, 41, - 60, 60, 60, 71, 16, 16, 16, 169, 0, 0, 0, 189, - 0, 0, 0, 192, 0, 0, 0, 203, 0, 0, 0, 205, - 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 35, 35, 35, 119, 12, 12, 12, 50, - 76, 76, 76, 62, 46, 46, 46, 98, 51, 51, 51, 169, - 11, 11, 11, 216, 0, 0, 0, 191, 0, 0, 0, 204, - 0, 0, 0, 229, 0, 0, 0, 217, 0, 0, 0, 212, - 0, 0, 0, 181, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 179, 0, 0, 0, 223, 18, 18, 18, 195, - 56, 56, 56, 84, 15, 15, 15, 36, 6, 6, 6, 35, - 46, 46, 46, 121, 0, 0, 0, 211, 0, 0, 0, 238, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 38, 38, 38, 194, 50, 50, 50, 115, - 51, 51, 51, 158, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 234, 0, 0, 0, 182, 0, 0, 0, 225, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 226, 0, 0, 0, 201, 0, 0, 0, 180, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 180, 53, 53, 53, 102, 58, 58, 58, 62, - 35, 35, 35, 166, 0, 0, 0, 240, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 227, - 0, 0, 0, 220, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 247, 0, 0, 0, 178, 0, 0, 0, 180, - 0, 0, 0, 203, 0, 0, 0, 207, 0, 0, 0, 213, - 0, 0, 0, 181, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 190, 0, 0, 0, 213, - 0, 0, 0, 218, 1, 1, 1, 177, 1, 1, 1, 177, - 0, 0, 0, 178, 0, 0, 0, 182, 0, 0, 0, 194, - 0, 0, 0, 190, 0, 0, 0, 183, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 198, 0, 0, 0, 184, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 186, 0, 0, 0, 214, - 0, 0, 0, 237, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 235, 0, 0, 0, 220, - 0, 0, 0, 199, 0, 0, 0, 178, 0, 0, 0, 181, - 0, 0, 0, 181, 0, 0, 0, 180, 0, 0, 0, 178, - 0, 0, 0, 187, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 202, 0, 0, 0, 178, - 0, 0, 0, 183, 0, 0, 0, 178, 0, 0, 0, 192, - 0, 0, 0, 223, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 245, 0, 0, 0, 214, - 0, 0, 0, 179, 0, 0, 0, 184, 0, 0, 0, 178, - 0, 0, 0, 218, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 210, 0, 0, 0, 178, - 0, 0, 0, 191, 0, 0, 0, 241, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 245, 0, 0, 0, 188, 0, 0, 0, 178, - 0, 0, 0, 226, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 247, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 239, 0, 0, 0, 237, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 13, 13, 13, 233, 58, 58, 58, 179, - 87, 87, 87, 150, 89, 89, 89, 146, 68, 68, 68, 166, - 23, 23, 23, 213, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 22, 22, 22, 226, - 150, 150, 150, 90, 239, 239, 239, 8, 249, 249, 249, 0, - 242, 242, 242, 0, 243, 243, 243, 0, 248, 248, 248, 0, - 248, 248, 248, 2, 180, 180, 180, 46, 50, 50, 50, 175, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 35, 35, 35, 212, 220, 220, 220, 26, - 245, 245, 245, 0, 197, 197, 197, 0, 159, 159, 159, 1, - 134, 134, 134, 21, 133, 133, 133, 30, 178, 178, 178, 6, - 219, 219, 219, 0, 242, 242, 242, 0, 229, 229, 229, 2, - 83, 83, 83, 126, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 4, 4, 4, 247, 200, 200, 200, 43, 246, 246, 246, 0, - 175, 175, 175, 0, 82, 82, 82, 54, 12, 12, 12, 200, - 0, 0, 0, 253, 0, 0, 0, 255, 3, 3, 3, 229, - 81, 81, 81, 103, 216, 216, 216, 2, 239, 239, 239, 0, - 216, 216, 216, 2, 45, 45, 45, 167, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 80, 80, 80, 160, 254, 254, 254, 0, 206, 206, 206, 0, - 104, 104, 104, 36, 1, 1, 1, 239, 0, 0, 0, 255, - 0, 0, 0, 246, 0, 0, 0, 207, 0, 0, 0, 182, - 0, 0, 0, 178, 75, 75, 75, 96, 242, 242, 242, 0, - 231, 231, 231, 0, 140, 140, 140, 31, 0, 0, 0, 202, - 0, 0, 0, 243, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 163, 163, 163, 75, 243, 243, 243, 0, 177, 177, 177, 0, - 36, 36, 36, 155, 0, 0, 0, 255, 0, 0, 0, 239, - 0, 0, 0, 185, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 1, 1, 1, 177, 203, 203, 203, 20, - 242, 242, 242, 0, 183, 183, 183, 2, 5, 5, 5, 156, - 0, 0, 0, 182, 0, 0, 0, 232, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 141, 141, 141, 57, 162, 162, 162, 11, 139, 139, 139, 6, - 3, 3, 3, 229, 0, 0, 0, 250, 0, 0, 0, 187, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 195, - 0, 0, 0, 236, 0, 0, 0, 252, 168, 168, 168, 66, - 243, 243, 243, 0, 178, 178, 178, 1, 10, 10, 10, 145, - 0, 0, 0, 178, 0, 0, 0, 182, 0, 0, 0, 242, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 247, 2, 2, 2, 228, - 0, 0, 0, 254, 0, 0, 0, 218, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 194, 0, 0, 0, 252, - 0, 0, 0, 255, 2, 2, 2, 251, 207, 207, 207, 32, - 234, 234, 234, 0, 154, 154, 154, 5, 2, 2, 2, 183, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 204, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 191, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 234, 0, 0, 0, 255, - 0, 0, 0, 255, 105, 105, 105, 137, 253, 253, 253, 0, - 196, 196, 196, 0, 88, 88, 88, 64, 0, 0, 0, 246, - 0, 0, 0, 179, 0, 0, 0, 178, 0, 0, 0, 184, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 183, 0, 0, 0, 179, - 0, 0, 0, 183, 0, 0, 0, 253, 0, 0, 0, 254, - 99, 99, 99, 143, 248, 248, 248, 3, 213, 213, 213, 0, - 126, 126, 126, 10, 13, 13, 13, 203, 0, 0, 0, 255, - 0, 0, 0, 186, 0, 0, 0, 178, 0, 0, 0, 180, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 247, - 0, 0, 0, 242, 2, 2, 2, 252, 126, 126, 126, 115, - 251, 251, 251, 1, 213, 213, 213, 0, 130, 130, 130, 6, - 24, 24, 24, 170, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 181, 0, 0, 0, 178, 0, 0, 0, 184, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 1, 1, 1, 253, 138, 138, 138, 104, 252, 252, 252, 0, - 202, 202, 202, 0, 119, 119, 119, 11, 21, 21, 21, 175, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 214, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 206, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 87, 87, 87, 155, 252, 252, 252, 1, 200, 200, 200, 0, - 113, 113, 113, 19, 13, 13, 13, 197, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 218, 0, 0, 0, 179, - 0, 0, 0, 178, 0, 0, 0, 183, 0, 0, 0, 244, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 2, 250, - 211, 211, 211, 30, 231, 231, 231, 0, 139, 139, 139, 5, - 13, 13, 13, 196, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 210, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 181, 0, 0, 0, 233, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 32, 32, 32, 207, - 252, 252, 252, 1, 208, 208, 208, 0, 85, 85, 85, 78, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 205, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 182, - 0, 0, 0, 233, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 58, 58, 58, 176, - 253, 253, 253, 0, 195, 195, 195, 0, 59, 59, 59, 128, - 0, 0, 0, 255, 0, 0, 0, 218, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 185, 0, 0, 0, 240, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 49, 49, 49, 177, - 174, 174, 174, 17, 134, 134, 134, 17, 35, 35, 35, 153, - 0, 0, 0, 250, 0, 0, 0, 182, 0, 0, 0, 178, - 0, 0, 0, 182, 0, 0, 0, 241, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 254, - 0, 0, 0, 231, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 211, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 1, 1, 1, 252, - 0, 0, 0, 252, 0, 0, 0, 252, 0, 0, 0, 254, - 0, 0, 0, 220, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 228, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 176, 176, 176, 51, - 238, 238, 238, 0, 230, 230, 230, 0, 55, 55, 55, 148, - 0, 0, 0, 219, 0, 0, 0, 179, 0, 0, 0, 179, - 0, 0, 0, 234, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 182, 182, 182, 51, - 252, 252, 252, 0, 204, 204, 204, 0, 46, 46, 46, 148, - 0, 0, 0, 253, 0, 0, 0, 250, 0, 0, 0, 250, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 4, 4, 4, 245, - 31, 31, 31, 206, 37, 37, 37, 199, 195, 195, 195, 40, - 249, 249, 249, 0, 200, 200, 200, 0, 80, 80, 80, 108, - 49, 49, 49, 186, 31, 31, 31, 197, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 3, 3, 3, 247, - 182, 182, 182, 40, 251, 251, 251, 0, 254, 254, 254, 0, - 253, 253, 253, 0, 236, 236, 236, 0, 247, 247, 247, 0, - 204, 204, 204, 0, 49, 49, 49, 97, 0, 0, 0, 184, - 0, 0, 0, 236, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 41, 41, 41, 186, 233, 233, 233, 1, 250, 250, 250, 0, - 254, 254, 254, 0, 249, 249, 249, 0, 197, 197, 197, 0, - 100, 100, 100, 25, 0, 0, 0, 173, 0, 0, 0, 178, - 0, 0, 0, 234, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 127, 127, 127, 87, 243, 243, 243, 0, - 252, 252, 252, 0, 223, 223, 223, 0, 151, 151, 151, 0, - 23, 23, 23, 123, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 224, 0, 0, 0, 241, 0, 0, 0, 245, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 12, 12, 12, 228, 209, 209, 209, 14, - 243, 243, 243, 0, 184, 184, 184, 0, 78, 78, 78, 47, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 227, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 77, 77, 77, 143, - 231, 231, 231, 0, 135, 135, 135, 3, 11, 11, 11, 146, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 195, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 1, 1, 1, 250, - 154, 154, 154, 48, 56, 56, 56, 104, 0, 0, 0, 190, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 179, 0, 0, 0, 238, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 21, 21, 21, 201, 3, 3, 3, 233, 0, 0, 0, 235, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 206, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 205, 0, 0, 0, 178, 0, 0, 0, 182, - 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 247, 0, 0, 0, 183, 0, 0, 0, 217, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 229, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 2, 3, 2, 251, - 14, 20, 12, 231, 23, 36, 18, 210, 28, 45, 22, 199, - 29, 47, 23, 197, 28, 48, 21, 194, 20, 35, 15, 211, - 5, 8, 4, 244, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 32, 43, 28, 204, 79, 121, 65, 112, 100, 173, 76, 47, - 95, 180, 66, 38, 82, 175, 50, 38, 77, 169, 46, 38, - 74, 166, 44, 38, 68, 162, 37, 38, 67, 161, 36, 38, - 62, 155, 30, 42, 63, 138, 38, 74, 43, 96, 26, 129, - 16, 38, 9, 202, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 1, 1, 1, 253, 39, 54, 33, 191, 95, 142, 79, 88, - 107, 184, 82, 38, 83, 175, 52, 38, 54, 149, 22, 38, - 33, 116, 5, 38, 24, 98, 0, 42, 21, 83, 0, 66, - 17, 68, 0, 99, 15, 60, 0, 116, 12, 51, 0, 134, - 13, 52, 0, 134, 17, 66, 0, 117, 27, 92, 5, 85, - 36, 114, 10, 54, 34, 95, 13, 106, 10, 23, 5, 220, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 54, 94, 41, 123, 0, 1, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 24, 33, 22, 216, - 99, 140, 86, 93, 107, 185, 81, 38, 87, 181, 55, 38, - 52, 147, 20, 39, 26, 102, 0, 38, 18, 75, 0, 62, - 7, 30, 0, 156, 0, 3, 0, 240, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 2, 0, 248, 11, 44, 0, 167, 27, 94, 4, 76, - 0, 3, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 12, 16, 10, 235, 78, 157, 52, 42, 9, 37, 0, 179, - 1, 1, 1, 253, 70, 93, 62, 148, 116, 182, 94, 43, - 96, 184, 66, 38, 68, 174, 33, 38, 37, 134, 5, 39, - 22, 90, 0, 39, 9, 35, 0, 126, 0, 1, 0, 248, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 245, 0, 0, 0, 236, 0, 0, 0, 232, - 0, 0, 0, 229, 0, 0, 0, 227, 0, 0, 0, 231, - 0, 0, 0, 239, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 42, 64, 35, 177, 79, 171, 49, 38, 26, 102, 1, 80, - 78, 106, 69, 133, 117, 188, 94, 38, 82, 182, 49, 38, - 53, 168, 15, 38, 32, 129, 0, 39, 22, 89, 0, 39, - 7, 29, 0, 148, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 246, 0, 0, 0, 214, 0, 0, 0, 185, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 181, 0, 0, 0, 194, - 0, 0, 0, 217, 0, 0, 0, 246, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 72, 117, 57, 115, 78, 178, 45, 39, 49, 164, 11, 38, - 91, 182, 61, 39, 81, 182, 47, 38, 49, 172, 7, 38, - 35, 141, 0, 38, 23, 95, 0, 38, 7, 28, 0, 150, - 0, 0, 0, 255, 0, 0, 0, 244, 0, 0, 0, 208, - 0, 0, 0, 180, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 179, 0, 0, 0, 187, - 0, 0, 0, 201, 0, 0, 0, 208, 0, 0, 0, 215, - 0, 0, 0, 219, 0, 0, 0, 215, 0, 0, 0, 206, - 0, 0, 0, 195, 0, 0, 0, 184, 0, 0, 0, 218, - 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 1, 252, - 96, 164, 73, 58, 72, 179, 36, 38, 48, 173, 6, 38, - 54, 175, 13, 38, 47, 173, 5, 35, 39, 160, 0, 34, - 29, 120, 0, 38, 14, 56, 0, 98, 0, 0, 0, 250, - 0, 0, 0, 214, 0, 0, 0, 180, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 181, - 0, 0, 0, 208, 0, 0, 0, 243, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 246, 0, 0, 0, 208, - 0, 0, 0, 222, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 26, 38, 22, 209, - 96, 178, 69, 42, 62, 178, 24, 38, 43, 172, 0, 38, - 43, 172, 0, 38, 42, 171, 0, 32, 37, 149, 0, 29, - 26, 104, 0, 38, 3, 14, 0, 189, 0, 0, 0, 188, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 188, 0, 0, 0, 243, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 56, 89, 45, 148, - 87, 181, 55, 39, 53, 175, 12, 38, 43, 172, 0, 38, - 43, 172, 0, 38, 42, 172, 0, 28, 37, 152, 0, 27, - 29, 118, 0, 38, 9, 25, 3, 153, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 192, 0, 0, 0, 248, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 85, 141, 67, 86, - 77, 179, 42, 40, 47, 173, 5, 38, 42, 171, 0, 38, - 41, 166, 0, 36, 39, 159, 0, 27, 37, 150, 0, 27, - 38, 147, 2, 27, 50, 149, 17, 29, 35, 95, 15, 76, - 7, 20, 3, 154, 0, 0, 0, 178, 0, 0, 0, 191, - 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252, - 3, 12, 0, 217, 3, 12, 0, 228, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 11, 16, 10, 236, 101, 177, 75, 44, - 62, 171, 26, 38, 38, 150, 0, 38, 34, 139, 0, 38, - 32, 129, 0, 33, 29, 117, 0, 27, 25, 104, 0, 29, - 20, 85, 0, 40, 15, 60, 0, 71, 9, 36, 0, 108, - 2, 9, 0, 156, 0, 0, 0, 179, 0, 0, 0, 241, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 1, 0, 249, 3, 14, 0, 209, - 8, 35, 0, 157, 15, 59, 0, 105, 21, 85, 0, 55, - 53, 129, 27, 39, 32, 53, 25, 186, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 40, 62, 33, 179, 75, 161, 46, 38, - 30, 117, 1, 38, 26, 104, 0, 39, 20, 83, 0, 61, - 14, 56, 0, 84, 7, 32, 0, 114, 2, 12, 0, 150, - 0, 0, 0, 175, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 203, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 2, 0, 246, 4, 17, 0, 200, 9, 38, 0, 151, - 15, 61, 0, 100, 22, 89, 0, 52, 27, 107, 0, 39, - 29, 120, 0, 38, 33, 131, 0, 38, 54, 155, 19, 38, - 98, 175, 73, 45, 8, 11, 7, 241, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 33, 63, 22, 159, 15, 54, 2, 119, - 7, 29, 0, 171, 2, 9, 0, 223, 0, 0, 0, 249, - 0, 0, 0, 181, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 205, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 11, 41, 1, 159, - 33, 107, 8, 47, 33, 119, 5, 38, 31, 125, 0, 40, - 33, 132, 0, 38, 35, 142, 0, 38, 38, 152, 0, 38, - 40, 161, 0, 38, 46, 168, 5, 38, 78, 180, 43, 39, - 80, 134, 62, 93, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 231, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 184, - 0, 0, 0, 218, 0, 0, 0, 254, 0, 0, 0, 254, - 16, 40, 8, 197, 41, 116, 16, 90, 38, 147, 2, 38, - 39, 160, 0, 38, 43, 171, 0, 38, 43, 172, 0, 39, - 43, 172, 0, 38, 54, 175, 14, 38, 87, 181, 56, 39, - 52, 83, 41, 154, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 245, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 179, - 0, 0, 0, 183, 0, 0, 0, 198, 0, 0, 0, 215, - 0, 0, 0, 235, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 3, 14, 0, 211, 28, 114, 0, 38, - 38, 155, 0, 38, 43, 172, 0, 38, 43, 172, 0, 38, - 43, 172, 0, 38, 63, 178, 25, 38, 96, 178, 68, 39, - 22, 32, 19, 186, 0, 0, 0, 205, 0, 0, 0, 187, - 0, 0, 0, 178, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 188, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 183, - 0, 0, 0, 201, 0, 0, 0, 219, 0, 0, 0, 237, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 11, 44, 0, 123, 29, 117, 0, 38, - 39, 160, 0, 38, 43, 172, 0, 36, 44, 173, 1, 33, - 45, 173, 3, 31, 72, 179, 37, 28, 92, 158, 69, 45, - 1, 1, 1, 177, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 250, 0, 0, 0, 205, - 0, 0, 0, 222, 0, 0, 0, 240, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 3, 12, 0, 206, 22, 89, 0, 42, 34, 138, 0, 37, - 44, 170, 2, 29, 65, 178, 26, 27, 69, 179, 32, 27, - 52, 172, 12, 27, 83, 181, 51, 27, 68, 110, 53, 85, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 2, 10, 0, 212, - 17, 69, 0, 54, 29, 118, 0, 38, 43, 161, 4, 38, - 67, 178, 31, 38, 104, 186, 76, 33, 92, 155, 71, 50, - 39, 148, 4, 28, 88, 179, 57, 27, 37, 58, 30, 129, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 185, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 3, 13, 0, 200, 17, 71, 0, 52, - 28, 115, 0, 39, 49, 159, 13, 39, 77, 181, 44, 38, - 105, 186, 79, 38, 115, 160, 100, 72, 15, 20, 14, 175, - 21, 87, 0, 65, 90, 168, 63, 31, 8, 12, 7, 168, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 206, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 1, 4, 0, 239, - 6, 26, 0, 188, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 1, 4, 0, 239, - 8, 32, 0, 151, 19, 79, 0, 45, 34, 124, 4, 39, - 64, 168, 30, 38, 94, 184, 64, 38, 118, 183, 96, 42, - 78, 108, 68, 130, 7, 8, 7, 232, 0, 0, 0, 179, - 7, 29, 0, 134, 65, 120, 47, 64, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 227, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 1, 7, 0, 237, - 30, 95, 8, 95, 28, 96, 6, 83, 9, 38, 0, 170, - 5, 22, 0, 201, 1, 7, 0, 234, 0, 2, 0, 245, - 0, 3, 0, 242, 2, 9, 0, 226, 3, 16, 0, 209, - 7, 30, 0, 171, 11, 46, 0, 131, 20, 83, 0, 50, - 29, 112, 1, 38, 54, 147, 22, 38, 89, 181, 58, 38, - 110, 184, 86, 39, 94, 137, 80, 95, 28, 36, 25, 214, - 0, 0, 0, 253, 0, 0, 0, 198, 0, 0, 0, 178, - 0, 0, 0, 177, 19, 30, 14, 149, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 179, - 0, 0, 0, 248, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 16, 44, 6, 186, 43, 118, 18, 76, - 52, 143, 21, 39, 45, 133, 16, 38, 35, 120, 8, 41, - 33, 115, 5, 40, 37, 122, 8, 38, 38, 125, 10, 38, - 44, 133, 13, 38, 51, 144, 20, 38, 65, 161, 33, 38, - 88, 179, 58, 38, 109, 182, 85, 41, 85, 126, 72, 107, - 30, 40, 27, 208, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 202, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 179, - 0, 0, 0, 192, 0, 0, 0, 178, 0, 0, 0, 194, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 11, 24, 7, 222, 32, 64, 21, 172, 43, 97, 25, 128, - 65, 128, 44, 96, 74, 143, 51, 79, 76, 139, 55, 85, - 75, 136, 54, 88, 71, 127, 52, 100, 65, 109, 50, 123, - 54, 83, 44, 155, 17, 23, 15, 228, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 199, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 180, 0, 0, 0, 225, - 0, 0, 0, 237, 0, 0, 0, 178, 0, 0, 0, 215, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 229, 0, 0, 0, 243, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 230, 0, 0, 0, 191, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 194, 0, 0, 0, 240, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 197, 0, 0, 0, 237, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 229, 0, 0, 0, 187, 0, 0, 0, 206, - 0, 0, 0, 226, 0, 0, 0, 237, 0, 0, 0, 245, - 0, 0, 0, 248, 0, 0, 0, 242, 0, 0, 0, 236, - 0, 0, 0, 227, 0, 0, 0, 214, 0, 0, 0, 191, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 188, 0, 0, 0, 225, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 245, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 213, - 0, 0, 0, 185, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 178, - 0, 0, 0, 178, 0, 0, 0, 178, 0, 0, 0, 192, - 0, 0, 0, 226, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 239, 0, 0, 0, 223, - 0, 0, 0, 208, 0, 0, 0, 201, 0, 0, 0, 199, - 0, 0, 0, 200, 0, 0, 0, 204, 0, 0, 0, 209, - 0, 0, 0, 219, 0, 0, 0, 237, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 13, 5, 13, 201, - 32, 13, 24, 144, 1, 0, 1, 248, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 18, 8, 16, 185, 130, 40, 22, 23, - 146, 46, 22, 6, 35, 13, 21, 148, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 2, 1, 2, 245, 95, 32, 25, 56, 169, 58, 22, 0, - 163, 57, 25, 0, 104, 34, 24, 42, 3, 1, 4, 238, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 2, 1, 3, 242, - 15, 8, 20, 186, 148, 60, 31, 10, 172, 86, 59, 0, - 176, 89, 55, 0, 134, 48, 24, 15, 18, 10, 24, 174, - 3, 2, 5, 238, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 68, 55, 76, 108, - 79, 54, 76, 73, 188, 142, 152, 0, 189, 159, 185, 0, - 180, 98, 70, 0, 149, 69, 43, 14, 123, 103, 128, 49, - 42, 32, 48, 150, 0, 0, 0, 252, 0, 0, 0, 240, - 0, 0, 0, 233, 0, 0, 0, 248, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 13, 7, 17, 198, 160, 134, 161, 15, - 152, 121, 143, 18, 198, 177, 205, 0, 205, 187, 216, 0, - 175, 106, 91, 0, 172, 95, 70, 9, 205, 182, 205, 3, - 103, 85, 109, 67, 0, 0, 0, 240, 0, 0, 0, 215, - 0, 0, 0, 209, 0, 0, 0, 231, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 42, 28, 45, 144, 196, 173, 202, 0, - 194, 164, 189, 0, 214, 198, 226, 0, 210, 193, 222, 0, - 162, 91, 82, 0, 179, 102, 82, 1, 200, 177, 206, 0, - 111, 88, 114, 49, 0, 0, 0, 223, 0, 0, 0, 205, - 0, 0, 0, 203, 0, 0, 0, 218, 0, 0, 0, 247, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 62, 45, 68, 115, 197, 176, 207, 0, - 195, 168, 195, 0, 216, 200, 227, 0, 203, 183, 212, 0, - 157, 84, 74, 0, 159, 84, 72, 4, 198, 177, 208, 0, - 92, 72, 98, 69, 0, 0, 0, 214, 0, 0, 0, 203, - 0, 0, 0, 202, 0, 0, 0, 210, 0, 0, 0, 233, - 0, 0, 0, 248, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 84, 66, 91, 87, 202, 183, 212, 0, - 191, 164, 193, 0, 217, 202, 227, 0, 197, 173, 203, 0, - 173, 113, 112, 0, 163, 96, 92, 4, 202, 184, 214, 0, - 76, 58, 80, 81, 0, 0, 0, 205, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 203, 0, 0, 0, 210, - 0, 0, 0, 234, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 109, 88, 117, 56, 199, 176, 204, 0, - 199, 179, 211, 0, 216, 201, 227, 0, 197, 170, 200, 0, - 185, 139, 148, 0, 168, 107, 108, 4, 199, 180, 210, 0, - 59, 42, 62, 97, 0, 0, 0, 202, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 204, - 0, 0, 0, 225, 0, 0, 0, 251, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 2, 1, 3, 244, 128, 103, 133, 36, 190, 164, 193, 0, - 202, 180, 212, 0, 215, 198, 226, 0, 200, 173, 201, 0, - 188, 154, 171, 0, 168, 115, 123, 4, 190, 166, 196, 0, - 43, 29, 45, 118, 0, 0, 0, 202, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 204, - 0, 0, 0, 225, 0, 0, 0, 251, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 13, 6, 14, 207, 148, 121, 151, 22, 206, 183, 213, 0, - 191, 155, 180, 0, 209, 186, 214, 0, 205, 178, 203, 0, - 222, 205, 227, 0, 190, 160, 184, 0, 187, 161, 191, 1, - 28, 17, 29, 138, 0, 0, 0, 202, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 205, - 0, 0, 0, 228, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 0, 1, 250, 31, 19, 33, 162, - 142, 119, 147, 36, 213, 193, 222, 0, 210, 186, 214, 0, - 209, 163, 170, 0, 213, 185, 210, 0, 207, 182, 209, 0, - 215, 185, 213, 0, 221, 198, 223, 0, 193, 166, 193, 1, - 56, 36, 56, 92, 1, 0, 1, 197, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 206, - 0, 0, 0, 231, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 34, 20, 35, 155, 187, 162, 190, 9, - 221, 199, 224, 0, 177, 134, 184, 0, 157, 93, 100, 0, - 182, 112, 102, 0, 155, 80, 71, 0, 176, 123, 133, 0, - 208, 157, 181, 0, 212, 171, 194, 0, 215, 185, 211, 0, - 166, 132, 156, 10, 13, 6, 14, 162, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 207, - 0, 0, 0, 235, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 82, 54, 73, 85, 182, 138, 159, 2, - 184, 134, 149, 2, 195, 142, 153, 0, 180, 102, 88, 0, - 200, 155, 159, 0, 149, 81, 74, 0, 173, 85, 67, 0, - 197, 146, 156, 0, 190, 134, 142, 0, 166, 113, 125, 5, - 119, 78, 95, 34, 14, 6, 14, 163, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 208, - 0, 0, 0, 238, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 10, 5, 11, 217, 27, 12, 23, 175, - 84, 42, 55, 77, 173, 95, 89, 0, 201, 134, 117, 0, - 203, 150, 161, 0, 200, 151, 161, 0, 168, 83, 53, 0, - 217, 130, 88, 0, 171, 82, 67, 0, 108, 50, 62, 24, - 10, 4, 9, 177, 0, 0, 0, 202, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 209, - 0, 0, 0, 238, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 73, 31, 42, 96, 183, 96, 77, 0, 180, 123, 107, 30, - 201, 147, 131, 15, 218, 183, 141, 0, 217, 157, 84, 1, - 189, 117, 83, 22, 180, 92, 74, 0, 101, 46, 59, 37, - 2, 0, 1, 198, 0, 0, 0, 202, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 205, - 0, 0, 0, 225, 0, 0, 0, 249, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 111, 57, 68, 63, 215, 153, 138, 0, 155, 112, 104, 64, - 47, 23, 29, 187, 102, 67, 55, 115, 77, 44, 41, 119, - 148, 103, 100, 49, 207, 145, 147, 0, 104, 52, 61, 56, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 204, - 0, 0, 0, 217, 0, 0, 0, 246, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 18, 8, 13, 219, - 176, 138, 147, 29, 229, 204, 199, 0, 139, 106, 109, 89, - 0, 0, 0, 254, 0, 0, 0, 245, 17, 8, 11, 202, - 191, 165, 167, 25, 228, 210, 213, 0, 131, 93, 105, 54, - 0, 0, 0, 201, 0, 0, 0, 202, 0, 0, 0, 202, - 0, 0, 0, 202, 0, 0, 0, 202, 0, 0, 0, 212, - 0, 0, 0, 235, 0, 0, 0, 251, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 51, 36, 41, 183, - 226, 225, 225, 5, 231, 231, 231, 0, 158, 142, 148, 75, - 0, 0, 0, 255, 0, 0, 0, 254, 22, 12, 15, 221, - 173, 173, 173, 59, 197, 197, 197, 30, 118, 108, 111, 92, - 0, 0, 0, 204, 0, 0, 0, 203, 0, 0, 0, 203, - 0, 0, 0, 203, 0, 0, 0, 203, 0, 0, 0, 220, - 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 8, 7, 8, 246, - 86, 86, 86, 160, 107, 107, 107, 136, 35, 35, 35, 216, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 2, 2, 2, 232, 9, 9, 9, 199, 0, 0, 0, 215, - 0, 0, 0, 226, 0, 0, 0, 220, 0, 0, 0, 220, - 0, 0, 0, 214, 0, 0, 0, 205, 0, 0, 0, 224, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252, - 0, 0, 0, 229, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 249, 0, 0, 0, 249, 0, 0, 0, 247, - 0, 0, 0, 227, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 249, - 0, 0, 0, 221, 0, 0, 0, 207, 0, 0, 0, 229, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 227, 0, 0, 0, 212, 0, 0, 0, 230, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 231, 0, 0, 0, 222, 0, 0, 0, 239, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 245, 0, 0, 0, 240, 0, 0, 0, 247, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 250, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 28, 28, 28, 226, 34, 34, 34, 220, 34, 34, 34, 220, - 34, 34, 34, 220, 34, 34, 34, 220, 34, 34, 34, 220, - 34, 34, 34, 220, 15, 15, 15, 239, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 55, 55, 55, 189, - 44, 45, 45, 114, 28, 31, 32, 83, 36, 42, 43, 83, - 38, 45, 47, 83, 38, 45, 47, 83, 27, 30, 31, 83, - 28, 29, 30, 85, 62, 62, 62, 136, 22, 22, 22, 232, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 59, 59, 59, 148, - 127, 122, 98, 16, 12, 24, 26, 0, 18, 31, 34, 0, - 14, 26, 29, 0, 12, 23, 26, 0, 9, 19, 21, 0, - 23, 33, 34, 0, 106, 95, 73, 66, 57, 57, 57, 197, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 60, 60, 60, 142, - 175, 160, 127, 25, 117, 114, 93, 7, 174, 154, 118, 0, - 200, 173, 128, 0, 189, 161, 115, 0, 135, 116, 80, 0, - 76, 70, 55, 35, 127, 111, 79, 60, 58, 58, 58, 196, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 55, 55, 55, 194, 81, 76, 68, 99, - 232, 207, 156, 1, 198, 176, 143, 0, 194, 184, 170, 0, - 182, 177, 169, 0, 184, 178, 169, 0, 190, 175, 155, 0, - 181, 153, 112, 0, 133, 111, 75, 32, 71, 70, 69, 133, - 17, 17, 17, 237, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 29, 29, 29, 225, 74, 73, 69, 112, 213, 187, 139, 9, - 197, 185, 168, 0, 179, 178, 176, 0, 190, 190, 190, 0, - 158, 158, 157, 0, 171, 170, 169, 0, 159, 157, 156, 0, - 165, 160, 156, 0, 187, 163, 127, 0, 120, 102, 71, 45, - 71, 71, 71, 138, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 227, 0, 0, 0, 237, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 67, 67, 67, 161, 160, 144, 113, 43, 202, 181, 151, 0, - 192, 192, 192, 0, 208, 209, 209, 0, 197, 197, 197, 0, - 207, 208, 208, 0, 200, 200, 200, 0, 187, 187, 186, 0, - 139, 137, 140, 0, 151, 146, 141, 0, 196, 164, 117, 0, - 80, 73, 60, 78, 37, 37, 37, 174, 0, 0, 0, 204, - 0, 0, 0, 206, 0, 0, 0, 219, 0, 0, 0, 244, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 8, 8, 8, 246, - 72, 71, 69, 119, 221, 192, 144, 2, 189, 186, 182, 0, - 181, 182, 181, 0, 181, 186, 190, 0, 203, 205, 207, 0, - 214, 215, 215, 0, 211, 212, 212, 0, 184, 184, 186, 0, - 185, 185, 186, 0, 147, 144, 143, 0, 187, 169, 146, 0, - 126, 104, 68, 39, 75, 75, 75, 130, 2, 2, 2, 202, - 0, 0, 0, 207, 0, 0, 0, 218, 0, 0, 0, 242, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 22, 22, 22, 232, - 93, 89, 80, 98, 212, 186, 142, 0, 184, 183, 182, 0, - 206, 207, 207, 0, 210, 212, 213, 0, 183, 185, 189, 0, - 164, 171, 179, 0, 170, 172, 176, 0, 205, 206, 207, 0, - 214, 215, 215, 0, 165, 163, 162, 0, 181, 173, 162, 0, - 186, 153, 98, 10, 71, 63, 50, 77, 47, 47, 47, 166, - 0, 0, 0, 205, 0, 0, 0, 210, 0, 0, 0, 229, - 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 22, 22, 22, 232, - 93, 87, 77, 96, 210, 185, 141, 0, 164, 162, 160, 0, - 201, 202, 202, 0, 217, 219, 219, 0, 213, 214, 214, 0, - 150, 158, 168, 0, 189, 191, 193, 0, 213, 214, 214, 0, - 215, 216, 216, 0, 159, 157, 156, 0, 182, 174, 162, 0, - 194, 158, 100, 3, 87, 72, 51, 61, 52, 52, 52, 162, - 0, 0, 0, 204, 0, 0, 0, 205, 0, 0, 0, 212, - 0, 0, 0, 235, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 12, 12, 12, 242, - 73, 71, 67, 113, 213, 182, 130, 0, 178, 177, 175, 0, - 172, 172, 171, 0, 215, 216, 216, 0, 199, 199, 199, 0, - 183, 183, 182, 0, 181, 180, 179, 0, 211, 212, 212, 0, - 211, 212, 212, 0, 154, 152, 151, 0, 193, 181, 162, 0, - 127, 103, 67, 32, 68, 68, 68, 116, 12, 12, 12, 194, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 206, - 0, 0, 0, 220, 0, 0, 0, 246, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 66, 66, 66, 150, 162, 137, 94, 30, 185, 170, 150, 0, - 143, 141, 140, 0, 203, 203, 203, 0, 186, 186, 185, 0, - 169, 172, 180, 0, 182, 183, 185, 0, 197, 197, 197, 0, - 181, 180, 179, 0, 144, 140, 137, 0, 187, 161, 122, 0, - 82, 71, 52, 67, 50, 50, 50, 163, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 211, 0, 0, 0, 237, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 45, 45, 45, 209, 73, 66, 54, 97, 197, 165, 113, 2, - 177, 172, 165, 0, 138, 136, 136, 0, 166, 164, 164, 0, - 176, 175, 176, 0, 186, 185, 185, 0, 166, 164, 163, 0, - 164, 161, 160, 0, 182, 165, 143, 0, 140, 115, 75, 21, - 69, 68, 68, 110, 5, 5, 5, 199, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 207, 0, 0, 0, 223, 0, 0, 0, 248, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 69, 69, 69, 168, 94, 84, 64, 78, - 210, 181, 129, 1, 182, 167, 146, 0, 166, 162, 160, 0, - 154, 150, 147, 0, 155, 152, 151, 0, 175, 170, 164, 0, - 182, 161, 131, 0, 144, 118, 77, 15, 64, 61, 56, 93, - 34, 34, 34, 176, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 207, 0, 0, 0, 225, 0, 0, 0, 248, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 4, 4, 4, 250, 63, 63, 63, 139, - 179, 156, 111, 28, 156, 141, 103, 7, 199, 170, 120, 0, - 183, 156, 114, 0, 177, 149, 108, 0, 153, 126, 86, 0, - 101, 87, 62, 26, 104, 87, 60, 49, 66, 66, 66, 150, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 213, 0, 0, 0, 239, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 58, 58, 58, 145, - 135, 123, 89, 9, 6, 18, 21, 0, 14, 23, 23, 0, - 23, 23, 18, 0, 16, 16, 13, 0, 3, 10, 11, 0, - 18, 24, 21, 0, 103, 87, 60, 54, 53, 53, 53, 161, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 206, - 0, 0, 0, 223, 0, 0, 0, 248, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 67, 67, 67, 165, - 31, 31, 29, 86, 1, 6, 8, 44, 6, 18, 21, 44, - 7, 22, 24, 44, 2, 8, 9, 43, 0, 2, 3, 41, - 7, 10, 10, 40, 49, 48, 46, 93, 35, 35, 35, 175, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 205, 0, 0, 0, 215, - 0, 0, 0, 238, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 4, 4, 4, 250, - 59, 59, 59, 187, 59, 59, 59, 180, 59, 59, 59, 180, - 59, 59, 59, 180, 59, 59, 59, 180, 59, 59, 59, 175, - 59, 59, 59, 159, 43, 43, 43, 170, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 233, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 233, 0, 0, 0, 212, 0, 0, 0, 205, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 207, 0, 0, 0, 218, 0, 0, 0, 243, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 237, 0, 0, 0, 212, 0, 0, 0, 205, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 206, 0, 0, 0, 220, 0, 0, 0, 246, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 250, 0, 0, 0, 238, 0, 0, 0, 233, - 0, 0, 0, 233, 0, 0, 0, 233, 0, 0, 0, 233, - 0, 0, 0, 234, 0, 0, 0, 242, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 237, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 65, - 0, 0, 0, 77, 0, 0, 0, 95, 0, 0, 0, 76, - 0, 0, 0, 195, 0, 0, 0, 209, 0, 0, 0, 105, - 0, 0, 0, 77, 0, 0, 0, 95, 0, 0, 0, 77, - 0, 0, 0, 245, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 101, 136, 136, 136, 67, - 171, 171, 171, 79, 174, 174, 174, 80, 174, 174, 174, 80, - 103, 103, 103, 60, 87, 87, 87, 59, 171, 171, 171, 79, - 174, 174, 174, 80, 174, 174, 174, 80, 158, 158, 158, 75, - 5, 5, 5, 69, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 77, 158, 158, 158, 75, - 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80, - 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80, - 174, 174, 174, 80, 174, 174, 174, 80, 165, 165, 165, 78, - 5, 5, 5, 51, 0, 0, 0, 237, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 245, 5, 5, 5, 67, - 10, 10, 10, 68, 8, 8, 8, 52, 105, 105, 105, 64, - 174, 174, 174, 80, 174, 174, 174, 80, 125, 125, 125, 66, - 10, 10, 10, 57, 10, 10, 10, 63, 8, 8, 8, 81, - 0, 0, 0, 215, 0, 0, 0, 253, 0, 0, 0, 253, - 0, 0, 0, 252, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 7, 7, 7, 56, - 174, 174, 174, 80, 174, 174, 174, 80, 17, 17, 17, 38, - 0, 0, 0, 218, 0, 0, 0, 214, 0, 0, 0, 210, - 0, 0, 0, 228, 0, 0, 0, 235, 0, 0, 0, 236, - 0, 0, 0, 231, 0, 0, 0, 229, 0, 0, 0, 230, - 0, 0, 0, 233, 0, 0, 0, 245, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 75, - 174, 174, 174, 80, 173, 173, 173, 79, 9, 9, 9, 53, - 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 209, - 0, 0, 0, 209, 0, 0, 0, 211, 0, 0, 0, 212, - 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 209, - 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 59, - 174, 174, 174, 80, 173, 173, 173, 79, 12, 12, 12, 62, - 0, 0, 0, 212, 0, 0, 0, 207, 0, 0, 0, 206, - 0, 0, 0, 205, 0, 0, 0, 205, 0, 0, 0, 205, - 0, 0, 0, 205, 0, 0, 0, 206, 0, 0, 0, 207, - 0, 0, 0, 211, 0, 0, 0, 231, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 82, - 174, 174, 174, 80, 173, 173, 173, 80, 12, 12, 12, 66, - 0, 0, 0, 231, 0, 0, 0, 226, 0, 0, 0, 222, - 0, 0, 0, 211, 0, 0, 0, 205, 0, 0, 0, 205, - 0, 0, 0, 209, 0, 0, 0, 221, 0, 0, 0, 226, - 0, 0, 0, 230, 0, 0, 0, 243, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 65, - 174, 174, 174, 80, 174, 174, 174, 80, 10, 10, 10, 58, - 0, 0, 0, 251, 0, 0, 0, 250, 0, 0, 0, 244, - 0, 0, 0, 223, 0, 0, 0, 207, 0, 0, 0, 205, - 0, 0, 0, 219, 0, 0, 0, 242, 0, 0, 0, 249, - 0, 0, 0, 251, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 82, - 174, 174, 174, 80, 174, 174, 174, 80, 7, 7, 7, 48, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250, - 0, 0, 0, 229, 0, 0, 0, 208, 0, 0, 0, 207, - 0, 0, 0, 225, 0, 0, 0, 249, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 76, - 174, 174, 174, 80, 174, 174, 174, 80, 12, 12, 12, 73, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 75, - 174, 174, 174, 80, 174, 174, 174, 80, 13, 13, 13, 80, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 89, - 174, 174, 174, 80, 174, 174, 174, 80, 11, 11, 11, 65, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 89, - 174, 174, 174, 80, 174, 174, 174, 80, 8, 8, 8, 51, - 0, 0, 0, 237, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 69, - 174, 174, 174, 80, 174, 174, 174, 80, 12, 12, 12, 70, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 80, - 174, 174, 174, 80, 174, 174, 174, 80, 13, 13, 13, 80, - 0, 0, 0, 234, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 87, - 174, 174, 174, 80, 174, 174, 174, 80, 11, 11, 11, 64, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 87, - 174, 174, 174, 80, 174, 174, 174, 80, 12, 12, 12, 73, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 95, - 174, 174, 174, 80, 174, 174, 174, 80, 12, 12, 12, 73, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 9, 9, 9, 61, - 174, 174, 174, 80, 174, 174, 174, 80, 25, 25, 25, 55, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 229, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 245, 6, 6, 6, 78, - 7, 7, 7, 53, 10, 10, 10, 61, 105, 105, 105, 64, - 174, 174, 174, 80, 174, 174, 174, 80, 125, 125, 125, 66, - 12, 12, 12, 68, 9, 9, 9, 58, 6, 6, 6, 63, - 0, 0, 0, 210, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 84, 158, 158, 158, 75, - 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80, - 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80, - 174, 174, 174, 80, 174, 174, 174, 80, 150, 150, 150, 71, - 7, 7, 7, 62, 0, 0, 0, 209, 0, 0, 0, 207, - 0, 0, 0, 226, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 88, 147, 147, 147, 72, - 174, 174, 174, 80, 174, 174, 174, 80, 174, 174, 174, 80, - 103, 103, 103, 60, 87, 87, 87, 59, 171, 171, 171, 79, - 174, 174, 174, 80, 174, 174, 174, 80, 157, 157, 157, 74, - 8, 8, 8, 82, 0, 0, 0, 193, 0, 0, 0, 207, - 0, 0, 0, 225, 0, 0, 0, 249, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 81, - 0, 0, 0, 87, 0, 0, 0, 95, 0, 0, 0, 82, - 0, 0, 0, 195, 0, 0, 0, 209, 0, 0, 0, 81, - 0, 0, 0, 74, 0, 0, 0, 87, 0, 0, 0, 74, - 0, 0, 0, 198, 0, 0, 0, 205, 0, 0, 0, 205, - 0, 0, 0, 219, 0, 0, 0, 242, 0, 0, 0, 249, - 0, 0, 0, 251, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245, - 0, 0, 0, 228, 0, 0, 0, 206, 0, 0, 0, 191, - 0, 0, 0, 211, 0, 0, 0, 205, 0, 0, 0, 205, - 0, 0, 0, 209, 0, 0, 0, 221, 0, 0, 0, 226, - 0, 0, 0, 230, 0, 0, 0, 243, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 234, - 0, 0, 0, 212, 0, 0, 0, 207, 0, 0, 0, 206, - 0, 0, 0, 205, 0, 0, 0, 205, 0, 0, 0, 205, - 0, 0, 0, 205, 0, 0, 0, 206, 0, 0, 0, 207, - 0, 0, 0, 211, 0, 0, 0, 231, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 235, - 0, 0, 0, 213, 0, 0, 0, 209, 0, 0, 0, 209, - 0, 0, 0, 209, 0, 0, 0, 211, 0, 0, 0, 212, - 0, 0, 0, 209, 0, 0, 0, 209, 0, 0, 0, 209, - 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 247, - 0, 0, 0, 235, 0, 0, 0, 230, 0, 0, 0, 229, - 0, 0, 0, 231, 0, 0, 0, 235, 0, 0, 0, 236, - 0, 0, 0, 231, 0, 0, 0, 229, 0, 0, 0, 230, - 0, 0, 0, 233, 0, 0, 0, 245, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 252, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 252, 0, 0, 0, 253, 0, 0, 0, 253, - 0, 0, 0, 252, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 168, 0, 0, 0, 162, - 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 168, 160, 160, 160, 64, 172, 172, 172, 64, - 12, 12, 12, 145, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64, - 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64, - 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 252, - 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64, - 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 247, 0, 0, 0, 235, - 0, 0, 0, 234, 0, 0, 0, 245, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64, - 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 234, 0, 0, 0, 214, - 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64, - 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64, - 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 168, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 112, 190, 190, 190, 64, 190, 190, 190, 64, - 23, 23, 23, 100, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 157, 0, 0, 0, 144, 0, 0, 0, 130, - 0, 0, 0, 129, 0, 0, 0, 169, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 168, 160, 160, 160, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 189, 189, 189, 63, 190, 190, 190, 57, 189, 189, 189, 52, - 189, 189, 189, 52, 112, 112, 112, 57, 0, 0, 0, 213, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 162, 172, 172, 172, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 189, 189, 189, 63, 190, 190, 190, 57, 189, 189, 189, 52, - 189, 189, 189, 52, 124, 124, 124, 57, 0, 0, 0, 207, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 246, 12, 12, 12, 145, - 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 136, - 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 135, - 23, 23, 23, 98, 189, 189, 189, 63, 189, 189, 189, 63, - 44, 44, 44, 89, 23, 23, 23, 133, 23, 23, 23, 133, - 23, 23, 23, 131, 23, 23, 23, 121, 23, 23, 23, 110, - 23, 23, 23, 110, 5, 5, 5, 146, 0, 0, 0, 246, - 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 251, 0, 0, 0, 252, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 247, - 0, 0, 0, 147, 189, 189, 189, 58, 190, 190, 190, 57, - 23, 23, 23, 122, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 228, 0, 0, 0, 217, 0, 0, 0, 206, - 0, 0, 0, 205, 0, 0, 0, 215, 0, 0, 0, 227, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 237, - 0, 0, 0, 250, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 235, - 0, 0, 0, 135, 190, 190, 190, 52, 189, 189, 189, 52, - 23, 23, 23, 111, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 206, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 206, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 209, 0, 0, 0, 217, - 0, 0, 0, 241, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 234, - 0, 0, 0, 134, 189, 189, 189, 52, 189, 189, 189, 52, - 23, 23, 23, 110, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 206, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 205, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 208, 0, 0, 0, 216, - 0, 0, 0, 240, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245, - 0, 0, 0, 146, 189, 189, 189, 57, 189, 189, 189, 57, - 23, 23, 23, 120, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 224, 0, 0, 0, 215, 0, 0, 0, 206, - 0, 0, 0, 205, 0, 0, 0, 214, 0, 0, 0, 224, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 227, 0, 0, 0, 234, - 0, 0, 0, 248, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 157, 189, 189, 189, 63, 189, 189, 189, 63, - 23, 23, 23, 133, 0, 0, 0, 250, 0, 0, 0, 250, - 0, 0, 0, 246, 0, 0, 0, 227, 0, 0, 0, 208, - 0, 0, 0, 207, 0, 0, 0, 224, 0, 0, 0, 245, - 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 250, - 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 252, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64, - 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 168, 160, 160, 160, 64, 172, 172, 172, 64, - 12, 12, 12, 145, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 168, 0, 0, 0, 162, - 0, 0, 0, 246, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 230, 0, 0, 0, 208, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 234, 0, 0, 0, 214, - 0, 0, 0, 212, 0, 0, 0, 231, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 247, 0, 0, 0, 235, - 0, 0, 0, 234, 0, 0, 0, 245, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 252, - 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 201, - 0, 0, 0, 201, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 192, 107, 107, 107, 67, - 107, 107, 107, 67, 0, 0, 0, 192, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 192, 107, 107, 107, 67, 190, 190, 190, 64, - 190, 190, 190, 64, 107, 107, 107, 67, 0, 0, 0, 192, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 192, - 107, 107, 107, 67, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 107, 107, 107, 67, - 0, 0, 0, 192, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 192, 107, 107, 107, 67, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 107, 107, 107, 67, 0, 0, 0, 192, 0, 0, 0, 250, - 0, 0, 0, 239, 0, 0, 0, 239, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 201, 107, 107, 107, 67, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 106, 106, 106, 65, 0, 0, 0, 184, - 0, 0, 0, 216, 0, 0, 0, 216, 0, 0, 0, 234, - 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 204, 23, 23, 23, 136, 23, 23, 23, 136, - 23, 23, 23, 136, 23, 23, 23, 100, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 100, 23, 23, 23, 135, - 23, 23, 23, 132, 23, 23, 23, 122, 0, 0, 0, 170, - 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 215, - 0, 0, 0, 234, 0, 0, 0, 249, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 249, - 0, 0, 0, 234, 0, 0, 0, 215, 0, 0, 0, 206, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 206, - 0, 0, 0, 215, 0, 0, 0, 234, 0, 0, 0, 249, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 155, 0, 0, 0, 234, - 0, 0, 0, 215, 0, 0, 0, 206, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 206, 0, 0, 0, 215, 0, 0, 0, 234, - 0, 0, 0, 250, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 189, 189, 189, 64, 0, 0, 0, 148, 0, 0, 0, 218, - 0, 0, 0, 209, 0, 0, 0, 207, 0, 0, 0, 205, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 205, - 0, 0, 0, 207, 0, 0, 0, 209, 0, 0, 0, 218, - 0, 0, 0, 240, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 189, 189, 189, 64, 0, 0, 0, 150, 0, 0, 0, 229, - 0, 0, 0, 226, 0, 0, 0, 224, 0, 0, 0, 215, - 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 215, - 0, 0, 0, 224, 0, 0, 0, 226, 0, 0, 0, 229, - 0, 0, 0, 242, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 158, 0, 0, 0, 250, - 0, 0, 0, 250, 0, 0, 0, 246, 0, 0, 0, 227, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 227, - 0, 0, 0, 246, 0, 0, 0, 250, 0, 0, 0, 250, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 180, 68, 68, 68, 88, 71, 71, 71, 88, - 71, 71, 71, 88, 71, 71, 71, 76, 190, 190, 190, 64, - 190, 190, 190, 64, 71, 71, 71, 76, 71, 71, 71, 88, - 71, 71, 71, 88, 68, 68, 68, 87, 0, 0, 0, 160, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 225, 62, 62, 62, 82, 187, 187, 187, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 187, 187, 187, 64, 62, 62, 62, 80, 0, 0, 0, 202, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 230, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 225, 62, 62, 62, 82, - 187, 187, 187, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 187, 187, 187, 64, - 62, 62, 62, 82, 0, 0, 0, 221, 0, 0, 0, 229, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 229, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 225, - 62, 62, 62, 82, 187, 187, 187, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 186, 186, 186, 63, 61, 61, 61, 79, - 0, 0, 0, 216, 0, 0, 0, 243, 0, 0, 0, 225, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 225, - 0, 0, 0, 243, 0, 0, 0, 246, 0, 0, 0, 247, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 225, 62, 62, 62, 82, 187, 187, 187, 64, - 187, 187, 187, 63, 62, 62, 62, 76, 0, 0, 0, 197, - 0, 0, 0, 220, 0, 0, 0, 218, 0, 0, 0, 212, - 0, 0, 0, 205, 0, 0, 0, 205, 0, 0, 0, 212, - 0, 0, 0, 218, 0, 0, 0, 220, 0, 0, 0, 224, - 0, 0, 0, 240, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 225, 62, 62, 62, 82, - 62, 62, 62, 81, 0, 0, 0, 213, 0, 0, 0, 221, - 0, 0, 0, 208, 0, 0, 0, 206, 0, 0, 0, 205, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 205, - 0, 0, 0, 206, 0, 0, 0, 208, 0, 0, 0, 221, - 0, 0, 0, 242, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 234, - 0, 0, 0, 234, 0, 0, 0, 252, 0, 0, 0, 239, - 0, 0, 0, 219, 0, 0, 0, 207, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 207, 0, 0, 0, 219, 0, 0, 0, 239, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 251, - 0, 0, 0, 238, 0, 0, 0, 219, 0, 0, 0, 207, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 207, - 0, 0, 0, 219, 0, 0, 0, 238, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 238, 0, 0, 0, 219, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 219, - 0, 0, 0, 238, 0, 0, 0, 251, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 239, - 0, 0, 0, 221, 0, 0, 0, 221, 0, 0, 0, 239, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252, - 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 20, 20, 20, 148, 15, 15, 15, 160, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 28, 28, 28, 128, 7, 7, 7, 177, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 246, 34, 34, 34, 122, - 168, 168, 168, 64, 36, 36, 36, 133, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 73, 73, 73, 95, 149, 149, 149, 64, - 16, 16, 16, 152, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 236, 52, 52, 52, 103, 179, 179, 179, 64, - 190, 190, 190, 64, 36, 36, 36, 133, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 253, 0, 0, 0, 254, - 0, 0, 0, 255, 73, 73, 73, 95, 190, 190, 190, 64, - 164, 164, 164, 64, 29, 29, 29, 128, 0, 0, 0, 249, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 222, - 75, 75, 75, 87, 186, 186, 186, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 87, 87, 87, 83, 63, 63, 63, 117, - 63, 63, 63, 117, 63, 63, 63, 117, 63, 63, 63, 116, - 63, 63, 63, 111, 63, 63, 63, 109, 63, 63, 63, 115, - 63, 63, 63, 117, 112, 112, 112, 73, 190, 190, 190, 64, - 190, 190, 190, 64, 176, 176, 176, 64, 47, 47, 47, 108, - 0, 0, 0, 238, 0, 0, 0, 239, 0, 0, 0, 234, - 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 36, 36, 36, 106, - 187, 187, 187, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 63, 189, 189, 189, 59, - 189, 189, 189, 54, 189, 189, 189, 55, 189, 189, 189, 62, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 173, 173, 173, 64, - 11, 11, 11, 141, 0, 0, 0, 229, 0, 0, 0, 212, - 0, 0, 0, 225, 0, 0, 0, 245, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 234, - 56, 56, 56, 100, 181, 181, 181, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 70, 70, 70, 91, 42, 42, 42, 138, - 42, 42, 42, 133, 42, 42, 42, 122, 42, 42, 42, 113, - 42, 42, 42, 111, 42, 42, 42, 117, 42, 42, 42, 131, - 42, 42, 42, 136, 99, 99, 99, 75, 190, 190, 190, 63, - 190, 190, 190, 63, 167, 167, 167, 63, 32, 32, 32, 122, - 0, 0, 0, 241, 0, 0, 0, 226, 0, 0, 0, 207, - 0, 0, 0, 208, 0, 0, 0, 222, 0, 0, 0, 243, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 245, 37, 37, 37, 118, 170, 170, 170, 64, - 190, 190, 190, 64, 35, 35, 35, 133, 0, 0, 0, 247, - 0, 0, 0, 227, 0, 0, 0, 210, 0, 0, 0, 205, - 0, 0, 0, 204, 0, 0, 0, 210, 0, 0, 0, 222, - 0, 0, 0, 226, 73, 73, 73, 84, 189, 189, 189, 57, - 151, 151, 151, 57, 18, 18, 18, 129, 0, 0, 0, 224, - 0, 0, 0, 224, 0, 0, 0, 214, 0, 0, 0, 205, - 0, 0, 0, 204, 0, 0, 0, 207, 0, 0, 0, 219, - 0, 0, 0, 241, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 22, 22, 22, 141, - 156, 156, 156, 64, 36, 36, 36, 132, 0, 0, 0, 235, - 0, 0, 0, 211, 0, 0, 0, 205, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 205, 0, 0, 0, 206, - 0, 0, 0, 206, 73, 73, 73, 77, 131, 131, 131, 54, - 8, 8, 8, 140, 0, 0, 0, 206, 0, 0, 0, 206, - 0, 0, 0, 206, 0, 0, 0, 205, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 207, - 0, 0, 0, 225, 0, 0, 0, 249, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 10, 10, 10, 170, 11, 11, 11, 173, 0, 0, 0, 245, - 0, 0, 0, 224, 0, 0, 0, 209, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 209, 0, 0, 0, 219, - 0, 0, 0, 222, 20, 20, 20, 129, 2, 2, 2, 173, - 0, 0, 0, 222, 0, 0, 0, 222, 0, 0, 0, 222, - 0, 0, 0, 221, 0, 0, 0, 212, 0, 0, 0, 205, - 0, 0, 0, 204, 0, 0, 0, 206, 0, 0, 0, 217, - 0, 0, 0, 238, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 247, 0, 0, 0, 227, 0, 0, 0, 210, - 0, 0, 0, 205, 0, 0, 0, 216, 0, 0, 0, 242, - 0, 0, 0, 250, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 247, 0, 0, 0, 226, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 220, 0, 0, 0, 241, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 249, 0, 0, 0, 231, - 0, 0, 0, 213, 0, 0, 0, 218, 0, 0, 0, 246, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 228, 0, 0, 0, 211, - 0, 0, 0, 223, 0, 0, 0, 243, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250, - 0, 0, 0, 236, 0, 0, 0, 231, 0, 0, 0, 249, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 237, 0, 0, 0, 231, - 0, 0, 0, 246, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 252, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 180, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 171, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 180, 139, 139, 139, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 157, 157, 157, 64, 5, 5, 5, 157, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 171, 157, 157, 157, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 172, 172, 172, 64, 8, 8, 8, 148, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 5, 5, 5, 157, - 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 136, - 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 135, - 23, 23, 23, 134, 23, 23, 23, 133, 23, 23, 23, 133, - 23, 23, 23, 133, 23, 23, 23, 133, 23, 23, 23, 133, - 23, 23, 23, 133, 23, 23, 23, 133, 23, 23, 23, 133, - 23, 23, 23, 133, 9, 9, 9, 144, 0, 0, 0, 242, - 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 251, 0, 0, 0, 252, 0, 0, 0, 252, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 248, - 0, 0, 0, 236, 0, 0, 0, 194, 0, 0, 0, 173, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 235, - 0, 0, 0, 247, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 236, - 0, 0, 0, 178, 83, 83, 83, 60, 127, 127, 127, 52, - 3, 3, 3, 140, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 213, - 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 195, - 83, 83, 83, 61, 189, 189, 189, 52, 189, 189, 189, 52, - 127, 127, 127, 52, 3, 3, 3, 139, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 212, - 0, 0, 0, 232, 0, 0, 0, 251, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 210, 82, 82, 82, 71, - 190, 190, 190, 58, 189, 189, 189, 57, 189, 189, 189, 57, - 189, 189, 189, 57, 127, 127, 127, 57, 2, 2, 2, 150, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 224, - 0, 0, 0, 224, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 227, 0, 0, 0, 231, - 0, 0, 0, 245, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 210, 83, 83, 83, 73, 190, 190, 190, 64, - 189, 189, 189, 63, 186, 186, 186, 63, 189, 189, 189, 63, - 186, 186, 186, 63, 189, 189, 189, 63, 127, 127, 127, 63, - 3, 3, 3, 167, 0, 0, 0, 245, 0, 0, 0, 235, - 0, 0, 0, 233, 0, 0, 0, 243, 0, 0, 0, 249, - 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 250, - 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 251, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 210, - 83, 83, 83, 73, 190, 190, 190, 64, 190, 190, 190, 64, - 83, 83, 83, 64, 166, 166, 166, 64, 190, 190, 190, 64, - 68, 68, 68, 64, 181, 181, 181, 64, 190, 190, 190, 64, - 127, 127, 127, 63, 3, 3, 3, 158, 0, 0, 0, 218, - 0, 0, 0, 215, 0, 0, 0, 231, 0, 0, 0, 248, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 210, 83, 83, 83, 73, - 190, 190, 190, 64, 190, 190, 190, 64, 83, 83, 83, 73, - 0, 0, 0, 139, 166, 166, 166, 64, 190, 190, 190, 64, - 23, 23, 23, 118, 44, 44, 44, 94, 180, 180, 180, 63, - 189, 189, 189, 59, 127, 127, 127, 54, 3, 3, 3, 139, - 0, 0, 0, 206, 0, 0, 0, 213, 0, 0, 0, 231, - 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 210, 83, 83, 83, 73, 190, 190, 190, 64, - 190, 190, 190, 64, 83, 83, 83, 73, 0, 0, 0, 210, - 0, 0, 0, 183, 166, 166, 166, 64, 190, 190, 190, 64, - 23, 23, 23, 135, 0, 0, 0, 233, 44, 44, 44, 87, - 181, 181, 181, 54, 189, 189, 189, 52, 127, 127, 127, 51, - 2, 2, 2, 137, 0, 0, 0, 205, 0, 0, 0, 213, - 0, 0, 0, 231, 0, 0, 0, 248, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 213, - 83, 83, 83, 73, 190, 190, 190, 64, 190, 190, 190, 64, - 83, 83, 83, 73, 0, 0, 0, 210, 0, 0, 0, 255, - 0, 0, 0, 183, 166, 166, 166, 64, 190, 190, 190, 64, - 24, 24, 24, 132, 0, 0, 0, 236, 0, 0, 0, 202, - 44, 44, 44, 76, 180, 180, 180, 51, 189, 189, 189, 51, - 127, 127, 127, 51, 3, 3, 3, 139, 0, 0, 0, 205, - 0, 0, 0, 213, 0, 0, 0, 231, 0, 0, 0, 248, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 189, - 127, 127, 127, 64, 190, 190, 190, 64, 83, 83, 83, 73, - 0, 0, 0, 210, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 183, 166, 166, 166, 64, 189, 189, 189, 63, - 23, 23, 23, 124, 0, 0, 0, 217, 0, 0, 0, 207, - 0, 0, 0, 191, 44, 44, 44, 76, 180, 180, 180, 51, - 160, 160, 160, 51, 14, 14, 14, 115, 0, 0, 0, 206, - 0, 0, 0, 206, 0, 0, 0, 213, 0, 0, 0, 231, - 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 2, 2, 2, 171, 56, 56, 56, 73, 0, 0, 0, 210, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 183, 165, 165, 165, 63, 189, 189, 189, 59, - 23, 23, 23, 114, 0, 0, 0, 207, 0, 0, 0, 206, - 0, 0, 0, 214, 0, 0, 0, 202, 41, 41, 41, 77, - 17, 17, 17, 102, 0, 0, 0, 212, 0, 0, 0, 216, - 0, 0, 0, 208, 0, 0, 0, 206, 0, 0, 0, 213, - 0, 0, 0, 231, 0, 0, 0, 248, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 181, 166, 166, 166, 59, 190, 190, 190, 54, - 23, 23, 23, 109, 0, 0, 0, 207, 0, 0, 0, 217, - 0, 0, 0, 233, 0, 0, 0, 229, 0, 0, 0, 209, - 0, 0, 0, 207, 0, 0, 0, 223, 0, 0, 0, 235, - 0, 0, 0, 221, 0, 0, 0, 208, 0, 0, 0, 206, - 0, 0, 0, 213, 0, 0, 0, 231, 0, 0, 0, 248, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 175, 165, 165, 165, 55, 189, 189, 189, 52, - 23, 23, 23, 110, 0, 0, 0, 217, 0, 0, 0, 236, - 0, 0, 0, 248, 0, 0, 0, 233, 0, 0, 0, 210, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 247, - 0, 0, 0, 240, 0, 0, 0, 221, 0, 0, 0, 208, - 0, 0, 0, 206, 0, 0, 0, 214, 0, 0, 0, 235, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 173, 166, 166, 166, 54, 189, 189, 189, 52, - 23, 23, 23, 117, 0, 0, 0, 236, 0, 0, 0, 250, - 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 249, - 0, 0, 0, 252, 0, 0, 0, 241, 0, 0, 0, 221, - 0, 0, 0, 209, 0, 0, 0, 212, 0, 0, 0, 232, - 0, 0, 0, 251, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 180, 166, 166, 166, 58, 189, 189, 189, 56, - 24, 24, 24, 127, 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 241, - 0, 0, 0, 226, 0, 0, 0, 229, 0, 0, 0, 245, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 183, 165, 165, 165, 63, 189, 189, 189, 62, - 23, 23, 23, 134, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 248, 0, 0, 0, 249, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 183, 166, 166, 166, 64, 190, 190, 190, 64, - 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 183, 166, 166, 166, 64, 190, 190, 190, 64, - 23, 23, 23, 136, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 228, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 204, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 210, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 233, 0, 0, 0, 210, - 0, 0, 0, 207, 0, 0, 0, 226, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 235, 0, 0, 0, 213, - 0, 0, 0, 211, 0, 0, 0, 229, 0, 0, 0, 250, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 245, 0, 0, 0, 233, - 0, 0, 0, 231, 0, 0, 0, 241, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 252, - 0, 0, 0, 252, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 207, - 0, 0, 0, 164, 0, 0, 0, 164, 0, 0, 0, 230, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136, - 185, 185, 185, 64, 161, 161, 161, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136, - 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136, - 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136, - 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252, - 0, 0, 0, 240, 0, 0, 0, 229, 0, 0, 0, 231, - 0, 0, 0, 244, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136, - 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250, - 0, 0, 0, 228, 0, 0, 0, 210, 0, 0, 0, 213, - 0, 0, 0, 235, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136, - 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250, - 0, 0, 0, 226, 0, 0, 0, 207, 0, 0, 0, 210, - 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136, - 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250, - 0, 0, 0, 226, 0, 0, 0, 207, 0, 0, 0, 210, - 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 13, 13, 13, 137, - 35, 35, 35, 104, 0, 0, 0, 241, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136, - 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250, - 0, 0, 0, 193, 47, 47, 47, 67, 1, 1, 1, 149, - 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 12, 12, 12, 148, 153, 153, 153, 64, - 177, 177, 177, 64, 37, 37, 37, 101, 0, 0, 0, 241, - 0, 0, 0, 255, 0, 0, 0, 255, 23, 23, 23, 136, - 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 213, - 73, 73, 73, 69, 187, 187, 187, 52, 117, 117, 117, 54, - 0, 0, 0, 180, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 5, 5, 5, 166, 136, 136, 136, 64, - 190, 190, 190, 64, 176, 176, 176, 64, 37, 37, 37, 101, - 0, 0, 0, 242, 0, 0, 0, 255, 23, 23, 23, 136, - 190, 190, 190, 64, 166, 166, 166, 64, 0, 0, 0, 183, - 0, 0, 0, 255, 0, 0, 0, 218, 72, 72, 72, 76, - 187, 187, 187, 57, 189, 189, 189, 52, 94, 94, 94, 58, - 0, 0, 0, 191, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 6, 6, 6, 159, - 137, 137, 137, 64, 190, 190, 190, 64, 176, 176, 176, 64, - 36, 36, 36, 101, 0, 0, 0, 242, 23, 23, 23, 135, - 189, 189, 189, 62, 165, 165, 165, 62, 0, 0, 0, 182, - 0, 0, 0, 218, 73, 73, 73, 77, 188, 188, 188, 63, - 189, 189, 189, 57, 95, 95, 95, 56, 0, 0, 0, 166, - 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 6, 6, 6, 159, 137, 137, 137, 64, 190, 190, 190, 64, - 176, 176, 176, 64, 36, 36, 36, 101, 23, 23, 23, 119, - 189, 189, 189, 57, 166, 166, 166, 56, 0, 0, 0, 140, - 71, 71, 71, 77, 188, 188, 188, 64, 189, 189, 189, 63, - 96, 96, 96, 61, 0, 0, 0, 162, 0, 0, 0, 210, - 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 6, 6, 6, 158, 138, 138, 138, 64, - 190, 190, 190, 64, 176, 176, 176, 63, 60, 60, 60, 58, - 190, 190, 190, 53, 166, 166, 166, 52, 71, 71, 71, 55, - 188, 188, 188, 60, 189, 189, 189, 63, 96, 96, 96, 68, - 0, 0, 0, 176, 0, 0, 0, 207, 0, 0, 0, 210, - 0, 0, 0, 233, 0, 0, 0, 252, 0, 0, 0, 250, - 0, 0, 0, 235, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 6, 6, 6, 157, - 138, 138, 138, 64, 189, 189, 189, 63, 182, 182, 182, 59, - 190, 190, 190, 54, 185, 185, 185, 51, 187, 187, 187, 52, - 189, 189, 189, 55, 97, 97, 97, 65, 0, 0, 0, 192, - 0, 0, 0, 226, 0, 0, 0, 207, 0, 0, 0, 210, - 0, 0, 0, 233, 0, 0, 0, 247, 0, 0, 0, 235, - 0, 0, 0, 216, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 6, 6, 6, 157, 138, 138, 138, 64, 189, 189, 189, 62, - 190, 190, 190, 58, 189, 189, 189, 54, 189, 189, 189, 51, - 97, 97, 97, 56, 0, 0, 0, 172, 0, 0, 0, 234, - 0, 0, 0, 223, 0, 0, 0, 207, 0, 0, 0, 209, - 0, 0, 0, 228, 0, 0, 0, 232, 0, 0, 0, 216, - 0, 0, 0, 206, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 6, 6, 6, 156, 139, 139, 139, 64, - 189, 189, 189, 62, 190, 190, 190, 58, 98, 98, 98, 58, - 0, 0, 0, 160, 0, 0, 0, 208, 0, 0, 0, 216, - 0, 0, 0, 214, 0, 0, 0, 206, 0, 0, 0, 207, - 0, 0, 0, 216, 0, 0, 0, 214, 0, 0, 0, 206, - 0, 0, 0, 207, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 7, 7, 7, 155, - 139, 139, 139, 64, 99, 99, 99, 67, 0, 0, 0, 180, - 0, 0, 0, 214, 0, 0, 0, 206, 0, 0, 0, 206, - 0, 0, 0, 206, 0, 0, 0, 204, 0, 0, 0, 205, - 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 207, - 0, 0, 0, 217, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 4, 4, 4, 172, 0, 0, 0, 200, 0, 0, 0, 248, - 0, 0, 0, 232, 0, 0, 0, 214, 0, 0, 0, 206, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 204, 0, 0, 0, 207, 0, 0, 0, 217, - 0, 0, 0, 237, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 2, 2, 2, 165, 5, 5, 5, 153, - 5, 5, 5, 153, 5, 5, 5, 153, 5, 5, 5, 153, - 5, 5, 5, 153, 5, 5, 5, 153, 5, 5, 5, 153, - 5, 5, 5, 153, 5, 5, 5, 153, 5, 5, 5, 153, - 5, 5, 5, 148, 5, 5, 5, 137, 6, 6, 6, 127, - 6, 6, 6, 123, 5, 5, 5, 122, 5, 5, 5, 122, - 1, 1, 1, 141, 0, 0, 0, 217, 0, 0, 0, 237, - 0, 0, 0, 251, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 6, 6, 6, 154, 161, 161, 161, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 62, 190, 190, 190, 58, - 189, 189, 189, 54, 189, 189, 189, 51, 189, 189, 189, 52, - 143, 143, 143, 54, 0, 0, 0, 167, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 8, 8, 8, 149, 169, 169, 169, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 189, 189, 189, 62, - 190, 190, 190, 58, 190, 190, 190, 54, 189, 189, 189, 55, - 153, 153, 153, 59, 0, 0, 0, 171, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 247, 7, 7, 7, 152, 19, 19, 19, 140, - 19, 19, 19, 140, 19, 19, 19, 140, 19, 19, 19, 140, - 19, 19, 19, 140, 19, 19, 19, 139, 19, 19, 19, 137, - 19, 19, 19, 136, 19, 19, 19, 136, 19, 19, 19, 136, - 19, 19, 19, 136, 19, 19, 19, 135, 19, 19, 19, 135, - 19, 19, 19, 133, 19, 19, 19, 129, 19, 19, 19, 130, - 4, 4, 4, 154, 0, 0, 0, 247, 0, 0, 0, 250, - 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 245, 0, 0, 0, 231, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 225, 0, 0, 0, 223, 0, 0, 0, 224, - 0, 0, 0, 225, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 251, 0, 0, 0, 232, 0, 0, 0, 212, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 231, - 0, 0, 0, 228, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 204, 92, 92, 92, 68, - 106, 106, 106, 65, 0, 0, 0, 188, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 224, 0, 0, 0, 213, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 212, 79, 79, 79, 77, 105, 105, 105, 68, - 1, 1, 1, 191, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 253, 0, 0, 0, 205, - 88, 88, 88, 73, 189, 189, 189, 64, 188, 188, 188, 64, - 45, 45, 45, 85, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 250, - 0, 0, 0, 239, 0, 0, 0, 184, 98, 98, 98, 68, - 189, 189, 189, 64, 187, 187, 187, 64, 68, 68, 68, 82, - 0, 0, 0, 220, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 253, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 238, - 1, 1, 1, 162, 108, 108, 108, 57, 190, 190, 190, 58, - 184, 184, 184, 63, 60, 60, 60, 86, 0, 0, 0, 226, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 250, 0, 0, 0, 239, - 0, 0, 0, 235, 0, 0, 0, 247, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 2, 2, 2, 166, - 117, 117, 117, 54, 189, 189, 189, 52, 181, 181, 181, 56, - 52, 52, 52, 90, 0, 0, 0, 231, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 249, 0, 0, 0, 234, 0, 0, 0, 216, - 0, 0, 0, 213, 0, 0, 0, 229, 0, 0, 0, 249, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 3, 3, 3, 170, 126, 126, 126, 59, - 190, 190, 190, 52, 178, 178, 178, 52, 44, 44, 44, 86, - 0, 0, 0, 231, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 249, - 0, 0, 0, 233, 0, 0, 0, 214, 0, 0, 0, 206, - 0, 0, 0, 208, 0, 0, 0, 225, 0, 0, 0, 247, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 6, 6, 6, 161, 135, 135, 135, 63, 190, 190, 190, 58, - 185, 185, 185, 52, 70, 70, 70, 52, 33, 33, 33, 104, - 33, 33, 33, 128, 33, 33, 33, 132, 33, 33, 33, 132, - 32, 32, 32, 131, 32, 32, 32, 129, 32, 32, 32, 121, - 32, 32, 32, 112, 33, 33, 33, 106, 32, 32, 32, 107, - 32, 32, 32, 112, 30, 30, 30, 123, 0, 0, 0, 209, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 178, - 140, 140, 140, 64, 190, 190, 190, 63, 190, 190, 190, 58, - 190, 190, 190, 52, 189, 189, 189, 52, 189, 189, 189, 56, - 189, 189, 189, 62, 190, 190, 190, 64, 190, 190, 190, 64, - 189, 189, 189, 62, 189, 189, 189, 58, 190, 190, 190, 53, - 189, 189, 189, 51, 189, 189, 189, 52, 189, 189, 189, 56, - 190, 190, 190, 60, 175, 175, 175, 63, 0, 0, 0, 174, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 224, - 64, 64, 64, 84, 186, 186, 186, 63, 190, 190, 190, 58, - 185, 185, 185, 52, 136, 136, 136, 52, 136, 136, 136, 56, - 135, 135, 135, 62, 135, 135, 135, 64, 135, 135, 135, 62, - 135, 135, 135, 58, 135, 135, 135, 53, 135, 135, 135, 51, - 135, 135, 135, 52, 135, 135, 135, 56, 135, 135, 135, 61, - 135, 135, 135, 63, 125, 125, 125, 64, 0, 0, 0, 175, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 229, 56, 56, 56, 88, 183, 183, 183, 58, - 190, 190, 190, 52, 112, 112, 112, 52, 1, 1, 1, 132, - 0, 0, 0, 212, 0, 0, 0, 211, 0, 0, 0, 195, - 0, 0, 0, 181, 0, 0, 0, 176, 0, 0, 0, 177, - 0, 0, 0, 186, 0, 0, 0, 201, 0, 0, 0, 209, - 0, 0, 0, 210, 0, 0, 0, 211, 0, 0, 0, 238, - 0, 0, 0, 246, 0, 0, 0, 246, 0, 0, 0, 246, - 0, 0, 0, 246, 0, 0, 0, 247, 0, 0, 0, 247, - 0, 0, 0, 251, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 232, 47, 47, 47, 87, - 180, 180, 180, 52, 189, 189, 189, 52, 122, 122, 122, 57, - 3, 3, 3, 166, 0, 0, 0, 227, 0, 0, 0, 211, - 0, 0, 0, 205, 0, 0, 0, 204, 0, 0, 0, 205, - 0, 0, 0, 211, 0, 0, 0, 217, 0, 0, 0, 219, - 0, 0, 0, 219, 0, 0, 0, 219, 0, 0, 0, 219, - 0, 0, 0, 219, 0, 0, 0, 219, 0, 0, 0, 219, - 0, 0, 0, 219, 0, 0, 0, 219, 0, 0, 0, 222, - 0, 0, 0, 237, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 218, - 40, 40, 40, 83, 176, 176, 176, 52, 189, 189, 189, 56, - 130, 130, 130, 59, 5, 5, 5, 139, 0, 0, 0, 205, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 205, 0, 0, 0, 206, 0, 0, 0, 206, - 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 206, - 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 206, - 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 209, - 0, 0, 0, 230, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232, - 0, 0, 0, 199, 34, 34, 34, 86, 172, 172, 172, 56, - 189, 189, 189, 60, 137, 137, 137, 57, 8, 8, 8, 127, - 0, 0, 0, 204, 0, 0, 0, 204, 0, 0, 0, 205, - 0, 0, 0, 210, 0, 0, 0, 215, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 217, - 0, 0, 0, 217, 0, 0, 0, 217, 0, 0, 0, 220, - 0, 0, 0, 236, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232, - 0, 0, 0, 209, 0, 0, 0, 199, 28, 28, 28, 99, - 168, 168, 168, 62, 190, 190, 190, 61, 145, 145, 145, 57, - 11, 11, 11, 120, 0, 0, 0, 205, 0, 0, 0, 206, - 0, 0, 0, 217, 0, 0, 0, 234, 0, 0, 0, 242, - 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 244, - 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 244, - 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 245, - 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 158, 190, 190, 190, 64, - 190, 190, 190, 64, 20, 20, 20, 139, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232, - 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, 0, 218, - 23, 23, 23, 118, 162, 162, 162, 64, 175, 175, 175, 62, - 35, 35, 35, 94, 0, 0, 0, 211, 0, 0, 0, 205, - 0, 0, 0, 209, 0, 0, 0, 224, 0, 0, 0, 243, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 1, 1, 1, 160, 181, 181, 181, 64, - 187, 187, 187, 64, 14, 14, 14, 141, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232, - 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, 0, 224, - 0, 0, 0, 245, 19, 19, 19, 133, 32, 32, 32, 113, - 0, 0, 0, 235, 0, 0, 0, 229, 0, 0, 0, 212, - 0, 0, 0, 206, 0, 0, 0, 209, 0, 0, 0, 224, - 0, 0, 0, 243, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 235, 36, 36, 36, 110, - 43, 43, 43, 103, 0, 0, 0, 225, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232, - 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, 0, 224, - 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 247, 0, 0, 0, 230, - 0, 0, 0, 212, 0, 0, 0, 206, 0, 0, 0, 209, - 0, 0, 0, 223, 0, 0, 0, 242, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 232, - 0, 0, 0, 209, 0, 0, 0, 206, 0, 0, 0, 224, - 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 248, - 0, 0, 0, 231, 0, 0, 0, 213, 0, 0, 0, 206, - 0, 0, 0, 209, 0, 0, 0, 226, 0, 0, 0, 248, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 233, - 0, 0, 0, 209, 0, 0, 0, 207, 0, 0, 0, 224, - 0, 0, 0, 249, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 248, 0, 0, 0, 232, 0, 0, 0, 214, - 0, 0, 0, 211, 0, 0, 0, 228, 0, 0, 0, 248, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 236, - 0, 0, 0, 214, 0, 0, 0, 210, 0, 0, 0, 229, - 0, 0, 0, 250, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 249, 0, 0, 0, 236, - 0, 0, 0, 233, 0, 0, 0, 245, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 247, - 0, 0, 0, 234, 0, 0, 0, 231, 0, 0, 0, 243, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 173, - 0, 0, 0, 182, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 191, 0, 0, 0, 215, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 5, 5, 5, 158, 155, 155, 155, 64, - 137, 137, 137, 64, 0, 0, 0, 181, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 2, 2, 2, 174, - 125, 125, 125, 64, 80, 80, 80, 74, 0, 0, 0, 212, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 57, 57, 57, 72, - 190, 190, 190, 64, 189, 189, 189, 64, 79, 79, 79, 74, - 0, 0, 0, 213, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 207, - 87, 87, 87, 72, 190, 190, 190, 64, 189, 189, 189, 64, - 79, 79, 79, 74, 0, 0, 0, 213, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 252, 0, 0, 0, 253, - 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 207, 87, 87, 87, 72, 190, 190, 190, 64, - 189, 189, 189, 64, 78, 78, 78, 75, 0, 0, 0, 213, - 0, 0, 0, 247, 0, 0, 0, 236, 0, 0, 0, 238, - 0, 0, 0, 250, 23, 23, 23, 135, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 160, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 206, 89, 89, 89, 71, - 190, 190, 190, 64, 189, 189, 189, 64, 78, 78, 78, 73, - 0, 0, 0, 193, 0, 0, 0, 214, 0, 0, 0, 216, - 0, 0, 0, 234, 23, 23, 23, 132, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 206, - 89, 89, 89, 71, 190, 190, 190, 64, 189, 189, 189, 62, - 77, 77, 77, 66, 0, 0, 0, 174, 0, 0, 0, 206, - 0, 0, 0, 215, 23, 23, 23, 123, 189, 189, 189, 63, - 190, 190, 190, 64, 0, 0, 0, 160, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 232, 0, 0, 0, 190, 0, 0, 0, 190, - 0, 0, 0, 190, 0, 0, 0, 190, 0, 0, 0, 190, - 0, 0, 0, 190, 0, 0, 0, 190, 0, 0, 0, 190, - 0, 0, 0, 190, 0, 0, 0, 190, 0, 0, 0, 190, - 0, 0, 0, 141, 90, 90, 90, 64, 190, 190, 190, 63, - 188, 188, 188, 60, 76, 76, 76, 64, 0, 0, 0, 174, - 0, 0, 0, 206, 23, 23, 23, 113, 189, 189, 189, 59, - 189, 189, 189, 63, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 160, 158, 158, 158, 64, 158, 158, 158, 64, - 158, 158, 158, 64, 158, 158, 158, 64, 158, 158, 158, 64, - 158, 158, 158, 64, 158, 158, 158, 64, 158, 158, 158, 64, - 158, 158, 158, 64, 158, 158, 158, 64, 158, 158, 158, 64, - 158, 158, 158, 64, 158, 158, 158, 64, 187, 187, 187, 64, - 189, 189, 189, 63, 188, 188, 188, 60, 76, 76, 76, 64, - 0, 0, 0, 176, 23, 23, 23, 109, 190, 190, 190, 54, - 189, 189, 189, 59, 0, 0, 0, 157, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 159, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 63, 132, 132, 132, 60, - 0, 0, 0, 158, 23, 23, 23, 110, 189, 189, 189, 52, - 190, 190, 190, 54, 0, 0, 0, 149, 0, 0, 0, 250, - 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 200, 32, 32, 32, 127, 32, 32, 32, 127, - 32, 32, 32, 127, 32, 32, 32, 127, 32, 32, 32, 127, - 32, 32, 32, 126, 32, 32, 32, 126, 32, 32, 32, 124, - 32, 32, 32, 124, 32, 32, 32, 124, 32, 32, 32, 124, - 32, 32, 32, 110, 71, 71, 71, 63, 187, 187, 187, 63, - 189, 189, 189, 63, 134, 134, 134, 63, 4, 4, 4, 157, - 0, 0, 0, 234, 23, 23, 23, 116, 189, 189, 189, 51, - 189, 189, 189, 52, 0, 0, 0, 136, 0, 0, 0, 235, - 0, 0, 0, 250, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 244, 0, 0, 0, 233, - 0, 0, 0, 231, 0, 0, 0, 231, 0, 0, 0, 219, - 38, 38, 38, 92, 176, 176, 176, 58, 190, 190, 190, 58, - 134, 134, 134, 58, 5, 5, 5, 145, 0, 0, 0, 231, - 0, 0, 0, 227, 23, 23, 23, 116, 189, 189, 189, 52, - 189, 189, 189, 51, 0, 0, 0, 129, 0, 0, 0, 216, - 0, 0, 0, 234, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 232, 0, 0, 0, 212, - 0, 0, 0, 209, 0, 0, 0, 197, 37, 37, 37, 82, - 177, 177, 177, 52, 190, 190, 190, 52, 135, 135, 135, 52, - 5, 5, 5, 131, 0, 0, 0, 209, 0, 0, 0, 209, - 0, 0, 0, 208, 23, 23, 23, 110, 189, 189, 189, 51, - 189, 189, 189, 51, 0, 0, 0, 128, 0, 0, 0, 206, - 0, 0, 0, 217, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 232, 0, 0, 0, 211, - 0, 0, 0, 196, 37, 37, 37, 81, 176, 176, 176, 52, - 189, 189, 189, 52, 135, 135, 135, 52, 5, 5, 5, 131, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 207, 23, 23, 23, 110, 189, 189, 189, 51, - 189, 189, 189, 51, 0, 0, 0, 128, 0, 0, 0, 206, - 0, 0, 0, 216, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 242, 0, 0, 0, 218, - 36, 36, 36, 89, 177, 177, 177, 57, 190, 190, 190, 57, - 136, 136, 136, 57, 5, 5, 5, 145, 0, 0, 0, 228, - 0, 0, 0, 228, 0, 0, 0, 228, 0, 0, 0, 228, - 0, 0, 0, 225, 24, 24, 24, 115, 189, 189, 189, 52, - 189, 189, 189, 51, 0, 0, 0, 129, 0, 0, 0, 214, - 0, 0, 0, 232, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 35, 35, 35, 99, - 176, 176, 176, 63, 189, 189, 189, 63, 136, 136, 136, 63, - 6, 6, 6, 157, 0, 0, 0, 250, 0, 0, 0, 250, - 0, 0, 0, 250, 0, 0, 0, 250, 0, 0, 0, 247, - 0, 0, 0, 235, 23, 23, 23, 116, 189, 189, 189, 51, - 189, 189, 189, 51, 0, 0, 0, 135, 0, 0, 0, 232, - 0, 0, 0, 248, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 24, 24, 24, 117, - 167, 167, 167, 64, 137, 137, 137, 64, 6, 6, 6, 159, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 239, - 0, 0, 0, 220, 23, 23, 23, 111, 189, 189, 189, 51, - 189, 189, 189, 54, 0, 0, 0, 147, 0, 0, 0, 249, - 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 249, - 21, 21, 21, 128, 6, 6, 6, 161, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 240, 0, 0, 0, 220, - 0, 0, 0, 208, 10, 10, 10, 116, 176, 176, 176, 54, - 163, 163, 163, 58, 0, 0, 0, 165, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 240, 0, 0, 0, 220, 0, 0, 0, 208, - 0, 0, 0, 206, 0, 0, 0, 202, 17, 17, 17, 123, - 13, 13, 13, 140, 0, 0, 0, 248, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 248, - 0, 0, 0, 226, 0, 0, 0, 208, 0, 0, 0, 206, - 0, 0, 0, 214, 0, 0, 0, 232, 0, 0, 0, 248, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 249, - 0, 0, 0, 229, 0, 0, 0, 212, 0, 0, 0, 214, - 0, 0, 0, 232, 0, 0, 0, 248, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 246, 0, 0, 0, 233, 0, 0, 0, 236, - 0, 0, 0, 249, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 251, 0, 0, 0, 252, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 180, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 159, 0, 0, 0, 159, - 0, 0, 0, 159, 0, 0, 0, 168, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 177, 142, 142, 142, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 160, 160, 160, 64, 0, 0, 0, 168, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 172, 172, 172, 64, 0, 0, 0, 162, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 44, 44, 44, 91, 23, 23, 23, 136, - 23, 23, 23, 136, 23, 23, 23, 136, 23, 23, 23, 135, - 23, 23, 23, 134, 23, 23, 23, 133, 23, 23, 23, 133, - 23, 23, 23, 133, 23, 23, 23, 133, 23, 23, 23, 133, - 23, 23, 23, 133, 23, 23, 23, 133, 23, 23, 23, 133, - 23, 23, 23, 133, 12, 12, 12, 141, 0, 0, 0, 242, - 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 251, 0, 0, 0, 252, 0, 0, 0, 252, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 248, - 0, 0, 0, 236, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 234, - 0, 0, 0, 247, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 216, 0, 0, 0, 158, 0, 0, 0, 148, - 0, 0, 0, 135, 0, 0, 0, 131, 0, 0, 0, 131, - 0, 0, 0, 131, 0, 0, 0, 131, 0, 0, 0, 131, - 0, 0, 0, 131, 0, 0, 0, 131, 0, 0, 0, 131, - 0, 0, 0, 131, 0, 0, 0, 177, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 214, - 0, 0, 0, 235, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 189, 189, 189, 58, - 190, 190, 190, 52, 189, 189, 189, 51, 189, 189, 189, 51, - 189, 189, 189, 52, 189, 189, 189, 52, 189, 189, 189, 52, - 189, 189, 189, 52, 189, 189, 189, 52, 189, 189, 189, 52, - 189, 189, 189, 52, 0, 0, 0, 129, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 212, - 0, 0, 0, 234, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 189, 189, 189, 52, 189, 189, 189, 51, 189, 189, 189, 54, - 189, 189, 189, 56, 189, 189, 189, 57, 189, 189, 189, 57, - 189, 189, 189, 57, 189, 189, 189, 57, 189, 189, 189, 57, - 189, 189, 189, 57, 0, 0, 0, 141, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 231, - 0, 0, 0, 245, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 189, 189, 189, 52, 171, 171, 171, 52, 29, 29, 29, 59, - 0, 0, 0, 146, 0, 0, 0, 156, 0, 0, 0, 154, - 0, 0, 0, 154, 0, 0, 0, 154, 0, 0, 0, 154, - 0, 0, 0, 154, 0, 0, 0, 209, 0, 0, 0, 246, - 0, 0, 0, 246, 0, 0, 0, 246, 0, 0, 0, 246, - 0, 0, 0, 246, 0, 0, 0, 246, 0, 0, 0, 249, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 172, 172, 172, 52, 189, 189, 189, 52, 171, 171, 171, 57, - 29, 29, 29, 106, 0, 0, 0, 234, 0, 0, 0, 232, - 0, 0, 0, 230, 0, 0, 0, 229, 0, 0, 0, 229, - 0, 0, 0, 229, 0, 0, 0, 229, 0, 0, 0, 229, - 0, 0, 0, 229, 0, 0, 0, 229, 0, 0, 0, 229, - 0, 0, 0, 230, 0, 0, 0, 232, 0, 0, 0, 243, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 29, 29, 29, 55, 171, 171, 171, 52, 189, 189, 189, 57, - 171, 171, 171, 62, 29, 29, 29, 98, 0, 0, 0, 204, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 212, 0, 0, 0, 232, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 0, 0, 0, 122, 29, 29, 29, 88, 171, 171, 171, 57, - 189, 189, 189, 62, 172, 172, 172, 57, 30, 30, 30, 88, - 0, 0, 0, 197, 0, 0, 0, 204, 0, 0, 0, 204, - 0, 0, 0, 205, 0, 0, 0, 207, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 212, 0, 0, 0, 232, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 0, 0, 0, 129, 0, 0, 0, 200, 29, 29, 29, 95, - 171, 171, 171, 62, 190, 190, 190, 57, 172, 172, 172, 52, - 29, 29, 29, 87, 0, 0, 0, 197, 0, 0, 0, 204, - 0, 0, 0, 208, 0, 0, 0, 219, 0, 0, 0, 228, - 0, 0, 0, 230, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 230, 0, 0, 0, 232, 0, 0, 0, 243, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 218, - 29, 29, 29, 105, 172, 172, 172, 57, 189, 189, 189, 52, - 172, 172, 172, 51, 29, 29, 29, 87, 0, 0, 0, 197, - 0, 0, 0, 207, 0, 0, 0, 220, 0, 0, 0, 239, - 0, 0, 0, 249, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 251, 0, 0, 0, 252, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 237, 29, 29, 29, 99, 172, 172, 172, 52, - 189, 189, 189, 51, 172, 172, 172, 52, 29, 29, 29, 88, - 0, 0, 0, 198, 0, 0, 0, 209, 0, 0, 0, 223, - 0, 0, 0, 243, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 246, 0, 0, 0, 222, 29, 29, 29, 89, - 172, 172, 172, 52, 189, 189, 189, 55, 171, 171, 171, 55, - 30, 30, 30, 88, 0, 0, 0, 198, 0, 0, 0, 209, - 0, 0, 0, 223, 0, 0, 0, 243, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 246, 0, 0, 0, 229, 0, 0, 0, 201, - 30, 30, 30, 88, 171, 171, 171, 57, 189, 189, 189, 60, - 163, 163, 163, 56, 3, 3, 3, 120, 0, 0, 0, 205, - 0, 0, 0, 209, 0, 0, 0, 223, 0, 0, 0, 243, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 23, 23, 23, 136, 0, 0, 0, 255, - 0, 0, 0, 159, 189, 189, 189, 63, 190, 190, 190, 57, - 0, 0, 0, 129, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 246, 0, 0, 0, 229, 0, 0, 0, 208, - 0, 0, 0, 201, 29, 29, 29, 96, 163, 163, 163, 62, - 44, 44, 44, 89, 0, 0, 0, 208, 0, 0, 0, 209, - 0, 0, 0, 205, 0, 0, 0, 209, 0, 0, 0, 223, - 0, 0, 0, 243, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 162, 172, 172, 172, 64, - 181, 181, 181, 64, 14, 14, 14, 139, 0, 0, 0, 255, - 0, 0, 0, 216, 0, 0, 0, 157, 0, 0, 0, 144, - 0, 0, 0, 176, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 246, 0, 0, 0, 229, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 221, 3, 3, 3, 145, - 0, 0, 0, 235, 0, 0, 0, 243, 0, 0, 0, 223, - 0, 0, 0, 209, 0, 0, 0, 205, 0, 0, 0, 209, - 0, 0, 0, 223, 0, 0, 0, 243, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 246, 12, 12, 12, 145, - 14, 14, 14, 139, 0, 0, 0, 237, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230, - 0, 0, 0, 208, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 246, 0, 0, 0, 229, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 230, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 243, - 0, 0, 0, 223, 0, 0, 0, 209, 0, 0, 0, 205, - 0, 0, 0, 209, 0, 0, 0, 224, 0, 0, 0, 244, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230, - 0, 0, 0, 208, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 246, 0, 0, 0, 230, 0, 0, 0, 208, - 0, 0, 0, 208, 0, 0, 0, 230, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 243, 0, 0, 0, 223, 0, 0, 0, 209, - 0, 0, 0, 205, 0, 0, 0, 213, 0, 0, 0, 235, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 230, - 0, 0, 0, 208, 0, 0, 0, 207, 0, 0, 0, 226, - 0, 0, 0, 246, 0, 0, 0, 232, 0, 0, 0, 212, - 0, 0, 0, 212, 0, 0, 0, 232, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 243, 0, 0, 0, 224, - 0, 0, 0, 213, 0, 0, 0, 222, 0, 0, 0, 242, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 233, - 0, 0, 0, 212, 0, 0, 0, 211, 0, 0, 0, 230, - 0, 0, 0, 249, 0, 0, 0, 243, 0, 0, 0, 232, - 0, 0, 0, 232, 0, 0, 0, 243, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 244, - 0, 0, 0, 235, 0, 0, 0, 242, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245, - 0, 0, 0, 232, 0, 0, 0, 230, 0, 0, 0, 243, - 0, 0, 0, 253, 0, 0, 0, 253, 0, 0, 0, 252, - 0, 0, 0, 252, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 252, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 251, 0, 0, 0, 251, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 242, 2, 2, 2, 158, 3, 3, 3, 156, - 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156, - 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156, - 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156, - 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156, - 3, 3, 3, 156, 3, 3, 3, 156, 3, 3, 3, 156, - 1, 1, 1, 183, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 16, 16, 16, 137, 176, 176, 176, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 128, 128, 128, 64, 0, 0, 0, 197, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 18, 18, 18, 134, 180, 180, 180, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 172, 172, 172, 64, 0, 0, 0, 178, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 237, 11, 11, 11, 145, 17, 17, 17, 143, - 17, 17, 17, 143, 17, 17, 17, 143, 17, 17, 17, 143, - 17, 17, 17, 143, 17, 17, 17, 143, 17, 17, 17, 142, - 16, 16, 16, 142, 16, 16, 16, 141, 16, 16, 16, 141, - 16, 16, 16, 141, 16, 16, 16, 141, 16, 16, 16, 141, - 16, 16, 16, 141, 53, 53, 53, 86, 189, 189, 189, 64, - 172, 172, 172, 64, 0, 0, 0, 176, 0, 0, 0, 253, - 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 249, 0, 0, 0, 239, - 0, 0, 0, 236, 0, 0, 0, 236, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235, - 0, 0, 0, 235, 40, 40, 40, 110, 189, 189, 189, 59, - 172, 172, 172, 59, 0, 0, 0, 164, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 207, 10, 10, 10, 150, - 10, 10, 10, 150, 10, 10, 10, 150, 10, 10, 10, 150, - 10, 10, 10, 148, 10, 10, 10, 139, 10, 10, 10, 128, - 10, 10, 10, 125, 10, 10, 10, 125, 10, 10, 10, 125, - 10, 10, 10, 125, 9, 9, 9, 125, 0, 0, 0, 182, - 0, 0, 0, 211, 40, 40, 40, 99, 189, 189, 189, 53, - 172, 172, 172, 53, 0, 0, 0, 147, 0, 0, 0, 211, - 0, 0, 0, 211, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 7, 7, 7, 152, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 189, 189, 189, 63, 190, 190, 190, 58, 189, 189, 189, 53, - 189, 189, 189, 52, 189, 189, 189, 51, 189, 189, 189, 51, - 189, 189, 189, 51, 175, 175, 175, 51, 0, 0, 0, 141, - 0, 0, 0, 206, 40, 40, 40, 96, 189, 189, 189, 51, - 172, 172, 172, 51, 0, 0, 0, 143, 0, 0, 0, 206, - 0, 0, 0, 206, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 6, 6, 6, 152, 176, 176, 176, 64, - 176, 176, 176, 64, 176, 176, 176, 64, 176, 176, 176, 64, - 176, 176, 176, 64, 176, 176, 176, 61, 176, 176, 176, 57, - 177, 177, 177, 55, 185, 185, 185, 55, 189, 189, 189, 55, - 189, 189, 189, 55, 175, 175, 175, 55, 0, 0, 0, 151, - 0, 0, 0, 221, 40, 40, 40, 103, 189, 189, 189, 55, - 172, 172, 172, 55, 0, 0, 0, 154, 0, 0, 0, 221, - 0, 0, 0, 221, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 220, 0, 0, 0, 173, - 0, 0, 0, 173, 0, 0, 0, 173, 0, 0, 0, 173, - 0, 0, 0, 173, 0, 0, 0, 172, 0, 0, 0, 150, - 46, 46, 46, 63, 181, 181, 181, 61, 190, 190, 190, 61, - 190, 190, 190, 61, 175, 175, 175, 61, 0, 0, 0, 167, - 0, 0, 0, 245, 39, 39, 39, 115, 190, 190, 190, 61, - 172, 172, 172, 61, 0, 0, 0, 170, 0, 0, 0, 245, - 0, 0, 0, 246, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 234, 47, 47, 47, 91, - 181, 181, 181, 59, 189, 189, 189, 59, 163, 163, 163, 59, - 189, 189, 189, 59, 175, 175, 175, 59, 0, 0, 0, 160, - 0, 0, 0, 234, 40, 40, 40, 110, 189, 189, 189, 59, - 172, 172, 172, 59, 0, 0, 0, 163, 0, 0, 0, 236, - 0, 0, 0, 245, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 235, 47, 47, 47, 92, 180, 180, 180, 59, - 190, 190, 190, 54, 156, 156, 156, 53, 30, 30, 30, 58, - 189, 189, 189, 53, 175, 175, 175, 53, 0, 0, 0, 144, - 0, 0, 0, 210, 39, 39, 39, 98, 189, 189, 189, 53, - 172, 172, 172, 53, 0, 0, 0, 146, 0, 0, 0, 214, - 0, 0, 0, 232, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 235, - 48, 48, 48, 92, 182, 182, 182, 63, 190, 190, 190, 58, - 156, 156, 156, 53, 16, 16, 16, 108, 13, 13, 13, 117, - 189, 189, 189, 52, 174, 174, 174, 52, 0, 0, 0, 141, - 0, 0, 0, 206, 39, 39, 39, 96, 189, 189, 189, 51, - 172, 172, 172, 51, 0, 0, 0, 142, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 234, 49, 49, 49, 92, - 182, 182, 182, 64, 189, 189, 189, 64, 155, 155, 155, 61, - 15, 15, 15, 121, 0, 0, 0, 224, 13, 13, 13, 129, - 190, 190, 190, 56, 175, 175, 175, 56, 0, 0, 0, 153, - 0, 0, 0, 217, 39, 39, 39, 98, 189, 189, 189, 51, - 172, 172, 172, 51, 0, 0, 0, 142, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 234, 49, 49, 49, 92, 182, 182, 182, 64, - 190, 190, 190, 64, 155, 155, 155, 64, 15, 15, 15, 133, - 0, 0, 0, 248, 0, 0, 0, 250, 13, 13, 13, 143, - 190, 190, 190, 62, 175, 175, 175, 62, 0, 0, 0, 163, - 0, 0, 0, 222, 39, 39, 39, 98, 189, 189, 189, 51, - 172, 172, 172, 51, 0, 0, 0, 142, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 234, - 49, 49, 49, 91, 182, 182, 182, 64, 190, 190, 190, 64, - 155, 155, 155, 64, 15, 15, 15, 135, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 13, 13, 13, 146, - 189, 189, 189, 64, 175, 175, 175, 61, 0, 0, 0, 153, - 0, 0, 0, 210, 39, 39, 39, 96, 189, 189, 189, 52, - 172, 172, 172, 52, 0, 0, 0, 142, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 234, 49, 49, 49, 91, - 182, 182, 182, 64, 190, 190, 190, 64, 154, 154, 154, 64, - 14, 14, 14, 135, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 13, 13, 13, 146, - 189, 189, 189, 62, 174, 174, 174, 57, 0, 0, 0, 143, - 0, 0, 0, 205, 40, 40, 40, 97, 190, 190, 190, 54, - 172, 172, 172, 54, 0, 0, 0, 143, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 5, 5, 5, 141, 167, 167, 167, 64, - 190, 190, 190, 64, 154, 154, 154, 64, 14, 14, 14, 136, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 13, 13, 13, 142, - 189, 189, 189, 57, 175, 175, 175, 53, 0, 0, 0, 140, - 0, 0, 0, 208, 40, 40, 40, 102, 189, 189, 189, 59, - 172, 172, 172, 57, 0, 0, 0, 144, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 244, 33, 33, 33, 106, - 138, 138, 138, 64, 13, 13, 13, 136, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 245, 11, 11, 11, 132, - 163, 163, 163, 53, 151, 151, 151, 51, 0, 0, 0, 143, - 0, 0, 0, 220, 39, 39, 39, 111, 189, 189, 189, 62, - 172, 172, 172, 58, 0, 0, 0, 144, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 244, - 0, 0, 0, 177, 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 245, 0, 0, 0, 227, 0, 0, 0, 186, - 0, 0, 0, 150, 0, 0, 0, 152, 0, 0, 0, 204, - 0, 0, 0, 240, 16, 16, 16, 137, 150, 150, 150, 63, - 117, 117, 117, 58, 0, 0, 0, 160, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 246, - 0, 0, 0, 227, 0, 0, 0, 211, 0, 0, 0, 205, - 0, 0, 0, 208, 0, 0, 0, 221, 0, 0, 0, 240, - 0, 0, 0, 252, 0, 0, 0, 249, 0, 0, 0, 186, - 0, 0, 0, 183, 0, 0, 0, 208, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 237, - 0, 0, 0, 214, 0, 0, 0, 206, 0, 0, 0, 208, - 0, 0, 0, 221, 0, 0, 0, 240, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252, - 0, 0, 0, 231, 0, 0, 0, 209, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 243, - 0, 0, 0, 222, 0, 0, 0, 211, 0, 0, 0, 221, - 0, 0, 0, 240, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252, - 0, 0, 0, 232, 0, 0, 0, 211, 0, 0, 0, 211, - 0, 0, 0, 231, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 252, - 0, 0, 0, 242, 0, 0, 0, 233, 0, 0, 0, 242, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 242, 0, 0, 0, 230, 0, 0, 0, 230, - 0, 0, 0, 242, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 251, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 251, 0, 0, 0, 251, - 0, 0, 0, 253, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 213, - 0, 0, 0, 218, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 210, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 245, - 0, 0, 0, 221, 0, 0, 0, 221, 0, 0, 0, 245, - 0, 0, 0, 255, 7, 7, 7, 164, 128, 128, 128, 64, - 117, 117, 117, 64, 0, 0, 0, 188, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 16, 16, 16, 133, - 111, 111, 111, 64, 8, 8, 8, 154, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 161, - 134, 134, 134, 64, 134, 134, 134, 64, 0, 0, 0, 161, - 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 2, 2, 2, 154, 156, 156, 156, 64, - 190, 190, 190, 64, 148, 148, 148, 64, 12, 12, 12, 143, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 159, - 190, 190, 190, 64, 190, 190, 190, 64, 0, 0, 0, 159, - 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 233, 50, 50, 50, 92, - 182, 182, 182, 64, 190, 190, 190, 64, 155, 155, 155, 64, - 16, 16, 16, 133, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 254, 0, 0, 0, 159, - 190, 190, 190, 64, 190, 190, 190, 64, 0, 0, 0, 159, - 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 64, - 190, 190, 190, 64, 0, 0, 0, 159, 0, 0, 0, 254, - 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 238, - 42, 42, 42, 99, 177, 177, 177, 64, 190, 190, 190, 64, - 161, 161, 161, 64, 22, 22, 22, 123, 0, 0, 0, 248, - 0, 0, 0, 246, 0, 0, 0, 240, 0, 0, 0, 154, - 189, 189, 189, 64, 190, 190, 190, 64, 0, 0, 0, 159, - 0, 0, 0, 255, 23, 23, 23, 136, 189, 189, 189, 64, - 189, 189, 189, 62, 0, 0, 0, 148, 0, 0, 0, 238, - 0, 0, 0, 246, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 242, 34, 34, 34, 106, 173, 173, 173, 64, - 190, 190, 190, 64, 167, 167, 167, 64, 27, 27, 27, 110, - 0, 0, 0, 218, 0, 0, 0, 215, 0, 0, 0, 140, - 190, 190, 190, 61, 189, 189, 189, 64, 0, 0, 0, 159, - 0, 0, 0, 255, 23, 23, 23, 136, 190, 190, 190, 63, - 190, 190, 190, 58, 0, 0, 0, 133, 0, 0, 0, 214, - 0, 0, 0, 233, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 247, 27, 27, 27, 115, - 167, 167, 167, 64, 190, 190, 190, 63, 173, 173, 173, 59, - 34, 34, 34, 88, 0, 0, 0, 195, 0, 0, 0, 130, - 190, 190, 190, 56, 190, 190, 190, 61, 0, 0, 0, 159, - 0, 0, 0, 255, 23, 23, 23, 136, 189, 189, 189, 63, - 190, 190, 190, 57, 0, 0, 0, 129, 0, 0, 0, 208, - 0, 0, 0, 230, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 249, - 22, 22, 22, 123, 161, 161, 161, 64, 190, 190, 190, 61, - 177, 177, 177, 56, 42, 42, 42, 81, 0, 0, 0, 115, - 190, 190, 190, 52, 189, 189, 189, 56, 0, 0, 0, 154, - 0, 0, 0, 253, 23, 23, 23, 136, 189, 189, 189, 63, - 190, 190, 190, 57, 0, 0, 0, 129, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 16, 16, 16, 133, 155, 155, 155, 63, - 190, 190, 190, 61, 181, 181, 181, 56, 50, 50, 50, 52, - 189, 189, 189, 51, 190, 190, 190, 52, 0, 0, 0, 141, - 0, 0, 0, 242, 23, 23, 23, 134, 189, 189, 189, 63, - 190, 190, 190, 57, 0, 0, 0, 129, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 12, 12, 12, 143, - 147, 147, 147, 64, 190, 190, 190, 61, 185, 185, 185, 56, - 189, 189, 189, 53, 189, 189, 189, 51, 0, 0, 0, 131, - 0, 0, 0, 222, 23, 23, 23, 127, 189, 189, 189, 62, - 190, 190, 190, 57, 0, 0, 0, 129, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 190, 55, 55, 55, 109, - 55, 55, 55, 109, 55, 55, 55, 109, 55, 55, 55, 109, - 55, 55, 55, 109, 55, 55, 55, 109, 55, 55, 55, 109, - 64, 64, 64, 67, 173, 173, 173, 64, 190, 190, 190, 61, - 189, 189, 189, 57, 189, 189, 189, 53, 0, 0, 0, 128, - 0, 0, 0, 208, 23, 23, 23, 116, 189, 189, 189, 59, - 189, 189, 189, 57, 0, 0, 0, 129, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 159, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 189, 189, 189, 64, - 189, 189, 189, 62, 190, 190, 190, 57, 0, 0, 0, 131, - 0, 0, 0, 205, 23, 23, 23, 110, 190, 190, 190, 54, - 190, 190, 190, 54, 0, 0, 0, 129, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 165, 111, 111, 111, 64, - 111, 111, 111, 64, 111, 111, 111, 64, 111, 111, 111, 64, - 111, 111, 111, 64, 111, 111, 111, 64, 111, 111, 111, 64, - 111, 111, 111, 64, 111, 111, 111, 64, 111, 111, 111, 64, - 111, 111, 111, 64, 111, 111, 111, 62, 0, 0, 0, 146, - 0, 0, 0, 212, 23, 23, 23, 109, 189, 189, 189, 51, - 189, 189, 189, 52, 0, 0, 0, 128, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 244, - 0, 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, 244, - 0, 0, 0, 244, 0, 0, 0, 243, 0, 0, 0, 240, - 0, 0, 0, 236, 0, 0, 0, 235, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 234, 0, 0, 0, 236, - 0, 0, 0, 222, 23, 23, 23, 111, 189, 189, 189, 51, - 189, 189, 189, 51, 0, 0, 0, 127, 0, 0, 0, 208, - 0, 0, 0, 229, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 228, 0, 0, 0, 221, - 0, 0, 0, 221, 0, 0, 0, 221, 0, 0, 0, 221, - 0, 0, 0, 221, 0, 0, 0, 219, 0, 0, 0, 207, - 0, 0, 0, 194, 0, 0, 0, 191, 0, 0, 0, 191, - 0, 0, 0, 191, 0, 0, 0, 191, 0, 0, 0, 190, - 0, 0, 0, 186, 23, 23, 23, 100, 189, 189, 189, 51, - 189, 189, 189, 51, 0, 0, 0, 128, 0, 0, 0, 208, - 0, 0, 0, 230, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 193, 106, 106, 106, 65, 134, 134, 134, 64, - 134, 134, 134, 64, 134, 134, 134, 64, 134, 134, 134, 64, - 134, 134, 134, 64, 134, 134, 134, 63, 133, 133, 133, 58, - 133, 133, 133, 53, 133, 133, 133, 52, 133, 133, 133, 52, - 133, 133, 133, 52, 133, 133, 133, 52, 133, 133, 133, 52, - 133, 133, 133, 51, 141, 141, 141, 51, 189, 189, 189, 51, - 189, 189, 189, 51, 0, 0, 0, 128, 0, 0, 0, 209, - 0, 0, 0, 230, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 159, 184, 184, 184, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 190, 190, 190, 63, 189, 189, 189, 59, - 189, 189, 189, 55, 190, 190, 190, 54, 190, 190, 190, 54, - 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54, - 190, 190, 190, 54, 190, 190, 190, 54, 190, 190, 190, 54, - 177, 177, 177, 54, 0, 0, 0, 137, 0, 0, 0, 220, - 0, 0, 0, 237, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 233, 33, 33, 33, 117, 55, 55, 55, 109, - 55, 55, 55, 109, 55, 55, 55, 109, 55, 55, 55, 109, - 55, 55, 55, 109, 55, 55, 55, 109, 55, 55, 55, 107, - 55, 55, 55, 105, 55, 55, 55, 105, 55, 55, 55, 105, - 55, 55, 55, 105, 55, 55, 55, 105, 55, 55, 55, 105, - 55, 55, 55, 105, 55, 55, 55, 105, 55, 55, 55, 105, - 23, 23, 23, 124, 0, 0, 0, 232, 0, 0, 0, 244, - 0, 0, 0, 249, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 249, 0, 0, 0, 240, - 0, 0, 0, 236, 0, 0, 0, 235, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 236, - 0, 0, 0, 235, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 236, 0, 0, 0, 216, - 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210, - 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210, - 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210, - 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210, - 0, 0, 0, 210, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 252, 0, 0, 0, 233, 0, 0, 0, 212, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 254, 0, 0, 0, 245, 0, 0, 0, 230, - 0, 0, 0, 226, 0, 0, 0, 225, 0, 0, 0, 225, - 0, 0, 0, 225, 0, 0, 0, 225, 0, 0, 0, 225, - 0, 0, 0, 225, 0, 0, 0, 225, 0, 0, 0, 225, - 0, 0, 0, 225, 0, 0, 0, 225, 0, 0, 0, 225, - 0, 0, 0, 225, - },{ - 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 243, - 0, 0, 0, 241, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 203, 87, 87, 87, 69, - 100, 100, 100, 65, 4, 4, 4, 179, 0, 0, 0, 255, - 0, 0, 0, 249, 0, 0, 0, 228, 0, 0, 0, 228, - 0, 0, 0, 247, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 219, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 166, 123, 123, 123, 64, 126, 126, 126, 64, - 3, 3, 3, 155, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 4, 4, 4, 171, 101, 101, 101, 65, - 19, 19, 19, 130, 0, 0, 0, 251, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 185, 185, 185, 64, 190, 190, 190, 64, - 6, 6, 6, 152, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 7, 7, 7, 160, 134, 134, 134, 64, 190, 190, 190, 64, - 161, 161, 161, 64, 7, 7, 7, 144, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 185, 185, 185, 64, 189, 189, 189, 62, - 6, 6, 6, 143, 0, 0, 0, 239, 0, 0, 0, 249, - 0, 0, 0, 254, 0, 0, 0, 253, 10, 10, 10, 149, - 142, 142, 142, 64, 190, 190, 190, 64, 186, 186, 186, 64, - 66, 66, 66, 82, 0, 0, 0, 221, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 254, - 0, 0, 0, 253, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 185, 185, 185, 63, 189, 189, 189, 59, - 5, 5, 5, 128, 0, 0, 0, 215, 0, 0, 0, 235, - 0, 0, 0, 248, 14, 14, 14, 135, 150, 150, 150, 59, - 189, 189, 189, 59, 183, 183, 183, 62, 57, 57, 57, 87, - 0, 0, 0, 227, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 253, 0, 0, 0, 246, - 0, 0, 0, 238, 0, 0, 0, 245, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 185, 185, 185, 63, 189, 189, 189, 57, - 6, 6, 6, 124, 0, 0, 0, 208, 0, 0, 0, 225, - 19, 19, 19, 125, 156, 156, 156, 58, 190, 190, 190, 53, - 179, 179, 179, 54, 48, 48, 48, 87, 0, 0, 0, 231, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 253, 0, 0, 0, 243, 0, 0, 0, 225, - 0, 0, 0, 214, 0, 0, 0, 224, 0, 0, 0, 244, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57, - 6, 6, 6, 124, 0, 0, 0, 202, 24, 24, 24, 106, - 163, 163, 163, 62, 189, 189, 189, 57, 176, 176, 176, 52, - 40, 40, 40, 83, 0, 0, 0, 217, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 253, - 0, 0, 0, 242, 0, 0, 0, 223, 0, 0, 0, 209, - 0, 0, 0, 206, 0, 0, 0, 213, 0, 0, 0, 236, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57, - 6, 6, 6, 115, 30, 30, 30, 90, 169, 169, 169, 57, - 189, 189, 189, 62, 171, 171, 171, 57, 33, 33, 33, 87, - 0, 0, 0, 199, 0, 0, 0, 232, 0, 0, 0, 252, - 0, 0, 0, 255, 0, 0, 0, 252, 0, 0, 0, 241, - 0, 0, 0, 222, 0, 0, 0, 208, 0, 0, 0, 205, - 0, 0, 0, 210, 0, 0, 0, 225, 0, 0, 0, 245, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57, - 43, 43, 43, 53, 173, 173, 173, 52, 190, 190, 190, 57, - 166, 166, 166, 62, 27, 27, 27, 102, 0, 0, 0, 200, - 0, 0, 0, 209, 0, 0, 0, 232, 0, 0, 0, 252, - 0, 0, 0, 252, 0, 0, 0, 240, 0, 0, 0, 221, - 0, 0, 0, 208, 0, 0, 0, 205, 0, 0, 0, 210, - 0, 0, 0, 226, 0, 0, 0, 245, 0, 0, 0, 253, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57, - 180, 180, 180, 52, 189, 189, 189, 52, 160, 160, 160, 57, - 21, 21, 21, 120, 0, 0, 0, 222, 0, 0, 0, 207, - 0, 0, 0, 209, 0, 0, 0, 231, 0, 0, 0, 248, - 0, 0, 0, 239, 0, 0, 0, 220, 0, 0, 0, 208, - 0, 0, 0, 205, 0, 0, 0, 211, 0, 0, 0, 227, - 0, 0, 0, 246, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57, - 189, 189, 189, 52, 175, 175, 175, 52, 58, 58, 58, 59, - 42, 42, 42, 115, 42, 42, 42, 109, 42, 42, 42, 99, - 42, 42, 42, 100, 41, 41, 41, 110, 42, 42, 42, 114, - 42, 42, 42, 106, 2, 2, 2, 153, 0, 0, 0, 205, - 0, 0, 0, 212, 0, 0, 0, 229, 0, 0, 0, 246, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 164, 184, 184, 184, 63, 189, 189, 189, 57, - 189, 189, 189, 52, 189, 189, 189, 52, 190, 190, 190, 57, - 189, 189, 189, 62, 189, 189, 189, 57, 189, 189, 189, 52, - 189, 189, 189, 52, 190, 190, 190, 54, 190, 190, 190, 54, - 189, 189, 189, 52, 12, 12, 12, 118, 0, 0, 0, 212, - 0, 0, 0, 230, 0, 0, 0, 247, 0, 0, 0, 254, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 166, 123, 123, 123, 63, 126, 126, 126, 57, - 126, 126, 126, 52, 126, 126, 126, 52, 126, 126, 126, 57, - 126, 126, 126, 62, 126, 126, 126, 57, 126, 126, 126, 52, - 126, 126, 126, 51, 126, 126, 126, 52, 126, 126, 126, 51, - 126, 126, 126, 51, 8, 8, 8, 126, 0, 0, 0, 231, - 0, 0, 0, 247, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 132, 0, 0, 0, 255, - 0, 0, 0, 248, 0, 0, 0, 224, 0, 0, 0, 203, - 0, 0, 0, 186, 0, 0, 0, 186, 0, 0, 0, 205, - 0, 0, 0, 220, 0, 0, 0, 204, 0, 0, 0, 186, - 0, 0, 0, 183, 0, 0, 0, 183, 0, 0, 0, 183, - 0, 0, 0, 187, 0, 0, 0, 216, 0, 0, 0, 239, - 0, 0, 0, 244, 0, 0, 0, 245, 0, 0, 0, 245, - 0, 0, 0, 246, 0, 0, 0, 246, 0, 0, 0, 251, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 26, 26, 26, 126, 0, 0, 0, 238, - 0, 0, 0, 238, 0, 0, 0, 233, 0, 0, 0, 212, - 0, 0, 0, 193, 0, 0, 0, 194, 0, 0, 0, 213, - 0, 0, 0, 229, 0, 0, 0, 212, 0, 0, 0, 193, - 0, 0, 0, 190, 0, 0, 0, 190, 0, 0, 0, 190, - 0, 0, 0, 193, 0, 0, 0, 200, 0, 0, 0, 217, - 0, 0, 0, 218, 0, 0, 0, 218, 0, 0, 0, 218, - 0, 0, 0, 218, 0, 0, 0, 221, 0, 0, 0, 238, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 161, 188, 188, 188, 64, - 190, 190, 190, 64, 127, 127, 127, 64, 117, 117, 117, 64, - 117, 117, 117, 64, 117, 117, 117, 63, 117, 117, 117, 57, - 117, 117, 117, 52, 117, 117, 117, 52, 117, 117, 117, 57, - 117, 117, 117, 62, 117, 117, 117, 57, 117, 117, 117, 52, - 117, 117, 117, 51, 117, 117, 117, 51, 117, 117, 117, 51, - 117, 117, 117, 51, 104, 104, 104, 52, 6, 6, 6, 136, - 0, 0, 0, 206, 0, 0, 0, 206, 0, 0, 0, 206, - 0, 0, 0, 206, 0, 0, 0, 210, 0, 0, 0, 232, - 0, 0, 0, 252, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 163, 179, 179, 179, 64, - 190, 190, 190, 64, 190, 190, 190, 64, 190, 190, 190, 64, - 190, 190, 190, 64, 189, 189, 189, 63, 189, 189, 189, 57, - 189, 189, 189, 52, 189, 189, 189, 52, 190, 190, 190, 57, - 189, 189, 189, 62, 189, 189, 189, 59, 189, 189, 189, 55, - 189, 189, 189, 55, 189, 189, 189, 55, 189, 189, 189, 55, - 189, 189, 189, 55, 189, 189, 189, 55, 34, 34, 34, 104, - 0, 0, 0, 218, 0, 0, 0, 218, 0, 0, 0, 218, - 0, 0, 0, 218, 0, 0, 0, 221, 0, 0, 0, 238, - 0, 0, 0, 253, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 236, 37, 37, 37, 108, - 73, 73, 73, 91, 73, 73, 73, 91, 73, 73, 73, 91, - 73, 73, 73, 91, 73, 73, 73, 89, 73, 73, 73, 80, - 73, 73, 73, 73, 73, 73, 73, 74, 73, 73, 73, 81, - 73, 73, 73, 88, 73, 73, 73, 88, 74, 74, 74, 87, - 73, 73, 73, 87, 73, 73, 73, 87, 73, 73, 73, 87, - 73, 73, 73, 87, 61, 61, 61, 88, 0, 0, 0, 191, - 0, 0, 0, 243, 0, 0, 0, 243, 0, 0, 0, 243, - 0, 0, 0, 243, 0, 0, 0, 245, 0, 0, 0, 249, - 0, 0, 0, 254, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 250, 0, 0, 0, 227, - 0, 0, 0, 207, 0, 0, 0, 206, 0, 0, 0, 219, - 0, 0, 0, 233, 0, 0, 0, 235, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 235, - 0, 0, 0, 235, 0, 0, 0, 235, 0, 0, 0, 238, - 0, 0, 0, 248, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 250, 0, 0, 0, 227, - 0, 0, 0, 207, 0, 0, 0, 205, 0, 0, 0, 207, - 0, 0, 0, 209, 0, 0, 0, 210, 0, 0, 0, 210, - 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210, - 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210, - 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 210, - 0, 0, 0, 210, 0, 0, 0, 210, 0, 0, 0, 215, - 0, 0, 0, 234, 0, 0, 0, 252, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 251, 0, 0, 0, 232, - 0, 0, 0, 211, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 207, - 0, 0, 0, 207, 0, 0, 0, 207, 0, 0, 0, 211, - 0, 0, 0, 231, 0, 0, 0, 251, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, - 0, 0, 0, 255, 0, 0, 0, 254, 0, 0, 0, 245, - 0, 0, 0, 231, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 226, - 0, 0, 0, 226, 0, 0, 0, 226, 0, 0, 0, 230, - 0, 0, 0, 243, 0, 0, 0, 254, 0, 0, 0, 255, - 0, 0, 0, 255, - }}; - -#define NUM_CURSORS sizeof(Cursors) / sizeof(Cursors[0]) diff --git a/src/glut/fbdev/ext.c b/src/glut/fbdev/ext.c deleted file mode 100644 index 65953e705b9..00000000000 --- a/src/glut/fbdev/ext.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -#include <stdio.h> - -#include <GL/gl.h> -#include <GL/glut.h> - -#include "internal.h" - -void glutReportErrors(void) -{ - GLenum error; - - while ((error = glGetError()) != GL_NO_ERROR) - sprintf(exiterror, "GL error: %s", gluErrorString(error)); -} - -static struct { - const char *name; - const GLUTproc address; -} glut_functions[] = { - { "glutInit", (const GLUTproc) glutInit }, - { "glutInitDisplayMode", (const GLUTproc) glutInitDisplayMode }, - { "glutInitWindowPosition", (const GLUTproc) glutInitWindowPosition }, - { "glutInitWindowSize", (const GLUTproc) glutInitWindowSize }, - { "glutMainLoop", (const GLUTproc) glutMainLoop }, - { "glutCreateWindow", (const GLUTproc) glutCreateWindow }, - { "glutCreateSubWindow", (const GLUTproc) glutCreateSubWindow }, - { "glutDestroyWindow", (const GLUTproc) glutDestroyWindow }, - { "glutPostRedisplay", (const GLUTproc) glutPostRedisplay }, - { "glutSwapBuffers", (const GLUTproc) glutSwapBuffers }, - { "glutGetWindow", (const GLUTproc) glutGetWindow }, - { "glutSetWindow", (const GLUTproc) glutSetWindow }, - { "glutSetWindowTitle", (const GLUTproc) glutSetWindowTitle }, - { "glutSetIconTitle", (const GLUTproc) glutSetIconTitle }, - { "glutPositionWindow", (const GLUTproc) glutPositionWindow }, - { "glutReshapeWindow", (const GLUTproc) glutReshapeWindow }, - { "glutPopWindow", (const GLUTproc) glutPopWindow }, - { "glutPushWindow", (const GLUTproc) glutPushWindow }, - { "glutIconifyWindow", (const GLUTproc) glutIconifyWindow }, - { "glutShowWindow", (const GLUTproc) glutShowWindow }, - { "glutHideWindow", (const GLUTproc) glutHideWindow }, - { "glutFullScreen", (const GLUTproc) glutFullScreen }, - { "glutSetCursor", (const GLUTproc) glutSetCursor }, - { "glutWarpPointer", (const GLUTproc) glutWarpPointer }, - { "glutEstablishOverlay", (const GLUTproc) glutEstablishOverlay }, - { "glutRemoveOverlay", (const GLUTproc) glutRemoveOverlay }, - { "glutUseLayer", (const GLUTproc) glutUseLayer }, - { "glutPostOverlayRedisplay", (const GLUTproc) glutPostOverlayRedisplay }, - { "glutShowOverlay", (const GLUTproc) glutShowOverlay }, - { "glutHideOverlay", (const GLUTproc) glutHideOverlay }, - { "glutCreateMenu", (const GLUTproc) glutCreateMenu }, - { "glutDestroyMenu", (const GLUTproc) glutDestroyMenu }, - { "glutGetMenu", (const GLUTproc) glutGetMenu }, - { "glutSetMenu", (const GLUTproc) glutSetMenu }, - { "glutAddMenuEntry", (const GLUTproc) glutAddMenuEntry }, - { "glutAddSubMenu", (const GLUTproc) glutAddSubMenu }, - { "glutChangeToMenuEntry", (const GLUTproc) glutChangeToMenuEntry }, - { "glutChangeToSubMenu", (const GLUTproc) glutChangeToSubMenu }, - { "glutRemoveMenuItem", (const GLUTproc) glutRemoveMenuItem }, - { "glutAttachMenu", (const GLUTproc) glutAttachMenu }, - { "glutDetachMenu", (const GLUTproc) glutDetachMenu }, - { "glutDisplayFunc", (const GLUTproc) glutDisplayFunc }, - { "glutReshapeFunc", (const GLUTproc) glutReshapeFunc }, - { "glutKeyboardFunc", (const GLUTproc) glutKeyboardFunc }, - { "glutMouseFunc", (const GLUTproc) glutMouseFunc }, - { "glutMotionFunc", (const GLUTproc) glutMotionFunc }, - { "glutPassiveMotionFunc", (const GLUTproc) glutPassiveMotionFunc }, - { "glutEntryFunc", (const GLUTproc) glutEntryFunc }, - { "glutVisibilityFunc", (const GLUTproc) glutVisibilityFunc }, - { "glutIdleFunc", (const GLUTproc) glutIdleFunc }, - { "glutTimerFunc", (const GLUTproc) glutTimerFunc }, - { "glutMenuStateFunc", (const GLUTproc) glutMenuStateFunc }, - { "glutSpecialFunc", (const GLUTproc) glutSpecialFunc }, - { "glutSpaceballRotateFunc", (const GLUTproc) glutSpaceballRotateFunc }, - { "glutButtonBoxFunc", (const GLUTproc) glutButtonBoxFunc }, - { "glutDialsFunc", (const GLUTproc) glutDialsFunc }, - { "glutTabletMotionFunc", (const GLUTproc) glutTabletMotionFunc }, - { "glutTabletButtonFunc", (const GLUTproc) glutTabletButtonFunc }, - { "glutMenuStatusFunc", (const GLUTproc) glutMenuStatusFunc }, - { "glutOverlayDisplayFunc", (const GLUTproc) glutOverlayDisplayFunc }, - { "glutSetColor", (const GLUTproc) glutSetColor }, - { "glutGetColor", (const GLUTproc) glutGetColor }, - { "glutCopyColormap", (const GLUTproc) glutCopyColormap }, - { "glutGet", (const GLUTproc) glutGet }, - { "glutDeviceGet", (const GLUTproc) glutDeviceGet }, - { "glutExtensionSupported", (const GLUTproc) glutExtensionSupported }, - { "glutGetModifiers", (const GLUTproc) glutGetModifiers }, - { "glutLayerGet", (const GLUTproc) glutLayerGet }, - { "glutGetProcAddress", (const GLUTproc) glutGetProcAddress }, - { "glutBitmapCharacter", (const GLUTproc) glutBitmapCharacter }, - { "glutBitmapWidth", (const GLUTproc) glutBitmapWidth }, - { "glutStrokeCharacter", (const GLUTproc) glutStrokeCharacter }, - { "glutStrokeWidth", (const GLUTproc) glutStrokeWidth }, - { "glutBitmapLength", (const GLUTproc) glutBitmapLength }, - { "glutStrokeLength", (const GLUTproc) glutStrokeLength }, - { "glutWireSphere", (const GLUTproc) glutWireSphere }, - { "glutSolidSphere", (const GLUTproc) glutSolidSphere }, - { "glutWireCone", (const GLUTproc) glutWireCone }, - { "glutSolidCone", (const GLUTproc) glutSolidCone }, - { "glutWireCube", (const GLUTproc) glutWireCube }, - { "glutSolidCube", (const GLUTproc) glutSolidCube }, - { "glutWireTorus", (const GLUTproc) glutWireTorus }, - { "glutSolidTorus", (const GLUTproc) glutSolidTorus }, - { "glutWireDodecahedron", (const GLUTproc) glutWireDodecahedron }, - { "glutSolidDodecahedron", (const GLUTproc) glutSolidDodecahedron }, - { "glutWireTeapot", (const GLUTproc) glutWireTeapot }, - { "glutSolidTeapot", (const GLUTproc) glutSolidTeapot }, - { "glutWireOctahedron", (const GLUTproc) glutWireOctahedron }, - { "glutSolidOctahedron", (const GLUTproc) glutSolidOctahedron }, - { "glutWireTetrahedron", (const GLUTproc) glutWireTetrahedron }, - { "glutSolidTetrahedron", (const GLUTproc) glutSolidTetrahedron }, - { "glutWireIcosahedron", (const GLUTproc) glutWireIcosahedron }, - { "glutSolidIcosahedron", (const GLUTproc) glutSolidIcosahedron }, - { "glutReportErrors", (const GLUTproc) glutReportErrors }, - { NULL, NULL } -}; - -GLUTproc glutGetProcAddress(const char *procName) -{ - /* Try GLUT functions first */ - int i; - for (i = 0; glut_functions[i].name; i++) { - if (strcmp(glut_functions[i].name, procName) == 0) - return glut_functions[i].address; - } - - /* Try core GL functions */ - return (GLUTproc) glFBDevGetProcAddress(procName); -} diff --git a/src/glut/fbdev/fbdev.c b/src/glut/fbdev/fbdev.c deleted file mode 100644 index 80237f5bc75..00000000000 --- a/src/glut/fbdev/fbdev.c +++ /dev/null @@ -1,940 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - * - * To improve on this library, maybe support subwindows or overlays, - * I (sean at depagnier dot com) will do my best to help. - */ - -#include <errno.h> -#include <signal.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <fcntl.h> -#include <unistd.h> -#include <inttypes.h> - -#include <sys/mman.h> -#include <sys/time.h> -#include <sys/kd.h> - -#include <linux/fb.h> -#include <linux/vt.h> - -#include <GL/gl.h> -#include <GL/glut.h> - -#include "internal.h" - -#define FBMODES "/etc/fb.modes" - -struct fb_fix_screeninfo FixedInfo; -struct fb_var_screeninfo VarInfo; -static struct fb_var_screeninfo OrigVarInfo; - -static int DesiredDepth = 0; - -int FrameBufferFD = -1; -unsigned char *FrameBuffer; -unsigned char *BackBuffer = NULL; -int DisplayMode; - -struct GlutTimer *GlutTimers = NULL; - -struct timeval StartTime; - -/* per window data */ -GLFBDevContextPtr Context; -GLFBDevBufferPtr Buffer; -GLFBDevVisualPtr Visual; - -int Redisplay; -int Visible; -int VisibleSwitch; -int Active; -static int Resized; -/* we have to poll to see if we are visible - on a framebuffer that is not active */ -int VisiblePoll; -int Swapping, VTSwitch; -static int FramebufferIndex; - -static int Initialized; - -char exiterror[256]; - -/* test if the active console is attached to the same framebuffer */ -void TestVisible(void) { - struct fb_con2fbmap confb; - struct vt_stat st; - int ret; - ioctl(ConsoleFD, VT_GETSTATE, &st); - confb.console = st.v_active; - - ret = ioctl(FrameBufferFD, FBIOGET_CON2FBMAP, &confb); - - if(ret == -1 || confb.framebuffer == FramebufferIndex) { - VisibleSwitch = 1; - Visible = 0; - VisiblePoll = 0; - } -} - -static void Cleanup(void) -{ - /* do not handle this signal when cleaning up */ - signal(SIGWINCH, SIG_IGN); - - if(GameMode) - glutLeaveGameMode(); - - if(ConsoleFD != -1) - RestoreVT(); - - /* close mouse */ - CloseMouse(); - - if(Visual) - glutDestroyWindow(1); - - /* restore original variable screen info */ - if(FrameBufferFD != -1) { - OrigVarInfo.xoffset = 0; - OrigVarInfo.yoffset = 0; - - if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &OrigVarInfo)) - fprintf(stderr, "ioctl(FBIOPUT_VSCREENINFO failed): %s\n", - strerror(errno)); - - if(FrameBuffer) - munmap(FrameBuffer, FixedInfo.smem_len); - close(FrameBufferFD); - - } - - /* free allocated back buffer */ - if(DisplayMode & GLUT_DOUBLE) - free(BackBuffer); - - /* free menu items */ - FreeMenus(); - - if(exiterror[0]) - fprintf(stderr, "[glfbdev glut] %s", exiterror); - } - -static void CrashHandler(int sig) -{ - sprintf(exiterror, "Caught signal %d, cleaning up\n", sig); - exit(0); -} - -static void removeArgs(int *argcp, char **argv, int num) -{ - int i; - for (i = 0; argv[i+num]; i++) - argv[i] = argv[i+num]; - - argv[i] = NULL; - *argcp -= num; -} - -#define REQPARAM(PARAM) \ - if (i >= *argcp - 1) { \ - fprintf(stderr, PARAM" requires a parameter\n"); \ - exit(0); \ - } - -void glutInit (int *argcp, char **argv) -{ - int i, nomouse = 0, nokeyboard = 0, usestdin = 0; - int RequiredWidth = 0, RequiredHeight; - char *fbdev; - - stack_t stack; - struct sigaction sa; - - /* parse out args */ - for (i = 1; i < *argcp;) { - if (!strcmp(argv[i], "-geometry")) { - REQPARAM("geometry"); - if(sscanf(argv[i+1], "%dx%d", &RequiredWidth, - &RequiredHeight) != 2) { - fprintf(stderr,"Please specify geometry as widthxheight\n"); - exit(0); - } - removeArgs(argcp, &argv[i], 2); - } else - if (!strcmp(argv[i], "-bpp")) { - REQPARAM("bpp"); - if(sscanf(argv[i+1], "%d", &DesiredDepth) != 1) { - fprintf(stderr, "Please specify a parameter for bpp\n"); - exit(0); - } - removeArgs(argcp, &argv[i], 2); - } else - if (!strcmp(argv[i], "-vt")) { - REQPARAM("vt"); - if(sscanf(argv[i+1], "%d", &CurrentVT) != 1) { - fprintf(stderr, "Please specify a parameter for vt\n"); - exit(0); - } - removeArgs(argcp, &argv[i], 2); - } else - if (!strcmp(argv[i], "-mousespeed")) { - REQPARAM("mousespeed"); - if(sscanf(argv[i+1], "%lf", &MouseSpeed) != 1) { - fprintf(stderr, "Please specify a mouse speed, eg: 2.5\n"); - exit(0); - } - removeArgs(argcp, &argv[i], 2); - } else - if (!strcmp(argv[i], "-nomouse")) { - nomouse = 1; - removeArgs(argcp, &argv[i], 1); - } else - if (!strcmp(argv[i], "-nokeyboard")) { - nokeyboard = 1; - removeArgs(argcp, &argv[i], 1); - } else - if (!strcmp(argv[i], "-stdin")) { - usestdin = 1; - removeArgs(argcp, &argv[i], 1); - } else - if (!strcmp(argv[i], "-gpmmouse")) { -#ifdef HAVE_GPM - GpmMouse = 1; -#else - fprintf(stderr, "gpm support not compiled\n"); - exit(0); -#endif - removeArgs(argcp, &argv[i], 1); - } else - if (!strcmp(argv[i], "--")) { - removeArgs(argcp, &argv[i], 1); - break; - } else - i++; - } - - gettimeofday(&StartTime, 0); - atexit(Cleanup); - - /* set up SIGSEGV to use alternate stack */ - stack.ss_flags = 0; - stack.ss_size = SIGSTKSZ; - if(!(stack.ss_sp = malloc(SIGSTKSZ))) - sprintf(exiterror, "Failed to allocate alternate stack for SIGSEGV!\n"); - - sigaltstack(&stack, NULL); - - sa.sa_handler = CrashHandler; - sa.sa_flags = SA_ONSTACK; - sigemptyset(&sa.sa_mask); - sigaction(SIGSEGV, &sa, NULL); - - signal(SIGINT, CrashHandler); - signal(SIGTERM, CrashHandler); - signal(SIGABRT, CrashHandler); - - if(nomouse == 0) - InitializeMouse(); - if(nokeyboard == 0) - InitializeVT(usestdin); - - fbdev = getenv("FRAMEBUFFER"); - if(fbdev) { -#ifdef MULTIHEAD - if(!sscanf(fbdev, "/dev/fb%d", &FramebufferIndex)) - if(!sscanf(fbdev, "/dev/fb/%d", &FramebufferIndex)) - sprintf(exiterror, "Could not determine Framebuffer index!\n"); -#endif - } else { - static char fb[128]; - struct fb_con2fbmap confb; - int fd = open("/dev/fb0", O_RDWR); - - FramebufferIndex = 0; - - confb.console = CurrentVT; - if(ioctl(fd, FBIOGET_CON2FBMAP, &confb) != -1) - FramebufferIndex = confb.framebuffer; - sprintf(fb, "/dev/fb%d", FramebufferIndex); - fbdev = fb; - close(fd); - } - - /* open the framebuffer device */ - FrameBufferFD = open(fbdev, O_RDWR); - if (FrameBufferFD < 0) { - sprintf(exiterror, "Error opening %s: %s\n", fbdev, strerror(errno)); - exit(0); - } - - /* get the fixed screen info */ - if (ioctl(FrameBufferFD, FBIOGET_FSCREENINFO, &FixedInfo)) { - sprintf(exiterror, "error: ioctl(FBIOGET_FSCREENINFO) failed: %s\n", - strerror(errno)); - exit(0); - } - - /* get the variable screen info */ - if (ioctl(FrameBufferFD, FBIOGET_VSCREENINFO, &OrigVarInfo)) { - sprintf(exiterror, "error: ioctl(FBIOGET_VSCREENINFO) failed: %s\n", - strerror(errno)); - exit(0); - } - - /* operate on a copy */ - VarInfo = OrigVarInfo; - - /* set the depth, resolution, etc */ - if(RequiredWidth) - if(!ParseFBModes(RequiredWidth, RequiredWidth, RequiredHeight, - RequiredHeight, 0, MAX_VSYNC)) { - sprintf(exiterror, "No mode (%dx%d) found in "FBMODES"\n", - RequiredWidth, RequiredHeight); - exit(0); - } - - Initialized = 1; -} - -void glutInitDisplayMode (unsigned int mode) -{ - DisplayMode = mode; -} - -static const char *GetStrVal(const char *p, int *set, int min, int max) -{ - char *endptr; - int comp = *p, val; - - if(p[1] == '=') - p++; - - if(*p == '\0') - return p; - - val = strtol(p+1, &endptr, 10); - - if(endptr == p+1) - return p; - - switch(comp) { - case '!': - if(val == min) - val = max; - else - val = min; - break; - case '<': - val = min; - break; - case '>': - val = max; - break; - } - - if(val < min || val > max) { - sprintf(exiterror, "display string value out of range\n"); - exit(0); - } - - *set = val; - - return endptr; -} - -static void SetAttrib(int val, int attr) -{ - if(val) - DisplayMode |= attr; - else - DisplayMode &= ~attr; -} - -void glutInitDisplayString(const char *string) -{ - const char *p = string; - int val; - while(*p) { - if(*p == ' ') - p++; - else - if(memcmp(p, "acca", 4) == 0) { - p = GetStrVal(p+4, &AccumSize, 1, 32); - SetAttrib(AccumSize, GLUT_ACCUM); - } else - if(memcmp(p, "acc", 3) == 0) { - p = GetStrVal(p+3, &AccumSize, 1, 32); - SetAttrib(AccumSize, GLUT_ACCUM); - } else - if(memcmp(p, "depth", 5) == 0) { - p = GetStrVal(p+5, &DepthSize, 12, 32); - SetAttrib(DepthSize, GLUT_DEPTH); - } else - if(memcmp(p, "double", 6) == 0) { - val = 1; - p = GetStrVal(p+6, &val, 0, 1); - SetAttrib(val, GLUT_DOUBLE); - } else - if(memcmp(p, "index", 5) == 0) { - val = 1; - p = GetStrVal(p+5, &val, 0, 1); - SetAttrib(val, GLUT_INDEX); - } else - if(memcmp(p, "stencil", 7) == 0) { - p = GetStrVal(p+7, &StencilSize, 0, 1); - SetAttrib(StencilSize, GLUT_STENCIL); - } else - if(memcmp(p, "samples", 7) == 0) { - NumSamples = 1; - p = GetStrVal(p+7, &NumSamples, 0, 16); - SetAttrib(NumSamples, GLUT_MULTISAMPLE); - } else - if(p = strchr(p, ' ')) - p++; - else - break; - } -} - -void glutInitWindowPosition (int x, int y) -{ -} - -void glutInitWindowSize (int width, int height) -{ -} - -static void ProcessTimers(void) -{ - while(GlutTimers && GlutTimers->time <= glutGet(GLUT_ELAPSED_TIME)) { - struct GlutTimer *timer = GlutTimers; - GlutTimers = timer->next; - timer->func(timer->value); - free(timer); - } -} - -void glutMainLoop(void) -{ - int idleiters; - - if(ReshapeFunc) - ReshapeFunc(VarInfo.xres, VarInfo.yres); - - if(!DisplayFunc) { - sprintf(exiterror, "Fatal Error: No Display Function registered\n"); - exit(0); - } - - for(;;) { - ProcessTimers(); - - if(Active) - ReceiveInput(); - else - if(VisiblePoll) - TestVisible(); - - if(IdleFunc) - IdleFunc(); - - if(VisibleSwitch) { - VisibleSwitch = 0; - if(VisibilityFunc) - VisibilityFunc(Visible ? GLUT_VISIBLE : GLUT_NOT_VISIBLE); - } - - if(Resized) { - SetVideoMode(); - CreateBuffer(); - - if(!glFBDevMakeCurrent( Context, Buffer, Buffer )) { - sprintf(exiterror, "Failure to Make Current\n"); - exit(0); - } - - InitializeMenus(); - - if(ReshapeFunc) - ReshapeFunc(VarInfo.xres, VarInfo.yres); - - Redisplay = 1; - Resized = 0; - } - - if(Visible && Redisplay) { - Redisplay = 0; - EraseCursor(); - DisplayFunc(); - if(!(DisplayMode & GLUT_DOUBLE)) { - if(ActiveMenu) - DrawMenus(); - DrawCursor(); - } - idleiters = 0; - } else { - /* we sleep if not receiving redisplays, and - the main loop is running faster than 2khz */ - - static int lasttime; - int time = glutGet(GLUT_ELAPSED_TIME); - if(time > lasttime) { - if(idleiters >= 2) - usleep(100); - - idleiters = 0; - lasttime = time; - } - idleiters++; - } - } -} - -int ParseFBModes(int minw, int maxw, int minh, int maxh, int minf, int maxf) -{ - char buf[1024]; - struct fb_var_screeninfo vi = VarInfo; - - FILE *fbmodes = fopen(FBMODES, "r"); - - if(!fbmodes) { - sprintf(exiterror, "Warning: could not open "FBMODES"\n"); - return 0; - } - - while(fgets(buf, sizeof buf, fbmodes)) { - char *c; - int v, bpp, freq; - - if(!(c = strstr(buf, "geometry"))) - continue; - v = sscanf(c, "geometry %d %d %d %d %d", &vi.xres, &vi.yres, - &vi.xres_virtual, &vi.yres_virtual, &bpp); - if(v != 5) - continue; - - if(maxw < minw) { - if(maxw < vi.xres && minw > vi.xres) - continue; - } else - if(maxw < vi.xres || minw > vi.xres) - continue; - - if(maxh < minh) { - if(maxh < vi.yres && minh > vi.yres) - continue; - } else - if(maxh < vi.yres || minh > vi.yres) - continue; - - fgets(buf, sizeof buf, fbmodes); - if(!(c = strstr(buf, "timings"))) - continue; - - v = sscanf(c, "timings %d %d %d %d %d %d %d", &vi.pixclock, - &vi.left_margin, &vi.right_margin, &vi.upper_margin, - &vi.lower_margin, &vi.hsync_len, &vi.vsync_len); - - if(v != 7) - continue; - - freq = 1E12/vi.pixclock - /(vi.left_margin + vi.xres + vi.right_margin + vi.hsync_len) - /(vi.upper_margin + vi.yres + vi.lower_margin + vi.vsync_len); - - if(maxf < minf) { - if(maxf < freq && minf > freq) - continue; - } else - if(maxf < freq || minf > freq) - continue; - - VarInfo = vi; - fclose(fbmodes); - return 1; - } - - fclose(fbmodes); - - return 0; -} - -void SetVideoMode(void) -{ - /* set new variable screen info */ - if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &VarInfo)) { - sprintf(exiterror, "FBIOPUT_VSCREENINFO failed: %s\n", strerror(errno)); - strcat(exiterror, "Perhaps the device does not support the selected mode\n"); - exit(0); - } - - /* reload the screen info to update rgb bits */ - if (ioctl(FrameBufferFD, FBIOGET_VSCREENINFO, &VarInfo)) { - sprintf(exiterror, "error: ioctl(FBIOGET_VSCREENINFO) failed: %s\n", - strerror(errno)); - exit(0); - } - - /* reload the fixed info to update color mode */ - if (ioctl(FrameBufferFD, FBIOGET_FSCREENINFO, &FixedInfo)) { - sprintf(exiterror, "error: ioctl(FBIOGET_FSCREENINFO) failed: %s\n", - strerror(errno)); - exit(0); - } - - if (DesiredDepth && DesiredDepth != VarInfo.bits_per_pixel) { - sprintf(exiterror, "error: Could not set set %d bpp\n", DesiredDepth); - exit(0); - } - - if(DisplayMode & GLUT_INDEX && FixedInfo.visual == FB_VISUAL_DIRECTCOLOR) { - sprintf(exiterror, "error: Could not set 8 bit color mode\n"); - exit(0); - } - - /* initialize colormap */ - LoadColorMap(); -} - -void CreateBuffer(void) -{ - int size = VarInfo.xres_virtual * VarInfo.yres_virtual - * VarInfo.bits_per_pixel / 8; - - /* mmap the framebuffer into our address space */ - if(FrameBuffer) - munmap(FrameBuffer, FixedInfo.smem_len); - FrameBuffer = mmap(0, FixedInfo.smem_len, PROT_READ | PROT_WRITE, - MAP_SHARED, FrameBufferFD, 0); - if (FrameBuffer == MAP_FAILED) { - sprintf(exiterror, "error: unable to mmap framebuffer: %s\n", - strerror(errno)); - exit(0); - } - - if(DisplayMode & GLUT_DOUBLE) { - free(BackBuffer); - if(!(BackBuffer = malloc(size))) { - sprintf(exiterror, "Failed to allocate double buffer\n"); - exit(0); - } - } else - BackBuffer = FrameBuffer; - - if(Buffer) - glFBDevDestroyBuffer(Buffer); - - if(!(Buffer = glFBDevCreateBuffer( &FixedInfo, &VarInfo, Visual, - FrameBuffer, BackBuffer, size))) { - sprintf(exiterror, "Failure to create Buffer\n"); - exit(0); - } -} - -void CreateVisual(void) -{ - int i, mask = DisplayMode; - int attribs[20]; - for(i=0; i<sizeof(attribs)/sizeof(*attribs) && mask; i++) { - if(mask & GLUT_DOUBLE) { - attribs[i] = GLFBDEV_DOUBLE_BUFFER; - mask &= ~GLUT_DOUBLE; - continue; - } - - if(mask & GLUT_INDEX) { - attribs[i] = GLFBDEV_COLOR_INDEX; - mask &= ~GLUT_INDEX; - continue; - } - - if(mask & GLUT_DEPTH) { - attribs[i] = GLFBDEV_DEPTH_SIZE; - attribs[++i] = DepthSize; - mask &= ~GLUT_DEPTH; - continue; - } - - if(mask & GLUT_STENCIL) { - attribs[i] = GLFBDEV_STENCIL_SIZE; - attribs[++i] = StencilSize; - mask &= ~GLUT_STENCIL; - continue; - } - - if(mask & GLUT_ACCUM) { - attribs[i] = GLFBDEV_ACCUM_SIZE; - attribs[++i] = AccumSize; - mask &= ~GLUT_ACCUM; - continue; - } - - if(mask & GLUT_ALPHA) - if(!(DisplayMode & GLUT_INDEX)) { - mask &= ~GLUT_ALPHA; - i--; - continue; - } - - if(mask & GLUT_MULTISAMPLE) { - attribs[i] = GLFBDEV_MULTISAMPLE; - attribs[++i] = NumSamples; - mask &= ~GLUT_MULTISAMPLE; - continue; - } - - sprintf(exiterror, "Invalid mode from glutInitDisplayMode\n"); - exit(0); - } - - attribs[i] = GLFBDEV_NONE; - - if(!(Visual = glFBDevCreateVisual( &FixedInfo, &VarInfo, attribs ))) { - sprintf(exiterror, "Failure to create Visual\n"); - exit(0); - } -} - -static void SignalWinch(int arg) -{ - /* we can't change bitdepth without destroying the visual */ - int bits_per_pixel = VarInfo.bits_per_pixel; - struct fb_bitfield red = VarInfo.red, green = VarInfo.green, - blue = VarInfo.blue, transp = VarInfo.transp; - - /* get the variable screen info */ - if (ioctl(FrameBufferFD, FBIOGET_VSCREENINFO, &VarInfo)) { - sprintf(exiterror, "error: ioctl(FBIOGET_VSCREENINFO) failed: %s\n", - strerror(errno)); - exit(0); - } - - /* restore bitdepth and color masks only */ - VarInfo.bits_per_pixel = bits_per_pixel; - VarInfo.red = red; - VarInfo.green = green; - VarInfo.blue = blue; - VarInfo.transp = transp; - - Resized = 1; -} - -int glutCreateWindow (const char *title) -{ - if(Initialized == 0) { - int argc = 0; - char *argv[] = {NULL}; - glutInit(&argc, argv); - } - - if(Context) - return 0; - - if(DisplayMode & GLUT_INDEX) - VarInfo.bits_per_pixel = 8; - else - if(VarInfo.bits_per_pixel == 8) - VarInfo.bits_per_pixel = 32; - - if (DesiredDepth) - VarInfo.bits_per_pixel = DesiredDepth; - - VarInfo.xoffset = 0; - VarInfo.yoffset = 0; - VarInfo.nonstd = 0; - VarInfo.vmode &= ~FB_VMODE_YWRAP; /* turn off scrolling */ - - SetVideoMode(); - CreateVisual(); - CreateBuffer(); - - if(!(Context = glFBDevCreateContext(Visual, NULL))) { - sprintf(exiterror, "Failure to create Context\n"); - exit(0); - } - - if(!glFBDevMakeCurrent( Context, Buffer, Buffer )) { - sprintf(exiterror, "Failure to Make Current\n"); - exit(0); - } - - InitializeCursor(); - InitializeMenus(); - - glutSetWindowTitle(title); - - signal(SIGWINCH, SignalWinch); - - Visible = 1; - VisibleSwitch = 1; - Redisplay = 1; - return 1; -} - -int glutCreateSubWindow(int win, int x, int y, int width, int height) -{ - return 0; -} - -void glutSetWindow(int win) -{ -} - -int glutGetWindow(void) -{ - return 1; -} - -void glutDestroyWindow(int win) -{ - glFBDevMakeCurrent( NULL, NULL, NULL); - glFBDevDestroyContext(Context); - glFBDevDestroyBuffer(Buffer); - glFBDevDestroyVisual(Visual); - - Visual = NULL; -} - -void glutPostRedisplay(void) -{ - Redisplay = 1; -} - -void glutPostWindowRedisplay(int win) -{ - Redisplay = 1; -} - -void glutSwapBuffers(void) -{ - glFlush(); - - if(!(DisplayMode & GLUT_DOUBLE)) - return; - - if(ActiveMenu) - DrawMenus(); - DrawCursor(); - - if(Visible) { - Swapping = 1; - glFBDevSwapBuffers(Buffer); - Swapping = 0; - } - - /* if there was a vt switch while swapping, switch now */ - if(VTSwitch) { - if(ioctl(ConsoleFD, VT_ACTIVATE, VTSwitch) < 0) - sprintf(exiterror, "Error switching console\n"); - VTSwitch = 0; - } -} - -void glutPositionWindow(int x, int y) -{ -} - -void glutReshapeWindow(int width, int height) -{ - if(GameMode) - return; - - if(!ParseFBModes(width, width, height, height, 0, MAX_VSYNC)) - return; - - signal(SIGWINCH, SIG_IGN); - - SetVideoMode(); - signal(SIGWINCH, SignalWinch); - Resized = 1; -} - -void glutFullScreen(void) -{ -} - -void glutPopWindow(void) -{ -} - -void glutPushWindow(void) -{ -} - -void glutShowWindow(void) -{ - Visible = 1; -} - -void glutHideWindow(void) -{ - Visible = 0; -} - -static void UnIconifyWindow(int sig) -{ - if(ConsoleFD == 0) - InitializeVT(1); - else - if(ConsoleFD > 0) - InitializeVT(0); - if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &VarInfo)) { - sprintf(exiterror, "ioctl(FBIOPUT_VSCREENINFO failed): %s\n", - strerror(errno)); - exit(0); - } - - RestoreColorMap(); - - Redisplay = 1; - VisibleSwitch = 1; - Visible = 1; -} - -void glutIconifyWindow(void) -{ - RestoreVT(); - signal(SIGCONT, UnIconifyWindow); - if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &OrigVarInfo)) - fprintf(stderr, "ioctl(FBIOPUT_VSCREENINFO failed): %s\n", - strerror(errno)); - - raise(SIGSTOP); -} - -void glutSetWindowTitle(const char *name) -{ - /* escape code to set title in screen */ - if(getenv("TERM") && memcmp(getenv("TERM"), "screen", 6) == 0) - printf("\033k%s\033\\", name); -} - -void glutSetIconTitle(const char *name) -{ -} diff --git a/src/glut/fbdev/gamemode.c b/src/glut/fbdev/gamemode.c deleted file mode 100644 index 30be36af7af..00000000000 --- a/src/glut/fbdev/gamemode.c +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include <linux/fb.h> - -#include <GL/glut.h> - -#include "internal.h" - -int GameMode; - -static int ModePossible, DispChanged; -static struct fb_var_screeninfo NormVarInfo, GameVarInfo; - -static GLFBDevContextPtr GameContext; -static GLFBDevVisualPtr NormVisual; - -/* storage for non-gamemode callbacks */ -void (*KeyFuncs[2])(unsigned char key, int x, int y); -static void (*NormFuncs[8])(); - -static const char*SetOpers(const char *p, unsigned int *min, unsigned int *max) -{ - char *endptr; - int comp = *p, val, neq = 0; - - if(p[1] == '=') { - neq = 0; - p++; - } - - val = strtol(p+1, &endptr, 10); - if(endptr == p+1) - return p; - - switch(comp) { - case '=': - *min = *max = val; - break; - case '!': - *min = val + 1; - *max = val - 1; - break; - case '<': - *max = val - neq; - break; - case '>': - *min = val + neq; - break; - } - return endptr; -} - -void glutGameModeString(const char *string) -{ - const char *p = string; - unsigned int minb = 15, maxb = 32; - unsigned int minw = 0, maxw = -1; - unsigned int minh, maxh = -1; - unsigned int minf = 0, maxf = MAX_VSYNC; - char *endptr; - int count = -1, val; - - ModePossible = 0; - - if(DisplayMode & GLUT_INDEX) - minb = maxb = 8; - - again: - count++; - if((val = strtol(p, &endptr, 10)) && *endptr=='x') { - maxw = minw = val; - p = endptr + 1; - maxh = minh = strtol(p, &endptr, 10); - p = endptr; - goto again; - } - - if(*p == ':') { - minb = strtol(p+1, &endptr, 10); - p = endptr; - if(DisplayMode & GLUT_INDEX) { - if(minb != 8) - return; - } else - if(minb != 15 && minb != 16 && minb != 24 && minb != 32) - return; - maxb = minb; - goto again; - } - - if(*p == '@') { - minf = strtol(p+1, &endptr, 10) - 5; - maxf = minf + 10; - p = endptr; - goto again; - } - - if(count == 0) - while(*p) { - if(*p == ' ') - p++; - else - if(memcmp(p, "bpp", 3) == 0) - p = SetOpers(p+3, &minb, &maxb); - else - if(memcmp(p, "height", 6) == 0) - p = SetOpers(p+6, &minh, &maxh); - else - if(memcmp(p, "hertz", 5) == 0) - p = SetOpers(p+5, &minf, &maxf); - else - if(memcmp(p, "width", 5) == 0) - p = SetOpers(p+5, &minw, &maxw); - else - if(p = strchr(p, ' ')) - p++; - else - break; - } - - NormVarInfo = VarInfo; - if(!ParseFBModes(minw, maxw, minh, maxh, minf, maxf)) - return; - - GameVarInfo = VarInfo; - VarInfo = NormVarInfo; - - /* determine optimal bitdepth, make sure we have enough video memory */ - if(VarInfo.bits_per_pixel && VarInfo.bits_per_pixel <= maxb) - GameVarInfo.bits_per_pixel = VarInfo.bits_per_pixel; - else - GameVarInfo.bits_per_pixel = maxb; - - while(FixedInfo.smem_len < GameVarInfo.xres * GameVarInfo.yres - * GameVarInfo.bits_per_pixel / 8) { - if(GameVarInfo.bits_per_pixel < minb) - return; - GameVarInfo.bits_per_pixel = ((GameVarInfo.bits_per_pixel+1)/8)*8-8; - } - - ModePossible = 1; -} - -int glutEnterGameMode(void) -{ - if(ActiveMenu) - return 0; - - if(!ModePossible) - return 0; - - if(GameMode) { - if(!memcmp(&GameVarInfo, &VarInfo, sizeof VarInfo)) { - DispChanged = 0; - return 1; - } - glutLeaveGameMode(); - } - - if (ioctl(FrameBufferFD, FBIOPUT_VSCREENINFO, &GameVarInfo)) - return 0; - - NormVarInfo = VarInfo; - VarInfo = GameVarInfo; - - NormVisual = Visual; - SetVideoMode(); - CreateVisual(); - CreateBuffer(); - - if(!(GameContext = glFBDevCreateContext(Visual, NULL))) { - sprintf(exiterror, "Failure to create Context\n"); - exit(0); - } - - if(!glFBDevMakeCurrent( GameContext, Buffer, Buffer )) { - sprintf(exiterror, "Failure to Make Game Current\n"); - exit(0); - } - - InitializeCursor(); - - KeyFuncs[0] = KeyboardFunc; - KeyFuncs[1] = KeyboardUpFunc; - - NormFuncs[0] = DisplayFunc; - NormFuncs[1] = ReshapeFunc; - NormFuncs[2] = MouseFunc; - NormFuncs[3] = MotionFunc; - NormFuncs[4] = PassiveMotionFunc; - NormFuncs[5] = VisibilityFunc; - NormFuncs[6] = SpecialFunc; - NormFuncs[7] = SpecialUpFunc; - - DisplayFunc = NULL; - ReshapeFunc = NULL; - KeyboardFunc = NULL; - KeyboardUpFunc = NULL; - MouseFunc = NULL; - MotionFunc = NULL; - PassiveMotionFunc = NULL; - VisibilityFunc = NULL; - SpecialFunc = SpecialUpFunc = NULL; - - DispChanged = 1; - GameMode = 1; - Visible = 1; - VisibleSwitch = 1; - Redisplay = 1; - return 1; -} - -void glutLeaveGameMode(void) -{ - if(!GameMode) - return; - - glFBDevDestroyContext(GameContext); - glFBDevDestroyVisual(Visual); - - VarInfo = NormVarInfo; - Visual = NormVisual; - - if(Visual) { - SetVideoMode(); - CreateBuffer(); - - if(!glFBDevMakeCurrent( Context, Buffer, Buffer )) { - sprintf(exiterror, "Failure to Make Current\n"); - exit(0); - } - - Redisplay = 1; - } - - KeyboardFunc = KeyFuncs[0]; - KeyboardUpFunc = KeyFuncs[1]; - - DisplayFunc = NormFuncs[0]; - ReshapeFunc = NormFuncs[1]; - MouseFunc = NormFuncs[2]; - MotionFunc = NormFuncs[3]; - PassiveMotionFunc = NormFuncs[4]; - VisibilityFunc = NormFuncs[5]; - SpecialFunc = NormFuncs[6]; - SpecialUpFunc = NormFuncs[7]; - - GameMode = 0; -} - -int glutGameModeGet(GLenum mode) { - switch(mode) { - case GLUT_GAME_MODE_ACTIVE: - return GameMode; - case GLUT_GAME_MODE_POSSIBLE: - return ModePossible; - case GLUT_GAME_MODE_DISPLAY_CHANGED: - return DispChanged; - } - - if(!ModePossible) - return -1; - - switch(mode) { - case GLUT_GAME_MODE_WIDTH: - return GameVarInfo.xres; - case GLUT_GAME_MODE_HEIGHT: - return GameVarInfo.yres; - case GLUT_GAME_MODE_PIXEL_DEPTH: - return GameVarInfo.bits_per_pixel; - case GLUT_GAME_MODE_REFRESH_RATE: - return 1E12/GameVarInfo.pixclock - / (GameVarInfo.left_margin + GameVarInfo.xres - + GameVarInfo.right_margin + GameVarInfo.hsync_len) - / (GameVarInfo.upper_margin + GameVarInfo.yres - + GameVarInfo.lower_margin + GameVarInfo.vsync_len); - } -} diff --git a/src/glut/fbdev/input.c b/src/glut/fbdev/input.c deleted file mode 100644 index 1445682c760..00000000000 --- a/src/glut/fbdev/input.c +++ /dev/null @@ -1,828 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -#include <errno.h> -#include <signal.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <fcntl.h> -#include <unistd.h> -#include <termios.h> -#include <inttypes.h> - -#include <sys/ioctl.h> -#include <sys/poll.h> -#include <sys/kd.h> - -#include <linux/keyboard.h> -#include <linux/fb.h> -#include <linux/vt.h> - -#include <GL/glut.h> - -#include "internal.h" - -#define MOUSEDEV "/dev/gpmdata" - -#ifdef HAVE_GPM -#include <gpm.h> -int GpmMouse; -#endif - -int CurrentVT = 0; -int ConsoleFD = -1; - -int KeyboardModifiers; - -int MouseX, MouseY; -int NumMouseButtons; - -double MouseSpeed = 0; - -int KeyRepeatMode = GLUT_KEY_REPEAT_DEFAULT; - -int MouseVisible = 0; -int LastMouseTime = 0; - -static int OldKDMode = -1; -static int OldMode = KD_TEXT; -static struct vt_mode OldVTMode; -static struct termios OldTermios; - -static int KeyboardLedState; - -static int MouseFD; - -static int kbdpipe[2]; - -static int LastStdinKeyTime, LastStdinSpecialKey = -1, LastStdinCode = -1; - -#define MODIFIER(mod) \ - KeyboardModifiers = release ? KeyboardModifiers & ~mod \ - : KeyboardModifiers | mod; - -/* signal handler attached to SIGIO on keyboard input, vt - switching and modifiers is handled in the signal handler - other keypresses read from a pipe that leaves the handler - if a program locks up the glut loop, you can still switch - vts and kill it without Alt-SysRq hack */ -static void KeyboardHandler(int sig) -{ - unsigned char code; - - while(read(ConsoleFD, &code, 1) == 1) { - int release, labelval; - struct kbentry entry; - static int lalt; /* only left alt does vt switch */ - - release = code & 0x80; - - entry.kb_index = code & 0x7F; - entry.kb_table = 0; - - if (ioctl(ConsoleFD, KDGKBENT, &entry) < 0) { - sprintf(exiterror, "ioctl(KDGKBENT) failed.\n"); - exit(0); - } - - labelval = entry.kb_value; - - switch(labelval) { - case K_SHIFT: - case K_SHIFTL: - MODIFIER(GLUT_ACTIVE_SHIFT); - continue; - case K_CTRL: - MODIFIER(GLUT_ACTIVE_CTRL); - continue; - case K_ALT: - lalt = !release; - case K_ALTGR: - MODIFIER(GLUT_ACTIVE_ALT); - continue; - } - - if(lalt && !release) { - /* VT switch, we must do it */ - int vt = -1; - struct vt_stat st; - if(labelval >= K_F1 && labelval <= K_F12) - vt = labelval - K_F1 + 1; - - if(labelval == K_LEFT) - if(ioctl(ConsoleFD, VT_GETSTATE, &st) >= 0) - vt = st.v_active - 1; - - if(labelval == K_RIGHT) - if(ioctl(ConsoleFD, VT_GETSTATE, &st) >= 0) - vt = st.v_active + 1; - - if(vt != -1) { - if(Swapping) - VTSwitch = vt; - else - if(ioctl(ConsoleFD, VT_ACTIVATE, vt) < 0) - sprintf(exiterror, "Error switching console\n"); - continue; - } - } - write(kbdpipe[1], &code, 1); - } -} - -static void LedModifier(int led, int release) -{ - static int releaseflag = K_CAPS | K_NUM | K_HOLD; - if(release) - releaseflag |= led; - else - if(releaseflag & led) { - KeyboardLedState ^= led; - releaseflag &= ~led; - } - - ioctl(ConsoleFD, KDSKBLED, KeyboardLedState); - ioctl(ConsoleFD, KDSETLED, 0x80); -} - -static void HandleKeyPress(unsigned char key, int up) -{ - if(up) { - if(KeyboardUpFunc) - KeyboardUpFunc(key, MouseX, MouseY); - } else - if(KeyboardFunc) - KeyboardFunc(key, MouseX, MouseY); - else - if(key == 27) - exit(0); /* no handler, to provide a way to exit */ -} - -static void HandleSpecialPress(int key, int up) -{ - if(up) { - if(SpecialUpFunc) - SpecialUpFunc(key, MouseX, MouseY); - } else - if(SpecialFunc) - SpecialFunc(key, MouseX, MouseY); -} - -static void ReleaseStdinKey(void) -{ - if(LastStdinSpecialKey != -1) { - HandleSpecialPress(LastStdinSpecialKey, 1); - LastStdinSpecialKey = -1; - } - if(LastStdinCode != -1) { - HandleKeyPress(LastStdinCode, 1); - LastStdinCode = -1; - } -} - -#define READKEY read(kbdpipe[0], &code, 1) -static int ReadKey(void) -{ - int release, labelval, labelvalnoshift; - unsigned char code; - int specialkey = 0; - struct kbentry entry; - - if(READKEY != 1) { - /* if we are reading from stdin, we detect key releases when the key - does not repeat after a given timeout */ - if(ConsoleFD == 0 && LastStdinKeyTime + 100 < glutGet(GLUT_ELAPSED_TIME)) - ReleaseStdinKey(); - return 0; - } - - if(code == 0) - return 0; - - /* stdin input escape code based */ - if(ConsoleFD == 0) { - KeyboardModifiers = 0; - altset: - if(code == 27 && READKEY == 1) { - if(code != 91) { - KeyboardModifiers |= GLUT_ACTIVE_ALT; - goto altset; - } - READKEY; - switch(code) { - case 68: - specialkey = GLUT_KEY_LEFT; break; - case 65: - specialkey = GLUT_KEY_UP; break; - case 67: - specialkey = GLUT_KEY_RIGHT; break; - case 66: - specialkey = GLUT_KEY_DOWN; break; - case 52: - specialkey = GLUT_KEY_END; READKEY; break; - case 53: - specialkey = GLUT_KEY_PAGE_UP; READKEY; break; - case 54: - specialkey = GLUT_KEY_PAGE_DOWN; READKEY; break; - case 49: - READKEY; - if(code == 126) - specialkey = GLUT_KEY_HOME; - else { - specialkey = GLUT_KEY_F1 + code - 50; - READKEY; - } - break; - case 50: - READKEY; - if(code == 126) - specialkey = GLUT_KEY_INSERT; - else { - if(code > '1') - code--; - if(code > '6') - code--; - if(code > '3') { - KeyboardModifiers |= GLUT_ACTIVE_SHIFT; - code -= 12; - } - specialkey = GLUT_KEY_F1 + code - 40; - READKEY; - } - break; - case 51: - READKEY; - if(code == 126) { - code = '\b'; - goto stdkey; - } - KeyboardModifiers |= GLUT_ACTIVE_SHIFT; - specialkey = GLUT_KEY_F1 + code - 45; - READKEY; - break; - case 91: - READKEY; - specialkey = GLUT_KEY_F1 + code - 65; - break; - default: - return 0; - } - } - - if(specialkey) { - LastStdinKeyTime = glutGet(GLUT_ELAPSED_TIME); - - if(LastStdinSpecialKey != specialkey) { - ReleaseStdinKey(); - HandleSpecialPress(specialkey, 0); - LastStdinSpecialKey = specialkey; - LastStdinKeyTime += 200; /* initial repeat */ - } else - if(KeyRepeatMode != GLUT_KEY_REPEAT_OFF) - HandleSpecialPress(specialkey, 0); - } else { - if(code >= 1 && code <= 26 && code != '\r') { - KeyboardModifiers |= GLUT_ACTIVE_CTRL; - code += 'a' - 1; - } - if((code >= 43 && code <= 34) || (code == 60) - || (code >= 62 && code <= 90) || (code == 94) - || (code == 95) || (code >= 123 && code <= 126)) - KeyboardModifiers |= GLUT_ACTIVE_SHIFT; - - stdkey: - LastStdinKeyTime = glutGet(GLUT_ELAPSED_TIME); - if(LastStdinCode != code) { - ReleaseStdinKey(); - HandleKeyPress(code, 0); - LastStdinCode = code; - LastStdinKeyTime += 200; /* initial repeat */ - } else - if(KeyRepeatMode != GLUT_KEY_REPEAT_OFF) - HandleSpecialPress(code, 0); - } - return 1; - } - - /* linux kbd reading */ - release = code & 0x80; - code &= 0x7F; - - if(KeyRepeatMode == GLUT_KEY_REPEAT_OFF) { - static char keystates[128]; - if(release) - keystates[code] = 0; - else { - if(keystates[code]) - return 1; - keystates[code] = 1; - } - } - - entry.kb_index = code; - entry.kb_table = 0; - - if (ioctl(ConsoleFD, KDGKBENT, &entry) < 0) { - sprintf(exiterror, "ioctl(KDGKBENT) failed.\n"); - exit(0); - } - - labelvalnoshift = entry.kb_value; - - if(KeyboardModifiers & GLUT_ACTIVE_SHIFT) - entry.kb_table |= K_SHIFTTAB; - - if (ioctl(ConsoleFD, KDGKBENT, &entry) < 0) { - sprintf(exiterror, "ioctl(KDGKBENT) failed.\n"); - exit(0); - } - - labelval = entry.kb_value; - - switch(labelvalnoshift) { - case K_CAPS: - LedModifier(LED_CAP, release); - return 0; - case K_NUM: - LedModifier(LED_NUM, release); - return 0; - case K_HOLD: /* scroll lock suspends glut */ - LedModifier(LED_SCR, release); - while(KeyboardLedState & LED_SCR) { - usleep(10000); - ReadKey(); - } - return 0; - } - - /* we could queue keypresses here */ - if(KeyboardLedState & LED_SCR) - return 0; - - if(labelvalnoshift >= K_F1 && labelvalnoshift <= K_F12) - specialkey = GLUT_KEY_F1 + labelvalnoshift - K_F1; - else - switch(labelvalnoshift) { - case K_LEFT: - specialkey = GLUT_KEY_LEFT; break; - case K_UP: - specialkey = GLUT_KEY_UP; break; - case K_RIGHT: - specialkey = GLUT_KEY_RIGHT; break; - case K_DOWN: - specialkey = GLUT_KEY_DOWN; break; - case K_PGUP: - specialkey = GLUT_KEY_PAGE_UP; break; - case K_PGDN: - specialkey = GLUT_KEY_PAGE_DOWN; break; - case K_FIND: - specialkey = GLUT_KEY_HOME; break; - case K_SELECT: - specialkey = GLUT_KEY_END; break; - case K_INSERT: - specialkey = GLUT_KEY_INSERT; break; - case K_REMOVE: - labelval = '\b'; - break; - case K_ENTER: - labelval = '\r'; break; - } - - /* likely a keypad input, but depends on keyboard mapping, ignore */ - if(labelval == 512) - return 1; - - /* dispatch callback */ - if(specialkey) - HandleSpecialPress(specialkey, release); - else { - char c = labelval; - - if(KeyboardLedState & LED_CAP) { - if(c >= 'A' && c <= 'Z') - c += 'a' - 'A'; - else - if(c >= 'a' && c <= 'z') - c += 'A' - 'a'; - } - HandleKeyPress(c, release); - } - return 1; -} - -void glutIgnoreKeyRepeat(int ignore) -{ - KeyRepeatMode = ignore ? GLUT_KEY_REPEAT_OFF : GLUT_KEY_REPEAT_ON; -} - -void glutSetKeyRepeat(int repeatMode) -{ - KeyRepeatMode = repeatMode; -} - -void glutForceJoystickFunc(void) -{ -} - -static void HandleMousePress(int button, int pressed) -{ - if(TryMenu(button, pressed)) - return; - - if(MouseFunc) - MouseFunc(button, pressed ? GLUT_DOWN : GLUT_UP, MouseX, MouseY); -} - -static int ReadMouse(void) -{ - int l, r, m; - static int ll, lm, lr; - signed char dx, dy; - -#ifdef HAVE_GPM - if(GpmMouse) { - Gpm_Event event; - struct pollfd pfd; - pfd.fd = gpm_fd; - pfd.events = POLLIN; - if(poll(&pfd, 1, 1) != 1) - return 0; - - if(Gpm_GetEvent(&event) != 1) - return 0; - - l = event.buttons & GPM_B_LEFT; - m = event.buttons & GPM_B_MIDDLE; - r = event.buttons & GPM_B_RIGHT; - - /* gpm is weird in that it gives a button number when the button - is released, with type set to GPM_UP, this is only a problem - if it is the last button released */ - - if(event.type & GPM_UP) - if(event.buttons == GPM_B_LEFT || event.buttons == GPM_B_MIDDLE || - event.buttons == GPM_B_RIGHT || event.buttons == GPM_B_FOURTH) - l = m = r = 0; - - dx = event.dx; - dy = event.dy; - } else -#endif - { - char data[4]; - - if(MouseFD == -1) - return 0; - - if(read(MouseFD, data, 4) != 4) - return 0; - - l = ((data[0] & 0x20) >> 3); - m = ((data[3] & 0x10) >> 3); - r = ((data[0] & 0x10) >> 4); - - dx = (((data[0] & 0x03) << 6) | (data[1] & 0x3F)); - dy = (((data[0] & 0x0C) << 4) | (data[2] & 0x3F)); - } - - MouseX += dx * MouseSpeed; - if(MouseX < 0) - MouseX = 0; - else - if(MouseX >= VarInfo.xres) - MouseX = VarInfo.xres - 1; - - MouseY += dy * MouseSpeed; - if(MouseY < 0) - MouseY = 0; - else - if(MouseY >= VarInfo.yres) - MouseY = VarInfo.yres - 1; - - if(l != ll) - HandleMousePress(GLUT_LEFT_BUTTON, l); - if(m != lm) - HandleMousePress(GLUT_MIDDLE_BUTTON, m); - if(r != lr) - HandleMousePress(GLUT_RIGHT_BUTTON, r); - - ll = l, lm = m, lr = r; - - if(dx || dy || !MouseVisible) { - if(l || m || r) { - if(MotionFunc) - MotionFunc(MouseX, MouseY); - } else - if(PassiveMotionFunc) - PassiveMotionFunc(MouseX, MouseY); - - EraseCursor(); - - MouseVisible = 1; - - if(ActiveMenu) - Redisplay = 1; - else - SwapCursor(); - } - - LastMouseTime = glutGet(GLUT_ELAPSED_TIME); - - return 1; -} - -void ReceiveInput(void) -{ - if(ConsoleFD != -1) - while(ReadKey()); - - while(ReadMouse()); - - /* implement a 2 second timeout on the mouse */ - if(MouseVisible && glutGet(GLUT_ELAPSED_TIME) - LastMouseTime > 2000) { - EraseCursor(); - MouseVisible = 0; - SwapCursor(); - } -} - -static void VTSwitchHandler(int sig) -{ - struct vt_stat st; - switch(sig) { - case SIGUSR1: - ioctl(ConsoleFD, VT_RELDISP, 1); - Active = 0; -#ifdef MULTIHEAD - VisiblePoll = 1; - TestVisible(); -#else - VisibleSwitch = 1; - Visible = 0; -#endif - break; - case SIGUSR2: - ioctl(ConsoleFD, VT_GETSTATE, &st); - if(st.v_active) - ioctl(ConsoleFD, VT_RELDISP, VT_ACKACQ); - - RestoreColorMap(); - - Active = 1; - Visible = 1; - VisibleSwitch = 1; - - Redisplay = 1; - break; - } -} - -void InitializeVT(int usestdin) -{ - struct termios tio; - struct vt_mode vt; - char console[128]; - - signal(SIGIO, SIG_IGN); - - Active = 1; - - if(usestdin) { - ConsoleFD = 0; - goto setattribs; - } - - /* detect the current vt if it was not specified */ - if(CurrentVT == 0) { - int fd = open("/dev/tty", O_RDWR | O_NDELAY, 0); - struct vt_stat st; - if(fd == -1) { - sprintf(exiterror, "Failed to open /dev/tty\n"); - exit(0); - } - - if(ioctl(fd, VT_GETSTATE, &st) == -1) { - fprintf(stderr, "Could not detect current vt, specify with -vt\n"); - fprintf(stderr, "Defaulting to stdin input\n"); - ConsoleFD = 0; - close(fd); - goto setattribs; - } - - CurrentVT = st.v_active; - close(fd); - } - - /* if we close with the modifier set in glutIconifyWindow, we won't - get the signal when they are released, so set to zero here */ - KeyboardModifiers = 0; - - /* open the console tty */ - sprintf(console, "/dev/tty%d", CurrentVT); - ConsoleFD = open(console, O_RDWR | O_NDELAY, 0); - if (ConsoleFD < 0) { - sprintf(exiterror, "error couldn't open %s," - " defaulting to stdin \n", console); - ConsoleFD = 0; - goto setattribs; - } - - signal(SIGUSR1, VTSwitchHandler); - signal(SIGUSR2, VTSwitchHandler); - - if (ioctl(ConsoleFD, VT_GETMODE, &OldVTMode) < 0) { - sprintf(exiterror,"Failed to grab %s, defaulting to stdin\n", console); - close(ConsoleFD); - ConsoleFD = 0; - goto setattribs; - } - - vt = OldVTMode; - - vt.mode = VT_PROCESS; - vt.waitv = 0; - vt.relsig = SIGUSR1; - vt.acqsig = SIGUSR2; - if (ioctl(ConsoleFD, VT_SETMODE, &vt) < 0) { - sprintf(exiterror, "error: ioctl(VT_SETMODE) failed: %s\n", - strerror(errno)); - close(ConsoleFD); - ConsoleFD = 0; - exit(1); - } - - if (ioctl(ConsoleFD, KDGKBMODE, &OldKDMode) < 0) { - sprintf(exiterror, "Warning: ioctl KDGKBMODE failed!\n"); - OldKDMode = K_XLATE; - } - - /* use SIGIO so VT switching can work if the program is locked */ - signal(SIGIO, KeyboardHandler); - - pipe(kbdpipe); - - if(fcntl(kbdpipe[0], F_SETFL, O_NONBLOCK | O_ASYNC) < 0) { - sprintf(exiterror, "Failed to set keyboard to non-blocking\n"); - exit(0); - } - - fcntl(ConsoleFD, F_SETOWN, getpid()); - - if(ioctl(ConsoleFD, KDGETMODE, &OldMode) < 0) - sprintf(exiterror, "Warning: Failed to get terminal mode\n"); - -#ifdef HAVE_GPM - if(!GpmMouse) -#endif - if(ioctl(ConsoleFD, KDSETMODE, KD_GRAPHICS) < 0) - sprintf(exiterror,"Warning: Failed to set terminal to graphics\n"); - - if(ioctl(ConsoleFD, KDSKBMODE, K_MEDIUMRAW) < 0) { - sprintf(exiterror, "ioctl KDSKBMODE failed!\n"); - exit(0); - } - - if(ioctl(ConsoleFD, KDGKBLED, &KeyboardLedState) < 0) { - sprintf(exiterror, "ioctl KDGKBLED failed!\n"); - exit(0); - } - - setattribs: - /* enable async input input */ - if(fcntl(ConsoleFD, F_SETFL, O_ASYNC) < 0) { - sprintf(exiterror, "Failed to set O_ASYNC mode on fd %d\n", ConsoleFD); - exit(0); - } - - /* save old terminos settings */ - if (tcgetattr(ConsoleFD, &OldTermios) < 0) { - sprintf(exiterror, "tcgetattr failed\n"); - exit(0); - } - - tio = OldTermios; - - /* terminos settings for straight-through mode */ - tio.c_lflag &= ~(ICANON | ECHO | ISIG); - tio.c_iflag &= ~(ISTRIP | IGNCR | ICRNL | INLCR | IXOFF | IXON); - tio.c_iflag |= IGNBRK; - - tio.c_cc[VMIN] = 0; - tio.c_cc[VTIME] = 0; - - if (tcsetattr(ConsoleFD, TCSANOW, &tio) < 0) { - sprintf(exiterror, "tcsetattr failed\n"); - exit(0); - } -} - -void RestoreVT(void) -{ - if(ConsoleFD < 0) - return; - - if (tcsetattr(ConsoleFD, TCSANOW, &OldTermios) < 0) - sprintf(exiterror, "tcsetattr failed\n"); - - /* setting the mode to text from graphics restores the colormap */ - if( -#ifdef HAVE_GPM - !GpmMouse || -#endif - ConsoleFD == 0) - if(ioctl(ConsoleFD, KDSETMODE, KD_GRAPHICS) < 0) - goto skipioctl; /* no need to fail twice */ - - if(ioctl(ConsoleFD, KDSETMODE, OldMode) < 0) - fprintf(stderr, "ioctl KDSETMODE failed!\n"); - - skipioctl: - - if(ConsoleFD == 0) - return; - - /* restore keyboard state */ - if (ioctl(ConsoleFD, VT_SETMODE, &OldVTMode) < 0) - fprintf(stderr, "Failed to set vtmode\n"); - - if (ioctl(ConsoleFD, KDSKBMODE, OldKDMode) < 0) - fprintf(stderr, "ioctl KDSKBMODE failed!\n"); - - close(ConsoleFD); - - close(kbdpipe[0]); - close(kbdpipe[1]); -} - -void InitializeMouse(void) -{ -#ifdef HAVE_GPM - if(!GpmMouse) -#endif - { - const char *mousedev = getenv("MOUSE"); - if(!mousedev) - mousedev = MOUSEDEV; - if((MouseFD = open(mousedev, O_RDONLY | O_NONBLOCK)) >= 0) { - if(!MouseSpeed) - MouseSpeed = 1; - NumMouseButtons = 3; - return; - } - } -#ifdef HAVE_GPM - { - Gpm_Connect conn; - int c; - conn.eventMask = ~0; /* Want to know about all the events */ - conn.defaultMask = 0; /* don't handle anything by default */ - conn.minMod = 0; /* want everything */ - conn.maxMod = ~0; /* all modifiers included */ - if(Gpm_Open(&conn, 0) != -1) { - if(!MouseSpeed) - MouseSpeed = 8; - NumMouseButtons = 3; - return; - } - fprintf(stderr, "Cannot open gpmctl.\n"); - } -#endif - fprintf(stderr,"Cannot open %s.\n" - "Continuing without Mouse\n", MOUSEDEV); -} - -void CloseMouse(void) -{ -#ifdef HAVE_GPM - if(GpmMouse) { - if(NumMouseButtons) - Gpm_Close(); - } else -#endif - if(MouseFD >= 0) - close(MouseFD); -} diff --git a/src/glut/fbdev/internal.h b/src/glut/fbdev/internal.h deleted file mode 100644 index 0a159d96b0a..00000000000 --- a/src/glut/fbdev/internal.h +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -#include <sys/time.h> -#include <linux/fb.h> -#include <GL/glfbdev.h> - -#define MULTIHEAD /* enable multihead hacks, - it allows the program to continue drawing - without reading input when a second fbdev - has keyboard focus it can cause - screen corruption that requires C-l to fix */ -#define HAVE_GPM - -#define MAX_VSYNC 200 - -/* this causes these symbols to not be exported */ -#pragma GCC visibility push(hidden) - - -/* --------- fbdev ------------ */ -extern int Redisplay; -extern int Visible; -extern int VisibleSwitch; -extern int Active; -extern int VisiblePoll; -extern int Swapping, VTSwitch; - -void TestVisible(void); -int ParseFBModes(int, int, int, int, int, int); -void SetVideoMode(void); -void CreateBuffer(void); -void CreateVisual(void); - -extern int FrameBufferFD; -extern unsigned char *FrameBuffer; -extern unsigned char *BackBuffer; -extern int DisplayMode; - -extern char exiterror[256]; - -extern struct fb_fix_screeninfo FixedInfo; -extern struct fb_var_screeninfo VarInfo; - -extern GLFBDevContextPtr Context; -extern GLFBDevBufferPtr Buffer; -extern GLFBDevVisualPtr Visual; - -/* --- colormap --- */ -#define REVERSECMAPSIZELOG 3 -#define REVERSECMAPSIZE (1<<REVERSECMAPSIZELOG) - -extern unsigned short RedColorMap[256], - GreenColorMap[256], - BlueColorMap[256]; -extern unsigned char ReverseColorMap[REVERSECMAPSIZE] - [REVERSECMAPSIZE] - [REVERSECMAPSIZE]; - -void LoadColorMap(void); -void RestoreColorMap(void); - -/* --- mouse --- */ -extern int MouseX, MouseY; -extern int CurrentCursor; -extern int MouseVisible; -extern int LastMouseTime; -extern int NumMouseButtons; - -void InitializeCursor(void); -void EraseCursor(void); -void DrawCursor(void); -void SwapCursor(void); - -/* --- menus --- */ -struct GlutMenu { - int NumItems; - int x, y; - int width; - int selected; - struct { - int value; - int submenu; - char *name; - } *Items; - void (*func)(int); -}; - -extern struct GlutMenu *Menus; - -extern int ActiveMenu; -extern int CurrentMenu; - -void InitializeMenus(void); -void FreeMenus(void); -void DrawMenus(void); - -int TryMenu(int, int); -void OpenMenu(void); -void CloseMenu(void); - -/* --- state --- */ -extern int AccumSize, DepthSize, StencilSize, NumSamples; -extern struct timeval StartTime; -extern int KeyboardModifiers; - -/* --- input --- */ -#ifdef HAVE_GPM -extern int GpmMouse; -#endif - -extern int CurrentVT; -extern int ConsoleFD; - -extern double MouseSpeed; - -extern int KeyRepeatMode; - -void InitializeVT(int); -void RestoreVT(void); -void CloseMouse(void); -void InitializeMouse(void); - -void ReceiveInput(void); - -/* --- callback --- */ -extern void (*DisplayFunc)(void); -extern void (*ReshapeFunc)(int width, int height); -extern void (*KeyboardFunc)(unsigned char key, int x, int y); -extern void (*KeyboardUpFunc)(unsigned char key, int x, int y); -extern void (*MouseFunc)(int key, int state, int x, int y); -extern void (*MotionFunc)(int x, int y); -extern void (*PassiveMotionFunc)(int x, int y); -extern void (*VisibilityFunc)(int state); -extern void (*SpecialFunc)(int key, int x, int y); -extern void (*SpecialUpFunc)(int key, int x, int y); -extern void (*IdleFunc)(void); -extern void (*MenuStatusFunc)(int state, int x, int y); -extern void (*MenuStateFunc)(int state); - -/* --- timers --- */ -struct GlutTimer { - int time; - void (*func)(int); - int value; - struct GlutTimer *next; -}; - -extern struct GlutTimer *GlutTimers; - -/* ------- Game Mode -------- */ -extern int GameMode; - -#pragma GCC visibility pop diff --git a/src/glut/fbdev/menu.c b/src/glut/fbdev/menu.c deleted file mode 100644 index 4ab4eb30d46..00000000000 --- a/src/glut/fbdev/menu.c +++ /dev/null @@ -1,309 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -#include <linux/fb.h> - -#include <GL/glut.h> - -#include "internal.h" - -#define MENU_FONT_WIDTH 9 -#define MENU_FONT_HEIGHT 15 -#define MENU_FONT GLUT_BITMAP_9_BY_15 -#define SUBMENU_OFFSET 20 - -struct GlutMenu *Menus; -int ActiveMenu; -int CurrentMenu; - -static double MenuProjection[16]; - -static int AttachedMenus[3]; -static int NumMenus = 1; -static int SelectedMenu; - -void InitializeMenus(void) -{ - glPushAttrib(GL_TRANSFORM_BIT); - glMatrixMode(GL_PROJECTION); - glPushMatrix(); - glLoadIdentity(); - gluOrtho2D(0.0, VarInfo.xres, VarInfo.yres, 0.0); - glGetDoublev(GL_PROJECTION_MATRIX, MenuProjection); - - glPopMatrix(); - glPopAttrib(); -} - -void FreeMenus(void) -{ - int i, j; - - for(i = 1; i<NumMenus; i++) { - for(j = 0; j<Menus[i].NumItems; j++) - free(Menus[i].Items[j].name); - free(Menus[i].Items); - } - - free(Menus); -} - -int TryMenu(int button, int pressed) -{ - if(ActiveMenu && !pressed) { - ActiveMenu = 0; - CloseMenu(); - Redisplay = 1; - return 1; - } - - if(AttachedMenus[button] && pressed) { - ActiveMenu = AttachedMenus[button]; - OpenMenu(); - Redisplay = 1; - return 1; - } - return 0; -} - -static int DrawMenu(int menu, int x, int *y) -{ - int i; - int ret = 1; - - for(i=0; i < Menus[menu].NumItems; i++) { - char *s = Menus[menu].Items[i].name; - int a = 0; - if(MouseY >= *y && MouseY < *y + MENU_FONT_HEIGHT && - MouseX >= x && MouseX < x + Menus[menu].width) { - a = 1; - SelectedMenu = menu; - ret = 0; - Menus[menu].selected = i; - glColor3f(1,0,0); - } else - glColor3f(1,1,1); - - *y += MENU_FONT_HEIGHT; - glRasterPos2i(x, *y); - for(; *s; s++) - glutBitmapCharacter(MENU_FONT, *s); - - if(Menus[menu].selected == i) - if(Menus[menu].Items[i].submenu) - if(DrawMenu(Menus[menu].Items[i].submenu, x - + SUBMENU_OFFSET, y)) { - if(!a) - Menus[menu].selected = -1; - } else - ret = 0; - } - return ret; -} - -void DrawMenus(void) -{ - int x, y; - - if(GameMode) - return; - - x = Menus[ActiveMenu].x; - y = Menus[ActiveMenu].y; - - /* save old settings */ - glPushAttrib(GL_COLOR_BUFFER_BIT | GL_CURRENT_BIT - | GL_ENABLE_BIT | GL_VIEWPORT_BIT); - - glMatrixMode(GL_MODELVIEW); - glPushMatrix(); - glLoadIdentity(); - - glMatrixMode(GL_PROJECTION); - glPushMatrix(); - glLoadMatrixd(MenuProjection); - glViewport(0, 0, VarInfo.xres, VarInfo.yres); - - glDisable(GL_DEPTH_TEST); - glDisable(GL_ALPHA_TEST); - glDisable(GL_LIGHTING); - glDisable(GL_FOG); - glDisable(GL_TEXTURE_2D); - glEnable(GL_COLOR_LOGIC_OP); - glLogicOp(GL_AND_REVERSE); - - if(DrawMenu(ActiveMenu, x, &y)) - Menus[ActiveMenu].selected = -1; - - /* restore settings */ - glPopMatrix(); - glMatrixMode(GL_MODELVIEW); - glPopMatrix(); - - glPopAttrib(); -} - -void OpenMenu(void) -{ - if(MenuStatusFunc) - MenuStatusFunc(GLUT_MENU_IN_USE, MouseX, MouseY); - if(MenuStateFunc) - MenuStateFunc(GLUT_MENU_IN_USE); - Menus[ActiveMenu].x = MouseX-Menus[ActiveMenu].width/2; - - if(Menus[ActiveMenu].x < 0) - Menus[ActiveMenu].x = 0; - if(Menus[ActiveMenu].x + Menus[ActiveMenu].width >= VarInfo.xres) - Menus[ActiveMenu].x = VarInfo.xres - Menus[ActiveMenu].width - 1; - - Menus[ActiveMenu].y = MouseY-Menus[ActiveMenu].NumItems*MENU_FONT_HEIGHT/2; - Menus[ActiveMenu].selected = -1; -} - -void CloseMenu(void) -{ - if(MenuStatusFunc) - MenuStatusFunc(GLUT_MENU_NOT_IN_USE, MouseX, MouseY); - if(MenuStateFunc) - MenuStateFunc(GLUT_MENU_NOT_IN_USE); - if(SelectedMenu > 0) { - int selected = Menus[SelectedMenu].selected; - if(selected >= 0) - if(Menus[SelectedMenu].Items[selected].submenu == 0) - Menus[SelectedMenu].func(Menus[SelectedMenu].Items - [selected].value); - } - -} - -/* glut menu functions */ - -int glutCreateMenu(void (*func)(int value)) -{ - CurrentMenu = NumMenus; - NumMenus++; - Menus = realloc(Menus, sizeof(*Menus) * NumMenus); - Menus[CurrentMenu].NumItems = 0; - Menus[CurrentMenu].Items = NULL; - Menus[CurrentMenu].func = func; - Menus[CurrentMenu].width = 0; - return CurrentMenu; -} - -void glutSetMenu(int menu) -{ - CurrentMenu = menu; -} - -int glutGetMenu(void) -{ - return CurrentMenu; -} - -void glutDestroyMenu(int menu) -{ - if(menu == CurrentMenu) - CurrentMenu = 0; -} - -static void NameMenuEntry(int entry, const char *name) -{ - int cm = CurrentMenu; - if(!(Menus[cm].Items[entry-1].name = realloc(Menus[cm].Items[entry-1].name, - strlen(name) + 1))) { - sprintf(exiterror, "realloc failed in NameMenuEntry\n"); - exit(0); - } - strcpy(Menus[cm].Items[entry-1].name, name); - if(strlen(name) * MENU_FONT_WIDTH > Menus[cm].width) - Menus[cm].width = strlen(name) * MENU_FONT_WIDTH; -} - -static int AddMenuItem(const char *name) -{ - int cm = CurrentMenu; - int item = Menus[cm].NumItems++; - if(!(Menus[cm].Items = realloc(Menus[cm].Items, - Menus[cm].NumItems * sizeof(*Menus[0].Items)))) { - sprintf(exiterror, "realloc failed in AddMenuItem\n"); - exit(0); - } - Menus[cm].Items[item].name = NULL; - NameMenuEntry(item+1, name); - return item; -} - -void glutAddMenuEntry(const char *name, int value) -{ - int item = AddMenuItem(name); - Menus[CurrentMenu].Items[item].value = value; - Menus[CurrentMenu].Items[item].submenu = 0; -} - -void glutAddSubMenu(const char *name, int menu) -{ - int item = AddMenuItem(name); - if(menu == CurrentMenu) { - sprintf(exiterror, "Recursive menus not supported\n"); - exit(0); - } - Menus[CurrentMenu].Items[item].submenu = menu; -} - -void glutChangeToMenuEntry(int entry, const char *name, int value) -{ - NameMenuEntry(entry, name); - Menus[CurrentMenu].Items[entry-1].value = value; - Menus[CurrentMenu].Items[entry-1].submenu = 0; -} - -void glutChangeToSubMenu(int entry, const char *name, int menu) -{ - NameMenuEntry(entry, name); - Menus[CurrentMenu].Items[entry-1].submenu = menu; -} - -void glutRemoveMenuItem(int entry) -{ - memmove(Menus[CurrentMenu].Items + entry - 1, - Menus[CurrentMenu].Items + entry, - sizeof(*Menus[0].Items) * (Menus[CurrentMenu].NumItems - entry)); - Menus[CurrentMenu].NumItems--; -} - -void glutAttachMenu(int button) -{ - AttachedMenus[button] = CurrentMenu; -} - -void glutDetachMenu(int button) -{ - AttachedMenus[button] = 0; -} diff --git a/src/glut/fbdev/overlay.c b/src/glut/fbdev/overlay.c deleted file mode 100644 index 374cf30e7df..00000000000 --- a/src/glut/fbdev/overlay.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -#include <stdlib.h> -#include <GL/gl.h> - -void glutEstablishOverlay(void) -{ - exit(0); -} - -void glutUseLayer(GLenum layer) -{ -} - -void glutRemoveOverlay(void) -{ -} - -void glutPostOverlayRedisplay(void) -{ -} - -void glutPostWindowOverlayRedisplay(int win) -{ -} - -void glutShowOverlay(void) -{ -} - -void glutHideOverlay(void) -{ -} diff --git a/src/glut/fbdev/state.c b/src/glut/fbdev/state.c deleted file mode 100644 index 212a04aa028..00000000000 --- a/src/glut/fbdev/state.c +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -#include <string.h> -#include <sys/time.h> - -#include <linux/fb.h> - -#include <GL/glut.h> - -#include "../../mesa/main/config.h" - -#include "internal.h" - -int AccumSize = 16; /* per channel size of accumulation buffer */ -int DepthSize = DEFAULT_SOFTWARE_DEPTH_BITS; -int StencilSize = STENCIL_BITS; -int NumSamples = 4; - -int glutGet(GLenum state) -{ - switch(state) { - case GLUT_WINDOW_X: - return 0; - case GLUT_WINDOW_Y: - return 0; - case GLUT_INIT_WINDOW_WIDTH: - case GLUT_WINDOW_WIDTH: - case GLUT_SCREEN_WIDTH: - return VarInfo.xres; - case GLUT_INIT_WINDOW_HEIGHT: - case GLUT_WINDOW_HEIGHT: - case GLUT_SCREEN_HEIGHT: - return VarInfo.yres; - case GLUT_WINDOW_BUFFER_SIZE: - return VarInfo.bits_per_pixel; - case GLUT_WINDOW_STENCIL_SIZE: - return StencilSize; - case GLUT_WINDOW_DEPTH_SIZE: - return DepthSize; - case GLUT_WINDOW_RED_SIZE: - return VarInfo.red.length; - case GLUT_WINDOW_GREEN_SIZE: - return VarInfo.green.length; - case GLUT_WINDOW_BLUE_SIZE: - return VarInfo.green.length; - case GLUT_WINDOW_ALPHA_SIZE: - return VarInfo.transp.length; - case GLUT_WINDOW_ACCUM_RED_SIZE: - case GLUT_WINDOW_ACCUM_GREEN_SIZE: - case GLUT_WINDOW_ACCUM_BLUE_SIZE: - case GLUT_WINDOW_ACCUM_ALPHA_SIZE: - return AccumSize; - case GLUT_WINDOW_DOUBLEBUFFER: - if(DisplayMode & GLUT_DOUBLE) - return 1; - return 0; - case GLUT_WINDOW_RGBA: - if(DisplayMode & GLUT_INDEX) - return 0; - return 1; - case GLUT_WINDOW_PARENT: - return 0; - case GLUT_WINDOW_NUM_CHILDREN: - return 0; - case GLUT_WINDOW_COLORMAP_SIZE: - if(DisplayMode & GLUT_INDEX) - return 256; - return 0; - case GLUT_WINDOW_NUM_SAMPLES: - return NumSamples; - case GLUT_WINDOW_STEREO: - return 0; - case GLUT_WINDOW_CURSOR: - return CurrentCursor; - case GLUT_SCREEN_WIDTH_MM: - return VarInfo.width; - case GLUT_SCREEN_HEIGHT_MM: - return VarInfo.height; - case GLUT_MENU_NUM_ITEMS: - if(CurrentMenu) - return Menus[CurrentMenu].NumItems; - return 0; - case GLUT_DISPLAY_MODE_POSSIBLE: - if((DisplayMode & GLUT_MULTISAMPLE) - || (DisplayMode & GLUT_STEREO) - || (DisplayMode & GLUT_LUMINANCE) - || (DisplayMode & GLUT_ALPHA) && (DisplayMode & GLUT_INDEX)) - return 0; - return 1; - case GLUT_INIT_DISPLAY_MODE: - return DisplayMode; - case GLUT_INIT_WINDOW_X: - case GLUT_INIT_WINDOW_Y: - return 0; - case GLUT_ELAPSED_TIME: - { - static struct timeval tv; - gettimeofday(&tv, 0); - return 1000 * (tv.tv_sec - StartTime.tv_sec) - + (tv.tv_usec - StartTime.tv_usec) / 1000; - } - } - return -1; -} - -int glutLayerGet(GLenum info) -{ - switch(info) { - case GLUT_OVERLAY_POSSIBLE: - return 0; - case GLUT_LAYER_IN_USE: - return GLUT_NORMAL; - case GLUT_HAS_OVERLAY: - return 0; - case GLUT_TRANSPARENT_INDEX: - return -1; - case GLUT_NORMAL_DAMAGED: - return Redisplay; - case GLUT_OVERLAY_DAMAGED: - return -1; - } - return -1; -} - -int glutDeviceGet(GLenum info) -{ - switch(info) { - case GLUT_HAS_KEYBOARD: - return ConsoleFD != -1 ? 1 : 0; - case GLUT_HAS_MOUSE: - case GLUT_NUM_MOUSE_BUTTONS: - return NumMouseButtons; - case GLUT_HAS_SPACEBALL: - case GLUT_HAS_DIAL_AND_BUTTON_BOX: - case GLUT_HAS_TABLET: - return 0; - case GLUT_NUM_SPACEBALL_BUTTONS: - case GLUT_NUM_BUTTON_BOX_BUTTONS: - case GLUT_NUM_DIALS: - case GLUT_NUM_TABLET_BUTTONS: - return 0; - case GLUT_DEVICE_IGNORE_KEY_REPEAT: - return KeyRepeatMode == GLUT_KEY_REPEAT_OFF; - case GLUT_DEVICE_KEY_REPEAT: - return KeyRepeatMode; - case GLUT_JOYSTICK_POLL_RATE: - case GLUT_HAS_JOYSTICK: - case GLUT_JOYSTICK_BUTTONS: - case GLUT_JOYSTICK_AXES: - return 0; - } - return -1; -} - -int glutGetModifiers(void){ - return KeyboardModifiers; -} - -int glutExtensionSupported(const char *extension) -{ - const char *exts = (const char *) glGetString(GL_EXTENSIONS); - const char *start = exts; - int len = strlen(extension); - for(;;) { - const char *p = strstr(exts, extension); - if(!p) - break; - if((p == start || p[-1] == ' ') && (p[len] == ' ' || p[len] == 0)) - return 1; - exts = p + len; - } - return 0; -} diff --git a/src/glut/fbdev/stroke.c b/src/glut/fbdev/stroke.c deleted file mode 100644 index 1943ac661b1..00000000000 --- a/src/glut/fbdev/stroke.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - * - * To improve on this library, maybe support subwindows or overlays, - * I (sean at depagnier dot com) will do my best to help. - */ - -#include <GL/glut.h> -#include "glutstroke.h" - -void glutStrokeCharacter(GLUTstrokeFont font, int c) -{ - const StrokeCharRec *ch; - const StrokeRec *stroke; - const CoordRec *coord; - StrokeFontPtr fontinfo = (StrokeFontPtr) font; - int i, j; - - if (c < 0 || c >= fontinfo->num_chars) - return; - ch = &(fontinfo->ch[c]); - if (ch) { - for (i = ch->num_strokes, stroke = ch->stroke; - i > 0; i--, stroke++) { - glBegin(GL_LINE_STRIP); - for (j = stroke->num_coords, coord = stroke->coord; - j > 0; j--, coord++) { - glVertex2f(coord->x, coord->y); - } - glEnd(); - } - glTranslatef(ch->right, 0.0, 0.0); - } -} - -int glutStrokeWidth(GLUTstrokeFont font, int c) -{ - StrokeFontPtr fontinfo; - const StrokeCharRec *ch; - - fontinfo = (StrokeFontPtr) font; - - if (c < 0 || c >= fontinfo->num_chars) - return 0; - ch = &(fontinfo->ch[c]); - if (ch) - return ch->right; - - return 0; -} - -int glutStrokeLength(GLUTstrokeFont font, const unsigned char *string) -{ - int length = 0; - - for (; *string; string++) - length += glutStrokeWidth(font, *string); - return length; -} diff --git a/src/glut/fbdev/vidresize.c b/src/glut/fbdev/vidresize.c deleted file mode 100644 index 960b0186233..00000000000 --- a/src/glut/fbdev/vidresize.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 6.5 - * Copyright (C) 1995-2006 Brian Paul - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Library for glut using mesa fbdev driver - * - * Written by Sean D'Epagnier (c) 2006 - */ - -/* Notice, if you know how to implement these functions correctly - please proceed */ - -#include <stdlib.h> - -#include <GL/glut.h> - -#include "internal.h" - -int glutVideoResizeGet(GLenum param) -{ - return 0; -} - -void glutSetupVideoResizing(void) -{ -} - -void glutStopVideoResizing(void) -{ -} - -void glutVideoResize(int x, int y, int width, int height) -{ -} - -void glutVideoPan(int x, int y, int width, int height) -{ -} |