diff --git a/psl1ght/include/console/8x16std.fnt b/psl1ght/include/console/8x16std.fnt new file mode 100755 index 00000000..672d0e1a Binary files /dev/null and b/psl1ght/include/console/8x16std.fnt differ diff --git a/psl1ght/include/console/8x16std.inc b/psl1ght/include/console/8x16std.inc new file mode 100755 index 00000000..800a16b1 --- /dev/null +++ b/psl1ght/include/console/8x16std.inc @@ -0,0 +1,323 @@ + +#define CHARMASK8X16STD_LEN 4096 + + static unsigned char CharMask8x16std[]= + { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x7e,0x81,0xa5,0x81,0x81,0xbd,0x99,0x81, + 0x81,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0xff,0xdb,0xff,0xff, + 0xc3,0xe7,0xff,0xff,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x6c,0xfe,0xfe,0xfe,0xfe,0x7c,0x38,0x10,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x3c,0xe7,0xe7,0xe7,0x18,0x18, + 0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x7e,0xff,0xff, + 0x7e,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff, + 0xff,0xff,0xff,0xff,0xe7,0xc3,0xc3,0xe7,0xff,0xff,0xff,0xff,0xff, + 0xff,0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0x42,0x42,0x66,0x3c,0x00, + 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xc3,0x99,0xbd,0xbd, + 0x99,0xc3,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x1e,0x0e,0x1a,0x32, + 0x78,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x3c, + 0x66,0x66,0x66,0x66,0x3c,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00, + 0x00,0x00,0x3f,0x33,0x3f,0x30,0x30,0x30,0x30,0x70,0xf0,0xe0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x7f,0x63,0x7f,0x63,0x63,0x63,0x63,0x67, + 0xe7,0xe6,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0xdb,0x3c, + 0xe7,0x3c,0xdb,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0, + 0xf0,0xf8,0xfe,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00, + 0x02,0x06,0x0e,0x1e,0x3e,0xfe,0x3e,0x1e,0x0e,0x06,0x02,0x00,0x00, + 0x00,0x00,0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x7e,0x3c,0x18, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66, + 0x66,0x00,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xdb,0xdb, + 0xdb,0x7b,0x1b,0x1b,0x1b,0x1b,0x1b,0x00,0x00,0x00,0x00,0x00,0x7c, + 0xc6,0x60,0x38,0x6c,0xc6,0xc6,0x6c,0x38,0x0c,0xc6,0x7c,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0xfe,0xfe, + 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x7e, + 0x3c,0x18,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x7e,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x3c,0x18,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x18,0x0c,0xfe,0x0c,0x18,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x60,0xfe,0x60,0x30, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0, + 0xc0,0xc0,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x24,0x66,0xff,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x10,0x38,0x38,0x7c,0x7c,0xfe,0xfe,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0x7c,0x7c,0x38,0x38,0x10, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x3c, + 0x3c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x66, + 0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c, + 0x00,0x00,0x00,0x00,0x18,0x18,0x7c,0xc6,0xc2,0xc0,0x7c,0x06,0x06, + 0x86,0xc6,0x7c,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0xc2,0xc6, + 0x0c,0x18,0x30,0x60,0xc6,0x86,0x00,0x00,0x00,0x00,0x00,0x00,0x38, + 0x6c,0x6c,0x38,0x76,0xdc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, + 0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x0c,0x18,0x30,0x30,0x30,0x30,0x30,0x30, + 0x18,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x18,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18, + 0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,0x00, + 0x00,0x00,0x00,0x3c,0x66,0xc3,0xc3,0xdb,0xdb,0xc3,0xc3,0x66,0x3c, + 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,0x18, + 0x18,0x18,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0x06,0x0c, + 0x18,0x30,0x60,0xc0,0xc6,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x7c, + 0xc6,0x06,0x06,0x3c,0x06,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x0c,0x1e,0x00, + 0x00,0x00,0x00,0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xfc,0x06,0x06,0x06, + 0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x60,0xc0,0xc0,0xfc, + 0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc6, + 0x06,0x06,0x0c,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00, + 0x00,0x7c,0xc6,0xc6,0xc6,0x7c,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00, + 0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7e,0x06,0x06,0x06,0x0c, + 0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00, + 0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18, + 0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x06,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x06,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x30,0x18,0x0c,0x06,0x0c, + 0x18,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0x0c, + 0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x7c,0xc6,0xc6,0xde,0xde,0xde,0xdc,0xc0,0x7c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00, + 0x00,0x00,0x00,0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x66,0x66,0x66, + 0x66,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0, + 0xc0,0xc0,0xc2,0x66,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x6c, + 0x66,0x66,0x66,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,0x00,0x00,0x00, + 0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xfe,0x00,0x00, + 0x00,0x00,0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60, + 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xde, + 0xc6,0xc6,0x66,0x3a,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6, + 0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,0x00,0x00, + 0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00, + 0x00,0x00,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0xcc,0x78, + 0x00,0x00,0x00,0x00,0x00,0x00,0xe6,0x66,0x66,0x6c,0x78,0x78,0x6c, + 0x66,0x66,0xe6,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x60,0x60,0x60, + 0x60,0x60,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0xc3, + 0xe7,0xff,0xff,0xdb,0xc3,0xc3,0xc3,0xc3,0xc3,0x00,0x00,0x00,0x00, + 0x00,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6,0xc6,0x00, + 0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6, + 0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x66,0x66,0x66,0x7c, + 0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0xc6, + 0xc6,0xc6,0xc6,0xc6,0xc6,0xd6,0xde,0x7c,0x0c,0x0e,0x00,0x00,0x00, + 0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0x66,0xe6,0x00,0x00, + 0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0x60,0x38,0x0c,0x06,0xc6,0xc6, + 0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xdb,0x99,0x18,0x18,0x18, + 0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6, + 0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00, + 0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x66,0x3c,0x18,0x00,0x00,0x00, + 0x00,0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xdb,0xdb,0xff,0x66,0x66, + 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x66,0x3c,0x18,0x18,0x3c, + 0x66,0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0xc3,0x66, + 0x3c,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0xff, + 0xc3,0x86,0x0c,0x18,0x30,0x60,0xc1,0xc3,0xff,0x00,0x00,0x00,0x00, + 0x00,0x00,0x3c,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3c,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0x70,0x38,0x1c,0x0e, + 0x06,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x0c,0x0c,0x0c,0x0c, + 0x0c,0x0c,0x0c,0x0c,0x3c,0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0xc6, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, + 0x00,0x00,0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x0c,0x7c, + 0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x60,0x60, + 0x78,0x6c,0x66,0x66,0x66,0x66,0x7c,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x7c,0xc6,0xc0,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00, + 0x00,0x00,0x00,0x1c,0x0c,0x0c,0x3c,0x6c,0xcc,0xcc,0xcc,0xcc,0x76, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xfe,0xc0, + 0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x6c,0x64,0x60, + 0xf0,0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,0x00, + 0x00,0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,0x66,0x66,0x66,0xe6,0x00, + 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18, + 0x18,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x0e,0x06, + 0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,0x00,0x00,0xe0,0x60, + 0x60,0x66,0x6c,0x78,0x78,0x6c,0x66,0xe6,0x00,0x00,0x00,0x00,0x00, + 0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe6,0xff,0xdb,0xdb,0xdb,0xdb, + 0xdb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66, + 0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60,0xf0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c, + 0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0xdc,0x76,0x66,0x60, + 0x60,0x60,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c, + 0xc6,0x60,0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x10, + 0x30,0x30,0xfc,0x30,0x30,0x30,0x30,0x36,0x1c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0xc3,0xc3,0x66, + 0x3c,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3, + 0xc3,0xdb,0xdb,0xff,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xc3,0x66,0x3c,0x18,0x3c,0x66,0xc3,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c, + 0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xcc,0x18,0x30,0x60,0xc6, + 0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x18,0x18,0x18,0x70,0x18, + 0x18,0x18,0x18,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18, + 0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00, + 0x70,0x18,0x18,0x18,0x0e,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00, + 0x00,0x00,0x00,0x76,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6, + 0xc6,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0xc2,0xc0, + 0xc0,0xc0,0xc2,0x66,0x3c,0x0c,0x06,0x7c,0x00,0x00,0x00,0x00,0xcc, + 0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, + 0x00,0x0c,0x18,0x30,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00, + 0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0x00,0x78,0x0c,0x7c,0xcc,0xcc, + 0xcc,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0xcc,0x00,0x00,0x78,0x0c, + 0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,0x00,0x60,0x30,0x18, + 0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,0x00, + 0x38,0x6c,0x38,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0x60,0x60,0x66,0x3c,0x0c, + 0x06,0x3c,0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0x00,0x7c,0xc6,0xfe, + 0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0x00,0x00, + 0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x60, + 0x30,0x18,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00, + 0x00,0x00,0x00,0x66,0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c, + 0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x66,0x00,0x38,0x18,0x18,0x18, + 0x18,0x18,0x3c,0x00,0x00,0x00,0x00,0x00,0x60,0x30,0x18,0x00,0x38, + 0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,0x00,0xc6,0x00, + 0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00, + 0x38,0x6c,0x38,0x00,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0x00, + 0x00,0x00,0x00,0x18,0x30,0x60,0x00,0xfe,0x66,0x60,0x7c,0x60,0x60, + 0x66,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6e,0x3b, + 0x1b,0x7e,0xd8,0xdc,0x77,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x6c, + 0xcc,0xcc,0xfe,0xcc,0xcc,0xcc,0xcc,0xce,0x00,0x00,0x00,0x00,0x00, + 0x10,0x38,0x6c,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00, + 0x00,0x00,0x00,0x00,0xc6,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6, + 0x7c,0x00,0x00,0x00,0x00,0x00,0x60,0x30,0x18,0x00,0x7c,0xc6,0xc6, + 0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x30,0x78,0xcc,0x00, + 0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,0x00,0x60, + 0x30,0x18,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00, + 0x00,0x00,0x00,0xc6,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e, + 0x06,0x0c,0x78,0x00,0x00,0xc6,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6, + 0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0xc6,0x00,0xc6,0xc6,0xc6, + 0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x18,0x18, + 0x7e,0xc3,0xc0,0xc0,0xc0,0xc3,0x7e,0x18,0x18,0x00,0x00,0x00,0x00, + 0x00,0x38,0x6c,0x64,0x60,0xf0,0x60,0x60,0x60,0x60,0xe6,0xfc,0x00, + 0x00,0x00,0x00,0x00,0x00,0xc3,0x66,0x3c,0x18,0xff,0x18,0xff,0x18, + 0x18,0x18,0x00,0x00,0x00,0x00,0x00,0xfc,0x66,0x66,0x7c,0x62,0x66, + 0x6f,0x66,0x66,0x66,0xf3,0x00,0x00,0x00,0x00,0x00,0x0e,0x1b,0x18, + 0x18,0x18,0x7e,0x18,0x18,0x18,0x18,0x18,0xd8,0x70,0x00,0x00,0x00, + 0x18,0x30,0x60,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00, + 0x00,0x00,0x00,0x0c,0x18,0x30,0x00,0x38,0x18,0x18,0x18,0x18,0x18, + 0x3c,0x00,0x00,0x00,0x00,0x00,0x18,0x30,0x60,0x00,0x7c,0xc6,0xc6, + 0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x18,0x30,0x60,0x00, + 0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,0x00,0x00, + 0x76,0xdc,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00, + 0x00,0x76,0xdc,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6, + 0x00,0x00,0x00,0x00,0x00,0x3c,0x6c,0x6c,0x3e,0x00,0x7e,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x6c,0x6c,0x38,0x00, + 0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30, + 0x30,0x00,0x30,0x30,0x60,0xc0,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xc0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x06,0x06,0x06, + 0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0xc2,0xc6,0xcc,0x18, + 0x30,0x60,0xce,0x9b,0x06,0x0c,0x1f,0x00,0x00,0x00,0xc0,0xc0,0xc2, + 0xc6,0xcc,0x18,0x30,0x66,0xce,0x96,0x3e,0x06,0x06,0x00,0x00,0x00, + 0x00,0x18,0x18,0x00,0x18,0x18,0x18,0x3c,0x3c,0x3c,0x18,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x6c,0xd8,0x6c,0x36,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xd8,0x6c,0x36, + 0x6c,0xd8,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x44,0x11,0x44,0x11, + 0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x55,0xaa, + 0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55, + 0xaa,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77, + 0xdd,0x77,0xdd,0x77,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0xf8,0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xf6,0x36,0x36,0x36,0x36,0x36, + 0x36,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x36,0x36, + 0x36,0x36,0x36,0x36,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0xf8,0x18, + 0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x36,0x36,0x36,0x36, + 0x36,0xf6,0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, + 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, + 0x36,0x36,0x00,0x00,0x00,0x00,0x00,0xfe,0x06,0xf6,0x36,0x36,0x36, + 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xf6,0x06,0xfe, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x36,0x36,0x36, + 0x36,0x36,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18, + 0x18,0x18,0x18,0xf8,0x18,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x1f,0x18,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x36, + 0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x36,0x36,0x36,0x36,0x36,0x36, + 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x3f,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x30,0x37, + 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, + 0xf7,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xff,0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0x36,0x36, + 0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36,0x36, + 0x36,0x36,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x36,0x36,0x36,0xf7, + 0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x18,0x18,0x18, + 0x18,0x18,0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xff,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xff,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, + 0x36,0x36,0x36,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18, + 0x18,0x18,0x18,0x18,0x1f,0x18,0x1f,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x18,0x1f,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f, + 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, + 0x36,0x36,0xff,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x18,0x18, + 0x18,0x18,0x18,0xff,0x18,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x76,0xdc,0xd8,0xd8,0xd8,0xdc,0x76,0x00,0x00,0x00,0x00,0x00, + 0x00,0x78,0xcc,0xcc,0xcc,0xd8,0xcc,0xc6,0xc6,0xc6,0xcc,0x00,0x00, + 0x00,0x00,0x00,0x00,0xfe,0xc6,0xc6,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0, + 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x6c,0x6c,0x6c, + 0x6c,0x6c,0x6c,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc6, + 0x60,0x30,0x18,0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x7e,0xd8,0xd8,0xd8,0xd8,0xd8,0x70,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60, + 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0xdc,0x18,0x18,0x18, + 0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x18,0x3c, + 0x66,0x66,0x66,0x3c,0x18,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0x6c,0x38,0x00,0x00,0x00,0x00, + 0x00,0x00,0x38,0x6c,0xc6,0xc6,0xc6,0x6c,0x6c,0x6c,0x6c,0xee,0x00, + 0x00,0x00,0x00,0x00,0x00,0x1e,0x30,0x18,0x0c,0x3e,0x66,0x66,0x66, + 0x66,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0xdb, + 0xdb,0xdb,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0x06,0x7e,0xdb,0xdb,0xf3,0x7e,0x60,0xc0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x1c,0x30,0x60,0x60,0x7c,0x60,0x60,0x60,0x30,0x1c,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6, + 0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0xfe, + 0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18, + 0x18,0x7e,0x18,0x18,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x00,0x7e,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x00,0x7e, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x1b,0x1b,0x18,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0xd8,0xd8,0xd8,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x18,0x18,0x00,0x7e,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x76,0xdc,0x00,0x76,0xdc,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x38,0x6c,0x6c,0x38,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x0f,0x0c,0x0c,0x0c,0x0c,0x0c,0xec,0x6c,0x6c,0x3c,0x1c,0x00,0x00, + 0x00,0x00,0x00,0xd8,0x6c,0x6c,0x6c,0x6c,0x6c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xd8,0x30,0x60,0xc8,0xf8,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c, + 0x7c,0x7c,0x7c,0x7c,0x7c,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00 + }; + diff --git a/psl1ght/include/console/8x16stdX2.fnt b/psl1ght/include/console/8x16stdX2.fnt new file mode 100755 index 00000000..9a99c3d2 Binary files /dev/null and b/psl1ght/include/console/8x16stdX2.fnt differ diff --git a/psl1ght/include/console/8x16stdX2.inc b/psl1ght/include/console/8x16stdX2.inc new file mode 100755 index 00000000..7ffac5cf --- /dev/null +++ b/psl1ght/include/console/8x16stdX2.inc @@ -0,0 +1,1268 @@ + +#define CHARMASK8X16STDX2_LEN 16384 + + static unsigned char CharMask8x16stdX2[]= + { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0xc0,0x03, + 0xc0,0x03,0xcc,0x33,0xcc,0x33,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xcf,0xf3,0xcf,0xf3,0xc3,0xc3,0xc3,0xc3,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0xff,0xff,0xff, + 0xff,0xf3,0xcf,0xf3,0xcf,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xf0,0x0f,0xf0,0x0f,0xfc,0x3f,0xfc,0x3f,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x3c,0xf0,0x3c,0xf0,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff, + 0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0x3f,0xf0,0x3f,0xf0,0x0f,0xc0, + 0x0f,0xc0,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0x00,0x03,0x00,0x0f,0xc0,0x0f,0xc0,0x3f,0xf0,0x3f,0xf0,0xff,0xfc, + 0xff,0xfc,0x3f,0xf0,0x3f,0xf0,0x0f,0xc0,0x0f,0xc0,0x03,0x00,0x03, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0xf0, + 0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0xfc,0x3f,0xfc,0x3f,0xfc,0x3f,0xfc, + 0x3f,0xfc,0x3f,0xfc,0x3f,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f, + 0xf0,0x3f,0xfc,0x3f,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0x3f,0xfc,0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f, + 0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xfc,0x3f,0xfc,0x3f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x0f,0xfc,0x3f,0xfc,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0, + 0x0f,0xf0,0x3c,0x3c,0x3c,0x3c,0x30,0x0c,0x30,0x0c,0x30,0x0c,0x30, + 0x0c,0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x0f,0xf0, + 0x0f,0xc3,0xc3,0xc3,0xc3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3, + 0xc3,0xc3,0xc3,0xc3,0xf0,0x0f,0xf0,0x0f,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xfc,0x03, + 0xfc,0x00,0xfc,0x00,0xfc,0x03,0xcc,0x03,0xcc,0x0f,0x0c,0x0f,0x0c, + 0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f,0xf0, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x3f,0xfc, + 0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xff,0x0f,0xff,0x0f, + 0x0f,0x0f,0x0f,0x0f,0xff,0x0f,0xff,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3f,0x00,0x3f, + 0x00,0xff,0x00,0xff,0x00,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xff,0x3f,0xff,0x3c,0x0f, + 0x3c,0x0f,0x3f,0xff,0x3f,0xff,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x3f,0x3c,0x3f, + 0xfc,0x3f,0xfc,0x3f,0xfc,0x3c,0xfc,0x3c,0xf0,0x00,0xf0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0xf3,0xcf,0xf3,0xcf,0x0f,0xf0,0x0f,0xf0, + 0xfc,0x3f,0xfc,0x3f,0x0f,0xf0,0x0f,0xf0,0xf3,0xcf,0xf3,0xcf,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xc0,0x00,0xc0,0x00,0xf0,0x00,0xf0,0x00,0xfc,0x00,0xfc,0x00, + 0xff,0x00,0xff,0x00,0xff,0xc0,0xff,0xc0,0xff,0xfc,0xff,0xfc,0xff, + 0xc0,0xff,0xc0,0xff,0x00,0xff,0x00,0xfc,0x00,0xfc,0x00,0xf0,0x00, + 0xf0,0x00,0xc0,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x0c,0x00,0x0c,0x00,0x3c,0x00,0x3c,0x00,0xfc,0x00,0xfc,0x03, + 0xfc,0x03,0xfc,0x0f,0xfc,0x0f,0xfc,0xff,0xfc,0xff,0xfc,0x0f,0xfc, + 0x0f,0xfc,0x03,0xfc,0x03,0xfc,0x00,0xfc,0x00,0xfc,0x00,0x3c,0x00, + 0x3c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x3f,0xfc, + 0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x3f,0xfc,0x3f,0xfc,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x3f,0xff,0x3f,0xff,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf, + 0xf3,0xcf,0xf3,0xcf,0x3f,0xcf,0x3f,0xcf,0x03,0xcf,0x03,0xcf,0x03, + 0xcf,0x03,0xcf,0x03,0xcf,0x03,0xcf,0x03,0xcf,0x03,0xcf,0x03,0xcf, + 0x03,0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0, + 0xf0,0x3c,0xf0,0x3c,0x3c,0x00,0x3c,0x00,0x0f,0xc0,0x0f,0xc0,0x3c, + 0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3c,0xf0, + 0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x00,0xf0,0x00,0xf0,0xf0,0x3c,0xf0, + 0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff, + 0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0, + 0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x3f,0xfc,0x3f,0xfc,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xfc,0x3f,0xfc, + 0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x3f,0xfc,0x3f,0xfc,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03, + 0xc0,0x0f,0xf0,0x0f,0xf0,0x3f,0xfc,0x3f,0xfc,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xfc, + 0x3f,0xfc,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x00,0xf0, + 0x00,0xf0,0xff,0xfc,0xff,0xfc,0x00,0xf0,0x00,0xf0,0x03,0xc0,0x03, + 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c, + 0x00,0xff,0xfc,0xff,0xfc,0x3c,0x00,0x3c,0x00,0x0f,0x00,0x0f,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xff,0xfc,0xff,0xfc,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x0c,0x30,0x0c,0x30,0x3c,0x3c,0x3c,0x3c,0xff, + 0xff,0xff,0xff,0x3c,0x3c,0x3c,0x3c,0x0c,0x30,0x0c,0x30,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0x00,0x03,0x00,0x0f,0xc0,0x0f,0xc0,0x0f,0xc0,0x0f,0xc0,0x3f,0xf0, + 0x3f,0xf0,0x3f,0xf0,0x3f,0xf0,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff, + 0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc, + 0xff,0xfc,0xff,0xfc,0xff,0xfc,0x3f,0xf0,0x3f,0xf0,0x3f,0xf0,0x3f, + 0xf0,0x0f,0xc0,0x0f,0xc0,0x0f,0xc0,0x0f,0xc0,0x03,0x00,0x03,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0, + 0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x0c,0x30,0x0c,0x30,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0xff,0xfc, + 0xff,0xfc,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0xff,0xfc,0xff,0xfc,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xf0, + 0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x0c,0xf0,0x0c,0xf0,0x00,0xf0, + 0x00,0x3f,0xf0,0x3f,0xf0,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0xc0,0x3c,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xf0,0x0c,0xf0,0x0c,0xf0,0x3c,0xf0,0x3c, + 0x00,0xf0,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c, + 0x00,0x3c,0x00,0xf0,0x3c,0xf0,0x3c,0xc0,0x3c,0xc0,0x3c,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x3f, + 0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x03,0xc0, + 0x03,0xc0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x03,0xc0,0x03,0xc0,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03, + 0xc0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x03, + 0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0xff, + 0xff,0xff,0xff,0x0f,0xf0,0x0f,0xf0,0x3c,0x3c,0x3c,0x3c,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xfc, + 0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff,0xfc, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x00,0x0c,0x00, + 0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x0f,0x00, + 0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0xc0,0x00,0xc0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f, + 0xf0,0x0f,0xf0,0x3c,0x3c,0x3c,0x3c,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x0f,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf0,0x0f,0xf0, + 0x0f,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x0f,0xf0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0, + 0x03,0xc0,0x0f,0xc0,0x0f,0xc0,0x3f,0xc0,0x3f,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xfc,0x3f,0xfc,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f, + 0xf0,0xf0,0x3c,0xf0,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0, + 0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0, + 0x00,0xf0,0x00,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0, + 0xf0,0x3c,0xf0,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x0f, + 0xf0,0x0f,0xf0,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0x00,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x03, + 0xf0,0x03,0xf0,0x0f,0xf0,0x0f,0xf0,0x3c,0xf0,0x3c,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xff,0xfc,0xff,0xfc,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x03,0xfc,0x03,0xfc,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff,0xfc,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xff,0xf0,0xff, + 0xf0,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0x00,0x3c, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xff,0xf0,0xff,0xf0, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff,0xfc,0xf0,0x3c,0xf0,0x3c, + 0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x03, + 0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xfc,0x3f,0xfc,0x00,0x3c,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0, + 0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0x00, + 0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x03, + 0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x0f,0x00, + 0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0xf0,0x00,0xf0,0x00,0x3c,0x00, + 0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xfc, + 0x3f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f, + 0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x3c,0x00,0x3c,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03, + 0xc0,0x00,0xf0,0x00,0xf0,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0, + 0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f, + 0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x00,0xf0,0x00,0xf0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00, + 0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf3, + 0xfc,0xf3,0xfc,0xf3,0xfc,0xf3,0xfc,0xf3,0xfc,0xf3,0xfc,0xf3,0xf0, + 0xf3,0xf0,0xf0,0x00,0xf0,0x00,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x0f, + 0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3f,0xf0,0x3f, + 0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f,0xf0,0x3c,0x3c,0x3c, + 0x3c,0xf0,0x0c,0xf0,0x0c,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x0c,0xf0,0x0c,0x3c, + 0x3c,0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xff,0xc0,0xff,0xc0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0xf0, + 0x3c,0xf0,0xff,0xc0,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xff,0xfc,0xff,0xfc,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x0c,0x3c,0x0c,0x3c,0xc0,0x3c,0xc0,0x3f,0xc0,0x3f,0xc0,0x3c,0xc0, + 0x3c,0xc0,0x3c,0x00,0x3c,0x00,0x3c,0x0c,0x3c,0x0c,0x3c,0x3c,0x3c, + 0x3c,0xff,0xfc,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xff,0xfc,0xff,0xfc,0x3c,0x3c,0x3c,0x3c,0x3c,0x0c, + 0x3c,0x0c,0x3c,0xc0,0x3c,0xc0,0x3f,0xc0,0x3f,0xc0,0x3c,0xc0,0x3c, + 0xc0,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x0f,0xf0,0x0f,0xf0,0x3c,0x3c,0x3c,0x3c,0xf0,0x0c,0xf0, + 0x0c,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf3,0xfc,0xf3,0xfc, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x0f, + 0xcc,0x0f,0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f, + 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0xfc,0x03,0xfc,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x3c, + 0xfc,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0xf0,0x3c, + 0xf0,0x3f,0xc0,0x3f,0xc0,0x3f,0xc0,0x3f,0xc0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0xfc,0x3c,0xfc,0x3c,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff, + 0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0x0c,0x3c,0x0c,0x3c,0x3c,0x3c,0x3c,0xff,0xfc,0xff,0xfc,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f, + 0xfc,0x3f,0xfc,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf3, + 0xcf,0xf3,0xcf,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0xfc, + 0x3c,0xfc,0x3c,0xff,0x3c,0xff,0x3c,0xff,0xfc,0xff,0xfc,0xf3,0xfc, + 0xf3,0xfc,0xf0,0xfc,0xf0,0xfc,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3f,0xf0,0x3f,0xf0, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0x00,0x3c,0x00,0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf3,0x3c,0xf3,0x3c,0xf3,0xfc, + 0xf3,0xfc,0x3f,0xf0,0x3f,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xfc,0x00, + 0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3f,0xf0,0x3f,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0xfc,0x3c,0xfc,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0x3c,0x00,0x3c,0x00,0x0f,0xc0,0x0f,0xc0,0x00,0xf0,0x00, + 0xf0,0x00,0x3c,0x00,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xff,0xff,0xff,0xff,0xf3,0xcf,0xf3,0xcf,0xc3,0xc3,0xc3, + 0xc3,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f, + 0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0, + 0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0, + 0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x0f,0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03, + 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0, + 0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3, + 0xcf,0xff,0xff,0xff,0xff,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x0f, + 0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x0f, + 0xf0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0, + 0x3c,0x3c,0x3c,0x3c,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0, + 0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c,0x3c,0x3c, + 0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, + 0xf0,0x0f,0xf0,0x0f,0xc0,0x3c,0xc0,0x3c,0x00,0xf0,0x00,0xf0,0x03, + 0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x03, + 0xf0,0x03,0xf0,0x0f,0xf0,0x0f,0xff,0xff,0xff,0xff,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f,0xf0,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00, + 0xc0,0x00,0xf0,0x00,0xf0,0x00,0xfc,0x00,0xfc,0x00,0x3f,0x00,0x3f, + 0x00,0x0f,0xc0,0x0f,0xc0,0x03,0xf0,0x03,0xf0,0x00,0xfc,0x00,0xfc, + 0x00,0x3c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03, + 0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00,0xf0,0x3f,0xf0,0x3f,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f, + 0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xfc,0x00,0xfc,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x3f,0xc0,0x3f,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3f,0xf0, + 0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f, + 0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f, + 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0xf0,0x03,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x0f,0xf0, + 0x0f,0xf0,0x3c,0xf0,0x3c,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c,0x3f,0x3c, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f, + 0xf0,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f, + 0xc0,0x3c,0xf0,0x3c,0xf0,0x3c,0x30,0x3c,0x30,0x3c,0x00,0x3c,0x00, + 0xff,0x00,0xff,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xff,0x00,0xff,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xf0,0x3f,0xf0,0x00,0xf0,0x00, + 0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00,0x3c, + 0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0xf0,0x3c,0xf0,0x3f,0x3c, + 0x3f,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0xfc,0x3c,0xfc,0x3c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00,0x3c,0x00,0x3c, + 0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x3c,0x3c,0x3c,0x3c,0xf0,0x3c,0xf0,0x3f, + 0xc0,0x3f,0xc0,0x3f,0xc0,0x3f,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3c, + 0x3c,0x3c,0xfc,0x3c,0xfc,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xfc,0x3c,0xfc,0x3c,0xff,0xff,0xff,0xff,0xf3,0xcf,0xf3, + 0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf, + 0xf3,0xcf,0xf3,0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xf3,0xf0,0xf3,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0, + 0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf3, + 0xf0,0xf3,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3f,0xf0,0x3f, + 0xf0,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xff,0x00,0xff,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3c, + 0x3f,0x3c,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xf0,0x3f,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x03,0xfc,0x03,0xfc,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf3,0xf0,0xf3, + 0xf0,0x3f,0x3c,0x3f,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x00,0x3c,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xff,0x00,0xff,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0, + 0xf0,0x3c,0xf0,0x3c,0x3c,0x00,0x3c,0x00,0x0f,0xc0,0x0f,0xc0,0x00, + 0xf0,0x00,0xf0,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0xff,0xf0,0xff,0xf0,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x3c,0x0f,0x3c,0x03,0xf0,0x03,0xf0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0, + 0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c,0x3c,0x3c, + 0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x0f,0xf0,0x0f,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xff, + 0xff,0xff,0xff,0x3c,0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c,0x3c,0x3c,0x0f, + 0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x3c,0x3c, + 0x3c,0x3c,0xf0,0x0f,0xf0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0x3f,0xfc,0x3f,0xfc,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0, + 0xff,0xc0,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xff,0xfc,0xff,0xfc,0xf0,0xf0,0xf0,0xf0,0x03,0xc0,0x03, + 0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x3c,0xf0,0x3c, + 0xff,0xfc,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xfc,0x00,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x3f,0x00,0x3f,0x00,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00, + 0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x3f,0x00,0x3f,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x00,0xfc,0x00,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0x00,0x3f, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f, + 0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x0f,0xc0,0x0f, + 0xc0,0x3c,0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f, + 0xf0,0x3c,0x3c,0x3c,0x3c,0xf0,0x0c,0xf0,0x0c,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x0c,0xf0,0x0c,0x3c, + 0x3c,0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x00,0xf0,0x00,0xf0,0x00,0x3c, + 0x00,0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x0f, + 0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c, + 0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0, + 0x3c,0xf0,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00, + 0xf0,0x3f,0xf0,0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00,0xf0, + 0x3f,0xf0,0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x3c,0x00,0x3c,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0, + 0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00,0xf0,0x3f, + 0xf0,0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x00, + 0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00,0xf0,0x3f,0xf0, + 0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0, + 0x0f,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0x00,0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0x3c,0x00,0x3c,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00, + 0x03,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x00,0x00,0x00, + 0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x3c,0xf0,0x3c,0x3f, + 0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0, + 0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00, + 0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x3f, + 0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f, + 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c, + 0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xc0, + 0x0f,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0xf0, + 0x0f,0xf0,0x3c,0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00,0x0f,0x00,0x0f, + 0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00, + 0x03,0x00,0x03,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x00, + 0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00, + 0x00,0x00,0xff,0xfc,0xff,0xfc,0x3c,0x3c,0x3c,0x3c,0x3c,0x00,0x3c, + 0x00,0x3f,0xf0,0x3f,0xf0,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x3c,0x3c,0x3c,0xff,0xfc,0xff,0xfc,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x3c,0xfc,0x3c,0xfc,0x0f,0xcf,0x0f,0xcf, + 0x03,0xcf,0x03,0xcf,0x3f,0xfc,0x3f,0xfc,0xf3,0xc0,0xf3,0xc0,0xf3, + 0xf0,0xf3,0xf0,0x3f,0x3f,0x3f,0x3f,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x0f,0xfc,0x0f,0xfc,0x3c,0xf0,0x3c,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xff,0xfc,0xff,0xfc,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xfc,0xf0,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x03,0x00,0x03,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x00, + 0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00, + 0x3c,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00, + 0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f, + 0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f, + 0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c, + 0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00, + 0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c,0x3f, + 0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0, + 0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xfc,0x3f,0xfc, + 0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x3f,0xc0,0x3f,0xc0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0x00,0x00, + 0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00, + 0x00,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x3f,0xfc,0x3f,0xfc,0xf0,0x0f,0xf0,0x0f,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x0f,0xf0,0x0f,0x3f,0xfc, + 0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0x30,0x3c,0x30,0x3c,0x00,0x3c,0x00,0xff,0x00,0xff,0x00,0x3c,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0x00,0xfc,0x3c,0xfc,0x3c,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c, + 0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0xff,0xff,0xff, + 0xff,0x03,0xc0,0x03,0xc0,0xff,0xff,0xff,0xff,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xff,0xf0,0xff,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3f,0xf0,0x3f,0xf0,0x3c,0x0c,0x3c,0x0c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0xff,0x3c,0xff,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0xff,0x0f,0xff,0x0f,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xfc,0x00,0xfc,0x03,0xcf,0x03,0xcf,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xfc,0x3f,0xfc,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0xf3,0xc0,0xf3,0xc0,0x3f,0x00,0x3f, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x00, + 0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00,0xf0,0x3f,0xf0, + 0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xf0,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x00,0x00, + 0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0, + 0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00, + 0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f, + 0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03, + 0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c, + 0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0x00,0x00,0x00,0x00,0xf3, + 0xf0,0xf3,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0x00, + 0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0xfc,0x3c,0xfc,0x3c,0xff,0x3c, + 0xff,0x3c,0xff,0xfc,0xff,0xfc,0xf3,0xfc,0xf3,0xfc,0xf0,0xfc,0xf0, + 0xfc,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x0f,0xfc,0x0f,0xfc,0x00,0x00,0x00, + 0x00,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x00,0x00,0x00,0x00, + 0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc, + 0xff,0xfc,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff, + 0xfc,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x0c,0xf0, + 0x0c,0xf0,0x3c,0xf0,0x3c,0xf0,0xf0,0xf0,0xf0,0x03,0xc0,0x03,0xc0, + 0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0,0xfc,0xf0,0xfc,0xc3, + 0xcf,0xc3,0xcf,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x03,0xff, + 0x03,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x0c,0xf0,0x0c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0xf0,0xf0,0xf0,0x03,0xc0,0x03,0xc0,0x0f, + 0x00,0x0f,0x00,0x3c,0x3c,0x3c,0x3c,0xf0,0xfc,0xf0,0xfc,0xc3,0x3c, + 0xc3,0x3c,0x0f,0xfc,0x0f,0xfc,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00, + 0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x0f,0x3c,0x0f,0x3c,0x3c,0xf0,0x3c,0xf0,0xf3,0xc0,0xf3, + 0xc0,0x3c,0xf0,0x3c,0xf0,0x0f,0x3c,0x0f,0x3c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xf3,0xc0,0xf3,0xc0,0x3c,0xf0,0x3c,0xf0,0x0f,0x3c,0x0f,0x3c, + 0x3c,0xf0,0x3c,0xf0,0xf3,0xc0,0xf3,0xc0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x30,0x30,0x30, + 0x30,0x03,0x03,0x03,0x03,0x30,0x30,0x30,0x30,0x03,0x03,0x03,0x03, + 0x30,0x30,0x30,0x30,0x03,0x03,0x03,0x03,0x30,0x30,0x30,0x30,0x03, + 0x03,0x03,0x03,0x30,0x30,0x30,0x30,0x03,0x03,0x03,0x03,0x30,0x30, + 0x30,0x30,0x03,0x03,0x03,0x03,0x30,0x30,0x30,0x30,0x03,0x03,0x03, + 0x03,0x30,0x30,0x30,0x30,0x33,0x33,0x33,0x33,0xcc,0xcc,0xcc,0xcc, + 0x33,0x33,0x33,0x33,0xcc,0xcc,0xcc,0xcc,0x33,0x33,0x33,0x33,0xcc, + 0xcc,0xcc,0xcc,0x33,0x33,0x33,0x33,0xcc,0xcc,0xcc,0xcc,0x33,0x33, + 0x33,0x33,0xcc,0xcc,0xcc,0xcc,0x33,0x33,0x33,0x33,0xcc,0xcc,0xcc, + 0xcc,0x33,0x33,0x33,0x33,0xcc,0xcc,0xcc,0xcc,0x33,0x33,0x33,0x33, + 0xcc,0xcc,0xcc,0xcc,0xf3,0xf3,0xf3,0xf3,0x3f,0x3f,0x3f,0x3f,0xf3, + 0xf3,0xf3,0xf3,0x3f,0x3f,0x3f,0x3f,0xf3,0xf3,0xf3,0xf3,0x3f,0x3f, + 0x3f,0x3f,0xf3,0xf3,0xf3,0xf3,0x3f,0x3f,0x3f,0x3f,0xf3,0xf3,0xf3, + 0xf3,0x3f,0x3f,0x3f,0x3f,0xf3,0xf3,0xf3,0xf3,0x3f,0x3f,0x3f,0x3f, + 0xf3,0xf3,0xf3,0xf3,0x3f,0x3f,0x3f,0x3f,0xf3,0xf3,0xf3,0xf3,0x3f, + 0x3f,0x3f,0x3f,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0xff,0xc0,0xff,0xc0,0x03, + 0xc0,0x03,0xc0,0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0xff,0x3c,0xff,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xff,0xfc,0xff,0xfc,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0, + 0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0xff,0x3c,0xff,0x3c,0x00,0x3c,0x00,0x3c,0xff, + 0x3c,0xff,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xff,0xfc,0xff,0xfc,0x00,0x3c,0x00,0x3c,0xff,0x3c,0xff, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0xff,0x3c,0xff,0x3c,0x00,0x3c,0x00,0x3c,0xff,0xfc,0xff,0xfc, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0xfc,0xff,0xfc,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0xff, + 0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0,0xff,0xc0,0xff,0xc0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xff,0x03,0xff,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xff,0x03,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0xff,0xff,0xff,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xff,0x03,0xff,0x03,0xc0,0x03,0xc0,0x03, + 0xff,0x03,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3f, + 0x0f,0x3f,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3f,0x0f,0x3f,0x0f,0x00,0x0f,0x00,0x0f,0xff,0x0f, + 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x0f,0xff,0x0f,0xff,0x0f,0x00,0x0f,0x00,0x0f,0x3f,0x0f,0x3f, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0xff,0x3f,0xff,0x3f,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, + 0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0x3f,0xff,0x3f,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3f, + 0x0f,0x3f,0x0f,0x00,0x0f,0x00,0x0f,0x3f,0x0f,0x3f,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff, + 0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0x3f,0xff,0x3f, + 0x00,0x00,0x00,0x00,0xff,0x3f,0xff,0x3f,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0xff,0xff,0xff,0xff,0x00, + 0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00, + 0x00,0xff,0xff,0xff,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xff,0xff,0xff,0xff,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0xff,0x0f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xff,0x03,0xff,0x03,0xc0,0x03,0xc0,0x03,0xff, + 0x03,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x03,0xff,0x03,0xff,0x03,0xc0,0x03,0xc0,0x03,0xff,0x03, + 0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xff,0x0f,0xff, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0xff,0xff,0xff,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0xff, + 0xff,0xff,0xff,0x03,0xc0,0x03,0xc0,0xff,0xff,0xff,0xff,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0xff,0xc0,0xff,0xc0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x03,0xff,0x03,0xff,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, + 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, + 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, + 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, + 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0x00, + 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, + 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, + 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, + 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, + 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0xf3, + 0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xf0, + 0xf3,0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf3,0xc0,0xf3,0xc0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xff,0xfc,0xff,0xfc,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff, + 0xfc,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff,0xfc,0xf0,0x3c,0xf0,0x3c, + 0x3c,0x00,0x3c,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x0f, + 0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x3c,0xf0,0x3c,0xff,0xfc, + 0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f, + 0xfc,0x3f,0xfc,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0, + 0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0x3f,0x00,0x3f, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3f,0xf0,0x3f,0xf0,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3, + 0xf0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x3f,0xfc,0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x0f, + 0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x3f,0xfc,0x3f,0xfc,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3c, + 0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0xfc,0xfc,0xfc,0xfc,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xfc,0x03,0xfc,0x0f,0x00, + 0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0xf0,0x00,0xf0,0x0f,0xfc,0x0f, + 0xfc,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0xf3,0xcf,0xf3,0xcf, + 0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0x3f,0xfc,0x3f,0xfc,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f, + 0x00,0x3c,0x00,0x3c,0x3f,0xfc,0x3f,0xfc,0xf3,0xcf,0xf3,0xcf,0xf3, + 0xcf,0xf3,0xcf,0xff,0x0f,0xff,0x0f,0x3f,0xfc,0x3f,0xfc,0x3c,0x00, + 0x3c,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x03,0xf0,0x03,0xf0,0x0f,0x00,0x0f,0x00,0x3c, + 0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3f,0xf0,0x3f,0xf0,0x3c,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x0f,0x00,0x0f, + 0x00,0x03,0xf0,0x03,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff, + 0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff,0xfc, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff,0xfc,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x3f,0xfc,0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff, + 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00, + 0xf0,0x00,0xf0,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x03,0xc0, + 0x03,0xc0,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f, + 0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x0f,0x00, + 0x0f,0x00,0x3c,0x00,0x3c,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03, + 0xc0,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc, + 0x00,0xfc,0x03,0xcf,0x03,0xcf,0x03,0xcf,0x03,0xcf,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0xf3,0xc0,0xf3,0xc0,0xf3, + 0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0x3f,0x00,0x3f,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00, + 0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf3,0xf0, + 0xf3,0xf0,0x00,0x00,0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3, + 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xff,0x00,0xff,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0xfc,0xf0, + 0xfc,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x03,0xf0,0x03,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf3, + 0xc0,0xf3,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00, + 0x3f,0x00,0xf3,0xc0,0xf3,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c, + 0x00,0xf0,0xc0,0xf0,0xc0,0xff,0xc0,0xff,0xc0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0, + 0x3f,0xf0,0x3f,0xf0,0x3f,0xf0,0x3f,0xf0,0x3f,0xf0,0x3f,0xf0,0x3f, + 0xf0,0x3f,0xf0,0x3f,0xf0,0x3f,0xf0,0x3f,0xf0,0x3f,0xf0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00 + }; + diff --git a/psl1ght/include/console/8x8std.fnt b/psl1ght/include/console/8x8std.fnt new file mode 100755 index 00000000..e7f97176 Binary files /dev/null and b/psl1ght/include/console/8x8std.fnt differ diff --git a/psl1ght/include/console/8x8std.inc b/psl1ght/include/console/8x8std.inc new file mode 100755 index 00000000..9b774922 --- /dev/null +++ b/psl1ght/include/console/8x8std.inc @@ -0,0 +1,164 @@ +#define CHARMASK8X8STD_LEN 2048 + + static unsigned char CharMask8x8std[]= + { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x81,0xa5,0x81,0xbd, + 0x99,0x81,0x7e,0x7e,0xff,0xdb,0xff,0xc3,0xe7,0xff,0x7e,0x6c,0xfe, + 0xfe,0xfe,0x7c,0x38,0x10,0x00,0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10, + 0x00,0x38,0x7c,0x38,0xfe,0xfe,0x7c,0x38,0x7c,0x10,0x10,0x38,0x7c, + 0xfe,0x7c,0x38,0x7c,0x00,0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,0xff, + 0xff,0xe7,0xc3,0xc3,0xe7,0xff,0xff,0x00,0x3c,0x66,0x42,0x42,0x66, + 0x3c,0x00,0xff,0xc3,0x99,0xbd,0xbd,0x99,0xc3,0xff,0x0f,0x07,0x0f, + 0x7d,0xcc,0xcc,0xcc,0x78,0x3c,0x66,0x66,0x66,0x3c,0x18,0x7e,0x18, + 0x3f,0x33,0x3f,0x30,0x30,0x70,0xf0,0xe0,0x7f,0x63,0x7f,0x63,0x63, + 0x67,0xe6,0xc0,0x99,0x5a,0x3c,0xe7,0xe7,0x3c,0x5a,0x99,0x80,0xe0, + 0xf8,0xfe,0xf8,0xe0,0x80,0x00,0x02,0x0e,0x3e,0xfe,0x3e,0x0e,0x02, + 0x00,0x18,0x3c,0x7e,0x18,0x18,0x7e,0x3c,0x18,0x66,0x66,0x66,0x66, + 0x66,0x00,0x66,0x00,0x7f,0xdb,0xdb,0x7b,0x1b,0x1b,0x1b,0x00,0x3e, + 0x63,0x38,0x6c,0x6c,0x38,0xcc,0x78,0x00,0x00,0x00,0x00,0x7e,0x7e, + 0x7e,0x00,0x18,0x3c,0x7e,0x18,0x7e,0x3c,0x18,0xff,0x18,0x3c,0x7e, + 0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x7e,0x3c,0x18,0x00, + 0x00,0x18,0x0c,0xfe,0x0c,0x18,0x00,0x00,0x00,0x30,0x60,0xfe,0x60, + 0x30,0x00,0x00,0x00,0x00,0xc0,0xc0,0xc0,0xfe,0x00,0x00,0x00,0x24, + 0x66,0xff,0x66,0x24,0x00,0x00,0x00,0x18,0x3c,0x7e,0xff,0xff,0x00, + 0x00,0x00,0xff,0xff,0x7e,0x3c,0x18,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x30,0x78,0x78,0x78,0x30,0x00,0x30,0x00,0x6c, + 0x6c,0x6c,0x00,0x00,0x00,0x00,0x00,0x6c,0x6c,0xfe,0x6c,0xfe,0x6c, + 0x6c,0x00,0x30,0x7c,0xc0,0x78,0x0c,0xf8,0x30,0x00,0x00,0xc6,0xcc, + 0x18,0x30,0x66,0xc6,0x00,0x38,0x6c,0x38,0x76,0xdc,0xcc,0x76,0x00, + 0x60,0x60,0xc0,0x00,0x00,0x00,0x00,0x00,0x18,0x30,0x60,0x60,0x60, + 0x30,0x18,0x00,0x60,0x30,0x18,0x18,0x18,0x30,0x60,0x00,0x00,0x66, + 0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x30,0x30,0xfc,0x30,0x30,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x60,0x00,0x00,0x00,0xfc, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x06, + 0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x7c,0xc6,0xce,0xde,0xf6,0xe6, + 0x7c,0x00,0x30,0x70,0x30,0x30,0x30,0x30,0xfc,0x00,0x78,0xcc,0x0c, + 0x38,0x60,0xcc,0xfc,0x00,0x78,0xcc,0x0c,0x38,0x0c,0xcc,0x78,0x00, + 0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x1e,0x00,0xfc,0xc0,0xf8,0x0c,0x0c, + 0xcc,0x78,0x00,0x38,0x60,0xc0,0xf8,0xcc,0xcc,0x78,0x00,0xfc,0xcc, + 0x0c,0x18,0x30,0x30,0x30,0x00,0x78,0xcc,0xcc,0x78,0xcc,0xcc,0x78, + 0x00,0x78,0xcc,0xcc,0x7c,0x0c,0x18,0x70,0x00,0x00,0x30,0x30,0x00, + 0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x60,0x18, + 0x30,0x60,0xc0,0x60,0x30,0x18,0x00,0x00,0x00,0xfc,0x00,0x00,0xfc, + 0x00,0x00,0x60,0x30,0x18,0x0c,0x18,0x30,0x60,0x00,0x78,0xcc,0x0c, + 0x18,0x30,0x00,0x30,0x00,0x7c,0xc6,0xde,0xde,0xde,0xc0,0x78,0x00, + 0x30,0x78,0xcc,0xcc,0xfc,0xcc,0xcc,0x00,0xfc,0x66,0x66,0x7c,0x66, + 0x66,0xfc,0x00,0x3c,0x66,0xc0,0xc0,0xc0,0x66,0x3c,0x00,0xf8,0x6c, + 0x66,0x66,0x66,0x6c,0xf8,0x00,0x7e,0x60,0x60,0x78,0x60,0x60,0x7e, + 0x00,0x7e,0x60,0x60,0x78,0x60,0x60,0x60,0x00,0x3c,0x66,0xc0,0xc0, + 0xce,0x66,0x3e,0x00,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,0xcc,0x00,0x78, + 0x30,0x30,0x30,0x30,0x30,0x78,0x00,0x1e,0x0c,0x0c,0x0c,0xcc,0xcc, + 0x78,0x00,0xe6,0x66,0x6c,0x78,0x6c,0x66,0xe6,0x00,0x60,0x60,0x60, + 0x60,0x60,0x60,0x7e,0x00,0xc6,0xee,0xfe,0xfe,0xd6,0xc6,0xc6,0x00, + 0xc6,0xe6,0xf6,0xde,0xce,0xc6,0xc6,0x00,0x38,0x6c,0xc6,0xc6,0xc6, + 0x6c,0x38,0x00,0xfc,0x66,0x66,0x7c,0x60,0x60,0xf0,0x00,0x78,0xcc, + 0xcc,0xcc,0xdc,0x78,0x1c,0x00,0xfc,0x66,0x66,0x7c,0x6c,0x66,0xe6, + 0x00,0x78,0xcc,0xe0,0x70,0x1c,0xcc,0x78,0x00,0xfc,0x30,0x30,0x30, + 0x30,0x30,0x30,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xfc,0x00,0xcc, + 0xcc,0xcc,0xcc,0xcc,0x78,0x30,0x00,0xc6,0xc6,0xc6,0xd6,0xfe,0xee, + 0xc6,0x00,0xc6,0xc6,0x6c,0x38,0x38,0x6c,0xc6,0x00,0xcc,0xcc,0xcc, + 0x78,0x30,0x30,0x78,0x00,0xfe,0x06,0x0c,0x18,0x30,0x60,0xfe,0x00, + 0x78,0x60,0x60,0x60,0x60,0x60,0x78,0x00,0xc0,0x60,0x30,0x18,0x0c, + 0x06,0x02,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x78,0x00,0x10,0x38, + 0x6c,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xff,0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x0c, + 0x7c,0xcc,0x76,0x00,0xe0,0x60,0x60,0x7c,0x66,0x66,0xdc,0x00,0x00, + 0x00,0x78,0xcc,0xc0,0xcc,0x78,0x00,0x1c,0x0c,0x0c,0x7c,0xcc,0xcc, + 0x76,0x00,0x00,0x00,0x78,0xcc,0xfc,0xc0,0x78,0x00,0x38,0x6c,0x60, + 0xf0,0x60,0x60,0xf0,0x00,0x00,0x00,0x76,0xcc,0xcc,0x7c,0x0c,0xf8, + 0xe0,0x60,0x6c,0x76,0x66,0x66,0xe6,0x00,0x30,0x00,0x70,0x30,0x30, + 0x30,0x78,0x00,0x0c,0x00,0x0c,0x0c,0x0c,0xcc,0xcc,0x78,0xe0,0x60, + 0x66,0x6c,0x78,0x6c,0xe6,0x00,0x70,0x30,0x30,0x30,0x30,0x30,0x78, + 0x00,0x00,0x00,0xcc,0xfe,0xfe,0xd6,0xc6,0x00,0x00,0x00,0xf8,0xcc, + 0xcc,0xcc,0xcc,0x00,0x00,0x00,0x78,0xcc,0xcc,0xcc,0x78,0x00,0x00, + 0x00,0xdc,0x66,0x66,0x7c,0x60,0xf0,0x00,0x00,0x76,0xcc,0xcc,0x7c, + 0x0c,0x1e,0x00,0x00,0xdc,0x76,0x66,0x60,0xf0,0x00,0x00,0x00,0x7c, + 0xc0,0x78,0x0c,0xf8,0x00,0x10,0x30,0x7c,0x30,0x30,0x34,0x18,0x00, + 0x00,0x00,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0xcc,0xcc,0xcc, + 0x78,0x30,0x00,0x00,0x00,0xc6,0xd6,0xfe,0xfe,0x6c,0x00,0x00,0x00, + 0xc6,0x6c,0x38,0x6c,0xc6,0x00,0x00,0x00,0xcc,0xcc,0xcc,0x7c,0x0c, + 0xf8,0x00,0x00,0xfc,0x98,0x30,0x64,0xfc,0x00,0x1c,0x30,0x30,0xe0, + 0x30,0x30,0x1c,0x00,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x00,0xe0, + 0x30,0x30,0x1c,0x30,0x30,0xe0,0x00,0x76,0xdc,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0x00,0x78,0xcc,0xc0, + 0xcc,0x78,0x18,0x0c,0x78,0x00,0xcc,0x00,0xcc,0xcc,0xcc,0x7e,0x00, + 0x1c,0x00,0x78,0xcc,0xfc,0xc0,0x78,0x00,0x7e,0xc3,0x3c,0x06,0x3e, + 0x66,0x3f,0x00,0xcc,0x00,0x78,0x0c,0x7c,0xcc,0x7e,0x00,0xe0,0x00, + 0x78,0x0c,0x7c,0xcc,0x7e,0x00,0x30,0x30,0x78,0x0c,0x7c,0xcc,0x7e, + 0x00,0x00,0x00,0x78,0xc0,0xc0,0x78,0x0c,0x38,0x7e,0xc3,0x3c,0x66, + 0x7e,0x60,0x3c,0x00,0xcc,0x00,0x78,0xcc,0xfc,0xc0,0x78,0x00,0xe0, + 0x00,0x78,0xcc,0xfc,0xc0,0x78,0x00,0xcc,0x00,0x70,0x30,0x30,0x30, + 0x78,0x00,0x7c,0xc6,0x38,0x18,0x18,0x18,0x3c,0x00,0xe0,0x00,0x70, + 0x30,0x30,0x30,0x78,0x00,0xc6,0x38,0x6c,0xc6,0xfe,0xc6,0xc6,0x00, + 0x30,0x30,0x00,0x78,0xcc,0xfc,0xcc,0x00,0x1c,0x00,0xfc,0x60,0x78, + 0x60,0xfc,0x00,0x00,0x00,0x7f,0x0c,0x7f,0xcc,0x7f,0x00,0x3e,0x6c, + 0xcc,0xfe,0xcc,0xcc,0xce,0x00,0x78,0xcc,0x00,0x78,0xcc,0xcc,0x78, + 0x00,0x00,0xcc,0x00,0x78,0xcc,0xcc,0x78,0x00,0x00,0xe0,0x00,0x78, + 0xcc,0xcc,0x78,0x00,0x78,0xcc,0x00,0xcc,0xcc,0xcc,0x7e,0x00,0x00, + 0xe0,0x00,0xcc,0xcc,0xcc,0x7e,0x00,0x00,0xcc,0x00,0xcc,0xcc,0x7c, + 0x0c,0xf8,0xc3,0x18,0x3c,0x66,0x66,0x3c,0x18,0x00,0xcc,0x00,0xcc, + 0xcc,0xcc,0xcc,0x78,0x00,0x18,0x18,0x7e,0xc0,0xc0,0x7e,0x18,0x18, + 0x38,0x6c,0x64,0xf0,0x60,0xe6,0xfc,0x00,0xcc,0xcc,0x78,0xfc,0x30, + 0xfc,0x30,0x30,0xf8,0xcc,0xcc,0xfa,0xc6,0xcf,0xc6,0xc7,0x0e,0x1b, + 0x18,0x3c,0x18,0x18,0xd8,0x70,0x1c,0x00,0x78,0x0c,0x7c,0xcc,0x7e, + 0x00,0x38,0x00,0x70,0x30,0x30,0x30,0x78,0x00,0x00,0x1c,0x00,0x78, + 0xcc,0xcc,0x78,0x00,0x00,0x1c,0x00,0xcc,0xcc,0xcc,0x7e,0x00,0x00, + 0xf8,0x00,0xf8,0xcc,0xcc,0xcc,0x00,0xfc,0x00,0xcc,0xec,0xfc,0xdc, + 0xcc,0x00,0x3c,0x6c,0x6c,0x3e,0x00,0x7e,0x00,0x00,0x38,0x6c,0x6c, + 0x38,0x00,0x7c,0x00,0x00,0x30,0x00,0x30,0x60,0xc0,0xcc,0x78,0x00, + 0x00,0x00,0x00,0xfc,0xc0,0xc0,0x00,0x00,0x00,0x00,0x00,0xfc,0x0c, + 0x0c,0x00,0x00,0xc3,0xc6,0xcc,0xde,0x33,0x66,0xcc,0x0f,0xc3,0xc6, + 0xcc,0xdb,0x37,0x6f,0xcf,0x03,0x18,0x18,0x00,0x18,0x18,0x18,0x18, + 0x00,0x00,0x33,0x66,0xcc,0x66,0x33,0x00,0x00,0x00,0xcc,0x66,0x33, + 0x66,0xcc,0x00,0x00,0x22,0x88,0x22,0x88,0x22,0x88,0x22,0x88,0x55, + 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0xdb,0x77,0xdb,0xee,0xdb,0x77, + 0xdb,0xee,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0xf8,0x18,0xf8,0x18,0x18,0x18, + 0x36,0x36,0x36,0x36,0xf6,0x36,0x36,0x36,0x00,0x00,0x00,0x00,0xfe, + 0x36,0x36,0x36,0x00,0x00,0xf8,0x18,0xf8,0x18,0x18,0x18,0x36,0x36, + 0xf6,0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, + 0x36,0x00,0x00,0xfe,0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0xf6,0x06, + 0xfe,0x00,0x00,0x00,0x36,0x36,0x36,0x36,0xfe,0x00,0x00,0x00,0x18, + 0x18,0xf8,0x18,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x18, + 0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x00,0x00,0x00,0x18,0x18,0x18, + 0x18,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x18,0x18,0x18, + 0x18,0x18,0x18,0x18,0x1f,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0xff, + 0x00,0x00,0x00,0x18,0x18,0x18,0x18,0xff,0x18,0x18,0x18,0x18,0x18, + 0x1f,0x18,0x1f,0x18,0x18,0x18,0x36,0x36,0x36,0x36,0x37,0x36,0x36, + 0x36,0x36,0x36,0x37,0x30,0x3f,0x00,0x00,0x00,0x00,0x00,0x3f,0x30, + 0x37,0x36,0x36,0x36,0x36,0x36,0xf7,0x00,0xff,0x00,0x00,0x00,0x00, + 0x00,0xff,0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x37,0x36, + 0x36,0x36,0x00,0x00,0xff,0x00,0xff,0x00,0x00,0x00,0x36,0x36,0xf7, + 0x00,0xf7,0x36,0x36,0x36,0x18,0x18,0xff,0x00,0xff,0x00,0x00,0x00, + 0x36,0x36,0x36,0x36,0xff,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff, + 0x18,0x18,0x18,0x00,0x00,0x00,0x00,0xff,0x36,0x36,0x36,0x36,0x36, + 0x36,0x36,0x3f,0x00,0x00,0x00,0x18,0x18,0x1f,0x18,0x1f,0x00,0x00, + 0x00,0x00,0x00,0x1f,0x18,0x1f,0x18,0x18,0x18,0x00,0x00,0x00,0x00, + 0x3f,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xff,0x36,0x36,0x36,0x18, + 0x18,0xff,0x18,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x18,0x18,0x18,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x0f,0x0f,0x0f,0x0f,0x0f, + 0x0f,0x0f,0x0f,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00, + 0x76,0xdc,0xc8,0xdc,0x76,0x00,0x00,0x78,0xcc,0xf8,0xcc,0xf8,0xc0, + 0xc0,0x00,0xfc,0xcc,0xc0,0xc0,0xc0,0xc0,0x00,0x00,0xfe,0x6c,0x6c, + 0x6c,0x6c,0x6c,0x00,0xfc,0xcc,0x60,0x30,0x60,0xcc,0xfc,0x00,0x00, + 0x00,0x7e,0xd8,0xd8,0xd8,0x70,0x00,0x00,0x66,0x66,0x66,0x66,0x7c, + 0x60,0xc0,0x00,0x76,0xdc,0x18,0x18,0x18,0x18,0x00,0xfc,0x30,0x78, + 0xcc,0xcc,0x78,0x30,0xfc,0x38,0x6c,0xc6,0xfe,0xc6,0x6c,0x38,0x00, + 0x38,0x6c,0xc6,0xc6,0x6c,0x6c,0xee,0x00,0x1c,0x30,0x18,0x7c,0xcc, + 0xcc,0x78,0x00,0x00,0x00,0x7e,0xdb,0xdb,0x7e,0x00,0x00,0x06,0x0c, + 0x7e,0xdb,0xdb,0x7e,0x60,0xc0,0x38,0x60,0xc0,0xf8,0xc0,0x60,0x38, + 0x00,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x00,0x00,0xfc,0x00,0xfc, + 0x00,0xfc,0x00,0x00,0x30,0x30,0xfc,0x30,0x30,0x00,0xfc,0x00,0x60, + 0x30,0x18,0x30,0x60,0x00,0xfc,0x00,0x18,0x30,0x60,0x30,0x18,0x00, + 0xfc,0x00,0x0e,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, + 0x18,0x18,0xd8,0xd8,0x70,0x30,0x30,0x00,0xfc,0x00,0x30,0x30,0x00, + 0x00,0x76,0xdc,0x00,0x76,0xdc,0x00,0x00,0x38,0x6c,0x6c,0x38,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x18,0x00,0x00,0x00,0x0f,0x0c,0x0c,0x0c,0xec,0x6c,0x3c, + 0x1c,0x78,0x6c,0x6c,0x6c,0x6c,0x00,0x00,0x00,0x70,0x18,0x30,0x60, + 0x78,0x00,0x00,0x00,0x70,0x00,0x3c,0x3c,0x3c,0x3c,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + }; + diff --git a/psl1ght/include/console/8x8stdX2.fnt b/psl1ght/include/console/8x8stdX2.fnt new file mode 100755 index 00000000..efbc2712 Binary files /dev/null and b/psl1ght/include/console/8x8stdX2.fnt differ diff --git a/psl1ght/include/console/8x8stdX2.inc b/psl1ght/include/console/8x8stdX2.inc new file mode 100755 index 00000000..95d9fb97 --- /dev/null +++ b/psl1ght/include/console/8x8stdX2.inc @@ -0,0 +1,638 @@ + +#define CHARMASK8X8STDX2_LEN 8192 + + static unsigned char CharMask8x8stdX2[]= + { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0xc0,0x03,0xc0, + 0x03,0xcc,0x33,0xcc,0x33,0xc0,0x03,0xc0,0x03,0xcf,0xf3,0xcf,0xf3, + 0xc3,0xc3,0xc3,0xc3,0xc0,0x03,0xc0,0x03,0x3f,0xfc,0x3f,0xfc,0x3f, + 0xfc,0x3f,0xfc,0xff,0xff,0xff,0xff,0xf3,0xcf,0xf3,0xcf,0xff,0xff, + 0xff,0xff,0xf0,0x0f,0xf0,0x0f,0xfc,0x3f,0xfc,0x3f,0xff,0xff,0xff, + 0xff,0x3f,0xfc,0x3f,0xfc,0x3c,0xf0,0x3c,0xf0,0xff,0xfc,0xff,0xfc, + 0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0x3f,0xf0,0x3f,0xf0,0x0f, + 0xc0,0x0f,0xc0,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x03,0x00, + 0x03,0x00,0x0f,0xc0,0x0f,0xc0,0x3f,0xf0,0x3f,0xf0,0xff,0xfc,0xff, + 0xfc,0x3f,0xf0,0x3f,0xf0,0x0f,0xc0,0x0f,0xc0,0x03,0x00,0x03,0x00, + 0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3f,0xf0,0x3f,0xf0,0x0f, + 0xc0,0x0f,0xc0,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0x3f,0xf0, + 0x3f,0xf0,0x0f,0xc0,0x0f,0xc0,0x3f,0xf0,0x3f,0xf0,0x03,0x00,0x03, + 0x00,0x03,0x00,0x03,0x00,0x0f,0xc0,0x0f,0xc0,0x3f,0xf0,0x3f,0xf0, + 0xff,0xfc,0xff,0xfc,0x3f,0xf0,0x3f,0xf0,0x0f,0xc0,0x0f,0xc0,0x3f, + 0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0, + 0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03, + 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xfc,0x3f,0xfc,0x3f,0xf0,0x0f,0xf0,0x0f,0xf0, + 0x0f,0xf0,0x0f,0xfc,0x3f,0xfc,0x3f,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f,0xf0,0x3c,0x3c,0x3c, + 0x3c,0x30,0x0c,0x30,0x0c,0x30,0x0c,0x30,0x0c,0x3c,0x3c,0x3c,0x3c, + 0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xf0, + 0x0f,0xf0,0x0f,0xc3,0xc3,0xc3,0xc3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3, + 0xcf,0xf3,0xc3,0xc3,0xc3,0xc3,0xf0,0x0f,0xf0,0x0f,0xff,0xff,0xff, + 0xff,0x00,0xff,0x00,0xff,0x00,0x3f,0x00,0x3f,0x00,0xff,0x00,0xff, + 0x3f,0xf3,0x3f,0xf3,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x0f,0xf0,0x0f,0xf0,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x0f, + 0xf0,0x03,0xc0,0x03,0xc0,0x3f,0xfc,0x3f,0xfc,0x03,0xc0,0x03,0xc0, + 0x0f,0xff,0x0f,0xff,0x0f,0x0f,0x0f,0x0f,0x0f,0xff,0x0f,0xff,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3f,0x00,0x3f,0x00,0xff,0x00, + 0xff,0x00,0xfc,0x00,0xfc,0x00,0x3f,0xff,0x3f,0xff,0x3c,0x0f,0x3c, + 0x0f,0x3f,0xff,0x3f,0xff,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x3f,0x3c,0x3f,0xfc,0x3c,0xfc,0x3c,0xf0,0x00,0xf0,0x00,0xc3, + 0xc3,0xc3,0xc3,0x33,0xcc,0x33,0xcc,0x0f,0xf0,0x0f,0xf0,0xfc,0x3f, + 0xfc,0x3f,0xfc,0x3f,0xfc,0x3f,0x0f,0xf0,0x0f,0xf0,0x33,0xcc,0x33, + 0xcc,0xc3,0xc3,0xc3,0xc3,0xc0,0x00,0xc0,0x00,0xfc,0x00,0xfc,0x00, + 0xff,0xc0,0xff,0xc0,0xff,0xfc,0xff,0xfc,0xff,0xc0,0xff,0xc0,0xfc, + 0x00,0xfc,0x00,0xc0,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x0c, + 0x00,0x0c,0x00,0xfc,0x00,0xfc,0x0f,0xfc,0x0f,0xfc,0xff,0xfc,0xff, + 0xfc,0x0f,0xfc,0x0f,0xfc,0x00,0xfc,0x00,0xfc,0x00,0x0c,0x00,0x0c, + 0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x3f, + 0xfc,0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xfc, + 0x3f,0xfc,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x00, + 0x00,0x00,0x00,0x3f,0xff,0x3f,0xff,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf, + 0xf3,0xcf,0x3f,0xcf,0x3f,0xcf,0x03,0xcf,0x03,0xcf,0x03,0xcf,0x03, + 0xcf,0x03,0xcf,0x03,0xcf,0x00,0x00,0x00,0x00,0x0f,0xfc,0x0f,0xfc, + 0x3c,0x0f,0x3c,0x0f,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0, + 0x3f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0x3f,0xfc,0x3f,0xfc, + 0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f, + 0xf0,0x0f,0xf0,0x3f,0xfc,0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x3f,0xfc, + 0x3f,0xfc,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0xff,0xff,0xff, + 0xff,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x3f,0xfc,0x3f,0xfc, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xfc,0x3f, + 0xfc,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x00,0xf0,0x00,0xf0,0xff, + 0xfc,0xff,0xfc,0x00,0xf0,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f, + 0x00,0x3c,0x00,0x3c,0x00,0xff,0xfc,0xff,0xfc,0x3c,0x00,0x3c,0x00, + 0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0xff,0xfc,0xff,0xfc,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x30,0x0c,0x30, + 0x3c,0x3c,0x3c,0x3c,0xff,0xff,0xff,0xff,0x3c,0x3c,0x3c,0x3c,0x0c, + 0x30,0x0c,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x3f,0xfc,0x3f, + 0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0x3f,0xfc,0x3f,0xfc,0x0f,0xf0,0x0f,0xf0,0x03,0xc0, + 0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x3f,0xc0,0x3f,0xc0,0x3f,0xc0, + 0x3f,0xc0,0x3f,0xc0,0x3f,0xc0,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00, + 0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0xff,0xfc,0xff, + 0xfc,0x3c,0xf0,0x3c,0xf0,0xff,0xfc,0xff,0xfc,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x3f, + 0xf0,0x3f,0xf0,0xf0,0x00,0xf0,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0, + 0x00,0xf0,0xff,0xc0,0xff,0xc0,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0xf0,0xf0,0xf0,0xf0, + 0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x3c,0x3c,0x3c,0xf0, + 0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0, + 0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3, + 0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f, + 0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x3c, + 0x00,0x3c,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x3c, + 0x0f,0xf0,0x0f,0xf0,0xff,0xff,0xff,0xff,0x0f,0xf0,0x0f,0xf0,0x3c, + 0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0xff,0xf0,0xff, + 0xf0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c, + 0x00,0xf0,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c, + 0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0xc0,0x00,0xc0,0x00,0x00,0x00, + 0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0xfc,0xf0, + 0xfc,0xf3,0xfc,0xf3,0xfc,0xff,0x3c,0xff,0x3c,0xfc,0x3c,0xfc,0x3c, + 0x3f,0xf0,0x3f,0xf0,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x3f, + 0x00,0x3f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00, + 0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0x00,0xf0,0x00,0xf0, + 0x0f,0xc0,0x0f,0xc0,0x3c,0x00,0x3c,0x00,0xf0,0xf0,0xf0,0xf0,0xff, + 0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0, + 0xf0,0xf0,0x00,0xf0,0x00,0xf0,0x0f,0xc0,0x0f,0xc0,0x00,0xf0,0x00, + 0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00, + 0x03,0xf0,0x03,0xf0,0x0f,0xf0,0x0f,0xf0,0x3c,0xf0,0x3c,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xff,0xfc,0xff,0xfc,0x00,0xf0,0x00,0xf0,0x03,0xfc, + 0x03,0xfc,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0xf0,0x00,0xf0, + 0x00,0xff,0xc0,0xff,0xc0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0, + 0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x0f, + 0xc0,0x0f,0xc0,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0xff,0xc0, + 0xff,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f, + 0xc0,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0xf0,0xf0,0xf0,0xf0, + 0x00,0xf0,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x3f,0xc0, + 0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f, + 0xc0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0, + 0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0x3f,0xf0,0x3f,0xf0,0x00,0xf0,0x00,0xf0,0x03,0xc0, + 0x03,0xc0,0x3f,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x03,0xc0,0x03,0xc0, + 0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0x3c, + 0x00,0x3c,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff, + 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00,0x0f, + 0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0xf0,0x00,0xf0,0x03,0xc0, + 0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00, + 0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0x00,0xf0,0x00,0xf0, + 0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x0f, + 0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0,0x3c, + 0xf0,0x3c,0xf3,0xfc,0xf3,0xfc,0xf3,0xfc,0xf3,0xfc,0xf3,0xfc,0xf3, + 0xfc,0xf0,0x00,0xf0,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00, + 0x0f,0x00,0x0f,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xff,0xf0,0xff,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3f,0xf0,0x3f,0xf0,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0x0f, + 0xf0,0x0f,0xf0,0x3c,0x3c,0x3c,0x3c,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x0f, + 0xf0,0x00,0x00,0x00,0x00,0xff,0xc0,0xff,0xc0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0xf0,0x3c,0xf0,0xff,0xc0,0xff,0xc0,0x00,0x00,0x00,0x00,0x3f,0xfc, + 0x3f,0xfc,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3f,0xc0,0x3f, + 0xc0,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3f,0xfc,0x3f,0xfc, + 0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0x3c,0x00,0x3c,0x00,0x3c, + 0x00,0x3c,0x00,0x3f,0xc0,0x3f,0xc0,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f, + 0xf0,0x3c,0x3c,0x3c,0x3c,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0xfc,0xf0,0xfc,0x3c,0x3c,0x3c,0x3c,0x0f,0xfc,0x0f,0xfc,0x00, + 0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xff,0xf0,0xff,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0x00, + 0x00,0x00,0x03,0xfc,0x03,0xfc,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0xfc,0x3c,0xfc,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0xf0,0x3c,0xf0,0x3f,0xc0,0x3f,0xc0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0x3c,0x3c,0x3c,0xfc,0x3c,0xfc,0x3c,0x00,0x00,0x00, + 0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3f, + 0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0xfc,0xfc, + 0xfc,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xf3,0x3c,0xf3, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00, + 0xf0,0x3c,0xf0,0x3c,0xfc,0x3c,0xfc,0x3c,0xff,0x3c,0xff,0x3c,0xf3, + 0xfc,0xf3,0xfc,0xf0,0xfc,0xf0,0xfc,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c, + 0xf0,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x00,0x00,0x00,0x00,0xff, + 0xf0,0xff,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3f,0xf0, + 0x3f,0xf0,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xff,0x00,0xff, + 0x00,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf3,0xf0,0xf3,0xf0,0x3f, + 0xc0,0x3f,0xc0,0x03,0xf0,0x03,0xf0,0x00,0x00,0x00,0x00,0xff,0xf0, + 0xff,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3f,0xf0,0x3f, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x3c,0x3c,0x3c,0xfc,0x3c,0xfc,0x3c, + 0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xfc, + 0x00,0xfc,0x00,0x3f,0x00,0x3f,0x00,0x03,0xf0,0x03,0xf0,0xf0,0xf0, + 0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0xff,0xf0,0xff, + 0xf0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00, + 0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x0f,0x00,0x0f,0x00,0x00,0x00, + 0x00,0x00,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf3,0x3c,0xf3,0x3c,0xff,0xfc,0xff,0xfc,0xfc,0xfc,0xfc,0xfc, + 0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x0f,0xc0, + 0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00, + 0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0x3f,0xc0,0x3f,0xc0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3f, + 0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0xff,0xfc,0xff,0xfc,0x00,0x3c, + 0x00,0x3c,0x00,0xf0,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f, + 0x00,0x3c,0x00,0x3c,0x00,0xff,0xfc,0xff,0xfc,0x00,0x00,0x00,0x00, + 0x3f,0xc0,0x3f,0xc0,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c, + 0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3f,0xc0, + 0x3f,0xc0,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0x3c,0x00,0x3c, + 0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0xf0,0x00,0xf0, + 0x00,0x3c,0x00,0x3c,0x00,0x0c,0x00,0x0c,0x00,0x00,0x00,0x00,0x3f, + 0xc0,0x3f,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xc0,0x3f, + 0xc0,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x0f,0xc0,0x0f,0xc0, + 0x3c,0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xff,0xff,0xff,0xff,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x03, + 0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00,0xf0, + 0x3f,0xf0,0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c,0x3f,0x3c,0x00, + 0x00,0x00,0x00,0xfc,0x00,0xfc,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x00,0x3f,0xf0,0x3f,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0xf3,0xf0,0xf3,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0x00,0xf0,0x00,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00, + 0x00,0x00,0x03,0xf0,0x03,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x3f,0xf0,0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xff,0xf0, + 0xff,0xf0,0xf0,0x00,0xf0,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00, + 0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c,0x00,0x3c,0x00, + 0xff,0x00,0xff,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xff, + 0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0x3f,0xf0,0x3f,0xf0,0x00,0xf0,0x00,0xf0,0xff,0xc0,0xff,0xc0, + 0xfc,0x00,0xfc,0x00,0x3c,0x00,0x3c,0x00,0x3c,0xf0,0x3c,0xf0,0x3f, + 0x3c,0x3f,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0xfc,0x3c, + 0xfc,0x3c,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00, + 0x00,0x3f,0x00,0x3f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x00, + 0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0x3f,0xc0,0x3f,0xc0,0xfc,0x00,0xfc,0x00,0x3c,0x00,0x3c,0x00, + 0x3c,0x3c,0x3c,0x3c,0x3c,0xf0,0x3c,0xf0,0x3f,0xc0,0x3f,0xc0,0x3c, + 0xf0,0x3c,0xf0,0xfc,0x3c,0xfc,0x3c,0x00,0x00,0x00,0x00,0x3f,0x00, + 0x3f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3f,0xc0,0x3f,0xc0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0, + 0xf0,0xf0,0xf0,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xf3,0x3c, + 0xf3,0x3c,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xff,0xc0,0xff,0xc0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xc0, + 0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xf3,0xf0,0xf3,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3f,0xf0,0x3f,0xf0,0x3c,0x00,0x3c,0x00,0xff,0x00, + 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x3c,0x3f, + 0x3c,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xf0,0x3f,0xf0, + 0x00,0xf0,0x00,0xf0,0x03,0xfc,0x03,0xfc,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xf3,0xf0,0xf3,0xf0,0x3f,0x3c,0x3f,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x00,0x3c,0x00,0xff,0x00,0xff,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0, + 0xf0,0x00,0xf0,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00,0xf0,0xff, + 0xc0,0xff,0xc0,0x00,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x0f,0x00, + 0x0f,0x00,0x3f,0xf0,0x3f,0xf0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f, + 0x00,0x0f,0x30,0x0f,0x30,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0x3c, + 0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0x3f,0xc0,0x3f,0xc0,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0xf3,0x3c, + 0xf3,0x3c,0xff,0xfc,0xff,0xfc,0xff,0xfc,0xff,0xfc,0x3c,0xf0,0x3c, + 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xf0,0x3c,0xf0,0x3c,0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x3c, + 0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xf0,0x3f,0xf0,0x00,0xf0,0x00,0xf0, + 0xff,0xc0,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, + 0xf0,0xff,0xf0,0xc3,0xc0,0xc3,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x30, + 0x3c,0x30,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0x03,0xf0,0x03, + 0xf0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0xfc,0x00,0xfc,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x03,0xf0,0x03,0xf0,0x00, + 0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x03,0xf0,0x03,0xf0,0x0f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0xfc,0x00,0xfc,0x00,0x00,0x00, + 0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0x00,0x03,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0x00,0x00,0x00, + 0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0,0x00,0xf0,0x00, + 0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x03,0xc0,0x03,0xc0,0x00, + 0xf0,0x00,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0xf0,0xf0, + 0xf0,0xf0,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00, + 0x03,0xf0,0x03,0xf0,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0, + 0xf0,0xf0,0xf0,0xff,0xf0,0xff,0xf0,0xf0,0x00,0xf0,0x00,0x3f,0xc0, + 0x3f,0xc0,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0xf0,0x0f,0xf0, + 0x0f,0x0f,0xf0,0x0f,0xf0,0x00,0x3c,0x00,0x3c,0x0f,0xfc,0x0f,0xfc, + 0x3c,0x3c,0x3c,0x3c,0x0f,0xff,0x0f,0xff,0x00,0x00,0x00,0x00,0xf0, + 0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0, + 0x00,0xf0,0x3f,0xf0,0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xfc,0x3f, + 0xfc,0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,0x00, + 0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00,0xf0,0x3f,0xf0,0x3f,0xf0,0xf0, + 0xf0,0xf0,0xf0,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0x0f,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00, + 0xf0,0x3f,0xf0,0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xfc,0x3f,0xfc, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f, + 0xc0,0x3f,0xc0,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0x3f,0xc0, + 0x3f,0xc0,0x00,0xf0,0x00,0xf0,0x0f,0xc0,0x0f,0xc0,0x3f,0xfc,0x3f, + 0xfc,0xf0,0x0f,0xf0,0x0f,0x0f,0xf0,0x0f,0xf0,0x3c,0x3c,0x3c,0x3c, + 0x3f,0xfc,0x3f,0xfc,0x3c,0x00,0x3c,0x00,0x0f,0xf0,0x0f,0xf0,0x00, + 0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x3f,0xc0, + 0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xff,0xf0,0xff,0xf0,0xf0,0x00,0xf0, + 0x00,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x00, + 0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xff, + 0xf0,0xff,0xf0,0xf0,0x00,0xf0,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0x00, + 0x00,0x00,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x3f,0x00,0x3f, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0xf0, + 0x3c,0xf0,0x3c,0x0f,0xc0,0x0f,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x00,0x00,0x00, + 0x00,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x3f,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3f, + 0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0xf0,0x3c,0xf0,0x3c,0x0f,0xc0, + 0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff, + 0xfc,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0x00,0x00,0x00,0x00, + 0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x3f, + 0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xff,0xf0,0xff,0xf0,0xf0,0xf0, + 0xf0,0xf0,0x00,0x00,0x00,0x00,0x03,0xf0,0x03,0xf0,0x00,0x00,0x00, + 0x00,0xff,0xf0,0xff,0xf0,0x3c,0x00,0x3c,0x00,0x3f,0xc0,0x3f,0xc0, + 0x3c,0x00,0x3c,0x00,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xff,0x3f,0xff,0x00,0xf0, + 0x00,0xf0,0x3f,0xff,0x3f,0xff,0xf0,0xf0,0xf0,0xf0,0x3f,0xff,0x3f, + 0xff,0x00,0x00,0x00,0x00,0x0f,0xfc,0x0f,0xfc,0x3c,0xf0,0x3c,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xff,0xfc,0xff,0xfc,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xfc,0xf0,0xfc,0x00,0x00,0x00,0x00,0x3f,0xc0, + 0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f, + 0xc0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0x00, + 0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00, + 0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0x00,0x00, + 0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xfc,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xfc,0x3f,0xfc,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00, + 0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xf0,0x3f,0xf0, + 0x00,0xf0,0x00,0xf0,0xff,0xc0,0xff,0xc0,0xf0,0x0f,0xf0,0x0f,0x03, + 0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00, + 0x00,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f, + 0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x3f,0xfc,0x3f,0xfc,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0x3f,0xfc,0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c,0x30,0x3c,0x30,0xff, + 0x00,0xff,0x00,0x3c,0x00,0x3c,0x00,0xfc,0x3c,0xfc,0x3c,0xff,0xf0, + 0xff,0xf0,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0x3f,0xc0,0x3f,0xc0,0xff,0xf0,0xff,0xf0,0x0f,0x00,0x0f,0x00, + 0xff,0xf0,0xff,0xf0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0xff, + 0xc0,0xff,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xff,0xcc, + 0xff,0xcc,0xf0,0x3c,0xf0,0x3c,0xf0,0xff,0xf0,0xff,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3f,0xf0,0x3f,0x00,0xfc,0x00,0xfc,0x03,0xcf,0x03,0xcf, + 0x03,0xc0,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0xf3,0xc0,0xf3,0xc0,0x3f,0x00,0x3f,0x00,0x03,0xf0, + 0x03,0xf0,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0xf0,0x00, + 0xf0,0x3f,0xf0,0x3f,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xfc,0x3f,0xfc, + 0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x00,0x00,0x00,0x00,0x3f, + 0x00,0x3f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x03,0xf0,0x03,0xf0,0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xf0,0x03,0xf0,0x00,0x00, + 0x00,0x00,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xff,0xc0,0xff,0xc0,0x00,0x00,0x00,0x00,0xff,0xc0,0xff,0xc0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x00,0x00, + 0x00,0x00,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0xf0,0xf0,0xf0, + 0xf0,0xfc,0xf0,0xfc,0xf0,0xff,0xf0,0xff,0xf0,0xf3,0xf0,0xf3,0xf0, + 0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x0f,0xfc,0x0f,0xfc,0x00,0x00, + 0x00,0x00,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x0f,0xc0,0x0f,0xc0,0x00,0x00,0x00,0x00,0x3f,0xf0,0x3f,0xf0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00, + 0x00,0x00,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, + 0xf0,0xff,0xf0,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0x00,0xf0,0x00,0xf0, + 0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0, + 0x0f,0xf0,0x0f,0xf0,0x3c,0xf0,0x3c,0xf0,0xf0,0xf0,0xf0,0xf3,0xfc, + 0xf3,0xfc,0x0f,0x0f,0x0f,0x0f,0x3c,0x3c,0x3c,0x3c,0xf0,0xf0,0xf0, + 0xf0,0x00,0xff,0x00,0xff,0xf0,0x0f,0xf0,0x0f,0xf0,0x3c,0xf0,0x3c, + 0xf0,0xf0,0xf0,0xf0,0xf3,0xcf,0xf3,0xcf,0x0f,0x3f,0x0f,0x3f,0x3c, + 0xff,0x3c,0xff,0xf0,0xff,0xf0,0xff,0x00,0x0f,0x00,0x0f,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0x0f,0x0f,0x0f,0x3c, + 0x3c,0x3c,0x3c,0xf0,0xf0,0xf0,0xf0,0x3c,0x3c,0x3c,0x3c,0x0f,0x0f, + 0x0f,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xf0,0xf0,0xf0,0xf0,0x3c,0x3c,0x3c,0x3c,0x0f,0x0f,0x0f,0x0f, + 0x3c,0x3c,0x3c,0x3c,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x0c,0x0c,0x0c,0x0c,0xc0,0xc0,0xc0,0xc0,0x0c,0x0c, + 0x0c,0x0c,0xc0,0xc0,0xc0,0xc0,0x0c,0x0c,0x0c,0x0c,0xc0,0xc0,0xc0, + 0xc0,0x0c,0x0c,0x0c,0x0c,0xc0,0xc0,0xc0,0xc0,0x33,0x33,0x33,0x33, + 0xcc,0xcc,0xcc,0xcc,0x33,0x33,0x33,0x33,0xcc,0xcc,0xcc,0xcc,0x33, + 0x33,0x33,0x33,0xcc,0xcc,0xcc,0xcc,0x33,0x33,0x33,0x33,0xcc,0xcc, + 0xcc,0xcc,0xf3,0xcf,0xf3,0xcf,0x3f,0x3f,0x3f,0x3f,0xf3,0xcf,0xf3, + 0xcf,0xfc,0xfc,0xfc,0xfc,0xf3,0xcf,0xf3,0xcf,0x3f,0x3f,0x3f,0x3f, + 0xf3,0xcf,0xf3,0xcf,0xfc,0xfc,0xfc,0xfc,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0,0xff,0xc0,0xff, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0xff,0x3c,0xff,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfc,0xff,0xfc, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xc0,0xff,0xc0,0x03,0xc0, + 0x03,0xc0,0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0xff,0x3c,0xff,0x3c,0x00,0x3c,0x00,0x3c,0xff,0x3c,0xff,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, + 0xfc,0xff,0xfc,0x00,0x3c,0x00,0x3c,0xff,0x3c,0xff,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0x3c,0xff,0x3c,0x00,0x3c,0x00,0x3c, + 0xff,0xfc,0xff,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0xfc,0xff,0xfc,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0,0xff, + 0xc0,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0xff,0xc0,0xff,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xff, + 0x03,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff, + 0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xff,0x03,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0xff,0xff,0xff,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xff,0x03,0xff,0x03,0xc0,0x03,0xc0,0x03,0xff,0x03,0xff,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3f,0x0f,0x3f,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3f,0x0f,0x3f,0x0f,0x00,0x0f,0x00,0x0f,0xff,0x0f,0xff,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x0f,0xff,0x0f,0xff,0x0f,0x00,0x0f,0x00, + 0x0f,0x3f,0x0f,0x3f,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0x3f, + 0xff,0x3f,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff, + 0x3f,0xff,0x3f,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3f,0x0f, + 0x3f,0x0f,0x00,0x0f,0x00,0x0f,0x3f,0x0f,0x3f,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff, + 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0x3f,0xff,0x3f, + 0x00,0x00,0x00,0x00,0xff,0x3f,0xff,0x3f,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff, + 0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0xff,0xff,0xff,0xff,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0xff,0x0f,0xff,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xff,0x03,0xff,0x03,0xc0,0x03, + 0xc0,0x03,0xff,0x03,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, + 0xff,0x03,0xff,0x03,0xc0,0x03,0xc0,0x03,0xff,0x03,0xff,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x0f,0xff,0x0f,0xff,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c, + 0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0xff,0xff,0xff,0x0f,0x3c,0x0f, + 0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0xff,0xff,0xff,0xff,0x03,0xc0,0x03,0xc0,0xff, + 0xff,0xff,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0xff,0xc0,0xff,0xc0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff, + 0x03,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, + 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, + 0xff,0x00,0xff,0x00,0xff,0x00,0x00,0xff,0x00,0xff,0x00,0xff,0x00, + 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff, + 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0xf0,0xc0,0xf0,0xc0,0xf3, + 0xf0,0xf3,0xf0,0x3f,0x3c,0x3f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xff,0xc0,0xff, + 0xc0,0xf0,0xf0,0xf0,0xf0,0xff,0xc0,0xff,0xc0,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xff,0xfc,0xff,0xfc,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x00, + 0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0xf0,0xf0,0xf0,0xf0,0x3c,0x00, + 0x3c,0x00,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00,0xf0,0xf0,0xf0, + 0xf0,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0xf3,0xc0,0xf3,0xc0,0xf3, + 0xc0,0xf3,0xc0,0xf3,0xc0,0xf3,0xc0,0x3f,0x00,0x3f,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c, + 0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3f,0xf0,0x3f,0xf0, + 0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x3f, + 0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00, + 0x00,0xff,0xf0,0xff,0xf0,0x0f,0x00,0x0f,0x00,0x3f,0xc0,0x3f,0xc0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x0f, + 0x00,0x0f,0x00,0xff,0xf0,0xff,0xf0,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0, + 0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0xff,0xfc,0xff,0xfc,0xf0,0x3c,0xf0, + 0x3c,0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x00,0x00,0x00,0x00, + 0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c,0xf0,0xf0,0x3c,0xf0,0x3c,0xf0, + 0x3c,0xf0,0x3c,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0xfc,0xfc, + 0xfc,0xfc,0x00,0x00,0x00,0x00,0x03,0xf0,0x03,0xf0,0x0f,0x00,0x0f, + 0x00,0x03,0xc0,0x03,0xc0,0x3f,0xf0,0x3f,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xfc,0x3f,0xfc,0xf3,0xcf, + 0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0x3f,0xfc,0x3f,0xfc,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0, + 0x3f,0xfc,0x3f,0xfc,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0x3f, + 0xfc,0x3f,0xfc,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0x0f,0xc0, + 0x0f,0xc0,0x3c,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0xff,0xc0,0xff, + 0xc0,0xf0,0x00,0xf0,0x00,0x3c,0x00,0x3c,0x00,0x0f,0xc0,0x0f,0xc0, + 0x00,0x00,0x00,0x00,0x3f,0xc0,0x3f,0xc0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, + 0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0, + 0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0xff,0xf0, + 0xff,0xf0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00, + 0x00,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00, + 0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c, + 0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0x00,0x00, + 0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c, + 0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00, + 0xff,0xf0,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0xfc,0x03, + 0xcf,0x03,0xcf,0x03,0xcf,0x03,0xcf,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03, + 0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0xf3,0xc0,0xf3,0xc0,0xf3, + 0xc0,0xf3,0xc0,0x3f,0x00,0x3f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00, + 0x0f,0x00,0x00,0x00,0x00,0x00,0xff,0xf0,0xff,0xf0,0x00,0x00,0x00, + 0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0x00, + 0x00,0x00,0x00,0x3f,0x3c,0x3f,0x3c,0xf3,0xf0,0xf3,0xf0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xc0,0x0f,0xc0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x0f,0xc0,0x0f,0xc0,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0, + 0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff, + 0x00,0xff,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00, + 0xf0,0xfc,0xf0,0xfc,0xf0,0x3c,0xf0,0x3c,0xf0,0x0f,0xf0,0x0f,0xf0, + 0x03,0xf0,0x03,0xf0,0x3f,0xc0,0x3f,0xc0,0x3c,0xf0,0x3c,0xf0,0x3c, + 0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x3c,0xf0,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x3f, + 0x00,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x3c,0x00, + 0x3f,0xc0,0x3f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x3f,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0, + 0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f, + 0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00 + }; + diff --git a/psl1ght/include/console/Console.h b/psl1ght/include/console/Console.h new file mode 100755 index 00000000..6879ee7d --- /dev/null +++ b/psl1ght/include/console/Console.h @@ -0,0 +1,157 @@ +#ifndef __CONSOLE_INCLUDED__ +#define __CONSOLE_INCLUDED__ + +#include + +#include +#include +#include + + +#define CONSOLE_BASIC_COLOR_BLACK 0 +#define CONSOLE_BASIC_COLOR_BLUE 1 +#define CONSOLE_BASIC_COLOR_GREEN 2 +#define CONSOLE_BASIC_COLOR_CYAN 3 +#define CONSOLE_BASIC_COLOR_RED 4 +#define CONSOLE_BASIC_COLOR_MAGENTA 5 +#define CONSOLE_BASIC_COLOR_BROWN 6 +#define CONSOLE_BASIC_COLOR_LIGHTGRAY 7 +#define CONSOLE_BASIC_COLOR_DARKGRAY 8 +#define CONSOLE_BASIC_COLOR_BRIGHTBLUE 9 +#define CONSOLE_BASIC_COLOR_BRIGHTGREEN 10 +#define CONSOLE_BASIC_COLOR_BRIGHTCYAN 11 +#define CONSOLE_BASIC_COLOR_BRIGHTRED 12 +#define CONSOLE_BASIC_COLOR_BRIGHTMAGENTA 13 +#define CONSOLE_BASIC_COLOR_BRIGHTYELLOW 14 +#define CONSOLE_BASIC_COLOR_WHITE 15 + +#define CONSOLE_BASIC_COLOR_BLACK_RGB_8 0x00000000 +#define CONSOLE_BASIC_COLOR_BLUE_RGB_8 0x00000001 +#define CONSOLE_BASIC_COLOR_GREEN_RGB_8 0x00000002 +#define CONSOLE_BASIC_COLOR_CYAN_RGB_8 0x00000003 +#define CONSOLE_BASIC_COLOR_RED_RGB_8 0x00000004 +#define CONSOLE_BASIC_COLOR_MAGENTA_RGB_8 0x00000005 +#define CONSOLE_BASIC_COLOR_BROWN_RGB_8 0x00000006 +#define CONSOLE_BASIC_COLOR_LIGHTGRAY_RGB_8 0x00000007 +#define CONSOLE_BASIC_COLOR_DARKGRAY_RGB_8 0x00000008 +#define CONSOLE_BASIC_COLOR_BRIGHTBLUE_RGB_8 0x00000009 +#define CONSOLE_BASIC_COLOR_BRIGHTGREEN_RGB_8 0x0000000A +#define CONSOLE_BASIC_COLOR_BRIGHTCYAN_RGB_8 0x0000000B +#define CONSOLE_BASIC_COLOR_BRIGHTRED_RGB_8 0x0000000C +#define CONSOLE_BASIC_COLOR_BRIGHTMAGENTA_RGB_8 0x0000000D +#define CONSOLE_BASIC_COLOR_BRIGHTYELLOW_RGB_8 0x0000000E +#define CONSOLE_BASIC_COLOR_WHITE_RGB_8 0x0000000F + +#define CONSOLE_BASIC_COLOR_BLACK_RGB_16 0x00000000 +#define CONSOLE_BASIC_COLOR_BLUE_RGB_16 0x0000000F +#define CONSOLE_BASIC_COLOR_GREEN_RGB_16 0x000003E0 +#define CONSOLE_BASIC_COLOR_CYAN_RGB_16 0x000003EF +#define CONSOLE_BASIC_COLOR_RED_RGB_16 0x00007800 +#define CONSOLE_BASIC_COLOR_MAGENTA_RGB_16 0x0000780F +#define CONSOLE_BASIC_COLOR_BROWN_RGB_16 0x000079E0 +#define CONSOLE_BASIC_COLOR_LIGHTGRAY_RGB_16 0x0000BDF7 +#define CONSOLE_BASIC_COLOR_DARKGRAY_RGB_16 0x000039E7 +#define CONSOLE_BASIC_COLOR_BRIGHTBLUE_RGB_16 0x0000001F +#define CONSOLE_BASIC_COLOR_BRIGHTGREEN_RGB_16 0x000007E0 +#define CONSOLE_BASIC_COLOR_BRIGHTCYAN_RGB_16 0x000007FF +#define CONSOLE_BASIC_COLOR_BRIGHTRED_RGB_16 0x0000F800 +#define CONSOLE_BASIC_COLOR_BRIGHTMAGENTA_RGB_16 0x0000F81F +#define CONSOLE_BASIC_COLOR_BRIGHTYELLOW_RGB_16 0x0000FFE7 +#define CONSOLE_BASIC_COLOR_WHITE_RGB_16 0x0000FFFF + +#define CONSOLE_BASIC_COLOR_BLACK_RGB_32 0xFF000000 +#define CONSOLE_BASIC_COLOR_BLUE_RGB_32 0xFF00007F +#define CONSOLE_BASIC_COLOR_GREEN_RGB_32 0xFF007F00 +#define CONSOLE_BASIC_COLOR_CYAN_RGB_32 0xFF007F7F +#define CONSOLE_BASIC_COLOR_RED_RGB_32 0xFF7F0000 +#define CONSOLE_BASIC_COLOR_MAGENTA_RGB_32 0xFF7F007F +#define CONSOLE_BASIC_COLOR_BROWN_RGB_32 0xFF7F3F00 +#define CONSOLE_BASIC_COLOR_LIGHTGRAY_RGB_32 0xFFBFBFBF +#define CONSOLE_BASIC_COLOR_DARKGRAY_RGB_32 0xFF3F3F3F +#define CONSOLE_BASIC_COLOR_BRIGHTBLUE_RGB_32 0xFF0000FF +#define CONSOLE_BASIC_COLOR_BRIGHTGREEN_RGB_32 0xFF00FF00 +#define CONSOLE_BASIC_COLOR_BRIGHTCYAN_RGB_32 0xFF00FFFF +#define CONSOLE_BASIC_COLOR_BRIGHTRED_RGB_32 0xFFFF0000 +#define CONSOLE_BASIC_COLOR_BRIGHTMAGENTA_RGB_32 0xFFFF00FF +#define CONSOLE_BASIC_COLOR_BRIGHTYELLOW_RGB_32 0xFFFFFF3F +#define CONSOLE_BASIC_COLOR_WHITE_RGB_32 0xFFFFFFFF + + +#include "8x8std.inc" +UCHAR g_8x8CursorMask[8] = { 0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF }; +UCHAR g_8x8CursorInsertMask[8] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; +UCHAR g_8x8MousePointerMask[8] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; + +#include "8x8stdX2.inc" +UCHAR g_8x8X2CursorMask[32] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; +UCHAR g_8x8X2CursorInsertMask[32] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; +UCHAR g_8x8X2MousePointerMask[32] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; + +#include "8x16std.inc" +UCHAR g_8x16CursorMask[16] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF }; +UCHAR g_8x16CursorInsertMask[16] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; +UCHAR g_8x16MousePointerMask[16] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; + +#include "8x16stdX2.inc" +UCHAR g_8x16X2CursorMask[64] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; +UCHAR g_8x16X2CursorInsertMask[64] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; +UCHAR g_8x16X2MousePointerMask[64] = { 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; + +ULONG g_BasicColors1BPP[16] = { + CONSOLE_BASIC_COLOR_BLACK_RGB_8, + CONSOLE_BASIC_COLOR_BLUE_RGB_8, + CONSOLE_BASIC_COLOR_GREEN_RGB_8, + CONSOLE_BASIC_COLOR_CYAN_RGB_8, + CONSOLE_BASIC_COLOR_RED_RGB_8, + CONSOLE_BASIC_COLOR_MAGENTA_RGB_8, + CONSOLE_BASIC_COLOR_BROWN_RGB_8, + CONSOLE_BASIC_COLOR_LIGHTGRAY_RGB_8, + CONSOLE_BASIC_COLOR_DARKGRAY_RGB_8, + CONSOLE_BASIC_COLOR_BRIGHTBLUE_RGB_8, + CONSOLE_BASIC_COLOR_BRIGHTGREEN_RGB_8, + CONSOLE_BASIC_COLOR_BRIGHTCYAN_RGB_8, + CONSOLE_BASIC_COLOR_BRIGHTRED_RGB_8, + CONSOLE_BASIC_COLOR_BRIGHTMAGENTA_RGB_8, + CONSOLE_BASIC_COLOR_BRIGHTYELLOW_RGB_8, + CONSOLE_BASIC_COLOR_WHITE_RGB_8 +}; + +ULONG g_BasicColors2BPP[16] = { + CONSOLE_BASIC_COLOR_BLACK_RGB_16, + CONSOLE_BASIC_COLOR_BLUE_RGB_16, + CONSOLE_BASIC_COLOR_GREEN_RGB_16, + CONSOLE_BASIC_COLOR_CYAN_RGB_16, + CONSOLE_BASIC_COLOR_RED_RGB_16, + CONSOLE_BASIC_COLOR_MAGENTA_RGB_16, + CONSOLE_BASIC_COLOR_BROWN_RGB_16, + CONSOLE_BASIC_COLOR_LIGHTGRAY_RGB_16, + CONSOLE_BASIC_COLOR_DARKGRAY_RGB_16, + CONSOLE_BASIC_COLOR_BRIGHTBLUE_RGB_16, + CONSOLE_BASIC_COLOR_BRIGHTGREEN_RGB_16, + CONSOLE_BASIC_COLOR_BRIGHTCYAN_RGB_16, + CONSOLE_BASIC_COLOR_BRIGHTRED_RGB_16, + CONSOLE_BASIC_COLOR_BRIGHTMAGENTA_RGB_16, + CONSOLE_BASIC_COLOR_BRIGHTYELLOW_RGB_16, + CONSOLE_BASIC_COLOR_WHITE_RGB_16 +}; + +ULONG g_BasicColors4BPP[16] = { + CONSOLE_BASIC_COLOR_BLACK_RGB_32, + CONSOLE_BASIC_COLOR_BLUE_RGB_32, + CONSOLE_BASIC_COLOR_GREEN_RGB_32, + CONSOLE_BASIC_COLOR_CYAN_RGB_32, + CONSOLE_BASIC_COLOR_RED_RGB_32, + CONSOLE_BASIC_COLOR_MAGENTA_RGB_32, + CONSOLE_BASIC_COLOR_BROWN_RGB_32, + CONSOLE_BASIC_COLOR_LIGHTGRAY_RGB_32, + CONSOLE_BASIC_COLOR_DARKGRAY_RGB_32, + CONSOLE_BASIC_COLOR_BRIGHTBLUE_RGB_32, + CONSOLE_BASIC_COLOR_BRIGHTGREEN_RGB_32, + CONSOLE_BASIC_COLOR_BRIGHTCYAN_RGB_32, + CONSOLE_BASIC_COLOR_BRIGHTRED_RGB_32, + CONSOLE_BASIC_COLOR_BRIGHTMAGENTA_RGB_32, + CONSOLE_BASIC_COLOR_BRIGHTYELLOW_RGB_32, + CONSOLE_BASIC_COLOR_WHITE_RGB_32 +}; + +#endif//__CONSOLE_INCLUDED__ diff --git a/psl1ght/include/console/ConsoleBase.h b/psl1ght/include/console/ConsoleBase.h new file mode 100755 index 00000000..2a593db8 --- /dev/null +++ b/psl1ght/include/console/ConsoleBase.h @@ -0,0 +1,14 @@ +#ifndef __CONSOLEBASE_INCLUDED__ +#define __CONSOLEBASE_INCLUDED__ + +#define FALSE 0 +#define TRUE 1 + +#define UCHAR unsigned char +#define PUCHAR unsigned char* +#define USHORT unsigned short +#define PUSHORT unsigned short* +#define ULONG unsigned int +#define PULONG unsigned int* + +#endif//__CONSOLEBASE_INCLUDED__ diff --git a/psl1ght/include/console/ConsoleLogic.h b/psl1ght/include/console/ConsoleLogic.h new file mode 100755 index 00000000..4ff0e29a --- /dev/null +++ b/psl1ght/include/console/ConsoleLogic.h @@ -0,0 +1,58 @@ +#ifndef __CONSOLELOGIC_INCLUDED__ +#define __CONSOLELOGIC_INCLUDED__ + +#include + +typedef struct _ATTR_CHAR_PAIR +{ + UCHAR Attr; + UCHAR Char; +}ATTR_CHAR_PAIR,*PATTR_CHAR_PAIR; + +typedef struct _CONSOLE_LOGIC +{ + ULONG Columns; + ULONG Rows; + ULONG CursorX; + ULONG CursorY; + UCHAR CursorShow; + UCHAR CursorInsert; + ULONG MousePointerX; + ULONG MousePointerY; + UCHAR MousePointerShow; + PATTR_CHAR_PAIR AttrCharPairGrid; + PUCHAR ChangedAttrCharPairs; + UCHAR CursorChanged; + UCHAR MousePointerChanged; +}CONSOLE_LOGIC,*PCONSOLE_LOGIC; + +int CONSOLE_LOGIC_Initialize(PCONSOLE_LOGIC Console, ULONG Columns, ULONG Rows); +int CONSOLE_LOGIC_Finalize(PCONSOLE_LOGIC Console); +ULONG CONSOLE_LOGIC_GetColumns(PCONSOLE_LOGIC Console); +ULONG CONSOLE_LOGIC_GetRows(PCONSOLE_LOGIC Console); +int CONSOLE_LOGIC_PutAttrCharPairXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR Attr, UCHAR Char); +int CONSOLE_LOGIC_GetAttrCharPairXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pAttr, PUCHAR pChar); +int CONSOLE_LOGIC_PutCharXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR Char); +int CONSOLE_LOGIC_GetCharXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pChar); +int CONSOLE_LOGIC_PutAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR Attr); +int CONSOLE_LOGIC_GetAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pAttr); +int CONSOLE_LOGIC_PutBackAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR BackAttr); +int CONSOLE_LOGIC_GetBackAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pBackAttr); +int CONSOLE_LOGIC_PutTextAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR TextAttr); +int CONSOLE_LOGIC_GetTextAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pTextAttr); +int CONSOLE_LOGIC_GetCursorXY(PCONSOLE_LOGIC Console, PULONG pX, PULONG pY); +int CONSOLE_LOGIC_ShowCursor(PCONSOLE_LOGIC Console, UCHAR Show); +int CONSOLE_LOGIC_IsCursorVisible(PCONSOLE_LOGIC Console); +int CONSOLE_LOGIC_PutCursorXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y); +int CONSOLE_LOGIC_PutCursorInsert(PCONSOLE_LOGIC Console, UCHAR Insert); +int CONSOLE_LOGIC_IsCursorInsert(PCONSOLE_LOGIC Console); +int CONSOLE_LOGIC_GetMousePointerXY(PCONSOLE_LOGIC Console, PULONG pX, PULONG pY); +int CONSOLE_LOGIC_ShowMousePointer(PCONSOLE_LOGIC Console, UCHAR Show); +int CONSOLE_LOGIC_IsMousePointerVisible(PCONSOLE_LOGIC Console); +int CONSOLE_LOGIC_PutMousePointerXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y); +int CONSOLE_LOGIC_ResetChanges(PCONSOLE_LOGIC Console, UCHAR FalseTrue); +int CONSOLE_LOGIC_GetNextChangedSlot(PCONSOLE_LOGIC Console, PULONG pHandle, PULONG pX, PULONG pY); +int CONSOLE_LOGIC_CursorChanged(PCONSOLE_LOGIC Console); +int CONSOLE_LOGIC_MousePointerChanged(PCONSOLE_LOGIC Console); + +#endif//__CONSOLELOGIC_INCLUDED__ diff --git a/psl1ght/include/console/ConsoleMisc.h b/psl1ght/include/console/ConsoleMisc.h new file mode 100755 index 00000000..7b8af6a9 --- /dev/null +++ b/psl1ght/include/console/ConsoleMisc.h @@ -0,0 +1,45 @@ +#ifndef __CONSOLEMISC_INCLUDED__ +#define __CONSOLEMISC_INCLUDED__ + +#include + +#include + + +typedef struct _CONSOLE_MISC_PANEL +{ + ULONG Columns; + ULONG Rows; + ULONG DrawPosX; + ULONG DrawPosY; + UCHAR DrawTextColor; + UCHAR DrawBackgroundColor; + PATTR_CHAR_PAIR AttrCharPairGrid; + int ScrollLockEnabled; +}CONSOLE_MISC_PANEL,*PCONSOLE_MISC_PANEL; + +int CONSOLE_MISC_PANEL_Initialize(PCONSOLE_MISC_PANEL Panel, ULONG Columns, ULONG Rows); +int CONSOLE_MISC_PANEL_Finalize(PCONSOLE_MISC_PANEL Panel); +int CONSOLE_MISC_PANEL_BltToLogic(PCONSOLE_MISC_PANEL Panel, PCONSOLE_LOGIC DstConsole, ULONG SrcX, ULONG SrcWidth, ULONG SrcY, ULONG SrcHeight, ULONG DstX, ULONG DstWidth, ULONG DstY, ULONG DstHeight); +int CONSOLE_MISC_PANEL_BltToPanel(PCONSOLE_MISC_PANEL Panel, PCONSOLE_MISC_PANEL DstPanel, ULONG SrcX, ULONG SrcWidth, ULONG SrcY, ULONG SrcHeight, ULONG DstX, ULONG DstWidth, ULONG DstY, ULONG DstHeight); +ULONG CONSOLE_MISC_PANEL_GetDrawPosX(PCONSOLE_MISC_PANEL Panel); +ULONG CONSOLE_MISC_PANEL_GetDrawPosY(PCONSOLE_MISC_PANEL Panel); +int CONSOLE_MISC_PANEL_SetDrawPosX(PCONSOLE_MISC_PANEL Panel, ULONG PosX); +int CONSOLE_MISC_PANEL_SetDrawPosY(PCONSOLE_MISC_PANEL Panel, ULONG PosY); +UCHAR CONSOLE_MISC_PANEL_GetDrawTextColor(PCONSOLE_MISC_PANEL Panel); +UCHAR CONSOLE_MISC_PANEL_GetDrawBackgroundColor(PCONSOLE_MISC_PANEL Panel); +int CONSOLE_MISC_PANEL_SetDrawTextColor(PCONSOLE_MISC_PANEL Panel, UCHAR TextColor); +int CONSOLE_MISC_PANEL_SetDrawBackgroundColor(PCONSOLE_MISC_PANEL Panel, UCHAR BackgroundColor); +int CONSOLE_MISC_PANEL_GetTextColorAtXY(PCONSOLE_MISC_PANEL Panel, ULONG X, ULONG Y, PUCHAR pTextColor); +int CONSOLE_MISC_PANEL_GetBackgroundColorAtXY(PCONSOLE_MISC_PANEL Panel, ULONG X, ULONG Y, PUCHAR pBackgroundColor); +int CONSOLE_MISC_PANEL_SetTextColorAtXY(PCONSOLE_MISC_PANEL Panel, ULONG X, ULONG Y, UCHAR TextColor); +int CONSOLE_MISC_PANEL_SetBackgroundColorAtXY(PCONSOLE_MISC_PANEL Panel, ULONG X, ULONG Y, UCHAR BackgroundColor); +void CONSOLE_MISC_PANEL_putc(PCONSOLE_MISC_PANEL Panel, int UseDrawTextColor, int UseDrawBackgroundColor, UCHAR C); +UCHAR CONSOLE_MISC_PANEL_getc(PCONSOLE_MISC_PANEL Panel); +void CONSOLE_MISC_PANEL_puts(PCONSOLE_MISC_PANEL Panel, int UseDrawTextColor, int UseDrawBackgroundColor, char* S); +void CONSOLE_MISC_PANEL_gets(PCONSOLE_MISC_PANEL Panel, PUCHAR S, ULONG MaxLength, int CopyBeyondNullChar); +void CONSOLE_MISC_PANEL_printf(PCONSOLE_MISC_PANEL Panel, int UseDrawTextColor, int UseDrawBackgroundColor, char* FormatString, ...); +void CONSOLE_MISC_PANEL_Clear(PCONSOLE_MISC_PANEL Panel); +void CONSOLE_MISC_PANEL_SetScrollLock(PCONSOLE_MISC_PANEL Panel, int ScrollLockEnabled); + +#endif//__CONSOLEMISC_INCLUDED__ diff --git a/psl1ght/include/console/ConsoleRender.h b/psl1ght/include/console/ConsoleRender.h new file mode 100755 index 00000000..289de9fc --- /dev/null +++ b/psl1ght/include/console/ConsoleRender.h @@ -0,0 +1,56 @@ +#ifndef __CONSOLERENDER_INCLUDED__ +#define __CONSOLERENDER_INCLUDED__ + +#include + +#include +#include + +typedef struct _CONSOLE_RENDER +{ + UCHAR CursorBlinkFrames; + UCHAR CurrentCursorBlinkFrames; + UCHAR CurrentCursorBlinkState; + PUCHAR CursorMaskBuffer; + PUCHAR CursorInsertMaskBuffer; + PUCHAR MousePointerMaskBuffer; + UCHAR CharacterWidth; + UCHAR CharacterHeight; + PUCHAR CharacterMasksBuffer; + PULONG BasicColors; + ULONG RenderingFlags; + UCHAR DropShadowOrientation; + ULONG DropShadowColor; + UCHAR TransparentTextModeColor; +}CONSOLE_RENDER,*PCONSOLE_RENDER; + +#define CONSOLE_RENDER_RENDERING_FLAG_TRANSPARENT 1 +#define CONSOLE_RENDER_RENDERING_FLAG_DROPSHADOW 2 +#define CONSOLE_RENDER_RENDERING_FLAG_DROPSHADOWOVERANYBACKGROUND 4 + +#define CONSOLE_RENDER_DROPSHADOWORIENTATION_NORTH 0 +#define CONSOLE_RENDER_DROPSHADOWORIENTATION_NORTHEAST 1 +#define CONSOLE_RENDER_DROPSHADOWORIENTATION_EAST 2 +#define CONSOLE_RENDER_DROPSHADOWORIENTATION_SOUTHEAST 3 +#define CONSOLE_RENDER_DROPSHADOWORIENTATION_SOUTH 4 +#define CONSOLE_RENDER_DROPSHADOWORIENTATION_SOUTHWEST 5 +#define CONSOLE_RENDER_DROPSHADOWORIENTATION_WEST 6 +#define CONSOLE_RENDER_DROPSHADOWORIENTATION_NORTHWEST 7 + +#define CONSOLE_RENDER_DROPSHADOWORIENTATIONS 8 + +int CONSOLE_RENDER_Initialize(PCONSOLE_RENDER Render, UCHAR SlotWidth, UCHAR SlotHeight, ULONG CursorBlinkFrames, PULONG pBasicColors, PUCHAR pCharacterMasks, PUCHAR pCursorMask, PUCHAR pCursorInsertMask, PUCHAR pMousePointerMask); +int CONSOLE_RENDER_Finalize(PCONSOLE_RENDER Render); +int CONSOLE_RENDER_Render(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, PCONSOLE_VIDEO Video); +int CONSOLE_RENDER_RenderChanges(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, PCONSOLE_VIDEO Video); +int CONSOLE_RENDER_SetDropShadowOrientation(PCONSOLE_RENDER Render, UCHAR DropShadowOrientation); +int CONSOLE_RENDER_SetDropShadowColor(PCONSOLE_RENDER Render, ULONG DropShadowColor); +int CONSOLE_RENDER_SetTransparentTextModeColor(PCONSOLE_RENDER Render, UCHAR TransparentTextModeColor); +int CONSOLE_RENDER_SetRenderingOptions(PCONSOLE_RENDER Render, ULONG RenderingFlags); +int CONSOLE_RENDER_SetRenderingOptions(PCONSOLE_RENDER Render, ULONG RenderingFlags); +int CONSOLE_RENDER_GetDropShadowOrientation(PCONSOLE_RENDER Render, PUCHAR pDropShadowOrientation); +int CONSOLE_RENDER_GetDropShadowColor(PCONSOLE_RENDER Render, PULONG pDropShadowColor); +int CONSOLE_RENDER_GetTransparentTextModeColor(PCONSOLE_RENDER Render, PUCHAR pTransparentTextModeColor); +int CONSOLE_RENDER_GetRenderingOptions(PCONSOLE_RENDER Render, PULONG pRenderingFlags); + +#endif//__CONSOLERENDER_INCLUDED__ diff --git a/psl1ght/include/console/ConsoleVideo.h b/psl1ght/include/console/ConsoleVideo.h new file mode 100755 index 00000000..16b0322a --- /dev/null +++ b/psl1ght/include/console/ConsoleVideo.h @@ -0,0 +1,36 @@ +#ifndef __CONSOLEVIDEO_INCLUDED__ +#define __CONSOLEVIDEO_INCLUDED__ + +#include + +typedef struct _CONSOLE_VIDEO +{ + PUCHAR FrameBuffer; + ULONG ResolutionX; + ULONG ResolutionY; + ULONG ResolutionBPP; + ULONG ScanLine; + ULONG ViewPortX; + ULONG ViewPortWidth; + ULONG ViewPortY; + ULONG ViewPortHeight; +// PUCHAR ViewPortBackBuffer; + ULONG ViewPortScanLine; + PUCHAR ViewPortStart; +}CONSOLE_VIDEO,*PCONSOLE_VIDEO; + +int CONSOLE_VIDEO_Initialize(PCONSOLE_VIDEO Video, PUCHAR FrameBuffer, ULONG ResolutionX, ULONG ResolutionY, UCHAR ResolutionBPP, ULONG ResolutionScanLine, ULONG ViewPortX, ULONG ViewPortWidth, ULONG ViewPortY, ULONG ViewPortHeight); +int CONSOLE_VIDEO_Finalize(PCONSOLE_VIDEO Video); +int CONSOLE_VIDEO_Save(PCONSOLE_VIDEO Video); +int CONSOLE_VIDEO_Restore(PCONSOLE_VIDEO Video); +int CONSOLE_VIDEO_PutViewPortX(PCONSOLE_VIDEO Video, ULONG ViewPortX); +int CONSOLE_VIDEO_PutViewPortY(PCONSOLE_VIDEO Video, ULONG ViewPortY); +int CONSOLE_VIDEO_PutViewPortWidth(PCONSOLE_VIDEO Video, ULONG ViewPortWidth); +int CONSOLE_VIDEO_PutViewPortHeight(PCONSOLE_VIDEO Video, ULONG ViewPortHeight); +int CONSOLE_VIDEO_GetViewPortX(PCONSOLE_VIDEO Video, PULONG pViewPortX); +int CONSOLE_VIDEO_GetViewPortY(PCONSOLE_VIDEO Video, PULONG pViewPortY); +int CONSOLE_VIDEO_GetViewPortWidth(PCONSOLE_VIDEO Video, PULONG pViewPortWidth); +int CONSOLE_VIDEO_GetViewPortHeight(PCONSOLE_VIDEO Video, PULONG pViewPortHeight); +int CONSOLE_VIDEO_PutPixel(PCONSOLE_VIDEO Video, ULONG X, ULONG Y, ULONG Color); + +#endif//__CONSOLEVIDEO_INCLUDED__ diff --git a/psl1ght/libs/libconsole/Makefile b/psl1ght/libs/libconsole/Makefile new file mode 100644 index 00000000..b32efdb9 --- /dev/null +++ b/psl1ght/libs/libconsole/Makefile @@ -0,0 +1,57 @@ +.SUFFIXES: + +-include ../../../Makefile.base + +TARGET := $(notdir $(CURDIR)) +BUILD := build +SOURCE := source +INCLUDE := ../../include +DATA := data +LIBS := + +LD := ppu-ld + +CFLAGS := -g -O2 -Wall + +ifneq ($(BUILD),$(notdir $(CURDIR))) + +export OUTPUT := $(CURDIR)/$(TARGET) +export VPATH := $(foreach dir,$(SOURCE),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) +export BUILDDIR := $(CURDIR)/$(BUILD) +export DEPSDIR := $(BUILDDIR) + +CFILES := $(foreach dir,$(SOURCE),$(notdir $(wildcard $(dir)/*.c))) +CXXFILES := $(foreach dir,$(SOURCE),$(notdir $(wildcard $(dir)/*.cpp))) +SFILES := $(foreach dir,$(SOURCE),$(notdir $(wildcard $(dir)/*.S))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.bin))) + +export OFILES := $(CFILES:.c=.o) \ + $(CXXFILES:.cpp=.o) \ + $(SFILES:.S=.o) + +export BINFILES := $(BINFILES:.bin=.bin.h) + +export INCLUDES := $(foreach dir,$(INCLUDE),-I$(CURDIR)/$(dir)) \ + -I$(CURDIR)/$(BUILD) + +.PHONY: $(BUILD) clean + +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +clean: + @echo Clean... + @rm -rf $(BUILD) $(OUTPUT).elf $(OUTPUT).self $(OUTPUT).a + +else + +DEPENDS := $(OFILES:.o=.d) + +$(OUTPUT).a: $(OFILES) + + +-include $(DEPENDS) + +endif diff --git a/psl1ght/libs/libconsole/source/ConsoleLogic.c b/psl1ght/libs/libconsole/source/ConsoleLogic.c new file mode 100755 index 00000000..f9115fc6 --- /dev/null +++ b/psl1ght/libs/libconsole/source/ConsoleLogic.c @@ -0,0 +1,490 @@ +#include +#include + +#include + +int CONSOLE_LOGIC_Initialize(PCONSOLE_LOGIC Console, ULONG Columns, ULONG Rows) +{ + PATTR_CHAR_PAIR GridBuffer; + PUCHAR ChangedSlotsBuffer; + + GridBuffer = malloc(Columns*Rows*sizeof(ATTR_CHAR_PAIR)); + + if(!GridBuffer) + { + return FALSE; + } + + ChangedSlotsBuffer = malloc(Columns*Rows*sizeof(UCHAR)); + + if(!ChangedSlotsBuffer) + { + free(GridBuffer); + + return FALSE; + } + + memset(GridBuffer, 0, Columns*Rows*sizeof(ATTR_CHAR_PAIR)); + memset(ChangedSlotsBuffer, TRUE, Columns*Rows*sizeof(UCHAR)); + + Console->CursorChanged = TRUE; + Console->MousePointerChanged = TRUE; + + Console->Columns = Columns; + Console->Rows = Rows; + Console->CursorX = 0; + Console->CursorY = 0; + Console->CursorShow = TRUE; + Console->MousePointerX = Columns/2; + Console->MousePointerY = Rows/2; + Console->MousePointerShow = TRUE; + Console->AttrCharPairGrid = GridBuffer; + Console->ChangedAttrCharPairs = ChangedSlotsBuffer; + + return TRUE; +} + +int CONSOLE_LOGIC_Finalize(PCONSOLE_LOGIC Console) +{ + free(Console->AttrCharPairGrid); + free(Console->ChangedAttrCharPairs); + + Console->AttrCharPairGrid = NULL; + Console->ChangedAttrCharPairs = NULL; + + return TRUE; +} + +ULONG CONSOLE_LOGIC_GetColumns(PCONSOLE_LOGIC Console) +{ + return Console->Columns; +} + +ULONG CONSOLE_LOGIC_GetRows(PCONSOLE_LOGIC Console) +{ + return Console->Rows; +} + +int CONSOLE_LOGIC_PutAttrCharPairXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR Attr, UCHAR Char) +{ + ULONG LinearSlot; + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + if((Console->AttrCharPairGrid[LinearSlot].Attr!=Attr)||(Console->AttrCharPairGrid[LinearSlot].Char!=Char)) + { + Console->AttrCharPairGrid[LinearSlot].Attr = Attr; + Console->AttrCharPairGrid[LinearSlot].Char = Char; + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + } + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_GetAttrCharPairXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pAttr, PUCHAR pChar) +{ + ULONG LinearSlot; + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + *pAttr = Console->AttrCharPairGrid[LinearSlot].Attr; + *pChar = Console->AttrCharPairGrid[LinearSlot].Char; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_PutCharXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR Char) +{ + ULONG LinearSlot; + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + if(Console->AttrCharPairGrid[LinearSlot].Char!=Char) + { + Console->AttrCharPairGrid[LinearSlot].Char = Char; + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + } + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_GetCharXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pChar) +{ + ULONG LinearSlot; + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + *pChar = Console->AttrCharPairGrid[LinearSlot].Char; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_PutAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR Attr) +{ + ULONG LinearSlot; + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + if(Console->AttrCharPairGrid[LinearSlot].Attr!=Attr) + { + Console->AttrCharPairGrid[LinearSlot].Attr = Attr; + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + } + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_GetAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pAttr) +{ + ULONG LinearSlot; + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + *pAttr = Console->AttrCharPairGrid[LinearSlot].Attr; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_PutBackAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR BackAttr) +{ + ULONG LinearSlot; + UCHAR TempAttr; + + if(BackAttr>=16) + { + return FALSE; + } + + BackAttr <<= 4; + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + TempAttr = Console->AttrCharPairGrid[LinearSlot].Attr; + + if((TempAttr&0xF0)!=BackAttr) + { + Console->AttrCharPairGrid[LinearSlot].Attr = (TempAttr&0x0F)|BackAttr; + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + } + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_GetBackAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pBackAttr) +{ + ULONG LinearSlot; + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + *pBackAttr = (Console->AttrCharPairGrid[LinearSlot].Attr)>>4; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_PutTextAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, UCHAR TextAttr) +{ + ULONG LinearSlot; + UCHAR TempAttr; + + if(TextAttr>=16) + { + return FALSE; + } + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + TempAttr = Console->AttrCharPairGrid[LinearSlot].Attr; + + if((TempAttr&0x0F)!=TextAttr) + { + Console->AttrCharPairGrid[LinearSlot].Attr = (TempAttr&0xF0)|TextAttr; + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + } + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_GetTextAttrXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y, PUCHAR pTextAttr) +{ + ULONG LinearSlot; + + if((XColumns)&&(YRows)) + { + LinearSlot = (Y*Console->Columns)+X; + + *pTextAttr = (Console->AttrCharPairGrid[LinearSlot].Attr)&0x0F; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_LOGIC_GetCursorXY(PCONSOLE_LOGIC Console, PULONG pX, PULONG pY) +{ + *pX = Console->CursorX; + *pY = Console->CursorY; + + return TRUE; +} + +int CONSOLE_LOGIC_ShowCursor(PCONSOLE_LOGIC Console, UCHAR Show) +{ + ULONG LinearSlot; + + LinearSlot = ((Console->CursorY)*Console->Columns)+(Console->CursorX); + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + + Console->CursorShow = Show; + + Console->CursorChanged = TRUE; + + return TRUE; +} + +int CONSOLE_LOGIC_IsCursorVisible(PCONSOLE_LOGIC Console) +{ + return Console->CursorShow; +} + +int CONSOLE_LOGIC_PutCursorXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y) +{ + ULONG LinearSlot; + + if((X>=Console->Columns)||(Y>=Console->Rows)) + { + return FALSE; + } + + if((X==Console->CursorX)&&(Y==Console->CursorY)) + { + return TRUE; + } + + if(CONSOLE_LOGIC_IsCursorVisible(Console)) + { + LinearSlot = ((Console->CursorY)*Console->Columns)+(Console->CursorX); + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + + LinearSlot = (Y*Console->Columns)+X; + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + } + + Console->CursorChanged = TRUE; + + if((Console->MousePointerX==Console->CursorX)&&(Console->MousePointerY==Console->CursorY)) + { + Console->MousePointerChanged = TRUE; + } + + Console->CursorX = X; + Console->CursorY = Y; + + return TRUE; +} + +int CONSOLE_LOGIC_PutCursorInsert(PCONSOLE_LOGIC Console, UCHAR Insert) +{ + ULONG LinearSlot; + + LinearSlot = ((Console->CursorY)*Console->Columns)+(Console->CursorX); + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + + Console->CursorInsert = Insert; + + Console->CursorChanged = TRUE; + + return TRUE; +} + +int CONSOLE_LOGIC_IsCursorInsert(PCONSOLE_LOGIC Console) +{ + return Console->CursorInsert; +} + +int CONSOLE_LOGIC_GetMousePointerXY(PCONSOLE_LOGIC Console, PULONG pX, PULONG pY) +{ + *pX = Console->MousePointerX; + *pY = Console->MousePointerY; + + return TRUE; +} + +int CONSOLE_LOGIC_ShowMousePointer(PCONSOLE_LOGIC Console, UCHAR Show) +{ + ULONG LinearSlot; + + LinearSlot = ((Console->MousePointerY)*Console->Columns)+(Console->MousePointerX); + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + + Console->MousePointerShow = Show; + + Console->MousePointerChanged = TRUE; + + return TRUE; +} + +int CONSOLE_LOGIC_IsMousePointerVisible(PCONSOLE_LOGIC Console) +{ + return Console->MousePointerShow; +} + +int CONSOLE_LOGIC_PutMousePointerXY(PCONSOLE_LOGIC Console, ULONG X, ULONG Y) +{ + ULONG LinearSlot; + + if((X>=Console->Columns)||(Y>=Console->Rows)) + { + return FALSE; + } + + if((X==Console->MousePointerX)&&(Y==Console->MousePointerY)) + { + return TRUE; + } + + if(CONSOLE_LOGIC_IsMousePointerVisible(Console)) + { + LinearSlot = ((Console->MousePointerY)*Console->Columns)+(Console->MousePointerX); + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + + LinearSlot = (Y*Console->Columns)+X; + + Console->ChangedAttrCharPairs[LinearSlot] = TRUE; + } + + Console->MousePointerChanged = TRUE; + + if((Console->MousePointerX==Console->CursorX)&&(Console->MousePointerY==Console->CursorY)) + { + Console->CursorChanged = TRUE; + } + + Console->MousePointerX = X; + Console->MousePointerY = Y; + + return TRUE; +} + +int CONSOLE_LOGIC_ResetChanges(PCONSOLE_LOGIC Console, UCHAR FalseTrue) +{ + ULONG Slots = Console->Columns*Console->Rows; + + memset(Console->ChangedAttrCharPairs, FalseTrue, Slots*sizeof(UCHAR)); + + Console->CursorChanged = FalseTrue; + Console->MousePointerChanged = FalseTrue; + + return TRUE; +} + +int CONSOLE_LOGIC_GetNextChangedSlot(PCONSOLE_LOGIC Console, PULONG pHandle, PULONG pX, PULONG pY) +{ + ULONG Slots = Console->Columns*Console->Rows; + + if((*pHandle)>=Slots) + { + return FALSE; + } + + for(;(*pHandle)ChangedAttrCharPairs[*pHandle]) + { + *pX = (*pHandle)%Console->Columns; + *pY = (*pHandle)/Console->Columns; + + (*pHandle)++; + + return TRUE; + } + } + + return FALSE; +} + +int CONSOLE_LOGIC_CursorChanged(PCONSOLE_LOGIC Console) +{ + return Console->CursorChanged; +} + +int CONSOLE_LOGIC_MousePointerChanged(PCONSOLE_LOGIC Console) +{ + return Console->MousePointerChanged; +} diff --git a/psl1ght/libs/libconsole/source/ConsoleMisc.c b/psl1ght/libs/libconsole/source/ConsoleMisc.c new file mode 100755 index 00000000..e3cd2050 --- /dev/null +++ b/psl1ght/libs/libconsole/source/ConsoleMisc.c @@ -0,0 +1,393 @@ +#include + +int CONSOLE_MISC_PANEL_Initialize(PCONSOLE_MISC_PANEL Panel, ULONG Columns, ULONG Rows) +{ + Panel->AttrCharPairGrid = malloc(Columns*Rows*sizeof(ATTR_CHAR_PAIR)); + + if(Panel->AttrCharPairGrid != NULL) + { + memset(Panel->AttrCharPairGrid,0,Columns*Rows*sizeof(ATTR_CHAR_PAIR)); + + Panel->Columns = Columns; + Panel->Rows = Rows; + Panel->DrawBackgroundColor = CONSOLE_BASIC_COLOR_BLACK; + Panel->DrawTextColor = CONSOLE_BASIC_COLOR_LIGHTGRAY; + Panel->DrawPosX = 0; + Panel->DrawPosY = 0; + Panel->ScrollLockEnabled = FALSE; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_MISC_PANEL_Finalize(PCONSOLE_MISC_PANEL Panel) +{ + free(Panel->AttrCharPairGrid); + + Panel->AttrCharPairGrid = NULL; + + return TRUE; +} + +int CONSOLE_MISC_PANEL_BltToLogic(PCONSOLE_MISC_PANEL Panel, PCONSOLE_LOGIC DstConsole, ULONG SrcX, ULONG SrcWidth, ULONG SrcY, ULONG SrcHeight, ULONG DstX, ULONG DstWidth, ULONG DstY, ULONG DstHeight) +{ + int i,j; + ULONG EffectiveWidth,EffectiveHeight; + + if(((SrcX+SrcWidth)<=Panel->Columns)&&((SrcY+SrcHeight)<=Panel->Rows)&&((DstX+DstWidth)<=DstConsole->Columns)&&((SrcY+SrcHeight)<=DstConsole->Rows)) + { + EffectiveWidth = (SrcWidthAttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Attr,Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Char); + } + } + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_MISC_PANEL_BltToPanel(PCONSOLE_MISC_PANEL Panel, PCONSOLE_MISC_PANEL DstPanel, ULONG SrcX, ULONG SrcWidth, ULONG SrcY, ULONG SrcHeight, ULONG DstX, ULONG DstWidth, ULONG DstY, ULONG DstHeight) +{ + int i,j; + ULONG EffectiveWidth,EffectiveHeight; + + if(((SrcX+SrcWidth)<=Panel->Columns)&&((SrcY+SrcHeight)<=Panel->Rows)&&((DstX+DstWidth)<=DstPanel->Columns)&&((SrcY+SrcHeight)<=DstPanel->Rows)) + { + EffectiveWidth = (SrcWidthAttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Attr = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Attr; + DstPanel->AttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Char = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Char; + } + } + } + else + { + if(SrcY=0;j--) + { + for(i = 0;iAttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Attr = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Attr; + DstPanel->AttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Char = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Char; + } + } + } + else + { + if(SrcY>DstY) + { + for(j = 0;jAttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Attr = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Attr; + DstPanel->AttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Char = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Char; + } + } + } + else + { + if(SrcX=0;i--) + { + DstPanel->AttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Attr = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Attr; + DstPanel->AttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Char = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Char; + } + } + } + else + { + if(SrcX>DstX) + { + for(j = 0;jAttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Attr = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Attr; + DstPanel->AttrCharPairGrid[(DstPanel->Columns*(DstY+j))+(DstX+i)].Char = Panel->AttrCharPairGrid[(Panel->Columns*(SrcY+j))+(SrcX+i)].Char; + } + } + } + } + } + } + } + + return TRUE; + } + else + { + return FALSE; + } +} + +ULONG CONSOLE_MISC_PANEL_GetDrawPosX(PCONSOLE_MISC_PANEL Panel) +{ + return Panel->DrawPosX; +} + +ULONG CONSOLE_MISC_PANEL_GetDrawPosY(PCONSOLE_MISC_PANEL Panel) +{ + return Panel->DrawPosY; +} + +int CONSOLE_MISC_PANEL_SetDrawPosX(PCONSOLE_MISC_PANEL Panel, ULONG PosX) +{ + if(PosXColumns) + { + Panel->DrawPosX = PosX; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_MISC_PANEL_SetDrawPosY(PCONSOLE_MISC_PANEL Panel, ULONG PosY) +{ + if(PosYRows) + { + Panel->DrawPosY = PosY; + + return TRUE; + } + else + { + return FALSE; + } +} + +UCHAR CONSOLE_MISC_PANEL_GetDrawTextColor(PCONSOLE_MISC_PANEL Panel) +{ + return Panel->DrawTextColor; +} + +UCHAR CONSOLE_MISC_PANEL_GetDrawBackgroundColor(PCONSOLE_MISC_PANEL Panel) +{ + return Panel->DrawBackgroundColor; +} + +int CONSOLE_MISC_PANEL_SetDrawTextColor(PCONSOLE_MISC_PANEL Panel, UCHAR TextColor) +{ + if(TextColor<16) + { + Panel->DrawTextColor = TextColor; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_MISC_PANEL_SetDrawBackgroundColor(PCONSOLE_MISC_PANEL Panel, UCHAR BackgroundColor) +{ + if(BackgroundColor<16) + { + Panel->DrawBackgroundColor = BackgroundColor; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_MISC_PANEL_GetTextColorAtXY(PCONSOLE_MISC_PANEL Panel, ULONG X, ULONG Y, PUCHAR pTextColor) +{ + if((XColumns)&&(YRows)) + { + *pTextColor = (Panel->AttrCharPairGrid[(Y*Panel->Columns)+X].Attr)&0xF; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_MISC_PANEL_GetBackgroundColorAtXY(PCONSOLE_MISC_PANEL Panel, ULONG X, ULONG Y, PUCHAR pBackgroundColor) +{ + if((XColumns)&&(YRows)) + { + *pBackgroundColor = ((Panel->AttrCharPairGrid[(Y*Panel->Columns)+X].Attr)>>4)&0xF; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_MISC_PANEL_SetTextColorAtXY(PCONSOLE_MISC_PANEL Panel, ULONG X, ULONG Y, UCHAR TextColor) +{ + if((XColumns)&&(YRows)&&(TextColor<16)) + { + Panel->AttrCharPairGrid[(Y*Panel->Columns)+X].Attr &= 0xF0; + Panel->AttrCharPairGrid[(Y*Panel->Columns)+X].Attr |= TextColor; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_MISC_PANEL_SetBackgroundColorAtXY(PCONSOLE_MISC_PANEL Panel, ULONG X, ULONG Y, UCHAR BackgroundColor) +{ + if((XColumns)&&(YRows)&&(BackgroundColor<16)) + { + Panel->AttrCharPairGrid[(Y*Panel->Columns)+X].Attr &= 0x0F; + Panel->AttrCharPairGrid[(Y*Panel->Columns)+X].Attr |= ((BackgroundColor<<4)&0xF0); + + return TRUE; + } + else + { + return FALSE; + } +} + +int AdvanceDrawPos(PCONSOLE_MISC_PANEL Panel) +{ + Panel->DrawPosX++; + + if(Panel->DrawPosX==Panel->Columns) + { + Panel->DrawPosX = 0; + Panel->DrawPosY++; + + if(Panel->DrawPosY==Panel->Rows) + { + Panel->DrawPosY--; + + return TRUE; + } + else + { + return FALSE; + } + } + else + { + return FALSE; + } +} + +void CONSOLE_MISC_PANEL_putc(PCONSOLE_MISC_PANEL Panel, int UseDrawTextColor, int UseDrawBackgroundColor, UCHAR C) +{ + int i; + + Panel->AttrCharPairGrid[(Panel->DrawPosY*Panel->Columns)+Panel->DrawPosX].Char = C; + + if(UseDrawBackgroundColor) + { + Panel->AttrCharPairGrid[(Panel->DrawPosY*Panel->Columns)+Panel->DrawPosX].Attr &= 0x0F; + Panel->AttrCharPairGrid[(Panel->DrawPosY*Panel->Columns)+Panel->DrawPosX].Attr |= ((Panel->DrawBackgroundColor<<4)&0xF0); + } + + if(UseDrawTextColor) + { + Panel->AttrCharPairGrid[(Panel->DrawPosY*Panel->Columns)+Panel->DrawPosX].Attr &= 0xF0; + Panel->AttrCharPairGrid[(Panel->DrawPosY*Panel->Columns)+Panel->DrawPosX].Attr |= Panel->DrawTextColor; + } + + if((AdvanceDrawPos(Panel))&&(!Panel->ScrollLockEnabled)) + { + CONSOLE_MISC_PANEL_BltToPanel(Panel,Panel,0,Panel->Columns,1,Panel->Rows-1,0,Panel->Columns,0,Panel->Rows-1); + + for(i = 0;iColumns;i++) + { + Panel->AttrCharPairGrid[((Panel->Rows-1)*Panel->Columns)+i].Char = 0; + } + } +} + +UCHAR CONSOLE_MISC_PANEL_getc(PCONSOLE_MISC_PANEL Panel) +{ + return Panel->AttrCharPairGrid[(Panel->DrawPosY*Panel->Columns)+Panel->DrawPosX].Char; +} + +void CONSOLE_MISC_PANEL_puts(PCONSOLE_MISC_PANEL Panel, int UseDrawTextColor, int UseDrawBackgroundColor, char* S) +{ + while(*S) + { + CONSOLE_MISC_PANEL_putc(Panel,UseDrawTextColor,UseDrawBackgroundColor,*S); + + S++; + } +} + +void CONSOLE_MISC_PANEL_gets(PCONSOLE_MISC_PANEL Panel, PUCHAR S, ULONG MaxLength, int CopyBeyondNullChar) +{ + while((MaxLength)&&((*S = CONSOLE_MISC_PANEL_getc(Panel))||(CopyBeyondNullChar))) + { + S++; + MaxLength--; + } +} + +void CONSOLE_MISC_PANEL_printf(PCONSOLE_MISC_PANEL Panel, int UseDrawTextColor, int UseDrawBackgroundColor, char* FormatString, ...) +{ + int TempSize; + va_list pTempArguments; + char TempStringBuffer[1024]; + + va_start(pTempArguments,FormatString); + TempSize = vsnprintf(TempStringBuffer,sizeof(TempStringBuffer),FormatString,pTempArguments); + va_end(pTempArguments); + + CONSOLE_MISC_PANEL_puts(Panel,UseDrawTextColor,UseDrawBackgroundColor,TempStringBuffer); +} + +void CONSOLE_MISC_PANEL_Clear(PCONSOLE_MISC_PANEL Panel) +{ + int i; + + Panel->DrawPosX = 0; + Panel->DrawPosY = 0; + + for(i = 0;i<(Panel->Columns*Panel->Rows);i++) + { + CONSOLE_MISC_PANEL_putc(Panel,TRUE,TRUE,0); + } + + Panel->DrawPosX = 0; + Panel->DrawPosY = 0; +} + +void CONSOLE_MISC_PANEL_SetScrollLock(PCONSOLE_MISC_PANEL Panel, int ScrollLockEnabled) +{ + Panel->ScrollLockEnabled = ScrollLockEnabled; +} diff --git a/psl1ght/libs/libconsole/source/ConsoleRender.c b/psl1ght/libs/libconsole/source/ConsoleRender.c new file mode 100755 index 00000000..90288418 --- /dev/null +++ b/psl1ght/libs/libconsole/source/ConsoleRender.c @@ -0,0 +1,703 @@ +#include + +int CONSOLE_RENDER_Initialize(PCONSOLE_RENDER Render, UCHAR SlotWidth, UCHAR SlotHeight, ULONG CursorBlinkFrames, PULONG pBasicColors, PUCHAR pCharacterMasks, PUCHAR pCursorMask, PUCHAR pCursorInsertMask, PUCHAR pMousePointerMask) +{ + Render->CursorBlinkFrames = CursorBlinkFrames; + Render->CurrentCursorBlinkFrames = 0; + Render->CurrentCursorBlinkState = FALSE; + Render->CursorMaskBuffer = pCursorMask; + Render->CursorInsertMaskBuffer = pCursorInsertMask; + Render->MousePointerMaskBuffer = pMousePointerMask; + Render->CharacterWidth = SlotWidth; + Render->CharacterHeight = SlotHeight; + Render->CharacterMasksBuffer = pCharacterMasks; + Render->BasicColors = pBasicColors; + Render->RenderingFlags = 0; + Render->DropShadowColor = 0x00000000; + Render->DropShadowOrientation = CONSOLE_RENDER_DROPSHADOWORIENTATION_SOUTHEAST; + Render->TransparentTextModeColor = 0; + + return TRUE; +} + +int CONSOLE_RENDER_Finalize(PCONSOLE_RENDER Render) +{ + return TRUE; +} + +int GetBitLeftToRight(PUCHAR pByteArray, UCHAR LeftToRightIndex) +{ + PUCHAR pTargetByte = pByteArray+(LeftToRightIndex/8); + UCHAR TestMask = 0x80 >> (LeftToRightIndex%8); + + return ((*pTargetByte)&TestMask); +} + +int GetBitFromLogicConsoleBitmap(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, ULONG CharCol, ULONG CharRow, UCHAR XOffsetIntoChar, UCHAR YOffsetIntoChar) +{ + UCHAR Char = 0; + PUCHAR pCurrentCharMask; + UCHAR BytesPerCharWidth; + + if(CONSOLE_LOGIC_GetCharXY(Console,CharCol,CharRow,&Char)) + { + BytesPerCharWidth = (Render->CharacterWidth+7)/8; + pCurrentCharMask = &(Render->CharacterMasksBuffer[Char*BytesPerCharWidth*Render->CharacterHeight]); + pCurrentCharMask += BytesPerCharWidth*YOffsetIntoChar; + + return GetBitLeftToRight(pCurrentCharMask,XOffsetIntoChar); + } + else + { + return FALSE; + } +} + +void FromSlotAndOffsetToCombined(PCONSOLE_RENDER Render, ULONG SlotX, ULONG SlotY, UCHAR OffsetX, UCHAR OffsetY, PULONG pCombinedX, PULONG pCombinedY) +{ + *pCombinedX = (SlotX*Render->CharacterWidth)+OffsetX; + *pCombinedY = (SlotY*Render->CharacterHeight)+OffsetY; +} + +void FromCombinedToSlotAndOffset(PCONSOLE_RENDER Render, ULONG CombinedX, ULONG CombinedY, PULONG pSlotX, PULONG pSlotY, PUCHAR pOffsetX, PUCHAR pOffsetY) +{ + *pSlotX = CombinedX/Render->CharacterWidth; + *pOffsetX = CombinedX%Render->CharacterWidth; + *pSlotY = CombinedY/Render->CharacterHeight; + *pOffsetY = CombinedY%Render->CharacterHeight; +} + +int IsCharPixelDropShadow(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, ULONG CharCol, ULONG CharRow, UCHAR XOffsetIntoChar, UCHAR YOffsetIntoChar) +{ + ULONG CombinedX,CombinedY; + + FromSlotAndOffsetToCombined(Render,CharCol,CharRow,XOffsetIntoChar,YOffsetIntoChar,&CombinedX,&CombinedY); + + switch(Render->DropShadowOrientation) + { + case CONSOLE_RENDER_DROPSHADOWORIENTATION_NORTH: + + CombinedY++; + + break; + + case CONSOLE_RENDER_DROPSHADOWORIENTATION_NORTHEAST: + + CombinedY++; + CombinedX--; + + break; + + case CONSOLE_RENDER_DROPSHADOWORIENTATION_EAST: + + CombinedX--; + + break; + + case CONSOLE_RENDER_DROPSHADOWORIENTATION_SOUTHEAST: + + CombinedX--; + CombinedY--; + + break; + + case CONSOLE_RENDER_DROPSHADOWORIENTATION_SOUTH: + + CombinedY--; + + break; + + case CONSOLE_RENDER_DROPSHADOWORIENTATION_SOUTHWEST: + + CombinedX++; + CombinedY--; + + break; + + case CONSOLE_RENDER_DROPSHADOWORIENTATION_WEST: + + CombinedX++; + + break; + + case CONSOLE_RENDER_DROPSHADOWORIENTATION_NORTHWEST: + + CombinedX++; + CombinedY++; + + break; + + default: + return FALSE; + } + + FromCombinedToSlotAndOffset(Render,CombinedX,CombinedY,&CharCol,&CharRow,&XOffsetIntoChar,&YOffsetIntoChar); + + return GetBitFromLogicConsoleBitmap(Render,Console,CharCol,CharRow,XOffsetIntoChar,YOffsetIntoChar); +} + +void HandleBackgroundPixelDraw(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, PCONSOLE_VIDEO Video, ULONG X, ULONG Y, UCHAR i, UCHAR j, UCHAR BackAttr, int Masked) +{ + switch(Render->RenderingFlags) + { + case CONSOLE_RENDER_RENDERING_FLAG_TRANSPARENT|CONSOLE_RENDER_RENDERING_FLAG_DROPSHADOW|CONSOLE_RENDER_RENDERING_FLAG_DROPSHADOWOVERANYBACKGROUND: + + if(IsCharPixelDropShadow(Render,Console,X,Y,i,j)) + { + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->DropShadowColor); + } + else + { + if((BackAttr!=Render->TransparentTextModeColor)||(Masked)) + { + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->BasicColors[BackAttr]); + } + } + + break; + + case CONSOLE_RENDER_RENDERING_FLAG_TRANSPARENT|CONSOLE_RENDER_RENDERING_FLAG_DROPSHADOW: + + if(BackAttr==Render->TransparentTextModeColor) + { + if(IsCharPixelDropShadow(Render,Console,X,Y,i,j)) + { + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->DropShadowColor); + } + } + else + { + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->BasicColors[BackAttr]); + } + + break; + + case CONSOLE_RENDER_RENDERING_FLAG_TRANSPARENT: + + if((BackAttr!=Render->TransparentTextModeColor)||(Masked)) + { + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->BasicColors[BackAttr]); + } + + break; + + default: + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->BasicColors[BackAttr]); + } +} + +void DrawAttrCharPairXY(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, PCONSOLE_VIDEO Video, int X, int Y, UCHAR Attr, UCHAR Char) +{ + PUCHAR pCurrentCharMask; + UCHAR BytesPerCharWidth = (Render->CharacterWidth+7)/8; + UCHAR i, j; + UCHAR BackAttr, TextAttr; + + BackAttr = Attr>>4; + TextAttr = Attr&0x0F; + + pCurrentCharMask = &(Render->CharacterMasksBuffer[Char*BytesPerCharWidth*Render->CharacterHeight]); + + for(j = 0;jCharacterHeight;j++) + { + for(i = 0;iCharacterWidth;i++) + { + if(GetBitLeftToRight(pCurrentCharMask, i)) + { + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->BasicColors[TextAttr]); + } + else + { + HandleBackgroundPixelDraw(Render,Console,Video,X,Y,i,j,BackAttr,FALSE); + } + } + + pCurrentCharMask += BytesPerCharWidth; + } +} + +void DrawAttrCharPairUnderCursorXY(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, PCONSOLE_VIDEO Video, int X, int Y, UCHAR Attr, UCHAR Char, int CursorIsInsert) +{ + PUCHAR pCurrentCursorMask; + PUCHAR pCurrentCharMask; + UCHAR BytesPerCharWidth = (Render->CharacterWidth+7)/8; + UCHAR i, j; + UCHAR BackAttr, TextAttr; + ULONG MaskedBackAttr, MaskedTextAttr; + int Masked; + + BackAttr = Attr>>4; + TextAttr = Attr&0x0F; + + if(CursorIsInsert) + { + pCurrentCursorMask = Render->CursorInsertMaskBuffer; + } + else + { + pCurrentCursorMask = Render->CursorMaskBuffer; + } + + pCurrentCharMask = &(Render->CharacterMasksBuffer[Char*BytesPerCharWidth*Render->CharacterHeight]); + + for(j = 0;jCharacterHeight;j++) + { + for(i = 0;iCharacterWidth;i++) + { + Masked = GetBitLeftToRight(pCurrentCursorMask, i); + + if(Masked) + { + MaskedBackAttr = (15-BackAttr)&0x07; + MaskedTextAttr = (15-TextAttr)&0x07; + } + else + { + MaskedBackAttr = BackAttr; + MaskedTextAttr = TextAttr; + } + + if(GetBitLeftToRight(pCurrentCharMask, i)) + { + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->BasicColors[MaskedTextAttr]); + } + else + { + HandleBackgroundPixelDraw(Render,Console,Video,X,Y,i,j,MaskedBackAttr,Masked); + } + } + + pCurrentCharMask += BytesPerCharWidth; + pCurrentCursorMask += BytesPerCharWidth; + } +} + +void DrawAttrCharPairUnderMousePointerXY(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, PCONSOLE_VIDEO Video, int X, int Y, UCHAR Attr, UCHAR Char) +{ + PUCHAR pMousePointerMask; + PUCHAR pCurrentCharMask; + UCHAR BytesPerCharWidth = (Render->CharacterWidth+7)/8; + UCHAR i, j; + UCHAR BackAttr, TextAttr; + ULONG MaskedBackAttr, MaskedTextAttr; + int Masked; + + BackAttr = Attr>>4; + TextAttr = Attr&0x0F; + + pMousePointerMask = Render->MousePointerMaskBuffer; + + pCurrentCharMask = &(Render->CharacterMasksBuffer[Char*BytesPerCharWidth*Render->CharacterHeight]); + + for(j = 0;jCharacterHeight;j++) + { + for(i = 0;iCharacterWidth;i++) + { + Masked = GetBitLeftToRight(pMousePointerMask, i); + + if(Masked) + { + MaskedBackAttr = (15-BackAttr)&0x07; + MaskedTextAttr = (15-TextAttr)&0x07; + } + else + { + MaskedBackAttr = BackAttr; + MaskedTextAttr = TextAttr; + } + + if(GetBitLeftToRight(pCurrentCharMask, i)) + { + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->BasicColors[MaskedTextAttr]); + } + else + { + HandleBackgroundPixelDraw(Render,Console,Video,X,Y,i,j,MaskedBackAttr,Masked); + } + } + + pCurrentCharMask += BytesPerCharWidth; + pMousePointerMask += BytesPerCharWidth; + } +} + +void DrawAttrCharPairUnderCursorAndMousePointerXY(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, PCONSOLE_VIDEO Video, int X, int Y, UCHAR Attr, UCHAR Char, int CursorIsInsert) +{ + PUCHAR pMousePointerMask; + PUCHAR pCurrentCursorMask; + PUCHAR pCurrentCharMask; + UCHAR BytesPerCharWidth = (Render->CharacterWidth+7)/8; + UCHAR i, j; + UCHAR BackAttr, TextAttr; + ULONG MaskedBackAttr, MaskedTextAttr; + int Masked; + + BackAttr = Attr>>4; + TextAttr = Attr&0x0F; + + if(CursorIsInsert) + { + pCurrentCursorMask = Render->CursorInsertMaskBuffer; + } + else + { + pCurrentCursorMask = Render->CursorMaskBuffer; + } + + pMousePointerMask = Render->MousePointerMaskBuffer; + + pCurrentCharMask = &(Render->CharacterMasksBuffer[Char*BytesPerCharWidth*Render->CharacterHeight]); + + for(j = 0;jCharacterHeight;j++) + { + for(i = 0;iCharacterWidth;i++) + { + Masked = GetBitLeftToRight(pCurrentCursorMask, i)^GetBitLeftToRight(pMousePointerMask, i); + + if(Masked) + { + MaskedBackAttr = (15-BackAttr)&0x07; + MaskedTextAttr = (15-TextAttr)&0x07; + } + else + { + MaskedBackAttr = BackAttr; + MaskedTextAttr = TextAttr; + } + + if(GetBitLeftToRight(pCurrentCharMask, i)) + { + CONSOLE_VIDEO_PutPixel(Video, (X*Render->CharacterWidth)+i, (Y*Render->CharacterHeight)+j, Render->BasicColors[MaskedTextAttr]); + } + else + { + HandleBackgroundPixelDraw(Render,Console,Video,X,Y,i,j,MaskedBackAttr,Masked); + } + } + + pCurrentCharMask += BytesPerCharWidth; + pMousePointerMask += BytesPerCharWidth; + pCurrentCursorMask += BytesPerCharWidth; + } +} + +int CONSOLE_RENDER_RenderChanges(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, PCONSOLE_VIDEO Video) +{ + ULONG ChangedSlotsSearchHandle = 0; + ULONG X, Y, CX, CY, MPX, MPY; + UCHAR Attr, Char; + int MustDrawCursor; + int MustDrawMousePointer; + int BlinkStateChanged = FALSE; + int CharIsUnderCursor, CharIsUnderMousePointer; + int CharUnderCursorChanged = FALSE, CharUnderMousePointerChanged = FALSE; + + CONSOLE_LOGIC_GetCursorXY(Console, &CX, &CY); + CONSOLE_LOGIC_GetMousePointerXY(Console, &MPX, &MPY); + + while(CONSOLE_LOGIC_GetNextChangedSlot(Console, &ChangedSlotsSearchHandle, &X, &Y)) + { + CONSOLE_LOGIC_GetAttrCharPairXY(Console, X, Y, &Attr, &Char); + + if((X==CX)&&(Y==CY)) + { + CharIsUnderCursor = TRUE; + CharUnderCursorChanged = TRUE; + } + else + { + CharIsUnderCursor = FALSE; + } + + if((X==MPX)&&(Y==MPY)) + { + CharIsUnderMousePointer = TRUE; + CharUnderMousePointerChanged = TRUE; + } + else + { + CharIsUnderMousePointer = FALSE; + } + + if((!CharIsUnderCursor)&&(!CharIsUnderMousePointer)) + { + DrawAttrCharPairXY(Render, Console, Video, X, Y, Attr, Char); + } + + } + + if((Render->CurrentCursorBlinkFrames++)>Render->CursorBlinkFrames) + { + Render->CurrentCursorBlinkFrames = 0; + + Render->CurrentCursorBlinkState = !(Render->CurrentCursorBlinkState); + + BlinkStateChanged = TRUE; + } + + MustDrawCursor = (Render->CurrentCursorBlinkState)&&(CONSOLE_LOGIC_IsCursorVisible(Console)); + MustDrawMousePointer = CONSOLE_LOGIC_IsMousePointerVisible(Console); + + if((CX==MPX)&&(CY==MPY)) + { + if((CONSOLE_LOGIC_CursorChanged(Console))||(BlinkStateChanged)||(CONSOLE_LOGIC_MousePointerChanged(Console))||(CharUnderCursorChanged)||(CharUnderMousePointerChanged)) + { + CONSOLE_LOGIC_GetAttrCharPairXY(Console, CX, CY, &Attr, &Char); + + if((MustDrawCursor)&&(MustDrawMousePointer)) + { + DrawAttrCharPairUnderCursorAndMousePointerXY(Render, Console, Video, CX, CY, Attr, Char, CONSOLE_LOGIC_IsCursorInsert(Console)); + } + else + { + if(MustDrawCursor) + { + DrawAttrCharPairUnderCursorXY(Render, Console, Video, CX, CY, Attr, Char, CONSOLE_LOGIC_IsCursorInsert(Console)); + } + else + { + if(MustDrawMousePointer) + { + DrawAttrCharPairUnderMousePointerXY(Render, Console, Video, MPX, MPY, Attr, Char); + } + else + { + DrawAttrCharPairXY(Render, Console, Video, MPX, MPY, Attr, Char); + } + } + } + } + } + else + { + if((CONSOLE_LOGIC_CursorChanged(Console))||(BlinkStateChanged)||(CharUnderCursorChanged)) + { + CONSOLE_LOGIC_GetAttrCharPairXY(Console, CX, CY, &Attr, &Char); + + if(MustDrawCursor) + { + DrawAttrCharPairUnderCursorXY(Render, Console, Video, CX, CY, Attr, Char, CONSOLE_LOGIC_IsCursorInsert(Console)); + } + else + { + DrawAttrCharPairXY(Render, Console, Video, CX, CY, Attr, Char); + } + } + + if(CONSOLE_LOGIC_MousePointerChanged(Console)||(CharUnderMousePointerChanged)) + { + CONSOLE_LOGIC_GetAttrCharPairXY(Console, MPX, MPY, &Attr, &Char); + + if(MustDrawMousePointer) + { + DrawAttrCharPairUnderMousePointerXY(Render, Console, Video, MPX, MPY, Attr, Char); + } + else + { + DrawAttrCharPairXY(Render, Console, Video, MPX, MPY, Attr, Char); + } + } + } + + CONSOLE_LOGIC_ResetChanges(Console, FALSE); + + return TRUE; +} + + +int CONSOLE_RENDER_Render(PCONSOLE_RENDER Render, PCONSOLE_LOGIC Console, PCONSOLE_VIDEO Video) +{ + ULONG LinearTotalSlots = CONSOLE_LOGIC_GetColumns(Console)*CONSOLE_LOGIC_GetRows(Console); + ULONG LinearCurrentSlot = 0; + ULONG X, Y, CX, CY, MPX, MPY; + UCHAR Attr, Char; + int MustDrawCursor; + int MustDrawMousePointer; + int BlinkStateChanged = FALSE; + int CharIsUnderCursor, CharIsUnderMousePointer; + int CharUnderCursorChanged = FALSE, CharUnderMousePointerChanged = FALSE; + + CONSOLE_LOGIC_GetCursorXY(Console, &CX, &CY); + CONSOLE_LOGIC_GetMousePointerXY(Console, &MPX, &MPY); + + while(LinearCurrentSlotCurrentCursorBlinkFrames++)>Render->CursorBlinkFrames) + { + Render->CurrentCursorBlinkFrames = 0; + + Render->CurrentCursorBlinkState = !(Render->CurrentCursorBlinkState); + + BlinkStateChanged = TRUE; + } + + MustDrawCursor = (Render->CurrentCursorBlinkState)&&(CONSOLE_LOGIC_IsCursorVisible(Console)); + MustDrawMousePointer = CONSOLE_LOGIC_IsMousePointerVisible(Console); + + if((CX==MPX)&&(CY==MPY)) + { + if((CONSOLE_LOGIC_CursorChanged(Console))||(BlinkStateChanged)||(CONSOLE_LOGIC_MousePointerChanged(Console))||(CharUnderCursorChanged)||(CharUnderMousePointerChanged)) + { + CONSOLE_LOGIC_GetAttrCharPairXY(Console, CX, CY, &Attr, &Char); + + if((MustDrawCursor)&&(MustDrawMousePointer)) + { + DrawAttrCharPairUnderCursorAndMousePointerXY(Render, Console, Video, CX, CY, Attr, Char, CONSOLE_LOGIC_IsCursorInsert(Console)); + } + else + { + if(MustDrawCursor) + { + DrawAttrCharPairUnderCursorXY(Render, Console, Video, CX, CY, Attr, Char, CONSOLE_LOGIC_IsCursorInsert(Console)); + } + else + { + if(MustDrawMousePointer) + { + DrawAttrCharPairUnderMousePointerXY(Render, Console, Video, MPX, MPY, Attr, Char); + } + else + { + DrawAttrCharPairXY(Render, Console, Video, MPX, MPY, Attr, Char); + } + } + } + } + } + else + { + if((CONSOLE_LOGIC_CursorChanged(Console))||(BlinkStateChanged)||(CharUnderCursorChanged)) + { + CONSOLE_LOGIC_GetAttrCharPairXY(Console, CX, CY, &Attr, &Char); + + if(MustDrawCursor) + { + DrawAttrCharPairUnderCursorXY(Render, Console, Video, CX, CY, Attr, Char, CONSOLE_LOGIC_IsCursorInsert(Console)); + } + else + { + DrawAttrCharPairXY(Render, Console, Video, CX, CY, Attr, Char); + } + } + + if(CONSOLE_LOGIC_MousePointerChanged(Console)||(CharUnderMousePointerChanged)) + { + CONSOLE_LOGIC_GetAttrCharPairXY(Console, MPX, MPY, &Attr, &Char); + + if(MustDrawMousePointer) + { + DrawAttrCharPairUnderMousePointerXY(Render, Console, Video, MPX, MPY, Attr, Char); + } + else + { + DrawAttrCharPairXY(Render, Console, Video, MPX, MPY, Attr, Char); + } + } + } + + return TRUE; +} + +int CONSOLE_RENDER_SetDropShadowOrientation(PCONSOLE_RENDER Render, UCHAR DropShadowOrientation) +{ + if(DropShadowOrientationDropShadowOrientation = DropShadowOrientation; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_RENDER_SetDropShadowColor(PCONSOLE_RENDER Render, ULONG DropShadowColor) +{ + Render->DropShadowColor = DropShadowColor; + + return TRUE; +} + +int CONSOLE_RENDER_SetTransparentTextModeColor(PCONSOLE_RENDER Render, UCHAR TransparentTextModeColor) +{ + if(TransparentTextModeColor<16) + { + Render->TransparentTextModeColor = TransparentTextModeColor; + + return TRUE; + } + else + { + return FALSE; + } +} + +int CONSOLE_RENDER_SetRenderingOptions(PCONSOLE_RENDER Render, ULONG RenderingFlags) +{ + Render->RenderingFlags = RenderingFlags; + + return TRUE; +} + + +int CONSOLE_RENDER_GetDropShadowOrientation(PCONSOLE_RENDER Render, PUCHAR pDropShadowOrientation) +{ + *pDropShadowOrientation = Render->DropShadowOrientation; + + return TRUE; +} + +int CONSOLE_RENDER_GetDropShadowColor(PCONSOLE_RENDER Render, PULONG pDropShadowColor) +{ + *pDropShadowColor = Render->DropShadowColor; + + return TRUE; +} + +int CONSOLE_RENDER_GetTransparentTextModeColor(PCONSOLE_RENDER Render, PUCHAR pTransparentTextModeColor) +{ + *pTransparentTextModeColor = Render->TransparentTextModeColor; + + return TRUE; +} + +int CONSOLE_RENDER_GetRenderingOptions(PCONSOLE_RENDER Render, PULONG pRenderingFlags) +{ + *pRenderingFlags = Render->RenderingFlags; + + return TRUE; +} diff --git a/psl1ght/libs/libconsole/source/ConsoleVideo.c b/psl1ght/libs/libconsole/source/ConsoleVideo.c new file mode 100755 index 00000000..818b6f33 --- /dev/null +++ b/psl1ght/libs/libconsole/source/ConsoleVideo.c @@ -0,0 +1,215 @@ +#include + +int CONSOLE_VIDEO_Initialize(PCONSOLE_VIDEO Video, PUCHAR FrameBuffer, ULONG ResolutionX, ULONG ResolutionY, UCHAR ResolutionBPP, ULONG ResolutionScanLine, ULONG ViewPortX, ULONG ViewPortWidth, ULONG ViewPortY, ULONG ViewPortHeight) +{ +// PUCHAR BackBuffer; + +// BackBuffer = (PUCHAR)malloc(ViewPortWidth*ViewPortHeight*4); + +// if(!BackBuffer) +// { +// return FALSE; +// } + + Video->FrameBuffer = FrameBuffer; + Video->ResolutionX = ResolutionX; + Video->ResolutionY = ResolutionY; + Video->ResolutionBPP = ResolutionBPP; + Video->ScanLine = ResolutionScanLine; + Video->ViewPortX = ViewPortX; + Video->ViewPortWidth = ViewPortWidth; + Video->ViewPortY = ViewPortY; + Video->ViewPortHeight = ViewPortHeight; +// Video->ViewPortBackBuffer = BackBuffer; + Video->ViewPortStart = (PUCHAR)FrameBuffer+((ResolutionScanLine*ViewPortY)+(ViewPortX*ResolutionBPP)); + + return TRUE; +} + +int CONSOLE_VIDEO_Finalize(PCONSOLE_VIDEO Video) +{ +// free(Video->ViewPortBackBuffer); + +// Video->ViewPortBackBuffer = NULL; + + return TRUE; +} +/* +int CONSOLE_VIDEO_Save(PCONSOLE_VIDEO Video) +{ + ULONG i; + PUCHAR Source; + PUCHAR Destination; + + Source = Video->ViewPortStart; + Destination = Video->ViewPortBackBuffer; + + for(i=0;i<(Video->ViewPortHeight);i++) + { + memcpy(Destination, Source, Video->ViewPortScanLine); + Source += Video->ScanLine; + Destination += Video->ViewPortScanLine; + } + + return TRUE; +} + +int CONSOLE_VIDEO_Restore(PCONSOLE_VIDEO Video) +{ + ULONG i; + PUCHAR Source; + PUCHAR Destination; + + Source = Video->ViewPortBackBuffer; + Destination = Video->ViewPortStart; + + for(i=0;i<(Video->ViewPortHeight);i++) + { + memcpy(Destination, Source, Video->ViewPortScanLine); + Source += Video->ViewPortScanLine; + Destination += Video->ScanLine; + } + + return TRUE; +} +*/ +int CONSOLE_VIDEO_PutViewPortX(PCONSOLE_VIDEO Video, ULONG ViewPortX) +{ + ULONG Limit = (Video->ResolutionX)-(Video->ViewPortWidth); + + if(ViewPortX>Limit) + { + return FALSE; + } + else + { + Video->ViewPortX = ViewPortX; + + Video->ViewPortStart = (PUCHAR)(Video->FrameBuffer)+(((Video->ScanLine)*(Video->ViewPortY))+((Video->ViewPortX)*(Video->ResolutionBPP))); + + return TRUE; + } +} + +int CONSOLE_VIDEO_PutViewPortY(PCONSOLE_VIDEO Video, ULONG ViewPortY) +{ + ULONG Limit = (Video->ResolutionY)-(Video->ViewPortHeight); + + if(ViewPortY>Limit) + { + return FALSE; + } + else + { + Video->ViewPortY = ViewPortY; + + Video->ViewPortStart = (PUCHAR)(Video->FrameBuffer)+(((Video->ScanLine)*(Video->ViewPortY))+((Video->ViewPortX)*(Video->ResolutionBPP))); + + return TRUE; + } +} + +int CONSOLE_VIDEO_PutViewPortWidth(PCONSOLE_VIDEO Video, ULONG ViewPortWidth) +{ + if(((Video->ViewPortX)+ViewPortWidth)>(Video->ResolutionX)) + { + return FALSE; + } + else + { + Video->ViewPortWidth = ViewPortWidth; + + Video->ViewPortScanLine = ViewPortWidth*(Video->ResolutionBPP); + + return TRUE; + } +} + +int CONSOLE_VIDEO_PutViewPortHeight(PCONSOLE_VIDEO Video, ULONG ViewPortHeight) +{ + if(((Video->ViewPortY)+ViewPortHeight)>(Video->ResolutionY)) + { + return FALSE; + } + else + { + Video->ViewPortHeight = ViewPortHeight; + + return TRUE; + } +} + +int CONSOLE_VIDEO_GetViewPortX(PCONSOLE_VIDEO Video, PULONG pViewPortX) +{ + *pViewPortX = Video->ViewPortX; + + return TRUE; +} + +int CONSOLE_VIDEO_GetViewPortY(PCONSOLE_VIDEO Video, PULONG pViewPortY) +{ + *pViewPortY = Video->ViewPortY; + + return TRUE; +} + +int CONSOLE_VIDEO_GetViewPortWidth(PCONSOLE_VIDEO Video, PULONG pViewPortWidth) +{ + *pViewPortWidth = Video->ViewPortWidth; + + return TRUE; +} + +int CONSOLE_VIDEO_GetViewPortHeight(PCONSOLE_VIDEO Video, PULONG pViewPortHeight) +{ + *pViewPortHeight = Video->ViewPortHeight; + + return TRUE; +} + +int CONSOLE_VIDEO_PutPixel(PCONSOLE_VIDEO Video, ULONG X, ULONG Y, ULONG Color) +{ + PULONG FBAsDword; + PUSHORT FBAsWord; + PUCHAR FBAsByte; + + if((XViewPortWidth)&&(YViewPortHeight)) + { + switch(Video->ResolutionBPP) + { + case 4: + + FBAsDword = (PULONG)(Video->ViewPortStart+(Y*(Video->ScanLine))+(X*(Video->ResolutionBPP))); + + *FBAsDword = Color; + + break; + + case 2: + + FBAsWord = (PUSHORT)(Video->ViewPortStart+(Y*(Video->ScanLine))+(X*(Video->ResolutionBPP))); + + *FBAsWord = (USHORT)Color; + + break; + + case 1: + + FBAsByte = (PUCHAR)(Video->ViewPortStart+(Y*(Video->ScanLine))+(X*(Video->ResolutionBPP))); + + *FBAsByte = (UCHAR)Color; + + break; + + default: + + return FALSE; + } + + return TRUE; + } + else + { + return FALSE; + } +} diff --git a/samples/consoleTest/Makefile b/samples/consoleTest/Makefile new file mode 100755 index 00000000..495ca6c0 --- /dev/null +++ b/samples/consoleTest/Makefile @@ -0,0 +1,76 @@ +.SUFFIXES: +ifeq ($(strip $(PSL1GHT)),) +$(error "PSL1GHT must be set in the environment.") +endif + +include $(PSL1GHT)/Makefile.base + +TARGET := $(notdir $(CURDIR)) +BUILD := build +SOURCE := source +INCLUDE := include +DATA := data +LIBS := -lgcm_sys -lreality -lsysutil -lio -lconsole + +TITLE := Template - PSL1GHT +APPID := TEST00003 +CONTENTID := UP0001-$(APPID)_00-0000000000000000 + +CFLAGS += -g -O2 -Wall --std=gnu99 +CXXFLAGS += -g -O2 -Wall + +ifneq ($(BUILD),$(notdir $(CURDIR))) + +export OUTPUT := $(CURDIR)/$(TARGET) +export VPATH := $(foreach dir,$(SOURCE),$(CURDIR)/$(dir)) \ + $(foreach dir,$(DATA),$(CURDIR)/$(dir)) +export BUILDDIR := $(CURDIR)/$(BUILD) +export DEPSDIR := $(BUILDDIR) + +CFILES := $(foreach dir,$(SOURCE),$(notdir $(wildcard $(dir)/*.c))) +CXXFILES := $(foreach dir,$(SOURCE),$(notdir $(wildcard $(dir)/*.cpp))) +SFILES := $(foreach dir,$(SOURCE),$(notdir $(wildcard $(dir)/*.S))) +BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.bin))) + +export OFILES := $(CFILES:.c=.o) \ + $(CXXFILES:.cpp=.o) \ + $(SFILES:.S=.o) + +export BINFILES := $(BINFILES:.bin=.bin.h) + +export INCLUDES := $(foreach dir,$(INCLUDE),-I$(CURDIR)/$(dir)) \ + -I$(CURDIR)/$(BUILD) + +.PHONY: $(BUILD) clean + +$(BUILD): + @[ -d $@ ] || mkdir -p $@ + @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile + +clean: + @echo Clean... + @rm -rf $(BUILD) $(OUTPUT).elf $(OUTPUT).self $(OUTPUT).a $(OUTPUT).pkg + +pkg: $(BUILD) + @echo Creating PKG... + @mkdir -p $(BUILD)/pkg + @mkdir -p $(BUILD)/pkg/USRDIR + @cp $(ICON0) $(BUILD)/pkg/ + @$(FSELF) -n $(BUILD)/$(TARGET).elf $(BUILD)/pkg/USRDIR/EBOOT.BIN + @$(SFO) --title "$(TITLE)" --appid "$(APPID)" -f $(SFOXML) $(BUILD)/pkg/PARAM.SFO + @$(PKG) --contentid $(CONTENTID) $(BUILD)/pkg/ $(OUTPUT).pkg + +run: $(BUILD) + @$(PS3LOADAPP) $(OUTPUT).self + +else + +DEPENDS := $(OFILES:.o=.d) + +$(OUTPUT).self: $(OUTPUT).elf +$(OUTPUT).elf: $(OFILES) +$(OFILES): $(BINFILES) + +-include $(DEPENDS) + +endif diff --git a/samples/consoleTest/source/main.c b/samples/consoleTest/source/main.c new file mode 100755 index 00000000..cd100edf --- /dev/null +++ b/samples/consoleTest/source/main.c @@ -0,0 +1,312 @@ +/* Now double buffered with animation. + */ + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include + +gcmContextData *context; // Context to keep track of the RSX buffer. + +VideoResolution res; // Screen Resolution + + +int currentBuffer = 0; +s32 *buffer[2]; // The buffer we will be drawing into. + + +CONSOLE_VIDEO g_ConsoleVideo[2]; +CONSOLE_LOGIC g_ConsoleLogic; +CONSOLE_RENDER g_ConsoleRender; + + +void waitFlip() { // Block the PPU thread untill the previous flip operation has finished. + while(gcmGetFlipStatus() != 0) + usleep(200); + gcmResetFlipStatus(); +} + +void flip(s32 buffer) { + assert(gcmSetFlip(context, buffer) == 0); + realityFlushBuffer(context); + gcmSetWaitFlip(context); // Prevent the RSX from continuing until the flip has finished. +} + + +// Initilize everything. You can probally skip over this function. +void init_screen() { + // Allocate a 1Mb buffer, alligned to a 1Mb boundary to be our shared IO memory with the RSX. + void *host_addr = memalign(1024*1024, 1024*1024); + assert(host_addr != NULL); + + // Initilise Reality, which sets up the command buffer and shared IO memory + context = realityInit(0x10000, 1024*1024, host_addr); + assert(context != NULL); + + VideoState state; + assert(videoGetState(0, 0, &state) == 0); // Get the state of the display + assert(state.state == 0); // Make sure display is enabled + + // Get the current resolution + assert(videoGetResolution(state.displayMode.resolution, &res) == 0); + + // Configure the buffer format to xRGB + VideoConfiguration vconfig; + memset(&vconfig, 0, sizeof(VideoConfiguration)); + vconfig.resolution = state.displayMode.resolution; + vconfig.format = VIDEO_BUFFER_FORMAT_XRGB; + vconfig.pitch = res.width * 4; + + assert(videoConfigure(0, &vconfig, NULL, 0) == 0); + assert(videoGetState(0, 0, &state) == 0); + + s32 buffer_size = 4 * res.width * res.height; // each pixel is 4 bytes + printf("buffers will be 0x%x bytes\n", buffer_size); + + gcmSetFlipMode(GCM_FLIP_VSYNC); // Wait for VSYNC to flip + + // Allocate two buffers for the RSX to draw to the screen (double buffering) + buffer[0] = rsxMemAlign(16, buffer_size); + buffer[1] = rsxMemAlign(16, buffer_size); + assert(buffer[0] != NULL && buffer[1] != NULL); + + u32 offset[2]; + assert(realityAddressToOffset(buffer[0], &offset[0]) == 0); + assert(realityAddressToOffset(buffer[1], &offset[1]) == 0); + // Setup the display buffers + assert(gcmSetDisplayBuffer(0, offset[0], res.width * 4, res.width, res.height) == 0); + assert(gcmSetDisplayBuffer(1, offset[1], res.width * 4, res.width, res.height) == 0); + + gcmResetFlipStatus(); + flip(1); +} + +void drawFrame(int *buffer, long frame) { + s32 i, j; + for(i = 0; i < res.height; i++) { + for(j = 0; j < res.width; j++) + buffer[i* res.width + j] = i*j; + } +} + +s32 main(s32 argc, const char* argv[]) +{ + PadInfo padinfo; + PadData paddata; + int i,j; + int cols,rows; + int slotwidth=16,slotheight=32; + u32 X,Y,VPX,VPY; + ULONG RenderingFlags; + UCHAR TextmodeBackgorundColor; + ULONG DropShadowColor; + UCHAR DropShadowOrientation; + + init_screen(); + ioPadInit(7); + + cols = (res.width/slotwidth)/2; + rows = (res.height/slotheight)/2; + + CONSOLE_VIDEO_Initialize(&(g_ConsoleVideo[0]),(PUCHAR)(buffer[0]),res.width,res.height,4,res.width*4,(res.width-(cols*slotwidth))/2,cols*slotwidth,(res.height-(rows*slotheight))/2,rows*slotheight); + CONSOLE_VIDEO_Initialize(&(g_ConsoleVideo[1]),(PUCHAR)(buffer[1]),res.width,res.height,4,res.width*4,(res.width-(cols*slotwidth))/2,cols*slotwidth,(res.height-(rows*slotheight))/2,rows*slotheight); + CONSOLE_LOGIC_Initialize(&g_ConsoleLogic,cols,rows); + CONSOLE_RENDER_Initialize(&g_ConsoleRender,slotwidth,slotheight,6,g_BasicColors4BPP,CharMask8x16stdX2,g_8x16X2CursorMask,g_8x16X2CursorInsertMask,g_8x16X2MousePointerMask); + + for(j = 0;j<16;j++) + { + for(i = 0;i<16;i++) + { + CONSOLE_LOGIC_PutAttrCharPairXY(&g_ConsoleLogic, i, j, (i<<4)|j, (16*j)+i); + } + } + + long frame = 0; // To keep track of how many frames we have rendered. + + // Ok, everything is setup. Now for the main loop. + while(1) + { + // Check the pads. + ioPadGetInfo(&padinfo); + for(i=0; i