From 3de000854348fccf06d913dd81ecd8d92f537e58 Mon Sep 17 00:00:00 2001 From: John Reiser Date: Sat, 2 Mar 2019 15:39:30 -0800 Subject: [PATCH] i386-darwin.macho re-implementation, especially for MacOS <= 10.8.x (Mountain Lion) [i386 will not be supported by new MacOS beginning fall 2019.] https://github.com/upx/upx/issues/246 modified: p_mach.cpp modified: stub/i386-darwin.macho-entry.h modified: stub/i386-darwin.macho-fold.h modified: stub/i386-darwin.macho-upxmain.exe modified: stub/i386-darwin.macho-upxmain.h new file: stub/src/arch/i386/bxx.S new file: stub/src/arch/i386/nrv2b_d32-easy.S new file: stub/src/arch/i386/nrv2d_d32-easy.S new file: stub/src/arch/i386/nrv2e_d32-easy.S modified: stub/src/i386-darwin.macho-entry.S modified: stub/src/i386-darwin.macho-fold.S modified: stub/src/i386-darwin.macho-main.c modified: stub/src/i386-darwin.macho-upxmain.c modified: stub/tmp/i386-darwin.macho-entry.bin.dump modified: stub/tmp/i386-darwin.macho-fold.map --- src/p_mach.cpp | 106 +- src/stub/i386-darwin.macho-entry.h | 2977 ++++------------- src/stub/i386-darwin.macho-fold.h | 173 +- src/stub/i386-darwin.macho-upxmain.exe | Bin 4936 -> 4688 bytes src/stub/i386-darwin.macho-upxmain.h | 380 +-- src/stub/src/arch/i386/bxx.S | 76 + src/stub/src/arch/i386/nrv2b_d32-easy.S | 76 + src/stub/src/arch/i386/nrv2d_d32-easy.S | 84 + src/stub/src/arch/i386/nrv2e_d32-easy.S | 90 + src/stub/src/i386-darwin.macho-entry.S | 446 ++- src/stub/src/i386-darwin.macho-fold.S | 115 +- src/stub/src/i386-darwin.macho-main.c | 491 ++- src/stub/src/i386-darwin.macho-upxmain.c | 38 + src/stub/tmp/i386-darwin.macho-entry.bin.dump | 670 +--- src/stub/tmp/i386-darwin.macho-fold.map | 91 +- 15 files changed, 2063 insertions(+), 3750 deletions(-) create mode 100644 src/stub/src/arch/i386/bxx.S create mode 100644 src/stub/src/arch/i386/nrv2b_d32-easy.S create mode 100644 src/stub/src/arch/i386/nrv2d_d32-easy.S create mode 100644 src/stub/src/arch/i386/nrv2e_d32-easy.S diff --git a/src/p_mach.cpp b/src/p_mach.cpp index d0ae70cb..2c074d92 100644 --- a/src/p_mach.cpp +++ b/src/p_mach.cpp @@ -269,84 +269,22 @@ PackMachBase::addStubEntrySections(Filter const *) addLoader("ELFMAINY,IDENTSTR,+40,ELFMAINZ,FOLDEXEC", NULL); } -void PackMachI386::addStubEntrySections(Filter const *ft) +void PackMachI386::addStubEntrySections(Filter const * /*ft*/) { - int const n_mru = ft->n_mru; // FIXME: belongs to filter? packerf? - - if (Mach_header::MH_EXECUTE == my_filetype) { - addLoader("I386BXX0", NULL); // .word offset to f_exp + addLoader("MACHMAINX", NULL); // different for MY_DYLIB vs MH_EXECUTE + if (my_filetype==Mach_header::MH_EXECUTE) { + addLoader("MACH_UNC", NULL); } - else { - addLoader("LEXEC000", NULL); // entry to stub - } - if (ft->id) { // decompr, unfilter are separate - if (Mach_header::MH_EXECUTE != my_filetype) { - addLoader("LXUNF000", NULL); // 2-byte jump to f_exp - } - addLoader("LXUNF002", NULL); // entry to f_unf - // prolog to f_unf - if (0x80==(ft->id & 0xF0)) { - if (256==n_mru) { - addLoader("MRUBYTE0", NULL); - } - else if (n_mru) { - addLoader("LXMRU005", NULL); - } - if (n_mru) { - addLoader("LXMRU006", NULL); - } - else { - addLoader("LXMRU007", NULL); - } - } - else { - if (0x40==(ft->id & 0xF0)) { - addLoader("LXUNF008", NULL); - } - } - if (Mach_header::MH_EXECUTE == my_filetype) { - addFilter32(ft->id); // f_unf body - if (0x80==(ft->id & 0xF0)) { - if (0==n_mru) { - addLoader("LXMRU058", NULL); - } - } - addLoader("LXUNF035", NULL); // epilog to f_unf - } - else { // MH_DYLIB - addLoader("LXUNF010", NULL); // jmp32 lxunf0 # to rest of f_unf - if (n_mru) { - addLoader("LEXEC009", NULL); // empty (unify source with other cases) - } - } - } - if (Mach_header::MH_EXECUTE == my_filetype) { - addLoader("I386BXX1", NULL); - } - addLoader("LEXEC010", NULL); // prolog to f_exp - addLoader(getDecompressorSections(), NULL); - addLoader("LEXEC015", NULL); // epilog to f_exp - if (ft->id) { - if (Mach_header::MH_EXECUTE != my_filetype) { - if (0x80!=(ft->id & 0xF0)) { - addLoader("LXUNF042", NULL); // lxunf0: - } - addFilter32(ft->id); // body of f_unf - if (0x80==(ft->id & 0xF0)) { - if (0==n_mru) { - addLoader("LXMRU058", NULL); - } - } - addLoader("LXUNF035", NULL); // epilog to f_unf - } - } - else { - addLoader("LEXEC017", NULL); // epilog to f_exp - } - - addLoader("IDENTSTR", NULL); - addLoader("LEXEC020", NULL); - addLoader("FOLDEXEC", NULL); + //addLoader(getDecompressorSections(), NULL); + addLoader( + ( M_IS_NRV2E(ph.method) ? "NRV_HEAD,NRV2E,NRV_TAIL" + : M_IS_NRV2D(ph.method) ? "NRV_HEAD,NRV2D,NRV_TAIL" + : M_IS_NRV2B(ph.method) ? "NRV_HEAD,NRV2B,NRV_TAIL" + : M_IS_LZMA(ph.method) ? "LZMA_ELF00,LZMA_DEC20,LZMA_DEC30" + : NULL), NULL); + if (hasLoaderSection("CFLUSH")) + addLoader("CFLUSH"); + addLoader("MACHMAINY,IDENTSTR,+40,MACHMAINZ,FOLDEXEC", NULL); } void PackMachAMD64::addStubEntrySections(Filter const * /*ft*/) @@ -593,8 +531,6 @@ void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader mhp->cpusubtype = my_cpusubtype; mhp->flags = mhdro.flags; char *tail = (char *)(1+ mhp); - Mach_section_command *sectxt = 0; // in temp for output - unsigned txt_addr = 0; char *const lcp_end = mhdro.sizeofcmds + tail; Mach_command *lcp = (Mach_command *)(1+ mhp); Mach_command *lcp_next; @@ -615,8 +551,6 @@ void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader segptr->vmsize = pagezero_vmsize; } if (!strcmp("__TEXT", segptr->segname)) { - sectxt = (Mach_section_command *)(1+ segptr); - txt_addr = sectxt->addr; sz_cmd = (segTEXT.nsects * sizeof(secTEXT)) + sizeof(segTEXT); mhp->sizeofcmds += sizeof(secTEXT) * (1 - segptr->nsects); memcpy(tail, &segTEXT, sz_cmd); tail += sz_cmd; @@ -627,6 +561,16 @@ void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader delta = offLINK - segptr->fileoff; // relocation constant sz_cmd = sizeof(segLINK); + if (Mach_header::CPU_TYPE_I386==mhdri.cputype + && Mach_header::MH_EXECUTE==mhdri.filetype) { + segLINK.maxprot = 0 + | Mach_command::VM_PROT_EXECUTE + | Mach_command::VM_PROT_WRITE + | Mach_command::VM_PROT_READ; + segLINK.initprot = 0 + | Mach_command::VM_PROT_WRITE + | Mach_command::VM_PROT_READ; + } memcpy(tail, &segLINK, sz_cmd); tail += sz_cmd; goto next; } @@ -677,8 +621,6 @@ void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader skip = 1; } break; case Mach_command::LC_UNIXTHREAD: { // pre-LC_MAIN - threado_setPC(secTEXT.addr + - (threadc_getPC(lcp) - txt_addr)); skip = 1; } break; case Mach_command::LC_LOAD_DYLIB: { diff --git a/src/stub/i386-darwin.macho-entry.h b/src/stub/i386-darwin.macho-entry.h index 1912cfd4..9b9ea501 100644 --- a/src/stub/i386-darwin.macho-entry.h +++ b/src/stub/i386-darwin.macho-entry.h @@ -1,5 +1,5 @@ /* i386-darwin.macho-entry.h - created from i386-darwin.macho-entry.bin, 37910 (0x9416) bytes + created from i386-darwin.macho-entry.bin, 9602 (0x2582) bytes This file is part of the UPX executable compressor. @@ -31,2379 +31,610 @@ */ -#define STUB_I386_DARWIN_MACHO_ENTRY_SIZE 37910 -#define STUB_I386_DARWIN_MACHO_ENTRY_ADLER32 0xe65cca98 -#define STUB_I386_DARWIN_MACHO_ENTRY_CRC32 0x923d966b +#define STUB_I386_DARWIN_MACHO_ENTRY_SIZE 9602 +#define STUB_I386_DARWIN_MACHO_ENTRY_ADLER32 0x867b2295 +#define STUB_I386_DARWIN_MACHO_ENTRY_CRC32 0x46196242 -unsigned char stub_i386_darwin_macho_entry[37910] = { +unsigned char stub_i386_darwin_macho_entry[9602] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 76, 34, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, -/* 0x0030 */ 0, 0, 0, 0, 1, 0,195,232, 56, 0, 0, 0, 96,139,116, 36, -/* 0x0040 */ 36,139,124, 36, 44,131,205,255,235, 3,164,235, 3,138, 6, 70, -/* 0x0050 */ 136, 7, 71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 1, -/* 0x0060 */ 49,192, 64,138, 7,114,255,184, 1, 0, 0, 0, 1,219,117, 7, -/* 0x0070 */ 139, 30,131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131, -/* 0x0080 */ 238,252, 17,219,115,255, 1,219,115,255,117, 9,139, 30,131,238, -/* 0x0090 */ 252, 17,219,115,255, 49,201,131,232, 3,114, 13,193,224, 8,138, -/* 0x00a0 */ 6, 70,131,240,255,116,255,137,197, 1,219,117, 7,139, 30,131, -/* 0x00b0 */ 238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17, -/* 0x00c0 */ 219, 17,201,117,255, 65, 1,219,117, 7,139, 30,131,238,252, 17, -/* 0x00d0 */ 219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 48, -/* 0x00e0 */ 1,219,115, 48,117, 9,139, 30,131,238,252, 17,219,115, 48, 65, -/* 0x00f0 */ 65,131,193, 2,129,253, 0,243,255,255,131,209, 1, 86,141, 52, -/* 0x0100 */ 47,243,164, 94,233,252,255,255,255,141, 20, 47,131,253,252,138, -/* 0x0110 */ 4, 15,118,255,138, 2, 66,136, 7, 71, 73,117,247,233,252,255, -/* 0x0120 */ 255,255,139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119, -/* 0x0130 */ 241, 1,207,233,252,255,255,255,235, 3,164,235, 3,138, 6, 70, -/* 0x0140 */ 136, 7, 71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 1, -/* 0x0150 */ 49,192, 64,138, 7,114,255,184, 1, 0, 0, 0, 1,219,117, 7, -/* 0x0160 */ 139, 30,131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131, -/* 0x0170 */ 238,252, 17,219,114, 15, 1,219,115, 11,117, 15,139, 30,131,238, -/* 0x0180 */ 252, 17,219,114, 15, 72, 1,219,117, 7,139, 30,131,238,252, 17, -/* 0x0190 */ 219, 17,192,235,255, 49,201,131,232, 3,114, 17,193,224, 8,138, -/* 0x01a0 */ 6, 70,131,240,255,116,255,209,248,137,197,235, 11, 1,219,117, -/* 0x01b0 */ 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30, -/* 0x01c0 */ 131,238,252, 17,219, 17,201,117,255, 65, 1,219,117, 7,139, 30, -/* 0x01d0 */ 131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, -/* 0x01e0 */ 17,219,115, 68, 1,219,115, 68,117, 9,139, 30,131,238,252, 17, -/* 0x01f0 */ 219,115, 68, 65, 65,131,193, 2,129,253, 0,251,255,255,131,209, -/* 0x0200 */ 1, 86,141, 52, 47,243,164, 94,233,252,255,255,255,141, 20, 47, -/* 0x0210 */ 131,253,252,138, 4, 15,118,255,138, 2, 66,136, 7, 71, 73,117, -/* 0x0220 */ 247,233,252,255,255,255,139, 2,131,194, 4,137, 7,131,199, 4, -/* 0x0230 */ 131,233, 4,119,241, 1,207,233,252,255,255,255,235, 3,164,235, -/* 0x0240 */ 3,138, 6, 70,136, 7, 71, 1,219,117, 7,139, 30,131,238,252, -/* 0x0250 */ 17,219,114, 1, 49,192, 64,138, 7,114,255,184, 1, 0, 0, 0, -/* 0x0260 */ 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192, 1,219,117, -/* 0x0270 */ 7,139, 30,131,238,252, 17,219,114, 30, 1,219,115, 11,117, 30, -/* 0x0280 */ 139, 30,131,238,252, 17,219,114, 30, 72, 1,219,117, 7,139, 30, -/* 0x0290 */ 131,238,252, 17,219, 17,192,235,255, 1,219,117, 7,139, 30,131, -/* 0x02a0 */ 238,252, 17,219, 17,201,235,255, 49,201,131,232, 3,114, 17,193, -/* 0x02b0 */ 224, 8,138, 6, 70,131,240,255,116,255,209,248,137,197,235, 11, -/* 0x02c0 */ 1,219,117, 7,139, 30,131,238,252, 17,219,114,204, 65, 1,219, -/* 0x02d0 */ 117, 7,139, 30,131,238,252, 17,219,114,190, 1,219,117, 7,139, -/* 0x02e0 */ 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238, -/* 0x02f0 */ 252, 17,219,115, 81, 1,219,115, 81,117, 9,139, 30,131,238,252, -/* 0x0300 */ 17,219,115, 81, 65, 65,131,193, 2,129,253, 0,251,255,255,131, -/* 0x0310 */ 209, 2, 86,141, 52, 47,243,164, 94,233,252,255,255,255,141, 20, -/* 0x0320 */ 47,131,253,252,138, 4, 15,118,255,138, 2, 66,136, 7, 71, 73, -/* 0x0330 */ 117,247,233,252,255,255,255,139, 2,131,194, 4,137, 7,131,199, -/* 0x0340 */ 4,131,233, 4,119,241, 1,207,233,252,255,255,255,137,229,141, -/* 0x0350 */ 156, 36, 0, 0, 0, 0, 49,192, 80, 57,220,117,251, 70, 70, 83, -/* 0x0360 */ 104, 0, 0, 0, 0, 87,131,195, 4, 83,104, 0, 0, 0, 0, 86, -/* 0x0370 */ 131,195, 4, 83, 80,199, 3, 0, 0, 0, 0,137,229,139, 85, 40, -/* 0x0380 */ 172, 74,136,193, 36, 7,192,233, 3,187, 0,253,255,255,211,227, -/* 0x0390 */ 141,164, 92,144,241,255,255,131,228,224,106, 0,106, 0,137,227, -/* 0x03a0 */ 83,131,195, 4,139, 77, 48,255, 49, 87, 83,131,195, 4,136, 67, -/* 0x03b0 */ 2,172, 74,136,193, 36, 15,136, 3,192,233, 4,136, 75, 1, 82, -/* 0x03c0 */ 86, 83, 80, 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, -/* 0x03d0 */ 0,199, 68, 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, -/* 0x03e0 */ 36,156, 0, 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, -/* 0x03f0 */ 0, 15,182, 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, -/* 0x0400 */ 15,182, 74, 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, -/* 0x0410 */ 0, 0, 15,182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, -/* 0x0420 */ 0, 0, 0, 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137, -/* 0x0430 */ 116, 36,100,199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, -/* 0x0440 */ 0, 0, 0,199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, -/* 0x0450 */ 0, 0, 0, 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, -/* 0x0460 */ 0, 57, 76, 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4, -/* 0x0470 */ 131,192, 2,226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, -/* 0x0480 */ 36, 72,255,255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, -/* 0x0490 */ 84, 36, 76, 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15, -/* 0x04a0 */ 182, 3,193,231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, -/* 0x04b0 */ 36,164, 0, 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139, -/* 0x04c0 */ 116, 36,116, 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193, -/* 0x04d0 */ 224, 4,137,116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0, -/* 0x04e0 */ 141, 44, 66,119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193, -/* 0x04f0 */ 100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, -/* 0x0500 */ 72,102,139, 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, -/* 0x0510 */ 15,131,221, 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41, -/* 0x0520 */ 200,138, 76, 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, -/* 0x0530 */ 15,182, 84, 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36, -/* 0x0540 */ 104,139,108, 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100, -/* 0x0550 */ 211,250, 1,208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141, -/* 0x0560 */ 132, 5,108, 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0, -/* 0x0570 */ 139, 68, 36,116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15, -/* 0x0580 */ 182, 4, 2,137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, -/* 0x0590 */ 20, 54,139,108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72, -/* 0x05a0 */ 255,255,255, 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, -/* 0x05b0 */ 24, 59, 92, 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, -/* 0x05c0 */ 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, -/* 0x05d0 */ 0, 2, 0, 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, -/* 0x05e0 */ 35,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, -/* 0x05f0 */ 5,131,124, 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0, -/* 0x0600 */ 116, 34,235, 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102, -/* 0x0610 */ 193,232, 5,102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, -/* 0x0620 */ 0, 0,116, 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255, -/* 0x0630 */ 235,121,129,254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, -/* 0x0640 */ 20, 1,213,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, -/* 0x0650 */ 76, 15,132,196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193, -/* 0x0660 */ 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, -/* 0x0670 */ 15,183,241, 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, -/* 0x0680 */ 8, 0, 0, 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, -/* 0x0690 */ 0,235,159, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193, -/* 0x06a0 */ 232, 5,102, 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137, -/* 0x06b0 */ 240,139,140, 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66, -/* 0x06c0 */ 131,124, 36, 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, -/* 0x06d0 */ 0, 0, 0,233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131, -/* 0x06e0 */ 108, 36, 96, 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, -/* 0x06f0 */ 7, 0, 0,139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137, -/* 0x0700 */ 208,102,193,232, 5,102, 41,194,129,249,255,255,255, 0,102,137, -/* 0x0710 */ 85, 0,139,108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, -/* 0x0720 */ 59, 92, 36, 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8, -/* 0x0730 */ 193,225, 8, 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102, -/* 0x0740 */ 139,149,128, 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82, -/* 0x0750 */ 137,198,184, 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5, -/* 0x0760 */ 139, 76, 36, 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, -/* 0x0770 */ 76, 36,120,102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, -/* 0x0780 */ 36, 84,137, 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192, -/* 0x0790 */ 129,193,100, 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, -/* 0x07a0 */ 0, 0,137,206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, -/* 0x07b0 */ 36, 56,102, 41,194,129,254,255,255,255, 0,102,137,145,128, 1, -/* 0x07c0 */ 0, 0,119, 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, -/* 0x07d0 */ 3,193,231, 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242, -/* 0x07e0 */ 193,234, 11,102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, -/* 0x07f0 */ 57,215, 15,131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41, -/* 0x0800 */ 197,199, 68, 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, -/* 0x0810 */ 1,139, 76, 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96, -/* 0x0820 */ 139, 76, 36, 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, -/* 0x0830 */ 0,141, 44, 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, -/* 0x0840 */ 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, -/* 0x0850 */ 1, 0, 0,137,240,193,232, 11, 15,183,202, 15,175,193, 57,199, -/* 0x0860 */ 115, 96, 41, 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, -/* 0x0870 */ 68, 36, 72,131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, -/* 0x0880 */ 0, 0, 15,132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139, -/* 0x0890 */ 172, 36,160, 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, -/* 0x08a0 */ 9,137, 68, 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, -/* 0x08b0 */ 0,136, 68, 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, -/* 0x08c0 */ 0, 0, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,102, -/* 0x08d0 */ 137,149,224, 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102, -/* 0x08e0 */ 193,232, 5,139,108, 36, 56,102, 41,193, 41,215,129,254,255,255, -/* 0x08f0 */ 255, 0,102,137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15, -/* 0x0900 */ 132, 22, 5, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9, -/* 0x0910 */ 199,139, 76, 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, -/* 0x0920 */ 0, 15,183,202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, -/* 0x0930 */ 0, 0, 41,200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137, -/* 0x0940 */ 133,176, 1, 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, -/* 0x0950 */ 41,199, 41,193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, -/* 0x0960 */ 56,129,249,255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, -/* 0x0970 */ 59, 92, 36, 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8, -/* 0x0980 */ 193,225, 8, 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102, -/* 0x0990 */ 139,150,200, 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32, -/* 0x09a0 */ 137,198,184, 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5, -/* 0x09b0 */ 141, 4, 2,102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38, -/* 0x09c0 */ 137,206, 41,199, 41,198,137,208,102,193,232, 5,102, 41,194,139, -/* 0x09d0 */ 68, 36, 56,102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, -/* 0x09e0 */ 36, 80,137, 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, -/* 0x09f0 */ 36, 92,137, 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, -/* 0x0a00 */ 6,139, 76, 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, -/* 0x0a10 */ 64, 8,137, 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, -/* 0x0a20 */ 36, 76, 15,132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, -/* 0x0a30 */ 8, 67, 9,199,102,139, 17,137,240,193,232, 11, 15,183,234, 15, -/* 0x0a40 */ 175,197, 57,199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41, -/* 0x0a50 */ 232,193,100, 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, -/* 0x0a60 */ 0,141, 4, 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, -/* 0x0a70 */ 76, 36, 16,235,114, 41,198, 41,199,137,208,102,193,232, 5,102, -/* 0x0a80 */ 41,194,129,254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, -/* 0x0a90 */ 76, 15,132,132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, -/* 0x0aa0 */ 67, 9,199,102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15, -/* 0x0ab0 */ 175,197, 57,199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41, -/* 0x0ac0 */ 232,193,100, 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, -/* 0x0ad0 */ 0,141, 4, 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, -/* 0x0ae0 */ 1, 0, 0,137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, -/* 0x0af0 */ 47, 41,198, 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, -/* 0x0b00 */ 68, 36, 44, 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, -/* 0x0b10 */ 0, 0,102,137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16, -/* 0x0b20 */ 139, 76, 36, 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18, -/* 0x0b30 */ 139,116, 36, 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, -/* 0x0b40 */ 59, 92, 36, 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15, -/* 0x0b50 */ 182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193, -/* 0x0b60 */ 232, 11, 15,183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72, -/* 0x0b70 */ 184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102, -/* 0x0b80 */ 137, 6,235, 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5, -/* 0x0b90 */ 102, 41,194,102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, -/* 0x0ba0 */ 36, 40,117,137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41, -/* 0x0bb0 */ 194, 3, 84, 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143, -/* 0x0bc0 */ 231, 1, 0, 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5, -/* 0x0bd0 */ 184, 3, 0, 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, -/* 0x0be0 */ 6, 0, 0, 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, -/* 0x0bf0 */ 1, 0, 0, 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, -/* 0x0c00 */ 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, -/* 0x0c10 */ 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, -/* 0x0c20 */ 68, 36, 72,102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57, -/* 0x0c30 */ 199,115, 24,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, -/* 0x0c40 */ 5,141, 4, 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41, -/* 0x0c50 */ 199,137,208,102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22, -/* 0x0c60 */ 139,108, 36, 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, -/* 0x0c70 */ 3,137, 20, 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248, -/* 0x0c80 */ 131,230, 1,141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32, -/* 0x0c90 */ 127, 28,139,108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, -/* 0x0ca0 */ 0, 41,208, 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80, -/* 0x0cb0 */ 251,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15, -/* 0x0cc0 */ 132, 86, 1, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, -/* 0x0cd0 */ 67, 9,199,209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43, -/* 0x0ce0 */ 124, 36, 72,131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4, -/* 0x0cf0 */ 137, 52, 36, 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0, -/* 0x0d00 */ 137, 68, 36, 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, -/* 0x0d10 */ 0,139,108, 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, -/* 0x0d20 */ 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, -/* 0x0d30 */ 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, -/* 0x0d40 */ 68, 36, 72,102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, -/* 0x0d50 */ 57,199,115, 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193, -/* 0x0d60 */ 248, 5,141, 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, -/* 0x0d70 */ 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, -/* 0x0d80 */ 36, 24,102,137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, -/* 0x0d90 */ 36, 32,209,100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255, -/* 0x0da0 */ 255,139, 52, 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139, -/* 0x0db0 */ 108, 36,116,131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, -/* 0x0dc0 */ 0, 0, 0,137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0, -/* 0x0dd0 */ 141, 52, 40,138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36, -/* 0x0de0 */ 116, 73,116, 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114, -/* 0x0df0 */ 226,235, 17,139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130, -/* 0x0e00 */ 187,246,255,255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, -/* 0x0e10 */ 36, 76,184, 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0, -/* 0x0e20 */ 235, 32, 67, 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, -/* 0x0e30 */ 0, 0, 0,139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0, -/* 0x0e40 */ 137, 11,131,196,124, 91, 94, 95, 93, 85, 87, 86, 83,131,236,124, -/* 0x0e50 */ 139,148, 36,144, 0, 0, 0,199, 68, 36,116, 0, 0, 0, 0,198, -/* 0x0e60 */ 68, 36,115, 0,139,172, 36,156, 0, 0, 0,141, 66, 4,137, 68, -/* 0x0e70 */ 36,120,184, 1, 0, 0, 0, 15,182, 74, 2,137,195,211,227,137, -/* 0x0e80 */ 217, 73,137, 76, 36,108, 15,182, 74, 1,211,224, 72,137, 68, 36, -/* 0x0e90 */ 104,139,132, 36,168, 0, 0, 0, 15,182, 50,199, 69, 0, 0, 0, -/* 0x0ea0 */ 0, 0,199, 68, 36, 96, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, -/* 0x0eb0 */ 184, 0, 3, 0, 0,137,116, 36,100,199, 68, 36, 92, 1, 0, 0, -/* 0x0ec0 */ 0,199, 68, 36, 88, 1, 0, 0, 0,199, 68, 36, 84, 1, 0, 0, -/* 0x0ed0 */ 0,199, 68, 36, 80, 1, 0, 0, 0, 15,182, 74, 1, 1,241,211, -/* 0x0ee0 */ 224,141,136, 54, 7, 0, 0, 57, 76, 36,116,115, 14,139, 68, 36, -/* 0x0ef0 */ 120,102,199, 0, 0, 4,131,192, 2,226,246,139,156, 36,148, 0, -/* 0x0f00 */ 0, 0, 49,255,199, 68, 36, 72,255,255,255,255,137,218, 3,148, -/* 0x0f10 */ 36,152, 0, 0, 0,137, 84, 36, 76, 49,210, 59, 92, 36, 76, 15, -/* 0x0f20 */ 132,124, 9, 0, 0, 15,182, 3,193,231, 8, 66, 67, 9,199,131, -/* 0x0f30 */ 250, 4,126,231,139,140, 36,164, 0, 0, 0, 57, 76, 36,116, 15, -/* 0x0f40 */ 131,100, 9, 0, 0,139,116, 36,116, 35,116, 36,108,139, 68, 36, -/* 0x0f50 */ 96,139, 84, 36,120,193,224, 4,137,116, 36, 68, 1,240,129,124, -/* 0x0f60 */ 36, 72,255,255,255, 0,141, 44, 66,119, 24, 59, 92, 36, 76, 15, -/* 0x0f70 */ 132, 44, 9, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, -/* 0x0f80 */ 67, 9,199,139, 68, 36, 72,102,139, 85, 0,193,232, 11, 15,183, -/* 0x0f90 */ 202, 15,175,193, 57,199, 15,131,221, 1, 0, 0,137, 68, 36, 72, -/* 0x0fa0 */ 184, 0, 8, 0, 0, 41,200,138, 76, 36,100,193,248, 5,190, 1, -/* 0x0fb0 */ 0, 0, 0,141, 4, 2, 15,182, 84, 36,115,102,137, 69, 0,139, -/* 0x0fc0 */ 68, 36,116, 35, 68, 36,104,139,108, 36,120,211,224,185, 8, 0, -/* 0x0fd0 */ 0, 0, 43, 76, 36,100,211,250, 1,208,105,192, 0, 6, 0, 0, -/* 0x0fe0 */ 131,124, 36, 96, 6,141,132, 5,108, 14, 0, 0,137, 68, 36, 20, -/* 0x0ff0 */ 15,142,202, 0, 0, 0,139, 68, 36,116, 43, 68, 36, 92,139,148, -/* 0x1000 */ 36,160, 0, 0, 0, 15,182, 4, 2,137, 68, 36, 64,209,100, 36, -/* 0x1010 */ 64,139, 76, 36, 64,141, 20, 54,139,108, 36, 20,129,225, 0, 1, -/* 0x1020 */ 0, 0,129,124, 36, 72,255,255,255, 0,141, 68, 77, 0,137, 76, -/* 0x1030 */ 36, 60,141, 44, 16,119, 24, 59, 92, 36, 76, 15,132, 96, 8, 0, -/* 0x1040 */ 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, -/* 0x1050 */ 68, 36, 72,102,139,141, 0, 2, 0, 0,193,232, 11, 15,183,241, -/* 0x1060 */ 15,175,198, 57,199,115, 35,137, 68, 36, 72,184, 0, 8, 0, 0, -/* 0x1070 */ 41,240,137,214,193,248, 5,131,124, 36, 60, 0,141, 4, 1,102, -/* 0x1080 */ 137,133, 0, 2, 0, 0,116, 34,235, 46, 41, 68, 36, 72, 41,199, -/* 0x1090 */ 137,200,141,114, 1,102,193,232, 5,102, 41,193,131,124, 36, 60, -/* 0x10a0 */ 0,102,137,141, 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, -/* 0x10b0 */ 15,142, 87,255,255,255,235,121,129,254,255, 0, 0, 0,127,113, -/* 0x10c0 */ 141, 20, 54,139,108, 36, 20, 1,213,129,124, 36, 72,255,255,255, -/* 0x10d0 */ 0,119, 24, 59, 92, 36, 76, 15,132,196, 7, 0, 0,193,100, 36, -/* 0x10e0 */ 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102, -/* 0x10f0 */ 139, 77, 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 25, -/* 0x1100 */ 137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5, -/* 0x1110 */ 141, 4, 1,102,137, 69, 0,235,159, 41, 68, 36, 72, 41,199,137, -/* 0x1120 */ 200,141,114, 1,102,193,232, 5,102, 41,193,102,137, 77, 0,235, -/* 0x1130 */ 135,139, 84, 36,116,137,240,139,140, 36,160, 0, 0, 0,136, 68, -/* 0x1140 */ 36,115,136, 4, 10, 66,131,124, 36, 96, 3,137, 84, 36,116,127, -/* 0x1150 */ 13,199, 68, 36, 96, 0, 0, 0, 0,233, 27, 7, 0, 0,131,124, -/* 0x1160 */ 36, 96, 9,127, 10,131,108, 36, 96, 3,233, 10, 7, 0, 0,131, -/* 0x1170 */ 108, 36, 96, 6,233, 0, 7, 0, 0,139, 76, 36, 72, 41,199,139, -/* 0x1180 */ 116, 36, 96, 41,193,137,208,102,193,232, 5,102, 41,194,129,249, -/* 0x1190 */ 255,255,255, 0,102,137, 85, 0,139,108, 36,120,141,116,117, 0, -/* 0x11a0 */ 137,116, 36, 56,119, 22, 59, 92, 36, 76, 15,132,241, 6, 0, 0, -/* 0x11b0 */ 15,182, 3,193,231, 8,193,225, 8, 67, 9,199,139,108, 36, 56, -/* 0x11c0 */ 137,200,193,232, 11,102,139,149,128, 1, 0, 0, 15,183,234, 15, -/* 0x11d0 */ 175,197, 57,199,115, 82,137,198,184, 0, 8, 0, 0, 41,232,139, -/* 0x11e0 */ 108, 36, 88,193,248, 5,139, 76, 36, 84,141, 4, 2,139, 84, 36, -/* 0x11f0 */ 56,137, 76, 36, 80,139, 76, 36,120,102,137,130,128, 1, 0, 0, -/* 0x1200 */ 139, 68, 36, 92,137,108, 36, 84,137, 68, 36, 88, 49,192,131,124, -/* 0x1210 */ 36, 96, 6, 15,159,192,129,193,100, 6, 0, 0,141, 4, 64,137, -/* 0x1220 */ 68, 36, 96,233,116, 2, 0, 0,137,206, 41,199, 41,198,137,208, -/* 0x1230 */ 102,193,232, 5,139, 76, 36, 56,102, 41,194,129,254,255,255,255, -/* 0x1240 */ 0,102,137,145,128, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, -/* 0x1250 */ 77, 6, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199, -/* 0x1260 */ 139,108, 36, 56,137,242,193,234, 11,102,139,141,152, 1, 0, 0, -/* 0x1270 */ 15,183,193, 15,175,208, 57,215, 15,131,227, 0, 0, 0,189, 0, -/* 0x1280 */ 8, 0, 0,137,214, 41,197,199, 68, 36, 52, 0, 8, 0, 0,137, -/* 0x1290 */ 232,193,248, 5,141, 4, 1,139, 76, 36, 56,102,137,129,152, 1, -/* 0x12a0 */ 0, 0,139, 68, 36, 96,139, 76, 36, 68,193,224, 5, 3, 68, 36, -/* 0x12b0 */ 120,129,250,255,255,255, 0,141, 44, 72,119, 22, 59, 92, 36, 76, -/* 0x12c0 */ 15,132,219, 5, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, -/* 0x12d0 */ 9,199,102,139,149,224, 1, 0, 0,137,240,193,232, 11, 15,183, -/* 0x12e0 */ 202, 15,175,193, 57,199,115, 96, 41, 76, 36, 52,193,124, 36, 52, -/* 0x12f0 */ 5,139,116, 36, 52,137, 68, 36, 72,131,124, 36,116, 0,141, 4, -/* 0x1300 */ 50,102,137,133,224, 1, 0, 0, 15,132,147, 5, 0, 0, 49,192, -/* 0x1310 */ 131,124, 36, 96, 6,139,172, 36,160, 0, 0, 0,139, 84, 36,116, -/* 0x1320 */ 15,159,192,141, 68, 0, 9,137, 68, 36, 96,139, 68, 36,116, 43, -/* 0x1330 */ 68, 36, 92,138, 68, 5, 0,136, 68, 36,115,136, 4, 42, 66,137, -/* 0x1340 */ 84, 36,116,233, 49, 5, 0, 0, 41,198, 41,199,137,208,102,193, -/* 0x1350 */ 232, 5,102, 41,194,102,137,149,224, 1, 0, 0,233, 31, 1, 0, -/* 0x1360 */ 0,137,200, 41,214,102,193,232, 5,139,108, 36, 56,102, 41,193, -/* 0x1370 */ 41,215,129,254,255,255,255, 0,102,137,141,152, 1, 0, 0,119, -/* 0x1380 */ 22, 59, 92, 36, 76, 15,132, 22, 5, 0, 0, 15,182, 3,193,231, -/* 0x1390 */ 8,193,230, 8, 67, 9,199,139, 76, 36, 56,137,240,193,232, 11, -/* 0x13a0 */ 102,139,145,176, 1, 0, 0, 15,183,202, 15,175,193, 57,199,115, -/* 0x13b0 */ 35,137,198,184, 0, 8, 0, 0, 41,200,139,108, 36, 56,193,248, -/* 0x13c0 */ 5,141, 4, 2,102,137,133,176, 1, 0, 0,139, 68, 36, 88,233, -/* 0x13d0 */ 160, 0, 0, 0,137,241, 41,199, 41,193,137,208,102,193,232, 5, -/* 0x13e0 */ 102, 41,194,139, 68, 36, 56,129,249,255,255,255, 0,102,137,144, -/* 0x13f0 */ 176, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132,161, 4, 0, 0, -/* 0x1400 */ 15,182, 3,193,231, 8,193,225, 8, 67, 9,199,139,116, 36, 56, -/* 0x1410 */ 137,200,193,232, 11,102,139,150,200, 1, 0, 0, 15,183,234, 15, -/* 0x1420 */ 175,197, 57,199,115, 32,137,198,184, 0, 8, 0, 0, 41,232,139, -/* 0x1430 */ 108, 36, 56,193,248, 5,141, 4, 2,102,137,133,200, 1, 0, 0, -/* 0x1440 */ 139, 68, 36, 84,235, 38,137,206, 41,199, 41,198,137,208,102,193, -/* 0x1450 */ 232, 5,102, 41,194,139, 68, 36, 56,102,137,144,200, 1, 0, 0, -/* 0x1460 */ 139, 84, 36, 84,139, 68, 36, 80,137, 84, 36, 80,139, 76, 36, 88, -/* 0x1470 */ 137, 76, 36, 84,139,108, 36, 92,137, 68, 36, 92,137,108, 36, 88, -/* 0x1480 */ 49,192,131,124, 36, 96, 6,139, 76, 36,120, 15,159,192,129,193, -/* 0x1490 */ 104, 10, 0, 0,141, 68, 64, 8,137, 68, 36, 96,129,254,255,255, -/* 0x14a0 */ 255, 0,119, 22, 59, 92, 36, 76, 15,132,243, 3, 0, 0, 15,182, -/* 0x14b0 */ 3,193,231, 8,193,230, 8, 67, 9,199,102,139, 17,137,240,193, -/* 0x14c0 */ 232, 11, 15,183,234, 15,175,197, 57,199,115, 47,137, 68, 36, 72, -/* 0x14d0 */ 184, 0, 8, 0, 0, 41,232,193,100, 36, 68, 4,193,248, 5,199, -/* 0x14e0 */ 68, 36, 44, 0, 0, 0, 0,141, 4, 2,102,137, 1,139, 68, 36, -/* 0x14f0 */ 68,141, 76, 1, 4,137, 76, 36, 16,235,114, 41,198, 41,199,137, -/* 0x1500 */ 208,102,193,232, 5,102, 41,194,129,254,255,255,255, 0,102,137, -/* 0x1510 */ 17,119, 22, 59, 92, 36, 76, 15,132,132, 3, 0, 0, 15,182, 3, -/* 0x1520 */ 193,231, 8,193,230, 8, 67, 9,199,102,139, 81, 2,137,240,193, -/* 0x1530 */ 232, 11, 15,183,234, 15,175,197, 57,199,115, 59,137, 68, 36, 72, -/* 0x1540 */ 184, 0, 8, 0, 0, 41,232,193,100, 36, 68, 4,193,248, 5,199, -/* 0x1550 */ 68, 36, 44, 8, 0, 0, 0,141, 4, 2,139, 84, 36, 68,102,137, -/* 0x1560 */ 65, 2,141,140, 17, 4, 1, 0, 0,137, 76, 36, 16,199, 68, 36, -/* 0x1570 */ 48, 3, 0, 0, 0,235, 47, 41,198, 41,199,137,208,137,116, 36, -/* 0x1580 */ 72,102,193,232, 5,199, 68, 36, 44, 16, 0, 0, 0,102, 41,194, -/* 0x1590 */ 199, 68, 36, 48, 8, 0, 0, 0,102,137, 81, 2,129,193, 4, 2, -/* 0x15a0 */ 0, 0,137, 76, 36, 16,139, 76, 36, 48,186, 1, 0, 0, 0,137, -/* 0x15b0 */ 76, 36, 40,141, 44, 18,139,116, 36, 16, 1,238,129,124, 36, 72, -/* 0x15c0 */ 255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132,209, 2, 0, 0, -/* 0x15d0 */ 193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, -/* 0x15e0 */ 36, 72,102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199, -/* 0x15f0 */ 115, 24,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5, -/* 0x1600 */ 141, 4, 2,137,234,102,137, 6,235, 21, 41, 68, 36, 72, 41,199, -/* 0x1610 */ 137,208,102,193,232, 5,102, 41,194,102,137, 22,141, 85, 1,139, -/* 0x1620 */ 116, 36, 40, 78,137,116, 36, 40,117,137,138, 76, 36, 48,184, 1, -/* 0x1630 */ 0, 0, 0,211,224, 41,194, 3, 84, 36, 44,131,124, 36, 96, 3, -/* 0x1640 */ 137, 84, 36, 12, 15,143,231, 1, 0, 0,131, 68, 36, 96, 7,131, -/* 0x1650 */ 250, 3,137,208,126, 5,184, 3, 0, 0, 0,139,116, 36,120,193, -/* 0x1660 */ 224, 7,199, 68, 36, 36, 6, 0, 0, 0,141,132, 6, 96, 3, 0, -/* 0x1670 */ 0,137, 68, 36, 8,184, 1, 0, 0, 0,141, 44, 0,139,116, 36, -/* 0x1680 */ 8, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, -/* 0x1690 */ 76, 15,132, 10, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193, -/* 0x16a0 */ 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15, -/* 0x16b0 */ 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8, -/* 0x16c0 */ 0, 0, 41,200,193,248, 5,141, 4, 2,102,137, 6,137,232,235, -/* 0x16d0 */ 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194, -/* 0x16e0 */ 141, 69, 1,102,137, 22,139,108, 36, 36, 77,137,108, 36, 36,117, -/* 0x16f0 */ 137,141, 80,192,131,250, 3,137, 20, 36, 15,142, 39, 1, 0, 0, -/* 0x1700 */ 137,208,137,214,209,248,131,230, 1,141, 72,255,131,206, 2,131, -/* 0x1710 */ 250, 13,137, 76, 36, 32,127, 28,139,108, 36,120,211,230, 1,210, -/* 0x1720 */ 137, 52, 36,141, 68,117, 0, 41,208, 5, 94, 5, 0, 0,137, 68, -/* 0x1730 */ 36, 4,235, 86,141, 80,251,129,124, 36, 72,255,255,255, 0,119, -/* 0x1740 */ 24, 59, 92, 36, 76, 15,132, 86, 1, 0, 0,193,100, 36, 72, 8, -/* 0x1750 */ 15,182, 3,193,231, 8, 67, 9,199,209,108, 36, 72, 1,246, 59, -/* 0x1760 */ 124, 36, 72,114, 7, 43,124, 36, 72,131,206, 1, 74,117,200,139, -/* 0x1770 */ 68, 36,120,193,230, 4,137, 52, 36, 5, 68, 6, 0, 0,199, 68, -/* 0x1780 */ 36, 32, 4, 0, 0, 0,137, 68, 36, 4,199, 68, 36, 28, 1, 0, -/* 0x1790 */ 0, 0,184, 1, 0, 0, 0,139,108, 36, 4, 1,192,137, 68, 36, -/* 0x17a0 */ 24, 1,197,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, -/* 0x17b0 */ 76, 15,132,234, 0, 0, 0,193,100, 36, 72, 8, 15,182, 3,193, -/* 0x17c0 */ 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 85, 0,193,232, 11, -/* 0x17d0 */ 15,183,242, 15,175,198, 57,199,115, 27,137, 68, 36, 72,184, 0, -/* 0x17e0 */ 8, 0, 0, 41,240,193,248, 5,141, 4, 2,102,137, 69, 0,139, -/* 0x17f0 */ 68, 36, 24,235, 31, 41, 68, 36, 72, 41,199,137,208,102,193,232, -/* 0x1800 */ 5,102, 41,194,139, 68, 36, 24,102,137, 85, 0,139, 84, 36, 28, -/* 0x1810 */ 64, 9, 20, 36,139, 76, 36, 32,209,100, 36, 28, 73,137, 76, 36, -/* 0x1820 */ 32, 15,133,112,255,255,255,139, 52, 36, 70,137,116, 36, 92,116, -/* 0x1830 */ 89,139, 76, 36, 12,139,108, 36,116,131,193, 2, 57,108, 36, 92, -/* 0x1840 */ 119, 95,139,132, 36,160, 0, 0, 0,137,234, 43, 68, 36, 92, 3, -/* 0x1850 */ 148, 36,160, 0, 0, 0,141, 52, 40,138, 6, 70,136, 68, 36,115, -/* 0x1860 */ 136, 2, 66,255, 68, 36,116, 73,116, 15,139,172, 36,164, 0, 0, -/* 0x1870 */ 0, 57,108, 36,116,114,226,235, 17,139,132, 36,164, 0, 0, 0, -/* 0x1880 */ 57, 68, 36,116, 15,130,187,246,255,255,129,124, 36, 72,255,255, -/* 0x1890 */ 255, 0,119, 21, 59, 92, 36, 76,184, 1, 0, 0, 0,116, 41,235, -/* 0x18a0 */ 7,184, 1, 0, 0, 0,235, 32, 67, 43,156, 36,148, 0, 0, 0, -/* 0x18b0 */ 49,192,139,148, 36,156, 0, 0, 0,139, 76, 36,116,137, 26,139, -/* 0x18c0 */ 156, 36,168, 0, 0, 0,137, 11,131,196,124, 91, 94, 95, 93, 3, -/* 0x18d0 */ 115,252, 3,123,248, 49,192,141,140, 36, 0,255,255,255,137,236, -/* 0x18e0 */ 80, 57,204,117,251,137,236, 49,201,139, 84, 36, 36, 3, 84, 36, -/* 0x18f0 */ 40, 57,214,116, 1, 72, 43,124, 36, 44,139, 84, 36, 48,137, 58, -/* 0x1900 */ 137, 68, 36, 28, 97,195,235, 4, 90, 88, 89,151, 96, 49,219,187, -/* 0x1910 */ 0, 0, 0, 0,106, 15, 88,138,100, 36, 32,106, 15, 91,138,124, -/* 0x1920 */ 36, 32,138, 84, 36, 32,233,252,255,255,255, 15,183, 47, 43,110, -/* 0x1930 */ 12, 41,221,117,255,131,237, 1,115,255,136, 95,255, 73,136, 7, -/* 0x1940 */ 71,139, 7,156,102,193,232, 8,193,192, 16,134,196,157,115,255, -/* 0x1950 */ 176, 0, 15,200,115,255,193,232, 1,115, 4,254,203, 75, 35, 30, -/* 0x1960 */ 125, 2, 3, 30,137, 4,156,235,255,141, 20, 24, 15,182,210, 35, -/* 0x1970 */ 22, 59, 22,114, 2, 43, 22,139, 4,148,254,203, 75, 35, 30,125, -/* 0x1980 */ 2, 3, 30,139, 44,156,133,237,117, 9, 80,139, 70, 4,254,200, -/* 0x1990 */ 72, 35, 6,125, 2, 3, 6, 49,237,137, 70, 4,135,108,132, 4, -/* 0x19a0 */ 88,137, 44,148,137, 4,156, 41,248,131,233, 4, 3, 70, 16, 1, -/* 0x19b0 */ 240,137, 7,131,199, 4,235,255,233,252,255,255,255, 80,176,233, -/* 0x19c0 */ 176,232, 80,106, 0, 83,137,230, 94,137,218,178,233,178,232, 67, -/* 0x19d0 */ 106, 0,254,203, 75,117,255, 15,183, 7,131,199, 1, 60,128,114, -/* 0x19e0 */ 4, 60,143,118,255, 41,208, 43, 70, 8,131,232, 2,116,255,131, -/* 0x19f0 */ 232, 1,114,255,115,255,122, 0,123, 0,248,235,255,131,233, 1, -/* 0x1a00 */ 127,255,137,231,185, 4, 1, 0, 0,139, 14,131,193, 5,139, 14, -/* 0x1a10 */ 131,193, 4, 49,192,243,171,137,252, 86, 97,151, 81, 80, 82,195, -/* 0x1a20 */ 137,254,235, 31,138, 7, 71, 60,128,114, 10, 60,143,119, 6,128, -/* 0x1a30 */ 127,254, 15,116, 5, 44,232, 60, 1,119,255,131,249, 4,114, 4, -/* 0x1a40 */ 139, 7, 40,208,117,255,134,196,193,192, 16,134,196, 41,248, 1, -/* 0x1a50 */ 240,131,233, 4,171,131,233, 1,114, 4,138, 7, 71,235, 13,131, -/* 0x1a60 */ 233, 1,115, 3,185, 0, 0, 0, 0,137,254,138, 7, 71, 44,232, -/* 0x1a70 */ 60, 1,119,247,128, 63, 0,117, 6,139, 7,138, 95, 4,102,193, -/* 0x1a80 */ 232, 8,134,196,193,192, 16,134,196, 41,248,128,235,232, 1,240, -/* 0x1a90 */ 137, 7,131,199, 5,136,216,226, 11,185, 0, 0, 0, 0,176,232, -/* 0x1aa0 */ 176,233,242,174,117, 6,128, 63, 0,117,255,139, 7,102,193,232, -/* 0x1ab0 */ 8,134,196,193,192, 16,134,196, 41,248, 1,240,171,235, 4, 97, -/* 0x1ac0 */ 195, 94,173, 86, 91,139, 75, 4,141,116, 25, 11,139, 59,141,188, -/* 0x1ad0 */ 31,203, 0, 0, 0,253,243,164,141,147,128, 0, 0, 0,137,222, -/* 0x1ae0 */ 141, 95, 1, 82,252,173, 80,137,225, 80, 81, 82,173, 80,173,137, -/* 0x1af0 */ 68, 36, 12, 83,255,213,131,196, 24,141, 93,247,195, 93,232,190, -/* 0x1b00 */ 255,255,255, 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, -/* 0x1b10 */ 97,116, 32,101,108,102, 51, 50, 45,105, 51, 56, 54, 10, 10, 83, -/* 0x1b20 */ 101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109, -/* 0x1b30 */ 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, -/* 0x1b40 */ 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x1b50 */ 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102, -/* 0x1b60 */ 102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, -/* 0x1b70 */ 32, 48, 32, 73, 51, 56, 54, 66, 88, 88, 48, 32, 32, 32, 32, 32, -/* 0x1b80 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x1b90 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1ba0 */ 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1bb0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x1bc0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 73, 51, 56, -/* 0x1bd0 */ 54, 66, 88, 88, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1be0 */ 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1bf0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, -/* 0x1c00 */ 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x1c10 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, -/* 0x1c20 */ 76, 69, 88, 69, 67, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x1c30 */ 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c40 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1c50 */ 48, 48, 51, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1c60 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x1c70 */ 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 76, 69, 88, 69, 67, 48, -/* 0x1c80 */ 48, 57, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c90 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1ca0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 99, 32, 32, -/* 0x1cb0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1cc0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 76, 69, 88, -/* 0x1cd0 */ 69, 67, 48, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1ce0 */ 48, 48, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, -/* 0x1d00 */ 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x1d10 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, -/* 0x1d20 */ 78, 50, 66, 83, 77, 65, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x1d30 */ 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d40 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1d50 */ 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1d60 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x1d70 */ 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 78, 50, 66, 70, 65, 83, -/* 0x1d80 */ 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, -/* 0x1d90 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1da0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 98, 32, 32, -/* 0x1db0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1dc0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1dd0 */ 32, 32, 55, 32, 78, 50, 66, 70, 65, 83, 49, 49, 32, 32, 32, 32, -/* 0x1de0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, -/* 0x1df0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 52,100, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1e10 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x1e20 */ 76, 89, 10, 32, 32, 56, 32, 78, 50, 66, 68, 69, 67, 49, 48, 32, -/* 0x1e30 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, -/* 0x1e40 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e50 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 51, 32, 32, 50, 42, 42, -/* 0x1e60 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x1e70 */ 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 50, 66, 83, 77, 65, -/* 0x1e80 */ 50, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, -/* 0x1e90 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1ea0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 53,101, 32, 32, -/* 0x1eb0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1ec0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1ed0 */ 32, 49, 48, 32, 78, 50, 66, 70, 65, 83, 50, 48, 32, 32, 32, 32, -/* 0x1ee0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, -/* 0x1ef0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 54, 51, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1f10 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x1f20 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 78, 50, -/* 0x1f30 */ 66, 68, 69, 67, 50, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1f40 */ 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1f60 */ 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1f70 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, -/* 0x1f80 */ 32, 78, 50, 66, 83, 77, 65, 51, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x1f90 */ 48, 48, 48, 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fa0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1fb0 */ 48, 48, 48, 55, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1fc0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x1fd0 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 51, 32, 78, 50, 66, 70, 65, -/* 0x1fe0 */ 83, 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ff0 */ 102, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2000 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 56, 54, 32, -/* 0x2010 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x2020 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x2030 */ 10, 32, 49, 52, 32, 78, 50, 66, 68, 69, 67, 51, 48, 32, 32, 32, -/* 0x2040 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 51,101, 32, 32, 48, 48, 48, -/* 0x2050 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2060 */ 32, 48, 48, 48, 48, 48, 48, 57, 53, 32, 32, 50, 42, 42, 48, 32, -/* 0x2070 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x2080 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 53, 32, 78, -/* 0x2090 */ 50, 66, 83, 77, 65, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x20a0 */ 48, 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x20b0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x20c0 */ 48,100, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x20d0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x20e0 */ 79, 78, 76, 89, 10, 32, 49, 54, 32, 78, 50, 66, 70, 65, 83, 52, -/* 0x20f0 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,102, 32, -/* 0x2100 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2110 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,101, 48, 32, 32, 50, -/* 0x2120 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x2130 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2140 */ 49, 55, 32, 78, 50, 66, 83, 77, 65, 53, 48, 32, 32, 32, 32, 32, -/* 0x2150 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x2160 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2170 */ 48, 48, 48, 48, 48,101,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2180 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2190 */ 89, 10, 32, 49, 56, 32, 78, 50, 66, 70, 65, 83, 53, 48, 32, 32, -/* 0x21a0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, -/* 0x21b0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21c0 */ 32, 32, 48, 48, 48, 48, 48, 48,102, 49, 32, 32, 50, 42, 42, 48, -/* 0x21d0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x21e0 */ 79, 78, 76, 89, 10, 32, 49, 57, 32, 78, 50, 66, 68, 69, 67, 53, -/* 0x21f0 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, -/* 0x2200 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2210 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,102, 52, 32, 32, 50, -/* 0x2220 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x2230 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 48, 32, 78, 50, 66, 83, -/* 0x2240 */ 77, 65, 54, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2250 */ 48, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x2260 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,102,100, -/* 0x2270 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x2280 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2290 */ 89, 10, 32, 50, 49, 32, 78, 50, 66, 70, 65, 83, 54, 48, 32, 32, -/* 0x22a0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 57, 32, 32, 48, 48, -/* 0x22b0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x22c0 */ 32, 32, 48, 48, 48, 48, 48, 49, 48, 57, 32, 32, 50, 42, 42, 48, -/* 0x22d0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x22e0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 50, 32, -/* 0x22f0 */ 78, 50, 66, 70, 65, 83, 54, 49, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x2300 */ 48, 48, 48, 48, 49, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2310 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2320 */ 48, 49, 50, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x2330 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x2340 */ 68, 79, 78, 76, 89, 10, 32, 50, 51, 32, 78, 50, 66, 68, 69, 67, -/* 0x2350 */ 54, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2360 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2370 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 51, 56, 32, 32, -/* 0x2380 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x2390 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 52, 32, 78, 50, 68, -/* 0x23a0 */ 83, 77, 65, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x23b0 */ 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 51, -/* 0x23d0 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x23e0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x23f0 */ 76, 89, 10, 32, 50, 53, 32, 78, 50, 68, 70, 65, 83, 49, 48, 32, -/* 0x2400 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, -/* 0x2410 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2420 */ 48, 32, 32, 48, 48, 48, 48, 48, 49, 51, 98, 32, 32, 50, 42, 42, -/* 0x2430 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x2440 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 54, -/* 0x2450 */ 32, 78, 50, 68, 70, 65, 83, 49, 49, 32, 32, 32, 32, 32, 32, 48, -/* 0x2460 */ 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2470 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2480 */ 48, 48, 49, 51,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x2490 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x24a0 */ 32, 50, 55, 32, 78, 50, 68, 68, 69, 67, 49, 48, 32, 32, 32, 32, -/* 0x24b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, 48, -/* 0x24c0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x24d0 */ 48, 48, 48, 48, 48, 49, 52, 51, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x24e0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x24f0 */ 76, 89, 10, 32, 50, 56, 32, 78, 50, 68, 83, 77, 65, 50, 48, 32, -/* 0x2500 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, -/* 0x2510 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2520 */ 48, 32, 32, 48, 48, 48, 48, 48, 49, 52,101, 32, 32, 50, 42, 42, -/* 0x2530 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x2540 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 57, -/* 0x2550 */ 32, 78, 50, 68, 70, 65, 83, 50, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x2560 */ 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2570 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2580 */ 48, 48, 49, 53, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x2590 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x25a0 */ 65, 68, 79, 78, 76, 89, 10, 32, 51, 48, 32, 78, 50, 68, 68, 69, -/* 0x25b0 */ 67, 50, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x25c0 */ 100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x25d0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 53, 99, 32, -/* 0x25e0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x25f0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 49, 32, 78, 50, -/* 0x2600 */ 68, 83, 77, 65, 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x2610 */ 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2620 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, -/* 0x2630 */ 54, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x2640 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x2650 */ 78, 76, 89, 10, 32, 51, 50, 32, 78, 50, 68, 70, 65, 83, 51, 48, -/* 0x2660 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,102, 32, 32, -/* 0x2670 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2680 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55, 54, 32, 32, 50, 42, -/* 0x2690 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x26a0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, -/* 0x26b0 */ 51, 32, 78, 50, 68, 68, 69, 67, 51, 48, 32, 32, 32, 32, 32, 32, -/* 0x26c0 */ 48, 48, 48, 48, 48, 48, 53, 50, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x26d0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x26e0 */ 48, 48, 48, 49, 56, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x26f0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x2700 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 52, 32, 78, 50, 68, 83, -/* 0x2710 */ 77, 65, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2720 */ 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x2730 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49,100, 55, -/* 0x2740 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x2750 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2760 */ 89, 10, 32, 51, 53, 32, 78, 50, 68, 70, 65, 83, 52, 48, 32, 32, -/* 0x2770 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,102, 32, 32, 48, 48, -/* 0x2780 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2790 */ 32, 32, 48, 48, 48, 48, 48, 49,101, 52, 32, 32, 50, 42, 42, 48, -/* 0x27a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x27b0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 54, 32, -/* 0x27c0 */ 78, 50, 68, 83, 77, 65, 53, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x27d0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x27e0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x27f0 */ 48, 49,102, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x2800 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2810 */ 51, 55, 32, 78, 50, 68, 70, 65, 83, 53, 48, 32, 32, 32, 32, 32, -/* 0x2820 */ 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, -/* 0x2830 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2840 */ 48, 48, 48, 48, 49,102, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2850 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2860 */ 89, 10, 32, 51, 56, 32, 78, 50, 68, 68, 69, 67, 53, 48, 32, 32, -/* 0x2870 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, -/* 0x2880 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2890 */ 32, 32, 48, 48, 48, 48, 48, 49,102, 56, 32, 32, 50, 42, 42, 48, -/* 0x28a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x28b0 */ 79, 78, 76, 89, 10, 32, 51, 57, 32, 78, 50, 68, 83, 77, 65, 54, -/* 0x28c0 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 99, 32, -/* 0x28d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x28e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 48, 49, 32, 32, 50, -/* 0x28f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x2900 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2910 */ 52, 48, 32, 78, 50, 68, 70, 65, 83, 54, 48, 32, 32, 32, 32, 32, -/* 0x2920 */ 32, 48, 48, 48, 48, 48, 48, 49, 57, 32, 32, 48, 48, 48, 48, 48, -/* 0x2930 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2940 */ 48, 48, 48, 48, 50, 48,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2950 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x2960 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 49, 32, 78, 50, 68, -/* 0x2970 */ 70, 65, 83, 54, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x2980 */ 48, 49, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2990 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 50, -/* 0x29a0 */ 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x29b0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x29c0 */ 76, 89, 10, 32, 52, 50, 32, 78, 50, 68, 68, 69, 67, 54, 48, 32, -/* 0x29d0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x29e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x29f0 */ 48, 32, 32, 48, 48, 48, 48, 48, 50, 51, 99, 32, 32, 50, 42, 42, -/* 0x2a00 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x2a10 */ 68, 79, 78, 76, 89, 10, 32, 52, 51, 32, 78, 50, 69, 83, 77, 65, -/* 0x2a20 */ 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, -/* 0x2a30 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2a40 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 51, 99, 32, 32, -/* 0x2a50 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x2a60 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x2a70 */ 32, 52, 52, 32, 78, 50, 69, 70, 65, 83, 49, 48, 32, 32, 32, 32, -/* 0x2a80 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, -/* 0x2a90 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2aa0 */ 48, 48, 48, 48, 48, 50, 51,102, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x2ab0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x2ac0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 53, 32, 78, 50, -/* 0x2ad0 */ 69, 70, 65, 83, 49, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x2ae0 */ 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, -/* 0x2b00 */ 52, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x2b10 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 54, -/* 0x2b20 */ 32, 78, 50, 69, 68, 69, 67, 49, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x2b30 */ 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2b40 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2b50 */ 48, 48, 50, 52, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x2b60 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x2b70 */ 32, 52, 55, 32, 78, 50, 69, 83, 77, 65, 50, 48, 32, 32, 32, 32, -/* 0x2b80 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, -/* 0x2b90 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2ba0 */ 48, 48, 48, 48, 48, 50, 53, 50, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x2bb0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x2bc0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 56, 32, 78, 50, -/* 0x2bd0 */ 69, 70, 65, 83, 50, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x2be0 */ 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2bf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, -/* 0x2c00 */ 53, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x2c10 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x2c20 */ 78, 76, 89, 10, 32, 52, 57, 32, 78, 50, 69, 68, 69, 67, 50, 48, -/* 0x2c30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,100, 32, 32, -/* 0x2c40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2c50 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 54, 48, 32, 32, 50, 42, -/* 0x2c60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x2c70 */ 65, 68, 79, 78, 76, 89, 10, 32, 53, 48, 32, 78, 50, 69, 83, 77, -/* 0x2c80 */ 65, 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2c90 */ 100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2ca0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 54,100, 32, -/* 0x2cb0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x2cc0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x2cd0 */ 10, 32, 53, 49, 32, 78, 50, 69, 70, 65, 83, 51, 48, 32, 32, 32, -/* 0x2ce0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,102, 32, 32, 48, 48, 48, -/* 0x2cf0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2d00 */ 32, 48, 48, 48, 48, 48, 50, 55, 97, 32, 32, 50, 42, 42, 48, 32, -/* 0x2d10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x2d20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 50, 32, 78, -/* 0x2d30 */ 50, 69, 68, 69, 67, 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x2d40 */ 48, 48, 48, 53,102, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2d50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2d60 */ 50, 56, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x2d70 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x2d80 */ 79, 78, 76, 89, 10, 32, 53, 51, 32, 78, 50, 69, 83, 77, 65, 52, -/* 0x2d90 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,100, 32, -/* 0x2da0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2db0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,101, 56, 32, 32, 50, -/* 0x2dc0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x2dd0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2de0 */ 53, 52, 32, 78, 50, 69, 70, 65, 83, 52, 48, 32, 32, 32, 32, 32, -/* 0x2df0 */ 32, 48, 48, 48, 48, 48, 48, 48,102, 32, 32, 48, 48, 48, 48, 48, -/* 0x2e00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2e10 */ 48, 48, 48, 48, 50,102, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2e20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x2e30 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 53, 32, 78, 50, 69, -/* 0x2e40 */ 83, 77, 65, 53, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x2e50 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2e60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 48, -/* 0x2e70 */ 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x2e80 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 54, 32, -/* 0x2e90 */ 78, 50, 69, 70, 65, 83, 53, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x2ea0 */ 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2eb0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2ec0 */ 48, 51, 48, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x2ed0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2ee0 */ 53, 55, 32, 78, 50, 69, 68, 69, 67, 53, 48, 32, 32, 32, 32, 32, -/* 0x2ef0 */ 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, 48, -/* 0x2f00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2f10 */ 48, 48, 48, 48, 51, 48, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2f20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2f30 */ 89, 10, 32, 53, 56, 32, 78, 50, 69, 83, 77, 65, 54, 48, 32, 32, -/* 0x2f40 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 99, 32, 32, 48, 48, -/* 0x2f50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2f60 */ 32, 32, 48, 48, 48, 48, 48, 51, 49, 50, 32, 32, 50, 42, 42, 48, -/* 0x2f70 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x2f80 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 57, 32, -/* 0x2f90 */ 78, 50, 69, 70, 65, 83, 54, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x2fa0 */ 48, 48, 48, 48, 49, 57, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2fb0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2fc0 */ 48, 51, 49,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x2fd0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x2fe0 */ 68, 79, 78, 76, 89, 10, 32, 54, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x2ff0 */ 54, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 54, -/* 0x3000 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3010 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 51, 55, 32, 32, -/* 0x3020 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3030 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x3040 */ 32, 54, 49, 32, 78, 50, 69, 68, 69, 67, 54, 48, 32, 32, 32, 32, -/* 0x3050 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3060 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x3070 */ 48, 48, 48, 48, 48, 51, 52,100, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x3080 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x3090 */ 76, 89, 10, 32, 54, 50, 32, 76, 90, 77, 65, 95, 68, 69, 67, 48, -/* 0x30a0 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50,101, 32, 32, 48, -/* 0x30b0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x30c0 */ 48, 32, 32, 48, 48, 48, 48, 48, 51, 52,100, 32, 32, 50, 42, 42, -/* 0x30d0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x30e0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 54, 51, -/* 0x30f0 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, -/* 0x3100 */ 48, 48, 48, 48, 48, 52, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x3110 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x3120 */ 48, 48, 51, 55, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x3130 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x3140 */ 32, 54, 52, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, -/* 0x3150 */ 32, 32, 48, 48, 48, 48, 48, 97, 56, 54, 32, 32, 48, 48, 48, 48, -/* 0x3160 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x3170 */ 48, 48, 48, 48, 48, 51, 99, 51, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x3180 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x3190 */ 76, 89, 10, 32, 54, 53, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x31a0 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97, 56, 54, 32, 32, 48, -/* 0x31b0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x31c0 */ 48, 32, 32, 48, 48, 48, 48, 48,101, 52, 57, 32, 32, 50, 42, 42, -/* 0x31d0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x31e0 */ 68, 79, 78, 76, 89, 10, 32, 54, 54, 32, 76, 90, 77, 65, 95, 68, -/* 0x31f0 */ 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 97, -/* 0x3200 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3210 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 56, 99,102, 32, 32, -/* 0x3220 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3230 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 54, 55, 32, 76, 69, 88, -/* 0x3240 */ 69, 67, 48, 49, 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3250 */ 48, 49,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3260 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 56,101, -/* 0x3270 */ 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3280 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 54, 56, 32, -/* 0x3290 */ 76, 88, 85, 78, 70, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x32a0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x32b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x32c0 */ 49, 57, 48, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x32d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x32e0 */ 68, 79, 78, 76, 89, 10, 32, 54, 57, 32, 76, 88, 85, 78, 70, 48, -/* 0x32f0 */ 48, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, -/* 0x3300 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3310 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 48, 56, 32, 32, -/* 0x3320 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3330 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 48, 32, 77, 82, 85, -/* 0x3340 */ 66, 89, 84, 69, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3350 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3360 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 48, -/* 0x3370 */ 100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3380 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 49, 32, -/* 0x3390 */ 76, 88, 77, 82, 85, 48, 48, 53, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x33a0 */ 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x33b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x33c0 */ 49, 57, 48,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x33d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x33e0 */ 68, 79, 78, 76, 89, 10, 32, 55, 50, 32, 76, 88, 77, 82, 85, 48, -/* 0x33f0 */ 48, 54, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 55, -/* 0x3400 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3410 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 49, 52, 32, 32, -/* 0x3420 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3430 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 51, 32, 76, 88, 77, -/* 0x3440 */ 82, 85, 48, 48, 55, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3450 */ 48, 48, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3460 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 49, -/* 0x3470 */ 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3480 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 52, 32, -/* 0x3490 */ 76, 88, 85, 78, 70, 48, 48, 56, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x34a0 */ 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x34b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x34c0 */ 49, 57, 50, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x34d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x34e0 */ 55, 53, 32, 76, 88, 85, 78, 70, 48, 49, 48, 32, 32, 32, 32, 32, -/* 0x34f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, -/* 0x3500 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3510 */ 48, 48, 48, 49, 57, 50, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3520 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x3530 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 54, 32, 76, 88, 74, -/* 0x3540 */ 67, 67, 48, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3550 */ 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3560 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 50, -/* 0x3570 */ 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3580 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 55, 32, -/* 0x3590 */ 76, 88, 77, 82, 85, 48, 52, 53, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x35a0 */ 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x35b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x35c0 */ 49, 57, 50,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x35d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x35e0 */ 55, 56, 32, 76, 88, 77, 82, 85, 48, 52, 54, 32, 32, 32, 32, 32, -/* 0x35f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x3600 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3610 */ 48, 48, 48, 49, 57, 51, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3620 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x3630 */ 89, 10, 32, 55, 57, 32, 76, 88, 74, 67, 67, 48, 50, 48, 32, 32, -/* 0x3640 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x3650 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3660 */ 32, 32, 48, 48, 48, 48, 49, 57, 51, 51, 32, 32, 50, 42, 42, 48, -/* 0x3670 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x3680 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 48, 32, -/* 0x3690 */ 76, 88, 74, 67, 67, 48, 50, 49, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x36a0 */ 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x36b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x36c0 */ 49, 57, 51, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x36d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x36e0 */ 68, 79, 78, 76, 89, 10, 32, 56, 49, 32, 76, 88, 74, 67, 67, 48, -/* 0x36f0 */ 50, 51, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 55, -/* 0x3700 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3710 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 51, 97, 32, 32, -/* 0x3720 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3730 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 50, 32, 76, 88, 85, -/* 0x3740 */ 78, 70, 48, 51, 55, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3750 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3760 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 52, -/* 0x3770 */ 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3780 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 51, 32, -/* 0x3790 */ 76, 88, 85, 78, 70, 51, 56, 54, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x37a0 */ 48, 48, 48, 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x37b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x37c0 */ 49, 57, 52, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x37d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x37e0 */ 56, 52, 32, 76, 88, 85, 78, 70, 51, 56, 55, 32, 32, 32, 32, 32, -/* 0x37f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, 48, -/* 0x3800 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3810 */ 48, 48, 48, 49, 57, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3820 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x3830 */ 89, 10, 32, 56, 53, 32, 76, 88, 85, 78, 70, 51, 56, 56, 32, 32, -/* 0x3840 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, -/* 0x3850 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3860 */ 32, 32, 48, 48, 48, 48, 49, 57, 52,100, 32, 32, 50, 42, 42, 48, -/* 0x3870 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x3880 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 54, 32, -/* 0x3890 */ 76, 88, 85, 78, 70, 52, 56, 54, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x38a0 */ 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x38b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x38c0 */ 49, 57, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x38d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x38e0 */ 56, 55, 32, 76, 88, 85, 78, 70, 52, 56, 55, 32, 32, 32, 32, 32, -/* 0x38f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x3900 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3910 */ 48, 48, 48, 49, 57, 53, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3920 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x3930 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 56, 32, 76, 88, 77, -/* 0x3940 */ 82, 85, 48, 54, 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3950 */ 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3960 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 53, -/* 0x3970 */ 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3980 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x3990 */ 76, 89, 10, 32, 56, 57, 32, 77, 82, 85, 66, 89, 84, 69, 51, 32, -/* 0x39a0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, -/* 0x39b0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x39c0 */ 48, 32, 32, 48, 48, 48, 48, 49, 57, 53, 98, 32, 32, 50, 42, 42, -/* 0x39d0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x39e0 */ 68, 79, 78, 76, 89, 10, 32, 57, 48, 32, 77, 82, 85, 65, 82, 66, -/* 0x39f0 */ 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 49, -/* 0x3a00 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3a10 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 53,100, 32, 32, -/* 0x3a20 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3a30 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 49, 32, 77, 82, 85, -/* 0x3a40 */ 66, 73, 84, 83, 51, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3a50 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3a60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 53, -/* 0x3a70 */ 101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3a80 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 50, 32, -/* 0x3a90 */ 77, 82, 85, 65, 82, 66, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x3aa0 */ 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3ab0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3ac0 */ 49, 57, 54, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x3ad0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x3ae0 */ 57, 51, 32, 76, 88, 77, 82, 85, 48, 55, 48, 32, 32, 32, 32, 32, -/* 0x3af0 */ 32, 48, 48, 48, 48, 48, 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, -/* 0x3b00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3b10 */ 48, 48, 48, 49, 57, 54, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3b20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x3b30 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 52, 32, 77, 82, 85, -/* 0x3b40 */ 66, 89, 84, 69, 52, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3b50 */ 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3b60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 54, -/* 0x3b70 */ 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3b80 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 53, 32, -/* 0x3b90 */ 77, 82, 85, 66, 73, 84, 83, 52, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x3ba0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3bb0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3bc0 */ 49, 57, 54,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x3bd0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x3be0 */ 57, 54, 32, 77, 82, 85, 65, 82, 66, 53, 48, 32, 32, 32, 32, 32, -/* 0x3bf0 */ 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, -/* 0x3c00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3c10 */ 48, 48, 48, 49, 57, 55, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3c20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x3c30 */ 89, 10, 32, 57, 55, 32, 76, 88, 77, 82, 85, 48, 56, 48, 32, 32, -/* 0x3c40 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, -/* 0x3c50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3c60 */ 32, 32, 48, 48, 48, 48, 49, 57, 55, 55, 32, 32, 50, 42, 42, 48, -/* 0x3c70 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x3c80 */ 79, 78, 76, 89, 10, 32, 57, 56, 32, 77, 82, 85, 66, 89, 84, 69, -/* 0x3c90 */ 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, -/* 0x3ca0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x3cb0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 55, 97, 32, 32, 50, -/* 0x3cc0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x3cd0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 57, 32, 77, 82, 85, 65, -/* 0x3ce0 */ 82, 66, 54, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x3cf0 */ 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x3d00 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 55, 99, -/* 0x3d10 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x3d20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, 48, 32, 77, -/* 0x3d30 */ 82, 85, 66, 73, 84, 83, 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x3d40 */ 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x3d50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x3d60 */ 57, 55,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x3d70 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, -/* 0x3d80 */ 49, 32, 77, 82, 85, 65, 82, 66, 55, 48, 32, 32, 32, 32, 32, 32, -/* 0x3d90 */ 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x3da0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x3db0 */ 48, 48, 49, 57, 55,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x3dc0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x3dd0 */ 10, 49, 48, 50, 32, 76, 88, 77, 82, 85, 48, 57, 48, 32, 32, 32, -/* 0x3de0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, -/* 0x3df0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x3e00 */ 32, 48, 48, 48, 48, 49, 57, 56, 51, 32, 32, 50, 42, 42, 48, 32, -/* 0x3e10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x3e20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, 51, 32, 77, -/* 0x3e30 */ 82, 85, 66, 89, 84, 69, 54, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x3e40 */ 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x3e50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x3e60 */ 57, 56,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x3e70 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, -/* 0x3e80 */ 52, 32, 77, 82, 85, 65, 82, 66, 56, 48, 32, 32, 32, 32, 32, 32, -/* 0x3e90 */ 48, 48, 48, 48, 48, 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x3ea0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x3eb0 */ 48, 48, 49, 57, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x3ec0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x3ed0 */ 10, 49, 48, 53, 32, 77, 82, 85, 66, 73, 84, 83, 54, 32, 32, 32, -/* 0x3ee0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, -/* 0x3ef0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x3f00 */ 32, 48, 48, 48, 48, 49, 57, 57, 49, 32, 32, 50, 42, 42, 48, 32, -/* 0x3f10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, -/* 0x3f20 */ 78, 76, 89, 10, 49, 48, 54, 32, 77, 82, 85, 65, 82, 66, 57, 48, -/* 0x3f30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, -/* 0x3f40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x3f50 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 57, 51, 32, 32, 50, 42, -/* 0x3f60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x3f70 */ 65, 68, 79, 78, 76, 89, 10, 49, 48, 55, 32, 76, 88, 77, 82, 85, -/* 0x3f80 */ 49, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, -/* 0x3f90 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x3fa0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 57, 55, 32, -/* 0x3fb0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x3fc0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, 56, 32, 76, 88, -/* 0x3fd0 */ 85, 78, 70, 48, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x3fe0 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x3ff0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, -/* 0x4000 */ 97, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x4010 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, 57, -/* 0x4020 */ 32, 76, 88, 77, 82, 85, 49, 49, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x4030 */ 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4040 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4050 */ 48, 49, 57, 97, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4060 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4070 */ 49, 49, 48, 32, 76, 88, 77, 82, 85, 49, 49, 49, 32, 32, 32, 32, -/* 0x4080 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, -/* 0x4090 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x40a0 */ 48, 48, 48, 48, 49, 57, 97,102, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x40b0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x40c0 */ 76, 89, 10, 49, 49, 49, 32, 76, 88, 85, 78, 70, 48, 52, 49, 32, -/* 0x40d0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 55, 32, 32, 48, -/* 0x40e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x40f0 */ 48, 32, 32, 48, 48, 48, 48, 49, 57, 98, 49, 32, 32, 50, 42, 42, -/* 0x4100 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x4110 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 49, 50, -/* 0x4120 */ 32, 76, 88, 85, 78, 70, 48, 52, 50, 32, 32, 32, 32, 32, 32, 48, -/* 0x4130 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4140 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4150 */ 48, 49, 57, 98, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4160 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4170 */ 49, 49, 51, 32, 76, 69, 88, 69, 67, 48, 49, 54, 32, 32, 32, 32, -/* 0x4180 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, -/* 0x4190 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x41a0 */ 48, 48, 48, 48, 49, 57, 98, 56, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x41b0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x41c0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 49, 52, 32, 76, 88, -/* 0x41d0 */ 77, 82, 85, 48, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x41e0 */ 48, 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x41f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, -/* 0x4200 */ 98,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x4210 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 49, 53, -/* 0x4220 */ 32, 76, 88, 74, 77, 80, 65, 48, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x4230 */ 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4240 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4250 */ 48, 49, 57, 98,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4260 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4270 */ 49, 49, 54, 32, 76, 88, 67, 65, 76, 76, 66, 48, 32, 32, 32, 32, -/* 0x4280 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, -/* 0x4290 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x42a0 */ 48, 48, 48, 48, 49, 57, 99, 48, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x42b0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x42c0 */ 76, 89, 10, 49, 49, 55, 32, 76, 88, 85, 78, 70, 48, 50, 49, 32, -/* 0x42d0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, -/* 0x42e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x42f0 */ 48, 32, 32, 48, 48, 48, 48, 49, 57, 99, 50, 32, 32, 50, 42, 42, -/* 0x4300 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x4310 */ 68, 79, 78, 76, 89, 10, 49, 49, 56, 32, 76, 88, 77, 82, 85, 48, -/* 0x4320 */ 50, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, -/* 0x4330 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x4340 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 99, 56, 32, 32, -/* 0x4350 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x4360 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 49, 57, 32, 76, 88, 74, -/* 0x4370 */ 77, 80, 65, 48, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x4380 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x4390 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 99, -/* 0x43a0 */ 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x43b0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 50, 48, 32, -/* 0x43c0 */ 76, 88, 67, 65, 76, 76, 66, 49, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x43d0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x43e0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x43f0 */ 49, 57, 99,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x4400 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x4410 */ 50, 49, 32, 77, 82, 85, 66, 73, 84, 83, 49, 32, 32, 32, 32, 32, -/* 0x4420 */ 32, 48, 48, 48, 48, 48, 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, -/* 0x4430 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x4440 */ 48, 48, 48, 49, 57, 99,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x4450 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x4460 */ 89, 10, 49, 50, 50, 32, 76, 88, 77, 82, 85, 48, 51, 48, 32, 32, -/* 0x4470 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x4480 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x4490 */ 32, 32, 48, 48, 48, 48, 49, 57,100, 48, 32, 32, 50, 42, 42, 48, -/* 0x44a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x44b0 */ 79, 78, 76, 89, 10, 49, 50, 51, 32, 77, 82, 85, 66, 89, 84, 69, -/* 0x44c0 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, -/* 0x44d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x44e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,100, 50, 32, 32, 50, -/* 0x44f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4500 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 50, 52, 32, 77, 82, 85, 65, -/* 0x4510 */ 82, 66, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4520 */ 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x4530 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,100, 52, -/* 0x4540 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x4550 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 50, 53, 32, 76, -/* 0x4560 */ 88, 77, 82, 85, 48, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x4570 */ 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x4580 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x4590 */ 57,100, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x45a0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x45b0 */ 79, 78, 76, 89, 10, 49, 50, 54, 32, 76, 88, 85, 78, 70, 48, 51, -/* 0x45c0 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, -/* 0x45d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x45e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,100, 55, 32, 32, 50, -/* 0x45f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4600 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 50, 55, 32, 76, 88, 74, 67, -/* 0x4610 */ 67, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4620 */ 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x4630 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,100,100, -/* 0x4640 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x4650 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x4660 */ 89, 10, 49, 50, 56, 32, 76, 88, 67, 74, 48, 77, 82, 85, 32, 32, -/* 0x4670 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x4680 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x4690 */ 32, 32, 48, 48, 48, 48, 49, 57,101, 53, 32, 32, 50, 42, 42, 48, -/* 0x46a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x46b0 */ 79, 78, 76, 89, 10, 49, 50, 57, 32, 76, 88, 67, 74, 49, 77, 82, -/* 0x46c0 */ 85, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, -/* 0x46d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x46e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,101, 55, 32, 32, 50, -/* 0x46f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4700 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 48, 32, 76, 88, 67, 65, -/* 0x4710 */ 76, 74, 77, 80, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4720 */ 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x4730 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,101, 97, -/* 0x4740 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x4750 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 49, 32, 76, -/* 0x4760 */ 88, 67, 65, 76, 76, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x4770 */ 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x4780 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x4790 */ 57,101,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x47a0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x47b0 */ 79, 78, 76, 89, 10, 49, 51, 50, 32, 76, 88, 67, 65, 76, 76, 48, -/* 0x47c0 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, -/* 0x47d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x47e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,101,102, 32, 32, 50, -/* 0x47f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4800 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 51, 32, 76, 88, 67, 74, -/* 0x4810 */ 50, 77, 82, 85, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4820 */ 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x4830 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,102, 50, -/* 0x4840 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x4850 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x4860 */ 89, 10, 49, 51, 52, 32, 76, 88, 67, 74, 52, 77, 82, 85, 32, 32, -/* 0x4870 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x4880 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x4890 */ 32, 32, 48, 48, 48, 48, 49, 57,102, 52, 32, 32, 50, 42, 42, 48, -/* 0x48a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x48b0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 53, 32, -/* 0x48c0 */ 76, 88, 67, 74, 54, 77, 82, 85, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x48d0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x48e0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x48f0 */ 49, 57,102, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x4900 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x4910 */ 68, 79, 78, 76, 89, 10, 49, 51, 54, 32, 76, 88, 67, 74, 55, 77, -/* 0x4920 */ 82, 85, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, -/* 0x4930 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x4940 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,102, 56, 32, 32, -/* 0x4950 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x4960 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4970 */ 49, 51, 55, 32, 76, 88, 67, 74, 56, 77, 82, 85, 32, 32, 32, 32, -/* 0x4980 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, -/* 0x4990 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x49a0 */ 48, 48, 48, 48, 49, 57,102, 97, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x49b0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x49c0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 56, 32, 76, 88, -/* 0x49d0 */ 85, 78, 70, 48, 51, 52, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x49e0 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x49f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, -/* 0x4a00 */ 102,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x4a10 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x4a20 */ 78, 76, 89, 10, 49, 51, 57, 32, 76, 88, 77, 82, 85, 48, 53, 53, -/* 0x4a30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, -/* 0x4a40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4a50 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 48, 50, 32, 32, 50, 42, -/* 0x4a60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x4a70 */ 65, 68, 79, 78, 76, 89, 10, 49, 52, 48, 32, 77, 82, 85, 66, 89, -/* 0x4a80 */ 84, 69, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4a90 */ 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4aa0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 48, 52, 32, -/* 0x4ab0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x4ac0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 52, 49, 32, 77, 82, -/* 0x4ad0 */ 85, 66, 73, 84, 83, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x4ae0 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x4af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, -/* 0x4b00 */ 48, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x4b10 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 52, 50, -/* 0x4b20 */ 32, 77, 82, 85, 65, 82, 66, 50, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x4b30 */ 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4b40 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4b50 */ 48, 49, 97, 48,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4b60 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4b70 */ 49, 52, 51, 32, 76, 88, 77, 82, 85, 48, 53, 55, 32, 32, 32, 32, -/* 0x4b80 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, -/* 0x4b90 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x4ba0 */ 48, 48, 48, 48, 49, 97, 49, 51, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x4bb0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x4bc0 */ 76, 89, 10, 49, 52, 52, 32, 76, 88, 77, 82, 85, 48, 53, 56, 32, -/* 0x4bd0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 49, 32, 32, 48, -/* 0x4be0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4bf0 */ 48, 32, 32, 48, 48, 48, 48, 49, 97, 49, 57, 32, 32, 50, 42, 42, -/* 0x4c00 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x4c10 */ 68, 79, 78, 76, 89, 10, 49, 52, 53, 32, 76, 88, 85, 78, 70, 48, -/* 0x4c20 */ 51, 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, -/* 0x4c30 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x4c40 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 49, 97, 32, 32, -/* 0x4c50 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x4c60 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 52, 54, 32, 99,116,111, -/* 0x4c70 */ 107, 51, 50, 46, 48, 48, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x4c80 */ 48, 48, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x4c90 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 50, -/* 0x4ca0 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x4cb0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x4cc0 */ 76, 89, 10, 49, 52, 55, 32, 99,116,111,107, 51, 50, 46, 49, 48, -/* 0x4cd0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,101, 32, 32, 48, -/* 0x4ce0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4cf0 */ 48, 32, 32, 48, 48, 48, 48, 49, 97, 50, 55, 32, 32, 50, 42, 42, -/* 0x4d00 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x4d10 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 52, 56, -/* 0x4d20 */ 32, 99,116,111,107, 51, 50, 46, 50, 48, 32, 32, 32, 32, 32, 48, -/* 0x4d30 */ 48, 48, 48, 48, 48, 50, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4d40 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4d50 */ 48, 49, 97, 51, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4d60 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x4d70 */ 65, 68, 79, 78, 76, 89, 10, 49, 52, 57, 32, 99,116,111,107, 51, -/* 0x4d80 */ 50, 46, 51, 48, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4d90 */ 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4da0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 53, 53, 32, -/* 0x4db0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x4dc0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x4dd0 */ 10, 49, 53, 48, 32, 99,116,111,107, 51, 50, 46, 52, 48, 32, 32, -/* 0x4de0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, -/* 0x4df0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x4e00 */ 32, 48, 48, 48, 48, 49, 97, 53,102, 32, 32, 50, 42, 42, 48, 32, -/* 0x4e10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x4e20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 53, 49, 32, 67, -/* 0x4e30 */ 65, 76, 76, 84, 82, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x4e40 */ 48, 48, 48, 49, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x4e50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x4e60 */ 97, 54, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x4e70 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x4e80 */ 79, 78, 76, 89, 10, 49, 53, 50, 32, 67, 84, 67, 76, 69, 86, 69, -/* 0x4e90 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, -/* 0x4ea0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x4eb0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 55, 52, 32, 32, 50, -/* 0x4ec0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4ed0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x4ee0 */ 53, 51, 32, 67, 65, 76, 76, 84, 82, 48, 49, 32, 32, 32, 32, 32, -/* 0x4ef0 */ 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, -/* 0x4f00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x4f10 */ 48, 48, 48, 49, 97, 55, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x4f20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x4f30 */ 89, 10, 49, 53, 52, 32, 67, 84, 66, 83, 72, 82, 48, 49, 32, 32, -/* 0x4f40 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, -/* 0x4f50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x4f60 */ 32, 32, 48, 48, 48, 48, 49, 97, 55,101, 32, 32, 50, 42, 42, 48, -/* 0x4f70 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x4f80 */ 79, 78, 76, 89, 10, 49, 53, 53, 32, 67, 84, 66, 82, 79, 82, 48, -/* 0x4f90 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, -/* 0x4fa0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x4fb0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 56, 50, 32, 32, 50, -/* 0x4fc0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4fd0 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 53, 54, 32, 67, 84, 66, 83, -/* 0x4fe0 */ 87, 65, 48, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4ff0 */ 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x5000 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 56, 52, -/* 0x5010 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x5020 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 53, 55, 32, 67, -/* 0x5030 */ 65, 76, 76, 84, 82, 48, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x5040 */ 48, 48, 48, 49, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5050 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x5060 */ 97, 56, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x5070 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x5080 */ 79, 78, 76, 89, 10, 49, 53, 56, 32, 67, 65, 76, 76, 84, 82, 49, -/* 0x5090 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, -/* 0x50a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x50b0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 57, 57, 32, 32, 50, -/* 0x50c0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x50d0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x50e0 */ 53, 57, 32, 67, 65, 76, 76, 84, 82, 69, 56, 32, 32, 32, 32, 32, -/* 0x50f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x5100 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5110 */ 48, 48, 48, 49, 97, 57,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x5120 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x5130 */ 89, 10, 49, 54, 48, 32, 67, 65, 76, 76, 84, 82, 69, 57, 32, 32, -/* 0x5140 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x5150 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x5160 */ 32, 32, 48, 48, 48, 48, 49, 97, 97, 48, 32, 32, 50, 42, 42, 48, -/* 0x5170 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x5180 */ 79, 78, 76, 89, 10, 49, 54, 49, 32, 67, 65, 76, 76, 84, 82, 49, -/* 0x5190 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, -/* 0x51a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x51b0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 97, 50, 32, 32, 50, -/* 0x51c0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x51d0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x51e0 */ 54, 50, 32, 67, 84, 67, 76, 69, 86, 69, 50, 32, 32, 32, 32, 32, -/* 0x51f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, -/* 0x5200 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5210 */ 48, 48, 48, 49, 97, 97, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x5220 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x5230 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 54, 51, 32, 67, 65, 76, -/* 0x5240 */ 76, 84, 82, 49, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x5250 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5260 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 97, -/* 0x5270 */ 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x5280 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 54, 52, 32, -/* 0x5290 */ 67, 84, 66, 83, 72, 82, 49, 49, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x52a0 */ 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x52b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x52c0 */ 49, 97, 97,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x52d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x52e0 */ 54, 53, 32, 67, 84, 66, 82, 79, 82, 49, 49, 32, 32, 32, 32, 32, -/* 0x52f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x5300 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5310 */ 48, 48, 48, 49, 97, 98, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x5320 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x5330 */ 89, 10, 49, 54, 54, 32, 67, 84, 66, 83, 87, 65, 49, 49, 32, 32, -/* 0x5340 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, -/* 0x5350 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x5360 */ 32, 32, 48, 48, 48, 48, 49, 97, 98, 51, 32, 32, 50, 42, 42, 48, -/* 0x5370 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x5380 */ 79, 78, 76, 89, 10, 49, 54, 55, 32, 67, 65, 76, 76, 84, 82, 49, -/* 0x5390 */ 51, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 55, 32, -/* 0x53a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x53b0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 98, 56, 32, 32, 50, -/* 0x53c0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x53d0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x53e0 */ 54, 56, 32, 76, 69, 88, 69, 67, 48, 49, 55, 32, 32, 32, 32, 32, -/* 0x53f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x5400 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5410 */ 48, 48, 48, 49, 97, 98,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x5420 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x5430 */ 89, 10, 49, 54, 57, 32, 76, 69, 88, 69, 67, 48, 50, 48, 32, 32, -/* 0x5440 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 52, 54, 32, 32, 48, 48, -/* 0x5450 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x5460 */ 32, 32, 48, 48, 48, 48, 49, 97, 99, 49, 32, 32, 50, 42, 42, 48, -/* 0x5470 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x5480 */ 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, -/* 0x5490 */ 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x54a0 */ 32,100, 32, 32, 73, 51, 56, 54, 66, 88, 88, 49, 9, 48, 48, 48, -/* 0x54b0 */ 48, 48, 48, 48, 48, 32, 73, 51, 56, 54, 66, 88, 88, 49, 10, 48, -/* 0x54c0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x54d0 */ 78, 50, 66, 83, 77, 65, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x54e0 */ 48, 32, 78, 50, 66, 83, 77, 65, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x54f0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, -/* 0x5500 */ 65, 83, 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5510 */ 66, 70, 65, 83, 49, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5520 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 68, 69, 67, 49, 48, -/* 0x5530 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 68, 69, 67, -/* 0x5540 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5550 */ 32,100, 32, 32, 78, 50, 66, 68, 69, 67, 50, 48, 9, 48, 48, 48, -/* 0x5560 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 68, 69, 67, 50, 48, 10, 48, -/* 0x5570 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5580 */ 78, 50, 66, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5590 */ 48, 32, 78, 50, 66, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x55a0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 68, -/* 0x55b0 */ 69, 67, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x55c0 */ 66, 68, 69, 67, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x55d0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, 65, 83, 54, 49, -/* 0x55e0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 70, 65, 83, -/* 0x55f0 */ 54, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5600 */ 32,100, 32, 32, 78, 50, 66, 68, 69, 67, 54, 48, 9, 48, 48, 48, -/* 0x5610 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 68, 69, 67, 54, 48, 10, 48, -/* 0x5620 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5630 */ 78, 50, 68, 83, 77, 65, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5640 */ 48, 32, 78, 50, 68, 83, 77, 65, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x5650 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, -/* 0x5660 */ 65, 83, 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5670 */ 68, 70, 65, 83, 49, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5680 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 68, 69, 67, 49, 48, -/* 0x5690 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 68, 69, 67, -/* 0x56a0 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x56b0 */ 32,100, 32, 32, 78, 50, 68, 68, 69, 67, 50, 48, 9, 48, 48, 48, -/* 0x56c0 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 68, 69, 67, 50, 48, 10, 48, -/* 0x56d0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x56e0 */ 78, 50, 68, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x56f0 */ 48, 32, 78, 50, 68, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x5700 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 68, -/* 0x5710 */ 69, 67, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5720 */ 68, 68, 69, 67, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5730 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, 65, 83, 54, 49, -/* 0x5740 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 70, 65, 83, -/* 0x5750 */ 54, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5760 */ 32,100, 32, 32, 78, 50, 68, 68, 69, 67, 54, 48, 9, 48, 48, 48, -/* 0x5770 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 68, 69, 67, 54, 48, 10, 48, -/* 0x5780 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5790 */ 78, 50, 69, 83, 77, 65, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x57a0 */ 48, 32, 78, 50, 69, 83, 77, 65, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x57b0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, -/* 0x57c0 */ 65, 83, 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x57d0 */ 69, 70, 65, 83, 49, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x57e0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 68, 69, 67, 49, 48, -/* 0x57f0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 68, 69, 67, -/* 0x5800 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5810 */ 32,100, 32, 32, 78, 50, 69, 68, 69, 67, 50, 48, 9, 48, 48, 48, -/* 0x5820 */ 48, 48, 48, 48, 48, 32, 78, 50, 69, 68, 69, 67, 50, 48, 10, 48, -/* 0x5830 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5840 */ 78, 50, 69, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5850 */ 48, 32, 78, 50, 69, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x5860 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 68, -/* 0x5870 */ 69, 67, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5880 */ 69, 68, 69, 67, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5890 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, 65, 83, 54, 49, -/* 0x58a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x58b0 */ 54, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x58c0 */ 32,100, 32, 32, 78, 50, 69, 68, 69, 67, 54, 48, 9, 48, 48, 48, -/* 0x58d0 */ 48, 48, 48, 48, 48, 32, 78, 50, 69, 68, 69, 67, 54, 48, 10, 48, -/* 0x58e0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x58f0 */ 76, 88, 85, 78, 70, 48, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5900 */ 48, 32, 76, 88, 85, 78, 70, 48, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x5910 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 74, 67, -/* 0x5920 */ 67, 48, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x5930 */ 74, 67, 67, 48, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5940 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 51, 55, -/* 0x5950 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x5960 */ 51, 55, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5970 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 55, 48, 9, 48, 48, 48, -/* 0x5980 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 55, 48, 10, 48, -/* 0x5990 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x59a0 */ 76, 88, 77, 82, 85, 49, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x59b0 */ 48, 32, 76, 88, 77, 82, 85, 49, 48, 48, 10, 48, 48, 48, 48, 48, -/* 0x59c0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, -/* 0x59d0 */ 70, 48, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x59e0 */ 85, 78, 70, 48, 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x59f0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 52, 50, -/* 0x5a00 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x5a10 */ 52, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5a20 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 51, 48, 9, 48, 48, 48, -/* 0x5a30 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 51, 48, 10, 48, -/* 0x5a40 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5a50 */ 76, 88, 85, 78, 70, 48, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5a60 */ 48, 32, 76, 88, 85, 78, 70, 48, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x5a70 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 74, -/* 0x5a80 */ 56, 77, 82, 85, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x5a90 */ 67, 74, 56, 77, 82, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5aa0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 51, 52, -/* 0x5ab0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x5ac0 */ 51, 52, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5ad0 */ 32,100, 32, 32, 99,116,111,107, 51, 50, 46, 48, 48, 9, 48, 48, -/* 0x5ae0 */ 48, 48, 48, 48, 48, 48, 32, 99,116,111,107, 51, 50, 46, 48, 48, -/* 0x5af0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x5b00 */ 32, 32, 99,116,111,107, 51, 50, 46, 49, 48, 9, 48, 48, 48, 48, -/* 0x5b10 */ 48, 48, 48, 48, 32, 99,116,111,107, 51, 50, 46, 49, 48, 10, 48, -/* 0x5b20 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5b30 */ 99,116,111,107, 51, 50, 46, 50, 48, 9, 48, 48, 48, 48, 48, 48, -/* 0x5b40 */ 48, 48, 32, 99,116,111,107, 51, 50, 46, 50, 48, 10, 48, 48, 48, -/* 0x5b50 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 99,116, -/* 0x5b60 */ 111,107, 51, 50, 46, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x5b70 */ 32, 99,116,111,107, 51, 50, 46, 52, 48, 10, 48, 48, 48, 48, 48, -/* 0x5b80 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, 76, 76, -/* 0x5b90 */ 84, 82, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 65, -/* 0x5ba0 */ 76, 76, 84, 82, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5bb0 */ 108, 32, 32, 32, 32,100, 32, 32, 67, 65, 76, 76, 84, 82, 49, 48, -/* 0x5bc0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 65, 76, 76, 84, 82, -/* 0x5bd0 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5be0 */ 32,100, 32, 32, 67, 65, 76, 76, 84, 82, 49, 49, 9, 48, 48, 48, -/* 0x5bf0 */ 48, 48, 48, 48, 48, 32, 67, 65, 76, 76, 84, 82, 49, 49, 10, 48, -/* 0x5c00 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5c10 */ 67, 65, 76, 76, 84, 82, 49, 51, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5c20 */ 48, 32, 67, 65, 76, 76, 84, 82, 49, 51, 10, 48, 48, 48, 48, 48, -/* 0x5c30 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 69, 88, 69, -/* 0x5c40 */ 67, 48, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, -/* 0x5c50 */ 88, 69, 67, 48, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5c60 */ 108, 32, 32, 32, 32,100, 32, 32, 73, 51, 56, 54, 66, 88, 88, 48, -/* 0x5c70 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 73, 51, 56, 54, 66, 88, -/* 0x5c80 */ 88, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5c90 */ 32,100, 32, 32, 76, 69, 88, 69, 67, 48, 48, 48, 9, 48, 48, 48, -/* 0x5ca0 */ 48, 48, 48, 48, 48, 32, 76, 69, 88, 69, 67, 48, 48, 48, 10, 48, -/* 0x5cb0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5cc0 */ 76, 69, 88, 69, 67, 48, 48, 57, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5cd0 */ 48, 32, 76, 69, 88, 69, 67, 48, 48, 57, 10, 48, 48, 48, 48, 48, -/* 0x5ce0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 69, 88, 69, -/* 0x5cf0 */ 67, 48, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, -/* 0x5d00 */ 88, 69, 67, 48, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5d10 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, 65, 83, 49, 48, -/* 0x5d20 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 70, 65, 83, -/* 0x5d30 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5d40 */ 32,100, 32, 32, 78, 50, 66, 83, 77, 65, 50, 48, 9, 48, 48, 48, -/* 0x5d50 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 83, 77, 65, 50, 48, 10, 48, -/* 0x5d60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5d70 */ 78, 50, 66, 70, 65, 83, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5d80 */ 48, 32, 78, 50, 66, 70, 65, 83, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x5d90 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 83, -/* 0x5da0 */ 77, 65, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5db0 */ 66, 83, 77, 65, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5dc0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, 65, 83, 51, 48, -/* 0x5dd0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 70, 65, 83, -/* 0x5de0 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5df0 */ 32,100, 32, 32, 78, 50, 66, 83, 77, 65, 52, 48, 9, 48, 48, 48, -/* 0x5e00 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 83, 77, 65, 52, 48, 10, 48, -/* 0x5e10 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5e20 */ 78, 50, 66, 70, 65, 83, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5e30 */ 48, 32, 78, 50, 66, 70, 65, 83, 52, 48, 10, 48, 48, 48, 48, 48, -/* 0x5e40 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 83, -/* 0x5e50 */ 77, 65, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5e60 */ 66, 83, 77, 65, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5e70 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, 65, 83, 53, 48, -/* 0x5e80 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 70, 65, 83, -/* 0x5e90 */ 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5ea0 */ 32,100, 32, 32, 78, 50, 66, 83, 77, 65, 54, 48, 9, 48, 48, 48, -/* 0x5eb0 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 83, 77, 65, 54, 48, 10, 48, -/* 0x5ec0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5ed0 */ 78, 50, 66, 70, 65, 83, 54, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5ee0 */ 48, 32, 78, 50, 66, 70, 65, 83, 54, 48, 10, 48, 48, 48, 48, 48, -/* 0x5ef0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, -/* 0x5f00 */ 65, 83, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5f10 */ 68, 70, 65, 83, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5f20 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 83, 77, 65, 50, 48, -/* 0x5f30 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 83, 77, 65, -/* 0x5f40 */ 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5f50 */ 32,100, 32, 32, 78, 50, 68, 70, 65, 83, 50, 48, 9, 48, 48, 48, -/* 0x5f60 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 70, 65, 83, 50, 48, 10, 48, -/* 0x5f70 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5f80 */ 78, 50, 68, 83, 77, 65, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5f90 */ 48, 32, 78, 50, 68, 83, 77, 65, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x5fa0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, -/* 0x5fb0 */ 65, 83, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5fc0 */ 68, 70, 65, 83, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5fd0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 83, 77, 65, 52, 48, -/* 0x5fe0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 83, 77, 65, -/* 0x5ff0 */ 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6000 */ 32,100, 32, 32, 78, 50, 68, 70, 65, 83, 52, 48, 9, 48, 48, 48, -/* 0x6010 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 70, 65, 83, 52, 48, 10, 48, -/* 0x6020 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6030 */ 78, 50, 68, 83, 77, 65, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6040 */ 48, 32, 78, 50, 68, 83, 77, 65, 53, 48, 10, 48, 48, 48, 48, 48, -/* 0x6050 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, -/* 0x6060 */ 65, 83, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x6070 */ 68, 70, 65, 83, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6080 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 83, 77, 65, 54, 48, -/* 0x6090 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 83, 77, 65, -/* 0x60a0 */ 54, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x60b0 */ 32,100, 32, 32, 78, 50, 68, 70, 65, 83, 54, 48, 9, 48, 48, 48, -/* 0x60c0 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 70, 65, 83, 54, 48, 10, 48, -/* 0x60d0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x60e0 */ 78, 50, 69, 70, 65, 83, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x60f0 */ 48, 32, 78, 50, 69, 70, 65, 83, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x6100 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 83, -/* 0x6110 */ 77, 65, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x6120 */ 69, 83, 77, 65, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6130 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, 65, 83, 50, 48, -/* 0x6140 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x6150 */ 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6160 */ 32,100, 32, 32, 78, 50, 69, 83, 77, 65, 51, 48, 9, 48, 48, 48, -/* 0x6170 */ 48, 48, 48, 48, 48, 32, 78, 50, 69, 83, 77, 65, 51, 48, 10, 48, -/* 0x6180 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6190 */ 78, 50, 69, 70, 65, 83, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x61a0 */ 48, 32, 78, 50, 69, 70, 65, 83, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x61b0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 83, -/* 0x61c0 */ 77, 65, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x61d0 */ 69, 83, 77, 65, 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x61e0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, 65, 83, 52, 48, -/* 0x61f0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x6200 */ 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6210 */ 32,100, 32, 32, 78, 50, 69, 83, 77, 65, 53, 48, 9, 48, 48, 48, -/* 0x6220 */ 48, 48, 48, 48, 48, 32, 78, 50, 69, 83, 77, 65, 53, 48, 10, 48, -/* 0x6230 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6240 */ 78, 50, 69, 70, 65, 83, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6250 */ 48, 32, 78, 50, 69, 70, 65, 83, 53, 48, 10, 48, 48, 48, 48, 48, -/* 0x6260 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 83, -/* 0x6270 */ 77, 65, 54, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x6280 */ 69, 83, 77, 65, 54, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6290 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, 65, 83, 54, 48, -/* 0x62a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x62b0 */ 54, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x62c0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 48, 48, 9, 48, -/* 0x62d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x62e0 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x62f0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, -/* 0x6300 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, -/* 0x6310 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6320 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, -/* 0x6330 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x6340 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6350 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, -/* 0x6360 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x6370 */ 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6380 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, -/* 0x6390 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x63a0 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x63b0 */ 32,100, 32, 32, 76, 69, 88, 69, 67, 48, 49, 53, 9, 48, 48, 48, -/* 0x63c0 */ 48, 48, 48, 48, 48, 32, 76, 69, 88, 69, 67, 48, 49, 53, 10, 48, -/* 0x63d0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x63e0 */ 76, 88, 85, 78, 70, 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x63f0 */ 48, 32, 76, 88, 85, 78, 70, 48, 48, 48, 10, 48, 48, 48, 48, 48, -/* 0x6400 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, -/* 0x6410 */ 70, 48, 48, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6420 */ 85, 78, 70, 48, 48, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6430 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 48, -/* 0x6440 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, -/* 0x6450 */ 69, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6460 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 48, 53, 9, 48, 48, 48, -/* 0x6470 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 48, 53, 10, 48, -/* 0x6480 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6490 */ 76, 88, 77, 82, 85, 48, 48, 54, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x64a0 */ 48, 32, 76, 88, 77, 82, 85, 48, 48, 54, 10, 48, 48, 48, 48, 48, -/* 0x64b0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x64c0 */ 85, 48, 48, 55, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x64d0 */ 77, 82, 85, 48, 48, 55, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x64e0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 48, 56, -/* 0x64f0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x6500 */ 48, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6510 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 52, 53, 9, 48, 48, 48, -/* 0x6520 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 52, 53, 10, 48, -/* 0x6530 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6540 */ 76, 88, 77, 82, 85, 48, 52, 54, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6550 */ 48, 32, 76, 88, 77, 82, 85, 48, 52, 54, 10, 48, 48, 48, 48, 48, -/* 0x6560 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 74, 67, -/* 0x6570 */ 67, 48, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6580 */ 74, 67, 67, 48, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6590 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 74, 67, 67, 48, 50, 49, -/* 0x65a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 74, 67, 67, 48, -/* 0x65b0 */ 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x65c0 */ 32,100, 32, 32, 76, 88, 74, 67, 67, 48, 50, 51, 9, 48, 48, 48, -/* 0x65d0 */ 48, 48, 48, 48, 48, 32, 76, 88, 74, 67, 67, 48, 50, 51, 10, 48, -/* 0x65e0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x65f0 */ 76, 88, 85, 78, 70, 51, 56, 54, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6600 */ 48, 32, 76, 88, 85, 78, 70, 51, 56, 54, 10, 48, 48, 48, 48, 48, -/* 0x6610 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, -/* 0x6620 */ 70, 51, 56, 55, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6630 */ 85, 78, 70, 51, 56, 55, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6640 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 51, 56, 56, -/* 0x6650 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 51, -/* 0x6660 */ 56, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6670 */ 32,100, 32, 32, 76, 88, 85, 78, 70, 52, 56, 54, 9, 48, 48, 48, -/* 0x6680 */ 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 52, 56, 54, 10, 48, -/* 0x6690 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x66a0 */ 76, 88, 85, 78, 70, 52, 56, 55, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x66b0 */ 48, 32, 76, 88, 85, 78, 70, 52, 56, 55, 10, 48, 48, 48, 48, 48, -/* 0x66c0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x66d0 */ 85, 48, 54, 53, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x66e0 */ 77, 82, 85, 48, 54, 53, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x66f0 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 51, -/* 0x6700 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, -/* 0x6710 */ 69, 51, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6720 */ 32,100, 32, 32, 77, 82, 85, 65, 82, 66, 51, 48, 9, 48, 48, 48, -/* 0x6730 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 65, 82, 66, 51, 48, 10, 48, -/* 0x6740 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6750 */ 77, 82, 85, 66, 73, 84, 83, 51, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6760 */ 48, 32, 77, 82, 85, 66, 73, 84, 83, 51, 10, 48, 48, 48, 48, 48, -/* 0x6770 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 65, -/* 0x6780 */ 82, 66, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, -/* 0x6790 */ 85, 65, 82, 66, 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x67a0 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 52, -/* 0x67b0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, -/* 0x67c0 */ 69, 52, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x67d0 */ 32,100, 32, 32, 77, 82, 85, 66, 73, 84, 83, 52, 9, 48, 48, 48, -/* 0x67e0 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 73, 84, 83, 52, 10, 48, -/* 0x67f0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6800 */ 77, 82, 85, 65, 82, 66, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6810 */ 48, 32, 77, 82, 85, 65, 82, 66, 53, 48, 10, 48, 48, 48, 48, 48, -/* 0x6820 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x6830 */ 85, 48, 56, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6840 */ 77, 82, 85, 48, 56, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6850 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 53, -/* 0x6860 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, -/* 0x6870 */ 69, 53, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6880 */ 32,100, 32, 32, 77, 82, 85, 65, 82, 66, 54, 48, 9, 48, 48, 48, -/* 0x6890 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 65, 82, 66, 54, 48, 10, 48, -/* 0x68a0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x68b0 */ 77, 82, 85, 66, 73, 84, 83, 53, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x68c0 */ 48, 32, 77, 82, 85, 66, 73, 84, 83, 53, 10, 48, 48, 48, 48, 48, -/* 0x68d0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 65, -/* 0x68e0 */ 82, 66, 55, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, -/* 0x68f0 */ 85, 65, 82, 66, 55, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6900 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 57, 48, -/* 0x6910 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, -/* 0x6920 */ 57, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6930 */ 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 54, 9, 48, 48, 48, -/* 0x6940 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, 69, 54, 10, 48, -/* 0x6950 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6960 */ 77, 82, 85, 65, 82, 66, 56, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6970 */ 48, 32, 77, 82, 85, 65, 82, 66, 56, 48, 10, 48, 48, 48, 48, 48, -/* 0x6980 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, -/* 0x6990 */ 73, 84, 83, 54, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, -/* 0x69a0 */ 85, 66, 73, 84, 83, 54, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x69b0 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 65, 82, 66, 57, 48, -/* 0x69c0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 65, 82, 66, -/* 0x69d0 */ 57, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x69e0 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 49, 49, 48, 9, 48, 48, 48, -/* 0x69f0 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 49, 49, 48, 10, 48, -/* 0x6a00 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6a10 */ 76, 88, 77, 82, 85, 49, 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6a20 */ 48, 32, 76, 88, 77, 82, 85, 49, 49, 49, 10, 48, 48, 48, 48, 48, -/* 0x6a30 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, -/* 0x6a40 */ 70, 48, 52, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6a50 */ 85, 78, 70, 48, 52, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6a60 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 69, 88, 69, 67, 48, 49, 54, -/* 0x6a70 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 88, 69, 67, 48, -/* 0x6a80 */ 49, 54, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6a90 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 49, 48, 9, 48, 48, 48, -/* 0x6aa0 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 49, 48, 10, 48, -/* 0x6ab0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6ac0 */ 76, 88, 74, 77, 80, 65, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6ad0 */ 48, 32, 76, 88, 74, 77, 80, 65, 48, 48, 10, 48, 48, 48, 48, 48, -/* 0x6ae0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 65, -/* 0x6af0 */ 76, 76, 66, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6b00 */ 67, 65, 76, 76, 66, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6b10 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 50, 49, -/* 0x6b20 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x6b30 */ 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6b40 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 50, 50, 9, 48, 48, 48, -/* 0x6b50 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 50, 50, 10, 48, -/* 0x6b60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6b70 */ 76, 88, 74, 77, 80, 65, 48, 49, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6b80 */ 48, 32, 76, 88, 74, 77, 80, 65, 48, 49, 10, 48, 48, 48, 48, 48, -/* 0x6b90 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 65, -/* 0x6ba0 */ 76, 76, 66, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6bb0 */ 67, 65, 76, 76, 66, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6bc0 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 73, 84, 83, 49, -/* 0x6bd0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 73, 84, -/* 0x6be0 */ 83, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6bf0 */ 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 49, 9, 48, 48, 48, -/* 0x6c00 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, 69, 49, 10, 48, -/* 0x6c10 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6c20 */ 77, 82, 85, 65, 82, 66, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6c30 */ 48, 32, 77, 82, 85, 65, 82, 66, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x6c40 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x6c50 */ 85, 48, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6c60 */ 77, 82, 85, 48, 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6c70 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 74, 67, 67, 48, 48, 48, -/* 0x6c80 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 74, 67, 67, 48, -/* 0x6c90 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6ca0 */ 32,100, 32, 32, 76, 88, 67, 74, 48, 77, 82, 85, 9, 48, 48, 48, -/* 0x6cb0 */ 48, 48, 48, 48, 48, 32, 76, 88, 67, 74, 48, 77, 82, 85, 10, 48, -/* 0x6cc0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6cd0 */ 76, 88, 67, 74, 49, 77, 82, 85, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6ce0 */ 48, 32, 76, 88, 67, 74, 49, 77, 82, 85, 10, 48, 48, 48, 48, 48, -/* 0x6cf0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 65, -/* 0x6d00 */ 76, 74, 77, 80, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6d10 */ 67, 65, 76, 74, 77, 80, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6d20 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 65, 76, 76, 48, 48, -/* 0x6d30 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 67, 65, 76, 76, -/* 0x6d40 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6d50 */ 32,100, 32, 32, 76, 88, 67, 65, 76, 76, 48, 49, 9, 48, 48, 48, -/* 0x6d60 */ 48, 48, 48, 48, 48, 32, 76, 88, 67, 65, 76, 76, 48, 49, 10, 48, -/* 0x6d70 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6d80 */ 76, 88, 67, 74, 50, 77, 82, 85, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6d90 */ 48, 32, 76, 88, 67, 74, 50, 77, 82, 85, 10, 48, 48, 48, 48, 48, -/* 0x6da0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 74, -/* 0x6db0 */ 52, 77, 82, 85, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6dc0 */ 67, 74, 52, 77, 82, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6dd0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 74, 54, 77, 82, 85, -/* 0x6de0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 67, 74, 54, 77, -/* 0x6df0 */ 82, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6e00 */ 32,100, 32, 32, 76, 88, 67, 74, 55, 77, 82, 85, 9, 48, 48, 48, -/* 0x6e10 */ 48, 48, 48, 48, 48, 32, 76, 88, 67, 74, 55, 77, 82, 85, 10, 48, -/* 0x6e20 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6e30 */ 76, 88, 77, 82, 85, 48, 53, 53, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6e40 */ 48, 32, 76, 88, 77, 82, 85, 48, 53, 53, 10, 48, 48, 48, 48, 48, -/* 0x6e50 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, -/* 0x6e60 */ 89, 84, 69, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, -/* 0x6e70 */ 85, 66, 89, 84, 69, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6e80 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 73, 84, 83, 50, -/* 0x6e90 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 73, 84, -/* 0x6ea0 */ 83, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6eb0 */ 32,100, 32, 32, 77, 82, 85, 65, 82, 66, 50, 48, 9, 48, 48, 48, -/* 0x6ec0 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 65, 82, 66, 50, 48, 10, 48, -/* 0x6ed0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6ee0 */ 76, 88, 77, 82, 85, 48, 53, 55, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6ef0 */ 48, 32, 76, 88, 77, 82, 85, 48, 53, 55, 10, 48, 48, 48, 48, 48, -/* 0x6f00 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x6f10 */ 85, 48, 53, 56, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6f20 */ 77, 82, 85, 48, 53, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6f30 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 51, 53, -/* 0x6f40 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x6f50 */ 51, 53, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6f60 */ 32,100, 32, 32, 99,116,111,107, 51, 50, 46, 51, 48, 9, 48, 48, -/* 0x6f70 */ 48, 48, 48, 48, 48, 48, 32, 99,116,111,107, 51, 50, 46, 51, 48, -/* 0x6f80 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x6f90 */ 32, 32, 67, 84, 67, 76, 69, 86, 69, 49, 9, 48, 48, 48, 48, 48, -/* 0x6fa0 */ 48, 48, 48, 32, 67, 84, 67, 76, 69, 86, 69, 49, 10, 48, 48, 48, -/* 0x6fb0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, -/* 0x6fc0 */ 76, 76, 84, 82, 48, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6fd0 */ 67, 65, 76, 76, 84, 82, 48, 49, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x6fe0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 84, 66, 83, 72, 82, -/* 0x6ff0 */ 48, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 84, 66, 83, -/* 0x7000 */ 72, 82, 48, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x7010 */ 32, 32, 32,100, 32, 32, 67, 84, 66, 82, 79, 82, 48, 49, 9, 48, -/* 0x7020 */ 48, 48, 48, 48, 48, 48, 48, 32, 67, 84, 66, 82, 79, 82, 48, 49, -/* 0x7030 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x7040 */ 32, 32, 67, 84, 66, 83, 87, 65, 48, 49, 9, 48, 48, 48, 48, 48, -/* 0x7050 */ 48, 48, 48, 32, 67, 84, 66, 83, 87, 65, 48, 49, 10, 48, 48, 48, -/* 0x7060 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, -/* 0x7070 */ 76, 76, 84, 82, 48, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x7080 */ 67, 65, 76, 76, 84, 82, 48, 50, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x7090 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, 76, 76, 84, 82, -/* 0x70a0 */ 69, 56, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 65, 76, 76, -/* 0x70b0 */ 84, 82, 69, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x70c0 */ 32, 32, 32,100, 32, 32, 67, 65, 76, 76, 84, 82, 69, 57, 9, 48, -/* 0x70d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 67, 65, 76, 76, 84, 82, 69, 57, -/* 0x70e0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x70f0 */ 32, 32, 67, 84, 67, 76, 69, 86, 69, 50, 9, 48, 48, 48, 48, 48, -/* 0x7100 */ 48, 48, 48, 32, 67, 84, 67, 76, 69, 86, 69, 50, 10, 48, 48, 48, -/* 0x7110 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, -/* 0x7120 */ 76, 76, 84, 82, 49, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x7130 */ 67, 65, 76, 76, 84, 82, 49, 50, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x7140 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 84, 66, 83, 72, 82, -/* 0x7150 */ 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 84, 66, 83, -/* 0x7160 */ 72, 82, 49, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x7170 */ 32, 32, 32,100, 32, 32, 67, 84, 66, 82, 79, 82, 49, 49, 9, 48, -/* 0x7180 */ 48, 48, 48, 48, 48, 48, 48, 32, 67, 84, 66, 82, 79, 82, 49, 49, -/* 0x7190 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x71a0 */ 32, 32, 67, 84, 66, 83, 87, 65, 49, 49, 9, 48, 48, 48, 48, 48, -/* 0x71b0 */ 48, 48, 48, 32, 67, 84, 66, 83, 87, 65, 49, 49, 10, 48, 48, 48, -/* 0x71c0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 69, -/* 0x71d0 */ 88, 69, 67, 48, 49, 55, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x71e0 */ 76, 69, 88, 69, 67, 48, 49, 55, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x71f0 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 76, 69, 88, 69, 67, 48, -/* 0x7200 */ 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97, -/* 0x7210 */ 114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, -/* 0x7220 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, -/* 0x7230 */ 48, 48, 32,108,122,109, 97, 95,115,116, 97, 99,107, 95, 97,100, -/* 0x7240 */ 106,117,115,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, -/* 0x7250 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, -/* 0x7260 */ 48, 48, 48, 48, 32,108,122,109, 97, 95,117, 95,108,101,110, 10, -/* 0x7270 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7280 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x7290 */ 108,122,109, 97, 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, -/* 0x72a0 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, -/* 0x72b0 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,122,109, 97, 95, -/* 0x72c0 */ 112,114,111,112,101,114,116,105,101,115, 10, 48, 48, 48, 48, 48, -/* 0x72d0 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, -/* 0x72e0 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 77, 82, 85, 10, -/* 0x72f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7300 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x7310 */ 102,105,108,116,101,114, 95,108,101,110,103,116,104, 10, 48, 48, -/* 0x7320 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, -/* 0x7330 */ 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,102,105, -/* 0x7340 */ 108,116,101,114, 95, 99,116,111, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x7350 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x7360 */ 32, 91, 73, 51, 56, 54, 66, 88, 88, 48, 93, 58, 10, 79, 70, 70, -/* 0x7370 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x7380 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x7390 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 51, 56, 54, 95, 49, 54, 32, -/* 0x73a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 73, 51, 56, 54, 66, 88, 88, -/* 0x73b0 */ 49, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x73c0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 69, 88, 69, 67, -/* 0x73d0 */ 48, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x73e0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x73f0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, -/* 0x7400 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, -/* 0x7410 */ 32, 32, 76, 69, 88, 69, 67, 48, 50, 48, 10, 10, 82, 69, 76, 79, -/* 0x7420 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x7430 */ 79, 82, 32, 91, 78, 50, 66, 83, 77, 65, 49, 48, 93, 58, 10, 79, -/* 0x7440 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x7450 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x7460 */ 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x7470 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, -/* 0x7480 */ 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x7490 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, -/* 0x74a0 */ 70, 65, 83, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x74b0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x74c0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x74d0 */ 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x74e0 */ 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 49, 48, 10, 10, 82, 69, -/* 0x74f0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x7500 */ 32, 70, 79, 82, 32, 91, 78, 50, 66, 83, 77, 65, 50, 48, 93, 58, -/* 0x7510 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, -/* 0x7520 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, -/* 0x7530 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, -/* 0x7540 */ 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, -/* 0x7550 */ 83, 77, 65, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x7560 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, -/* 0x7570 */ 50, 66, 70, 65, 83, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x7580 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7590 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, -/* 0x75a0 */ 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, -/* 0x75b0 */ 32, 32, 32, 32, 32, 32, 78, 50, 66, 70, 65, 83, 49, 49, 10, 10, -/* 0x75c0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x75d0 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, 83, 77, 65, 51, 48, -/* 0x75e0 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x75f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x7600 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 99, 32, 82, 95, 51, -/* 0x7610 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x7620 */ 50, 66, 68, 69, 67, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x7630 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x7640 */ 91, 78, 50, 66, 70, 65, 83, 51, 48, 93, 58, 10, 79, 70, 70, 83, -/* 0x7650 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x7660 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x7670 */ 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, -/* 0x7680 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 50, 48, -/* 0x7690 */ 10, 48, 48, 48, 48, 48, 48, 48,101, 32, 82, 95, 51, 56, 54, 95, -/* 0x76a0 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, -/* 0x76b0 */ 69, 67, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x76c0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, -/* 0x76d0 */ 66, 68, 69, 67, 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x76e0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x76f0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x7700 */ 49, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x7710 */ 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 54, 48, 10, 48, 48, -/* 0x7720 */ 48, 48, 48, 48, 50,102, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x7730 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 53, -/* 0x7740 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x7750 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, 83, 77, -/* 0x7760 */ 65, 52, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x7770 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7780 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 99, 32, -/* 0x7790 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x77a0 */ 32, 32, 78, 50, 66, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, -/* 0x77b0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x77c0 */ 79, 82, 32, 91, 78, 50, 66, 70, 65, 83, 52, 48, 93, 58, 10, 79, -/* 0x77d0 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x77e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x77f0 */ 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x7800 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, -/* 0x7810 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48,101, 32, 82, 95, 51, -/* 0x7820 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x7830 */ 50, 66, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x7840 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x7850 */ 91, 78, 50, 66, 83, 77, 65, 54, 48, 93, 58, 10, 79, 70, 70, 83, -/* 0x7860 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x7870 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x7880 */ 48, 48, 48, 48, 56, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, -/* 0x7890 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 49, 48, -/* 0x78a0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x78b0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, 70, 65, 83, -/* 0x78c0 */ 54, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x78d0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x78e0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 97, 32, 82, -/* 0x78f0 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7900 */ 32, 78, 50, 66, 70, 65, 83, 54, 49, 10, 48, 48, 48, 48, 48, 48, -/* 0x7910 */ 49, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, -/* 0x7920 */ 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 49, 48, 10, 10, 82, -/* 0x7930 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x7940 */ 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, 70, 65, 83, 54, 49, 93, -/* 0x7950 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x7960 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x7970 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 50, 32, 82, 95, 51, 56, -/* 0x7980 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, -/* 0x7990 */ 66, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x79a0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x79b0 */ 78, 50, 68, 83, 77, 65, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x79c0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x79d0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x79e0 */ 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x79f0 */ 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 49, 48, 10, -/* 0x7a00 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x7a10 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 70, 65, 83, 49, -/* 0x7a20 */ 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, -/* 0x7a30 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x7a40 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, -/* 0x7a50 */ 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7a60 */ 78, 50, 68, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x7a70 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x7a80 */ 32, 91, 78, 50, 68, 83, 77, 65, 50, 48, 93, 58, 10, 79, 70, 70, -/* 0x7a90 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x7aa0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x7ab0 */ 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x7ac0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 83, 77, 65, 49, -/* 0x7ad0 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x7ae0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 70, 65, -/* 0x7af0 */ 83, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x7b00 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7b10 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 51, 32, -/* 0x7b20 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x7b30 */ 32, 32, 78, 50, 68, 70, 65, 83, 49, 49, 10, 10, 82, 69, 76, 79, -/* 0x7b40 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x7b50 */ 79, 82, 32, 91, 78, 50, 68, 83, 77, 65, 51, 48, 93, 58, 10, 79, -/* 0x7b60 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x7b70 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x7b80 */ 48, 48, 48, 48, 48, 48, 48, 99, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x7b90 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, -/* 0x7ba0 */ 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x7bb0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, -/* 0x7bc0 */ 70, 65, 83, 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x7bd0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7be0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x7bf0 */ 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x7c00 */ 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 51, 48, 10, 48, 48, 48, -/* 0x7c10 */ 48, 48, 48, 48,101, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, -/* 0x7c20 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 51, 48, -/* 0x7c30 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x7c40 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 68, 69, 67, -/* 0x7c50 */ 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x7c60 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7c70 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,102, 32, 82, -/* 0x7c80 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7c90 */ 32, 78, 50, 68, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, -/* 0x7ca0 */ 50, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x7cb0 */ 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 54, 48, 10, 48, 48, -/* 0x7cc0 */ 48, 48, 48, 48, 52, 51, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x7cd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 53, -/* 0x7ce0 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x7cf0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 83, 77, -/* 0x7d00 */ 65, 52, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x7d10 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7d20 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 99, 32, -/* 0x7d30 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x7d40 */ 32, 32, 78, 50, 68, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, -/* 0x7d50 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x7d60 */ 79, 82, 32, 91, 78, 50, 68, 70, 65, 83, 52, 48, 93, 58, 10, 79, -/* 0x7d70 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x7d80 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x7d90 */ 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x7da0 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, -/* 0x7db0 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48,101, 32, 82, 95, 51, -/* 0x7dc0 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x7dd0 */ 50, 68, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x7de0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x7df0 */ 91, 78, 50, 68, 83, 77, 65, 54, 48, 93, 58, 10, 79, 70, 70, 83, -/* 0x7e00 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x7e10 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x7e20 */ 48, 48, 48, 48, 56, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, -/* 0x7e30 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 49, 48, -/* 0x7e40 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x7e50 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 70, 65, 83, -/* 0x7e60 */ 54, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x7e70 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7e80 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 97, 32, 82, -/* 0x7e90 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7ea0 */ 32, 78, 50, 68, 70, 65, 83, 54, 49, 10, 48, 48, 48, 48, 48, 48, -/* 0x7eb0 */ 49, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, -/* 0x7ec0 */ 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 49, 48, 10, 10, 82, -/* 0x7ed0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x7ee0 */ 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 70, 65, 83, 54, 49, 93, -/* 0x7ef0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x7f00 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x7f10 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 50, 32, 82, 95, 51, 56, -/* 0x7f20 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, -/* 0x7f30 */ 68, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x7f40 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x7f50 */ 78, 50, 69, 83, 77, 65, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x7f60 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7f70 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x7f80 */ 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x7f90 */ 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 49, 48, 10, -/* 0x7fa0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x7fb0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 70, 65, 83, 49, -/* 0x7fc0 */ 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, -/* 0x7fd0 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x7fe0 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, -/* 0x7ff0 */ 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8000 */ 78, 50, 69, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x8010 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x8020 */ 32, 91, 78, 50, 69, 83, 77, 65, 50, 48, 93, 58, 10, 79, 70, 70, -/* 0x8030 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x8040 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x8050 */ 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x8060 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 83, 77, 65, 49, -/* 0x8070 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x8080 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 70, 65, -/* 0x8090 */ 83, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x80a0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x80b0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 51, 32, -/* 0x80c0 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x80d0 */ 32, 32, 78, 50, 69, 70, 65, 83, 49, 49, 10, 10, 82, 69, 76, 79, -/* 0x80e0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x80f0 */ 79, 82, 32, 91, 78, 50, 69, 83, 77, 65, 51, 48, 93, 58, 10, 79, -/* 0x8100 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x8110 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x8120 */ 48, 48, 48, 48, 48, 48, 48, 99, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x8130 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, -/* 0x8140 */ 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x8150 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, -/* 0x8160 */ 70, 65, 83, 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x8170 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8180 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x8190 */ 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x81a0 */ 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 51, 48, 10, 48, 48, 48, -/* 0x81b0 */ 48, 48, 48, 48,101, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, -/* 0x81c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 51, 48, -/* 0x81d0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x81e0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 68, 69, 67, -/* 0x81f0 */ 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x8200 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8210 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,102, 32, 82, -/* 0x8220 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8230 */ 32, 78, 50, 69, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, -/* 0x8240 */ 49,101, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x8250 */ 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 53, 48, 10, 48, 48, -/* 0x8260 */ 48, 48, 48, 48, 51, 48, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x8270 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 54, -/* 0x8280 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x8290 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 83, 77, -/* 0x82a0 */ 65, 52, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x82b0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x82c0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 99, 32, -/* 0x82d0 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x82e0 */ 32, 32, 78, 50, 69, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, -/* 0x82f0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x8300 */ 79, 82, 32, 91, 78, 50, 69, 70, 65, 83, 52, 48, 93, 58, 10, 79, -/* 0x8310 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x8320 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x8330 */ 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x8340 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, -/* 0x8350 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48,101, 32, 82, 95, 51, -/* 0x8360 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x8370 */ 50, 69, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x8380 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x8390 */ 91, 78, 50, 69, 83, 77, 65, 54, 48, 93, 58, 10, 79, 70, 70, 83, -/* 0x83a0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x83b0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x83c0 */ 48, 48, 48, 48, 56, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, -/* 0x83d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 49, 48, -/* 0x83e0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x83f0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 70, 65, 83, -/* 0x8400 */ 54, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x8410 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8420 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 97, 32, 82, -/* 0x8430 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8440 */ 32, 78, 50, 69, 70, 65, 83, 54, 49, 10, 48, 48, 48, 48, 48, 48, -/* 0x8450 */ 49, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, -/* 0x8460 */ 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 49, 48, 10, 10, 82, -/* 0x8470 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x8480 */ 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 70, 65, 83, 54, 49, 93, -/* 0x8490 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x84a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x84b0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 50, 32, 82, 95, 51, 56, -/* 0x84c0 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, -/* 0x84d0 */ 69, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x84e0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x84f0 */ 76, 90, 77, 65, 95, 68, 69, 67, 48, 48, 93, 58, 10, 79, 70, 70, -/* 0x8500 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x8510 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x8520 */ 48, 48, 48, 48, 48, 53, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, -/* 0x8530 */ 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,115,116, -/* 0x8540 */ 97, 99,107, 95, 97,100,106,117,115,116, 10, 48, 48, 48, 48, 48, -/* 0x8550 */ 48, 49, 52, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, -/* 0x8560 */ 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,117, 95,108,101,110, -/* 0x8570 */ 10, 48, 48, 48, 48, 48, 48, 49,101, 32, 82, 95, 51, 56, 54, 95, -/* 0x8580 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, -/* 0x8590 */ 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, 48, 50, 97, 32, -/* 0x85a0 */ 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x85b0 */ 32, 32,108,122,109, 97, 95,112,114,111,112,101,114,116,105,101, -/* 0x85c0 */ 115, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x85d0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 85, 78, 70, -/* 0x85e0 */ 48, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x85f0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8600 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, -/* 0x8610 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x8620 */ 32, 32, 76, 88, 85, 78, 70, 48, 49, 48, 10, 10, 82, 69, 76, 79, -/* 0x8630 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x8640 */ 79, 82, 32, 91, 76, 88, 77, 82, 85, 48, 48, 53, 93, 58, 10, 79, -/* 0x8650 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x8660 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x8670 */ 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 51, -/* 0x8680 */ 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 77, 82, 85, 10, -/* 0x8690 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x86a0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 85, 78, 70, 48, 49, -/* 0x86b0 */ 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, -/* 0x86c0 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x86d0 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, -/* 0x86e0 */ 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x86f0 */ 76, 88, 85, 78, 70, 48, 52, 50, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x8700 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x8710 */ 32, 91, 76, 88, 74, 67, 67, 48, 50, 48, 93, 58, 10, 79, 70, 70, -/* 0x8720 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x8730 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x8740 */ 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x8750 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 51, -/* 0x8760 */ 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x8770 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 74, 67, 67, -/* 0x8780 */ 48, 50, 49, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x8790 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x87a0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, -/* 0x87b0 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x87c0 */ 32, 32, 76, 88, 85, 78, 70, 48, 51, 52, 10, 10, 82, 69, 76, 79, -/* 0x87d0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x87e0 */ 79, 82, 32, 91, 76, 88, 85, 78, 70, 51, 56, 56, 93, 58, 10, 79, -/* 0x87f0 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x8800 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x8810 */ 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x8820 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, -/* 0x8830 */ 48, 52, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x8840 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 85, -/* 0x8850 */ 78, 70, 52, 56, 55, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x8860 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8870 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x8880 */ 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x8890 */ 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 52, 48, 10, 10, 82, 69, -/* 0x88a0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x88b0 */ 32, 70, 79, 82, 32, 91, 76, 88, 77, 82, 85, 48, 54, 53, 93, 58, -/* 0x88c0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, -/* 0x88d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, -/* 0x88e0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 51, 56, 54, -/* 0x88f0 */ 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 77, -/* 0x8900 */ 82, 85, 48, 55, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x8910 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, -/* 0x8920 */ 88, 77, 82, 85, 48, 55, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x8930 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8940 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, -/* 0x8950 */ 48, 48, 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, -/* 0x8960 */ 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 52, 48, 10, 10, -/* 0x8970 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x8980 */ 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 77, 82, 85, 48, 57, 48, -/* 0x8990 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x89a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x89b0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, 95, 51, -/* 0x89c0 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x89d0 */ 88, 77, 82, 85, 49, 48, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x89e0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x89f0 */ 91, 76, 88, 85, 78, 70, 48, 52, 49, 93, 58, 10, 79, 70, 70, 83, -/* 0x8a00 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x8a10 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x8a20 */ 48, 48, 48, 48, 54, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, -/* 0x8a30 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 51, 52, -/* 0x8a40 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x8a50 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 69, 88, 69, 67, 48, -/* 0x8a60 */ 49, 54, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x8a70 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8a80 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, -/* 0x8a90 */ 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, -/* 0x8aa0 */ 32, 76, 88, 85, 78, 70, 48, 52, 50, 10, 10, 82, 69, 76, 79, 67, -/* 0x8ab0 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, -/* 0x8ac0 */ 82, 32, 91, 76, 88, 77, 82, 85, 48, 52, 48, 93, 58, 10, 79, 70, -/* 0x8ad0 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, -/* 0x8ae0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, -/* 0x8af0 */ 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, -/* 0x8b00 */ 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 77, 82, 85, 48, -/* 0x8b10 */ 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, -/* 0x8b20 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 74, 67, -/* 0x8b30 */ 67, 48, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, -/* 0x8b40 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8b50 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 55, -/* 0x8b60 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, -/* 0x8b70 */ 32, 32, 32, 76, 88, 74, 67, 67, 48, 49, 48, 10, 10, 82, 69, 76, -/* 0x8b80 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, -/* 0x8b90 */ 70, 79, 82, 32, 91, 76, 88, 67, 65, 76, 76, 48, 48, 93, 58, 10, -/* 0x8ba0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x8bb0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x8bc0 */ 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, -/* 0x8bd0 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, -/* 0x8be0 */ 70, 48, 51, 55, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x8bf0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, -/* 0x8c00 */ 67, 74, 50, 77, 82, 85, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x8c10 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8c20 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x8c30 */ 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x8c40 */ 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 51, 55, 10, 10, 82, -/* 0x8c50 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x8c60 */ 83, 32, 70, 79, 82, 32, 91, 76, 88, 67, 74, 52, 77, 82, 85, 93, -/* 0x8c70 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x8c80 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x8c90 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, -/* 0x8ca0 */ 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, -/* 0x8cb0 */ 85, 78, 70, 48, 51, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x8cc0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x8cd0 */ 76, 88, 67, 74, 54, 77, 82, 85, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x8ce0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8cf0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x8d00 */ 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x8d10 */ 32, 32, 32, 32, 32, 32, 32, 76, 88, 67, 74, 56, 77, 82, 85, 10, -/* 0x8d20 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x8d30 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 67, 74, 55, 77, 82, -/* 0x8d40 */ 85, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, -/* 0x8d50 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x8d60 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, -/* 0x8d70 */ 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8d80 */ 76, 88, 67, 74, 56, 77, 82, 85, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x8d90 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x8da0 */ 32, 91, 76, 88, 67, 74, 56, 77, 82, 85, 93, 58, 10, 79, 70, 70, -/* 0x8db0 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x8dc0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x8dd0 */ 48, 48, 48, 48, 48, 50, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x8de0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 51, -/* 0x8df0 */ 55, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x8e00 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 85, 78, 70, -/* 0x8e10 */ 48, 51, 52, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x8e20 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8e30 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, -/* 0x8e40 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x8e50 */ 32, 32, 76, 88, 85, 78, 70, 48, 51, 48, 10, 10, 82, 69, 76, 79, -/* 0x8e60 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x8e70 */ 79, 82, 32, 91, 99,116,111,107, 51, 50, 46, 48, 48, 93, 58, 10, -/* 0x8e80 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x8e90 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x8ea0 */ 10, 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, -/* 0x8eb0 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, -/* 0x8ec0 */ 51, 50, 46, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x8ed0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 99, -/* 0x8ee0 */ 116,111,107, 51, 50, 46, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x8ef0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8f00 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x8f10 */ 48, 48, 48,100, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x8f20 */ 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, 51, 50, 46, 50, 48, -/* 0x8f30 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x8f40 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 99,116,111,107, 51, 50, -/* 0x8f50 */ 46, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x8f60 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8f70 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 53, 32, -/* 0x8f80 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x8f90 */ 32, 32, 99,116,111,107, 51, 50, 46, 52, 48, 10, 48, 48, 48, 48, -/* 0x8fa0 */ 48, 48, 48, 97, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x8fb0 */ 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, 51, 50, 46, 52, 48, -/* 0x8fc0 */ 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 51, 56, 54, 95, -/* 0x8fd0 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, -/* 0x8fe0 */ 51, 50, 46, 52, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x8ff0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 99, -/* 0x9000 */ 116,111,107, 51, 50, 46, 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x9010 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x9020 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x9030 */ 48, 48, 48, 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x9040 */ 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, 51, 50, 46, 52, 48, -/* 0x9050 */ 10, 48, 48, 48, 48, 48, 48, 48, 57, 32, 82, 95, 51, 56, 54, 95, -/* 0x9060 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, -/* 0x9070 */ 51, 50, 46, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x9080 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 99, -/* 0x9090 */ 116,111,107, 51, 50, 46, 52, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x90a0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x90b0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x90c0 */ 48, 48, 48, 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x90d0 */ 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, 51, 50, 46, 48, 48, -/* 0x90e0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x90f0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 67, 65, 76, 76, 84, 82, -/* 0x9100 */ 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x9110 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x9120 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, -/* 0x9130 */ 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x9140 */ 32,102,105,108,116,101,114, 95,108,101,110,103,116,104, 10, 10, -/* 0x9150 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x9160 */ 68, 83, 32, 70, 79, 82, 32, 91, 67, 84, 67, 76, 69, 86, 69, 49, -/* 0x9170 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x9180 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x9190 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95, 51, -/* 0x91a0 */ 56, 54, 95, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102, -/* 0x91b0 */ 105,108,116,101,114, 95, 99,116,111, 10, 48, 48, 48, 48, 48, 48, -/* 0x91c0 */ 48, 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x91d0 */ 32, 32, 32, 32, 32, 67, 65, 76, 76, 84, 82, 48, 48, 10, 10, 82, -/* 0x91e0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x91f0 */ 83, 32, 70, 79, 82, 32, 91, 67, 65, 76, 76, 84, 82, 48, 50, 93, -/* 0x9200 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x9210 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x9220 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,102, 32, 82, 95, 51, 56, -/* 0x9230 */ 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 65, -/* 0x9240 */ 76, 76, 84, 82, 48, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x9250 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x9260 */ 67, 65, 76, 76, 84, 82, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x9270 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x9280 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x9290 */ 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, -/* 0x92a0 */ 32, 32, 32, 32, 32, 32, 32,102,105,108,116,101,114, 95,108,101, -/* 0x92b0 */ 110,103,116,104, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x92c0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 67, 65, -/* 0x92d0 */ 76, 76, 84, 82, 49, 49, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x92e0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x92f0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x9300 */ 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x9310 */ 32, 32, 32, 32, 32, 67, 65, 76, 76, 84, 82, 49, 51, 10, 10, 82, -/* 0x9320 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x9330 */ 83, 32, 70, 79, 82, 32, 91, 67, 84, 67, 76, 69, 86, 69, 50, 93, -/* 0x9340 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x9350 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x9360 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95, 51, 56, -/* 0x9370 */ 54, 95, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,105, -/* 0x9380 */ 108,116,101,114, 95, 99,116,111, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x9390 */ 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x93a0 */ 32, 32, 32, 32, 67, 65, 76, 76, 84, 82, 49, 49, 10, 10, 82, 69, -/* 0x93b0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x93c0 */ 32, 70, 79, 82, 32, 91, 67, 65, 76, 76, 84, 82, 49, 51, 93, 58, -/* 0x93d0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, -/* 0x93e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, -/* 0x93f0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, 95, 51, 56, 54, -/* 0x9400 */ 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 65, 76, -/* 0x9410 */ 76, 84, 82, 49, 48, 10 +/* 0x0020 */ 148, 26, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, +/* 0x0030 */ 0, 0, 0, 0,232,252,255,255,255, 89, 0,131,124, 36, 16, 73, +/* 0x0040 */ 117, 79, 85,137,229, 83, 86, 87,139,117, 8,139, 77, 12,139, 85, +/* 0x0050 */ 16,141, 76, 14,253,137,243,235, 45, 57,206,115, 48, 86, 94,172, +/* 0x0060 */ 60,128,114, 10, 60,143,119, 6,128,126,254, 15,116, 6, 44,232, +/* 0x0070 */ 60, 1,119,229, 57,206,115, 21, 86,173, 40,208,117,224, 95, 15, +/* 0x0080 */ 200, 41,248, 1,216,171, 57,206,115, 3,172,235,225, 95, 94, 91, +/* 0x0090 */ 93,195, 96,139,116, 36, 36,139, 76, 36, 40, 1,241,137, 76, 36, +/* 0x00a0 */ 36,139,124, 36, 44, 49,219, 49,201,131,205,255,235, 70, 1,219, +/* 0x00b0 */ 116, 2,243,195,139, 30,131,238,252, 17,219,138, 22,243,195,141, +/* 0x00c0 */ 4, 47,131,249, 5,138, 16,118, 30,131,253,252,119, 25,131,233, +/* 0x00d0 */ 4,139, 16,131,192, 4,131,233, 4,137, 23,141,127, 4,115,241, +/* 0x00e0 */ 131,193, 4,138, 16,116, 11, 64,136, 23, 73,138, 16,141,127, 1, +/* 0x00f0 */ 117,245,243,195,252,128,124, 36, 52, 8, 15,133,199, 0, 0, 0, +/* 0x0100 */ 235, 4, 70,136, 23, 71,138, 22, 1,219,117, 9,139, 30,131,238, +/* 0x0110 */ 252, 17,219,138, 22,114,235,106, 1, 88,235, 16, 72, 1,219,117, +/* 0x0120 */ 9,139, 30,131,238,252, 17,219,138, 22, 17,192, 1,219,117, 9, +/* 0x0130 */ 139, 30,131,238,252, 17,219,138, 22, 17,192, 1,219,117, 9,139, +/* 0x0140 */ 30,131,238,252, 17,219,138, 22,115,210,131,232, 3,114, 26,193, +/* 0x0150 */ 224, 8, 15,182,210, 9,208, 70,131,240,255, 15,132,252,255,255, +/* 0x0160 */ 255,209,248,137,197,114, 62,235, 13, 1,219,117, 7,139, 30,131, +/* 0x0170 */ 238,252, 17,219,114, 47, 65, 1,219,117, 7,139, 30,131,238,252, +/* 0x0180 */ 17,219,114, 33, 1,219,117, 9,139, 30,131,238,252, 17,219,138, +/* 0x0190 */ 22, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115,228, +/* 0x01a0 */ 131,193, 2,235, 15, 1,219,117, 9,139, 30,131,238,252, 17,219, +/* 0x01b0 */ 138, 22, 17,201,129,253, 0,251,255,255,131,209, 2,232,130, 0, +/* 0x01c0 */ 0, 0,233, 63,255,255,255, 87, 94,128,124, 36, 52, 5, 15,133, +/* 0x01d0 */ 186, 0, 0, 0,235, 4, 70,136, 23, 71,138, 22, 1,219,117, 9, +/* 0x01e0 */ 139, 30,131,238,252, 17,219,138, 22,114,235,106, 1, 88,235, 16, +/* 0x01f0 */ 72, 1,219,117, 9,139, 30,131,238,252, 17,219,138, 22, 17,192, +/* 0x0200 */ 1,219,117, 9,139, 30,131,238,252, 17,219,138, 22, 17,192, 1, +/* 0x0210 */ 219,117, 9,139, 30,131,238,252, 17,219,138, 22,115,210,131,232, +/* 0x0220 */ 3,114, 24,193,224, 8, 15,182,210, 9,208, 70,131,240,255, 15, +/* 0x0230 */ 132,252,255,255,255,209,248,137,197,235, 13, 1,219,117, 9,139, +/* 0x0240 */ 30,131,238,252, 17,219,138, 22, 17,201, 1,219,117, 9,139, 30, +/* 0x0250 */ 131,238,252, 17,219,138, 22, 17,201,117, 32, 65, 1,219,117, 9, +/* 0x0260 */ 139, 30,131,238,252, 17,219,138, 22, 17,201, 1,219,117, 7,139, +/* 0x0270 */ 30,131,238,252, 17,219,115,228,131,193, 2,129,253, 0,251,255, +/* 0x0280 */ 255,131,209, 1,232,130, 0, 0, 0,233, 76,255,255,255, 87, 94, +/* 0x0290 */ 128,124, 36, 52, 2, 15,133,167, 0, 0, 0,235, 4, 70,136, 23, +/* 0x02a0 */ 71,138, 22, 1,219,117, 9,139, 30,131,238,252, 17,219,138, 22, +/* 0x02b0 */ 114,235,106, 1, 88, 1,219,117, 9,139, 30,131,238,252, 17,219, +/* 0x02c0 */ 138, 22, 17,192, 1,219,117, 9,139, 30,131,238,252, 17,219,138, +/* 0x02d0 */ 22,115,226,131,232, 3,114, 20,193,224, 8, 15,182,210, 9,208, +/* 0x02e0 */ 70,131,240,255, 15,132,252,255,255,255,137,197,106, 1, 88, 1, +/* 0x02f0 */ 219,117, 9,139, 30,131,238,252, 17,219,138, 22, 17,201, 1,219, +/* 0x0300 */ 117, 9,139, 30,131,238,252, 17,219,138, 22, 17,201,117, 33,137, +/* 0x0310 */ 193,131,192, 2, 1,219,117, 9,139, 30,131,238,252, 17,219,138, +/* 0x0320 */ 22, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115,228, +/* 0x0330 */ 129,253, 0,243,255,255, 17,193,232,130, 0, 0, 0,233, 95,255, +/* 0x0340 */ 255,255,137,229,141,156, 36, 0, 0, 0, 0, 49,192, 80, 57,220, +/* 0x0350 */ 117,251, 70, 70, 83,104, 0, 0, 0, 0, 87,131,195, 4, 83,104, +/* 0x0360 */ 0, 0, 0, 0, 86,131,195, 4, 83, 80,199, 3, 0, 0, 0, 0, +/* 0x0370 */ 137,229,139, 85, 40,172, 74,136,193, 36, 7,192,233, 3,187, 0, +/* 0x0380 */ 253,255,255,211,227,141,164, 92,144,241,255,255,131,228,224,106, +/* 0x0390 */ 0,106, 0,137,227, 83,131,195, 4,139, 77, 48,255, 49, 87, 83, +/* 0x03a0 */ 131,195, 4,136, 67, 2,172, 74,136,193, 36, 15,136, 3,192,233, +/* 0x03b0 */ 4,136, 75, 1, 82, 86, 83, 80, 85, 87, 86, 83,131,236,124,139, +/* 0x03c0 */ 148, 36,144, 0, 0, 0,199, 68, 36,116, 0, 0, 0, 0,198, 68, +/* 0x03d0 */ 36,115, 0,139,172, 36,156, 0, 0, 0,141, 66, 4,137, 68, 36, +/* 0x03e0 */ 120,184, 1, 0, 0, 0, 15,182, 74, 2,137,195,211,227,137,217, +/* 0x03f0 */ 73,137, 76, 36,108, 15,182, 74, 1,211,224, 72,137, 68, 36,104, +/* 0x0400 */ 139,132, 36,168, 0, 0, 0, 15,182, 50,199, 69, 0, 0, 0, 0, +/* 0x0410 */ 0,199, 68, 36, 96, 0, 0, 0, 0,199, 0, 0, 0, 0, 0,184, +/* 0x0420 */ 0, 3, 0, 0,137,116, 36,100,199, 68, 36, 92, 1, 0, 0, 0, +/* 0x0430 */ 199, 68, 36, 88, 1, 0, 0, 0,199, 68, 36, 84, 1, 0, 0, 0, +/* 0x0440 */ 199, 68, 36, 80, 1, 0, 0, 0, 15,182, 74, 1, 1,241,211,224, +/* 0x0450 */ 141,136, 54, 7, 0, 0, 57, 76, 36,116,115, 14,139, 68, 36,120, +/* 0x0460 */ 102,199, 0, 0, 4,131,192, 2,226,246,139,156, 36,148, 0, 0, +/* 0x0470 */ 0, 49,255,199, 68, 36, 72,255,255,255,255,137,218, 3,148, 36, +/* 0x0480 */ 152, 0, 0, 0,137, 84, 36, 76, 49,210, 59, 92, 36, 76, 15,132, +/* 0x0490 */ 124, 9, 0, 0, 15,182, 3,193,231, 8, 66, 67, 9,199,131,250, +/* 0x04a0 */ 4,126,231,139,140, 36,164, 0, 0, 0, 57, 76, 36,116, 15,131, +/* 0x04b0 */ 100, 9, 0, 0,139,116, 36,116, 35,116, 36,108,139, 68, 36, 96, +/* 0x04c0 */ 139, 84, 36,120,193,224, 4,137,116, 36, 68, 1,240,129,124, 36, +/* 0x04d0 */ 72,255,255,255, 0,141, 44, 66,119, 24, 59, 92, 36, 76, 15,132, +/* 0x04e0 */ 44, 9, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, +/* 0x04f0 */ 9,199,139, 68, 36, 72,102,139, 85, 0,193,232, 11, 15,183,202, +/* 0x0500 */ 15,175,193, 57,199, 15,131,221, 1, 0, 0,137, 68, 36, 72,184, +/* 0x0510 */ 0, 8, 0, 0, 41,200,138, 76, 36,100,193,248, 5,190, 1, 0, +/* 0x0520 */ 0, 0,141, 4, 2, 15,182, 84, 36,115,102,137, 69, 0,139, 68, +/* 0x0530 */ 36,116, 35, 68, 36,104,139,108, 36,120,211,224,185, 8, 0, 0, +/* 0x0540 */ 0, 43, 76, 36,100,211,250, 1,208,105,192, 0, 6, 0, 0,131, +/* 0x0550 */ 124, 36, 96, 6,141,132, 5,108, 14, 0, 0,137, 68, 36, 20, 15, +/* 0x0560 */ 142,202, 0, 0, 0,139, 68, 36,116, 43, 68, 36, 92,139,148, 36, +/* 0x0570 */ 160, 0, 0, 0, 15,182, 4, 2,137, 68, 36, 64,209,100, 36, 64, +/* 0x0580 */ 139, 76, 36, 64,141, 20, 54,139,108, 36, 20,129,225, 0, 1, 0, +/* 0x0590 */ 0,129,124, 36, 72,255,255,255, 0,141, 68, 77, 0,137, 76, 36, +/* 0x05a0 */ 60,141, 44, 16,119, 24, 59, 92, 36, 76, 15,132, 96, 8, 0, 0, +/* 0x05b0 */ 193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, +/* 0x05c0 */ 36, 72,102,139,141, 0, 2, 0, 0,193,232, 11, 15,183,241, 15, +/* 0x05d0 */ 175,198, 57,199,115, 35,137, 68, 36, 72,184, 0, 8, 0, 0, 41, +/* 0x05e0 */ 240,137,214,193,248, 5,131,124, 36, 60, 0,141, 4, 1,102,137, +/* 0x05f0 */ 133, 0, 2, 0, 0,116, 34,235, 46, 41, 68, 36, 72, 41,199,137, +/* 0x0600 */ 200,141,114, 1,102,193,232, 5,102, 41,193,131,124, 36, 60, 0, +/* 0x0610 */ 102,137,141, 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, 15, +/* 0x0620 */ 142, 87,255,255,255,235,121,129,254,255, 0, 0, 0,127,113,141, +/* 0x0630 */ 20, 54,139,108, 36, 20, 1,213,129,124, 36, 72,255,255,255, 0, +/* 0x0640 */ 119, 24, 59, 92, 36, 76, 15,132,196, 7, 0, 0,193,100, 36, 72, +/* 0x0650 */ 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, +/* 0x0660 */ 77, 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 25,137, +/* 0x0670 */ 68, 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,141, +/* 0x0680 */ 4, 1,102,137, 69, 0,235,159, 41, 68, 36, 72, 41,199,137,200, +/* 0x0690 */ 141,114, 1,102,193,232, 5,102, 41,193,102,137, 77, 0,235,135, +/* 0x06a0 */ 139, 84, 36,116,137,240,139,140, 36,160, 0, 0, 0,136, 68, 36, +/* 0x06b0 */ 115,136, 4, 10, 66,131,124, 36, 96, 3,137, 84, 36,116,127, 13, +/* 0x06c0 */ 199, 68, 36, 96, 0, 0, 0, 0,233, 27, 7, 0, 0,131,124, 36, +/* 0x06d0 */ 96, 9,127, 10,131,108, 36, 96, 3,233, 10, 7, 0, 0,131,108, +/* 0x06e0 */ 36, 96, 6,233, 0, 7, 0, 0,139, 76, 36, 72, 41,199,139,116, +/* 0x06f0 */ 36, 96, 41,193,137,208,102,193,232, 5,102, 41,194,129,249,255, +/* 0x0700 */ 255,255, 0,102,137, 85, 0,139,108, 36,120,141,116,117, 0,137, +/* 0x0710 */ 116, 36, 56,119, 22, 59, 92, 36, 76, 15,132,241, 6, 0, 0, 15, +/* 0x0720 */ 182, 3,193,231, 8,193,225, 8, 67, 9,199,139,108, 36, 56,137, +/* 0x0730 */ 200,193,232, 11,102,139,149,128, 1, 0, 0, 15,183,234, 15,175, +/* 0x0740 */ 197, 57,199,115, 82,137,198,184, 0, 8, 0, 0, 41,232,139,108, +/* 0x0750 */ 36, 88,193,248, 5,139, 76, 36, 84,141, 4, 2,139, 84, 36, 56, +/* 0x0760 */ 137, 76, 36, 80,139, 76, 36,120,102,137,130,128, 1, 0, 0,139, +/* 0x0770 */ 68, 36, 92,137,108, 36, 84,137, 68, 36, 88, 49,192,131,124, 36, +/* 0x0780 */ 96, 6, 15,159,192,129,193,100, 6, 0, 0,141, 4, 64,137, 68, +/* 0x0790 */ 36, 96,233,116, 2, 0, 0,137,206, 41,199, 41,198,137,208,102, +/* 0x07a0 */ 193,232, 5,139, 76, 36, 56,102, 41,194,129,254,255,255,255, 0, +/* 0x07b0 */ 102,137,145,128, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 77, +/* 0x07c0 */ 6, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, +/* 0x07d0 */ 108, 36, 56,137,242,193,234, 11,102,139,141,152, 1, 0, 0, 15, +/* 0x07e0 */ 183,193, 15,175,208, 57,215, 15,131,227, 0, 0, 0,189, 0, 8, +/* 0x07f0 */ 0, 0,137,214, 41,197,199, 68, 36, 52, 0, 8, 0, 0,137,232, +/* 0x0800 */ 193,248, 5,141, 4, 1,139, 76, 36, 56,102,137,129,152, 1, 0, +/* 0x0810 */ 0,139, 68, 36, 96,139, 76, 36, 68,193,224, 5, 3, 68, 36,120, +/* 0x0820 */ 129,250,255,255,255, 0,141, 44, 72,119, 22, 59, 92, 36, 76, 15, +/* 0x0830 */ 132,219, 5, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9, +/* 0x0840 */ 199,102,139,149,224, 1, 0, 0,137,240,193,232, 11, 15,183,202, +/* 0x0850 */ 15,175,193, 57,199,115, 96, 41, 76, 36, 52,193,124, 36, 52, 5, +/* 0x0860 */ 139,116, 36, 52,137, 68, 36, 72,131,124, 36,116, 0,141, 4, 50, +/* 0x0870 */ 102,137,133,224, 1, 0, 0, 15,132,147, 5, 0, 0, 49,192,131, +/* 0x0880 */ 124, 36, 96, 6,139,172, 36,160, 0, 0, 0,139, 84, 36,116, 15, +/* 0x0890 */ 159,192,141, 68, 0, 9,137, 68, 36, 96,139, 68, 36,116, 43, 68, +/* 0x08a0 */ 36, 92,138, 68, 5, 0,136, 68, 36,115,136, 4, 42, 66,137, 84, +/* 0x08b0 */ 36,116,233, 49, 5, 0, 0, 41,198, 41,199,137,208,102,193,232, +/* 0x08c0 */ 5,102, 41,194,102,137,149,224, 1, 0, 0,233, 31, 1, 0, 0, +/* 0x08d0 */ 137,200, 41,214,102,193,232, 5,139,108, 36, 56,102, 41,193, 41, +/* 0x08e0 */ 215,129,254,255,255,255, 0,102,137,141,152, 1, 0, 0,119, 22, +/* 0x08f0 */ 59, 92, 36, 76, 15,132, 22, 5, 0, 0, 15,182, 3,193,231, 8, +/* 0x0900 */ 193,230, 8, 67, 9,199,139, 76, 36, 56,137,240,193,232, 11,102, +/* 0x0910 */ 139,145,176, 1, 0, 0, 15,183,202, 15,175,193, 57,199,115, 35, +/* 0x0920 */ 137,198,184, 0, 8, 0, 0, 41,200,139,108, 36, 56,193,248, 5, +/* 0x0930 */ 141, 4, 2,102,137,133,176, 1, 0, 0,139, 68, 36, 88,233,160, +/* 0x0940 */ 0, 0, 0,137,241, 41,199, 41,193,137,208,102,193,232, 5,102, +/* 0x0950 */ 41,194,139, 68, 36, 56,129,249,255,255,255, 0,102,137,144,176, +/* 0x0960 */ 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132,161, 4, 0, 0, 15, +/* 0x0970 */ 182, 3,193,231, 8,193,225, 8, 67, 9,199,139,116, 36, 56,137, +/* 0x0980 */ 200,193,232, 11,102,139,150,200, 1, 0, 0, 15,183,234, 15,175, +/* 0x0990 */ 197, 57,199,115, 32,137,198,184, 0, 8, 0, 0, 41,232,139,108, +/* 0x09a0 */ 36, 56,193,248, 5,141, 4, 2,102,137,133,200, 1, 0, 0,139, +/* 0x09b0 */ 68, 36, 84,235, 38,137,206, 41,199, 41,198,137,208,102,193,232, +/* 0x09c0 */ 5,102, 41,194,139, 68, 36, 56,102,137,144,200, 1, 0, 0,139, +/* 0x09d0 */ 84, 36, 84,139, 68, 36, 80,137, 84, 36, 80,139, 76, 36, 88,137, +/* 0x09e0 */ 76, 36, 84,139,108, 36, 92,137, 68, 36, 92,137,108, 36, 88, 49, +/* 0x09f0 */ 192,131,124, 36, 96, 6,139, 76, 36,120, 15,159,192,129,193,104, +/* 0x0a00 */ 10, 0, 0,141, 68, 64, 8,137, 68, 36, 96,129,254,255,255,255, +/* 0x0a10 */ 0,119, 22, 59, 92, 36, 76, 15,132,243, 3, 0, 0, 15,182, 3, +/* 0x0a20 */ 193,231, 8,193,230, 8, 67, 9,199,102,139, 17,137,240,193,232, +/* 0x0a30 */ 11, 15,183,234, 15,175,197, 57,199,115, 47,137, 68, 36, 72,184, +/* 0x0a40 */ 0, 8, 0, 0, 41,232,193,100, 36, 68, 4,193,248, 5,199, 68, +/* 0x0a50 */ 36, 44, 0, 0, 0, 0,141, 4, 2,102,137, 1,139, 68, 36, 68, +/* 0x0a60 */ 141, 76, 1, 4,137, 76, 36, 16,235,114, 41,198, 41,199,137,208, +/* 0x0a70 */ 102,193,232, 5,102, 41,194,129,254,255,255,255, 0,102,137, 17, +/* 0x0a80 */ 119, 22, 59, 92, 36, 76, 15,132,132, 3, 0, 0, 15,182, 3,193, +/* 0x0a90 */ 231, 8,193,230, 8, 67, 9,199,102,139, 81, 2,137,240,193,232, +/* 0x0aa0 */ 11, 15,183,234, 15,175,197, 57,199,115, 59,137, 68, 36, 72,184, +/* 0x0ab0 */ 0, 8, 0, 0, 41,232,193,100, 36, 68, 4,193,248, 5,199, 68, +/* 0x0ac0 */ 36, 44, 8, 0, 0, 0,141, 4, 2,139, 84, 36, 68,102,137, 65, +/* 0x0ad0 */ 2,141,140, 17, 4, 1, 0, 0,137, 76, 36, 16,199, 68, 36, 48, +/* 0x0ae0 */ 3, 0, 0, 0,235, 47, 41,198, 41,199,137,208,137,116, 36, 72, +/* 0x0af0 */ 102,193,232, 5,199, 68, 36, 44, 16, 0, 0, 0,102, 41,194,199, +/* 0x0b00 */ 68, 36, 48, 8, 0, 0, 0,102,137, 81, 2,129,193, 4, 2, 0, +/* 0x0b10 */ 0,137, 76, 36, 16,139, 76, 36, 48,186, 1, 0, 0, 0,137, 76, +/* 0x0b20 */ 36, 40,141, 44, 18,139,116, 36, 16, 1,238,129,124, 36, 72,255, +/* 0x0b30 */ 255,255, 0,119, 24, 59, 92, 36, 76, 15,132,209, 2, 0, 0,193, +/* 0x0b40 */ 100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, +/* 0x0b50 */ 72,102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, +/* 0x0b60 */ 24,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, +/* 0x0b70 */ 4, 2,137,234,102,137, 6,235, 21, 41, 68, 36, 72, 41,199,137, +/* 0x0b80 */ 208,102,193,232, 5,102, 41,194,102,137, 22,141, 85, 1,139,116, +/* 0x0b90 */ 36, 40, 78,137,116, 36, 40,117,137,138, 76, 36, 48,184, 1, 0, +/* 0x0ba0 */ 0, 0,211,224, 41,194, 3, 84, 36, 44,131,124, 36, 96, 3,137, +/* 0x0bb0 */ 84, 36, 12, 15,143,231, 1, 0, 0,131, 68, 36, 96, 7,131,250, +/* 0x0bc0 */ 3,137,208,126, 5,184, 3, 0, 0, 0,139,116, 36,120,193,224, +/* 0x0bd0 */ 7,199, 68, 36, 36, 6, 0, 0, 0,141,132, 6, 96, 3, 0, 0, +/* 0x0be0 */ 137, 68, 36, 8,184, 1, 0, 0, 0,141, 44, 0,139,116, 36, 8, +/* 0x0bf0 */ 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, +/* 0x0c00 */ 15,132, 10, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, +/* 0x0c10 */ 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15,183, +/* 0x0c20 */ 202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8, 0, +/* 0x0c30 */ 0, 41,200,193,248, 5,141, 4, 2,102,137, 6,137,232,235, 21, +/* 0x0c40 */ 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194,141, +/* 0x0c50 */ 69, 1,102,137, 22,139,108, 36, 36, 77,137,108, 36, 36,117,137, +/* 0x0c60 */ 141, 80,192,131,250, 3,137, 20, 36, 15,142, 39, 1, 0, 0,137, +/* 0x0c70 */ 208,137,214,209,248,131,230, 1,141, 72,255,131,206, 2,131,250, +/* 0x0c80 */ 13,137, 76, 36, 32,127, 28,139,108, 36,120,211,230, 1,210,137, +/* 0x0c90 */ 52, 36,141, 68,117, 0, 41,208, 5, 94, 5, 0, 0,137, 68, 36, +/* 0x0ca0 */ 4,235, 86,141, 80,251,129,124, 36, 72,255,255,255, 0,119, 24, +/* 0x0cb0 */ 59, 92, 36, 76, 15,132, 86, 1, 0, 0,193,100, 36, 72, 8, 15, +/* 0x0cc0 */ 182, 3,193,231, 8, 67, 9,199,209,108, 36, 72, 1,246, 59,124, +/* 0x0cd0 */ 36, 72,114, 7, 43,124, 36, 72,131,206, 1, 74,117,200,139, 68, +/* 0x0ce0 */ 36,120,193,230, 4,137, 52, 36, 5, 68, 6, 0, 0,199, 68, 36, +/* 0x0cf0 */ 32, 4, 0, 0, 0,137, 68, 36, 4,199, 68, 36, 28, 1, 0, 0, +/* 0x0d00 */ 0,184, 1, 0, 0, 0,139,108, 36, 4, 1,192,137, 68, 36, 24, +/* 0x0d10 */ 1,197,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, +/* 0x0d20 */ 15,132,234, 0, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, +/* 0x0d30 */ 8, 67, 9,199,139, 68, 36, 72,102,139, 85, 0,193,232, 11, 15, +/* 0x0d40 */ 183,242, 15,175,198, 57,199,115, 27,137, 68, 36, 72,184, 0, 8, +/* 0x0d50 */ 0, 0, 41,240,193,248, 5,141, 4, 2,102,137, 69, 0,139, 68, +/* 0x0d60 */ 36, 24,235, 31, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5, +/* 0x0d70 */ 102, 41,194,139, 68, 36, 24,102,137, 85, 0,139, 84, 36, 28, 64, +/* 0x0d80 */ 9, 20, 36,139, 76, 36, 32,209,100, 36, 28, 73,137, 76, 36, 32, +/* 0x0d90 */ 15,133,112,255,255,255,139, 52, 36, 70,137,116, 36, 92,116, 89, +/* 0x0da0 */ 139, 76, 36, 12,139,108, 36,116,131,193, 2, 57,108, 36, 92,119, +/* 0x0db0 */ 95,139,132, 36,160, 0, 0, 0,137,234, 43, 68, 36, 92, 3,148, +/* 0x0dc0 */ 36,160, 0, 0, 0,141, 52, 40,138, 6, 70,136, 68, 36,115,136, +/* 0x0dd0 */ 2, 66,255, 68, 36,116, 73,116, 15,139,172, 36,164, 0, 0, 0, +/* 0x0de0 */ 57,108, 36,116,114,226,235, 17,139,132, 36,164, 0, 0, 0, 57, +/* 0x0df0 */ 68, 36,116, 15,130,187,246,255,255,129,124, 36, 72,255,255,255, +/* 0x0e00 */ 0,119, 21, 59, 92, 36, 76,184, 1, 0, 0, 0,116, 41,235, 7, +/* 0x0e10 */ 184, 1, 0, 0, 0,235, 32, 67, 43,156, 36,148, 0, 0, 0, 49, +/* 0x0e20 */ 192,139,148, 36,156, 0, 0, 0,139, 76, 36,116,137, 26,139,156, +/* 0x0e30 */ 36,168, 0, 0, 0,137, 11,131,196,124, 91, 94, 95, 93, 85, 87, +/* 0x0e40 */ 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68, 36,116, +/* 0x0e50 */ 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0, 0, 0, +/* 0x0e60 */ 141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182, 74, 2, +/* 0x0e70 */ 137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74, 1,211, +/* 0x0e80 */ 224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15,182, 50, +/* 0x0e90 */ 199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0, 0,199, +/* 0x0ea0 */ 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100,199, 68, +/* 0x0eb0 */ 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0,199, 68, +/* 0x0ec0 */ 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0, 15,182, +/* 0x0ed0 */ 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76, 36,116, +/* 0x0ee0 */ 115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2,226,246, +/* 0x0ef0 */ 139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255,255,255, +/* 0x0f00 */ 255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76, 49,210, +/* 0x0f10 */ 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193,231, 8, +/* 0x0f20 */ 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0, 0, 0, +/* 0x0f30 */ 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116, 35,116, +/* 0x0f40 */ 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137,116, 36, +/* 0x0f50 */ 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66,119, 24, +/* 0x0f60 */ 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72, 8, 15, +/* 0x0f70 */ 182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, 85, 0, +/* 0x0f80 */ 193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221, 1, 0, +/* 0x0f90 */ 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76, 36,100, +/* 0x0fa0 */ 193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84, 36,115, +/* 0x0fb0 */ 102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108, 36,120, +/* 0x0fc0 */ 211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1,208,105, +/* 0x0fd0 */ 192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108, 14, 0, +/* 0x0fe0 */ 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36,116, 43, +/* 0x0ff0 */ 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2,137, 68, +/* 0x1000 */ 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139,108, 36, +/* 0x1010 */ 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255, 0,141, +/* 0x1020 */ 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92, 36, 76, +/* 0x1030 */ 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, +/* 0x1040 */ 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0, 0,193, +/* 0x1050 */ 232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68, 36, 72, +/* 0x1060 */ 184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124, 36, 60, +/* 0x1070 */ 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235, 46, 41, +/* 0x1080 */ 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102, 41, +/* 0x1090 */ 193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116, 14,129, +/* 0x10a0 */ 254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129,254,255, +/* 0x10b0 */ 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213,129,124, +/* 0x10c0 */ 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132,196, 7, +/* 0x10d0 */ 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199, +/* 0x10e0 */ 139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241, 15,175, +/* 0x10f0 */ 198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240, +/* 0x1100 */ 137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159, 41, 68, +/* 0x1110 */ 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102, 41,193, +/* 0x1120 */ 102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140, 36,160, +/* 0x1130 */ 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36, 96, 3, +/* 0x1140 */ 137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0,233, 27, +/* 0x1150 */ 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96, 3,233, +/* 0x1160 */ 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0,139, 76, +/* 0x1170 */ 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193,232, 5, +/* 0x1180 */ 102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139,108, 36, +/* 0x1190 */ 120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36, 76, 15, +/* 0x11a0 */ 132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8, 67, 9, +/* 0x11b0 */ 199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128, 1, 0, +/* 0x11c0 */ 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184, 0, 8, +/* 0x11d0 */ 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36, 84,141, +/* 0x11e0 */ 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120,102,137, +/* 0x11f0 */ 130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137, 68, 36, +/* 0x1200 */ 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100, 6, 0, +/* 0x1210 */ 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137,206, 41, +/* 0x1220 */ 199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102, 41,194, +/* 0x1230 */ 129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119, 22, 59, +/* 0x1240 */ 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231, 8,193, +/* 0x1250 */ 230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11,102,139, +/* 0x1260 */ 141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15,131,227, +/* 0x1270 */ 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68, 36, 52, +/* 0x1280 */ 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76, 36, 56, +/* 0x1290 */ 102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36, 68,193, +/* 0x12a0 */ 224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44, 72,119, +/* 0x12b0 */ 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3,193,231, +/* 0x12c0 */ 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0,137,240, +/* 0x12d0 */ 193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41, 76, 36, +/* 0x12e0 */ 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72,131,124, +/* 0x12f0 */ 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15,132,147, +/* 0x1300 */ 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160, 0, 0, +/* 0x1310 */ 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68, 36, 96, +/* 0x1320 */ 139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68, 36,115, +/* 0x1330 */ 136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41,198, 41, +/* 0x1340 */ 199,137,208,102,193,232, 5,102, 41,194,102,137,149,224, 1, 0, +/* 0x1350 */ 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5,139,108, +/* 0x1360 */ 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102,137,141, +/* 0x1370 */ 152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5, 0, 0, +/* 0x1380 */ 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76, 36, 56, +/* 0x1390 */ 137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183,202, 15, +/* 0x13a0 */ 175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41,200,139, +/* 0x13b0 */ 108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1, 0, 0, +/* 0x13c0 */ 139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41,193,137, +/* 0x13d0 */ 208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249,255,255, +/* 0x13e0 */ 255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36, 76, 15, +/* 0x13f0 */ 132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8, 67, 9, +/* 0x1400 */ 199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200, 1, 0, +/* 0x1410 */ 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184, 0, 8, +/* 0x1420 */ 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2,102,137, +/* 0x1430 */ 133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41,199, 41, +/* 0x1440 */ 198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,102,137, +/* 0x1450 */ 144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137, 84, 36, +/* 0x1460 */ 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137, 68, 36, +/* 0x1470 */ 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76, 36,120, +/* 0x1480 */ 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137, 68, 36, +/* 0x1490 */ 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15,132,243, +/* 0x14a0 */ 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,102, +/* 0x14b0 */ 139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57,199,115, +/* 0x14c0 */ 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100, 36, 68, +/* 0x14d0 */ 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4, 2,102, +/* 0x14e0 */ 137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16,235,114, +/* 0x14f0 */ 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129,254,255, +/* 0x1500 */ 255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132,132, 3, +/* 0x1510 */ 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,102,139, +/* 0x1520 */ 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57,199,115, +/* 0x1530 */ 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100, 36, 68, +/* 0x1540 */ 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4, 2,139, +/* 0x1550 */ 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0,137, 76, +/* 0x1560 */ 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198, 41,199, +/* 0x1570 */ 137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44, 16, 0, +/* 0x1580 */ 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102,137, 81, +/* 0x1590 */ 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36, 48,186, +/* 0x15a0 */ 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36, 16, 1, +/* 0x15b0 */ 238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15, +/* 0x15c0 */ 132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, +/* 0x15d0 */ 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15,183,202, +/* 0x15e0 */ 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8, 0, 0, +/* 0x15f0 */ 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235, 21, 41, +/* 0x1600 */ 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194,102,137, +/* 0x1610 */ 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117,137,138, +/* 0x1620 */ 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84, 36, 44, +/* 0x1630 */ 131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0, 0,131, +/* 0x1640 */ 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0, 0, 0, +/* 0x1650 */ 139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0, 0,141, +/* 0x1660 */ 132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0, 0,141, +/* 0x1670 */ 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255,255, 0, +/* 0x1680 */ 119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100, 36, 72, +/* 0x1690 */ 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, +/* 0x16a0 */ 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24,137, 68, +/* 0x16b0 */ 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102, +/* 0x16c0 */ 137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208,102,193, +/* 0x16d0 */ 232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36, 36, 77, +/* 0x16e0 */ 137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20, 36, 15, +/* 0x16f0 */ 142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1,141, 72, +/* 0x1700 */ 255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139,108, 36, +/* 0x1710 */ 120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208, 5, 94, +/* 0x1720 */ 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124, 36, 72, +/* 0x1730 */ 255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1, 0, 0, +/* 0x1740 */ 193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,209,108, +/* 0x1750 */ 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72,131,206, +/* 0x1760 */ 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36, 5, 68, +/* 0x1770 */ 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36, 4,199, +/* 0x1780 */ 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108, 36, 4, +/* 0x1790 */ 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255,255, 0, +/* 0x17a0 */ 119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100, 36, 72, +/* 0x17b0 */ 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, +/* 0x17c0 */ 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115, 27,137, +/* 0x17d0 */ 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141, 4, 2, +/* 0x17e0 */ 102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72, 41,199, +/* 0x17f0 */ 137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102,137, 85, +/* 0x1800 */ 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209,100, 36, +/* 0x1810 */ 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52, 36, 70, +/* 0x1820 */ 137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116,131,193, +/* 0x1830 */ 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0,137,234, +/* 0x1840 */ 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40,138, 6, +/* 0x1850 */ 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116, 15,139, +/* 0x1860 */ 172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17,139,132, +/* 0x1870 */ 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255,255,129, +/* 0x1880 */ 124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184, 1, 0, +/* 0x1890 */ 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67, 43,156, +/* 0x18a0 */ 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0,139, 76, +/* 0x18b0 */ 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131,196,124, +/* 0x18c0 */ 91, 94, 95, 93, 3,115,252, 3,123,248, 49,192,141,140, 36, 0, +/* 0x18d0 */ 255,255,255,137,236, 80, 57,204,117,251,137,236, 49,201, 43,124, +/* 0x18e0 */ 36, 44,139, 76, 36, 48,137, 57, 43,116, 36, 36,137,116, 36, 28, +/* 0x18f0 */ 97,195, 93,141,117,243, 15,183, 69, 0,141, 77, 2, 81, 1,197, +/* 0x1900 */ 137,242,137,247,173, 41,199,137,241,173, 41,193, 81, 41,202, 82, +/* 0x1910 */ 87,233,199, 0, 0, 0, 91,141,119, 28, 41,201, 1,206,139, 78, +/* 0x1920 */ 4,131, 62, 1,117,246,129,126, 10, 76, 73, 78, 75,117,237,129, +/* 0x1930 */ 126, 14, 69, 68, 73, 84,117,228,139, 78, 24,137,222,106, 5,173, +/* 0x1940 */ 80,137,226, 81,255,118, 4, 82, 81,173, 80,173, 86,255,213,131, +/* 0x1950 */ 196, 20, 95, 87, 87,176, 74, 15,182,192,137,225, 13, 0, 0, 12, +/* 0x1960 */ 0,232, 12, 0, 0, 0,115, 3,131,200,255,194, 12, 0,176, 4, +/* 0x1970 */ 235,229, 90, 15, 52, 96,137,230,139, 68, 36, 36,131,236,120,137, +/* 0x1980 */ 231, 80,176, 10,170, 88,170,193,232, 8,117,250,106, 8, 88, 80, +/* 0x1990 */ 176, 32,232, 28, 0, 0, 0, 88, 72,117,244,176, 10,170,151, 41, +/* 0x19a0 */ 224,137,225, 80, 81,106, 2,232,194,255,255,255,131,196,120, 97, +/* 0x19b0 */ 194, 4, 0,170,173,232, 16, 0, 0, 0, 48, 49, 50, 51, 52, 53, +/* 0x19c0 */ 54, 55, 56, 57, 97, 98, 99,100,101,102, 91,106, 8, 89,193,192, +/* 0x19d0 */ 4,137,194,131,224, 15,215,170,146, 73,117,242,195,232, 52,255, +/* 0x19e0 */ 255,255,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108, +/* 0x19f0 */ 102, 51, 50, 45,105, 51, 56, 54, 10, 10, 83,101, 99,116,105,111, +/* 0x1a00 */ 110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, +/* 0x1a10 */ 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, +/* 0x1a20 */ 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, +/* 0x1a30 */ 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108, +/* 0x1a40 */ 103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 77, 65, +/* 0x1a50 */ 67, 72, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1a60 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1a70 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1a80 */ 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1a90 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, +/* 0x1aa0 */ 78, 76, 89, 10, 32, 32, 49, 32, 77, 65, 67, 72, 95, 85, 78, 67, +/* 0x1ab0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1ad0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 57, 32, 32, 50, 42, +/* 0x1ae0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x1af0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 95, 72, +/* 0x1b00 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 98, +/* 0x1b10 */ 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1b20 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 57, 32, +/* 0x1b30 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, +/* 0x1b40 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, +/* 0x1b50 */ 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1b60 */ 48, 48,100, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1b70 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1b80 */ 102, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1b90 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, +/* 0x1ba0 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32, +/* 0x1bb0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 99, 55, 32, 32, +/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1bd0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 99, 57, 32, 32, 50, 42, +/* 0x1be0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x1bf0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, +/* 0x1c00 */ 53, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1c10 */ 48, 48, 48, 48, 48, 48, 98, 50, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1c20 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1c30 */ 48, 48, 48, 50, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1c40 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, +/* 0x1c50 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, +/* 0x1c60 */ 95, 68, 69, 67, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1c70 */ 50,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1c80 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 52, 50, +/* 0x1c90 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1ca0 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1cb0 */ 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, +/* 0x1cc0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 52, 56, 32, 32, 48, 48, +/* 0x1cd0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ce0 */ 32, 32, 48, 48, 48, 48, 48, 51, 55, 48, 32, 32, 50, 42, 42, 48, +/* 0x1cf0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, +/* 0x1d00 */ 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x1d10 */ 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97, 56, 54, 32, +/* 0x1d20 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1d30 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 98, 56, 32, 32, 50, +/* 0x1d40 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1d50 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, +/* 0x1d60 */ 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97, +/* 0x1d70 */ 56, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,101, 51,101, +/* 0x1d90 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1da0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 76, +/* 0x1db0 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, +/* 0x1dc0 */ 48, 48, 48, 49, 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1dd0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, +/* 0x1de0 */ 56, 99, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1df0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, +/* 0x1e00 */ 49, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, +/* 0x1e10 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1e20 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1e30 */ 48, 48, 49, 56,100,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1e40 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, +/* 0x1e50 */ 10, 32, 49, 50, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, 32, +/* 0x1e60 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 52, 32, 32, 48, 48, 48, +/* 0x1e70 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1e80 */ 32, 48, 48, 48, 48, 49, 56,100,101, 32, 32, 50, 42, 42, 48, 32, +/* 0x1e90 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, +/* 0x1ea0 */ 78, 76, 89, 10, 32, 49, 51, 32, 77, 65, 67, 72, 77, 65, 73, 78, +/* 0x1eb0 */ 90, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 48, 32, 32, +/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1ed0 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 56,102, 50, 32, 32, 50, 42, +/* 0x1ee0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x1ef0 */ 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, +/* 0x1f00 */ 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1f10 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, +/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, +/* 0x1f30 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1f40 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, +/* 0x1f50 */ 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 48, +/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x1f70 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, +/* 0x1f80 */ 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 10, 48, 48, 48, +/* 0x1f90 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, +/* 0x1fa0 */ 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fb0 */ 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, +/* 0x1fc0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, +/* 0x1fd0 */ 95, 85, 78, 67, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, +/* 0x1fe0 */ 67, 72, 95, 85, 78, 67, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1ff0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, +/* 0x2000 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, +/* 0x2010 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, +/* 0x2020 */ 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, +/* 0x2030 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2040 */ 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, +/* 0x2050 */ 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2060 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2070 */ 69, 67, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x2080 */ 77, 65, 95, 68, 69, 67, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2090 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, +/* 0x20a0 */ 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x20b0 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x20c0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x20d0 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x20e0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x20f0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2100 */ 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x2110 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2120 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2130 */ 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x2140 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2150 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, +/* 0x2160 */ 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, +/* 0x2170 */ 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, +/* 0x2180 */ 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 9, +/* 0x2190 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, +/* 0x21a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x21b0 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x21c0 */ 108,122,109, 97, 95,115,116, 97, 99,107, 95, 97,100,106,117,115, +/* 0x21d0 */ 116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, +/* 0x21e0 */ 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x21f0 */ 48, 32,108,122,109, 97, 95,117, 95,108,101,110, 10, 48, 48, 48, +/* 0x2200 */ 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, +/* 0x2210 */ 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,122,109, +/* 0x2220 */ 97, 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2230 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, +/* 0x2240 */ 48, 48, 48, 48, 48, 48, 48, 32,108,122,109, 97, 95,112,114,111, +/* 0x2250 */ 112,101,114,116,105,101,115, 10, 48, 48, 48, 48, 48, 48, 49, 52, +/* 0x2260 */ 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, +/* 0x2270 */ 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95, +/* 0x2280 */ 100,101, 99,111,109,112,114,101,115,115, 10, 10, 82, 69, 76, 79, +/* 0x2290 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, +/* 0x22a0 */ 79, 82, 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, 88, 93, 58, 10, +/* 0x22b0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, +/* 0x22c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, +/* 0x22d0 */ 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, +/* 0x22e0 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, +/* 0x22f0 */ 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, +/* 0x2300 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, +/* 0x2310 */ 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x2320 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2330 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 99, 57, +/* 0x2340 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, +/* 0x2350 */ 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, +/* 0x2360 */ 48, 48, 54, 56, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, +/* 0x2370 */ 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, +/* 0x2380 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, +/* 0x2390 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, +/* 0x23a0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, +/* 0x23b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, +/* 0x23c0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 99, 32, 82, 95, 51, 56, +/* 0x23d0 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x23e0 */ 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, +/* 0x23f0 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, +/* 0x2400 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 10, 82, 69, 76, +/* 0x2410 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, +/* 0x2420 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, +/* 0x2430 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x2440 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2450 */ 48, 48, 48, 48, 97, 57, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, +/* 0x2460 */ 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, +/* 0x2470 */ 68, 10, 48, 48, 48, 48, 48, 48, 53, 54, 32, 82, 95, 51, 56, 54, +/* 0x2480 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, +/* 0x2490 */ 72, 77, 65, 73, 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x24a0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x24b0 */ 76, 90, 77, 65, 95, 68, 69, 67, 48, 48, 93, 58, 10, 79, 70, 70, +/* 0x24c0 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x24d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x24e0 */ 48, 48, 48, 48, 48, 53, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, +/* 0x24f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,115,116, +/* 0x2500 */ 97, 99,107, 95, 97,100,106,117,115,116, 10, 48, 48, 48, 48, 48, +/* 0x2510 */ 48, 49, 52, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, +/* 0x2520 */ 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,117, 95,108,101,110, +/* 0x2530 */ 10, 48, 48, 48, 48, 48, 48, 49,101, 32, 82, 95, 51, 56, 54, 95, +/* 0x2540 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, +/* 0x2550 */ 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, 48, 50, 97, 32, +/* 0x2560 */ 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2570 */ 32, 32,108,122,109, 97, 95,112,114,111,112,101,114,116,105,101, +/* 0x2580 */ 115, 10 }; diff --git a/src/stub/i386-darwin.macho-fold.h b/src/stub/i386-darwin.macho-fold.h index 6c02ce63..092fc852 100644 --- a/src/stub/i386-darwin.macho-fold.h +++ b/src/stub/i386-darwin.macho-fold.h @@ -1,5 +1,5 @@ /* i386-darwin.macho-fold.h - created from i386-darwin.macho-fold.bin, 1135 (0x46f) bytes + created from i386-darwin.macho-fold.bin, 1457 (0x5b1) bytes This file is part of the UPX executable compressor. @@ -31,80 +31,101 @@ */ -#define STUB_I386_DARWIN_MACHO_FOLD_SIZE 1135 -#define STUB_I386_DARWIN_MACHO_FOLD_ADLER32 0x768a14b0 -#define STUB_I386_DARWIN_MACHO_FOLD_CRC32 0x8d0be2e9 +#define STUB_I386_DARWIN_MACHO_FOLD_SIZE 1457 +#define STUB_I386_DARWIN_MACHO_FOLD_ADLER32 0x0e3ea459 +#define STUB_I386_DARWIN_MACHO_FOLD_CRC32 0x4f83c5ec -unsigned char stub_i386_darwin_macho_fold[1135] = { -/* 0x0000 */ 106, 0,137,231,141,117, 2,139, 19,137,217, 41,209,139, 89, 24, -/* 0x0010 */ 184, 0, 8, 0, 0, 57,216,118, 2,137,195, 41,220, 96,232, 30, -/* 0x0020 */ 3, 0, 0,139, 76, 36, 16,141,100, 12, 32,255, 96, 40,139, 68, -/* 0x0030 */ 36, 4,139, 76, 36, 8,139, 16, 15,202,137, 16,131,233, 4,141, -/* 0x0040 */ 64, 4,115,242,195, 90, 15, 52,176, 4,235, 2,176, 1,235, 2, -/* 0x0050 */ 176, 74,235, 2,176, 73,235, 2,176,153,235, 2,176, 6,235, 2, -/* 0x0060 */ 176, 5,235, 2,176,197,235, 2,176, 3, 15,182,192,137,225,232, -/* 0x0070 */ 209,255,255,255,115, 3,131,200,255,195,144,144, 85,137,229, 87, -/* 0x0080 */ 86,139,125, 8, 83,137,195, 57, 56,139,112, 4,115, 7,106,127, -/* 0x0090 */ 232,183,255,255,255,133,255,116, 10,137,249,138, 6, 70,136, 2, -/* 0x00a0 */ 66,226,248, 1,123, 4, 41, 59,141,101,244, 91, 94, 95,201,195, -/* 0x00b0 */ 85,137,229, 87, 86,137,198, 83,137,211,131,236, 24,139, 69, 8, -/* 0x00c0 */ 139,125, 12,137, 69,220,131, 58, 0, 15,132,172, 0, 0, 0,141, -/* 0x00d0 */ 85,228,137,240,106, 12,232,161,255,255,255,139, 69,228, 90,133, -/* 0x00e0 */ 192,139, 77,232,117, 19,129,249, 85, 80, 88, 33,117, 15,131, 62, -/* 0x00f0 */ 0, 15,132,132, 0, 0, 0,235, 4,133,201,117, 7,106,127,232, -/* 0x0100 */ 72,255,255,255, 57,193,119,245, 59, 3,119,241, 57,193,115, 76, -/* 0x0110 */ 137, 69,224, 15,182, 69,236, 80,141, 69,224, 80,255,115, 4, 81, -/* 0x0120 */ 255,118, 4,255, 85,220,131,196, 20,133,192,117,208,139, 85,224, -/* 0x0130 */ 59, 85,228,117,200,138, 69,237,132,192,116, 22,133,255,116, 18, -/* 0x0140 */ 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,131, -/* 0x0150 */ 196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 12,139, 83, 4, 81, -/* 0x0160 */ 137,240,232, 21,255,255,255, 88,139, 85,228,139, 3, 1, 83, 4, -/* 0x0170 */ 41,208,133,192,137, 3,233, 78,255,255,255,141,101,244, 91, 94, -/* 0x0180 */ 95,201,195, 85,137,229, 87, 86, 83,131,236, 56,137, 69,232,139, -/* 0x0190 */ 69, 8,137, 85,228,139, 85, 12,199, 69,208, 0, 0, 0, 0,137, -/* 0x01a0 */ 69,224,139, 69, 20,137, 85,220,139, 85, 24,137, 69,216,139,117, -/* 0x01b0 */ 232,139, 69,232,137, 85,212, 49,210,131,198, 28,199, 69,204, 0, -/* 0x01c0 */ 0, 0, 0, 59, 80, 16, 15,131,106, 1, 0, 0,139, 6,131,248, -/* 0x01d0 */ 1, 15,133, 49, 1, 0, 0,139, 94, 28,133,219, 15,132, 38, 1, -/* 0x01e0 */ 0, 0,139, 86, 24,139, 78, 36,141, 28, 26,137,208, 37,255, 15, -/* 0x01f0 */ 0, 0,137,207,137, 93,200,137,211, 41,195, 1,199,137, 77,236, -/* 0x0200 */ 137, 85,240,116, 76,131,125,224, 0,137,125,196,116, 8,141, 71, -/* 0x0210 */ 3,137, 69,196,235, 11,133,201,199, 69,192, 18, 0, 0, 0,117, -/* 0x0220 */ 7,199, 69,192, 18, 16, 0, 0,133,201,139, 85,220,117, 3,131, -/* 0x0230 */ 202,255,139, 69,228, 3, 70, 32,106, 0, 80, 82,255,117,192,106, -/* 0x0240 */ 3,255,117,196, 83,232, 26,254,255,255,131,196, 28, 57,195,117, -/* 0x0250 */ 94,131,125,224, 0,116, 42,131,126, 36, 0,116, 36,131,126, 32, -/* 0x0260 */ 0,117, 11,131,125, 16, 0,116, 5,139, 85, 16,137, 26,255,117, -/* 0x0270 */ 212,255,117,216,141, 85,236,139, 69,224,232, 49,254,255,255, 88, -/* 0x0280 */ 90,137,248,141, 20, 59,247,216, 37,255, 15, 0, 0,137, 69,188, -/* 0x0290 */ 116, 8,137,193,198, 2, 0, 66,226,250,133,255,116, 24,255,118, -/* 0x02a0 */ 44, 87, 83,232,168,253,255,255,131,196, 12,133,192,116, 7,106, -/* 0x02b0 */ 127,232,150,253,255,255,139, 85,188,141, 4, 23, 1,195, 59, 93, -/* 0x02c0 */ 200,115, 39,133,219,116, 91,106, 0,106, 0,106,255,104, 18, 16, -/* 0x02d0 */ 0, 0,255,118, 44, 41, 93,200,255,117,200, 83,232,131,253,255, -/* 0x02e0 */ 255,131,196, 28, 57,195,116, 58,235,197,131,125,224, 0,116, 50, -/* 0x02f0 */ 141, 71, 3, 37,255, 15, 0, 0,131,248, 3,119, 37, 80, 83,232, -/* 0x0300 */ 80,253,255,255, 89, 91,235, 26,131,232, 4,131,248, 1,119, 18, -/* 0x0310 */ 131,126, 8, 1,117, 12,131,126, 12, 16,117, 6,141, 70, 16,137, -/* 0x0320 */ 69,208,255, 69,204,139, 85,232,139, 69,204, 3,118, 4, 59, 66, -/* 0x0330 */ 16,233,144,254,255,255,139, 69,208,141,101,244, 91, 94, 95,201, -/* 0x0340 */ 195, 85,137,229, 87, 86, 83,131,236, 32,199, 69,212, 0, 0, 0, -/* 0x0350 */ 0,139, 85, 32,139, 69, 24,139, 93, 16,137, 69,216,139,117, 20, -/* 0x0360 */ 141, 66, 24,137,117,232,137, 69,240,139, 69, 28,131,232, 24,137, -/* 0x0370 */ 69,236,139, 66, 24,139, 85,240,106, 0,137, 69,228,139, 69,236, -/* 0x0380 */ 137, 85,224,137, 69,220,141, 85,228,141, 69,236, 83,232, 30,253, -/* 0x0390 */ 255,255,255,117, 12, 83, 49,210,255,117, 8,141, 69,220,106,255, -/* 0x03a0 */ 80,137,240,232,219,253,255,255, 49,210,137,195,141, 70, 28,131, -/* 0x03b0 */ 196, 28,139, 78, 16, 57,202, 15,131,168, 0, 0, 0,131, 56, 14, -/* 0x03c0 */ 15,133,150, 0, 0, 0, 3, 64, 8,106, 0,106, 0, 80,232,141, -/* 0x03d0 */ 252,255,255,131,196, 12,133,192,137,199,120, 23,106, 0,255,117, -/* 0x03e0 */ 212,255,117,216, 86, 87,232,109,252,255,255,131,196, 20, 57, 69, -/* 0x03f0 */ 216,116, 15,106,127,232, 82,252,255,255,139, 91, 8,137, 93,212, -/* 0x0400 */ 235,218,139, 6, 61,202,254,186,190,116, 7, 61,190,186,254,202, -/* 0x0410 */ 117, 42, 15,182, 70, 7,141, 94, 8,107,192, 20,131,192, 8, 80, -/* 0x0420 */ 86,232, 8,252,255,255, 89, 90, 49,192,139, 86, 4, 57,208,115, -/* 0x0430 */ 11,131, 59, 7,116,196, 64,131,195, 20,235,241,106, 0,139, 85, -/* 0x0440 */ 212,106, 0,137,240,106, 0, 87,106, 0,232, 52,253,255,255, 87, -/* 0x0450 */ 137,195,232, 5,252,255,255,131,196, 24,235, 9, 3, 64, 4, 66, -/* 0x0460 */ 233, 80,255,255,255,141,101,244,137,216, 91, 94, 95,201,195 +unsigned char stub_i386_darwin_macho_fold[1457] = { +/* 0x0000 */ 88, 90, 89,139, 89, 24,190, 0, 8, 0, 0, 57,243,119, 2,137, +/* 0x0010 */ 243, 94,106, 0,137,231, 41,220, 96,232,103, 4, 0, 0,139,124, +/* 0x0020 */ 36, 20,139,116, 36, 28, 80, 87, 86,232, 59, 0, 0, 0, 88, 88, +/* 0x0030 */ 88,139, 76, 36, 16,141,100, 12, 32,255,224,139, 68, 36, 4,139, +/* 0x0040 */ 76, 36, 8,139, 16, 15,202,137, 16,131,233, 4,141, 64, 4,119, +/* 0x0050 */ 242,195,243,144,233,249,255,255,255,195, 90, 15, 52,176, 4,235, +/* 0x0060 */ 2,176, 1,235, 2,176, 74,235, 2,176, 73,235, 2,176,153,235, +/* 0x0070 */ 2,176, 6,235, 2,176, 5,235, 2,176,197,235, 2,176, 3, 15, +/* 0x0080 */ 182,192,137,225,232,209,255,255,255,115, 3,131,200,255,195,144, +/* 0x0090 */ 85,137,229, 87, 86,139,125, 8, 83,137,195, 57, 56,139,112, 4, +/* 0x00a0 */ 115, 7,106,127,232,184,255,255,255,133,255,116, 10,137,249,138, +/* 0x00b0 */ 6, 70,136, 2, 66,226,248, 1,123, 4, 41, 59,141,101,244, 91, +/* 0x00c0 */ 94, 95,201,195, 85,137,229, 87, 86,137,198, 83,137,211,131,236, +/* 0x00d0 */ 24,139, 69, 8,139,125, 12,137, 69,220,131, 58, 0, 15,132,172, +/* 0x00e0 */ 0, 0, 0,141, 85,228,137,240,106, 12,232,161,255,255,255,139, +/* 0x00f0 */ 69,228, 90,133,192,139, 77,232,117, 19,129,249, 85, 80, 88, 33, +/* 0x0100 */ 117, 15,131, 62, 0, 15,132,132, 0, 0, 0,235, 4,133,201,117, +/* 0x0110 */ 7,106,127,232, 73,255,255,255, 57,193,119,245, 59, 3,119,241, +/* 0x0120 */ 57,193,115, 76,137, 69,224, 15,182, 69,236, 80,141, 69,224, 80, +/* 0x0130 */ 255,115, 4, 81,255,118, 4,255, 85,220,131,196, 20,133,192,117, +/* 0x0140 */ 208,139, 85,224, 59, 85,228,117,200,138, 69,237,132,192,116, 22, +/* 0x0150 */ 133,255,116, 18, 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, +/* 0x0160 */ 4,255,215,131,196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 12, +/* 0x0170 */ 139, 83, 4, 81,137,240,232, 21,255,255,255, 88,139, 85,228,139, +/* 0x0180 */ 3, 1, 83, 4, 41,208,133,192,137, 3,233, 78,255,255,255,141, +/* 0x0190 */ 101,244, 91, 94, 95,201,195, 85,137,229, 87, 86,131,206,255, 83, +/* 0x01a0 */ 131,236, 88,199, 69,192, 0, 0, 0, 0,139, 69, 8,199, 69,188, +/* 0x01b0 */ 0, 0, 0, 0,139, 85, 12,199, 69,180, 0, 0, 0, 0,137, 69, +/* 0x01c0 */ 216,139, 69, 20,139,125,216,137, 85,212,137, 69,204,139, 69,216, +/* 0x01d0 */ 139, 93, 16,131,199, 28,131,120, 12, 7,139, 85, 28,137, 93,208, +/* 0x01e0 */ 139, 93, 32,137, 85,200,139, 72, 16,137, 93,196,137,250,116, 14, +/* 0x01f0 */ 139, 93,216,184, 16, 0, 0, 0,246, 67, 26, 32,116, 2, 49,192, +/* 0x0200 */ 5, 2, 16, 0, 0,133,201,137, 69,164,126, 77,131, 58, 1,117, +/* 0x0210 */ 62,139, 66, 28,133,192,137, 69,156,116, 52,139, 66, 24,133,192, +/* 0x0220 */ 117, 6,246, 69,164, 16,117, 39,139, 93,216,131,123, 12, 7,117, +/* 0x0230 */ 13,131,254,255,117, 8,133,192,116, 4,131, 77,164, 16, 57,198, +/* 0x0240 */ 118, 2,137,198, 3, 69,156, 57, 69,180,115, 3,137, 69,180,139, +/* 0x0250 */ 66, 4,131,224,252, 1,194,226,179,129,230, 0,240,255,255, 41, +/* 0x0260 */ 117,180,139, 93,180,129,195,255, 15, 0, 0,129,227, 0,240,255, +/* 0x0270 */ 255,246, 69,164, 16,116, 12, 83, 86,137,117,188,232,232,253,255, +/* 0x0280 */ 255, 88, 90,106, 0,106, 0,106,255,255,117,164,106, 0, 83,255, +/* 0x0290 */ 117,188,232,226,253,255,255,131,196, 28, 41,240,199, 69,176, 0, +/* 0x02a0 */ 0, 0, 0,137, 69,184, 49,210,139, 69,216, 59, 80, 16, 15,131, +/* 0x02b0 */ 198, 1, 0, 0,131, 63, 1,117, 29,131,127, 28, 0,117, 23,139, +/* 0x02c0 */ 69,208,141, 85,228,106, 12,232,196,253,255,255,139, 93,208,139, +/* 0x02d0 */ 69,232, 1, 67, 4, 89,139, 7,131,248, 1, 15,133,111, 1, 0, +/* 0x02e0 */ 0,139, 95, 28,133,219, 15,132,100, 1, 0, 0,139, 79, 36,139, +/* 0x02f0 */ 85,184,137, 77,220,137,206, 3, 87, 24, 1,211,137,208, 37,255, +/* 0x0300 */ 15, 0, 0,137, 93,172,137,211,137, 85,224, 41,195, 1,198,116, +/* 0x0310 */ 89,131,125,208, 0,117, 11,133,201,199, 69,168, 18, 0, 0, 0, +/* 0x0320 */ 117, 13,131,125,208, 0,199, 69,168, 18, 16, 0, 0,117, 7,133, +/* 0x0330 */ 201,139, 85,204,117, 3,131,202,255,139, 69,212, 3, 71, 32,106, +/* 0x0340 */ 0, 80, 82,255,117,168,106, 3, 86, 83,232, 42,253,255,255,131, +/* 0x0350 */ 196, 28, 57,216, 15,133,157, 0, 0, 0,131,125, 24, 0,116, 10, +/* 0x0360 */ 139, 69, 24,131, 56, 0,117, 2,137, 24,131,125,208, 0,116, 89, +/* 0x0370 */ 131,127, 36, 0,116, 30,131,127, 32, 0,117, 5,139, 85, 24,137, +/* 0x0380 */ 26,255,117,196,255,117,200,141, 85,220,139, 69,208,232, 50,253, +/* 0x0390 */ 255,255, 88, 90,131,125,208, 0,116, 47,133,246,116, 43,131,127, +/* 0x03a0 */ 32, 0,117, 37,131,127, 48, 0,116, 31,137,248, 43, 69,216,131, +/* 0x03b0 */ 224,252,139, 68, 3, 96,131,224,252,141, 4, 3,199, 64,248,144, +/* 0x03c0 */ 15, 5,195,131,232, 8,137, 69,192,137,240,141, 20, 30,247,216, +/* 0x03d0 */ 37,255, 15, 0, 0,137, 69,160,116, 8,137,193,198, 2, 0, 66, +/* 0x03e0 */ 226,250,133,246,116, 24,255,119, 44, 86, 83,232,117,252,255,255, +/* 0x03f0 */ 131,196, 12,133,192,116, 7,106,127,232, 99,252,255,255,139, 85, +/* 0x0400 */ 160,141, 4, 22, 1,195, 59, 93,172,115, 39,133,219,116, 88,106, +/* 0x0410 */ 0,106, 0,106,255,104, 18, 16, 0, 0,255,119, 44, 41, 93,172, +/* 0x0420 */ 255,117,172, 83,232, 80,252,255,255,131,196, 28, 57,195,116, 55, +/* 0x0430 */ 235,197,131,125,208, 0,116, 47,141, 70, 3, 37,255, 15, 0, 0, +/* 0x0440 */ 131,248, 3,119, 34, 80, 83,232, 29,252,255,255, 89, 91,235, 23, +/* 0x0450 */ 131,125,208, 0,117, 17,131,232, 4,131,248, 1,119, 9,139, 93, +/* 0x0460 */ 184, 3, 95, 56,137, 93,192,139, 71, 4,255, 69,176,131,224,252, +/* 0x0470 */ 139, 85,176, 1,199,233, 46,254,255,255,139, 69,192,141,101,244, +/* 0x0480 */ 91, 94, 95,201,195, 85,137,229, 87, 86, 83,131,236, 32,199, 69, +/* 0x0490 */ 212, 0, 0, 0, 0,139, 85, 32,139, 69, 24,139, 93, 16,137, 69, +/* 0x04a0 */ 216,139,125, 20,141, 66, 24,137,125,232,137, 69,240,139, 69, 28, +/* 0x04b0 */ 131,232, 24,137, 69,236,139, 66, 24,139, 85,240,106, 0,137, 69, +/* 0x04c0 */ 228,139, 69,236,137, 85,224,137, 69,220,141, 85,228,141, 69,236, +/* 0x04d0 */ 83,232,238,251,255,255,255,117, 12, 83,255,117, 8,141, 69,220, +/* 0x04e0 */ 106,255, 80,106, 0, 87,232,172,252,255,255, 49,210,137,195,141, +/* 0x04f0 */ 71, 28,131,196, 36,139, 79, 16, 57,202, 15,131,167, 0, 0, 0, +/* 0x0500 */ 131, 56, 14, 15,133,149, 0, 0, 0, 3, 64, 8,106, 0,106, 0, +/* 0x0510 */ 80,232, 95,251,255,255,131,196, 12,133,192,137,198,120, 23,106, +/* 0x0520 */ 0,255,117,212,255,117,216, 87, 86,232, 63,251,255,255,131,196, +/* 0x0530 */ 20, 57, 69,216,116, 15,106,127,232, 36,251,255,255,139, 91, 8, +/* 0x0540 */ 137, 93,212,235,218,139, 7, 61,202,254,186,190,116, 7, 61,190, +/* 0x0550 */ 186,254,202,117, 42, 15,182, 71, 7,141, 95, 8,107,192, 20,131, +/* 0x0560 */ 192, 8, 80, 87,232,210,250,255,255, 89, 90, 49,192,139, 87, 4, +/* 0x0570 */ 57,208,115, 11,131, 59, 7,116,196, 64,131,195, 20,235,241,106, +/* 0x0580 */ 0,106, 0,106, 0, 86,106, 0,255,117,212, 87,232, 6,252,255, +/* 0x0590 */ 255, 86,137,195,232,216,250,255,255,131,196, 32,235, 9, 3, 64, +/* 0x05a0 */ 4, 66,233, 81,255,255,255,141,101,244,137,216, 91, 94, 95,201, +/* 0x05b0 */ 195 }; diff --git a/src/stub/i386-darwin.macho-upxmain.exe b/src/stub/i386-darwin.macho-upxmain.exe index e300c5df4427d53879a016a382c008363eab18a1..2de682ba3ed418910d840135c9df789c1748bd1a 100644 GIT binary patch literal 4688 zcmeHLUrZdw8K1q|n2UY(5@J=@x&&MixhN>ks!_zXPKt>a+c6g(-~;T4Y{8rh)Cc5l zH{c+O$#S(PqgAE0RvP6c&wZi~bzLVS2V5|Y5FsRKX`DYeBJNTy>Y1ns{!_NU*}HRa zQbm2P7~MDX&CK_IzL}l5=^LM~<`F{N02knHKpPMftpF$osA_P}KIN!VdkCFe$n-E$*CNd zs_LCR?VYV^d*|^k41Uvw;UYrzV|-X5M9eXLqy5_N>H|+5RQ4Xo`A|$qkSm7myyf}G4RzL|_%<6!k337S*}AXJ){8rAkOdno0bf`nSxm>- zQ~B{r(vS<3W|hw<-=b~a=dKX_Z%4ma{2UQ=S9pw+2x$#L>t%fMjbuJm((#0JhTk`g zl((UQDO>5qhI(61TU`!Cv42JHH>*Hs$(JuG{K7)mhQ~%OtiGk?J@(e>g%SPd(z&WU zQ#@sgagQU%6Rfwc<5~sztV)b0wB7P07P5@zSMs!tdyKKI{?X|2(oVKLep%a*l?m+~ zq>lA(%_v`X*r8neHJ=%<-p|P6(MZs1^n+k9$nBvpg%5> zPV>94|KnIKZAwY!6brh7rjiQUJz_mm(ss9Khdi(%p3sl`n^JnS(eEYN_7|1Kp@ep? zbS@#C3;ZKkQwMrGY*7PbaXfL)FL(d6pX@ogFi`*3!_2G%#fz@m*9F z;0=)z+33qQVyal|hi3gP;R=O-qQ+-|<8ixp`d}xXrs4_!mkahAb3_LqF z`l%=yN68;&WS5lABUq>;zL+8SGb zufuKYGdx|VGP}U&PZJhMNqZ;hn6YBhNfubp1B=x>MfyB&VyA<75lu^q-^V?Aq8z3# z7C5Mfg%6bU4&s|x#xa_!)f;g(AxTQ3d)?}lvglG>MeZ@r2<9jEc z{tYQgr&+*jhR$Q7+IpeY_ix)~p)|e5H(X$WVRKJ>^>HRn+V@P+1(y1t^%1u~nFl54 z;t4vcZHJq7tgNQi`hd>`ZqMlhOi8+xNnu)8_K(FLjL&M-bhPvxzP%H{V29mSfG|3& z^e@&Qz>LiFPiQ-rs+_beGDh8lSNJ-e=TAQWXwPQY06ot+qzKLw+s{L^&;2yc59x(Z z;KGtiP8iAEYjUq5L!HUJ!IZCp5DVf+Bhy7Q@2r;SJlyfsn?T&_-ZO4UWyzH*A}q4cI#=5BhvJJDbm< zRkyIC%;PKeyqp+Ja^vqfF1*M#Ci^F%58wnVV9(;(OH zq}O4)D3%OBwpE6T9WD`Bb%}?$q)F;B7DcmG>{%W^+IXZUSljTDocQAR>iALVkzsMk zH7o$01RMao4A=m;3-BhujdO!u*~}kp))ZnHa~qR3HWT9Ryyei`(P9rcg}=QxT*nIY z!g0RPUU23++=@2=}&Y zBq?-9!_BSaUE$b?u2`7N30>XcPV$l9jQ(99u1K32?hPN)wXoU-%5aoK)RyPN(Jt~w z{<(rN3k9e?E5Q4kt9bJ?IS!j))5weEWW| zU%g#@#j%^bvUz0`p*qbg#;afP>NmW4smOWnO9_W|FX#UH<)kjg9$9nSv>T+RUS+Uz*&AxE<~j3GbG;xLi?EQ`Z563OCW zysLY%cn`*Zk;VCYdk8qhY#aeQ4JJ literal 4936 zcmeHLeQXrR6`%EOVq*^WLP_hS2AkIXaO(z6iYi|ysv)ewgbQbzvkk~uVK|Bn{)lfk zHgRb%>q|Nvt*S~y6t(>$Rivt|RHdpQh6Z}ZrZy?%OOE3TlwK;gTGwuCOht^LY=3WW z4@@If{i}a@b#LZ3Z|2SWn74B?dvW$}_p%vdK2R2D5$O8>3C1J|xD=#mk+mDt?P}E) zG%`;h13q4pToR;dTh+R)bNWdpBZr#wJ^~`W^k|wM>(tXY-F{ep#S@GjeUz~k3m%Md zk<1QdIGSd(bTqc?)*4&(w1WAcHuM%Swh{bZ<$>OeY^HwT_xiP4*Jik=3q9=lkcnGn z!~?m_70*AXuCK`WPI8{_8xd%dqp_LiGmITtm1+F98gr!3Pw~nFrO;l6`fE!V^JBt= zz!4BVw2nk@ljVcv>O=E?dKP08$@)Pnjd=UY{f!MPcOTfl8|@+x)T1-kr7vaL#KZGN z_(V23WW=0@=6V`Led%={k;%II^Fv4Vfw&%PernxQ(AC($STV+uF7kK&nUBDH1m+_! zAA$J@{9hsv<$tcOtuZG{gb@(+c|y$*VLuN~SsU|scv6I?%s!ikZElQ-vOKP)rj>wd zPb-h9qvm8z(6Pd{6;0Jv+mGWP*c=FeX{n>ZtNeyzu^pOORaVJX6a&m(FR|c9JFy{l)hdH3F_Gsg4EiM835e8`d$ zIhY+5Mk@Iwdv$tdu|W==Pb5Y3vYuzYJd>^Gt~Jjt4fVB8PvnSag4Ys`aRj=WUa`NL z79h8id^Qq^2xGV=Qf(`)=Wq?fYV1PK;8Am+&5-Zvgl-cBkf&POV% zA>~B|#+M5uz6eJvq~ZtaTi_r35VZMdj3uscJMNf zj&k*ac(#bEw&==}F7boI{NNl91N%PoleK5)fTpMy7hExCq$iRKRU~0jR2TZ9@8FF&0~z+%6p}Vl z{Tf;de-M%Ll&bc{S(`ov_sKKdXXBmI+>{3(p9i6AC+34-GK z5J+6rm%~FRUQ$&{Jzsv%lT;F~Lbp(ded=XtMEWQ+7%xsZ`X=62e4Ae7WF*q$>|KHw zLcFrp_E8cH6ov-%FHCH4?JY3R`nvx_Yt&0uwb0p)MX;f&)*gbZZjKHKdh=5P%ZrtZ zjv^4{z8&&vBc&WZ@4B&hP9pNOSUM5AC-ch~voSBL6NYSsbF4%EKsJAlO*xK;kZbGt z@v+}H4!3NS=1_j{)=9eLn5B~O3DLRu*L2$n{!!HB27kBUj=rj#_Nx(odWvLDPoiue zo>((?4xVuP64W>GSy7j#yzP@lt>>~t*Il#!E~0a*_zriwxkW?8aZ=5v%;XG0W?BD4 zE8-ldF6TJSvX{Y$N^G?iv$SZ1X$^=HSU-kq6s3ggMEPCeYPa^xIC$;42gv=0HX}dn z^P$jSdx>~a#>TLe4{rI+a_c4O+fQ0ml5tanz?Xi@UzCdndB_~_yV8Sl(JN47m!J?^ zi)696C`V)|Lp;kIm#r$fW4eEP-L}d|RqfGW^5)O9{_V=sZ^;u`Z%Lp{pbF42(4(M7 zK<7X{Y-IdHT%-KVz5rk2K6A+F$MU&%GgJ@NNF4WmOm{4zlXL;ZLzoiBkGoc2?rl)g za0k!T*hZtRQ)}MY*ut8cS!)A3B6YMk>M`~!Dc0GjvtFsKJ+^Z<8zvwPNGeHHX!lL4PRJ=~bF)DsU z#Ty08g672t*5M}^`+2;`#>6!KoX4X-$2RDtySq=q27n)$jQHCCKJQ@~^A!)n zOLskK45GlE@%Rot29$Xi{cm&%^Z1#qcn~ z&b|qZY4BsL5MNikCDyc$FTd8{E@NgyI&Y98$fk6nY0b3gT5~2DwB~d&Xl`n0>4ekV z1k>(krvU)Dbmij*;@@ax)!VAm g`U$vv0_h0}xq1ntZ6)NH +*/ + +//#include "regs.h" + +i386bxx: # (*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid); + +#ifndef NO_METHOD_CHECK + cmpl $0x49,4*NBPW(%esp); jne ckend0 # filter: JMP, CALL, 6-byte Jxx +#endif + push %ebp; movl %esp,%ebp + push %ebx # C-language saved regs + push %esi + push %edi + + movl 2*NBPW(%ebp),%esi // src + movl 3*NBPW(%ebp),%ecx // len + movl 4*NBPW(%ebp),%edx // b_cto8 (%dl) + lea (1- 4)(%esi,%ecx),%ecx # beyond last possible displacement + movl %esi,%ebx // start of buffer + jmp ckstart +ckloop4: + cmpl %ecx,%esi; jae ckend + push %esi # tail merge +ckloop3: + pop %esi; lodsb # next main opcode + cmpb $0x80,%al; jb ckloop2 # lo of 6-byte Jcc + cmpb $0x8F,%al; ja ckloop2 # hi of 6-byte Jcc + cmpb $0x0F,-2(%esi); je ckmark # prefix of 6-byte Jcc +ckloop2: + subb $ 0xE8,%al + cmpb $0xE9-0xE8,%al; ja ckloop4 # not JMP, not CALL +ckmark: + cmpl %ecx,%esi; jae ckend # peek only; not marked ==> do not consume + push %esi; lodsl # (assume) marked, bswapped 32-bit displacement + subb %dl,%al; jne ckloop3 # not marked with cto8 + pop %edi + bswap %eax # (0<<24) | d24 + subl %edi,%eax # hardware: %esi; software: %edi [ 4==delta ] + addl %ebx,%eax + stosl +ckstart: + cmpl %ecx,%esi; jae ckend + lodsb; jmp ckloop2 # 0x0F prefix would overlap previous displacement +ckend: + pop %edi + pop %esi + pop %ebx + pop %ebp +ckend0: +#ifndef NO_METHOD_CHECK + ret +#endif diff --git a/src/stub/src/arch/i386/nrv2b_d32-easy.S b/src/stub/src/arch/i386/nrv2b_d32-easy.S new file mode 100644 index 00000000..2689266d --- /dev/null +++ b/src/stub/src/arch/i386/nrv2b_d32-easy.S @@ -0,0 +1,76 @@ +/* i386_d_nrv2b-easy.S -- i386 decompressor for NRV2B + + This file is part of the UPX executable compressor. + + Copyright (C) 1996-2019 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2019 Laszlo Molnar + Copyright (C) 2000-2019 John F. Reiser + All Rights Reserved. + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer Laszlo Molnar + + + John F. Reiser + +*/ + +#ifndef NO_METHOD_CHECK + cmpb $ M_NRV2B_LE32,methb; jne not_n2b +#endif + jmp top_n2b + +lit_n2b: + incl %esi; movb %dl,(%edi) + incl %edi +top_n2b: + movb (%esi),%dl # speculate: literal, or bottom 8 bits of offset + jnextb1yp lit_n2b + push $1; pop off +offmore_n2b: + getnextbp(off) + jnextb0np offmore_n2b + + subl $ 3,off; jc len_n2b # use previous offset + shll $ 8,off; movzbl %dl,%edx + orl %edx,off; incl %esi + xorl $~0,off; jz eof + movl off,disp +len_n2b: + push $1; pop off + getnextb(len); getnextb(len) # two bits; cc set on result + jnz gotlen_n2b # raw 1,2,3 ==> 2,3,4 + movl off,len # len= 1, the msb + addl $3-1,off # raw 2.. ==> 5.. +lenmore_n2b: + getnextb(len) + jnextb0n lenmore_n2b +gotlen_n2b: + cmpl $-0xd00,disp + adcl off,len # len += off + (disp < -0xd00) + call copy +bot_n2b: # In: 0==len + jmp top_n2b + +#ifndef NO_METHOD_CHECK +not_n2b: + # fall into 'eof' +#endif +/* +vi:ts=8:et:nowrap +*/ + diff --git a/src/stub/src/arch/i386/nrv2d_d32-easy.S b/src/stub/src/arch/i386/nrv2d_d32-easy.S new file mode 100644 index 00000000..3b077852 --- /dev/null +++ b/src/stub/src/arch/i386/nrv2d_d32-easy.S @@ -0,0 +1,84 @@ +/* nrv2d_d-easy.S -- i386 decompressor for NRV2D + + This file is part of the UPX executable compressor. + + Copyright (C) 1996-2019 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2019 Laszlo Molnar + Copyright (C) 2000-2019 John F. Reiser + All Rights Reserved. + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer Laszlo Molnar + + + John F. Reiser + +*/ + +#ifndef NO_METHOD_CHECK + cmpb $ M_NRV2D_LE32,methb; jne not_n2d +#endif + jmp top_n2d + +lit_n2d: + incl %esi; movb %dl,(%edi) + incl %edi +top_n2d: + movb (%esi),%dl // speculate: literal, or bottom 8 bits of offset + jnextb1yp lit_n2d + push $1; pop off + jmp getoff_n2d + +off_n2d: + dec off + getnextbp(off) +getoff_n2d: + getnextbp(off) + jnextb0np off_n2d + + subl $ 3,off; jc offprev_n2d + shll $ 8,off; movzbl %dl,%edx + orl %edx,off; incl %esi + xorl $~0,off; jz eof + sarl off // Carry= original low bit + movl off,disp // XXX: 2GB + jmp len_n2d-2 // CHEAT: assume tail of getnextb is "adcl len,len" +offprev_n2d: + getnextb(len) +len_n2d: + getnextb(len); jne gotlen_n2d + inc len // len= 1 +lenmore_n2d: + getnextb(len) + jnextb0n lenmore_n2d + addl $2,len +gotlen_n2d: + cmpl $-0x500,disp + adcl $1,len // len += 1+ (disp < -0x500); + call copy +bot_n2d: // In: 0==len + jmp top_n2d + +#ifndef NO_METHOD_CHECK +not_n2d: + push %edi; pop %esi # src = arg1 +#endif + +/* +vi:ts=8:et:nowrap +*/ + diff --git a/src/stub/src/arch/i386/nrv2e_d32-easy.S b/src/stub/src/arch/i386/nrv2e_d32-easy.S new file mode 100644 index 00000000..78e7891c --- /dev/null +++ b/src/stub/src/arch/i386/nrv2e_d32-easy.S @@ -0,0 +1,90 @@ +/* nrv2e_d-easy.S -- i386 decompressor for NRV2E + + This file is part of the UPX executable compressor. + + Copyright (C) 1996-2019 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2019 Laszlo Molnar + Copyright (C) 2000-2019 John F. Reiser + All Rights Reserved. + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer Laszlo Molnar + + + John F. Reiser + +*/ + +#ifndef NO_METHOD_CHECK + cmpb $ M_NRV2E_LE32,methb; jne not_n2e +#endif + jmp top_n2e + +lit_n2e: + incl %esi; movb %dl,(%edi) + incl %edi +top_n2e: + movb (%esi),%dl # speculate: literal, or bottom 8 bits of offset + jnextb1yp lit_n2e + push $1; pop off + jmp getoff_n2e + +off_n2e: + dec off + getnextbp(off) +getoff_n2e: + getnextbp(off) + jnextb0np off_n2e + + subl $ 3,off; jc offprev_n2e + shll $ 8,off; movzbl %dl,%edx + orl %edx,off; incl %esi + xorl $~0,off; jz eof + sarl off # Carry= original low bit + movl off,disp # XXX: 2GB + jc lenlast_n2e + jmp lenmore_n2e + +offprev_n2e: + jnextb1y lenlast_n2e +lenmore_n2e: + incl len # len= 1 + jnextb1y lenlast_n2e +len_n2e: + getnextb(len) + jnextb0n len_n2e + addl $6-2-2,len + jmp gotlen_n2e + +lenlast_n2e: + getnextb(len) # 0,1,2,3 +gotlen_n2e: + cmpl $-0x500,disp + adcl $2,len # len += 2+ (disp < -0x500); + call copy +bot_n2e: # In: 0==len + jmp top_n2e + +#ifndef NO_METHOD_CHECK +not_n2e: + push %edi; pop %esi # src = arg1 +#endif + +/* +vi:ts=8:et:nowrap +*/ + diff --git a/src/stub/src/i386-darwin.macho-entry.S b/src/stub/src/i386-darwin.macho-entry.S index e7b47702..4e422dcf 100644 --- a/src/stub/src/i386-darwin.macho-entry.S +++ b/src/stub/src/i386-darwin.macho-entry.S @@ -31,110 +31,255 @@ ; */ -#include "arch/i386/macros.S" +NBPW= 4 - section I386BXX0 -0: .word end_filter // - 0b // sizeof unfilter +//#include "arch/i386/macros.S" + .altmacro + .att_syntax + .code32 +.macro section name + .section \name + .code32 +.endm - section I386BXX1 - ret // in case no filter -end_filter: +// 2-byte bramches, even when destination is not known yet +.macro jmps target + .byte 0xeb, \target - . - 1 +.endm +.macro jzs target + .byte 0x74, \target - . - 1 +.endm + +.macro jnzs target + .byte 0x75, \target - . - 1 +.endm + +.macro jcs target + .byte 0x72, \target - . - 1 +.endm + +.macro jncs target + .byte 0x73, \target - . - 1 +.endm + +.macro jnas target + .byte 0x76, \target - . - 1 +.endm +#define jbes jnas + +mlc_cmd = 0 + LC_SEGMENT= 0x01 +mlc_cmdsize = 4 + +sz_Mach_header= 7*4 + mhdr_ncmds= 4*4 + mhdr_flags= 6*4 +MH_PIE=0x200000 + +sz_Mach_segment= 2*NBPW + 16 + 4*NBPW + 4*4 + mseg_segname= 2*NBPW + mseg_vmaddr= 2*NBPW + 16 + mseg_vmsize= 2*NBPW + 16 + NBPW + mseg_initprot= 2*NBPW + 16 + (4*NBPW) + 4 + + msec_addr= 2*16 + msec_size= 2*16 + NBPW /************************************************************************* // program entry point -// see glibc/sysdeps/i386/elf/start.S +// see glibc/sysdeps/amd64/elf/start.S **************************************************************************/ -section LEXEC000 +MAP_FIXED = 0x10 +MAP_PRIVATE = 0x02 +MAP_ANON = 0x1000 +PROT_NONE = 0 +PROT_READ = 1 +PROT_WRITE = 2 +PROT_EXEC = 4 +MAP_ANON_FD = -1 + +SYSBASE= 0 // at runtime: 0xC0000 +SYS_mmap =0xc5 + SYSBASE +SYS_mprotect =0x4a + SYSBASE +SYS_munmap =0x49 + SYSBASE +SYS_write = 4 + SYSBASE + +#define __c4(a,b,c,d) (((a)<<(0*8)) | ((b)<<(1*8)) | ((c)<<(2*8)) | ((d)<<(3*8))) +#define __c8(a,b,c,d,e,f,g,h) (__c4(a,b,c,d) | (__c4(e,f,g,h) << 32)) + +// FYI: Following the env[] vector there is another vector apple[] of strings. +// Contents from one actual instance on MacOS 10.13 HighSierra: +// "executable_path=" +// "pfz=0x7ffffff84000" +// "stack_guard=0x850795b0f36900c2" +// "malloc_entropy=0x94a87434eb9e2c1,0xf6814219485392e8" +// "main_stack=0x7ffeefc00000,0x800000,0x7ffeebc00000,0x4000000" +// "executable_file=0x1000008,0x2209ce" +// when %rsp was 0x7ffeefbffaf0. + +// Notes: +// Command-line debugger from Xcode: lldb foo; "process launch -s" + +//0: .word -0b + &Mach_header +//0: .word -0b + l_info +section MACHMAINX _start: .globl _start -//// int3 -/* -;; How to debug this code: Uncomment the 'int3' breakpoint instruction above. -;; Build the stubs and upx. Compress a testcase, such as a copy of /bin/date. -;; Invoke gdb, and give a 'run' command. Define a single-step macro such as -;; define g -;; stepi -;; x/i $pc -;; end -;; and a step-over macro such as -;; define h -;; x/2i $pc -;; tbreak *$_ -;; continue -;; x/i $pc -;; end -;; Step through the code; remember that repeats the previous command. -;; -*/ - call main // push address of decompress subroutine -decompress: +// int3 + call main // push &f_exp +_start_end: + + section MACH_UNC +/* Returns 0 on success; non-zero on failure. */ +decompress: // (uchar const *src, size_t lsrc, uchar *dst, u32 &ldst, uint method) + +/* Arguments according to calling convention */ +#define src %esi +#define lsrc INS +#define dst %edi +#define ldst OUTS /* Out: actually a reference: &len_dst */ +#define meth PARM +#define methb PARM // /************************************************************************* // // C callable decompressor // **************************************************************************/ // /* Offsets to parameters, allowing for {pusha + call} */ -#define O_INP (8*4 +1*4) -#define O_INS (8*4 +2*4) -#define O_OUTP (8*4 +3*4) -#define O_OUTS (8*4 +4*4) -#define O_PARAM (8*4 +5*4) +#define O_INP NBPW*(8+1) +#define O_INS NBPW*(8+2) +#define O_OUTP NBPW*(8+3) +#define O_OUTS NBPW*(8+4) +#define O_PARAM NBPW*(8+5) -#define INP dword ptr [esp+O_INP] -#define INS dword ptr [esp+O_INS] -#define OUTP dword ptr [esp+O_OUTP] -#define OUTS dword ptr [esp+O_OUTS] -#define PARM dword ptr [esp+O_PARAM] +#define INP O_INP(%esp) +#define INS O_INS(%esp) +#define OUTP O_OUTP(%esp) +#define OUTS O_OUTS(%esp) +#define PARM O_PARAM(%esp) -section LEXEC009 - //; empty section for commonality with l_lx_exec86.asm -section LEXEC010 - pusha - // cld +M_NRV2B_LE32=2 // ../conf.h +M_NRV2D_LE32=5 +M_NRV2E_LE32=8 - mov esi, INP - mov edi, OUTP + section NRV_HEAD - or ebp, -1 -//;; align 8 +0: .word 9f - 0b +#include "arch/i386/bxx.S" +9: -#include "arch/i386/nrv2b_d32.S" -#include "arch/i386/nrv2d_d32.S" -#include "arch/i386/nrv2e_d32.S" +/* Working registers */ +#define off %eax /* XXX: 2GB */ +#define len %ecx /* XXX: 2GB */ +#define bits %ebx +#define disp %ebp + + pusha + movl INP,%esi // hardware src for movsb, lodsb + movl INS,%ecx // srclen + add %esi,%ecx; mov %ecx,INP // src EOF + movl OUTP,%edi // hardware dst for movsb + xorl bits,bits // empty; force refill + xorl len,len // create loop invariant + orl $(~0),disp // -1: initial displacement + jmp setup + +/* AMD64 branch prediction is much worse if there are more than 3 branches + per 16-byte block. The jnextb would suffer unless inlined. getnextb is OK + using closed subroutine to save space, and should be OK on cycles because + CALL+RET should be predicted. getnextb could partially expand, using closed + subroutine only for refill. +*/ +/* jump on next bit {0,1} with prediction {y==>likely, n==>unlikely} */ +/* Prediction omitted for now. */ +/* On refill: prefetch next byte, for latency reduction on literals and offsets. */ +#define jnextb0np jnextb0yp +#define jnextb0yp GETBITp; jnc +#define jnextb1np jnextb1yp +#define jnextb1yp GETBITp; jc +#define GETBITp \ + addl bits,bits; jnz 0f; \ + movl (%esi),bits; subl $-4,%esi; \ + adcl bits,bits; movb (%esi),%dl; \ +0: +/* Same, but without prefetch (not useful for length of match.) */ +#define jnextb0n jnextb0y +#define jnextb0y GETBIT; jnc +#define jnextb1n jnextb1y +#define jnextb1y GETBIT; jc +#define GETBIT \ + addl bits,bits; jnz 0f; \ + movl (%esi),bits; subl $-4,%esi; \ + adcl bits,bits; \ +0: + +/* rotate next bit into bottom bit of reg */ +#define getnextbp(reg) GETBITp; adcl reg,reg +#define getnextb(reg) getnextbp(reg) + + +getbit: + addl bits,bits; jz refill // Carry= next bit + rep; ret +refill: + movl (%esi),bits; subl $-4,%esi // next 32 bits; set Carry + adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit + movb (%esi),%dl // speculate: literal, or bottom 8 bits of offset + rep; ret + +copy: // In: len, %edi, disp; Out: 0==len, %edi, disp; trashes %eax, %edx + leal (%edi,disp),%eax; cmpl $5,len // <=3 is forced + movb (%eax),%dl; jbe copy1 // <=5 for better branch predict + cmpl $-4,disp; ja copy1 // 4-byte chunks would overlap + subl $4,len // adjust for termination cases +copy4: + movl (%eax),%edx; addl $4, %eax; subl $4,len + movl %edx,(%edi); leal 4(%edi),%edi; jnc copy4 + addl $4,len; movb (%eax),%dl; jz copy0 +copy1: + incl %eax; movb %dl,(%edi); decl len + movb (%eax),%dl + leal 1(%edi),%edi; jnz copy1 +copy0: + rep; ret + +setup: + cld + + section NRV2E +#include "arch/i386/nrv2e_d32-easy.S" + + section NRV2D +#include "arch/i386/nrv2d_d32-easy.S" + + section NRV2B +#include "arch/i386/nrv2b_d32-easy.S" + +/* lzma has its own 'section's */ + .intel_syntax noprefix #include "arch/i386/lzma_d.S" + .att_syntax -section LEXEC015 - // eax is 0 from decompressor code - //xor eax, eax ; return code + section NRV_TAIL +/* NRV_TAIL is empty */ -// check compressed size - mov edx, INP - add edx, INS - cmp esi, edx - jz .ok - dec eax -.ok: + section MACHMAINY +eof: + subl OUTP,dst // dst -= original dst + movl OUTS,%ecx; movl dst,(%ecx) // actual length used at dst XXX: 4GB + subl INP,src // src -= eof; // return 0: good; else: bad + movl src,7*NBPW(%esp) // %eax in 'popa' + popa + ret -// write back the uncompressed size - sub edi, OUTP - mov edx, OUTS - mov [edx], edi +end_decompress: .globl end_decompress - mov [7*4 + esp], eax - popa - ret + /* IDENTSTR goes here */ - ctojr32 - ctok32 edi, dl - cit32 edi -section LEXEC017 - popa - ret - -section LEXEC020 - -#define PAGE_SIZE ( 1<<12) + section MACHMAINZ +PAGE_SIZE= ( 1<<12) +PAGE_MASK= -PAGE_SIZE GAP= 128 // > farthest prefetch; must match ../../p_mach.cpp NO_LAP= 64 // avoid overlap for folded loader; must match ../../p_mach.cpp @@ -144,40 +289,125 @@ sz_b_info= 12 sz_cpr= 4 b_method= 8 +#define r_MHDR edi + +main: + pop %ebp // &_start_end + lea -2*NBPW + (_start - _start_end)(%ebp),%esi + + movzwl 0(%ebp),%eax // displ to f_exp + lea 2(%ebp),%ecx; push %ecx // FUNF + add %eax,%ebp // &f_exp + + movl %esi,%edx + movl %esi,%edi; lodsl; subl %eax,%r_MHDR + movl %esi,%ecx; lodsl; subl %eax,%ecx // ADRX= &{l_info; p_info; b_info} +// For the benefit of 'fold': + push %ecx // ADRX + subl %ecx,%edx; push %edx // LENX + push %edi // MHDR + jmp unfold0 + // Decompress the rest of this loader, and jump to it. unfold: - pop esi; lodsd; // push %eax // O_BINFO - push esi; pop ebx // &{ b_info:{sz_unc, sz_cpr, 4{byte}}, compressed_data...} - mov ecx,[sz_cpr + ebx] - lea esi,[ -1+ sz_b_info + ecx + ebx] // &hi_byte folded original - mov edi,[sz_unc + ebx] - lea edi,[GAP + NO_LAP -1+ sz_b_info + edi + ebx] // &hi_byte folded copy - std; rep movsb // copy descending + pop %ebx // &{ b_info:{sz_unc, sz_cpr, 4{byte}}, compressed_fold...} +// Find __LINKEDIT + lea sz_Mach_header(%r_MHDR),%esi + sub %ecx,%ecx +L100: + add %ecx,%esi // next command + movl mlc_cmdsize(%esi),%ecx + cmpl $LC_SEGMENT,(%esi); jne L100 + cmpl $__c4('L','I','N','K'),2+mseg_segname(%esi); jne L100 + cmpl $__c4('E','D','I','T'),6+mseg_segname(%esi); jne L100 + movl mseg_vmaddr(%esi),%ecx // arg1 for mprotect; dst= new unfold - lea edx,[GAP + ebx] // &unfolded - mov esi,ebx // &b_info - lea ebx,[1+ edi] // &lo_byte folded copy - push edx // &unfolded code - cld - lodsd - push eax // sz_uncompressed (maximum dstlen for lzma) - mov ecx,esp // save &dstlen - push eax // space for 5th param - push ecx // &dstlen - push edx // &dst - lodsd - push eax // sz_compressed (srclen) - lodsd - mov [4*3 + esp],eax // last 4 bytes of b_info - push ebx // &copied_compressed_data - call ebp // decompress(&src, srclen, &dst, &dstlen, b_info.misc) - add esp, (5+1)*4 // (5+1) args to decompress - lea ebx,[-4+ _start - decompress + ebp] // &total_length - ret // &destination -main: - pop ebp // &decompress +// Unfold + movl %ebx,%esi + push $PROT_READ|PROT_EXEC // arg3 for mprotect + lodsl; push %eax // arg2 for mprotect; .sz_unc == dstlen + movl %esp,%edx // remember &dstlen + push %ecx // arg1 for mprotect; dst= new unfold + + push NBPW(%esi) // arg5 b_method (.b_method - .sz_cpr) + push %edx // arg4 &dstlen + push %ecx // arg3 dst + lodsl; push %eax // arg2 .sz_cpr + lodsl; push %esi // arg1 src + call *%ebp // decompress + addl $NBPW*5,%esp // 5 params to FEXP() + +// PROT_EXEC + pop %edi // arg1 dst= new unfold + push %edi + push %edi // retaddr: dst is tail !! + // Use the copy. + // FIXME: ADRX, LENX + // rsp/ fd,ADRU,LENU,%entry,&Mach_header + // FALL THROUGH to mprotect +mprotect: + movb $SYS_mprotect,%al +L200: + movzbl %al,%eax + mov %esp,%ecx // &{user_ra, arg1, arg2, ...} + or $0xC0000,%eax + call sysgo; jnc 0f + or $~0,%eax // mov %eax,errno +0: + ret $3*NBPW // always remove 3 arguments from stack +write: + movb $SYS_write,%al; jmp L200 +sysgo: + pop %edx // return address for sysenter + .byte 0x0f,0x34 // sysenter + +#define DEBUG 1 +#if DEBUG /*{*/ +TRACE_BUFLEN=0x78 +FD_STDERR=2 +trace: // push $__c4(...); call trace + pusha; movl %esp,%esi // input + movl NBPW*(8+1)(%esp),%eax // annotation + subl $TRACE_BUFLEN,%esp + movl %esp,%edi // output + + pushl %eax; movb $'\n',%al; stosb; popl %eax +0: // print annotation + stosb; shr $8,%eax; jnz 0b + + pushl $8 // words per row + popl %eax +L610: // each word + pushl %eax // count + movb $' ',%al; call trace_hex // next word + popl %eax; decl %eax; jnz L610 + + movb $'\n',%al; stosb + xchg %edi,%eax + subl %esp,%eax // count + movl %esp,%ecx // buf + pushl %eax; pushl %ecx; push $FD_STDERR + call write + addl $TRACE_BUFLEN,%esp + popa + ret $NBPW // remove annotation + +trace_hex: + stosb // punctuation + lodsl // datum + call 0f; .ascii "0123456789abcdef"; 0: pop %ebx + push $8; pop %ecx // iterations +1: + rol $4,%eax; mov %eax,%edx + andl $0xf,%eax; xlat; stosb; xchg %eax,%edx + dec %ecx; jnz 1b + ret + +#endif /*}*/ + +unfold0: call unfold - .long 0 // O_BINFO +FOLD: // compressed fold_elf86 follows /* vim:set ts=8 sw=8 et: */ diff --git a/src/stub/src/i386-darwin.macho-fold.S b/src/stub/src/i386-darwin.macho-fold.S index 6a2bf248..434b9b4b 100644 --- a/src/stub/src/i386-darwin.macho-fold.S +++ b/src/stub/src/i386-darwin.macho-fold.S @@ -29,7 +29,8 @@ * */ -#include "arch/i386/macros.S" + .att_syntax // opcode src,dst +NBPW= 4 sz_b_info= 12 sz_unc= 0 @@ -40,54 +41,48 @@ sz_p_info= 12 _start: .globl _start # ignored, but silence "cannot find entry symbol _start" from ld -i386_ts_eax = 0*4 -i386_ts_ebx = 1*4 -i386_ts_ecx = 2*4 -i386_ts_edx = 3*4 -i386_ts_edi = 4*4 -i386_ts_esi = 5*4 -i386_ts_ebp = 6*4 -i386_ts_esp = 7*4 -i386_ts_ss = 8*4 -i386_ts_eflags = 9*4 -i386_ts_eip = 10*4 -i386_ts_cs = 11*4 -i386_ts_ds = 12*4 -i386_ts_es = 13*4 -i386_ts_fs = 14*4 -i386_ts_gs = 15*4 +//In: +// %ebp= f_exp +// %esp/ MHDR, LENX, ADRX, FUNF, argc, argv, 0, envp, 0, apple, 0, strings -fold_begin: // In: ebx= &total_length -//// int3 - push 0 # default value for mhdrp - mov edi,esp # &mhdrp - lea esi,[ 2+ ebp] # &f_unfilter - mov edx,[ebx] # sz_total - mov ecx,ebx - sub ecx,edx # src= &{l_info; p_info; b_info} - mov ebx,[sz_unc + sz_p_info + sz_l_info + ecx] # sz_mach_headers - mov eax,2048 # allow for /usr/lib/dyld - cmp eax,ebx - jbe 0f - mov ebx,eax +fold_begin: +// int3 + pop %eax // MHDR + pop %edx // LENX + pop %ecx // ADRX &{l_info; p_info; b_info} + + mov sz_unc + sz_p_info + sz_l_info(%ecx),%ebx # sz_mach_headers + movl $2048,%esi + cmp %esi,%ebx # allow for /usr/lib/dyld: 1564==sizeofcmds (MacOS 10.6.8) + ja 0f + mov %esi,%ebx 0: - sub esp,ebx # alloca - pusha # (mhdrpp, f_unfilter, f_decompress, mhdr, sz_mhdr, sz_total, src, junk) - call upx_main # Out: eax= &Mach_i386_thread_state of dyld - mov ecx,[4*4 + esp] # sz_mhdr - lea esp,[8*4 + 1*ecx + esp] # un_pusha, un_alloca; keep mhdrp - jmp [i386_ts_eip + eax] # esp: mhdrp, argc, argv... + pop %esi // FUNF + + push $0 # default value for mhdrp + mov %esp,%edi # &mhdrp + sub %ebx,%esp # alloca + pusha # (mhdrpp, f_unfilter, f_decompress, mhdr, sz_mhdr, sz_total, src, MHDR) + call upx_main # Out: %eax= entry + movl 5*NBPW(%esp),%edi # sz_total + movl 7*NBPW(%esp),%esi # MHDR + push %eax; push %edi; push %esi; call munmap + pop %eax; pop %eax; pop %eax # %eax= entry + + mov 4*NBPW(%esp),%ecx # sz_mhdr + lea 8*NBPW(%esp,%ecx),%esp # un_pusha, un_alloca; keep mhdrp + jmp *%eax # esp: mhdrp, argc, argv... bswap: .globl bswap - mov eax,[4+ esp] # ptr - mov ecx,[8+ esp] # len + mov 1*NBPW(%esp),%eax # ptr + mov 2*NBPW(%esp),%ecx # len 0: - mov edx,[eax] + mov (%eax),%edx .byte 0x0f,0xc8+2 // bswap edx - mov [eax],edx - sub ecx,4 - lea eax,[4+ eax] - jae 0b + mov %edx,(%eax) + sub $NBPW,%ecx + lea NBPW(%eax),%eax + ja 0b ret SYS_exit =1 @@ -102,36 +97,40 @@ SYS_mmap =197 SYS_munmap = 73 SYS_mprotect= 74 +spin: .globl spin + rep; nop; jmp spin + ret + sysgo: - pop edx # return address for sysenter + pop %edx # return address for sysenter .byte 0x0f, 0x34 # sysenter // lazy jmps enable compression of this code write: .globl write - mov al,SYS_write; jmps 2+ 0f; 0: + mov $SYS_write,%al; 0:jmp 0f exit: .globl exit - mov al,SYS_exit; jmps 2+ 0f; 0: + mov $SYS_exit,%al; 0:jmp 0f mprotect: .globl mprotect - mov al,SYS_mprotect; jmps 2+ 0f; 0: + mov $SYS_mprotect,%al; 0:jmp 0f munmap: .globl munmap - mov al,SYS_munmap; jmps 2+ 0f; 0: + mov $SYS_munmap,%al; 0:jmp 0f pread: .globl pread - mov al,SYS_pread; jmps 2+ 0f; 0: + mov $SYS_pread,%al; 0:jmp 0f close: .globl close - mov al,SYS_close; jmps 2+ 0f; 0: + mov $SYS_close,%al; 0:jmp 0f open: .globl open - mov al,SYS_open; jmps 2+ 0f; 0: + mov $SYS_open,%al; 0:jmp 0f mmap: .globl mmap - mov al,SYS_mmap; jmps 2+ 0f; 0: + mov $SYS_mmap,%al; 0:jmp 0f read: .globl read - mov al,SYS_read + mov $SYS_read,%al; 0: - movzbl eax,al # SYS_nnnnn - mov ecx,esp # &{user_ret_addr, arg1, arg2, ...} + movzbl %al,%eax # SYS_nnnnn + mov %esp,%ecx # &{user_ret_addr, arg1, arg2, ...} call sysgo - jncs 0f - //mov errno,eax - or eax,~0 + jnc 0f + //mov errno,%eax + or $~0,%eax 0: ret diff --git a/src/stub/src/i386-darwin.macho-main.c b/src/stub/src/i386-darwin.macho-main.c index 3b9b58ae..9719b5ae 100644 --- a/src/stub/src/i386-darwin.macho-main.c +++ b/src/stub/src/i386-darwin.macho-main.c @@ -46,65 +46,25 @@ // static data, and no string constants. #if !DEBUG /*{*/ -#define DPRINTF(a) /* empty: no debug drivel */ -#define DEBUG_STRCON(name, value) /* empty */ +#define DPRINTF(a ...) /* empty: no debug drivel */ #else /*}{ DEBUG */ -extern int write(int, void const *, size_t); -#if 0 -#include "stdarg.h" -#else +#define DPRINTF(fmt, args...) ({ \ + char const *r_fmt; \ + asm("call 0f; .asciz \"" fmt "\"; 0: pop %0" \ +/*out*/ : "=r"(r_fmt) ); \ + dprintf(r_fmt, args); \ +}) + #define va_arg __builtin_va_arg #define va_end __builtin_va_end #define va_list __builtin_va_list #define va_start __builtin_va_start -#endif - -#if defined(__i386__) || defined(__x86_64__) /*{*/ -#define PIC_STRING(value, var) \ - __asm__ __volatile__ ( \ - "call 0f; .asciz \"" value "\"; \ - 0: pop %0;" : "=r"(var) : \ - ) -#elif defined(__arm__) /*}{*/ -#define PIC_STRING(value, var) \ - __asm__ __volatile__ ( \ - "mov %0,pc; b 0f; \ - .asciz \"" value "\"; .balign 4; \ - 0: " : "=r"(var) \ - ) -#elif defined(__mips__) /*}{*/ -#define PIC_STRING(value, var) \ - __asm__ __volatile__ ( \ - ".set noreorder; bal 0f; move %0,$31; .set reorder; \ - .asciz \"" value "\"; .balign 4; \ - 0: " \ - : "=r"(var) : : "ra" \ - ) -#endif /*}*/ - - -#define DEBUG_STRCON(name, strcon) \ - static char const *name(void) { \ - register char const *rv; PIC_STRING(strcon, rv); \ - return rv; \ - } - - -#ifdef __arm__ /*{*/ -extern unsigned div10(unsigned); -#else /*}{*/ -static unsigned -div10(unsigned x) -{ - return x / 10u; -} -#endif /*}*/ static int unsimal(unsigned x, char *ptr, int n) { if (10<=x) { - unsigned const q = div10(x); + unsigned const q = x / 10; x -= 10 * q; n = unsimal(q, ptr, n); } @@ -122,54 +82,80 @@ decimal(int x, char *ptr, int n) return unsimal(x, ptr, n); } -DEBUG_STRCON(STR_hex, "0123456789abcdef"); - static int heximal(unsigned long x, char *ptr, int n) { - if (16<=x) { - n = heximal(x>>4, ptr, n); - x &= 0xf; + unsigned j = -1+ 2*sizeof(unsigned long); + unsigned long m = 0xful << (4 * j); + for (; j; --j, m >>= 4) { // omit leading 0 digits + if (m & x) break; } - ptr[n] = STR_hex()[x]; - return 1+ n; + for (; m; --j, m >>= 4) { + unsigned d = 0xf & (x >> (4 * j)); + ptr[n++] = ((10<=d) ? ('a' - 10) : '0') + d; + } + return n; } - -#define DPRINTF(a) dprintf a - static int dprintf(char const *fmt, ...) { - char c; int n= 0; - char *ptr; - char buf[20]; + char const *literal = 0; // NULL + char buf[24]; // ~0ull == 18446744073709551615 ==> 20 chars va_list va; va_start(va, fmt); - ptr= &buf[0]; - while (0!=(c= *fmt++)) if ('%'!=c) goto literal; - else switch (c= *fmt++) { - default: { -literal: - n+= write(2, fmt-1, 1); - } break; - case 0: goto done; /* early */ - case 'u': { - n+= write(2, buf, unsimal(va_arg(va, unsigned), buf, 0)); - } break; - case 'd': { - n+= write(2, buf, decimal(va_arg(va, int), buf, 0)); - } break; - case 'p': { - buf[0] = '0'; - buf[1] = 'x'; - n+= write(2, buf, heximal((unsigned long)va_arg(va, void *), buf, 2)); - } break; - case 'x': { - buf[0] = '0'; - buf[1] = 'x'; - n+= write(2, buf, heximal(va_arg(va, int), buf, 2)); - } break; + for (;;) { + char c = *fmt++; + if (!c) { // end of fmt + if (literal) { + goto finish; + } + break; // goto done + } + if ('%'!=c) { + if (!literal) { + literal = fmt; // 1 beyond start of literal + } + continue; + } + // '%' == c + if (literal) { +finish: + n += write(2, -1+ literal, fmt - literal); + literal = 0; // NULL + if (!c) { // fmt already ended + break; // goto done + } + } + switch (c= *fmt++) { // deficiency: does not handle _long_ + default: { // un-implemented conversion + n+= write(2, -1+ fmt, 1); + } break; + case 0: { // fmt ends with "%\0" ==> ignore + goto done; + } break; + case 'u': { + n+= write(2, buf, unsimal(va_arg(va, unsigned), buf, 0)); + } break; + case 'd': { + n+= write(2, buf, decimal(va_arg(va, int), buf, 0)); + } break; + case 'p': { + buf[0] = '0'; + buf[1] = 'x'; + n+= write(2, buf, heximal((unsigned long)va_arg(va, void *), buf, 2)); + } break; + case 'x': { + buf[0] = '0'; + buf[1] = 'x'; + n+= write(2, buf, heximal(va_arg(va, unsigned int), buf, 2)); + } break; + case 's': { + char *s0= (char *)va_arg(va, unsigned char *), *s= s0; + if (s) while (*s) ++s; + n+= write(2, s0, s - s0); + } break; + } // 'switch' } done: va_end(va); @@ -177,6 +163,7 @@ done: } #endif /*}*/ +extern int spin(int); /************************************************************************* // "file" util @@ -187,17 +174,16 @@ typedef struct { void *buf; } Extent; -DEBUG_STRCON(STR_xread, "xread %%p(%%x %%p) %%p %%x\\n") -DEBUG_STRCON(STR_xreadfail, "xreadfail %%p(%%x %%p) %%p %%x\\n") - static void xread(Extent *x, void *buf, size_t count) { unsigned char *p=x->buf, *q=buf; size_t j; - DPRINTF((STR_xread(), x, x->size, x->buf, buf, count)); + DPRINTF("xread %%p(%%x %%p) %%p %%x\\n", + x, x->size, x->buf, buf, count); if (x->size < count) { - DPRINTF((STR_xreadfail(), x, x->size, x->buf, buf, count)); + DPRINTF("xreadfail %%p(%%x %%p) %%p %%x\\n", + x, x->size, x->buf, buf, count); exit(127); } for (j = count; 0!=j--; ++p, ++q) { @@ -217,7 +203,6 @@ xread(Extent *x, void *buf, size_t count) #define err_exit(a) goto error #else //}{ save debugging time #define ERR_LAB /*empty*/ -DEBUG_STRCON(STR_exit, "err_exit %%x\\n"); static void err_exit(int a) @@ -265,10 +250,6 @@ typedef int f_expand( const nrv_byte *, nrv_uint, nrv_byte *, nrv_uint *, unsigned ); -DEBUG_STRCON(STR_unpackExtent, - "unpackExtent in=%%p(%%x %%p) out=%%p(%%x %%p) %%p %%p\\n"); -DEBUG_STRCON(STR_err5, "sz_cpr=%%x sz_unc=%%x xo->size=%%x\\n"); - static void unpackExtent( Extent *const xi, // input @@ -277,8 +258,8 @@ unpackExtent( f_unfilter *f_unf ) { - DPRINTF((STR_unpackExtent(), - xi, xi->size, xi->buf, xo, xo->size, xo->buf, f_decompress, f_unf)); + DPRINTF("unpackExtent in=%%p(%%x %%p) out=%%p(%%x %%p) %%p %%p\\n", + xi, xi->size, xi->buf, xo, xo->size, xo->buf, f_decompress, f_unf); while (xo->size) { struct b_info h; // Note: if h.sz_unc == h.sz_cpr then the block was not @@ -286,6 +267,8 @@ unpackExtent( // Read and check block sizes. xread(xi, (unsigned char *)&h, sizeof(h)); + DPRINTF(" sz_unc=%%x sz_cpr=%%x param=%%x\\n", + h.sz_unc, h.sz_cpr, *(int *)&h.b_method); if (h.sz_unc == 0) { // uncompressed size 0 -> EOF if (h.sz_cpr != UPX_MAGIC_LE32) // h.sz_cpr must be h->magic err_exit(2); @@ -299,7 +282,8 @@ ERR_LAB } if (h.sz_cpr > h.sz_unc || h.sz_unc > xo->size ) { - DPRINTF((STR_err5(), h.sz_cpr, h.sz_unc, xo->size)); + DPRINTF("sz_cpr=%%x sz_unc=%%x xo->size=%%x\\n", + h.sz_cpr, h.sz_unc, xo->size); err_exit(5); } // Now we have: @@ -313,7 +297,10 @@ ERR_LAB xo->buf, &out_len, h.b_method); if (j != 0 || out_len != (nrv_uint)h.sz_unc) err_exit(7); + DPRINTF(" b_ftid=%%x f_unf=%%p\\n", h.b_ftid, f_unf); if (h.b_ftid!=0 && f_unf) { // have filter + DPRINTF(" unfiltering f_unf=%%p buf=%%p len=%%x cto=%%x ftid=%%x\\n", + f_unf, xo->buf, out_len, h.b_cto8, h.b_ftid); (*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid); } xi->buf += h.sz_cpr; @@ -349,6 +336,8 @@ upx_bzero(unsigned char *p, size_t len) |(REP8(PROT_WRITE) & EXP8(PF_W)) \ ) >> ((pf & (PF_R|PF_W|PF_X))<<2) )) +typedef size_t Addr; + typedef struct { unsigned magic; unsigned nfat_arch; @@ -408,8 +397,8 @@ typedef struct { unsigned cmd; unsigned cmdsize; char segname[16]; - unsigned vmaddr; - unsigned vmsize; + Addr vmaddr; + Addr vmsize; unsigned fileoff; unsigned filesize; unsigned maxprot; @@ -418,11 +407,26 @@ typedef struct { unsigned flags; } Mach_segment_command; enum e5 { + VM_PROT_NONE = 0, VM_PROT_READ = 1, VM_PROT_WRITE = 2, VM_PROT_EXECUTE = 4 }; +typedef struct { + char sectname[16]; + char segname[16]; + Addr addr; /* memory address */ + Addr size; /* size in bytes */ + unsigned offset; /* file offset */ + unsigned align; /* power of 2 */ + unsigned reloff; /* file offset of relocation entries */ + unsigned nreloc; /* number of relocation entries */ + unsigned flags; /* section type and attributes */ + unsigned reserved1; /* for offset or index */ + unsigned reserved2; /* for count or sizeof */ +} Mach_section_command; + typedef struct { unsigned eax, ebx, ecx, edx; unsigned edi, esi, ebp; @@ -465,102 +469,235 @@ extern void *mmap(void *, size_t, unsigned, unsigned, int, off_t_upx_stub, unsig extern ssize_t pread(int, void *, size_t, off_t_upx_stub, unsigned); extern void bswap(void *, unsigned); -DEBUG_STRCON(STR_mmap, - "mmap addr=%%p len=%%p prot=%%x flags=%%x fd=%%d off=%%p\\n"); -DEBUG_STRCON(STR_do_xmap, - "do_xmap fdi=%%x mhdr=%%p xi=%%p(%%x %%p) f_unf=%%p\\n") +enum { + MH_DYLINKER= 7, /* /usr/bin/dyld */ + MH_PIE = 0x200000 // ASLR -static Mach_i386_thread_state const * -do_xmap( +}; + +// Find convex hull of PT_LOAD (the minimal interval which covers all PT_LOAD), +// and mmap that much, to be sure that a kernel using exec-shield-randomize +// won't place the first piece in a way that leaves no room for the rest. +static Addr // returns relocation constant +xfind_pages( Mach_header const *const mhdr, + Mach_segment_command const *sc, + int const ncmds, + Addr addr +) +{ + Addr lo= ~(Addr)0, hi= 0; + int j; + unsigned mflags = ((mhdr->filetype == MH_DYLINKER || mhdr->flags & MH_PIE) ? 0 : MAP_FIXED); + mflags += MAP_PRIVATE | MAP_ANON; // '+' can optimize better than '|' + DPRINTF("xfind_pages mhdr=%%p sc=%%p ncmds=%%d addr=%%p mflags=%%x\\n", + mhdr, sc, ncmds, addr, mflags); + for (j=0; j < ncmds; ++j, + (sc = (Mach_segment_command const *)((sc->cmdsize>>2) + (unsigned const *)sc)) + ) if (LC_SEGMENT==sc->cmd) { + DPRINTF(" #%%d cmd=%%x cmdsize=%%x vmaddr=%%p vmsize==%%p lo=%%p mflags=%%x\\n", + j, sc->cmd, sc->cmdsize, sc->vmaddr, sc->vmsize, lo, mflags); + if (sc->vmsize // theoretically occupies address space + && !(sc->vmaddr==0 && (MAP_FIXED & mflags)) // but ignore PAGEZERO when MAP_FIXED + ) { + if (mhdr->filetype == MH_DYLINKER // /usr/lib/dyld + && 0==(1+ lo) // 1st LC_SEGMENT + && sc->vmaddr != 0 // non-floating address + ) { + // "pre-linked" dyld on MacOS 10.11.x El Capitan + mflags |= MAP_FIXED; + } + if (lo > sc->vmaddr) { + lo = sc->vmaddr; + } + if (hi < (sc->vmsize + sc->vmaddr)) { + hi = sc->vmsize + sc->vmaddr; + } + } + } + lo -= ~PAGE_MASK & lo; // round down to page boundary + hi = PAGE_MASK & (hi - lo - PAGE_MASK -1); // page length + DPRINTF(" addr=%%p lo=%%p len=%%p mflags=%%x\\n", addr, lo, hi, mflags); + if (MAP_FIXED & mflags) { + addr = lo; + int rv = munmap((void *)addr, hi); + if (rv) { + DPRINTF("munmap addr=%%p len=%%p, rv=%%x\\n", addr, hi, rv); + } + } + addr = (Addr)mmap((void *)addr, hi, VM_PROT_NONE, mflags, MAP_ANON_FD, 0, 0); + DPRINTF(" addr=%%p\\n", addr); + if (~PAGE_MASK & addr) { + //err_exit(6); + } + return (Addr)(addr - lo); +} +Addr // entry: &hatch if main; Mach_thread_state->eip if dyld +do_xmap( + Mach_header *const mhdr, off_t_upx_stub const fat_offset, Extent *const xi, int const fdi, Mach_header **mhdrpp, - f_expand *const f_decompress, + f_expand *const f_exp, f_unfilter *const f_unf ) { - Mach_segment_command const *sc = (Mach_segment_command const *)(1+ mhdr); - Mach_i386_thread_state const *entry = 0; + DPRINTF("do_xmap fdi=%%x mhdr=%%p *mhdrpp=%%p xi=%%p(%%x %%p) f_unf=%%p\\n", + fdi, mhdr, (mhdrpp ? *mhdrpp : 0), xi, (xi? xi->size: 0), (xi? xi->buf: 0), f_unf); + + Addr rv = 0; + Mach_segment_command *sc = (Mach_segment_command *)(1+ mhdr); + Addr const reloc = xfind_pages(mhdr, sc, mhdr->ncmds, 0); + DPRINTF("do_xmap reloc=%%p\\n", reloc); unsigned j; - - DPRINTF((STR_do_xmap(), - fdi, mhdr, xi, (xi? xi->size: 0), (xi? xi->buf: 0), f_unf)); - for ( j=0; j < mhdr->ncmds; ++j, - (sc = (Mach_segment_command const *)(sc->cmdsize + (void const *)sc)) - ) if (LC_SEGMENT==sc->cmd && sc->vmsize!=0) { - Extent xo; - size_t mlen = xo.size = sc->filesize; - unsigned char *addr = xo.buf = (unsigned char *)sc->vmaddr; - unsigned char *haddr = sc->vmsize + addr; - size_t frag = (int)addr &~ PAGE_MASK; - addr -= frag; - mlen += frag; + (sc = (Mach_segment_command *)((sc->cmdsize>>2) + (unsigned *)sc)) + ) { + DPRINTF(" #%%d cmd=%%x cmdsize=%%x vmsize=%%x\\n", + j, sc->cmd, sc->cmdsize, sc->vmsize); + if (LC_SEGMENT==sc->cmd && !sc->vmsize) { + // Typical __DWARF info segment for 'rust' + struct b_info h; + xread(xi, (unsigned char *)&h, sizeof(h)); + DPRINTF(" 0==.vmsize; skipping %%x\\n", h.sz_cpr); + xi->buf += h.sz_cpr; + } + if (LC_SEGMENT==sc->cmd && sc->vmsize) { + Extent xo; + size_t mlen = xo.size = sc->filesize; + xo.buf = (void *)(reloc + sc->vmaddr); + Addr addr = (Addr)xo.buf; + Addr haddr = sc->vmsize + addr; + size_t frag = addr &~ PAGE_MASK; + addr -= frag; + mlen += frag; - if (0!=mlen) { - // Decompressor can overrun the destination by 3 bytes. [x86 only] - size_t const mlen3 = mlen + (xi ? 3 : 0); - unsigned const prot = VM_PROT_READ | VM_PROT_WRITE; - unsigned const flags = MAP_FIXED | MAP_PRIVATE | - ((xi || 0==sc->filesize) ? MAP_ANON : 0); - int const fdm = ((0==sc->filesize) ? MAP_ANON_FD : fdi); - off_t_upx_stub const offset = sc->fileoff + fat_offset; + DPRINTF(" mlen=%%p frag=%%p addr=%%p\\n", mlen, frag, addr); + if (0!=mlen) { // In particular, omitted for __PAGEZERO + size_t const mlen3 = mlen + #if defined(__x86_64__) //{ + // Decompressor can overrun the destination by 3 bytes. [x86 only] + + (xi ? 3 : 0) + #endif //} + ; + unsigned const prot = VM_PROT_READ | VM_PROT_WRITE; + // MAP_FIXED: xfind_pages() reserved them, so use them! + unsigned const flags = MAP_FIXED | MAP_PRIVATE | + ((xi || 0==sc->filesize) ? MAP_ANON : 0); + int const fdm = ((xi || 0==sc->filesize) ? MAP_ANON_FD : fdi); + off_t_upx_stub const offset = sc->fileoff + fat_offset; - DPRINTF((STR_mmap(), addr, mlen3, prot, flags, fdm, offset)); - if (addr != mmap(addr, mlen3, prot, flags, fdm, offset, 0)) { - err_exit(8); + DPRINTF("mmap addr=%%p len=%%p prot=%%x flags=%%x fd=%%d off=%%p reloc=%%p\\n", + addr, mlen3, prot, flags, fdm, offset, reloc); + { + Addr maddr = (Addr)mmap((void *)addr, mlen3, prot, flags, fdm, offset, 0); + DPRINTF("maddr=%%p\\n", maddr); + if (maddr != addr) { + err_exit(8); + } + addr = maddr; + } + if (mhdrpp && !*mhdrpp) { // MH_DYLINKER + *mhdrpp = (Mach_header*)addr; + } + } + if (xi && 0!=sc->filesize) { + if (0==sc->fileoff /*&& 0!=mhdrpp*/) { + *mhdrpp = (Mach_header *)(void *)addr; + } + unpackExtent(xi, &xo, f_exp, f_unf); + } + DPRINTF("xi=%%p mlen=%%p fileoff=%%p nsects=%%d\\n", + xi, mlen, sc->fileoff, sc->nsects); + if (xi && mlen && !sc->fileoff && sc->nsects) { + // main target __TEXT segment at beginning of file with sections (__text) + // Use upto 2 words of header padding for the escape hatch. + // fold.S could do this easier, except PROT_WRITE is missing then. + union { + unsigned char *p0; + unsigned short *p1; + unsigned int *p2; + unsigned long *p3; + } u; + u.p0 = (unsigned char *)addr; + Mach_segment_command *segp = (Mach_segment_command *)((((char *)sc - (char *)mhdr)>>2) + u.p2); + Mach_section_command *const secp = (Mach_section_command *)(1+ segp); + unsigned *hatch= -2+ (secp->offset>>2) + u.p2; + DPRINTF("hatch=%%p segp=%%p secp=%%p secp->offset=%%p mhdr=%%p\\n", hatch, segp, secp, secp->offset, addr); + #if defined(__aarch64__) //{ + hatch[0] = 0xd4000001; // svc #0 // syscall + hatch[1] = 0xd65f03c0; // ret + #elif defined(__arm__) //}{ + hatch[0] = 0xef000000; // svc 0x0 // syscall + hatch[1] = 0xe12fff1e; // bx lr + #elif defined(__x86_64__) //}{ + hatch[0] = 0xc3050f90; // nop; syscall; ret + #elif defined(__i386__) //}{ + hatch[0] = 0xc3050f90; // nop; syscall; ret + #endif //} + rv = (Addr)hatch; + } + /*bzero(addr, frag);*/ // fragment at lo end + frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary + bzero((void *)(mlen+addr), frag); // fragment at hi end + if (0!=mlen && 0!=mprotect((void *)addr, mlen, sc->initprot)) { + err_exit(10); + ERR_LAB + } + addr += mlen + frag; /* page boundary on hi end */ + if ( + #if SIMULATE_ON_LINUX_EABI4 /*{*/ + 0!=addr && + #endif /*}*/ + addr < haddr) { // need pages for .bss + if (0!=addr && addr != (Addr)mmap((void *)addr, haddr - addr, sc->initprot, + MAP_FIXED | MAP_PRIVATE | MAP_ANON, MAP_ANON_FD, 0, 0) ) { + err_exit(9); + } + } + else if (xi) { // cleanup if decompressor overrun crosses page boundary + mlen = ~PAGE_MASK & (3+ mlen); + if (mlen<=3) { // page fragment was overrun buffer only + DPRINTF("munmap %%x %%x\\n", addr, mlen); + munmap((char *)addr, mlen); + } } } - if (xi && 0!=sc->filesize) { - if (0==sc->fileoff && 0!=mhdrpp) { - *mhdrpp = (Mach_header *)addr; - } - unpackExtent(xi, &xo, f_decompress, f_unf); - } - /*bzero(addr, frag);*/ // fragment at lo end - frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary - bzero(mlen+addr, frag); // fragment at hi end - if (0!=mlen && 0!=mprotect(addr, mlen, sc->initprot)) { - err_exit(10); -ERR_LAB - } - addr += mlen + frag; /* page boundary on hi end */ - if (addr < haddr) { // need pages for .bss - if (0!=addr && addr != mmap(addr, haddr - addr, sc->initprot, - MAP_FIXED | MAP_PRIVATE | MAP_ANON, MAP_ANON_FD, 0, 0 ) ) { - err_exit(9); - } - } - else if (xi) { // cleanup if decompressor overrun crosses page boundary - mlen = ~PAGE_MASK & (3+ mlen); - if (mlen<=3) { // page fragment was overrun buffer only - munmap(addr, mlen); + else if (!xi // dyld + && (LC_UNIXTHREAD==sc->cmd || LC_THREAD==sc->cmd)) { + Mach_thread_command *const thrc = (Mach_thread_command *)sc; + DPRINTF("thread_command= %%p\\n", sc); + if (1 + // FIXME THREAD_STATE ==thrc->flavor + // && THREAD_STATE_COUNT==thrc->count + ) { + DPRINTF("thread_state= %%p flavor=%%d count=%%x reloc=%%p\\n", + &thrc->state, thrc->flavor, thrc->count, reloc); + #if defined(__aarch64__) //{ + rv = reloc + thrc->state.pc; + #elif defined(__arm__) //}{ + rv = reloc + thrc->state.pc; + #elif defined(__x86_64__) //}{ + rv = reloc + thrc->state.rip; + #elif defined(__i386__) //}{ + rv = reloc + thrc->state.eip; + #else //}{ + #error do_xmap rv $ARCH + #endif //} } } } - else if (LC_UNIXTHREAD==sc->cmd || LC_THREAD==sc->cmd) { - Mach_thread_command const *const thrc = (Mach_thread_command const *)sc; - if (i386_THREAD_STATE ==thrc->flavor - && i386_THREAD_STATE_COUNT==thrc->count ) { - entry = &thrc->state; - } - } - return entry; + DPRINTF("do_xmap= %%p\\n", rv); + return rv; } - /************************************************************************* // upx_main - called by our entry code // **************************************************************************/ -DEBUG_STRCON(STR_upx_main, - "upx_main szc=%%x f_dec=%%p f_unf=%%p " - " xo=%%p(%%x %%p) xi=%%p(%%x %%p) mhdrpp=%%p\\n") - -Mach_i386_thread_state const * +Addr upx_main( Mach_header **const mhdrpp, // Out: *mhdrpp= &real Mach_header f_unfilter *const f_unf, @@ -571,7 +708,7 @@ upx_main( struct l_info const *const li ) { - Mach_i386_thread_state const *entry; + Addr entry; off_t_upx_stub fat_offset = 0; Extent xi, xo, xi0; xi.buf = CONST_CAST(unsigned char *, 1+ (struct p_info const *)(1+ li)); // &b_info @@ -580,9 +717,11 @@ upx_main( xo.size = ((struct b_info const *)(void const *)xi.buf)->sz_unc; xi0 = xi; - DPRINTF((STR_upx_main(), - sz_compressed, f_decompress, f_unf, &xo, xo.size, xo.buf, - &xi, xi.size, xi.buf, mhdrpp)); + DPRINTF("upx_main szc=%%x f_dec=%%p f_unf=%%p " + " xo=%%p(%%x %%p) xi=%%p(%%x %%p) mhdrpp=%%p\\n", + sz_compressed, f_decompress, f_unf, + &xo, xo.size, xo.buf, + &xi, xi.size, xi.buf, mhdrpp); // Uncompress Macho headers unpackExtent(&xi, &xo, f_decompress, 0); // never filtered? diff --git a/src/stub/src/i386-darwin.macho-upxmain.c b/src/stub/src/i386-darwin.macho-upxmain.c index 23bd5182..a272a018 100644 --- a/src/stub/src/i386-darwin.macho-upxmain.c +++ b/src/stub/src/i386-darwin.macho-upxmain.c @@ -710,6 +710,44 @@ typedef struct { //# -Wl,-unexported_symbols_list unexport-upxload.txt \ //# strip -u -r i386-darwin.macho-upxmain.exe +// Makefile: +//# Compile i386-darwin.macho-upxmain.c on MacOS 10.9 (Mavericks) or later, +//# to get smaller code. Then copy i386-darwin.macho-upxmain.o to MacOS 10.6.x, +//# and static link, to get runtime conventions straight [??] +//#\tgcc -m32 -c -I $PWD \ +//#\t -Os -fPIC -fno-stack-protector -fno-unwind-tables \ +//#\t i386-darwin.macho-upxmain.c +// +//i386-darwin.macho-upxmain.exe: Makefile +//i386-darwin.macho-upxmain.exe: start.S +//i386-darwin.macho-upxmain.exe: i386-darwin.macho-upxsubr.S +//i386-darwin.macho-upxmain.exe: i386-darwin.macho-upxmain.o +//\tgcc -c start.S i386-darwin.macho-upxsubr.S +//\tgcc -o $@ -I $PWD \ +//\t -O -nostartfiles -fno-stack-protector -fno-unwind-tables \ +//\t start.o \ +//\t i386-darwin.macho-upxmain.o \ +//\t i386-darwin.macho-upxsubr.o \ +//\t -Wl,-pagezero_size,0x1000 \ +//\t -Wl,-no_uuid \ +//\t -Wl,-bind_at_load \ +//\t -Wl,-headerpad,0x400 +//\tstrip -u -r -S -x $@ +//\totool -hl $@ >upxmain-new.otool + +// History: Originally this file i386-darwin.macho-upxmain.c was the entry point +// of the compressed program. The output i386-darwin.macho-upxmain.exe was used +// as a prototype for LC_* commands. The start address was in LC_UNIXTHREAD. +// The decompressor upx_main() i386-darwin.macho-main.c itself was not compressed. +// +// Then MacOS 10.7 ("Lion") supported 64-bit x86_64, and things began to change. +// The start address (for anything except the dynamic linker) is in LC_MAIN. +// We still use LC_UNIXTHREAD because we are "dynamic linker". +// Because no program on MacOS uses brk(0), then the compressed program and stub +// could above the space for un-compressed program, saving a copy-and-relocate. +// The run-time decompression could be more like on Linux, using: macho-entry.S, +// macho-fold.S, macho-main.c + int main(int argc, char *argv[]) { diff --git a/src/stub/tmp/i386-darwin.macho-entry.bin.dump b/src/stub/tmp/i386-darwin.macho-entry.bin.dump index a6fef35d..0671fb8d 100644 --- a/src/stub/tmp/i386-darwin.macho-entry.bin.dump +++ b/src/stub/tmp/i386-darwin.macho-entry.bin.dump @@ -2,521 +2,60 @@ file format elf32-i386 Sections: Idx Name Size VMA LMA File off Algn Flags - 0 I386BXX0 00000002 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY - 1 I386BXX1 00000001 00000000 00000000 00000036 2**0 CONTENTS, READONLY - 2 LEXEC000 00000005 00000000 00000000 00000037 2**0 CONTENTS, RELOC, READONLY - 3 LEXEC009 00000000 00000000 00000000 0000003c 2**0 CONTENTS, READONLY - 4 LEXEC010 0000000c 00000000 00000000 0000003c 2**0 CONTENTS, READONLY - 5 N2BSMA10 00000003 00000000 00000000 00000048 2**0 CONTENTS, RELOC, READONLY - 6 N2BFAS10 00000002 00000000 00000000 0000004b 2**0 CONTENTS, RELOC, READONLY - 7 N2BFAS11 00000006 00000000 00000000 0000004d 2**0 CONTENTS, READONLY - 8 N2BDEC10 0000000b 00000000 00000000 00000053 2**0 CONTENTS, READONLY - 9 N2BSMA20 00000005 00000000 00000000 0000005e 2**0 CONTENTS, RELOC, READONLY - 10 N2BFAS20 00000009 00000000 00000000 00000063 2**0 CONTENTS, RELOC, READONLY - 11 N2BDEC20 0000000d 00000000 00000000 0000006c 2**0 CONTENTS, READONLY - 12 N2BSMA30 0000000d 00000000 00000000 00000079 2**0 CONTENTS, RELOC, READONLY - 13 N2BFAS30 0000000f 00000000 00000000 00000086 2**0 CONTENTS, RELOC, READONLY - 14 N2BDEC30 0000003e 00000000 00000000 00000095 2**0 CONTENTS, RELOC, READONLY - 15 N2BSMA40 0000000d 00000000 00000000 000000d3 2**0 CONTENTS, RELOC, READONLY - 16 N2BFAS40 0000000f 00000000 00000000 000000e0 2**0 CONTENTS, RELOC, READONLY - 17 N2BSMA50 00000002 00000000 00000000 000000ef 2**0 CONTENTS, READONLY - 18 N2BFAS50 00000003 00000000 00000000 000000f1 2**0 CONTENTS, READONLY - 19 N2BDEC50 00000009 00000000 00000000 000000f4 2**0 CONTENTS, READONLY - 20 N2BSMA60 0000000c 00000000 00000000 000000fd 2**0 CONTENTS, RELOC, READONLY - 21 N2BFAS60 00000019 00000000 00000000 00000109 2**0 CONTENTS, RELOC, READONLY - 22 N2BFAS61 00000016 00000000 00000000 00000122 2**0 CONTENTS, RELOC, READONLY - 23 N2BDEC60 00000000 00000000 00000000 00000138 2**0 CONTENTS, READONLY - 24 N2DSMA10 00000003 00000000 00000000 00000138 2**0 CONTENTS, RELOC, READONLY - 25 N2DFAS10 00000002 00000000 00000000 0000013b 2**0 CONTENTS, RELOC, READONLY - 26 N2DFAS11 00000006 00000000 00000000 0000013d 2**0 CONTENTS, READONLY - 27 N2DDEC10 0000000b 00000000 00000000 00000143 2**0 CONTENTS, READONLY - 28 N2DSMA20 00000005 00000000 00000000 0000014e 2**0 CONTENTS, RELOC, READONLY - 29 N2DFAS20 00000009 00000000 00000000 00000153 2**0 CONTENTS, RELOC, READONLY - 30 N2DDEC20 0000000d 00000000 00000000 0000015c 2**0 CONTENTS, READONLY - 31 N2DSMA30 0000000d 00000000 00000000 00000169 2**0 CONTENTS, RELOC, READONLY - 32 N2DFAS30 0000000f 00000000 00000000 00000176 2**0 CONTENTS, RELOC, READONLY - 33 N2DDEC30 00000052 00000000 00000000 00000185 2**0 CONTENTS, RELOC, READONLY - 34 N2DSMA40 0000000d 00000000 00000000 000001d7 2**0 CONTENTS, RELOC, READONLY - 35 N2DFAS40 0000000f 00000000 00000000 000001e4 2**0 CONTENTS, RELOC, READONLY - 36 N2DSMA50 00000002 00000000 00000000 000001f3 2**0 CONTENTS, READONLY - 37 N2DFAS50 00000003 00000000 00000000 000001f5 2**0 CONTENTS, READONLY - 38 N2DDEC50 00000009 00000000 00000000 000001f8 2**0 CONTENTS, READONLY - 39 N2DSMA60 0000000c 00000000 00000000 00000201 2**0 CONTENTS, RELOC, READONLY - 40 N2DFAS60 00000019 00000000 00000000 0000020d 2**0 CONTENTS, RELOC, READONLY - 41 N2DFAS61 00000016 00000000 00000000 00000226 2**0 CONTENTS, RELOC, READONLY - 42 N2DDEC60 00000000 00000000 00000000 0000023c 2**0 CONTENTS, READONLY - 43 N2ESMA10 00000003 00000000 00000000 0000023c 2**0 CONTENTS, RELOC, READONLY - 44 N2EFAS10 00000002 00000000 00000000 0000023f 2**0 CONTENTS, RELOC, READONLY - 45 N2EFAS11 00000006 00000000 00000000 00000241 2**0 CONTENTS, READONLY - 46 N2EDEC10 0000000b 00000000 00000000 00000247 2**0 CONTENTS, READONLY - 47 N2ESMA20 00000005 00000000 00000000 00000252 2**0 CONTENTS, RELOC, READONLY - 48 N2EFAS20 00000009 00000000 00000000 00000257 2**0 CONTENTS, RELOC, READONLY - 49 N2EDEC20 0000000d 00000000 00000000 00000260 2**0 CONTENTS, READONLY - 50 N2ESMA30 0000000d 00000000 00000000 0000026d 2**0 CONTENTS, RELOC, READONLY - 51 N2EFAS30 0000000f 00000000 00000000 0000027a 2**0 CONTENTS, RELOC, READONLY - 52 N2EDEC30 0000005f 00000000 00000000 00000289 2**0 CONTENTS, RELOC, READONLY - 53 N2ESMA40 0000000d 00000000 00000000 000002e8 2**0 CONTENTS, RELOC, READONLY - 54 N2EFAS40 0000000f 00000000 00000000 000002f5 2**0 CONTENTS, RELOC, READONLY - 55 N2ESMA50 00000002 00000000 00000000 00000304 2**0 CONTENTS, READONLY - 56 N2EFAS50 00000003 00000000 00000000 00000306 2**0 CONTENTS, READONLY - 57 N2EDEC50 00000009 00000000 00000000 00000309 2**0 CONTENTS, READONLY - 58 N2ESMA60 0000000c 00000000 00000000 00000312 2**0 CONTENTS, RELOC, READONLY - 59 N2EFAS60 00000019 00000000 00000000 0000031e 2**0 CONTENTS, RELOC, READONLY - 60 N2EFAS61 00000016 00000000 00000000 00000337 2**0 CONTENTS, RELOC, READONLY - 61 N2EDEC60 00000000 00000000 00000000 0000034d 2**0 CONTENTS, READONLY - 62 LZMA_DEC00 0000002e 00000000 00000000 0000034d 2**0 CONTENTS, RELOC, READONLY - 63 LZMA_ELF00 00000048 00000000 00000000 0000037b 2**0 CONTENTS, READONLY - 64 LZMA_DEC10 00000a86 00000000 00000000 000003c3 2**0 CONTENTS, READONLY - 65 LZMA_DEC20 00000a86 00000000 00000000 00000e49 2**0 CONTENTS, READONLY - 66 LZMA_DEC30 0000001a 00000000 00000000 000018cf 2**0 CONTENTS, READONLY - 67 LEXEC015 0000001d 00000000 00000000 000018e9 2**0 CONTENTS, READONLY - 68 LXUNF000 00000002 00000000 00000000 00001906 2**0 CONTENTS, RELOC, READONLY - 69 LXUNF002 00000005 00000000 00000000 00001908 2**0 CONTENTS, READONLY - 70 MRUBYTE0 00000002 00000000 00000000 0000190d 2**0 CONTENTS, READONLY - 71 LXMRU005 00000005 00000000 00000000 0000190f 2**0 CONTENTS, RELOC, READONLY - 72 LXMRU006 00000007 00000000 00000000 00001914 2**0 CONTENTS, READONLY - 73 LXMRU007 00000007 00000000 00000000 0000191b 2**0 CONTENTS, READONLY - 74 LXUNF008 00000004 00000000 00000000 00001922 2**0 CONTENTS, READONLY - 75 LXUNF010 00000005 00000000 00000000 00001926 2**0 CONTENTS, RELOC, READONLY - 76 LXJCC010 00000003 00000000 00000000 0000192b 2**0 CONTENTS, READONLY - 77 LXMRU045 00000003 00000000 00000000 0000192e 2**0 CONTENTS, READONLY - 78 LXMRU046 00000002 00000000 00000000 00001931 2**0 CONTENTS, READONLY - 79 LXJCC020 00000002 00000000 00000000 00001933 2**0 CONTENTS, RELOC, READONLY - 80 LXJCC021 00000005 00000000 00000000 00001935 2**0 CONTENTS, RELOC, READONLY - 81 LXJCC023 00000007 00000000 00000000 0000193a 2**0 CONTENTS, READONLY - 82 LXUNF037 00000002 00000000 00000000 00001941 2**0 CONTENTS, READONLY - 83 LXUNF386 00000001 00000000 00000000 00001943 2**0 CONTENTS, READONLY - 84 LXUNF387 00000009 00000000 00000000 00001944 2**0 CONTENTS, READONLY - 85 LXUNF388 00000003 00000000 00000000 0000194d 2**0 CONTENTS, RELOC, READONLY - 86 LXUNF486 00000004 00000000 00000000 00001950 2**0 CONTENTS, READONLY - 87 LXUNF487 00000002 00000000 00000000 00001954 2**0 CONTENTS, RELOC, READONLY - 88 LXMRU065 00000005 00000000 00000000 00001956 2**0 CONTENTS, RELOC, READONLY - 89 MRUBYTE3 00000002 00000000 00000000 0000195b 2**0 CONTENTS, READONLY - 90 MRUARB30 00000001 00000000 00000000 0000195d 2**0 CONTENTS, READONLY - 91 MRUBITS3 00000002 00000000 00000000 0000195e 2**0 CONTENTS, READONLY - 92 MRUARB40 00000004 00000000 00000000 00001960 2**0 CONTENTS, READONLY - 93 LXMRU070 00000008 00000000 00000000 00001964 2**0 CONTENTS, RELOC, READONLY - 94 MRUBYTE4 00000003 00000000 00000000 0000196c 2**0 CONTENTS, READONLY - 95 MRUBITS4 00000002 00000000 00000000 0000196f 2**0 CONTENTS, READONLY - 96 MRUARB50 00000006 00000000 00000000 00001971 2**0 CONTENTS, READONLY - 97 LXMRU080 00000003 00000000 00000000 00001977 2**0 CONTENTS, READONLY - 98 MRUBYTE5 00000002 00000000 00000000 0000197a 2**0 CONTENTS, READONLY - 99 MRUARB60 00000001 00000000 00000000 0000197c 2**0 CONTENTS, READONLY -100 MRUBITS5 00000002 00000000 00000000 0000197d 2**0 CONTENTS, READONLY -101 MRUARB70 00000004 00000000 00000000 0000197f 2**0 CONTENTS, READONLY -102 LXMRU090 0000000b 00000000 00000000 00001983 2**0 CONTENTS, RELOC, READONLY -103 MRUBYTE6 00000002 00000000 00000000 0000198e 2**0 CONTENTS, READONLY -104 MRUARB80 00000001 00000000 00000000 00001990 2**0 CONTENTS, READONLY -105 MRUBITS6 00000002 00000000 00000000 00001991 2**0 CONTENTS, READONLY -106 MRUARB90 00000004 00000000 00000000 00001993 2**0 CONTENTS, READONLY -107 LXMRU100 00000010 00000000 00000000 00001997 2**0 CONTENTS, READONLY -108 LXUNF040 00000005 00000000 00000000 000019a7 2**0 CONTENTS, READONLY -109 LXMRU110 00000003 00000000 00000000 000019ac 2**0 CONTENTS, READONLY -110 LXMRU111 00000002 00000000 00000000 000019af 2**0 CONTENTS, READONLY -111 LXUNF041 00000007 00000000 00000000 000019b1 2**0 CONTENTS, RELOC, READONLY -112 LXUNF042 00000000 00000000 00000000 000019b8 2**0 CONTENTS, READONLY -113 LEXEC016 00000005 00000000 00000000 000019b8 2**0 CONTENTS, RELOC, READONLY -114 LXMRU010 00000001 00000000 00000000 000019bd 2**0 CONTENTS, READONLY -115 LXJMPA00 00000002 00000000 00000000 000019be 2**0 CONTENTS, READONLY -116 LXCALLB0 00000002 00000000 00000000 000019c0 2**0 CONTENTS, READONLY -117 LXUNF021 00000006 00000000 00000000 000019c2 2**0 CONTENTS, READONLY -118 LXMRU022 00000003 00000000 00000000 000019c8 2**0 CONTENTS, READONLY -119 LXJMPA01 00000002 00000000 00000000 000019cb 2**0 CONTENTS, READONLY -120 LXCALLB1 00000002 00000000 00000000 000019cd 2**0 CONTENTS, READONLY -121 MRUBITS1 00000001 00000000 00000000 000019cf 2**0 CONTENTS, READONLY -122 LXMRU030 00000002 00000000 00000000 000019d0 2**0 CONTENTS, READONLY -123 MRUBYTE1 00000002 00000000 00000000 000019d2 2**0 CONTENTS, READONLY -124 MRUARB10 00000001 00000000 00000000 000019d4 2**0 CONTENTS, READONLY -125 LXMRU040 00000002 00000000 00000000 000019d5 2**0 CONTENTS, RELOC, READONLY -126 LXUNF030 00000006 00000000 00000000 000019d7 2**0 CONTENTS, READONLY -127 LXJCC000 00000008 00000000 00000000 000019dd 2**0 CONTENTS, RELOC, READONLY -128 LXCJ0MRU 00000002 00000000 00000000 000019e5 2**0 CONTENTS, READONLY -129 LXCJ1MRU 00000003 00000000 00000000 000019e7 2**0 CONTENTS, READONLY -130 LXCALJMP 00000003 00000000 00000000 000019ea 2**0 CONTENTS, READONLY -131 LXCALL00 00000002 00000000 00000000 000019ed 2**0 CONTENTS, RELOC, READONLY -132 LXCALL01 00000003 00000000 00000000 000019ef 2**0 CONTENTS, READONLY -133 LXCJ2MRU 00000002 00000000 00000000 000019f2 2**0 CONTENTS, RELOC, READONLY -134 LXCJ4MRU 00000002 00000000 00000000 000019f4 2**0 CONTENTS, RELOC, READONLY -135 LXCJ6MRU 00000002 00000000 00000000 000019f6 2**0 CONTENTS, RELOC, READONLY -136 LXCJ7MRU 00000002 00000000 00000000 000019f8 2**0 CONTENTS, RELOC, READONLY -137 LXCJ8MRU 00000003 00000000 00000000 000019fa 2**0 CONTENTS, RELOC, READONLY -138 LXUNF034 00000005 00000000 00000000 000019fd 2**0 CONTENTS, RELOC, READONLY -139 LXMRU055 00000002 00000000 00000000 00001a02 2**0 CONTENTS, READONLY -140 MRUBYTE2 00000005 00000000 00000000 00001a04 2**0 CONTENTS, READONLY -141 MRUBITS2 00000005 00000000 00000000 00001a09 2**0 CONTENTS, READONLY -142 MRUARB20 00000005 00000000 00000000 00001a0e 2**0 CONTENTS, READONLY -143 LXMRU057 00000006 00000000 00000000 00001a13 2**0 CONTENTS, READONLY -144 LXMRU058 00000001 00000000 00000000 00001a19 2**0 CONTENTS, READONLY -145 LXUNF035 00000006 00000000 00000000 00001a1a 2**0 CONTENTS, READONLY -146 ctok32.00 00000007 00000000 00000000 00001a20 2**0 CONTENTS, RELOC, READONLY -147 ctok32.10 0000000e 00000000 00000000 00001a27 2**0 CONTENTS, RELOC, READONLY -148 ctok32.20 00000020 00000000 00000000 00001a35 2**0 CONTENTS, RELOC, READONLY -149 ctok32.30 0000000a 00000000 00000000 00001a55 2**0 CONTENTS, RELOC, READONLY -150 ctok32.40 00000005 00000000 00000000 00001a5f 2**0 CONTENTS, RELOC, READONLY -151 CALLTR00 00000010 00000000 00000000 00001a64 2**0 CONTENTS, RELOC, READONLY -152 CTCLEVE1 00000005 00000000 00000000 00001a74 2**0 CONTENTS, RELOC, READONLY -153 CALLTR01 00000005 00000000 00000000 00001a79 2**0 CONTENTS, READONLY -154 CTBSHR01 00000004 00000000 00000000 00001a7e 2**0 CONTENTS, READONLY -155 CTBROR01 00000002 00000000 00000000 00001a82 2**0 CONTENTS, READONLY -156 CTBSWA01 00000005 00000000 00000000 00001a84 2**0 CONTENTS, READONLY -157 CALLTR02 00000010 00000000 00000000 00001a89 2**0 CONTENTS, RELOC, READONLY -158 CALLTR10 00000005 00000000 00000000 00001a99 2**0 CONTENTS, RELOC, READONLY -159 CALLTRE8 00000002 00000000 00000000 00001a9e 2**0 CONTENTS, READONLY -160 CALLTRE9 00000002 00000000 00000000 00001aa0 2**0 CONTENTS, READONLY -161 CALLTR11 00000004 00000000 00000000 00001aa2 2**0 CONTENTS, RELOC, READONLY -162 CTCLEVE2 00000005 00000000 00000000 00001aa6 2**0 CONTENTS, RELOC, READONLY -163 CALLTR12 00000002 00000000 00000000 00001aab 2**0 CONTENTS, READONLY -164 CTBSHR11 00000004 00000000 00000000 00001aad 2**0 CONTENTS, READONLY -165 CTBROR11 00000002 00000000 00000000 00001ab1 2**0 CONTENTS, READONLY -166 CTBSWA11 00000005 00000000 00000000 00001ab3 2**0 CONTENTS, READONLY -167 CALLTR13 00000007 00000000 00000000 00001ab8 2**0 CONTENTS, RELOC, READONLY -168 LEXEC017 00000002 00000000 00000000 00001abf 2**0 CONTENTS, READONLY -169 LEXEC020 00000046 00000000 00000000 00001ac1 2**0 CONTENTS, READONLY + 0 MACHMAINX 00000005 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY + 1 MACH_UNC 00000000 00000000 00000000 00000039 2**0 CONTENTS, READONLY + 2 NRV_HEAD 000000bc 00000000 00000000 00000039 2**0 CONTENTS, READONLY + 3 NRV2E 000000d4 00000000 00000000 000000f5 2**0 CONTENTS, RELOC, READONLY + 4 NRV2D 000000c7 00000000 00000000 000001c9 2**0 CONTENTS, RELOC, READONLY + 5 NRV2B 000000b2 00000000 00000000 00000290 2**0 CONTENTS, RELOC, READONLY + 6 LZMA_DEC00 0000002e 00000000 00000000 00000342 2**0 CONTENTS, RELOC, READONLY + 7 LZMA_ELF00 00000048 00000000 00000000 00000370 2**0 CONTENTS, READONLY + 8 LZMA_DEC10 00000a86 00000000 00000000 000003b8 2**0 CONTENTS, READONLY + 9 LZMA_DEC20 00000a86 00000000 00000000 00000e3e 2**0 CONTENTS, READONLY + 10 LZMA_DEC30 0000001a 00000000 00000000 000018c4 2**0 CONTENTS, READONLY + 11 NRV_TAIL 00000000 00000000 00000000 000018de 2**0 CONTENTS, READONLY + 12 MACHMAINY 00000014 00000000 00000000 000018de 2**0 CONTENTS, READONLY + 13 MACHMAINZ 000000f0 00000000 00000000 000018f2 2**0 CONTENTS, READONLY SYMBOL TABLE: -00000000 l d I386BXX1 00000000 I386BXX1 -00000000 l d N2BSMA10 00000000 N2BSMA10 -00000000 l d N2BFAS11 00000000 N2BFAS11 -00000000 l d N2BDEC10 00000000 N2BDEC10 -00000000 l d N2BDEC20 00000000 N2BDEC20 -00000000 l d N2BDEC30 00000000 N2BDEC30 -00000000 l d N2BDEC50 00000000 N2BDEC50 -00000000 l d N2BFAS61 00000000 N2BFAS61 -00000000 l d N2BDEC60 00000000 N2BDEC60 -00000000 l d N2DSMA10 00000000 N2DSMA10 -00000000 l d N2DFAS11 00000000 N2DFAS11 -00000000 l d N2DDEC10 00000000 N2DDEC10 -00000000 l d N2DDEC20 00000000 N2DDEC20 -00000000 l d N2DDEC30 00000000 N2DDEC30 -00000000 l d N2DDEC50 00000000 N2DDEC50 -00000000 l d N2DFAS61 00000000 N2DFAS61 -00000000 l d N2DDEC60 00000000 N2DDEC60 -00000000 l d N2ESMA10 00000000 N2ESMA10 -00000000 l d N2EFAS11 00000000 N2EFAS11 -00000000 l d N2EDEC10 00000000 N2EDEC10 -00000000 l d N2EDEC20 00000000 N2EDEC20 -00000000 l d N2EDEC30 00000000 N2EDEC30 -00000000 l d N2EDEC50 00000000 N2EDEC50 -00000000 l d N2EFAS61 00000000 N2EFAS61 -00000000 l d N2EDEC60 00000000 N2EDEC60 -00000000 l d LXUNF010 00000000 LXUNF010 -00000000 l d LXJCC010 00000000 LXJCC010 -00000000 l d LXUNF037 00000000 LXUNF037 -00000000 l d LXMRU070 00000000 LXMRU070 -00000000 l d LXMRU100 00000000 LXMRU100 -00000000 l d LXUNF040 00000000 LXUNF040 -00000000 l d LXUNF042 00000000 LXUNF042 -00000000 l d LXMRU030 00000000 LXMRU030 -00000000 l d LXUNF030 00000000 LXUNF030 -00000000 l d LXCJ8MRU 00000000 LXCJ8MRU -00000000 l d LXUNF034 00000000 LXUNF034 -00000000 l d ctok32.00 00000000 ctok32.00 -00000000 l d ctok32.10 00000000 ctok32.10 -00000000 l d ctok32.20 00000000 ctok32.20 -00000000 l d ctok32.40 00000000 ctok32.40 -00000000 l d CALLTR00 00000000 CALLTR00 -00000000 l d CALLTR10 00000000 CALLTR10 -00000000 l d CALLTR11 00000000 CALLTR11 -00000000 l d CALLTR13 00000000 CALLTR13 -00000000 l d LEXEC020 00000000 LEXEC020 -00000000 l d I386BXX0 00000000 I386BXX0 -00000000 l d LEXEC000 00000000 LEXEC000 -00000000 l d LEXEC009 00000000 LEXEC009 -00000000 l d LEXEC010 00000000 LEXEC010 -00000000 l d N2BFAS10 00000000 N2BFAS10 -00000000 l d N2BSMA20 00000000 N2BSMA20 -00000000 l d N2BFAS20 00000000 N2BFAS20 -00000000 l d N2BSMA30 00000000 N2BSMA30 -00000000 l d N2BFAS30 00000000 N2BFAS30 -00000000 l d N2BSMA40 00000000 N2BSMA40 -00000000 l d N2BFAS40 00000000 N2BFAS40 -00000000 l d N2BSMA50 00000000 N2BSMA50 -00000000 l d N2BFAS50 00000000 N2BFAS50 -00000000 l d N2BSMA60 00000000 N2BSMA60 -00000000 l d N2BFAS60 00000000 N2BFAS60 -00000000 l d N2DFAS10 00000000 N2DFAS10 -00000000 l d N2DSMA20 00000000 N2DSMA20 -00000000 l d N2DFAS20 00000000 N2DFAS20 -00000000 l d N2DSMA30 00000000 N2DSMA30 -00000000 l d N2DFAS30 00000000 N2DFAS30 -00000000 l d N2DSMA40 00000000 N2DSMA40 -00000000 l d N2DFAS40 00000000 N2DFAS40 -00000000 l d N2DSMA50 00000000 N2DSMA50 -00000000 l d N2DFAS50 00000000 N2DFAS50 -00000000 l d N2DSMA60 00000000 N2DSMA60 -00000000 l d N2DFAS60 00000000 N2DFAS60 -00000000 l d N2EFAS10 00000000 N2EFAS10 -00000000 l d N2ESMA20 00000000 N2ESMA20 -00000000 l d N2EFAS20 00000000 N2EFAS20 -00000000 l d N2ESMA30 00000000 N2ESMA30 -00000000 l d N2EFAS30 00000000 N2EFAS30 -00000000 l d N2ESMA40 00000000 N2ESMA40 -00000000 l d N2EFAS40 00000000 N2EFAS40 -00000000 l d N2ESMA50 00000000 N2ESMA50 -00000000 l d N2EFAS50 00000000 N2EFAS50 -00000000 l d N2ESMA60 00000000 N2ESMA60 -00000000 l d N2EFAS60 00000000 N2EFAS60 +00000000 l d NRV_HEAD 00000000 NRV_HEAD +00000000 l d MACHMAINY 00000000 MACHMAINY +00000000 l d MACHMAINZ 00000000 MACHMAINZ +00000000 l d MACHMAINX 00000000 MACHMAINX +00000000 l d MACH_UNC 00000000 MACH_UNC +00000000 l d NRV2E 00000000 NRV2E +00000000 l d NRV2D 00000000 NRV2D +00000000 l d NRV2B 00000000 NRV2B 00000000 l d LZMA_DEC00 00000000 LZMA_DEC00 00000000 l d LZMA_ELF00 00000000 LZMA_ELF00 00000000 l d LZMA_DEC10 00000000 LZMA_DEC10 00000000 l d LZMA_DEC20 00000000 LZMA_DEC20 00000000 l d LZMA_DEC30 00000000 LZMA_DEC30 -00000000 l d LEXEC015 00000000 LEXEC015 -00000000 l d LXUNF000 00000000 LXUNF000 -00000000 l d LXUNF002 00000000 LXUNF002 -00000000 l d MRUBYTE0 00000000 MRUBYTE0 -00000000 l d LXMRU005 00000000 LXMRU005 -00000000 l d LXMRU006 00000000 LXMRU006 -00000000 l d LXMRU007 00000000 LXMRU007 -00000000 l d LXUNF008 00000000 LXUNF008 -00000000 l d LXMRU045 00000000 LXMRU045 -00000000 l d LXMRU046 00000000 LXMRU046 -00000000 l d LXJCC020 00000000 LXJCC020 -00000000 l d LXJCC021 00000000 LXJCC021 -00000000 l d LXJCC023 00000000 LXJCC023 -00000000 l d LXUNF386 00000000 LXUNF386 -00000000 l d LXUNF387 00000000 LXUNF387 -00000000 l d LXUNF388 00000000 LXUNF388 -00000000 l d LXUNF486 00000000 LXUNF486 -00000000 l d LXUNF487 00000000 LXUNF487 -00000000 l d LXMRU065 00000000 LXMRU065 -00000000 l d MRUBYTE3 00000000 MRUBYTE3 -00000000 l d MRUARB30 00000000 MRUARB30 -00000000 l d MRUBITS3 00000000 MRUBITS3 -00000000 l d MRUARB40 00000000 MRUARB40 -00000000 l d MRUBYTE4 00000000 MRUBYTE4 -00000000 l d MRUBITS4 00000000 MRUBITS4 -00000000 l d MRUARB50 00000000 MRUARB50 -00000000 l d LXMRU080 00000000 LXMRU080 -00000000 l d MRUBYTE5 00000000 MRUBYTE5 -00000000 l d MRUARB60 00000000 MRUARB60 -00000000 l d MRUBITS5 00000000 MRUBITS5 -00000000 l d MRUARB70 00000000 MRUARB70 -00000000 l d LXMRU090 00000000 LXMRU090 -00000000 l d MRUBYTE6 00000000 MRUBYTE6 -00000000 l d MRUARB80 00000000 MRUARB80 -00000000 l d MRUBITS6 00000000 MRUBITS6 -00000000 l d MRUARB90 00000000 MRUARB90 -00000000 l d LXMRU110 00000000 LXMRU110 -00000000 l d LXMRU111 00000000 LXMRU111 -00000000 l d LXUNF041 00000000 LXUNF041 -00000000 l d LEXEC016 00000000 LEXEC016 -00000000 l d LXMRU010 00000000 LXMRU010 -00000000 l d LXJMPA00 00000000 LXJMPA00 -00000000 l d LXCALLB0 00000000 LXCALLB0 -00000000 l d LXUNF021 00000000 LXUNF021 -00000000 l d LXMRU022 00000000 LXMRU022 -00000000 l d LXJMPA01 00000000 LXJMPA01 -00000000 l d LXCALLB1 00000000 LXCALLB1 -00000000 l d MRUBITS1 00000000 MRUBITS1 -00000000 l d MRUBYTE1 00000000 MRUBYTE1 -00000000 l d MRUARB10 00000000 MRUARB10 -00000000 l d LXMRU040 00000000 LXMRU040 -00000000 l d LXJCC000 00000000 LXJCC000 -00000000 l d LXCJ0MRU 00000000 LXCJ0MRU -00000000 l d LXCJ1MRU 00000000 LXCJ1MRU -00000000 l d LXCALJMP 00000000 LXCALJMP -00000000 l d LXCALL00 00000000 LXCALL00 -00000000 l d LXCALL01 00000000 LXCALL01 -00000000 l d LXCJ2MRU 00000000 LXCJ2MRU -00000000 l d LXCJ4MRU 00000000 LXCJ4MRU -00000000 l d LXCJ6MRU 00000000 LXCJ6MRU -00000000 l d LXCJ7MRU 00000000 LXCJ7MRU -00000000 l d LXMRU055 00000000 LXMRU055 -00000000 l d MRUBYTE2 00000000 MRUBYTE2 -00000000 l d MRUBITS2 00000000 MRUBITS2 -00000000 l d MRUARB20 00000000 MRUARB20 -00000000 l d LXMRU057 00000000 LXMRU057 -00000000 l d LXMRU058 00000000 LXMRU058 -00000000 l d LXUNF035 00000000 LXUNF035 -00000000 l d ctok32.30 00000000 ctok32.30 -00000000 l d CTCLEVE1 00000000 CTCLEVE1 -00000000 l d CALLTR01 00000000 CALLTR01 -00000000 l d CTBSHR01 00000000 CTBSHR01 -00000000 l d CTBROR01 00000000 CTBROR01 -00000000 l d CTBSWA01 00000000 CTBSWA01 -00000000 l d CALLTR02 00000000 CALLTR02 -00000000 l d CALLTRE8 00000000 CALLTRE8 -00000000 l d CALLTRE9 00000000 CALLTRE9 -00000000 l d CTCLEVE2 00000000 CTCLEVE2 -00000000 l d CALLTR12 00000000 CALLTR12 -00000000 l d CTBSHR11 00000000 CTBSHR11 -00000000 l d CTBROR11 00000000 CTBROR11 -00000000 l d CTBSWA11 00000000 CTBSWA11 -00000000 l d LEXEC017 00000000 LEXEC017 -00000000 g LEXEC000 00000000 _start +00000000 l d NRV_TAIL 00000000 NRV_TAIL +00000000 g MACHMAINX 00000000 _start 00000000 *UND* 00000000 lzma_stack_adjust 00000000 *UND* 00000000 lzma_u_len 00000000 *UND* 00000000 lzma_c_len 00000000 *UND* 00000000 lzma_properties -00000000 *UND* 00000000 NMRU -00000000 *UND* 00000000 filter_length -00000000 *UND* 00000000 filter_cto +00000014 g MACHMAINY 00000000 end_decompress -RELOCATION RECORDS FOR [I386BXX0]: +RELOCATION RECORDS FOR [MACHMAINX]: OFFSET TYPE VALUE -00000000 R_386_16 I386BXX1 +00000001 R_386_PC32 MACHMAINZ -RELOCATION RECORDS FOR [LEXEC000]: +RELOCATION RECORDS FOR [NRV2E]: OFFSET TYPE VALUE -00000001 R_386_PC32 LEXEC020 +000000c9 R_386_PC32 NRV_HEAD +00000068 R_386_PC32 MACHMAINY -RELOCATION RECORDS FOR [N2BSMA10]: +RELOCATION RECORDS FOR [NRV2D]: OFFSET TYPE VALUE -00000001 R_386_PC8 N2BDEC10 +000000bc R_386_PC32 NRV_HEAD +00000068 R_386_PC32 MACHMAINY -RELOCATION RECORDS FOR [N2BFAS10]: +RELOCATION RECORDS FOR [NRV2B]: OFFSET TYPE VALUE -00000001 R_386_PC8 N2BDEC10 - -RELOCATION RECORDS FOR [N2BSMA20]: -OFFSET TYPE VALUE -00000001 R_386_PC8 N2BSMA10 - -RELOCATION RECORDS FOR [N2BFAS20]: -OFFSET TYPE VALUE -00000003 R_386_PC8 N2BFAS11 - -RELOCATION RECORDS FOR [N2BSMA30]: -OFFSET TYPE VALUE -0000000c R_386_PC8 N2BDEC20 - -RELOCATION RECORDS FOR [N2BFAS30]: -OFFSET TYPE VALUE -00000003 R_386_PC8 N2BDEC20 -0000000e R_386_PC8 N2BDEC20 - -RELOCATION RECORDS FOR [N2BDEC30]: -OFFSET TYPE VALUE -00000011 R_386_PC8 N2BDEC60 -0000002f R_386_PC8 N2BDEC50 - -RELOCATION RECORDS FOR [N2BSMA40]: -OFFSET TYPE VALUE -0000000c R_386_PC8 N2BDEC30 - -RELOCATION RECORDS FOR [N2BFAS40]: -OFFSET TYPE VALUE -00000003 R_386_PC8 N2BDEC30 -0000000e R_386_PC8 N2BDEC30 - -RELOCATION RECORDS FOR [N2BSMA60]: -OFFSET TYPE VALUE -00000008 R_386_PC32 N2BDEC10 - -RELOCATION RECORDS FOR [N2BFAS60]: -OFFSET TYPE VALUE -0000000a R_386_PC8 N2BFAS61 -00000015 R_386_PC32 N2BDEC10 - -RELOCATION RECORDS FOR [N2BFAS61]: -OFFSET TYPE VALUE -00000012 R_386_PC32 N2BDEC10 - -RELOCATION RECORDS FOR [N2DSMA10]: -OFFSET TYPE VALUE -00000001 R_386_PC8 N2DDEC10 - -RELOCATION RECORDS FOR [N2DFAS10]: -OFFSET TYPE VALUE -00000001 R_386_PC8 N2DDEC10 - -RELOCATION RECORDS FOR [N2DSMA20]: -OFFSET TYPE VALUE -00000001 R_386_PC8 N2DSMA10 - -RELOCATION RECORDS FOR [N2DFAS20]: -OFFSET TYPE VALUE -00000003 R_386_PC8 N2DFAS11 - -RELOCATION RECORDS FOR [N2DSMA30]: -OFFSET TYPE VALUE -0000000c R_386_PC8 N2DDEC30 - -RELOCATION RECORDS FOR [N2DFAS30]: -OFFSET TYPE VALUE -00000005 R_386_PC8 N2DDEC30 -0000000e R_386_PC8 N2DDEC30 - -RELOCATION RECORDS FOR [N2DDEC30]: -OFFSET TYPE VALUE -0000000f R_386_PC8 N2DDEC20 -00000021 R_386_PC8 N2DDEC60 -00000043 R_386_PC8 N2DDEC50 - -RELOCATION RECORDS FOR [N2DSMA40]: -OFFSET TYPE VALUE -0000000c R_386_PC8 N2DDEC30 - -RELOCATION RECORDS FOR [N2DFAS40]: -OFFSET TYPE VALUE -00000003 R_386_PC8 N2DDEC30 -0000000e R_386_PC8 N2DDEC30 - -RELOCATION RECORDS FOR [N2DSMA60]: -OFFSET TYPE VALUE -00000008 R_386_PC32 N2DDEC10 - -RELOCATION RECORDS FOR [N2DFAS60]: -OFFSET TYPE VALUE -0000000a R_386_PC8 N2DFAS61 -00000015 R_386_PC32 N2DDEC10 - -RELOCATION RECORDS FOR [N2DFAS61]: -OFFSET TYPE VALUE -00000012 R_386_PC32 N2DDEC10 - -RELOCATION RECORDS FOR [N2ESMA10]: -OFFSET TYPE VALUE -00000001 R_386_PC8 N2EDEC10 - -RELOCATION RECORDS FOR [N2EFAS10]: -OFFSET TYPE VALUE -00000001 R_386_PC8 N2EDEC10 - -RELOCATION RECORDS FOR [N2ESMA20]: -OFFSET TYPE VALUE -00000001 R_386_PC8 N2ESMA10 - -RELOCATION RECORDS FOR [N2EFAS20]: -OFFSET TYPE VALUE -00000003 R_386_PC8 N2EFAS11 - -RELOCATION RECORDS FOR [N2ESMA30]: -OFFSET TYPE VALUE -0000000c R_386_PC8 N2EDEC30 - -RELOCATION RECORDS FOR [N2EFAS30]: -OFFSET TYPE VALUE -00000005 R_386_PC8 N2EDEC30 -0000000e R_386_PC8 N2EDEC30 - -RELOCATION RECORDS FOR [N2EDEC30]: -OFFSET TYPE VALUE -0000000f R_386_PC8 N2EDEC20 -0000001e R_386_PC8 N2EDEC50 -00000030 R_386_PC8 N2EDEC60 - -RELOCATION RECORDS FOR [N2ESMA40]: -OFFSET TYPE VALUE -0000000c R_386_PC8 N2EDEC30 - -RELOCATION RECORDS FOR [N2EFAS40]: -OFFSET TYPE VALUE -00000003 R_386_PC8 N2EDEC30 -0000000e R_386_PC8 N2EDEC30 - -RELOCATION RECORDS FOR [N2ESMA60]: -OFFSET TYPE VALUE -00000008 R_386_PC32 N2EDEC10 - -RELOCATION RECORDS FOR [N2EFAS60]: -OFFSET TYPE VALUE -0000000a R_386_PC8 N2EFAS61 -00000015 R_386_PC32 N2EDEC10 - -RELOCATION RECORDS FOR [N2EFAS61]: -OFFSET TYPE VALUE -00000012 R_386_PC32 N2EDEC10 +000000a9 R_386_PC32 NRV_HEAD +00000056 R_386_PC32 MACHMAINY RELOCATION RECORDS FOR [LZMA_DEC00]: OFFSET TYPE VALUE @@ -524,140 +63,3 @@ OFFSET TYPE VALUE 00000014 R_386_32 lzma_u_len 0000001e R_386_32 lzma_c_len 0000002a R_386_32 lzma_properties - -RELOCATION RECORDS FOR [LXUNF000]: -OFFSET TYPE VALUE -00000001 R_386_PC8 LXUNF010 - -RELOCATION RECORDS FOR [LXMRU005]: -OFFSET TYPE VALUE -00000001 R_386_32 NMRU - -RELOCATION RECORDS FOR [LXUNF010]: -OFFSET TYPE VALUE -00000001 R_386_PC32 LXUNF042 - -RELOCATION RECORDS FOR [LXJCC020]: -OFFSET TYPE VALUE -00000001 R_386_PC8 LXUNF034 - -RELOCATION RECORDS FOR [LXJCC021]: -OFFSET TYPE VALUE -00000004 R_386_PC8 LXUNF034 - -RELOCATION RECORDS FOR [LXUNF388]: -OFFSET TYPE VALUE -00000002 R_386_PC8 LXUNF040 - -RELOCATION RECORDS FOR [LXUNF487]: -OFFSET TYPE VALUE -00000001 R_386_PC8 LXUNF040 - -RELOCATION RECORDS FOR [LXMRU065]: -OFFSET TYPE VALUE -00000004 R_386_PC8 LXMRU070 - -RELOCATION RECORDS FOR [LXMRU070]: -OFFSET TYPE VALUE -00000004 R_386_PC8 LXUNF040 - -RELOCATION RECORDS FOR [LXMRU090]: -OFFSET TYPE VALUE -00000006 R_386_PC8 LXMRU100 - -RELOCATION RECORDS FOR [LXUNF041]: -OFFSET TYPE VALUE -00000006 R_386_PC8 LXUNF034 - -RELOCATION RECORDS FOR [LEXEC016]: -OFFSET TYPE VALUE -00000001 R_386_PC32 LXUNF042 - -RELOCATION RECORDS FOR [LXMRU040]: -OFFSET TYPE VALUE -00000001 R_386_PC8 LXMRU030 - -RELOCATION RECORDS FOR [LXJCC000]: -OFFSET TYPE VALUE -00000007 R_386_PC8 LXJCC010 - -RELOCATION RECORDS FOR [LXCALL00]: -OFFSET TYPE VALUE -00000001 R_386_PC8 LXUNF037 - -RELOCATION RECORDS FOR [LXCJ2MRU]: -OFFSET TYPE VALUE -00000001 R_386_PC8 LXUNF037 - -RELOCATION RECORDS FOR [LXCJ4MRU]: -OFFSET TYPE VALUE -00000001 R_386_PC8 LXUNF034 - -RELOCATION RECORDS FOR [LXCJ6MRU]: -OFFSET TYPE VALUE -00000001 R_386_PC8 LXCJ8MRU - -RELOCATION RECORDS FOR [LXCJ7MRU]: -OFFSET TYPE VALUE -00000001 R_386_PC8 LXCJ8MRU - -RELOCATION RECORDS FOR [LXCJ8MRU]: -OFFSET TYPE VALUE -00000002 R_386_PC8 LXUNF037 - -RELOCATION RECORDS FOR [LXUNF034]: -OFFSET TYPE VALUE -00000004 R_386_PC8 LXUNF030 - -RELOCATION RECORDS FOR [ctok32.00]: -OFFSET TYPE VALUE -00000003 R_386_PC8 ctok32.20 - -RELOCATION RECORDS FOR [ctok32.10]: -OFFSET TYPE VALUE -0000000d R_386_PC8 ctok32.20 - -RELOCATION RECORDS FOR [ctok32.20]: -OFFSET TYPE VALUE -00000005 R_386_PC8 ctok32.40 -0000000a R_386_PC8 ctok32.40 -00000010 R_386_PC8 ctok32.40 - -RELOCATION RECORDS FOR [ctok32.30]: -OFFSET TYPE VALUE -00000004 R_386_PC8 ctok32.40 -00000009 R_386_PC8 ctok32.10 - -RELOCATION RECORDS FOR [ctok32.40]: -OFFSET TYPE VALUE -00000004 R_386_PC8 ctok32.00 - -RELOCATION RECORDS FOR [CALLTR00]: -OFFSET TYPE VALUE -00000001 R_386_32 filter_length - -RELOCATION RECORDS FOR [CTCLEVE1]: -OFFSET TYPE VALUE -00000002 R_386_8 filter_cto -00000004 R_386_PC8 CALLTR00 - -RELOCATION RECORDS FOR [CALLTR02]: -OFFSET TYPE VALUE -0000000f R_386_PC8 CALLTR00 - -RELOCATION RECORDS FOR [CALLTR10]: -OFFSET TYPE VALUE -00000001 R_386_32 filter_length - -RELOCATION RECORDS FOR [CALLTR11]: -OFFSET TYPE VALUE -00000003 R_386_PC8 CALLTR13 - -RELOCATION RECORDS FOR [CTCLEVE2]: -OFFSET TYPE VALUE -00000002 R_386_8 filter_cto -00000004 R_386_PC8 CALLTR11 - -RELOCATION RECORDS FOR [CALLTR13]: -OFFSET TYPE VALUE -00000006 R_386_PC8 CALLTR10 diff --git a/src/stub/tmp/i386-darwin.macho-fold.map b/src/stub/tmp/i386-darwin.macho-fold.map index d59c5b70..13e85c0d 100644 --- a/src/stub/tmp/i386-darwin.macho-fold.map +++ b/src/stub/tmp/i386-darwin.macho-fold.map @@ -72,31 +72,32 @@ LOAD tmp/i386-darwin.macho-main.o .plt *(.plt) -.text 0x0000000008048000 0x46f +.text 0x0000000008048000 0x5b1 *(.text .stub .text.* .gnu.linkonce.t.*) - .text 0x0000000008048000 0x7a tmp/i386-darwin.macho-fold.o - 0x0000000008048054 munmap - 0x000000000804802e bswap - 0x0000000008048064 mmap - 0x0000000008048048 write + .text 0x0000000008048000 0x90 tmp/i386-darwin.macho-fold.o + 0x0000000008048069 munmap + 0x000000000804803b bswap + 0x0000000008048079 mmap + 0x000000000804805d write 0x0000000008048000 _start - 0x0000000008048068 read - 0x0000000008048058 pread - 0x000000000804804c exit - 0x0000000008048060 open - 0x0000000008048050 mprotect - 0x000000000804805c close - *fill* 0x000000000804807a 0x2 90909090 - .text 0x000000000804807c 0x3f3 tmp/i386-darwin.macho-main.o - 0x0000000008048341 upx_main + 0x000000000804807d read + 0x0000000008048052 spin + 0x000000000804806d pread + 0x0000000008048061 exit + 0x0000000008048075 open + 0x0000000008048065 mprotect + 0x0000000008048071 close + .text 0x0000000008048090 0x521 tmp/i386-darwin.macho-main.o + 0x0000000008048197 do_xmap + 0x0000000008048485 upx_main *(.text.*personality*) *(.gnu.warning) .fini *(.fini) - 0x000000000804846f PROVIDE (__etext, .) - 0x000000000804846f PROVIDE (_etext, .) - 0x000000000804846f PROVIDE (etext, .) + 0x00000000080485b1 PROVIDE (__etext, .) + 0x00000000080485b1 PROVIDE (_etext, .) + 0x00000000080485b1 PROVIDE (etext, .) .rodata *(.rodata .rodata.* .gnu.linkonce.r.*) @@ -112,8 +113,8 @@ LOAD tmp/i386-darwin.macho-main.o .gcc_except_table *(.gcc_except_table .gcc_except_table.*) - 0x000000000804846f . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff)) - 0x000000000804946f . = (0x1000 DATA_SEGMENT_ALIGN 0x1000) + 0x00000000080485b1 . = (ALIGN (0x1000) - ((0x1000 - .) & 0xfff)) + 0x00000000080495b1 . = (0x1000 DATA_SEGMENT_ALIGN 0x1000) .eh_frame *(.eh_frame) @@ -128,22 +129,22 @@ LOAD tmp/i386-darwin.macho-main.o *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) -.preinit_array 0x000000000804946f 0x0 - 0x000000000804946f PROVIDE (__preinit_array_start, .) +.preinit_array 0x00000000080495b1 0x0 + 0x00000000080495b1 PROVIDE (__preinit_array_start, .) *(.preinit_array) - 0x000000000804946f PROVIDE (__preinit_array_end, .) + 0x00000000080495b1 PROVIDE (__preinit_array_end, .) -.init_array 0x000000000804946f 0x0 - 0x000000000804946f PROVIDE (__init_array_start, .) +.init_array 0x00000000080495b1 0x0 + 0x00000000080495b1 PROVIDE (__init_array_start, .) *(SORT(.init_array.*)) *(.init_array) - 0x000000000804946f PROVIDE (__init_array_end, .) + 0x00000000080495b1 PROVIDE (__init_array_end, .) -.fini_array 0x000000000804946f 0x0 - 0x000000000804946f PROVIDE (__fini_array_start, .) +.fini_array 0x00000000080495b1 0x0 + 0x00000000080495b1 PROVIDE (__fini_array_start, .) *(.fini_array) *(SORT(.fini_array.*)) - 0x000000000804946f PROVIDE (__fini_array_end, .) + 0x00000000080495b1 PROVIDE (__fini_array_end, .) .ctors *crtbegin*.o(.ctors) @@ -169,35 +170,35 @@ LOAD tmp/i386-darwin.macho-main.o .got *(.got) - 0x000000000804946f . = (. DATA_SEGMENT_RELRO_END 0xc) + 0x00000000080495b1 . = (. DATA_SEGMENT_RELRO_END 0xc) .got.plt *(.got.plt) -.data 0x0000000008049470 0x0 +.data 0x00000000080495b4 0x0 *(.data .data.* .gnu.linkonce.d.*) - .data 0x0000000008049470 0x0 tmp/i386-darwin.macho-fold.o - .data 0x0000000008049470 0x0 tmp/i386-darwin.macho-main.o + .data 0x00000000080495b4 0x0 tmp/i386-darwin.macho-fold.o + .data 0x00000000080495b4 0x0 tmp/i386-darwin.macho-main.o *(.gnu.linkonce.d.*personality*) .data1 *(.data1) - 0x0000000008049470 _edata = . - 0x0000000008049470 PROVIDE (edata, .) - 0x0000000008049470 __bss_start = . + 0x00000000080495b4 _edata = . + 0x00000000080495b4 PROVIDE (edata, .) + 0x00000000080495b4 __bss_start = . -.bss 0x0000000008049470 0x0 +.bss 0x00000000080495b4 0x0 *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) - .bss 0x0000000008049470 0x0 tmp/i386-darwin.macho-fold.o - .bss 0x0000000008049470 0x0 tmp/i386-darwin.macho-main.o + .bss 0x00000000080495b4 0x0 tmp/i386-darwin.macho-fold.o + .bss 0x00000000080495b4 0x0 tmp/i386-darwin.macho-main.o *(COMMON) - 0x0000000008049470 . = ALIGN ((. != 0x0)?0x4:0x1) - 0x0000000008049470 . = ALIGN (0x4) - 0x0000000008049470 . = ALIGN (0x4) - 0x0000000008049470 _end = . - 0x0000000008049470 PROVIDE (end, .) - 0x0000000008049470 . = DATA_SEGMENT_END (.) + 0x00000000080495b4 . = ALIGN ((. != 0x0)?0x4:0x1) + 0x00000000080495b4 . = ALIGN (0x4) + 0x00000000080495b4 . = ALIGN (0x4) + 0x00000000080495b4 _end = . + 0x00000000080495b4 PROVIDE (end, .) + 0x00000000080495b4 . = DATA_SEGMENT_END (.) .stab *(.stab)