powerpc: stub uses new strategy

First mmap must reserve enough space to decompress folded stub.
	modified:   stub/src/powerpc-linux.elf-entry.S
	modified:   stub/src/powerpc-linux.elf-fold.S
	also .h, .map, .dump
This commit is contained in:
John Reiser 2017-10-02 20:03:47 -07:00
parent 9e8de4abe5
commit ca7217e717
6 changed files with 565 additions and 622 deletions

View File

@ -1,5 +1,5 @@
/* powerpc-linux.elf-entry.h
created from powerpc-linux.elf-entry.bin, 9342 (0x247e) bytes
created from powerpc-linux.elf-entry.bin, 9136 (0x23b0) bytes
This file is part of the UPX executable compressor.
@ -31,15 +31,15 @@
*/
#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9342
#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0xdb85a5f8
#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0xa8705800
#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9136
#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x18f95c14
#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0xfcbd2072
unsigned char stub_powerpc_linux_elf_entry[9342] = {
unsigned char stub_powerpc_linux_elf_entry[9136] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 0, 0, 26,144, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
/* 0x0030 */ 0, 0, 0, 0, 72, 0, 1,189,124, 0, 41,236,125,168, 2,166,
/* 0x0020 */ 0, 0, 26, 8, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
/* 0x0030 */ 0, 0, 0, 0, 72, 0, 1, 53,124, 0, 41,236,125,168, 2,166,
/* 0x0040 */ 40, 7, 0, 8, 64,130, 1, 60,144,166, 0, 0,124,132, 26, 20,
/* 0x0050 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255,
/* 0x0060 */ 57, 64,255,255, 72, 0, 1, 12, 57, 32, 0, 1,125, 41, 28, 44,
@ -417,207 +417,194 @@ unsigned char stub_powerpc_linux_elf_entry[9342] = {
/* 0x17a0 */ 144,134, 0, 0, 96,231, 0, 31,124, 0, 56,108,124, 7, 40, 64,
/* 0x17b0 */ 124, 0, 63,172, 56,231, 0, 32, 65,128,255,240,124, 0, 4,172,
/* 0x17c0 */ 76, 0, 1, 44, 78,128, 0, 32, 72, 0, 0, 1,109,109, 97,112,
/* 0x17d0 */ 32,102, 97,105,108,101,100, 46, 10, 0, 56,160, 0, 14,124,136,
/* 0x17e0 */ 2,166, 56, 96, 0, 2, 56, 0, 0, 4, 68, 0, 0, 2, 56, 96,
/* 0x17f0 */ 0,127, 56, 0, 0, 1, 68, 0, 0, 2,127, 8, 2,166, 59,191,
/* 0x1800 */ 255,248,128, 29, 0, 0,131,120, 0, 0,127,160,232, 80,160, 29,
/* 0x1810 */ 0, 16, 40, 0, 0, 3, 65,130, 0, 76,131,157, 0, 72, 57, 0,
/* 0x1820 */ 0, 0,127,158,224, 80, 56,224,255,255, 59,156,255,255, 56,192,
/* 0x1830 */ 0, 50,127,156,240, 56, 56,160, 0, 3,128,152, 0, 4,124,125,
/* 0x1840 */ 226, 20,127,156, 34, 20,124,110, 27,120, 56, 0, 0, 90, 68, 0,
/* 0x1850 */ 0, 2,124, 14, 24, 64, 64,130, 0, 0, 59, 32, 0, 0, 72, 0,
/* 0x1860 */ 0,212,127,185,235,120,130,221, 0, 72,128, 24, 0, 4,127,128,
/* 0x1870 */ 178, 20,127,132,227,120,126,228,232, 80, 60, 0, 0,128,124, 0,
/* 0x1880 */ 8, 80,124, 28, 0, 80,127,151, 0, 64, 65,128, 0, 8,124, 23,
/* 0x1890 */ 3,120,126,247,240, 56,127, 67,211,120,128,195, 0, 0,129, 3,
/* 0x18a0 */ 0, 4, 56, 99, 0, 8, 43,134, 0, 0, 65,158, 0, 44, 56,198,
/* 0x18b0 */ 255,224, 43,134, 0, 1, 65,157,255,228,124,215, 64, 80,127,134,
/* 0x18c0 */ 32, 64, 64,156,255,216,124,196, 48, 80,126,247, 50, 20,126,247,
/* 0x18d0 */ 240, 56, 75,255,255,200,126,227,187,120, 57, 0, 0, 0, 56,224,
/* 0x18e0 */ 255,255, 56,192, 0, 50, 56,160, 0, 3, 56, 0, 0, 90, 68, 0,
/* 0x18f0 */ 0, 2,124, 3,184, 64, 64,130, 0, 0,124, 29,184, 80,127,255,
/* 0x1900 */ 2, 20,126,198,179,120, 56,198, 0, 7, 56,157,255,252, 84,198,
/* 0x1910 */ 232,254, 56, 99,255,252,124,201, 3,166,128,164, 0, 4,132,196,
/* 0x1920 */ 0, 8,144,163, 0, 4,148,195, 0, 8, 66, 0,255,240,126,253,
/* 0x1930 */ 187,120,124,101, 27,120,124,119, 27,120,127,233, 3,166,128, 24,
/* 0x1940 */ 0, 4,136,248, 0, 12, 56,193, 0,140,144, 1, 0,140,128,152,
/* 0x1950 */ 0, 8, 56,120, 0, 16, 78,128, 4, 33, 87,192,186,126,176, 23,
/* 0x1960 */ 0, 2, 56,160, 0, 5,127,132,227,120,127,163,235,120, 56, 0,
/* 0x1970 */ 0,125, 68, 0, 0, 2, 56, 23, 0, 16,124, 9, 3,166, 78,128,
/* 0x1980 */ 4, 32,128, 3, 0, 0, 56, 99, 0, 4, 47,128, 0, 0, 64,158,
/* 0x1990 */ 255,244, 78,128, 0, 32,148, 33,255,112,188, 65, 0, 20,127,232,
/* 0x19a0 */ 2,166, 56, 97, 0,144, 75,255,255,221, 75,255,255,217,124,122,
/* 0x19b0 */ 27,120,128, 3, 0, 0,128,131, 0, 4, 56, 99, 0, 8, 47,128,
/* 0x19c0 */ 0, 6, 65,158, 0, 16, 44, 0, 0, 0, 64,130,255,232, 56,128,
/* 0x19d0 */ 16, 0,127,196, 0,208, 75,255,254, 37, 0, 0, 0, 0,102,105,
/* 0x19e0 */ 108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45,
/* 0x19f0 */ 112,111,119,101,114,112, 99, 10, 10, 83,101, 99,116,105,111,110,
/* 0x1a00 */ 115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32,
/* 0x1a10 */ 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86,
/* 0x1a20 */ 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32,
/* 0x1a30 */ 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,
/* 0x1a40 */ 110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70,
/* 0x1a50 */ 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48,
/* 0x1a60 */ 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
/* 0x1a70 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51,
/* 0x1a80 */ 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1a90 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78,
/* 0x1aa0 */ 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32,
/* 0x1ab0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ad0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, 32, 32, 50, 42, 42,
/* 0x1ae0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65,
/* 0x1af0 */ 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32,
/* 0x1b00 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 56,
/* 0x1b10 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
/* 0x1b20 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, 32, 32,
/* 0x1b30 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
/* 0x1b40 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
/* 0x1b50 */ 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32,
/* 0x1b60 */ 32, 32, 48, 48, 48, 48, 48, 49, 50, 99, 32, 32, 48, 48, 48, 48,
/* 0x1b70 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x1b80 */ 48, 48, 48, 48, 48, 49, 56, 48, 32, 32, 50, 42, 42, 48, 32, 32,
/* 0x1b90 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44,
/* 0x1ba0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82,
/* 0x1bb0 */ 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48,
/* 0x1bc0 */ 48, 48,102, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x1bd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,
/* 0x1be0 */ 97, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x1bf0 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79,
/* 0x1c00 */ 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70,
/* 0x1c10 */ 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57, 48, 32, 32,
/* 0x1c20 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1c30 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 57, 99, 32, 32, 50, 42,
/* 0x1c40 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
/* 0x1c50 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
/* 0x1c60 */ 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32,
/* 0x1c70 */ 48, 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1c80 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1c90 */ 48, 48, 48, 52, 50, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x1ca0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
/* 0x1cb0 */ 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32,
/* 0x1cc0 */ 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48, 48,
/* 0x1cd0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1ce0 */ 32, 48, 48, 48, 48, 48,100, 99, 56, 32, 32, 50, 42, 42, 48, 32,
/* 0x1cf0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79,
/* 0x1d00 */ 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67,
/* 0x1d10 */ 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32,
/* 0x1d20 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1d30 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 54, 52, 32, 32, 50, 42,
/* 0x1d40 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
/* 0x1d50 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84,
/* 0x1d60 */ 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49,
/* 0x1d70 */ 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1d80 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 56, 56, 32,
/* 0x1d90 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
/* 0x1da0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 67, 70,
/* 0x1db0 */ 76, 85, 83, 72, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48,
/* 0x1dc0 */ 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x1dd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55,
/* 0x1de0 */ 97, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x1df0 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49,
/* 0x1e00 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48,
/* 0x1e10 */ 48, 48, 48, 48, 48, 49, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x1e20 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1e30 */ 48, 49, 55, 99, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
/* 0x1e40 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69,
/* 0x1e50 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, 77, 65,
/* 0x1e60 */ 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 50, 48,
/* 0x1e70 */ 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1e80 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55,100, 97, 32,
/* 0x1e90 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
/* 0x1ea0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
/* 0x1eb0 */ 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48,
/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x1ed0 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48,
/* 0x1ee0 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48,
/* 0x1ef0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x1f00 */ 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f10 */ 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48,
/* 0x1f20 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77,
/* 0x1f30 */ 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76,
/* 0x1f40 */ 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1f50 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x1f60 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73,
/* 0x1f70 */ 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
/* 0x1f80 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48,
/* 0x1f90 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48,
/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x1fb0 */ 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x1fc0 */ 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48,
/* 0x1fd0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50,
/* 0x1fe0 */ 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69,
/* 0x1ff0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x2000 */ 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2010 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x2020 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48,
/* 0x2030 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48,
/* 0x2040 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90,
/* 0x2050 */ 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x2060 */ 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48,
/* 0x2070 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90,
/* 0x2080 */ 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x2090 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48,
/* 0x20a0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90,
/* 0x20b0 */ 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x20c0 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48,
/* 0x20d0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 70,
/* 0x20e0 */ 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70,
/* 0x20f0 */ 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32,
/* 0x2100 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48,
/* 0x2110 */ 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48,
/* 0x2120 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2130 */ 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79,
/* 0x2140 */ 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
/* 0x2150 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
/* 0x2160 */ 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69,
/* 0x2170 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2180 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48,
/* 0x2190 */ 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52,
/* 0x21a0 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43,
/* 0x21b0 */ 48,120, 48, 48, 48, 48, 48, 49, 98, 99, 10, 10, 82, 69, 76, 79,
/* 0x21c0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70,
/* 0x21d0 */ 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83,
/* 0x21e0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x21f0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
/* 0x2200 */ 48, 48, 48, 98, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49,
/* 0x2210 */ 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76,
/* 0x2220 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
/* 0x2230 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93,
/* 0x2240 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32,
/* 0x2250 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76,
/* 0x2260 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 80, 80,
/* 0x2270 */ 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82,
/* 0x2280 */ 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
/* 0x2290 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
/* 0x22a0 */ 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
/* 0x22b0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x22c0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 57,
/* 0x22d0 */ 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32,
/* 0x22e0 */ 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69,
/* 0x22f0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
/* 0x2300 */ 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48,
/* 0x2310 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
/* 0x2320 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
/* 0x2330 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 80,
/* 0x2340 */ 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 76,
/* 0x2350 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, 48, 48,
/* 0x2360 */ 48, 48, 50, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
/* 0x2370 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76,
/* 0x2380 */ 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
/* 0x2390 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x23a0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
/* 0x23b0 */ 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32,
/* 0x23c0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82,
/* 0x23d0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68,
/* 0x23e0 */ 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93,
/* 0x23f0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32,
/* 0x2400 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76,
/* 0x2410 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 55, 99, 32, 82, 95, 80, 80,
/* 0x2420 */ 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76,
/* 0x2430 */ 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 49, 49, 99, 32,
/* 0x2440 */ 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32,
/* 0x2450 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48,
/* 0x2460 */ 50, 48, 48, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, 82, 51, 50,
/* 0x2470 */ 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
/* 0x17d0 */ 32,102, 97,105,108,101,100, 46, 10, 0, 0, 0, 56,160, 0, 14,
/* 0x17e0 */ 124,136, 2,166, 56, 96, 0, 2, 56, 0, 0, 4, 68, 0, 0, 2,
/* 0x17f0 */ 56, 96, 0,127, 56, 0, 0, 1, 68, 0, 0, 2,126,200, 2,166,
/* 0x1800 */ 72, 0, 0, 21, 47,112,114,111, 99, 47,115,101,108,102, 47,101,
/* 0x1810 */ 120,101, 0, 0,124,104, 2,166, 56,128, 0, 0, 56, 0, 0, 5,
/* 0x1820 */ 68, 0, 0, 2,124,123, 27,120,128, 31,255,248, 59, 63,255,248,
/* 0x1830 */ 56,224,255,255,130,182, 0, 4, 56,192, 0, 34,127, 32,200, 80,
/* 0x1840 */ 56, 96, 0, 0,124, 25,176, 80,124,149, 2, 20,124,156, 35,120,
/* 0x1850 */ 72, 0, 0,145,124,125, 27,120,128, 22, 0, 8,124,149,224, 80,
/* 0x1860 */ 127,103,219,120, 56,192, 0, 18,124,132, 2, 20, 72, 0, 0,117,
/* 0x1870 */ 126,153, 24, 80,130,118, 0, 0, 56,118, 0, 16,126,214,162, 20,
/* 0x1880 */ 126,246,170, 20,126,216,240, 56,126,248,184, 80,127,233, 3,166,
/* 0x1890 */ 127,255,162, 20,136,246, 0, 12,146,161, 0,140, 56,193, 0,140,
/* 0x18a0 */ 126,197,179,120,128,150, 0, 8, 78,128, 4, 33, 87,192,186,126,
/* 0x18b0 */ 176, 22, 0, 2, 56,160, 0, 5,126,228,187,120,127, 3,195,120,
/* 0x18c0 */ 56, 0, 0,125, 68, 0, 0, 2,130,255,255,248,127, 25,154, 20,
/* 0x18d0 */ 127, 24,162, 20, 56, 22, 0, 16,124, 9, 3,166, 78,128, 4, 32,
/* 0x18e0 */ 57, 0, 0, 0, 56,160, 0, 3, 56, 0, 0, 90, 68, 0, 0, 2,
/* 0x18f0 */ 64,131, 0, 8,124,128, 0, 8, 78,128, 0, 32,128, 3, 0, 0,
/* 0x1900 */ 56, 99, 0, 4, 47,128, 0, 0, 64,158,255,244, 78,128, 0, 32,
/* 0x1910 */ 148, 33,255,112,188, 65, 0, 20,127,232, 2,166, 56, 97, 0,144,
/* 0x1920 */ 75,255,255,221, 75,255,255,217,124,122, 27,120,128, 3, 0, 0,
/* 0x1930 */ 128,131, 0, 4, 56, 99, 0, 8, 47,128, 0, 6, 65,158, 0, 16,
/* 0x1940 */ 44, 0, 0, 0, 64,130,255,232, 56,128, 16, 0,127,196, 0,208,
/* 0x1950 */ 75,255,254,173, 0, 0, 0, 0,102,105,108,101, 32,102,111,114,
/* 0x1960 */ 109, 97,116, 32,101,108,102, 51, 50, 45,112,111,119,101,114,112,
/* 0x1970 */ 99, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120,
/* 0x1980 */ 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,
/* 0x1990 */ 105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32,
/* 0x19a0 */ 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,
/* 0x19b0 */ 101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,
/* 0x19c0 */ 103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32,
/* 0x19d0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48,
/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x19f0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42,
/* 0x1a00 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76,
/* 0x1a10 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49,
/* 0x1a20 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48,
/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a40 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1a50 */ 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
/* 0x1a60 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
/* 0x1a70 */ 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x1a80 */ 32, 32, 48, 48, 48, 48, 48, 49, 52, 56, 32, 32, 48, 48, 48, 48,
/* 0x1a90 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32,
/* 0x1ab0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44,
/* 0x1ac0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82,
/* 0x1ad0 */ 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48,
/* 0x1ae0 */ 48, 49, 50, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x1af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49,
/* 0x1b00 */ 56, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x1b10 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79,
/* 0x1b20 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32,
/* 0x1b30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 48, 32, 32,
/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1b50 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 99, 32, 32, 50, 42,
/* 0x1b60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
/* 0x1b70 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
/* 0x1b80 */ 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32,
/* 0x1b90 */ 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1ba0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1bb0 */ 48, 48, 48, 51, 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x1bc0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82,
/* 0x1bd0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65,
/* 0x1be0 */ 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,
/* 0x1bf0 */ 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1c00 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 50, 99,
/* 0x1c10 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x1c20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76,
/* 0x1c30 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48,
/* 0x1c40 */ 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1c50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
/* 0x1c60 */ 100, 99, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
/* 0x1c70 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
/* 0x1c80 */ 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32,
/* 0x1c90 */ 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1ca0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1cb0 */ 48, 48, 49, 55, 54, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x1cc0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
/* 0x1cd0 */ 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32,
/* 0x1ce0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48,
/* 0x1cf0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1d00 */ 32, 48, 48, 48, 48, 49, 55, 56, 56, 32, 32, 50, 42, 42, 48, 32,
/* 0x1d10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79,
/* 0x1d20 */ 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32,
/* 0x1d30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32,
/* 0x1d40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1d50 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 97, 52, 32, 32, 50, 42,
/* 0x1d60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
/* 0x1d70 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65,
/* 0x1d80 */ 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49,
/* 0x1d90 */ 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1da0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 99, 56, 32,
/* 0x1db0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
/* 0x1dc0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
/* 0x1dd0 */ 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32,
/* 0x1de0 */ 32, 32, 32, 48, 48, 48, 48, 48, 49, 55, 99, 32, 32, 48, 48, 48,
/* 0x1df0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1e00 */ 32, 48, 48, 48, 48, 49, 55,100, 99, 32, 32, 50, 42, 42, 50, 32,
/* 0x1e10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67,
/* 0x1e20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79,
/* 0x1e30 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1e40 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68,
/* 0x1e50 */ 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90,
/* 0x1e60 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1e70 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65,
/* 0x1e80 */ 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95,
/* 0x1e90 */ 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
/* 0x1ea0 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48,
/* 0x1eb0 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x1ec0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x1ed0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48,
/* 0x1ee0 */ 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x1ef0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82,
/* 0x1f00 */ 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1f10 */ 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f20 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9,
/* 0x1f30 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48,
/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x1f50 */ 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78,
/* 0x1f60 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
/* 0x1f70 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48,
/* 0x1f80 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48,
/* 0x1f90 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65,
/* 0x1fa0 */ 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1fb0 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48,
/* 0x1fc0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65,
/* 0x1fd0 */ 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1fe0 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48,
/* 0x1ff0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65,
/* 0x2000 */ 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x2010 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48,
/* 0x2020 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 70, 76, 85,
/* 0x2030 */ 83, 72, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76, 85,
/* 0x2040 */ 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
/* 0x2050 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48,
/* 0x2060 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48,
/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32,
/* 0x2080 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x2090 */ 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x20a0 */ 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9,
/* 0x20b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, 70, 79,
/* 0x20c0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
/* 0x20d0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73,
/* 0x20e0 */ 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89,
/* 0x20f0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2100 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82,
/* 0x2110 */ 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32,
/* 0x2120 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48,
/* 0x2130 */ 48, 49, 51, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
/* 0x2140 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82,
/* 0x2150 */ 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84,
/* 0x2160 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2170 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32,
/* 0x2180 */ 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32,
/* 0x2190 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79,
/* 0x21a0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70,
/* 0x21b0 */ 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83,
/* 0x21c0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x21d0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
/* 0x21e0 */ 48, 48, 48, 98, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49,
/* 0x21f0 */ 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76,
/* 0x2200 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
/* 0x2210 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93,
/* 0x2220 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32,
/* 0x2230 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76,
/* 0x2240 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 80, 80,
/* 0x2250 */ 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82,
/* 0x2260 */ 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
/* 0x2270 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
/* 0x2280 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70,
/* 0x2290 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32,
/* 0x22a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48,
/* 0x22b0 */ 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76,
/* 0x22c0 */ 49, 52, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69,
/* 0x22d0 */ 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 50, 52, 10, 10,
/* 0x22e0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82,
/* 0x22f0 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 89,
/* 0x2300 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
/* 0x2310 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
/* 0x2320 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80,
/* 0x2330 */ 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x2340 */ 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84,
/* 0x2350 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32,
/* 0x2360 */ 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83,
/* 0x2370 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x2380 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
/* 0x2390 */ 48, 48, 49, 55, 56, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, 82,
/* 0x23a0 */ 51, 50, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
};

View File

@ -1,5 +1,5 @@
/* powerpc-linux.elf-fold.h
created from powerpc-linux.elf-fold.bin, 4188 (0x105c) bytes
created from powerpc-linux.elf-fold.bin, 4168 (0x1048) bytes
This file is part of the UPX executable compressor.
@ -31,17 +31,17 @@
*/
#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 4188
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x15d75d39
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x791f8055
#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 4168
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x08ac57ce
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x1e254351
unsigned char stub_powerpc_linux_elf_fold[4188] = {
unsigned char stub_powerpc_linux_elf_fold[4168] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 0, 2, 0, 20, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0,
/* 0x0040 */ 0, 16, 0, 0, 0, 0, 16, 92, 0, 0, 16, 92, 0, 0, 0, 5,
/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 16, 92, 0, 0, 0, 0,
/* 0x0040 */ 0, 16, 0, 0, 0, 0, 16, 72, 0, 0, 16, 72, 0, 0, 0, 5,
/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 16, 72, 0, 0, 0, 0,
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 56, 96,255,248, 84, 99, 72, 44, 78,128, 0, 32, 96, 0, 0, 0,
@ -52,250 +52,249 @@ unsigned char stub_powerpc_linux_elf_fold[4188] = {
/* 0x00d0 */ 124, 0, 58, 20, 80, 11, 1,186,145, 99, 0, 0, 78, 64, 0, 32,
/* 0x00e0 */ 133, 99, 0, 4, 85, 96, 85,190,124, 0, 40, 64, 65,162,255,220,
/* 0x00f0 */ 66, 0,255,240, 78,128, 0, 32, 32, 32, 32, 61, 47,112,114,111,
/* 0x0100 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0,126,168, 2,166,
/* 0x0110 */ 56,128, 0, 0, 56,117, 0,104, 72, 0, 1,157,124,116, 27,120,
/* 0x0120 */ 56,129,255,252, 56, 33,239,252, 56, 97,255,252, 59, 90,255,252,
/* 0x0130 */ 132, 4, 0, 4,127,132,208, 64,148, 3, 0, 4, 65,156,255,244,
/* 0x0140 */ 59, 67, 0, 8,148, 3, 0, 4,128, 4, 0, 4, 43,128, 0, 0,
/* 0x0150 */ 144, 3, 0, 4,132, 4, 0, 8,148, 3, 0, 8, 64,158,255,236,
/* 0x0160 */ 58, 99, 0, 4,126, 90,152, 80,128, 21, 0,100, 58, 36, 0, 4,
/* 0x0170 */ 148, 3, 0, 4, 57,195, 0, 4, 56,160, 15,255,125,196,115,120,
/* 0x0180 */ 56,117, 0,104, 72, 0, 1, 25, 56,174,255,252, 44, 3, 0, 0,
/* 0x0190 */ 65,129, 0, 12, 56,181, 0,100, 56, 96, 0, 16, 56, 99, 0, 4,
/* 0x01a0 */ 124,133, 26, 20,124,105, 3,166,126, 35,139,120, 56,160, 0, 0,
/* 0x01b0 */ 156,163,255,255,140, 4,255,255,156, 3,255,255, 66, 0,255,248,
/* 0x01c0 */ 144,122,255,248, 84, 99, 0, 58,124, 32, 34,120,124, 0, 26,120,
/* 0x01d0 */ 84, 0, 7,126,124, 96, 24, 80,126,100,155,120,127, 82, 24, 80,
/* 0x01e0 */ 132, 4,255,252,127,132, 8, 64,148, 3,255,252, 65,157,255,244,
/* 0x01f0 */ 124, 97, 27,120,148, 33,247,240,128,159,255,248,124,125,218, 20,
/* 0x0200 */ 124,155, 32, 80, 56,161, 0, 16,127, 70,211,120,127,231,251,120,
/* 0x0210 */ 126,168,171,120,127, 41,203,120, 72, 0, 12, 61, 56, 33, 8, 16,
/* 0x0220 */ 124,127, 27,120, 57, 0, 0, 0,126,135,163,120, 56,192, 0, 2,
/* 0x0230 */ 56,160, 0, 1,124,158, 0,208, 56, 96, 0, 0, 72, 0, 0, 69,
/* 0x0240 */ 126,131,163,120, 72, 0, 0,121,127, 67,211,120,128, 3, 0, 0,
/* 0x0250 */ 128,131, 0, 4, 56, 99, 0, 8, 43,128, 0, 0, 64,158,255,240,
/* 0x0260 */ 124,137, 3,166,127,163,235,120,127,132,227,120, 56, 0, 0, 91,
/* 0x0270 */ 127,232, 3,166,184,161, 0, 32, 56, 33, 0,144, 78,128, 4, 32,
/* 0x0280 */ 56, 0, 0, 90, 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255,
/* 0x0290 */ 78,128, 0, 32, 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 85,
/* 0x02a0 */ 72, 0, 0, 8, 56, 0, 0, 4, 72, 0, 0, 8, 56, 0, 0, 3,
/* 0x02b0 */ 72, 0, 0, 8, 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 6,
/* 0x02c0 */ 72, 0, 0, 8, 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 91,
/* 0x02d0 */ 72, 0, 0, 8, 56, 0, 0, 45, 75,255,255,172,124,128, 0, 8,
/* 0x02e0 */ 78,128, 0, 32,148, 33,255,208,124, 8, 2,166,147,225, 0, 44,
/* 0x02f0 */ 144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,
/* 0x0300 */ 144,191, 0, 16,129, 63, 0, 8,128, 9, 0, 4,144, 31, 0, 20,
/* 0x0310 */ 128, 31, 0, 12,144, 31, 0, 24,129, 63, 0, 8,129, 41, 0, 0,
/* 0x0320 */ 128, 31, 0, 16,127,137, 0, 64, 64,156, 0, 12, 56, 96, 0,127,
/* 0x0330 */ 75,255,255,101,128, 31, 0, 16,144, 31, 0, 28,129, 63, 0, 28,
/* 0x0340 */ 56, 9,255,255,124, 9, 3,120,145, 63, 0, 28, 56, 0,255,255,
/* 0x0350 */ 127,137, 0, 0, 65,158, 0, 48,129,127, 0, 24,129, 63, 0, 20,
/* 0x0360 */ 136, 9, 0, 0,152, 11, 0, 0,129, 63, 0, 20, 56, 9, 0, 1,
/* 0x0370 */ 144, 31, 0, 20,129, 63, 0, 24, 56, 9, 0, 1,144, 31, 0, 24,
/* 0x0380 */ 75,255,255,188,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4,
/* 0x0390 */ 128, 31, 0, 16,124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8,
/* 0x03a0 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16,124, 0, 72, 80,
/* 0x03b0 */ 144, 11, 0, 0,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,
/* 0x03c0 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,
/* 0x03d0 */ 124, 8, 2,166,147,225, 0, 28,144, 1, 0, 36,124, 63, 11,120,
/* 0x03e0 */ 144,127, 0, 8,128,127, 0, 8, 75,255,254,237,124, 96, 27,120,
/* 0x03f0 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,
/* 0x0400 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,176,
/* 0x0410 */ 124, 8, 2,166,147,225, 0, 76,144, 1, 0, 84,124, 63, 11,120,
/* 0x0420 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,
/* 0x0430 */ 129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 0, 65,158, 1,228,
/* 0x0440 */ 56, 31, 0, 32,128,127, 0, 8,124, 4, 3,120, 56,160, 0, 12,
/* 0x0450 */ 75,255,254,149,128, 31, 0, 32, 47,128, 0, 0, 64,158, 0, 48,
/* 0x0460 */ 128, 31, 0, 36, 61, 32, 33, 88, 97, 41, 80, 85,127,128, 72, 0,
/* 0x0470 */ 65,158, 0, 8, 72, 0, 0, 36,129, 63, 0, 8,128, 9, 0, 0,
/* 0x0480 */ 47,128, 0, 0, 65,158, 1,156, 72, 0, 0, 16,128, 31, 0, 36,
/* 0x0490 */ 47,128, 0, 0, 64,158, 0, 12, 56, 96, 0,127, 75,255,253,249,
/* 0x04a0 */ 128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, 65,157,255,236,
/* 0x04b0 */ 129, 63, 0, 12,129,127, 0, 32,128, 9, 0, 0,127,139, 0, 64,
/* 0x04c0 */ 65,157,255,216,128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64,
/* 0x04d0 */ 64,156, 1, 8,128, 31, 0, 32,144, 31, 0, 48,129, 63, 0, 8,
/* 0x04e0 */ 129,127, 0, 12, 57, 95, 0, 48,136, 31, 0, 40, 84, 0, 6, 62,
/* 0x04f0 */ 129, 31, 0, 16,125, 9, 3,166,128,105, 0, 4,128,159, 0, 36,
/* 0x0500 */ 128,171, 0, 4,125, 70, 83,120,124, 7, 3,120, 78,128, 4, 33,
/* 0x0510 */ 124, 96, 27,120,144, 31, 0, 52,128, 31, 0, 52, 47,128, 0, 0,
/* 0x0520 */ 64,158,255,120,128, 31, 0, 32,129, 63, 0, 48,127,128, 72, 0,
/* 0x0530 */ 64,158,255,104,136, 31, 0, 41, 84, 0, 6, 62, 47,128, 0, 0,
/* 0x0540 */ 65,158, 0,100,128, 31, 0, 20, 47,128, 0, 0, 65,158, 0, 88,
/* 0x0550 */ 128, 31, 0, 48, 43,128, 2, 0, 65,157, 0, 28,129, 63, 0, 12,
/* 0x0560 */ 129, 41, 0, 0,128, 31, 0, 32,127,137, 0, 0, 65,158, 0, 8,
/* 0x0570 */ 72, 0, 0, 52,129, 63, 0, 12,136, 31, 0, 42, 84, 11, 6, 62,
/* 0x0580 */ 136, 31, 0, 41, 84, 0, 6, 62,129, 31, 0, 20,125, 9, 3,166,
/* 0x0590 */ 128,105, 0, 4,128,159, 0, 48,125,101, 91,120,124, 6, 3,120,
/* 0x05a0 */ 78,128, 4, 33,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4,
/* 0x05b0 */ 128, 31, 0, 36,124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8,
/* 0x05c0 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 36,124, 0, 72, 80,
/* 0x05d0 */ 144, 11, 0, 0, 72, 0, 0, 24,129, 63, 0, 12,128,127, 0, 8,
/* 0x05e0 */ 128,137, 0, 4,128,191, 0, 36, 75,255,252,253,129,127, 0, 12,
/* 0x05f0 */ 129, 63, 0, 12,129, 41, 0, 4,128, 31, 0, 32,124, 9, 2, 20,
/* 0x0600 */ 144, 11, 0, 4,129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 0,
/* 0x0610 */ 128, 31, 0, 32,124, 0, 72, 80,144, 11, 0, 0, 75,255,254, 20,
/* 0x0620 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x0630 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,147,225, 0, 28,
/* 0x0640 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x0650 */ 56, 0, 0, 0,144, 31, 0, 20,129, 63, 0, 8,128, 9, 0, 0,
/* 0x0660 */ 47,128, 0, 1, 64,158, 0,196,129, 63, 0, 8,128, 9, 0, 24,
/* 0x0670 */ 84, 0, 7,254, 47,128, 0, 0, 65,158, 0,176,129, 63, 0, 8,
/* 0x0680 */ 129,127, 0, 8,129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20,
/* 0x0690 */ 128, 31, 0, 12,124, 9, 2, 20,144, 31, 0, 20,129, 63, 0, 8,
/* 0x06a0 */ 129,127, 0, 8,129, 41, 0, 20,128, 11, 0, 16,127,137, 0, 0,
/* 0x06b0 */ 64,158, 0, 28,128, 31, 0, 20,125, 32, 0,208,128, 31, 0, 16,
/* 0x06c0 */ 125, 32, 0, 56, 43,128, 0, 7, 65,157, 0, 48,129,127, 0, 8,
/* 0x06d0 */ 128, 31, 0, 12, 29, 32, 0, 52,128, 11, 0, 8,125, 41, 2, 20,
/* 0x06e0 */ 56, 9, 0, 8,144, 31, 0, 20,129, 63, 0, 8,128, 9, 0, 4,
/* 0x06f0 */ 47,128, 0, 0, 64,158, 0, 44,129, 63, 0, 20, 60, 0, 68, 0,
/* 0x0700 */ 96, 0, 0, 2,144, 9, 0, 0,129, 63, 0, 20, 57, 41, 0, 4,
/* 0x0710 */ 60, 0, 78,128, 96, 0, 0, 32,144, 9, 0, 0, 72, 0, 0, 12,
/* 0x0720 */ 56, 0, 0, 0,144, 31, 0, 20,128, 31, 0, 20,124, 3, 3,120,
/* 0x0730 */ 129, 97, 0, 0,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x0740 */ 148, 33,255,224,147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,
/* 0x0750 */ 144,159, 0, 12,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 52,
/* 0x0760 */ 129, 63, 0, 8,125, 43, 75,120, 56, 0, 0, 0,152, 11, 0, 0,
/* 0x0770 */ 57, 41, 0, 1,145, 63, 0, 8,129, 63, 0, 12, 56, 9,255,255,
/* 0x0780 */ 144, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 8, 75,255,255,212,
/* 0x0790 */ 129, 97, 0, 0,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x07a0 */ 148, 33,255,224,147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,
/* 0x07b0 */ 144,159, 0, 12, 56, 0, 0, 0,144, 31, 0, 16,128, 31, 0, 8,
/* 0x07c0 */ 47,128, 0, 0, 65,158, 0, 76,129, 63, 0, 8,129, 41, 0, 0,
/* 0x07d0 */ 128, 31, 0, 12,127,137, 0, 0, 64,158, 0, 16,128, 31, 0, 8,
/* 0x07e0 */ 144, 31, 0, 20, 72, 0, 0, 52,129, 63, 0, 8,128, 9, 0, 0,
/* 0x07f0 */ 47,128, 0, 1, 64,158, 0, 12,128, 31, 0, 8,144, 31, 0, 16,
/* 0x0800 */ 129, 63, 0, 8, 56, 9, 0, 8,144, 31, 0, 8, 75,255,255,188,
/* 0x0810 */ 56, 0, 0, 0,144, 31, 0, 20,128,127, 0, 20,129, 97, 0, 0,
/* 0x0820 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,
/* 0x0830 */ 124, 8, 2,166,147,225, 0, 28,144, 1, 0, 36,124, 63, 11,120,
/* 0x0840 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,128,127, 0, 8,
/* 0x0850 */ 128,159, 0, 12, 75,255,255, 77,124, 96, 27,120,144, 31, 0, 8,
/* 0x0860 */ 128, 31, 0, 8, 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 8,
/* 0x0870 */ 128, 31, 0, 16,144, 9, 0, 4,129, 97, 0, 0,128, 11, 0, 4,
/* 0x0880 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x0890 */ 148, 33,255,192,124, 8, 2,166,147,225, 0, 60,144, 1, 0, 68,
/* 0x08a0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x08b0 */ 144,223, 0, 20,144,255, 0, 24, 75,255,247,201,124, 96, 27,120,
/* 0x08c0 */ 144, 31, 0, 28, 56, 0,255,255,144, 31, 0, 32, 56, 0, 0, 0,
/* 0x08d0 */ 144, 31, 0, 36, 56, 0, 0, 0,144, 31, 0, 40,129, 63, 0, 16,
/* 0x08e0 */ 56, 9,255,255,144, 31, 0, 16, 47,128, 0, 0, 65,156, 0,124,
/* 0x08f0 */ 129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 1, 64,158, 0, 92,
/* 0x0900 */ 129, 63, 0, 12,129, 41, 0, 8,128, 31, 0, 32,127,137, 0, 64,
/* 0x0910 */ 64,156, 0, 16,129, 63, 0, 12,128, 9, 0, 8,144, 31, 0, 32,
/* 0x0920 */ 129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,
/* 0x0930 */ 125, 41, 2, 20,128, 31, 0, 36,127,137, 0, 64, 64,157, 0, 28,
/* 0x0940 */ 129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,
/* 0x0950 */ 124, 9, 2, 20,144, 31, 0, 36,129, 63, 0, 12, 56, 9, 0, 32,
/* 0x0960 */ 144, 31, 0, 12, 75,255,255,120,129, 63, 0, 32,128, 31, 0, 28,
/* 0x0970 */ 125, 32, 0, 56,144, 31, 0, 32,129, 63, 0, 36,128, 31, 0, 32,
/* 0x0980 */ 125, 32, 72, 80,128, 31, 0, 28,125, 32, 72, 80, 57, 41,255,255,
/* 0x0990 */ 128, 31, 0, 28,125, 32, 0, 56,144, 31, 0, 36,128, 31, 0, 8,
/* 0x09a0 */ 84, 0, 6,246, 47,128, 0, 0, 65,158, 0, 16,128, 31, 0, 32,
/* 0x09b0 */ 144, 31, 0, 40, 72, 0, 0, 48,128, 31, 0, 32, 47,128, 0, 0,
/* 0x09c0 */ 64,158, 0, 36,128, 31, 0, 24,144, 31, 0, 40,128, 31, 0, 40,
/* 0x09d0 */ 47,128, 0, 0, 65,158, 0, 16,128, 31, 0, 8, 96, 0, 0, 16,
/* 0x09e0 */ 144, 31, 0, 8,128, 31, 0, 8, 96, 0, 0, 34,128,127, 0, 40,
/* 0x09f0 */ 128,159, 0, 36, 56,160, 0, 0,124, 6, 3,120, 56,224,255,255,
/* 0x0a00 */ 57, 0, 0, 0, 75,255,248,125,144,127, 0, 40,129,127, 0, 20,
/* 0x0a10 */ 129, 63, 0, 36,128, 31, 0, 40,124, 9, 2, 20,144, 11, 0, 0,
/* 0x0a20 */ 129, 63, 0, 40,128, 31, 0, 32,124, 0, 72, 80,124, 3, 3,120,
/* 0x0a30 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x0a40 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,144,124, 8, 2,166,
/* 0x0a50 */ 147,225, 0,108,144, 1, 0,116,124, 63, 11,120,144,127, 0, 8,
/* 0x0a60 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,
/* 0x0a70 */ 145, 31, 0, 28,145, 63, 0, 32, 75,255,246, 9,124, 96, 27,120,
/* 0x0a80 */ 124, 0, 0,248,144, 31, 0, 36,129, 63, 0, 12,129, 41, 0, 28,
/* 0x0a90 */ 128, 31, 0, 12,124, 9, 2, 20,144, 31, 0, 40,129, 63, 0, 12,
/* 0x0aa0 */ 160, 9, 0, 16, 84, 0, 4, 62, 47,128, 0, 2, 64,158, 0, 16,
/* 0x0ab0 */ 56, 0, 0, 16,144, 31, 0, 92, 72, 0, 0, 12, 56, 0, 0, 0,
/* 0x0ac0 */ 144, 31, 0, 92,129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62,
/* 0x0ad0 */ 57, 63, 0, 44,128,127, 0, 92,128,159, 0, 40,124, 5, 3,120,
/* 0x0ae0 */ 125, 38, 75,120,128,255, 0, 32, 75,255,253,169,124, 96, 27,120,
/* 0x0af0 */ 144, 31, 0, 48, 56, 0, 0, 0,144, 31, 0, 52,129, 63, 0, 12,
/* 0x0b00 */ 160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 52,127,137, 0, 0,
/* 0x0b10 */ 64,157, 2,216,129, 63, 0, 40,128, 9, 0, 0, 47,128, 0, 1,
/* 0x0b20 */ 64,158, 2,172,128, 31, 0, 16, 47,128, 0, 0, 65,158, 0, 76,
/* 0x0b30 */ 129, 63, 0, 40,128, 9, 0, 4, 47,128, 0, 0, 64,158, 0, 60,
/* 0x0b40 */ 129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62,128,127, 0, 20,
/* 0x0b50 */ 56,128, 0, 5,124, 5, 3,120, 75,255,252,213,129, 63, 0, 12,
/* 0x0b60 */ 160, 9, 0, 42, 84, 0, 4, 62,128,127, 0, 20, 56,128, 0, 4,
/* 0x0b70 */ 124, 5, 3,120, 75,255,252,185,129, 63, 0, 40,128, 9, 0, 24,
/* 0x0b80 */ 84, 0, 7,126, 84, 9, 16, 58, 60, 0,115, 81, 96, 0, 98, 64,
/* 0x0b90 */ 124, 0, 76, 48, 84, 0, 7,126,144, 31, 0, 56,129, 63, 0, 40,
/* 0x0ba0 */ 128, 9, 0, 16,144, 31, 0, 64,144, 31, 0, 72,129, 63, 0, 40,
/* 0x0bb0 */ 129, 41, 0, 8,128, 31, 0, 48,124, 9, 2, 20,144, 31, 0, 68,
/* 0x0bc0 */ 144, 31, 0, 76,129, 63, 0, 40,129, 41, 0, 20,128, 31, 0, 76,
/* 0x0bd0 */ 124, 9, 2, 20,144, 31, 0, 80,129, 63, 0, 76,128, 31, 0, 36,
/* 0x0be0 */ 125, 32, 0, 56,144, 31, 0, 84,129, 63, 0, 72,128, 31, 0, 84,
/* 0x0bf0 */ 124, 9, 2, 20,144, 31, 0, 72,129, 63, 0, 76,128, 31, 0, 84,
/* 0x0c00 */ 124, 0, 72, 80,144, 31, 0, 76,128, 31, 0, 16, 47,128, 0, 0,
/* 0x0c10 */ 65,158, 0,120,128,127, 0, 76,128,159, 0, 72, 56,160, 0, 3,
/* 0x0c20 */ 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, 75,255,246, 85,
/* 0x0c30 */ 124, 96, 27,120,129, 63, 0, 76,127,128, 72, 0, 65,158, 0, 8,
/* 0x0c40 */ 72, 0, 1, 32, 56, 31, 0, 64,144, 31, 0, 96,128, 31, 0, 56,
/* 0x0c50 */ 84, 0, 7,122, 47,128, 0, 0, 65,158, 0, 16,128, 31, 0, 28,
/* 0x0c60 */ 144, 31, 0,100, 72, 0, 0, 12, 56, 0, 0, 0,144, 31, 0,100,
/* 0x0c70 */ 128,127, 0, 16,128,159, 0, 96,128,191, 0, 8,128,223, 0,100,
/* 0x0c80 */ 75,255,247,141, 72, 0, 0, 68,129, 63, 0, 40,129, 41, 0, 4,
/* 0x0c90 */ 128, 31, 0, 84,124, 0, 72, 80,128,127, 0, 76,128,159, 0, 72,
/* 0x0ca0 */ 128,191, 0, 56, 56,192, 0, 18,128,255, 0, 8,124, 8, 3,120,
/* 0x0cb0 */ 75,255,245,209,124,105, 27,120,128, 31, 0, 76,127,137, 0, 0,
/* 0x0cc0 */ 65,158, 0, 8, 72, 0, 0,156,128, 31, 0, 72,125, 32, 0,208,
/* 0x0cd0 */ 128, 31, 0, 36,125, 32, 0, 56,144, 31, 0, 84,128, 31, 0, 56,
/* 0x0ce0 */ 84, 0, 7,188, 47,128, 0, 0, 65,158, 0, 28,128, 31, 0, 76,
/* 0x0cf0 */ 129, 63, 0, 72,124, 0, 74, 20,124, 3, 3,120,128,159, 0, 84,
/* 0x0d00 */ 75,255,250, 65,128, 31, 0, 16, 47,128, 0, 0, 65,158, 0, 92,
/* 0x0d10 */ 128,127, 0, 40,128,159, 0, 48,128,191, 0, 36, 75,255,249, 29,
/* 0x0d20 */ 124, 96, 27,120,144, 31, 0, 88,128, 31, 0, 88, 47,128, 0, 0,
/* 0x0d30 */ 65,158, 0, 20,128,127, 0, 20, 56,128, 0, 0,128,191, 0, 88,
/* 0x0d40 */ 75,255,250,237,128,127, 0, 76,128,159, 0, 72,128,191, 0, 56,
/* 0x0d50 */ 75,255,245,117,124, 96, 27,120, 47,128, 0, 0, 65,158, 0, 12,
/* 0x0d60 */ 56, 96, 0,127, 75,255,245, 49,129, 63, 0, 72,128, 31, 0, 84,
/* 0x0d70 */ 125, 41, 2, 20,128, 31, 0, 76,124, 0, 74, 20,144, 31, 0, 76,
/* 0x0d80 */ 129, 63, 0, 76,128, 31, 0, 80,127,137, 0, 64, 64,156, 0, 64,
/* 0x0d90 */ 129, 63, 0, 80,128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 76,
/* 0x0da0 */ 124, 4, 3,120,128,191, 0, 56, 56,192, 0, 50, 56,224,255,255,
/* 0x0db0 */ 57, 0, 0, 0, 75,255,244,205,124,105, 27,120,128, 31, 0, 76,
/* 0x0dc0 */ 127,137, 0, 0, 65,158, 0, 8, 72, 0, 0, 0,129, 63, 0, 40,
/* 0x0dd0 */ 56, 9, 0, 32,144, 31, 0, 40,129, 63, 0, 52, 56, 9, 0, 1,
/* 0x0de0 */ 144, 31, 0, 52, 75,255,253, 24,128, 31, 0, 16, 47,128, 0, 0,
/* 0x0df0 */ 65,158, 0, 32,129, 63, 0, 12,160, 9, 0, 16, 84, 0, 4, 62,
/* 0x0e00 */ 47,128, 0, 3, 65,158, 0, 12,128,127, 0, 44, 75,255,245,193,
/* 0x0e10 */ 128, 31, 0, 24, 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 24,
/* 0x0e20 */ 128, 31, 0, 48,144, 9, 0, 0,129, 63, 0, 12,129, 41, 0, 24,
/* 0x0e30 */ 128, 31, 0, 48,124, 9, 2, 20,124, 3, 3,120,129, 97, 0, 0,
/* 0x0e40 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120,
/* 0x0e50 */ 78,128, 0, 32,148, 33,255,160,124, 8, 2,166,147,225, 0, 92,
/* 0x0e60 */ 144, 1, 0,100,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,
/* 0x0e70 */ 144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,
/* 0x0e80 */ 145, 63, 0, 32,129, 63, 0, 8,129, 41, 0, 4, 56, 9, 0, 12,
/* 0x0e90 */ 144, 31, 0, 36,128, 31, 0, 16,144, 31, 0, 44,129, 63, 0, 8,
/* 0x0ea0 */ 128, 9, 0, 0,144, 31, 0, 40,128, 31, 0, 8,144, 31, 0, 52,
/* 0x0eb0 */ 128, 31, 0, 12,144, 31, 0, 48, 56, 31, 0, 48, 57, 63, 0, 40,
/* 0x0ec0 */ 124, 3, 3,120,125, 36, 75,120,128,191, 0, 24, 56,192, 0, 0,
/* 0x0ed0 */ 75,255,245, 61,129, 63, 0, 52,128, 31, 0, 36,124, 0, 72, 80,
/* 0x0ee0 */ 144, 31, 0, 52,128, 31, 0, 12,144, 31, 0, 48,128, 31, 0, 32,
/* 0x0ef0 */ 144, 31, 0, 56,129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 60,
/* 0x0f00 */ 56, 31, 0, 48, 57, 63, 0, 56,128,127, 0, 24,128,159, 0, 16,
/* 0x0f10 */ 124, 5, 3,120,128,223, 0, 20,125, 39, 75,120,129, 31, 0, 28,
/* 0x0f20 */ 129, 63, 0, 32, 75,255,251, 37,124, 96, 27,120,144, 31, 0, 64,
/* 0x0f30 */ 128,127, 0, 20, 56,128, 0, 9,128,191, 0, 64, 75,255,248,241,
/* 0x0f40 */ 56, 0, 0, 0,144, 31, 0, 68,129, 63, 0, 16, 56, 9, 0, 52,
/* 0x0f50 */ 144, 31, 0, 60,129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62,
/* 0x0f60 */ 128, 31, 0, 68,127,137, 0, 0, 64,157, 0,212,129, 63, 0, 60,
/* 0x0f70 */ 128, 9, 0, 0, 47,128, 0, 3, 64,158, 0,168,129, 63, 0, 60,
/* 0x0f80 */ 129, 41, 0, 8,128, 31, 0, 56,124, 9, 2, 20,124, 3, 3,120,
/* 0x0f90 */ 56,128, 0, 0, 56,160, 0, 0, 75,255,243, 29,124, 96, 27,120,
/* 0x0fa0 */ 144, 31, 0, 72,128, 31, 0, 72, 47,128, 0, 0, 64,156, 0, 8,
/* 0x0fb0 */ 72, 0, 0, 32,128,127, 0, 72,128,159, 0, 16, 56,160, 2, 0,
/* 0x0fc0 */ 75,255,242,237,124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12,
/* 0x0fd0 */ 56, 96, 0,127, 75,255,242,193, 56, 31, 0, 56,128,127, 0, 72,
/* 0x0fe0 */ 128,159, 0, 16, 56,160, 0, 0,128,223, 0, 20,124, 7, 3,120,
/* 0x0ff0 */ 57, 0, 0, 0, 57, 32, 0, 0, 75,255,250, 81,124, 96, 27,120,
/* 0x1000 */ 144, 31, 0, 64,128,127, 0, 20, 56,128, 0, 7,128,191, 0, 56,
/* 0x1010 */ 75,255,248, 29,128,127, 0, 72, 75,255,242,165, 72, 0, 0, 32,
/* 0x1020 */ 129, 63, 0, 60, 56, 9, 0, 32,144, 31, 0, 60,129, 63, 0, 68,
/* 0x1030 */ 56, 9, 0, 1,144, 31, 0, 68, 75,255,255, 28,128, 31, 0, 64,
/* 0x1040 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,
/* 0x1050 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32
/* 0x0100 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0,126,200, 2,166,
/* 0x0110 */ 56,129,255,252, 56, 33,239,252, 56, 97,255,252, 59, 90,255,252,
/* 0x0120 */ 132, 4, 0, 4,127,132,208, 64,148, 3, 0, 4, 65,156,255,244,
/* 0x0130 */ 59, 67, 0, 8,148, 3, 0, 4,128, 4, 0, 4, 43,128, 0, 0,
/* 0x0140 */ 144, 3, 0, 4,132, 4, 0, 8,148, 3, 0, 8, 64,158,255,236,
/* 0x0150 */ 58,163, 0, 4,126,154,168, 80,128, 22, 0,100, 58,100, 0, 4,
/* 0x0160 */ 148, 3, 0, 4, 58, 67, 0, 4, 56,160, 15,255,126, 68,147,120,
/* 0x0170 */ 56,118, 0,104, 72, 0, 1, 21, 56,178,255,252, 44, 3, 0, 0,
/* 0x0180 */ 65,129, 0, 12, 56,182, 0,100, 56, 96, 0, 16, 56, 99, 0, 4,
/* 0x0190 */ 124,133, 26, 20,124,105, 3,166,126, 99,155,120, 56,160, 0, 0,
/* 0x01a0 */ 156,163,255,255,140, 4,255,255,156, 3,255,255, 66, 0,255,248,
/* 0x01b0 */ 144,122,255,248, 84, 99, 0, 58,124, 32, 34,120,124, 0, 26,120,
/* 0x01c0 */ 84, 0, 7,126,124, 96, 24, 80,126,164,171,120,127, 84, 24, 80,
/* 0x01d0 */ 132, 4,255,252,127,132, 8, 64,148, 3,255,252, 65,157,255,244,
/* 0x01e0 */ 124, 97, 27,120,148, 33,247,240,127, 3,195,120,126,228,187,120,
/* 0x01f0 */ 56,161, 0, 16,127, 70,211,120,127,231,251,120,126,200,179,120,
/* 0x0200 */ 127, 41,203,120, 72, 0, 12, 61, 56, 33, 8, 16,124,127, 27,120,
/* 0x0210 */ 57, 0, 0, 0,127,103,219,120, 56,192, 0, 2, 56,160, 0, 1,
/* 0x0220 */ 124,158, 0,208, 56, 96, 0, 0, 72, 0, 0, 69,127, 99,219,120,
/* 0x0230 */ 72, 0, 0,121,127, 67,211,120,128, 3, 0, 0,128,131, 0, 4,
/* 0x0240 */ 56, 99, 0, 8, 43,128, 0, 0, 64,158,255,240,124,137, 3,166,
/* 0x0250 */ 127,163,235,120,127,132,227,120, 56, 0, 0, 91,127,232, 3,166,
/* 0x0260 */ 184,161, 0, 32, 56, 33, 0,144, 78,128, 4, 32, 56, 0, 0, 90,
/* 0x0270 */ 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255, 78,128, 0, 32,
/* 0x0280 */ 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 85, 72, 0, 0, 8,
/* 0x0290 */ 56, 0, 0, 4, 72, 0, 0, 8, 56, 0, 0, 3, 72, 0, 0, 8,
/* 0x02a0 */ 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 6, 72, 0, 0, 8,
/* 0x02b0 */ 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 91, 72, 0, 0, 8,
/* 0x02c0 */ 56, 0, 0, 45, 75,255,255,172,124,128, 0, 8, 78,128, 0, 32,
/* 0x02d0 */ 148, 33,255,208,124, 8, 2,166,147,225, 0, 44,144, 1, 0, 52,
/* 0x02e0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x02f0 */ 129, 63, 0, 8,128, 9, 0, 4,144, 31, 0, 20,128, 31, 0, 12,
/* 0x0300 */ 144, 31, 0, 24,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16,
/* 0x0310 */ 127,137, 0, 64, 64,156, 0, 12, 56, 96, 0,127, 75,255,255,101,
/* 0x0320 */ 128, 31, 0, 16,144, 31, 0, 28,129, 63, 0, 28, 56, 9,255,255,
/* 0x0330 */ 124, 9, 3,120,145, 63, 0, 28, 56, 0,255,255,127,137, 0, 0,
/* 0x0340 */ 65,158, 0, 48,129,127, 0, 24,129, 63, 0, 20,136, 9, 0, 0,
/* 0x0350 */ 152, 11, 0, 0,129, 63, 0, 20, 56, 9, 0, 1,144, 31, 0, 20,
/* 0x0360 */ 129, 63, 0, 24, 56, 9, 0, 1,144, 31, 0, 24, 75,255,255,188,
/* 0x0370 */ 129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4,128, 31, 0, 16,
/* 0x0380 */ 124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8,129, 63, 0, 8,
/* 0x0390 */ 129, 41, 0, 0,128, 31, 0, 16,124, 0, 72, 80,144, 11, 0, 0,
/* 0x03a0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x03b0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,124, 8, 2,166,
/* 0x03c0 */ 147,225, 0, 28,144, 1, 0, 36,124, 63, 11,120,144,127, 0, 8,
/* 0x03d0 */ 128,127, 0, 8, 75,255,254,237,124, 96, 27,120,124, 3, 3,120,
/* 0x03e0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x03f0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,176,124, 8, 2,166,
/* 0x0400 */ 147,225, 0, 76,144, 1, 0, 84,124, 63, 11,120,144,127, 0, 8,
/* 0x0410 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,129, 63, 0, 12,
/* 0x0420 */ 128, 9, 0, 0, 47,128, 0, 0, 65,158, 1,228, 56, 31, 0, 32,
/* 0x0430 */ 128,127, 0, 8,124, 4, 3,120, 56,160, 0, 12, 75,255,254,149,
/* 0x0440 */ 128, 31, 0, 32, 47,128, 0, 0, 64,158, 0, 48,128, 31, 0, 36,
/* 0x0450 */ 61, 32, 33, 88, 97, 41, 80, 85,127,128, 72, 0, 65,158, 0, 8,
/* 0x0460 */ 72, 0, 0, 36,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 0,
/* 0x0470 */ 65,158, 1,156, 72, 0, 0, 16,128, 31, 0, 36, 47,128, 0, 0,
/* 0x0480 */ 64,158, 0, 12, 56, 96, 0,127, 75,255,253,249,128, 31, 0, 36,
/* 0x0490 */ 129, 63, 0, 32,127,128, 72, 64, 65,157,255,236,129, 63, 0, 12,
/* 0x04a0 */ 129,127, 0, 32,128, 9, 0, 0,127,139, 0, 64, 65,157,255,216,
/* 0x04b0 */ 128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, 64,156, 1, 8,
/* 0x04c0 */ 128, 31, 0, 32,144, 31, 0, 48,129, 63, 0, 8,129,127, 0, 12,
/* 0x04d0 */ 57, 95, 0, 48,136, 31, 0, 40, 84, 0, 6, 62,129, 31, 0, 16,
/* 0x04e0 */ 125, 9, 3,166,128,105, 0, 4,128,159, 0, 36,128,171, 0, 4,
/* 0x04f0 */ 125, 70, 83,120,124, 7, 3,120, 78,128, 4, 33,124, 96, 27,120,
/* 0x0500 */ 144, 31, 0, 52,128, 31, 0, 52, 47,128, 0, 0, 64,158,255,120,
/* 0x0510 */ 128, 31, 0, 32,129, 63, 0, 48,127,128, 72, 0, 64,158,255,104,
/* 0x0520 */ 136, 31, 0, 41, 84, 0, 6, 62, 47,128, 0, 0, 65,158, 0,100,
/* 0x0530 */ 128, 31, 0, 20, 47,128, 0, 0, 65,158, 0, 88,128, 31, 0, 48,
/* 0x0540 */ 43,128, 2, 0, 65,157, 0, 28,129, 63, 0, 12,129, 41, 0, 0,
/* 0x0550 */ 128, 31, 0, 32,127,137, 0, 0, 65,158, 0, 8, 72, 0, 0, 52,
/* 0x0560 */ 129, 63, 0, 12,136, 31, 0, 42, 84, 11, 6, 62,136, 31, 0, 41,
/* 0x0570 */ 84, 0, 6, 62,129, 31, 0, 20,125, 9, 3,166,128,105, 0, 4,
/* 0x0580 */ 128,159, 0, 48,125,101, 91,120,124, 6, 3,120, 78,128, 4, 33,
/* 0x0590 */ 129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4,128, 31, 0, 36,
/* 0x05a0 */ 124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8,129, 63, 0, 8,
/* 0x05b0 */ 129, 41, 0, 0,128, 31, 0, 36,124, 0, 72, 80,144, 11, 0, 0,
/* 0x05c0 */ 72, 0, 0, 24,129, 63, 0, 12,128,127, 0, 8,128,137, 0, 4,
/* 0x05d0 */ 128,191, 0, 36, 75,255,252,253,129,127, 0, 12,129, 63, 0, 12,
/* 0x05e0 */ 129, 41, 0, 4,128, 31, 0, 32,124, 9, 2, 20,144, 11, 0, 4,
/* 0x05f0 */ 129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 0,128, 31, 0, 32,
/* 0x0600 */ 124, 0, 72, 80,144, 11, 0, 0, 75,255,254, 20,129, 97, 0, 0,
/* 0x0610 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120,
/* 0x0620 */ 78,128, 0, 32,148, 33,255,224,147,225, 0, 28,124, 63, 11,120,
/* 0x0630 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, 56, 0, 0, 0,
/* 0x0640 */ 144, 31, 0, 20,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1,
/* 0x0650 */ 64,158, 0,196,129, 63, 0, 8,128, 9, 0, 24, 84, 0, 7,254,
/* 0x0660 */ 47,128, 0, 0, 65,158, 0,176,129, 63, 0, 8,129,127, 0, 8,
/* 0x0670 */ 129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 12,
/* 0x0680 */ 124, 9, 2, 20,144, 31, 0, 20,129, 63, 0, 8,129,127, 0, 8,
/* 0x0690 */ 129, 41, 0, 20,128, 11, 0, 16,127,137, 0, 0, 64,158, 0, 28,
/* 0x06a0 */ 128, 31, 0, 20,125, 32, 0,208,128, 31, 0, 16,125, 32, 0, 56,
/* 0x06b0 */ 43,128, 0, 7, 65,157, 0, 48,129,127, 0, 8,128, 31, 0, 12,
/* 0x06c0 */ 29, 32, 0, 52,128, 11, 0, 8,125, 41, 2, 20, 56, 9, 0, 8,
/* 0x06d0 */ 144, 31, 0, 20,129, 63, 0, 8,128, 9, 0, 4, 47,128, 0, 0,
/* 0x06e0 */ 64,158, 0, 44,129, 63, 0, 20, 60, 0, 68, 0, 96, 0, 0, 2,
/* 0x06f0 */ 144, 9, 0, 0,129, 63, 0, 20, 57, 41, 0, 4, 60, 0, 78,128,
/* 0x0700 */ 96, 0, 0, 32,144, 9, 0, 0, 72, 0, 0, 12, 56, 0, 0, 0,
/* 0x0710 */ 144, 31, 0, 20,128, 31, 0, 20,124, 3, 3,120,129, 97, 0, 0,
/* 0x0720 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,
/* 0x0730 */ 147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,
/* 0x0740 */ 128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 8,
/* 0x0750 */ 125, 43, 75,120, 56, 0, 0, 0,152, 11, 0, 0, 57, 41, 0, 1,
/* 0x0760 */ 145, 63, 0, 8,129, 63, 0, 12, 56, 9,255,255,144, 31, 0, 12,
/* 0x0770 */ 47,128, 0, 0, 65,158, 0, 8, 75,255,255,212,129, 97, 0, 0,
/* 0x0780 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,
/* 0x0790 */ 147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,
/* 0x07a0 */ 56, 0, 0, 0,144, 31, 0, 16,128, 31, 0, 8, 47,128, 0, 0,
/* 0x07b0 */ 65,158, 0, 76,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 12,
/* 0x07c0 */ 127,137, 0, 0, 64,158, 0, 16,128, 31, 0, 8,144, 31, 0, 20,
/* 0x07d0 */ 72, 0, 0, 52,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1,
/* 0x07e0 */ 64,158, 0, 12,128, 31, 0, 8,144, 31, 0, 16,129, 63, 0, 8,
/* 0x07f0 */ 56, 9, 0, 8,144, 31, 0, 8, 75,255,255,188, 56, 0, 0, 0,
/* 0x0800 */ 144, 31, 0, 20,128,127, 0, 20,129, 97, 0, 0,131,235,255,252,
/* 0x0810 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,124, 8, 2,166,
/* 0x0820 */ 147,225, 0, 28,144, 1, 0, 36,124, 63, 11,120,144,127, 0, 8,
/* 0x0830 */ 144,159, 0, 12,144,191, 0, 16,128,127, 0, 8,128,159, 0, 12,
/* 0x0840 */ 75,255,255, 77,124, 96, 27,120,144, 31, 0, 8,128, 31, 0, 8,
/* 0x0850 */ 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 8,128, 31, 0, 16,
/* 0x0860 */ 144, 9, 0, 4,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,
/* 0x0870 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,192,
/* 0x0880 */ 124, 8, 2,166,147,225, 0, 60,144, 1, 0, 68,124, 63, 11,120,
/* 0x0890 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,
/* 0x08a0 */ 144,255, 0, 24, 75,255,247,221,124, 96, 27,120,144, 31, 0, 28,
/* 0x08b0 */ 56, 0,255,255,144, 31, 0, 32, 56, 0, 0, 0,144, 31, 0, 36,
/* 0x08c0 */ 56, 0, 0, 0,144, 31, 0, 40,129, 63, 0, 16, 56, 9,255,255,
/* 0x08d0 */ 144, 31, 0, 16, 47,128, 0, 0, 65,156, 0,124,129, 63, 0, 12,
/* 0x08e0 */ 128, 9, 0, 0, 47,128, 0, 1, 64,158, 0, 92,129, 63, 0, 12,
/* 0x08f0 */ 129, 41, 0, 8,128, 31, 0, 32,127,137, 0, 64, 64,156, 0, 16,
/* 0x0900 */ 129, 63, 0, 12,128, 9, 0, 8,144, 31, 0, 32,129, 63, 0, 12,
/* 0x0910 */ 129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20,
/* 0x0920 */ 128, 31, 0, 36,127,137, 0, 64, 64,157, 0, 28,129, 63, 0, 12,
/* 0x0930 */ 129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,124, 9, 2, 20,
/* 0x0940 */ 144, 31, 0, 36,129, 63, 0, 12, 56, 9, 0, 32,144, 31, 0, 12,
/* 0x0950 */ 75,255,255,120,129, 63, 0, 32,128, 31, 0, 28,125, 32, 0, 56,
/* 0x0960 */ 144, 31, 0, 32,129, 63, 0, 36,128, 31, 0, 32,125, 32, 72, 80,
/* 0x0970 */ 128, 31, 0, 28,125, 32, 72, 80, 57, 41,255,255,128, 31, 0, 28,
/* 0x0980 */ 125, 32, 0, 56,144, 31, 0, 36,128, 31, 0, 8, 84, 0, 6,246,
/* 0x0990 */ 47,128, 0, 0, 65,158, 0, 16,128, 31, 0, 32,144, 31, 0, 40,
/* 0x09a0 */ 72, 0, 0, 48,128, 31, 0, 32, 47,128, 0, 0, 64,158, 0, 36,
/* 0x09b0 */ 128, 31, 0, 24,144, 31, 0, 40,128, 31, 0, 40, 47,128, 0, 0,
/* 0x09c0 */ 65,158, 0, 16,128, 31, 0, 8, 96, 0, 0, 16,144, 31, 0, 8,
/* 0x09d0 */ 128, 31, 0, 8, 96, 0, 0, 34,128,127, 0, 40,128,159, 0, 36,
/* 0x09e0 */ 56,160, 0, 0,124, 6, 3,120, 56,224,255,255, 57, 0, 0, 0,
/* 0x09f0 */ 75,255,248,125,144,127, 0, 40,129,127, 0, 20,129, 63, 0, 36,
/* 0x0a00 */ 128, 31, 0, 40,124, 9, 2, 20,144, 11, 0, 0,129, 63, 0, 40,
/* 0x0a10 */ 128, 31, 0, 32,124, 0, 72, 80,124, 3, 3,120,129, 97, 0, 0,
/* 0x0a20 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120,
/* 0x0a30 */ 78,128, 0, 32,148, 33,255,144,124, 8, 2,166,147,225, 0,108,
/* 0x0a40 */ 144, 1, 0,116,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,
/* 0x0a50 */ 144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,
/* 0x0a60 */ 145, 63, 0, 32, 75,255,246, 29,124, 96, 27,120,124, 0, 0,248,
/* 0x0a70 */ 144, 31, 0, 36,129, 63, 0, 12,129, 41, 0, 28,128, 31, 0, 12,
/* 0x0a80 */ 124, 9, 2, 20,144, 31, 0, 40,129, 63, 0, 12,160, 9, 0, 16,
/* 0x0a90 */ 84, 0, 4, 62, 47,128, 0, 2, 64,158, 0, 16, 56, 0, 0, 16,
/* 0x0aa0 */ 144, 31, 0, 92, 72, 0, 0, 12, 56, 0, 0, 0,144, 31, 0, 92,
/* 0x0ab0 */ 129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62, 57, 63, 0, 44,
/* 0x0ac0 */ 128,127, 0, 92,128,159, 0, 40,124, 5, 3,120,125, 38, 75,120,
/* 0x0ad0 */ 128,255, 0, 32, 75,255,253,169,124, 96, 27,120,144, 31, 0, 48,
/* 0x0ae0 */ 56, 0, 0, 0,144, 31, 0, 52,129, 63, 0, 12,160, 9, 0, 44,
/* 0x0af0 */ 84, 9, 4, 62,128, 31, 0, 52,127,137, 0, 0, 64,157, 2,216,
/* 0x0b00 */ 129, 63, 0, 40,128, 9, 0, 0, 47,128, 0, 1, 64,158, 2,172,
/* 0x0b10 */ 128, 31, 0, 16, 47,128, 0, 0, 65,158, 0, 76,129, 63, 0, 40,
/* 0x0b20 */ 128, 9, 0, 4, 47,128, 0, 0, 64,158, 0, 60,129, 63, 0, 12,
/* 0x0b30 */ 160, 9, 0, 44, 84, 0, 4, 62,128,127, 0, 20, 56,128, 0, 5,
/* 0x0b40 */ 124, 5, 3,120, 75,255,252,213,129, 63, 0, 12,160, 9, 0, 42,
/* 0x0b50 */ 84, 0, 4, 62,128,127, 0, 20, 56,128, 0, 4,124, 5, 3,120,
/* 0x0b60 */ 75,255,252,185,129, 63, 0, 40,128, 9, 0, 24, 84, 0, 7,126,
/* 0x0b70 */ 84, 9, 16, 58, 60, 0,115, 81, 96, 0, 98, 64,124, 0, 76, 48,
/* 0x0b80 */ 84, 0, 7,126,144, 31, 0, 56,129, 63, 0, 40,128, 9, 0, 16,
/* 0x0b90 */ 144, 31, 0, 64,144, 31, 0, 72,129, 63, 0, 40,129, 41, 0, 8,
/* 0x0ba0 */ 128, 31, 0, 48,124, 9, 2, 20,144, 31, 0, 68,144, 31, 0, 76,
/* 0x0bb0 */ 129, 63, 0, 40,129, 41, 0, 20,128, 31, 0, 76,124, 9, 2, 20,
/* 0x0bc0 */ 144, 31, 0, 80,129, 63, 0, 76,128, 31, 0, 36,125, 32, 0, 56,
/* 0x0bd0 */ 144, 31, 0, 84,129, 63, 0, 72,128, 31, 0, 84,124, 9, 2, 20,
/* 0x0be0 */ 144, 31, 0, 72,129, 63, 0, 76,128, 31, 0, 84,124, 0, 72, 80,
/* 0x0bf0 */ 144, 31, 0, 76,128, 31, 0, 16, 47,128, 0, 0, 65,158, 0,120,
/* 0x0c00 */ 128,127, 0, 76,128,159, 0, 72, 56,160, 0, 3, 56,192, 0, 50,
/* 0x0c10 */ 56,224,255,255, 57, 0, 0, 0, 75,255,246, 85,124, 96, 27,120,
/* 0x0c20 */ 129, 63, 0, 76,127,128, 72, 0, 65,158, 0, 8, 72, 0, 1, 32,
/* 0x0c30 */ 56, 31, 0, 64,144, 31, 0, 96,128, 31, 0, 56, 84, 0, 7,122,
/* 0x0c40 */ 47,128, 0, 0, 65,158, 0, 16,128, 31, 0, 28,144, 31, 0,100,
/* 0x0c50 */ 72, 0, 0, 12, 56, 0, 0, 0,144, 31, 0,100,128,127, 0, 16,
/* 0x0c60 */ 128,159, 0, 96,128,191, 0, 8,128,223, 0,100, 75,255,247,141,
/* 0x0c70 */ 72, 0, 0, 68,129, 63, 0, 40,129, 41, 0, 4,128, 31, 0, 84,
/* 0x0c80 */ 124, 0, 72, 80,128,127, 0, 76,128,159, 0, 72,128,191, 0, 56,
/* 0x0c90 */ 56,192, 0, 18,128,255, 0, 8,124, 8, 3,120, 75,255,245,209,
/* 0x0ca0 */ 124,105, 27,120,128, 31, 0, 76,127,137, 0, 0, 65,158, 0, 8,
/* 0x0cb0 */ 72, 0, 0,156,128, 31, 0, 72,125, 32, 0,208,128, 31, 0, 36,
/* 0x0cc0 */ 125, 32, 0, 56,144, 31, 0, 84,128, 31, 0, 56, 84, 0, 7,188,
/* 0x0cd0 */ 47,128, 0, 0, 65,158, 0, 28,128, 31, 0, 76,129, 63, 0, 72,
/* 0x0ce0 */ 124, 0, 74, 20,124, 3, 3,120,128,159, 0, 84, 75,255,250, 65,
/* 0x0cf0 */ 128, 31, 0, 16, 47,128, 0, 0, 65,158, 0, 92,128,127, 0, 40,
/* 0x0d00 */ 128,159, 0, 48,128,191, 0, 36, 75,255,249, 29,124, 96, 27,120,
/* 0x0d10 */ 144, 31, 0, 88,128, 31, 0, 88, 47,128, 0, 0, 65,158, 0, 20,
/* 0x0d20 */ 128,127, 0, 20, 56,128, 0, 0,128,191, 0, 88, 75,255,250,237,
/* 0x0d30 */ 128,127, 0, 76,128,159, 0, 72,128,191, 0, 56, 75,255,245,117,
/* 0x0d40 */ 124, 96, 27,120, 47,128, 0, 0, 65,158, 0, 12, 56, 96, 0,127,
/* 0x0d50 */ 75,255,245, 49,129, 63, 0, 72,128, 31, 0, 84,125, 41, 2, 20,
/* 0x0d60 */ 128, 31, 0, 76,124, 0, 74, 20,144, 31, 0, 76,129, 63, 0, 76,
/* 0x0d70 */ 128, 31, 0, 80,127,137, 0, 64, 64,156, 0, 64,129, 63, 0, 80,
/* 0x0d80 */ 128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 76,124, 4, 3,120,
/* 0x0d90 */ 128,191, 0, 56, 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0,
/* 0x0da0 */ 75,255,244,205,124,105, 27,120,128, 31, 0, 76,127,137, 0, 0,
/* 0x0db0 */ 65,158, 0, 8, 72, 0, 0, 0,129, 63, 0, 40, 56, 9, 0, 32,
/* 0x0dc0 */ 144, 31, 0, 40,129, 63, 0, 52, 56, 9, 0, 1,144, 31, 0, 52,
/* 0x0dd0 */ 75,255,253, 24,128, 31, 0, 16, 47,128, 0, 0, 65,158, 0, 32,
/* 0x0de0 */ 129, 63, 0, 12,160, 9, 0, 16, 84, 0, 4, 62, 47,128, 0, 3,
/* 0x0df0 */ 65,158, 0, 12,128,127, 0, 44, 75,255,245,193,128, 31, 0, 24,
/* 0x0e00 */ 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 24,128, 31, 0, 48,
/* 0x0e10 */ 144, 9, 0, 0,129, 63, 0, 12,129, 41, 0, 24,128, 31, 0, 48,
/* 0x0e20 */ 124, 9, 2, 20,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,
/* 0x0e30 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x0e40 */ 148, 33,255,160,124, 8, 2,166,147,225, 0, 92,144, 1, 0,100,
/* 0x0e50 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x0e60 */ 144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32,
/* 0x0e70 */ 129, 63, 0, 8,129, 41, 0, 4, 56, 9, 0, 12,144, 31, 0, 36,
/* 0x0e80 */ 128, 31, 0, 16,144, 31, 0, 44,129, 63, 0, 8,128, 9, 0, 0,
/* 0x0e90 */ 144, 31, 0, 40,128, 31, 0, 8,144, 31, 0, 52,128, 31, 0, 12,
/* 0x0ea0 */ 144, 31, 0, 48, 56, 31, 0, 48, 57, 63, 0, 40,124, 3, 3,120,
/* 0x0eb0 */ 125, 36, 75,120,128,191, 0, 24, 56,192, 0, 0, 75,255,245, 61,
/* 0x0ec0 */ 129, 63, 0, 52,128, 31, 0, 36,124, 0, 72, 80,144, 31, 0, 52,
/* 0x0ed0 */ 128, 31, 0, 12,144, 31, 0, 48,128, 31, 0, 32,144, 31, 0, 56,
/* 0x0ee0 */ 129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 60, 56, 31, 0, 48,
/* 0x0ef0 */ 57, 63, 0, 56,128,127, 0, 24,128,159, 0, 16,124, 5, 3,120,
/* 0x0f00 */ 128,223, 0, 20,125, 39, 75,120,129, 31, 0, 28,129, 63, 0, 32,
/* 0x0f10 */ 75,255,251, 37,124, 96, 27,120,144, 31, 0, 64,128,127, 0, 20,
/* 0x0f20 */ 56,128, 0, 9,128,191, 0, 64, 75,255,248,241, 56, 0, 0, 0,
/* 0x0f30 */ 144, 31, 0, 68,129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 60,
/* 0x0f40 */ 129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 68,
/* 0x0f50 */ 127,137, 0, 0, 64,157, 0,212,129, 63, 0, 60,128, 9, 0, 0,
/* 0x0f60 */ 47,128, 0, 3, 64,158, 0,168,129, 63, 0, 60,129, 41, 0, 8,
/* 0x0f70 */ 128, 31, 0, 56,124, 9, 2, 20,124, 3, 3,120, 56,128, 0, 0,
/* 0x0f80 */ 56,160, 0, 0, 75,255,243, 29,124, 96, 27,120,144, 31, 0, 72,
/* 0x0f90 */ 128, 31, 0, 72, 47,128, 0, 0, 64,156, 0, 8, 72, 0, 0, 32,
/* 0x0fa0 */ 128,127, 0, 72,128,159, 0, 16, 56,160, 2, 0, 75,255,242,237,
/* 0x0fb0 */ 124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, 56, 96, 0,127,
/* 0x0fc0 */ 75,255,242,193, 56, 31, 0, 56,128,127, 0, 72,128,159, 0, 16,
/* 0x0fd0 */ 56,160, 0, 0,128,223, 0, 20,124, 7, 3,120, 57, 0, 0, 0,
/* 0x0fe0 */ 57, 32, 0, 0, 75,255,250, 81,124, 96, 27,120,144, 31, 0, 64,
/* 0x0ff0 */ 128,127, 0, 20, 56,128, 0, 7,128,191, 0, 56, 75,255,248, 29,
/* 0x1000 */ 128,127, 0, 72, 75,255,242,165, 72, 0, 0, 32,129, 63, 0, 60,
/* 0x1010 */ 56, 9, 0, 32,144, 31, 0, 60,129, 63, 0, 68, 56, 9, 0, 1,
/* 0x1020 */ 144, 31, 0, 68, 75,255,255, 28,128, 31, 0, 64,124, 3, 3,120,
/* 0x1030 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x1040 */ 125, 97, 91,120, 78,128, 0, 32
};

View File

@ -52,6 +52,8 @@ a_type= 0
a_val= NBPW
sz_auxv= 2*NBPW
O_RDONLY= 0
PROT_READ= 1
PROT_WRITE= 2
PROT_EXEC= 4
@ -67,11 +69,12 @@ PAGE_SIZE64 = -(~0<<PAGE_SHIFT64)
/* /usr/include/asm-ppc/unistd.h */
__NR_write = 4
__NR_exit = 1
__NR_mmap = 90
__NR_munmap = 91
__NR_exit = 1
__NR_mmap = 90
__NR_mprotect = 125
__NR_munmap = 91
__NR_open = 5
__NR_write = 4
section ELFMAINX
sz_pack2= -4+ _start
@ -168,118 +171,77 @@ r_exp= 31
r_PMASK= 30
r_ADRU= 29
r_LENU= 28
r_BINFO= 27
r_fd= 27
r_auxv= 26
r_slide= 25
r_FLD= 24
r_ADRM= 23
r_LENM= 22
r_elf= 25
r_ADRM= 24; r_ADRX= r_ADRM
r_LENM= 23; r_LENX= r_LENM
r_FLD= 22
r_szuf= 21
r_relo= 20
r_obinf= 19
/* Decompress the rest of this loader, and jump to it. */
unfold:
unfold: // IN: r_exp, r_auxv, r_PMASK
mflr r_FLD // LrFLD
la r_ADRU,sz_pack2 - f_exp(r_exp) // &sz_pack2
lwz r0,0(r_ADRU) // sz_pack2
lwz r_BINFO,LOBINFO - LrFLD(r_FLD) // O_BINFO
sub r_ADRU,r_ADRU,r0 // ADRU == &Elf32_Ehdr of stub
lhz r0,e_type(r_ADRU)
cmplwi r0,ET_DYN; beq pie
//Open /proc/self/exe
call 0f; .asciz "/proc/self/exe"; .balign 4; 0: mflr a0
li a1,O_RDONLY
li r0,__NR_open; sc; mr r_fd,a0
// section ELF_EXEC // ET_EXEC; addresses do not change
lwz r_LENU,p_memsz + szElf32_Ehdr(r_ADRU) // PT_LOAD[0 {.text}].p_memsz
li a5,0 // off_t
sub r_LENU,r_LENU,r_PMASK // begin round_up(PAGE_SIZE, r_LENU)
li a4,-1 // fd; cater to *BSD for MAP_ANON
addi r_LENU,r_LENU,-1
li a3,MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED
and r_LENU,r_LENU,r_PMASK
li a2,PROT_READ | PROT_WRITE
lwz a1,sz_unc + LBINFO - LrFLD(r_FLD) // space to unfold fold_begin
add a0,r_ADRU,r_LENU // append to this stub
add r_LENU,r_LENU,a1 // unmap more, eventually
mr t4,a0 // save address being allocated
li r0,__NR_mmap; sc; cmpl cr0,t4,a0; bne msg_SELinux
li r_slide,0
//Reserve enough space to decompress the folded code onto r_FLD.
lwz r0, sz_pack2 - f_exp(r_exp)
la r_elf,sz_pack2 - f_exp(r_exp)
li a4,-1
lwz r_szuf, sz_unc + LBINFO - LrFLD(r_FLD) // sz_unc of fold
li a3,MAP_PRIVATE|MAP_ANONYMOUS
sub r_elf,r_elf,r0 // r_elf=&Elf32_Ehdr of stub
li a0,0 // kernel chooses addr
sub r0,r_FLD,r_elf // offset(fold)
add a1,r_szuf,r0 // length needed
mr r_LENU,a1
call mmapRW0
mr r_ADRU,a0
//Duplicate the input data.
lwz r0,sz_cpr + LBINFO - LrFLD(r_FLD) // sz_cpr of fold
sub a1,r_LENU,r_szuf // - sz_unc of fold
mr a4,r_fd // from file
li a3,MAP_PRIVATE|MAP_FIXED // at reserved addr a0 by previous mmap
add a1,a1,r0 // + sz_cpr of fold; a1 <= .st_size
call mmapRW0
sub r_relo,a0,r_elf // relocation amount
b fold
// Decompress from old folded code, overwriting new copy of folded code.
lwz r_obinf, LOBINFO - LrFLD(r_FLD) // O_BINFO
la src,sz_b_info + LBINFO - LrFLD(r_FLD) // old folded code
add r_FLD,r_FLD,r_relo // dst for unfolding; use copied data
add r_LENM,r_FLD,r_szuf // + sz_unc = last of unfolded
and r_ADRM,r_FLD,r_PMASK // base for PROT_EXEC
sub r_LENM,r_LENM,r_ADRM // length for PROT_EXEC
// section ELF_DYN // -pie ET_DYN; stub is where user code will be
pie:
// Allocate and copy stub (and fold_begin) to adjacent lower pages.
// VDSO might also intrude; move down to avoid it.
AT_SYSINFO= 32 // VDSO table
AT_SYSINFO_EHDR= 33 // Elf32_Ehdr for VDSO
mr r_slide,r_ADRU // dynbase
lwz r_LENM,p_memsz + szElf32_Ehdr(r_ADRU) // PT_LOAD[0 {.text}].p_memsz
lwz r0,sz_unc + LBINFO - LrFLD(r_FLD)
add r_LENU,r0,r_LENM
mr a1,r_LENU // total size needed
sub r_ADRM,r_ADRU,a1 // below this stub
lis r0,8<<(20-16); sub r0,sp,r0 // growth limit 8MiB stack
sub r0,r0,r_LENU // fit below
cmpl cr7,r_ADRM,r0; blt 1f
mr r_ADRM,r0 // move below the stack
1:
and r_ADRM,r_ADRM,r_PMASK // lower to page boundary
mr a0,r_auxv
0:
lwz a3,a_type(a0); lwz a5,a_val(a0); la a0,sz_auxv(a0)
cmpli cr7,a3,AT_NULL; beq- cr7,5f // end of auxv
subi a3,a3,AT_SYSINFO
cmpli cr7,a3,AT_SYSINFO_EHDR - AT_SYSINFO; bgt+ cr7,0b
sub a3,a5,r_ADRM // offset
cmplw cr7,a3,a1; bge+ cr7,0b // no conflict
sub a3,a3,a1 // alas, non-CMP cr0 is signed
add r_ADRM,r_ADRM,a3 // move down
and r_ADRM,r_ADRM,r_PMASK // to page boundary
b 0b
5:
mr a0,r_ADRM // desired address
li a5,0 // off_t
li a4,-1 // fd; cater to *BSD for MAP_ANON
li a3,MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED
li a2,PROT_READ | PROT_WRITE
li r0,__NR_mmap; sc; cmpl cr0,a0,r_ADRM; bne msg_SELinux
sub r0,r_ADRM,r_ADRU // (ADRM - ADRU) == relocation amount
add r_exp,r_exp,r0 // relocate &f_exp
mr a3,r_LENM // length to move
addi a3,a3,-1+ 2*NBPW // roundup (8, )
addi a1,r_ADRU,-NBPW // prepare for lwu
srwi a3,a3,3 // number of 8-byte chunks
addi a0,a0,-NBPW // prepare for stwu
mtctr a3
0:
lwz a2,NBPW(a1); lwzu a3,2*NBPW(a1)
stw a2,NBPW(a0); stwu a3,2*NBPW(a0); bdnz 0b
mr r_ADRU,r_ADRM // relocate
// section ELFufold
fold:
mr dst,a0 // fold_begin.unc
mr r23,a0
mtctr r_exp // &decompress
lwz r0,sz_unc + LBINFO - LrFLD(r_FLD)
// The new f_exp has PROT_WRITE, so use the old f_exp to decompress.
mtctr r_exp; add r_exp,r_exp,r_relo // use old f_exp; r_exp= new &f_exp
lbz meth,b_method + LBINFO - LrFLD(r_FLD)
stw r_szuf,SZ_FRAME+31*NBPW(sp) // lzma uses for EOF
la ldst,SZ_FRAME+31*NBPW(sp) // &slot on stack
stw r0,SZ_FRAME+31*NBPW(sp) // lzma uses for EOF
mr dst,r_FLD // dst for unfolding
lwz lsrc,sz_cpr + LBINFO - LrFLD(r_FLD)
la src,sz_b_info + LBINFO - LrFLD(r_FLD)
bctrl // decompress it
srwi r0,r_PMASK,9
sth r0,2(r23) // get_page_mask: li r3,PAGE_MASK>>9; 2: BIG_ENDIAN
sth r0,2(r_FLD) // get_page_mask: li r3,PAGE_MASK>>9; 2: BIG_ENDIAN
li a2,PROT_EXEC | PROT_READ
mr a1,r_LENU // length
mr a0,r_ADRU // base
li a2,PROT_EXEC|PROT_READ
mr a1,r_LENM // length
mr a0,r_ADRM // base
li r0,__NR_mprotect; sc
addi r0,r23,4*NBPW // jmp over get_page_mask()
lwz r_LENX, sz_pack2 - f_exp(r_exp)
add r_ADRX,r_elf,r_obinf // old compressed data
add r_ADRX,r_ADRX,r_relo // new compressed data
addi r0,r_FLD,4*NBPW // jmp over get_page_mask()
mtctr r0
bctr
@ -295,6 +257,14 @@ fold:
// addi sp,sp,96 # de-allocate local frame
// blr # goto return address
mmapRW0:
li a5,0 // offset
mmapRW:
li a2,PROT_READ|PROT_WRITE
mmap:
li r0,__NR_mmap; sc; bns 0f; teq r0,r0; 0:
ret
zfind:
lwz r0,0(a0); addi a0,a0,NBPW
cmpi cr7,r0,0; bne+ cr7,zfind

View File

@ -61,27 +61,22 @@ OVERHEAD= 2048
SZ_LINKA= (2 + 2)*NBPW // (sp,pc, arg9,arg10,... ) and 16-byte aligned
SZ_FRAME= SZ_LINKA
sz_pack2_f_exp= -4 -4 // 4 bytes and one Instruction before r_exp
// In:
r_exp= 31 // f_exp == &decompress()
r_exp= 31 // f_exp == &decompress
r_PMASK= 30 // PAGE_MASK
r_ADRU= 29 // &base to unmap
r_LENU= 28 // length to unmap
r_BINFO= 27
r_fd= 27 // open fd of /proc/self/exe
r_auxv= 26
r_slide= 25
//r_FLD= 24
//r_ADRM= 23
//r_LENM= 22
// r29= reserved for &our_Elf32_Ehdr
r_unf= 21 // f_unf == &unfilter()
r_fd= 20
av_hi= 19
av_len= 18
cblk= 17
pag= 16
r_elf= 25 // original &Elf32_Ehdr of stub
r_ADRX= 24 // compressed input
r_LENX= 23 // total size
// Local:
r_unf= 22 // f_unf == &unfilter()
av_hi= 21
av_len= 20
cblk= 19
r_buf= 18
fold_begin:
get_page_mask: .globl get_page_mask
@ -99,10 +94,6 @@ L_PFX= 4 // strlen(" =")
.balign 4
L90:
mflr r_unf // L90b = &ppcbxx: f_unfilter
// open /proc/self/exe
li a1,O_RDONLY
la a0,L_PFX+ L90a - L90b(r_unf) // "/proc/self/exe"
call open; movr r_fd,a0
// slide {<<stuff>>,argc,argv,0,env,0,auxv} down with maximum room before strings
la a1,-NBPW(sp) // src ready for lwzu
la sp,-(-NBPW & (-1+ NBPW + (L_PFX + PATH_MAX)))(sp)
@ -124,12 +115,12 @@ L90:
lwz r0,L90a - L90b(r_unf) // " ="
la cblk,NBPW(a1) // original &strings
stwu r0,NBPW(a0)
la r14,L_PFX(a0) // buffer
la r_buf,L_PFX(a0) // buffer
// readlink("/proc/self/exe", buffer, -1+ PATH_MAX)
li a2,-1+ PATH_MAX
movr a1,r14 // buffer
movr a1,r_buf // buffer
la a0,L_PFX+ L90a - L90b(r_unf) // "/proc/self/exe"
call readlink; la a2,-L_PFX(r14) // a0= len; a2= buffer
call readlink; la a2,-L_PFX(r_buf) // a0= len; a2= buffer
cmpwi a0,0; bgt 0f // success
la a2,L90a - L90b(r_unf) // " =/proc/self/exe"
li a0,L90 - (NBPW+ L90a) // round_up(NBPW, strlen("/proc/self/exe"))
@ -160,18 +151,16 @@ L90:
movr sp,a0
stwu sp,-(SZ_FRAME+OVERHEAD)(sp) // allocate this frame
lwz a1,sz_pack2_f_exp(r_exp) // sz_pack2 == #bytes which precede -2*NBPW(r_exp)
add a0,r_ADRU,r_BINFO // &b_info
sub a1,a1,r_BINFO // total_size
la a2,SZ_FRAME(sp) // &Elf32_Ehdr temporary space
mr a3,r_auxv // &Elf32_auxv_t
mr a4,r_exp // &decompress: f_expand
mr a5,r_unf // &f_unf
mr a6,r_slide // reloc; slide; dynbase
mr a0,r_ADRX // &b_info
mr a1,r_LENX // total_size
la a2,SZ_FRAME(sp) // &Elf32_Ehdr temporary space
mr a3,r_auxv // &Elf32_auxv_t
mr a4,r_exp // &decompress: f_expand
mr a5,r_unf // &f_unf
mr a6,r_elf // elfaddr
call upx_main // Out: a0= entry
// entry= upx_main(b_info *a0, total_size a1, Elf32_Ehdr *a2, ELf32_auxv_t *a3,
// f_exp a4, f_unf a5, dynbase a6)
// f_exp a4, f_unf a5, elfaddr a6)
la sp,SZ_FRAME+OVERHEAD(sp) // deallocate this frame
mr r_exp,a0 // save &entry

View File

@ -14,11 +14,10 @@ Idx Name Size VMA LMA File off Algn Flags
9 NRV_TAIL 0000001c 00000000 00000000 00001788 2**0 CONTENTS, READONLY
10 CFLUSH 00000024 00000000 00000000 000017a4 2**0 CONTENTS, READONLY
11 ELFMAINY 00000012 00000000 00000000 000017c8 2**0 CONTENTS, RELOC, READONLY
12 ELFMAINZ 00000204 00000000 00000000 000017da 2**0 CONTENTS, RELOC, READONLY
12 ELFMAINZ 0000017c 00000000 00000000 000017dc 2**2 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
00000000 l d NRV_TAIL 00000000 NRV_TAIL
00000000 l d ELFMAINY 00000000 ELFMAINY
00000000 l d ELFMAINZ 00000000 ELFMAINZ
00000000 l d ELFMAINX 00000000 ELFMAINX
00000000 l d NRV_HEAD 00000000 NRV_HEAD
@ -29,12 +28,13 @@ SYMBOL TABLE:
00000000 l d LZMA_DEC10 00000000 LZMA_DEC10
00000000 l d LZMA_DEC20 00000000 LZMA_DEC20
00000000 l d CFLUSH 00000000 CFLUSH
00000000 l d ELFMAINY 00000000 ELFMAINY
00000000 g ELFMAINX 00000000 _start
00000000 *UND* 00000000 O_BINFO
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
00000000 R_PPC_REL24 ELFMAINZ+0x000001bc
00000000 R_PPC_REL24 ELFMAINZ+0x00000134
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
@ -58,6 +58,4 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
0000007c R_PPC_REL14 ELFMAINY
0000011c R_PPC_REL14 ELFMAINY
00000200 R_PPC_ADDR32 O_BINFO
00000178 R_PPC_ADDR32 O_BINFO

View File

@ -9,34 +9,34 @@ Linker script and memory map
TARGET(elf32-powerpc)
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000100080 0xfdc
.text 0x0000000000100080 0xfc8
*(.text)
.text 0x0000000000100080 0x264 tmp/powerpc-linux.elf-fold.o
.text 0x0000000000100080 0x250 tmp/powerpc-linux.elf-fold.o
0x0000000000100080 get_page_mask
0x00000000001002cc munmap
0x000000000010029c readlink
0x0000000000100280 mmap
0x00000000001002a4 write
0x00000000001002ac read
0x00000000001002dc my_bkpt
0x0000000000100294 exit
0x00000000001002d4 brk
0x00000000001002b4 open
0x00000000001002c4 mprotect
0x00000000001002bc close
.text 0x00000000001002e4 0xd78 tmp/powerpc-linux.elf-main.o
0x0000000000100e54 upx_main
0x00000000001002b8 munmap
0x0000000000100288 readlink
0x000000000010026c mmap
0x0000000000100290 write
0x0000000000100298 read
0x00000000001002c8 my_bkpt
0x0000000000100280 exit
0x00000000001002c0 brk
0x00000000001002a0 open
0x00000000001002b0 mprotect
0x00000000001002a8 close
.text 0x00000000001002d0 0xd78 tmp/powerpc-linux.elf-main.o
0x0000000000100e40 upx_main
*(.data)
.data 0x000000000010105c 0x0 tmp/powerpc-linux.elf-fold.o
.data 0x000000000010105c 0x0 tmp/powerpc-linux.elf-main.o
.data 0x0000000000101048 0x0 tmp/powerpc-linux.elf-fold.o
.data 0x0000000000101048 0x0 tmp/powerpc-linux.elf-main.o
.data
.bss 0x000000000010105c 0x0
.bss 0x000000000010105c 0x0 tmp/powerpc-linux.elf-fold.o
.bss 0x000000000010105c 0x0 tmp/powerpc-linux.elf-main.o
.bss 0x0000000000101048 0x0
.bss 0x0000000000101048 0x0 tmp/powerpc-linux.elf-fold.o
.bss 0x0000000000101048 0x0 tmp/powerpc-linux.elf-main.o
.rela.dyn 0x000000000010105c 0x0
.rela.dyn 0x0000000000101048 0x0
.rela.text 0x0000000000000000 0x0 tmp/powerpc-linux.elf-fold.o
LOAD tmp/powerpc-linux.elf-fold.o
LOAD tmp/powerpc-linux.elf-main.o