summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes/psplash/psplash-omap3pandora/configurability.patch290
-rw-r--r--recipes/psplash/psplash-omap3pandora/logo-math.patch15
-rw-r--r--recipes/psplash/psplash-omap3pandora/psplash-bar-img.h47
-rw-r--r--recipes/psplash/psplash-omap3pandora/psplash-default2
-rw-r--r--recipes/psplash/psplash-omap3pandora/psplash-hand-img.h15422
-rw-r--r--recipes/psplash/psplash-omap3pandora/psplash-init24
-rw-r--r--recipes/psplash/psplash-omap3pandora/psplash_grayscale.patch83
-rw-r--r--recipes/psplash/psplash-omap3pandora/splashfuncs29
-rw-r--r--recipes/psplash/psplash-omap3pandora/zzapsplash-init4
-rw-r--r--recipes/psplash/psplash-omap3pandora_svn.bb21
10 files changed, 15937 insertions, 0 deletions
diff --git a/recipes/psplash/psplash-omap3pandora/configurability.patch b/recipes/psplash/psplash-omap3pandora/configurability.patch
new file mode 100644
index 0000000000..c9688655c9
--- /dev/null
+++ b/recipes/psplash/psplash-omap3pandora/configurability.patch
@@ -0,0 +1,290 @@
+Index: psplash/psplash.c
+===================================================================
+--- psplash.orig/psplash.c 2007-12-06 11:14:23.000000000 +0000
++++ psplash/psplash.c 2007-12-06 11:19:12.000000000 +0000
+@@ -44,17 +44,17 @@
+
+ /* Clear */
+
+- psplash_fb_draw_rect (fb,
+- 0,
+- fb->height - (fb->height/6) - h,
++ psplash_fb_draw_rect (fb,
++ 0,
++ fb->height - (fb->height/PSPLASH_TEXT_DIVIDER) - h,
+ fb->width,
+ h,
+- 0xec, 0xec, 0xe1);
++ PSPLASH_BACKGROUND_COLOR_R, PSPLASH_BACKGROUND_COLOR_G, PSPLASH_BACKGROUND_COLOR_B);
+
+ psplash_fb_draw_text (fb,
+- (fb->width-w)/2,
+- fb->height - (fb->height/6) - h,
+- 0x6d, 0x6d, 0x70,
++ (fb->width-w)/2,
++ fb->height - (fb->height/PSPLASH_TEXT_DIVIDER) - h,
++ PSPLASH_TEXT_COLOR_R, PSPLASH_TEXT_COLOR_G, PSPLASH_TEXT_COLOR_B,
+ &radeon_font,
+ msg);
+ }
+@@ -66,36 +66,36 @@
+
+ /* 4 pix border */
+ x = ((fb->width - BAR_IMG_WIDTH)/2) + 4 ;
+- y = fb->height - (fb->height/6) + 4;
+- width = BAR_IMG_WIDTH - 8;
++ y = fb->height - (fb->height/PSPLASH_PROGRESS_DIVIDER) + 4;
++ width = BAR_IMG_WIDTH - 8;
+ height = BAR_IMG_HEIGHT - 8;
+
+ if (value > 0)
+ {
+ barwidth = (CLAMP(value,0,100) * width) / 100;
+- psplash_fb_draw_rect (fb, x + barwidth, y,
++ psplash_fb_draw_rect (fb, x + barwidth, y,
+ width - barwidth, height,
+- 0xec, 0xec, 0xe1);
++ PSPLASH_BACKGROUND_COLOR_R, PSPLASH_BACKGROUND_COLOR_G, PSPLASH_BACKGROUND_COLOR_B);
+ psplash_fb_draw_rect (fb, x, y, barwidth,
+- height, 0x6d, 0x6d, 0x70);
++ height, PSPLASH_PROGRESS_COLOR_R, PSPLASH_PROGRESS_COLOR_G, PSPLASH_PROGRESS_COLOR_B);
+ }
+ else
+ {
+ barwidth = (CLAMP(-value,0,100) * width) / 100;
+- psplash_fb_draw_rect (fb, x, y,
++ psplash_fb_draw_rect (fb, x, y,
+ width - barwidth, height,
+- 0xec, 0xec, 0xe1);
++ PSPLASH_BACKGROUND_COLOR_R, PSPLASH_BACKGROUND_COLOR_G, PSPLASH_BACKGROUND_COLOR_B);
+ psplash_fb_draw_rect (fb, x + width - barwidth,
+ y, barwidth, height,
+- 0x6d, 0x6d, 0x70);
++ PSPLASH_PROGRESS_COLOR_R, PSPLASH_PROGRESS_COLOR_G, PSPLASH_PROGRESS_COLOR_B);
+ }
+
+- DBG("value: %i, width: %i, barwidth :%i\n", value,
++ DBG("value: %i, width: %i, barwidth :%i\n", value,
+ width, barwidth);
+ }
+
+-static int
+-parse_command (PSplashFB *fb, char *string, int length)
++static int
++parse_command (PSplashFB *fb, char *string, int length)
+ {
+ char *command;
+ int parsed=0;
+@@ -103,21 +103,21 @@
+ parsed = strlen(string)+1;
+
+ DBG("got cmd %s", string);
+-
++
+ if (strcmp(string,"QUIT") == 0)
+ return 1;
+
+ command = strtok(string," ");
+
+- if (!strcmp(command,"PROGRESS"))
++ if (!strcmp(command,"PROGRESS"))
+ {
+ psplash_draw_progress (fb, atoi(strtok(NULL,"\0")));
+- }
+- else if (!strcmp(command,"MSG"))
++ }
++ else if (!strcmp(command,"MSG"))
+ {
+ psplash_draw_msg (fb, strtok(NULL,"\0"));
+- }
+- else if (!strcmp(command,"QUIT"))
++ }
++ else if (!strcmp(command,"QUIT"))
+ {
+ return 1;
+ }
+@@ -125,8 +125,8 @@
+ return 0;
+ }
+
+-void
+-psplash_main (PSplashFB *fb, int pipe_fd, int timeout)
++void
++psplash_main (PSplashFB *fb, int pipe_fd, int timeout)
+ {
+ int err;
+ ssize_t length = 0;
+@@ -143,14 +143,14 @@
+
+ end = command;
+
+- while (1)
++ while (1)
+ {
+- if (timeout != 0)
++ if (timeout != 0)
+ err = select(pipe_fd+1, &descriptors, NULL, NULL, &tv);
+ else
+ err = select(pipe_fd+1, &descriptors, NULL, NULL, NULL);
+-
+- if (err <= 0)
++
++ if (err <= 0)
+ {
+ /*
+ if (errno == EINTR)
+@@ -158,29 +158,29 @@
+ */
+ return;
+ }
+-
++
+ length += read (pipe_fd, end, sizeof(command) - (end - command));
+
+- if (length == 0)
++ if (length == 0)
+ {
+ /* Reopen to see if there's anything more for us */
+ close(pipe_fd);
+ pipe_fd = open(PSPLASH_FIFO,O_RDONLY|O_NONBLOCK);
+ goto out;
+ }
+-
+- if (command[length-1] == '\0')
++
++ if (command[length-1] == '\0')
+ {
+- if (parse_command(fb, command, strlen(command)))
++ if (parse_command(fb, command, strlen(command)))
+ return;
+ length = 0;
+- }
++ }
+ out:
+ end = &command[length];
+-
++
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+-
++
+ FD_ZERO(&descriptors);
+ FD_SET(pipe_fd,&descriptors);
+ }
+@@ -188,14 +188,14 @@
+ return;
+ }
+
+-int
+-main (int argc, char** argv)
++int
++main (int argc, char** argv)
+ {
+ char *tmpdir;
+ int pipe_fd, i = 0, angle = 0;
+ PSplashFB *fb;
+ bool disable_console_switch = FALSE;
+-
++
+ signal(SIGHUP, psplash_exit);
+ signal(SIGINT, psplash_exit);
+ signal(SIGQUIT, psplash_exit);
+@@ -214,10 +214,10 @@
+ angle = atoi(argv[i]);
+ continue;
+ }
+-
++
+ fail:
+- fprintf(stderr,
+- "Usage: %s [-n|--no-console-switch][-a|--angle <0|90|180|270>]\n",
++ fprintf(stderr,
++ "Usage: %s [-n|--no-console-switch][-a|--angle <0|90|180|270>]\n",
+ argv[0]);
+ exit(-1);
+ }
+@@ -231,7 +231,7 @@
+
+ if (mkfifo(PSPLASH_FIFO, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP))
+ {
+- if (errno!=EEXIST)
++ if (errno!=EEXIST)
+ {
+ perror("mkfifo");
+ exit(-1);
+@@ -239,8 +239,8 @@
+ }
+
+ pipe_fd = open (PSPLASH_FIFO,O_RDONLY|O_NONBLOCK);
+-
+- if (pipe_fd==-1)
++
++ if (pipe_fd==-1)
+ {
+ perror("pipe open");
+ exit(-2);
+@@ -253,29 +253,29 @@
+ exit(-1);
+
+ /* Clear the background with #ecece1 */
+- psplash_fb_draw_rect (fb, 0, 0, fb->width, fb->height, 0xec, 0xec, 0xe1);
++ psplash_fb_draw_rect (fb, 0, 0, fb->width, fb->height, PSPLASH_BACKGROUND_COLOR_R, PSPLASH_BACKGROUND_COLOR_G, PSPLASH_BACKGROUND_COLOR_B);
+
+ /* Draw the OH logo */
+- psplash_fb_draw_image (fb,
+- (fb->width - HAND_IMG_WIDTH)/2,
+- ((fb->height * 5) / 6 - HAND_IMG_HEIGHT)/2,
++ psplash_fb_draw_image (fb,
++ (fb->width - HAND_IMG_WIDTH)/2,
++ (fb->height - HAND_IMG_HEIGHT)/2,
+ HAND_IMG_WIDTH,
+ HAND_IMG_HEIGHT,
+ HAND_IMG_BYTES_PER_PIXEL,
+ HAND_IMG_RLE_PIXEL_DATA);
+
+ /* Draw progress bar border */
+- psplash_fb_draw_image (fb,
+- (fb->width - BAR_IMG_WIDTH)/2,
+- fb->height - (fb->height/6),
++ psplash_fb_draw_image (fb,
++ (fb->width - BAR_IMG_WIDTH)/2,
++ fb->height - (fb->height/PSPLASH_PROGRESS_DIVIDER),
+ BAR_IMG_WIDTH,
+ BAR_IMG_HEIGHT,
+ BAR_IMG_BYTES_PER_PIXEL,
+ BAR_IMG_RLE_PIXEL_DATA);
+
+- psplash_draw_progress (fb, 0);
++ psplash_draw_progress (fb, 0); /* draw initial progress */
+
+- psplash_draw_msg (fb, MSG);
++ if (strlen(MSG)) psplash_draw_msg (fb, MSG);
+
+ psplash_main (fb, pipe_fd, 0);
+
+Index: psplash/psplash.h
+===================================================================
+--- psplash.orig/psplash.h 2007-12-06 11:15:35.000000000 +0000
++++ psplash/psplash.h 2007-12-06 11:15:45.000000000 +0000
+@@ -54,6 +54,21 @@
+ #define TRUE 1
+ #endif
+
++#define PSPLASH_BACKGROUND_COLOR_R 0x00
++#define PSPLASH_BACKGROUND_COLOR_G 0x00
++#define PSPLASH_BACKGROUND_COLOR_B 0x00
++
++#define PSPLASH_PROGRESS_COLOR_R 0xe3
++#define PSPLASH_PROGRESS_COLOR_G 0x71
++#define PSPLASH_PROGRESS_COLOR_B 0x00
++
++#define PSPLASH_TEXT_COLOR_R 0xff
++#define PSPLASH_TEXT_COLOR_G 0xff
++#define PSPLASH_TEXT_COLOR_B 0xff
++
++#define PSPLASH_PROGRESS_DIVIDER 3
++#define PSPLASH_TEXT_DIVIDER 3
++
+ #define PSPLASH_FIFO "psplash_fifo"
+
+ #define CLAMP(x, low, high) \
diff --git a/recipes/psplash/psplash-omap3pandora/logo-math.patch b/recipes/psplash/psplash-omap3pandora/logo-math.patch
new file mode 100644
index 0000000000..21467af0ec
--- /dev/null
+++ b/recipes/psplash/psplash-omap3pandora/logo-math.patch
@@ -0,0 +1,15 @@
+upstream: http://bugzilla.openedhand.com/show_bug.cgi?id=801
+comment:
+Do better math when showing logo vs progressbar.
+
+--- psplash/psplash.c.org 2007-09-22 20:33:36.000000000 +0300
++++ psplash/psplash.c 2007-12-01 21:27:08.000000000 +0200
+@@ -258,7 +258,7 @@
+ /* Draw the OH logo */
+ psplash_fb_draw_image (fb,
+ (fb->width - HAND_IMG_WIDTH)/2,
+- (fb->height - HAND_IMG_HEIGHT)/2,
++ ((fb->height * 5) / 6 - HAND_IMG_HEIGHT)/2,
+ HAND_IMG_WIDTH,
+ HAND_IMG_HEIGHT,
+ HAND_IMG_BYTES_PER_PIXEL,
diff --git a/recipes/psplash/psplash-omap3pandora/psplash-bar-img.h b/recipes/psplash/psplash-omap3pandora/psplash-bar-img.h
new file mode 100644
index 0000000000..c1c76265d3
--- /dev/null
+++ b/recipes/psplash/psplash-omap3pandora/psplash-bar-img.h
@@ -0,0 +1,47 @@
+/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
+
+#define BAR_IMG_ROWSTRIDE (920)
+#define BAR_IMG_WIDTH (230)
+#define BAR_IMG_HEIGHT (28)
+#define BAR_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
+#define BAR_IMG_RLE_PIXEL_DATA ((uint8*) \
+ "\203\354\354\341\377\4\326\326\315\377\236\236\233\377\200\200\201\377" \
+ "nnq\377\377mmp\377\331mmp\377\4nnq\377\200\200\201\377\236\236\233\377" \
+ "\326\326\315\377\205\354\354\341\377\2\260\260\253\377oor\377\377mmp" \
+ "\377\337mmp\377\2oor\377\260\260\253\377\203\354\354\341\377\1\262\262" \
+ "\256\377\377mmp\377\343mmp\377\4\262\262\256\377\354\354\341\377\332" \
+ "\332\321\377pps\377\377mmp\377\343mmp\377\3pps\377\332\332\321\377\244" \
+ "\244\241\377\204mmp\377\1\205\205\205\377\377\354\354\341\377\333\354" \
+ "\354\341\377\1\205\205\205\377\204mmp\377\2\244\244\241\377\210\210\210" \
+ "\377\203mmp\377\2\203\203\203\377\351\351\336\377\377\354\354\341\377" \
+ "\333\354\354\341\377\2\351\351\336\377\203\203\203\377\203mmp\377\2\210" \
+ "\210\210\377qqs\377\203mmp\377\1\255\255\251\377\377\354\354\341\377" \
+ "\335\354\354\341\377\1\255\255\251\377\203mmp\377\1qqs\377\204mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\210mmp\377" \
+ "\1\270\270\262\377\377\354\354\341\377\336\354\354\341\377\204mmp\377" \
+ "\1qqs\377\203mmp\377\1\255\255\251\377\377\354\354\341\377\335\354\354" \
+ "\341\377\1\255\255\251\377\203mmp\377\2qqs\377\210\210\210\377\203mm" \
+ "p\377\2\203\203\203\377\351\351\336\377\377\354\354\341\377\333\354\354" \
+ "\341\377\2\351\351\336\377\203\203\203\377\203mmp\377\2\210\210\210\377" \
+ "\244\244\241\377\204mmp\377\1\205\205\205\377\377\354\354\341\377\333" \
+ "\354\354\341\377\1\205\205\205\377\204mmp\377\3\244\244\241\377\332\332" \
+ "\321\377pps\377\377mmp\377\343mmp\377\4pps\377\332\332\321\377\354\354" \
+ "\341\377\262\262\256\377\377mmp\377\343mmp\377\1\262\262\256\377\203" \
+ "\354\354\341\377\2\260\260\253\377oor\377\377mmp\377\337mmp\377\2oor" \
+ "\377\260\260\253\377\205\354\354\341\377\4\326\326\315\377\236\236\233" \
+ "\377\200\200\201\377nnq\377\377mmp\377\331mmp\377\4nnq\377\200\200\201" \
+ "\377\236\236\233\377\326\326\315\377\203\354\354\341\377")
+
+
diff --git a/recipes/psplash/psplash-omap3pandora/psplash-default b/recipes/psplash/psplash-omap3pandora/psplash-default
new file mode 100644
index 0000000000..a5a53d771d
--- /dev/null
+++ b/recipes/psplash/psplash-omap3pandora/psplash-default
@@ -0,0 +1,2 @@
+# Parameters to pass to psplash
+PARAMS=""
diff --git a/recipes/psplash/psplash-omap3pandora/psplash-hand-img.h b/recipes/psplash/psplash-omap3pandora/psplash-hand-img.h
new file mode 100644
index 0000000000..13c64cfc8b
--- /dev/null
+++ b/recipes/psplash/psplash-omap3pandora/psplash-hand-img.h
@@ -0,0 +1,15422 @@
+/* GdkPixbuf RGB C-Source image dump 1-byte-run-length-encoded */
+
+#define HAND_IMG_ROWSTRIDE (2400)
+#define HAND_IMG_WIDTH (800)
+#define HAND_IMG_HEIGHT (480)
+#define HAND_IMG_BYTES_PER_PIXEL (3) /* 3:RGB, 4:RGBA */
+#define HAND_IMG_RLE_PIXEL_DATA ((uint8*) \
+ "\347\0\0\0\202\0\0\1\1\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202" \
+ "\0\0\3\1\0\0\2\202\0\0\3\202\0\0\4\1\0\0\3\202\0\0\4\202\0\0\5\1\0\0" \
+ "\4\202\0\0\5\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\7\1\0\0\6\202\0\0\7" \
+ "\202\0\0\10\1\0\0\7\202\0\0\10\202\0\0\11\1\0\0\10\202\0\0\11\202\0\0" \
+ "\12\1\0\0\11\202\0\0\12\203\0\0\13\202\0\0\12\203\0\0\13\203\0\0\14\202" \
+ "\0\0\13\202\0\0\14\203\0\0\15\202\0\0\14\203\0\0\15\203\0\0\16\202\0" \
+ "\0\15\202\0\0\16\215\0\0\17\203\0\0\16\202\0\0\15\203\0\0\16\202\0\0" \
+ "\15\202\0\0\14\203\0\0\15\203\0\0\14\202\0\0\13\203\0\0\14\202\0\0\13" \
+ "\1\0\0\12\202\0\0\13\202\0\0\12\202\0\0\11\203\0\0\12\203\0\0\11\2\0" \
+ "\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0\7\2\0\0\6\0\0\7\203\0" \
+ "\0\6\2\0\0\5\0\0\6\203\0\0\5\2\0\0\4\0\0\5\203\0\0\4\2\0\0\3\0\0\4\203" \
+ "\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\2\0\0\0\0\0\1" \
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0\0\202\0\0\1\1\0\0\0" \
+ "\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0\3\202" \
+ "\0\0\4\1\0\0\3\202\0\0\4\5\0\0\5\0\0\4\0\0\3\0\0\4\0\0\5\202\0\0\6\3" \
+ "\0\0\4\0\0\5\0\0\6\202\0\0\7\1\0\0\5\202\0\0\6\202\0\0\10\1\0\0\7\202" \
+ "\0\0\10\202\0\0\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\10\202\0\0\12" \
+ "\203\0\0\13\202\0\0\11\203\0\0\12\3\0\0\14\0\0\13\0\0\14\202\0\0\13\202" \
+ "\0\0\14\1\0\0\15\204\0\0\14\205\0\0\15\1\0\0\16\202\0\0\15\202\0\0\16" \
+ "\215\0\0\17\203\0\0\16\204\0\0\15\1\0\0\16\202\0\0\15\202\0\0\14\1\0" \
+ "\0\15\205\0\0\14\203\0\0\13\202\0\0\14\202\0\0\13\202\0\0\12\1\0\0\13" \
+ "\202\0\0\12\202\0\0\11\3\0\0\12\0\0\11\0\0\12\203\0\0\11\2\0\0\10\0\0" \
+ "\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0\7\2\0\0\6\0\0\7\203\0\0\5\3\0\0" \
+ "\4\0\0\6\0\0\5\202\0\0\4\3\0\0\3\0\0\5\0\0\4\202\0\0\3\2\0\0\2\0\0\4" \
+ "\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\2\0\0\0\0" \
+ "\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0\0\202\0\0\1\1\0" \
+ "\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0" \
+ "\3\203\0\0\4\203\0\0\5\202\0\0\4\202\0\0\5\202\0\0\6\1\0\0\5\202\0\0" \
+ "\6\202\0\0\7\1\0\0\6\202\0\0\7\202\0\0\10\1\0\0\7\202\0\0\10\202\0\0" \
+ "\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\11\202\0\0\12\203\0\0\13\202" \
+ "\0\0\12\203\0\0\13\2\0\0\14\0\0\13\203\0\0\14\203\0\0\15\202\0\0\14\202" \
+ "\0\0\15\203\0\0\16\202\0\0\15\203\0\0\16\222\0\0\17\202\0\0\16\202\0" \
+ "\0\15\203\0\0\16\203\0\0\15\202\0\0\14\203\0\0\15\202\0\0\14\1\0\0\13" \
+ "\202\0\0\14\202\0\0\13\202\0\0\12\203\0\0\13\203\0\0\12\2\0\0\11\0\0" \
+ "\12\203\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0\7\2" \
+ "\0\0\6\0\0\7\203\0\0\6\2\0\0\5\0\0\6\203\0\0\5\2\0\0\4\0\0\5\203\0\0" \
+ "\4\2\0\0\3\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203" \
+ "\0\0\1\2\0\0\0\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0" \
+ "\0\202\0\0\1\1\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3" \
+ "\1\0\0\2\202\0\0\3\203\0\0\4\3\0\0\5\0\0\4\0\0\5\202\0\0\4\202\0\0\5" \
+ "\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\7\1\0\0\6\202\0\0\7\1\0\0\10\202" \
+ "\0\0\7\202\0\0\10\202\0\0\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\11" \
+ "\202\0\0\12\202\0\0\13\203\0\0\12\204\0\0\13\1\0\0\12\203\0\0\14\203" \
+ "\0\0\15\202\0\0\13\202\0\0\15\203\0\0\16\202\0\0\14\1\0\0\15\202\0\0" \
+ "\16\207\0\0\17\203\0\0\16\210\0\0\17\202\0\0\16\202\0\0\14\203\0\0\16" \
+ "\203\0\0\15\202\0\0\13\203\0\0\15\202\0\0\14\1\0\0\12\202\0\0\14\202" \
+ "\0\0\12\202\0\0\11\203\0\0\13\203\0\0\12\2\0\0\10\0\0\12\203\0\0\11\2" \
+ "\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0\6\1\0\0\5\204\0\0\6" \
+ "\2\0\0\5\0\0\6\203\0\0\5\2\0\0\4\0\0\5\203\0\0\4\2\0\0\3\0\0\4\203\0" \
+ "\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\2\0\0\0\0\0\1\377" \
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0\0\202\0\0\1\1\0\0\0\202" \
+ "\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0\3\203\0" \
+ "\0\4\2\0\0\5\0\0\4\203\0\0\5\2\0\0\6\0\0\5\203\0\0\6\2\0\0\7\0\0\6\203" \
+ "\0\0\7\203\0\0\10\202\0\0\7\202\0\0\10\202\0\0\11\1\0\0\10\202\0\0\11" \
+ "\202\0\0\12\1\0\0\11\202\0\0\12\202\0\0\13\1\0\0\12\202\0\0\13\203\0" \
+ "\0\14\202\0\0\13\203\0\0\14\203\0\0\15\202\0\0\14\202\0\0\15\203\0\0" \
+ "\16\202\0\0\15\203\0\0\16\222\0\0\17\202\0\0\16\202\0\0\15\203\0\0\16" \
+ "\203\0\0\15\202\0\0\14\203\0\0\15\202\0\0\14\1\0\0\13\202\0\0\14\202" \
+ "\0\0\13\202\0\0\12\203\0\0\13\203\0\0\12\2\0\0\11\0\0\12\203\0\0\11\2" \
+ "\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0\7\202\0\0\6\203\0\0" \
+ "\7\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\5\1\0\0\4\202\0\0\5\202\0\0\4" \
+ "\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\2\0\0\0\0" \
+ "\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0\0\202\0\0\1\1\0" \
+ "\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\3\0\0\1\0\0\2\0" \
+ "\0\3\203\0\0\4\2\0\0\5\0\0\3\203\0\0\5\2\0\0\6\0\0\5\203\0\0\6\2\0\0" \
+ "\7\0\0\6\203\0\0\7\203\0\0\10\2\0\0\6\0\0\7\202\0\0\10\202\0\0\11\1\0" \
+ "\0\10\202\0\0\11\202\0\0\12\1\0\0\11\202\0\0\12\202\0\0\13\1\0\0\11\202" \
+ "\0\0\13\203\0\0\14\2\0\0\12\0\0\13\203\0\0\14\203\0\0\15\202\0\0\14\202" \
+ "\0\0\15\202\0\0\16\203\0\0\15\203\0\0\16\203\0\0\17\204\0\0\16\203\0" \
+ "\0\17\205\0\0\16\203\0\0\17\202\0\0\16\202\0\0\15\3\0\0\16\0\0\15\0\0" \
+ "\16\203\0\0\15\202\0\0\14\203\0\0\15\202\0\0\14\202\0\0\13\1\0\0\14\202" \
+ "\0\0\13\202\0\0\12\3\0\0\13\0\0\12\0\0\13\203\0\0\12\2\0\0\11\0\0\12" \
+ "\203\0\0\11\2\0\0\10\0\0\11\203\0\0\10\205\0\0\7\203\0\0\6\202\0\0\7" \
+ "\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\5\1\0\0\4\202\0\0\5\202\0\0\4\203" \
+ "\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\2\0\0\0\0\0\1" \
+ "\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0\0\202\0\0\1\1\0\0\0" \
+ "\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0\3\203" \
+ "\0\0\4\2\0\0\5\0\0\4\203\0\0\5\2\0\0\6\0\0\5\203\0\0\6\2\0\0\7\0\0\6" \
+ "\203\0\0\7\203\0\0\10\202\0\0\7\202\0\0\10\202\0\0\11\1\0\0\10\202\0" \
+ "\0\11\202\0\0\12\1\0\0\11\202\0\0\12\202\0\0\13\1\0\0\12\202\0\0\13\203" \
+ "\0\0\14\202\0\0\13\203\0\0\14\203\0\0\15\202\0\0\14\202\0\0\15\202\0" \
+ "\0\16\1\0\0\15\202\0\0\16\206\0\0\17\202\0\0\16\202\0\0\17\203\0\0\20" \
+ "\203\0\0\17\202\0\0\16\205\0\0\17\203\0\0\16\2\0\0\15\0\0\16\203\0\0" \
+ "\15\202\0\0\14\203\0\0\15\202\0\0\14\202\0\0\13\203\0\0\14\203\0\0\13" \
+ "\2\0\0\12\0\0\13\203\0\0\12\2\0\0\11\0\0\12\203\0\0\11\2\0\0\10\0\0\11" \
+ "\203\0\0\10\202\0\0\7\203\0\0\10\202\0\0\7\1\0\0\6\202\0\0\7\202\0\0" \
+ "\6\1\0\0\5\202\0\0\6\202\0\0\5\1\0\0\4\202\0\0\5\202\0\0\4\203\0\0\3" \
+ "\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\2\0\0\0\0\0\1\377\0" \
+ "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0\0\202\0\0\1\1\0\0\0\202\0" \
+ "\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0\3\203\0\0" \
+ "\4\2\0\0\5\0\0\4\203\0\0\5\2\0\0\6\0\0\5\203\0\0\6\2\0\0\7\0\0\6\203" \
+ "\0\0\7\203\0\0\10\202\0\0\7\202\0\0\10\202\0\0\11\1\0\0\10\202\0\0\11" \
+ "\202\0\0\12\1\0\0\11\202\0\0\12\202\0\0\13\1\0\0\12\202\0\0\13\203\0" \
+ "\0\14\202\0\0\13\203\0\0\14\203\0\0\15\202\0\0\14\202\0\0\15\202\0\0" \
+ "\16\1\0\0\14\202\0\0\16\203\0\0\17\202\0\0\16\1\0\0\17\202\0\0\16\202" \
+ "\0\0\17\203\0\0\20\203\0\0\17\204\0\0\16\203\0\0\17\203\0\0\16\2\0\0" \
+ "\14\0\0\16\203\0\0\15\202\0\0\14\203\0\0\15\202\0\0\14\2\0\0\13\0\0\12" \
+ "\203\0\0\14\203\0\0\13\2\0\0\11\0\0\13\203\0\0\12\2\0\0\11\0\0\12\203" \
+ "\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\6\203\0\0\10\202\0\0\7" \
+ "\1\0\0\5\202\0\0\7\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\5\1\0\0\4\202" \
+ "\0\0\5\202\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203" \
+ "\0\0\1\2\0\0\0\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0" \
+ "\0\202\0\0\1\1\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\203\0\0\3" \
+ "\2\0\0\4\0\0\3\203\0\0\4\2\0\0\5\0\0\4\203\0\0\5\2\0\0\6\0\0\5\203\0" \
+ "\0\6\2\0\0\7\0\0\6\203\0\0\7\203\0\0\10\202\0\0\7\202\0\0\10\202\0\0" \
+ "\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\11\202\0\0\12\202\0\0\13\1\0" \
+ "\0\12\202\0\0\13\203\0\0\14\202\0\0\13\203\0\0\14\203\0\0\15\202\0\0" \
+ "\14\202\0\0\15\202\0\0\16\1\0\0\15\202\0\0\16\203\0\0\17\202\0\0\16\203" \
+ "\0\0\17\210\0\0\20\202\0\0\17\202\0\0\16\203\0\0\17\203\0\0\16\2\0\0" \
+ "\15\0\0\16\203\0\0\15\202\0\0\14\203\0\0\15\202\0\0\14\202\0\0\13\203" \
+ "\0\0\14\203\0\0\13\2\0\0\12\0\0\13\203\0\0\12\2\0\0\11\0\0\12\203\0\0" \
+ "\11\2\0\0\10\0\0\11\203\0\0\10\202\0\0\7\203\0\0\10\202\0\0\7\1\0\0\6" \
+ "\202\0\0\7\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\5\1\0\0\4\202\0\0\5\202" \
+ "\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\2\0" \
+ "\0\0\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0\0\202\0\0" \
+ "\1\1\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202" \
+ "\0\0\3\203\0\0\4\2\0\0\5\0\0\4\203\0\0\5\2\0\0\6\0\0\5\203\0\0\6\2\0" \
+ "\0\7\0\0\5\203\0\0\7\203\0\0\10\2\0\0\6\0\0\7\202\0\0\10\202\0\0\11\1" \
+ "\0\0\10\202\0\0\11\202\0\0\12\1\0\0\11\202\0\0\12\202\0\0\13\1\0\0\11" \
+ "\202\0\0\13\203\0\0\14\2\0\0\12\0\0\13\203\0\0\14\203\0\0\15\202\0\0" \
+ "\14\202\0\0\15\202\0\0\16\1\0\0\14\202\0\0\16\203\0\0\17\202\0\0\16\1" \
+ "\0\0\17\202\0\0\16\202\0\0\17\203\0\0\20\203\0\0\17\204\0\0\16\1\0\0" \
+ "\17\202\0\0\16\202\0\0\15\3\0\0\16\0\0\15\0\0\16\203\0\0\15\202\0\0\14" \
+ "\203\0\0\15\202\0\0\14\2\0\0\13\0\0\12\203\0\0\14\203\0\0\13\2\0\0\11" \
+ "\0\0\13\203\0\0\12\2\0\0\11\0\0\12\203\0\0\11\2\0\0\10\0\0\11\203\0\0" \
+ "\10\205\0\0\7\203\0\0\6\202\0\0\7\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0" \
+ "\5\1\0\0\4\202\0\0\5\202\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0" \
+ "\0\1\0\0\2\203\0\0\1\2\0\0\0\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377" \
+ "\0\0\0\367\0\0\0\202\0\0\1\1\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0" \
+ "\0\2\202\0\0\3\1\0\0\2\202\0\0\3\203\0\0\4\2\0\0\5\0\0\4\203\0\0\5\2" \
+ "\0\0\6\0\0\5\203\0\0\6\2\0\0\7\0\0\6\203\0\0\7\203\0\0\10\202\0\0\7\202" \
+ "\0\0\10\202\0\0\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\11\202\0\0\12" \
+ "\202\0\0\13\1\0\0\12\202\0\0\13\203\0\0\14\202\0\0\13\203\0\0\14\203" \
+ "\0\0\15\202\0\0\14\202\0\0\15\202\0\0\16\1\0\0\15\202\0\0\16\206\0\0" \
+ "\17\202\0\0\16\202\0\0\17\203\0\0\20\203\0\0\17\202\0\0\16\203\0\0\17" \
+ "\202\0\0\16\202\0\0\15\203\0\0\16\203\0\0\15\202\0\0\14\203\0\0\15\202" \
+ "\0\0\14\202\0\0\13\203\0\0\14\203\0\0\13\2\0\0\12\0\0\13\203\0\0\12\2" \
+ "\0\0\11\0\0\12\203\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203" \
+ "\0\0\7\202\0\0\6\203\0\0\7\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\5\1\0" \
+ "\0\4\202\0\0\5\202\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0" \
+ "\0\2\203\0\0\1\2\0\0\0\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" \
+ "\367\0\0\0\202\0\0\1\1\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202" \
+ "\0\0\3\3\0\0\1\0\0\2\0\0\3\203\0\0\4\2\0\0\5\0\0\4\203\0\0\5\2\0\0\6" \
+ "\0\0\5\203\0\0\6\3\0\0\7\0\0\6\0\0\7\202\0\0\6\202\0\0\7\1\0\0\10\202" \
+ "\0\0\7\202\0\0\10\202\0\0\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\11" \
+ "\202\0\0\12\202\0\0\13\203\0\0\12\205\0\0\13\203\0\0\14\203\0\0\15\202" \
+ "\0\0\14\202\0\0\15\202\0\0\16\203\0\0\15\203\0\0\16\203\0\0\17\204\0" \
+ "\0\16\203\0\0\17\205\0\0\16\203\0\0\17\202\0\0\16\202\0\0\14\203\0\0" \
+ "\16\203\0\0\15\202\0\0\14\203\0\0\15\202\0\0\14\202\0\0\13\1\0\0\14\202" \
+ "\0\0\13\202\0\0\12\3\0\0\13\0\0\12\0\0\13\203\0\0\12\2\0\0\11\0\0\12" \
+ "\203\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0\6\202\0" \
+ "\0\5\203\0\0\7\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\5\203\0\0\4\2\0\0" \
+ "\3\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\2" \
+ "\0\0\0\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0\0\202\0" \
+ "\0\1\1\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2" \
+ "\202\0\0\3\203\0\0\4\2\0\0\5\0\0\4\203\0\0\5\2\0\0\6\0\0\5\203\0\0\6" \
+ "\203\0\0\7\202\0\0\6\202\0\0\7\202\0\0\10\1\0\0\7\202\0\0\10\202\0\0" \
+ "\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\11\202\0\0\12\203\0\0\13\202" \
+ "\0\0\12\203\0\0\13\2\0\0\14\0\0\13\203\0\0\14\203\0\0\15\202\0\0\14\202" \
+ "\0\0\15\203\0\0\16\202\0\0\15\203\0\0\16\222\0\0\17\202\0\0\16\202\0" \
+ "\0\15\203\0\0\16\203\0\0\15\202\0\0\14\203\0\0\15\202\0\0\14\1\0\0\13" \
+ "\202\0\0\14\202\0\0\13\202\0\0\12\203\0\0\13\203\0\0\12\2\0\0\11\0\0" \
+ "\12\203\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0\7\202" \
+ "\0\0\6\203\0\0\7\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\5\203\0\0\4\2\0" \
+ "\0\3\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1" \
+ "\2\0\0\0\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\367\0\0\0\202" \
+ "\0\0\1\1\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0" \
+ "\2\202\0\0\3\202\0\0\4\1\0\0\3\202\0\0\4\202\0\0\5\1\0\0\4\202\0\0\5" \
+ "\202\0\0\6\1\0\0\5\202\0\0\6\3\0\0\7\0\0\6\0\0\5\202\0\0\6\202\0\0\10" \
+ "\1\0\0\7\202\0\0\10\202\0\0\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\10" \
+ "\202\0\0\12\203\0\0\13\202\0\0\11\203\0\0\12\2\0\0\14\0\0\12\203\0\0" \
+ "\14\203\0\0\15\202\0\0\13\202\0\0\15\203\0\0\16\205\0\0\15\202\0\0\16" \
+ "\205\0\0\17\203\0\0\16\205\0\0\17\203\0\0\16\204\0\0\15\203\0\0\16\203" \
+ "\0\0\15\202\0\0\13\203\0\0\15\202\0\0\14\1\0\0\12\202\0\0\14\202\0\0" \
+ "\12\202\0\0\11\203\0\0\13\203\0\0\12\2\0\0\10\0\0\12\203\0\0\11\2\0\0" \
+ "\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0\7\205\0\0\6\2\0\0\5\0\0" \
+ "\6\203\0\0\5\3\0\0\4\0\0\5\0\0\4\202\0\0\3\2\0\0\2\0\0\4\203\0\0\3\2" \
+ "\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\2\0\0\0\0\0\1\377\0\0" \
+ "\0\377\0\0\0\377\0\0\0\377\0\0\0\362\0\0\0\202\0\0\1\1\0\0\0\202\0\0" \
+ "\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0\3\202\0\0\4" \
+ "\1\0\0\3\202\0\0\4\202\0\0\5\1\0\0\4\202\0\0\5\202\0\0\6\1\0\0\5\202" \
+ "\0\0\6\202\0\0\7\1\0\0\6\202\0\0\7\202\0\0\10\1\0\0\7\202\0\0\10\202" \
+ "\0\0\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\11\202\0\0\12\202\0\0\13" \
+ "\1\0\0\12\202\0\0\13\203\0\0\14\202\0\0\13\203\0\0\14\2\0\0\15\0\0\14" \
+ "\203\0\0\15\203\0\0\16\202\0\0\15\202\0\0\16\206\0\0\17\202\0\0\16\202" \
+ "\0\0\17\215\0\0\20\203\0\0\17\202\0\0\16\205\0\0\17\203\0\0\16\202\0" \
+ "\0\15\203\0\0\16\202\0\0\15\1\0\0\14\202\0\0\15\202\0\0\14\202\0\0\13" \
+ "\203\0\0\14\203\0\0\13\2\0\0\12\0\0\13\203\0\0\12\2\0\0\11\0\0\12\203" \
+ "\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0\7\2\0\0\6\0" \
+ "\0\7\203\0\0\6\2\0\0\5\0\0\6\203\0\0\5\2\0\0\4\0\0\5\203\0\0\4\2\0\0" \
+ "\3\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0\0\2\203\0\0\1\377" \
+ "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\362\0\0\0\202\0\0\1\202\0\0\2\1" \
+ "\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0\3\202\0\0\4\1\0\0\3\202\0" \
+ "\0\4\202\0\0\5\3\0\0\3\0\0\4\0\0\5\202\0\0\6\3\0\0\4\0\0\5\0\0\6\202" \
+ "\0\0\7\1\0\0\5\202\0\0\6\202\0\0\10\1\0\0\7\202\0\0\10\202\0\0\11\1\0" \
+ "\0\10\202\0\0\11\202\0\0\12\1\0\0\10\202\0\0\12\202\0\0\13\203\0\0\12" \
+ "\204\0\0\13\1\0\0\12\203\0\0\14\3\0\0\15\0\0\14\0\0\15\202\0\0\14\202" \
+ "\0\0\15\1\0\0\16\204\0\0\15\203\0\0\16\203\0\0\17\204\0\0\16\203\0\0" \
+ "\17\210\0\0\20\202\0\0\17\205\0\0\16\203\0\0\17\202\0\0\16\202\0\0\15" \
+ "\1\0\0\16\205\0\0\15\203\0\0\14\202\0\0\15\202\0\0\14\3\0\0\12\0\0\13" \
+ "\0\0\14\202\0\0\13\202\0\0\12\3\0\0\13\0\0\12\0\0\13\203\0\0\12\2\0\0" \
+ "\10\0\0\12\203\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0" \
+ "\0\6\3\0\0\5\0\0\7\0\0\6\202\0\0\5\2\0\0\4\0\0\6\203\0\0\5\2\0\0\4\0" \
+ "\0\5\203\0\0\4\2\0\0\3\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0" \
+ "\1\0\0\2\203\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\362\0\0\0" \
+ "\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0\3\202" \
+ "\0\0\4\1\0\0\3\202\0\0\4\202\0\0\5\1\0\0\4\202\0\0\5\202\0\0\6\1\0\0" \
+ "\5\202\0\0\6\202\0\0\7\1\0\0\6\202\0\0\7\202\0\0\10\1\0\0\7\202\0\0\10" \
+ "\202\0\0\11\1\0\0\10\202\0\0\11\202\0\0\12\1\0\0\11\202\0\0\12\203\0" \
+ "\0\13\202\0\0\12\203\0\0\13\2\0\0\14\0\0\13\203\0\0\14\203\0\0\15\202" \
+ "\0\0\14\202\0\0\15\203\0\0\16\202\0\0\15\203\0\0\16\205\0\0\17\202\0" \
+ "\0\16\203\0\0\17\210\0\0\20\202\0\0\17\202\0\0\16\206\0\0\17\202\0\0" \
+ "\16\202\0\0\15\203\0\0\16\203\0\0\15\202\0\0\14\203\0\0\15\202\0\0\14" \
+ "\1\0\0\13\202\0\0\14\202\0\0\13\202\0\0\12\203\0\0\13\203\0\0\12\2\0" \
+ "\0\11\0\0\12\203\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203" \
+ "\0\0\7\2\0\0\6\0\0\7\203\0\0\6\2\0\0\5\0\0\6\203\0\0\5\2\0\0\4\0\0\5" \
+ "\203\0\0\4\2\0\0\3\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2\0\0\1\0" \
+ "\0\2\203\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\362\0\0\0\202" \
+ "\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0\3\202\0" \
+ "\0\4\1\0\0\3\202\0\0\4\202\0\0\5\1\0\0\4\202\0\0\5\202\0\0\6\1\0\0\5" \
+ "\202\0\0\6\202\0\0\7\1\0\0\6\202\0\0\7\202\0\0\10\1\0\0\7\202\0\0\10" \
+ "\202\0\0\11\1\0\0\10\202\0\0\11\202\0\0\12\203\0\0\11\204\0\0\12\1\0" \
+ "\0\11\203\0\0\12\3\0\0\14\0\0\13\0\0\14\202\0\0\13\202\0\0\14\3\0\0\15" \
+ "\0\0\14\0\0\13\202\0\0\15\203\0\0\16\205\0\0\15\202\0\0\16\203\0\0\17" \
+ "\205\0\0\16\210\0\0\17\204\0\0\16\203\0\0\17\203\0\0\16\204\0\0\15\203" \
+ "\0\0\16\202\0\0\15\2\0\0\14\0\0\13\204\0\0\14\203\0\0\13\202\0\0\14\202" \
+ "\0\0\12\3\0\0\11\0\0\12\0\0\13\202\0\0\12\202\0\0\11\3\0\0\12\0\0\11" \
+ "\0\0\12\203\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203\0\0" \
+ "\7\2\0\0\6\0\0\7\203\0\0\6\2\0\0\5\0\0\6\203\0\0\5\2\0\0\4\0\0\5\203" \
+ "\0\0\4\2\0\0\3\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\202\0\0\1\1\0" \
+ "\0\0\202\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\362\0\0\0\202" \
+ "\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0\0\2\202\0\0\3\202\0" \
+ "\0\4\1\0\0\3\202\0\0\4\202\0\0\5\1\0\0\4\202\0\0\5\202\0\0\6\1\0\0\5" \
+ "\202\0\0\6\202\0\0\7\1\0\0\6\202\0\0\7\202\0\0\10\1\0\0\7\202\0\0\10" \
+ "\202\0\0\11\1\0\0\10\202\0\0\11\203\0\0\12\202\0\0\11\203\0\0\12\2\0" \
+ "\0\13\0\0\12\203\0\0\13\203\0\0\14\202\0\0\13\202\0\0\14\202\0\0\15\1" \
+ "\0\0\14\202\0\0\15\206\0\0\16\202\0\0\15\202\0\0\16\227\0\0\17\203\0" \
+ "\0\16\202\0\0\15\205\0\0\16\203\0\0\15\2\0\0\14\0\0\15\203\0\0\14\202" \
+ "\0\0\13\203\0\0\14\202\0\0\13\1\0\0\12\202\0\0\13\202\0\0\12\202\0\0" \
+ "\11\203\0\0\12\203\0\0\11\2\0\0\10\0\0\11\203\0\0\10\2\0\0\7\0\0\10\203" \
+ "\0\0\7\2\0\0\6\0\0\7\203\0\0\6\2\0\0\5\0\0\6\203\0\0\5\2\0\0\4\0\0\5" \
+ "\203\0\0\4\2\0\0\3\0\0\4\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\202\0\0\1" \
+ "\1\0\0\0\202\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\376\0\0\0" \
+ "\202\0\0\1\1\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1" \
+ "\0\0\2\202\0\0\3\202\0\0\4\1\0\0\3\202\0\0\4\202\0\0\5\1\0\0\4\202\0" \
+ "\0\5\202\0\0\7\1\0\0\5\202\0\0\7\203\0\0\10\202\0\0\6\203\0\0\10\2\0" \
+ "\0\11\0\0\10\203\0\0\11\203\0\0\12\202\0\0\11\202\0\0\12\202\0\0\13\203" \
+ "\0\0\12\203\0\0\13\203\0\0\14\202\0\0\13\202\0\0\14\227\0\0\15\203\0" \
+ "\0\14\202\0\0\13\203\0\0\14\202\0\0\13\202\0\0\12\3\0\0\13\0\0\12\0\0" \
+ "\13\203\0\0\12\202\0\0\11\203\0\0\12\202\0\0\11\1\0\0\10\202\0\0\11\202" \
+ "\0\0\10\202\0\0\7\203\0\0\10\203\0\0\7\2\0\0\6\0\0\7\203\0\0\6\2\0\0" \
+ "\4\0\0\6\203\0\0\5\2\0\0\4\0\0\5\203\0\0\3\2\0\0\2\0\0\3\203\0\0\2\2" \
+ "\0\0\1\0\0\2\203\0\0\1\2\0\0\0\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\377" \
+ "\0\0\0\377\0\0\0\202\0\0\1\202\0\0\2\1\0\0\1\202\0\0\2\202\0\0\3\1\0" \
+ "\0\2\202\0\0\3\202\0\0\4\1\0\0\3\202\0\0\4\202\0\0\5\1\0\0\4\202\0\0" \
+ "\5\202\0\0\6\1\0\0\5\202\0\0\6\202\0\0\7\1\0\0\6\202\0\0\7\202\0\0\10" \
+ "\1\0\0\7\202\0\0\10\202\0\0\11\1\0\0\10\202\0\0\11\203\0\0\12\202\0\0" \
+ "\11\203\0\0\12\2\0\0\13\0\0\12\203\0\0\13\203\0\0\14\202\0\0\13\202\0" \
+ "\0\14\203\0\0\15\202\0\0\14\203\0\0\15\203\0\0\16\202\0\0\15\202\0\0" \
+ "\16\227\0\0\17\203\0\0\16\202\0\0\15\203\0\0\16\202\0\0\15\202\0\0\14" \
+ "\203\0\0\15\203\0\0\14\202\0\0\13\203\0\0\14\202\0\0\13\1\0\0\12\202" \
+ "\0\0\13\202\0\0\12\202\0\0\11\203\0\0\12\203\0\0\11\2\0\0\10\0\0\11\203" \
+ "\0\0\10\2\0\0\7\0\0\10\203\0\0\7\2\0\0\6\0\0\7\203\0\0\6\2\0\0\5\0\0" \
+ "\6\203\0\0\5\2\0\0\4\0\0\5\203\0\0\4\2\0\0\3\0\0\4\203\0\0\3\2\0\0\2" \
+ "\0\0\3\203\0\0\2\202\0\0\1\1\0\0\0\202\0\0\1\377\0\0\0\377\0\0\0\377" \
+ "\0\0\0\377\0\0\0\215\0\0\0\1\0\0\2\205\0\0\3\204\0\0\4\1\0\0\3\202\0" \
+ "\0\4\203\0\0\5\2\0\0\6\0\0\5\205\0\0\6\204\0\0\7\1\0\0\6\205\0\0\7\1" \
+ "\0\0\10\202\0\0\7\202\0\0\10\210\0\0\11\207\0\0\12\210\0\0\13\202\0\0" \
+ "\14\1\0\0\15\203\0\0\14\204\0\0\15\2\0\0\16\0\0\15\212\0\0\16\202\0\0" \
+ "\17\203\0\0\16\203\0\0\17\2\0\0\20\0\0\17\203\0\0\20\2\0\0\21\0\0\20" \
+ "\205\0\0\21\202\0\0\22\1\0\0\21\214\0\0\22\202\0\0\23\1\0\0\22\204\0" \
+ "\0\23\1\0\0\22\202\0\0\23\205\0\0\24\202\0\0\25\1\0\0\24\207\0\0\25\203" \
+ "\0\0\26\202\0\0\25\210\0\0\26\203\0\0\27\202\0\0\26\212\0\0\27\203\0" \
+ "\0\30\202\0\0\27\203\0\0\30\202\0\0\27\202\0\0\30\1\0\0\31\202\0\0\30" \
+ "\202\0\0\27\215\0\0\30\212\0\0\27\202\0\0\26\203\0\0\27\210\0\0\26\207" \
+ "\0\0\25\202\0\0\24\203\0\0\25\210\0\0\24\2\0\0\23\0\0\24\203\0\0\23\1" \
+ "\0\0\21\206\0\0\22\210\0\0\21\2\0\0\20\0\0\21\203\0\0\20\2\0\0\17\0\0" \
+ "\20\205\0\0\17\1\0\0\16\202\0\0\17\207\0\0\16\1\0\0\15\202\0\0\16\202" \
+ "\0\0\15\203\0\0\14\1\0\0\13\204\0\0\14\202\0\0\13\203\0\0\14\207\0\0" \
+ "\13\203\0\0\12\207\0\0\11\1\0\0\10\202\0\0\11\205\0\0\10\2\0\0\7\0\0" \
+ "\10\203\0\0\7\2\0\0\6\0\0\7\202\0\0\6\1\0\0\7\205\0\0\6\2\0\0\5\0\0\6" \
+ "\205\0\0\5\1\0\0\4\202\0\0\5\202\0\0\4\203\0\0\3\203\0\0\2\202\0\0\3" \
+ "\205\0\0\2\2\0\0\1\0\0\2\205\0\0\1\377\0\0\0\377\0\0\0\377\0\0\0\253" \
+ "\0\0\0\204\30\33$\202\30\32$\202\30\31$\1\30\32$\202\30\32#\202\30\33" \
+ "$\210\30\33%\205\30\32%\210\30\33%\202\27\32$\202\26\31%\203\27\32&\212" \
+ "\27\33&\205\27\32&\203\27\33&\202\27\33%\202\27\32&\1\27\32'\202\27\31" \
+ "'\203\27\32'\202\27\31'\202\27\32'\206\27\33'\202\27\32'\202\27\31'\203" \
+ "\27\32'\202\27\32&\210\27\32'\210\27\32(\202\27\31(\202\27\32(\1\27\33" \
+ "(\202\27\32(\202\27\31(\213\27\32(\202\27\32'\202\27\32(\263\27\32)\202" \
+ "\27\32(\202\27\32)\1\27\32*\202\27\32)\202\27\32(\241\27\32)\203\27\32" \
+ "(\202\27\32'\203\27\31(\202\27\30(\217\27\31(\203\27\31'\202\27\31&\222" \
+ "\27\31'\202\27\31&\202\27\31%\222\27\31&\203\27\31%\202\27\31$\212\27" \
+ "\31%\203\27\30%\202\27\27%\203\27\30$\202\27\30#\222\27\30$\202\27\30" \
+ "#\202\27\30\"\222\27\30#\203\27\30\"\202\27\30!\217\27\30\"\203\27\30" \
+ "!\202\27\30\40\224\27\30!\203\27\30\40\202\27\30\37\222\27\30\40\202" \
+ "\27\30\37\202\27\30\36\203\27\30\37\202\27\27\37\203\27\30\37\203\27" \
+ "\31\37\202\27\30\37\202\27\27\37\203\27\30\37\202\27\27\37\1\27\30\37" \
+ "\202\27\30\36\202\27\31\35\1\27\31\36\202\27\30\36\202\27\27\36\203\27" \
+ "\30\36\212\27\31\36\203\27\31\35\202\27\31\34\222\27\31\35\204\27\31" \
+ "\34\1\27\31\35\202\27\31\34\202\27\31\33\225\27\31\34\202\26\31\33\202" \
+ "\27\31\32\232\30\31\33\202\30\31\32\202\30\31\31\234\30\31\32\203\30" \
+ "\31\31\202\30\31\30\246\30\31\31\202\30\31\30\202\30\31\27\277\30\31" \
+ "\30\202\30\31\27\203\30\31\30\210\30\31\31\202\30\30\31\202\30\31\31" \
+ "\241\30\32\31\202\30\32\30\203\30\32\31\224\30\32\32\202\27\32\32\203" \
+ "\30\32\32\227\31\32\32\2\31\32\31\31%2\202\30%3\206\31%3\2\31$1\31$2" \
+ "\202\31%3\203\31&4\202\31%3\203\31&3\2\31&4\31&3\203\31&4\205\32&4\3" \
+ "\32'4\32&4\32'4\202\31&3\202\31&4\3\31'5\31&5\31&4\202\31'5\203\31(5" \
+ "\205\32'5\205\32'6\205\32(5\202\32'6\1\32(6\202\32'6\202\32(6\1\32(7" \
+ "\202\32'7\202\31(7\3\32)7\32)6\32(6\202\32)6\202\32)7\1\32)6\202\32(" \
+ "7\1\32)7\202\32(7\202\32)6\203\32)7\202\31)8\203\32)8\2\32*7\32)8\203" \
+ "\32*8\202\33*8\1\32*8\202\32)8\202\32*8\3\32+9\32*9\32*8\205\32*9\202" \
+ "\33*9\202\33+9\1\33*9\202\33+8\1\33+9\202\33+8\202\33+9\1\33+:\202\32" \
+ "+:\203\33,:\202\33+:\202\33,:\205\33,;\1\33,:\202\33+:\205\33,:\203\33" \
+ ",;\202\33,:\203\33-;\202\33,;\202\33-;\203\33-<\202\34-<\203\34-;\202" \
+ "\34.;\206\34.<\202\34-;\202\34.;\203\34.<\202\33-<\205\34.<\205\34.=" \
+ "\1\34/=\202\34/<\203\34/=\202\34.=\207\34/=\203\34/>\203\35/>\204\35" \
+ "/=\1\35""0>\202\35""0=\205\35/>\205\34/>\202\34""0=\210\34""0>\202\34" \
+ "/>\1\34""0>\202\34""0=\202\35""0=\217\35""0>\1\35""1>\204\35""1=\1\35" \
+ "1>\221\35""1\77\217\35""1>\212\35""0>\212\35""0\77\202\35/>\213\35""0" \
+ ">\202\36/>\210\35""0>\202\35""0=\203\35""0>\202\35/>\203\35""0>\202\34" \
+ "/=\203\35/>\205\35/=\2\35.=\35/=\205\35.=\205\35.<\205\35.=\202\34.<" \
+ "\3\35.<\35-<\35.<\206\35-<\2\35-;\35-<\202\35,<\203\35-;\202\34,:\1\34" \
+ ",;\202\34-;\205\34,;\202\34,:\1\34+;\202\34,;\202\34+;\1\34+:\202\34" \
+ "+;\202\34+:\202\33+9\3\34+:\34*:\34+:\205\34*:\1\34*9\202\34+:\202\34" \
+ "*9\202\34)9\203\34*9\203\34)9\204\33)8\1\33)9\202\33(8\202\33'8\203\33" \
+ ")8\202\33)7\3\33)8\33(8\33)8\202\32(8\4\33(8\33(7\33(8\33'7\202\33(7" \
+ "\203\33'6\202\33(6\202\32'5\3\31&6\31'6\32'6\202\32&6\1\32&5\202\32&" \
+ "6\202\32&5\1\32%5\202\32&5\202\32%4\202\31%4\1\32%5\207\32%4\1\32$3\202" \
+ "\32%4\203\32$3\202\32$4\202\32$3\202\32#3\1\32$3\202\31$3\203\31#3\2" \
+ "\31#2\31$2\202\31#1\2\32#2\32#1\204\32#2\2\31\"1\31#2\210\31\"1\3\31" \
+ "\"0\31\"1\31!1\202\31\"1\202\31!0\1\31!1\202\31\"1\202\30!0\3\31!/\31" \
+ "\40/\31!0\203\31!/\202\31!0\202\31!/\202\31\40/\210\31!/\1\30\40.\203" \
+ "\30\40/\202\30\40.\202\30\40/\202\30\40.\202\30\37-\1\30\40.\202\31\40" \
+ "-\205\30\37-\203\30\40-\2\30\37,\30\37-\202\27\37-\1\30\37-\202\30\37" \
+ ",\203\30\37-\205\30\37,\202\30\36,\203\30\37,\202\30\36,\1\30\36+\202" \
+ "\30\36,\202\30\36+\1\30\37+\204\30\36+\202\30\35*\1\30\36*\202\27\36" \
+ "*\203\30\36*\202\30\35*\1\30\36)\202\30\36*\205\30\36)\202\30\35)\1\27" \
+ "\35(\204\27\35)\1\27\35(\202\27\35)\202\27\34(\203\27\35(\202\27\34(" \
+ "\1\27\34'\202\27\34(\2\27\35'\27\34'\203\27\35'\202\26\35'\203\27\34" \
+ "'\202\27\34&\203\27\34'\202\27\34&\202\27\33&\203\27\34&\205\26\33%\202" \
+ "\26\33$\3\26\33%\26\33$\26\33%\202\26\32%\203\26\33%\203\26\32%\202\26" \
+ "\31$\202\26\32$\1\26\33$\202\27\33$\1\26\33#\202\26\33$\202\26\33#\3" \
+ "\26\32#\26\32$\26\33$\202\25\33#\203\26