Pprotect: mprotect but enlarge the interval to start on page boundary

https://github.com/upx/upx/issues/609
	modified:   src/stub/src/amd64-linux.elf-fold.S
	modified:   src/stub/src/amd64-linux.elf-main.c
	modified:   src/stub/src/amd64-linux.elf-so_fold.S
	modified:   src/stub/src/amd64-linux.elf-so_main.c
	modified:   src/stub/src/arm.v4a-linux.elf-fold.S
	modified:   src/stub/src/arm.v4a-linux.elf-so_fold.S
	modified:   src/stub/src/arm64-linux.elf-fold.S
	modified:   src/stub/src/arm64-linux.elf-so_fold.S
	modified:   src/stub/src/i386-linux.elf-fold.S
	modified:   src/stub/src/i386-linux.elf-main.c
	modified:   src/stub/src/i386-linux.elf-so_fold.S
	modified:   src/stub/src/i386-linux.elf-so_main.c
	modified:   src/stub/src/mipsel.r3000-linux.elf-fold.S
	modified:   src/stub/src/powerpc-linux.elf-fold.S
	modified:   src/stub/src/powerpc64le-linux.elf-fold.S

	modified:   src/stub/amd64-linux.elf-fold.h
	modified:   src/stub/amd64-linux.elf-so_fold.h
	modified:   src/stub/arm.v4a-linux.elf-fold.h
	modified:   src/stub/arm.v4a-linux.elf-so_fold.h
	modified:   src/stub/arm.v5a-linux.elf-fold.h
	modified:   src/stub/arm.v5a-linux.elf-so_fold.h
	modified:   src/stub/arm64-linux.elf-fold.h
	modified:   src/stub/arm64-linux.elf-so_fold.h
	modified:   src/stub/armeb.v4a-linux.elf-fold.h
	modified:   src/stub/i386-linux.elf-fold.h
	modified:   src/stub/i386-linux.elf-so_fold.h
	modified:   src/stub/mips.r3000-linux.elf-fold.h
	modified:   src/stub/mipsel.r3000-linux.elf-fold.h
	modified:   src/stub/powerpc-linux.elf-fold.h
	modified:   src/stub/powerpc64-linux.elf-fold.h
	modified:   src/stub/powerpc64le-linux.elf-fold.h

	modified:   src/stub/tmp/amd64-linux.elf-fold.map
	modified:   src/stub/tmp/amd64-linux.elf-so_fold.bin.dump
	modified:   src/stub/tmp/arm.v4a-linux.elf-fold.map
	modified:   src/stub/tmp/arm.v5a-linux.elf-fold.map
	modified:   src/stub/tmp/arm64-linux.elf-fold.map
	modified:   src/stub/tmp/armeb.v4a-linux.elf-fold.map
	modified:   src/stub/tmp/i386-linux.elf-fold.map
	modified:   src/stub/tmp/mips.r3000-linux.elf-fold.map
	modified:   src/stub/tmp/mipsel.r3000-linux.elf-fold.map
	modified:   src/stub/tmp/powerpc-linux.elf-fold.map
	modified:   src/stub/tmp/powerpc64-linux.elf-fold.map
	modified:   src/stub/tmp/powerpc64le-linux.elf-fold.map
This commit is contained in:
John Reiser
2023-03-29 15:46:58 -07:00
parent c72ceaa979
commit 4df68aafd2
43 changed files with 5842 additions and 5699 deletions
+109 -107
View File
@@ -1,5 +1,5 @@
/* i386-linux.elf-fold.h
created from i386-linux.elf-fold.bin, 1991 (0x7c7) bytes
created from i386-linux.elf-fold.bin, 2019 (0x7e3) bytes
This file is part of the UPX executable compressor.
@@ -31,17 +31,17 @@
*/
#define STUB_I386_LINUX_ELF_FOLD_SIZE 1991
#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x14f66175
#define STUB_I386_LINUX_ELF_FOLD_CRC32 0xcb3703ae
#define STUB_I386_LINUX_ELF_FOLD_SIZE 2019
#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x6b7c6cbf
#define STUB_I386_LINUX_ELF_FOLD_CRC32 0x951ce972
unsigned char stub_i386_linux_elf_fold[1991] = {
unsigned char stub_i386_linux_elf_fold[2019] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0,
/* 0x0040 */ 0, 16,192, 0,199, 7, 0, 0,200, 7, 0, 0, 5, 0, 0, 0,
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,199, 7, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 0, 16,192, 0,227, 7, 0, 0,228, 7, 0, 0, 5, 0, 0, 0,
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,227, 7, 0, 0, 0, 0, 0, 0,
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 87, 81, 80,137,230,129,236, 0, 16, 0, 0,137,231,106, 8, 89,
@@ -56,109 +56,111 @@ unsigned char stub_i386_linux_elf_fold[1991] = {
/* 0x0110 */ 49,248,131,224, 4, 41,199, 90, 1,250,175,173,193,233, 2, 73,
/* 0x0120 */ 243,165,252,141, 79, 4, 49,192, 41,225,137,231,193,233, 2,243,
/* 0x0130 */ 171,137,252,137,215, 88, 93, 88, 94, 89,129,236, 0, 10, 0, 0,
/* 0x0140 */ 137,226, 81,139, 24,139, 72, 4,131,193, 12, 96, 71,232,107, 5,
/* 0x0140 */ 137,226, 81,139, 24,139, 72, 4,131,193, 12, 96, 71,232,135, 5,
/* 0x0150 */ 0, 0, 79,137,198,139,108, 36, 32,139, 77,104,137,235,106, 91,
/* 0x0160 */ 88,205,128,137,250,137,231,185,137, 2, 0, 0, 49,192,243,171,
/* 0x0170 */ 137,252, 88, 89, 95, 91, 86, 81, 80, 82, 87, 41,237,106, 2, 94,
/* 0x0180 */ 106, 1, 90,185, 0, 16, 0, 0, 41,219,104,192, 0, 0, 0, 88,
/* 0x0190 */ 205,128, 91,106, 6, 88,205,128, 95, 41,192, 60,175,175,117,252,
/* 0x01a0 */ 91, 89, 80, 80, 80, 80, 80, 80, 80, 80,176, 91,255, 39, 85, 83,
/* 0x01b0 */ 86, 87,139, 92, 36, 20,139, 76, 36, 24,139, 84, 36, 28,139,116,
/* 0x01c0 */ 36, 32,139,124, 36, 36,139,108, 36, 40,193,237, 12,104,192, 0,
/* 0x01d0 */ 0, 0, 88,205,128, 95, 94, 91, 93,195, 0, 0, 87, 86,137,206,
/* 0x01e0 */ 83,137,195, 57, 8,139,120, 4,115, 10,106,127, 91,106, 1, 88,
/* 0x01f0 */ 205,128,235,254,133,201,116, 8,138, 7, 71,136, 2, 66,226,248,
/* 0x0200 */ 1,115, 4, 41, 51, 91, 94, 95,195, 85,137,229, 87, 86,137,198,
/* 0x0210 */ 83,137,211,131,236, 24,139, 69, 8,139,125, 12,137, 69,220,131,
/* 0x0220 */ 58, 0, 15,132,185, 0, 0, 0,141, 85,228,185, 12, 0, 0, 0,
/* 0x0230 */ 137,240,232,165,255,255,255,139, 69,228,139, 77,232,133,192,117,
/* 0x0240 */ 19,129,249, 85, 80, 88, 33,117, 15,131, 62, 0, 15,132,143, 0,
/* 0x0250 */ 0, 0,235, 4,133,201,117, 10,106,127, 91,106, 1, 88,205,128,
/* 0x0260 */ 235,254, 57,193,119,242, 59, 3,119,238, 57,193,115, 86,137, 69,
/* 0x0270 */ 224,141, 69,224,255,117,236, 80,255,115, 4, 81,255,118, 4,255,
/* 0x0280 */ 85,220,131,196, 20,133,192,117,207,139, 85,224, 59, 85,228,117,
/* 0x0290 */ 199,138, 69,237,132,192,116, 34,133,255,116, 30,129,250, 0, 2,
/* 0x02a0 */ 0, 0,119, 4, 57, 19,117, 18, 15,182,192, 80, 15,182, 69,238,
/* 0x02b0 */ 80, 82,255,115, 4,255,215,131,196, 16,139, 69,232, 1, 70, 4,
/* 0x02c0 */ 41, 6,235, 10,139, 83, 4,137,240,232, 14,255,255,255,139, 85,
/* 0x02d0 */ 228,139, 3, 1, 83, 4, 41,208,133,192,137, 3,233, 65,255,255,
/* 0x02e0 */ 255,141,101,244, 91, 94, 95,201,195,133,192,116, 13,168, 1,117,
/* 0x02f0 */ 9, 57, 16,116, 7,131,192, 8,235,247, 49,192,133,192,116, 3,
/* 0x0300 */ 137, 72, 4,195,184, 0,240,255,255,195, 85,137,229, 87, 86, 83,
/* 0x0310 */ 131,236, 88,137, 69,228,137, 85,224,139, 69, 8,139, 85, 12,139,
/* 0x0320 */ 77, 16,137, 69,220,139, 93, 20,137, 85,216,137, 77,212,137, 93,
/* 0x0330 */ 208,232,206,255,255,255,139, 85,224,137,198,247,208, 3, 82, 28,
/* 0x0340 */ 137, 69,204,131,125,220, 0,137, 85,200,116, 51,139, 77,212,139,
/* 0x0350 */ 1,102,131,120, 16, 2,141, 80, 52,117, 12,139, 90, 8,199, 69,
/* 0x0360 */ 196, 0, 0, 0, 0,235, 8,137,195, 43, 90, 40,137, 93,196,139,
/* 0x0370 */ 74, 20,141, 4, 25,137, 69,240,106, 91, 88,205,128,235,127,139,
/* 0x0380 */ 93,224,102,131,123, 16, 3,139, 93,200, 15,149,192, 15,182,248,
/* 0x0390 */ 139, 69,224,193,231, 4, 15,183, 64, 44,137, 69,192,232, 98,255,
/* 0x03a0 */ 255,255,139, 85,192,137,240, 49,246,199, 69,188,255,255,255,255,
/* 0x03b0 */ 74,120, 33,139, 77,192,131, 59, 1,117, 20,139, 83, 8, 59, 85,
/* 0x03c0 */ 188,115, 3,137, 85,188, 3, 83, 20, 57,214,115, 2,137,214,131,
/* 0x03d0 */ 195, 32,226,226,139, 93,188,106, 0,106,255,131,207, 34, 33,195,
/* 0x03e0 */ 87, 41,222,106, 0, 41,198, 78, 33,198, 86, 83,232,189,253,255,
/* 0x03f0 */ 255,131,196, 24, 1,198, 41,216,137,117,240,137, 69,196,139, 77,
/* 0x0400 */ 224,199, 69,184, 0, 0, 0, 0,102,131,121, 44, 0, 15,132,112,
/* 0x0410 */ 2, 0, 0,131,125,220, 0,116, 32,139, 93,200,131, 59, 6,117,
/* 0x0420 */ 24,139, 77,196,186, 3, 0, 0, 0, 3, 75, 8,139, 69,216,232,
/* 0x0430 */ 181,254,255,255,233, 51, 2, 0, 0,139,117,200,131, 62, 1, 15,
/* 0x0440 */ 133, 39, 2, 0, 0,131,125,220, 0,116, 71,131,126, 4, 0,117,
/* 0x0450 */ 65,139, 69,224,186, 3, 0, 0, 0,139, 77,196, 3, 78, 8, 3,
/* 0x0460 */ 72, 28,139, 69,216,232,127,254,255,255,139, 85,224,139, 69,216,
/* 0x0470 */ 15,183, 74, 44,186, 5, 0, 0, 0,232,107,254,255,255,139, 93,
/* 0x0480 */ 224,139, 69,216,186, 4, 0, 0, 0, 15,183, 75, 42,232, 87,254,
/* 0x0490 */ 255,255,139,117,200,187, 64, 98, 81,115,139, 78, 24,139, 86, 16,
/* 0x04a0 */ 131,225, 7,193,225, 2,137, 85,232,211,235,139, 78, 20,137,216,
/* 0x04b0 */ 131,224, 7,137, 69,180,139, 69,196, 3, 70, 8, 1,193,137,199,
/* 0x04c0 */ 137, 77,172,139, 77,204,137, 69,236, 33,193, 1,202, 41,207,131,
/* 0x04d0 */ 125,220, 0,137, 85,176,116, 60,106, 0,137,208,106,255,131,192,
/* 0x04e0 */ 3,106, 50,106, 3, 80, 87,232,194,252,255,255,131,196, 24, 57,
/* 0x04f0 */ 199, 15,133, 38, 1, 0, 0,128,227, 4,139, 69,208,117, 2, 49,
/* 0x0500 */ 192, 80,139, 69,220,255,117,228,141, 85,232,232,249,252,255,255,
/* 0x0510 */ 88, 90,235, 37,139, 93,200,139, 67, 4, 41,200, 80,255,117,228,
/* 0x0520 */ 106, 18,255,117,180,255,117,176, 87,232,128,252,255,255,131,196,
/* 0x0530 */ 24, 57,199, 15,133,228, 0, 0, 0,139,117,176,139, 69,204,247,
/* 0x0540 */ 222, 33,198,246, 69,180, 2,137,117,168,116, 18,139, 85,176,133,
/* 0x0550 */ 246,141, 4, 23,116, 8,137,241,198, 0, 0, 64,226,250,131,125,
/* 0x0560 */ 220, 0, 15,132,191, 0, 0, 0,139, 77,200, 49,219,131, 57, 1,
/* 0x0570 */ 15,133,150, 0, 0, 0,246, 65, 24, 1, 15,132,140, 0, 0, 0,
/* 0x0580 */ 139, 81, 20,139, 73, 8,139, 69,200,141, 52, 10, 3,117,196, 59,
/* 0x0590 */ 80, 16,117, 14,137,240,247,216, 37,255, 15, 0, 0,131,248, 3,
/* 0x05a0 */ 119, 51,139, 85,200,107, 69,196, 52,131,122, 4, 0,141,116, 1,
/* 0x05b0 */ 12,116, 34,106, 0,187, 1, 0, 0, 0,106,255,106, 34,106, 3,
/* 0x05c0 */ 104, 0, 16, 0, 0,106, 0,232,226,251,255,255,131,196, 24,133,
/* 0x05d0 */ 192,137,198,116, 55,139, 6, 61,205,128, 97,195,116, 6,199, 6,
/* 0x05e0 */ 205,128, 97,195,133,219,116, 17,185, 4, 0, 0, 0,186, 5, 0,
/* 0x05f0 */ 0, 0,137,243,106,125, 88,205,128,133,246,116, 15,139, 69,216,
/* 0x0600 */ 137,241, 49,210,131,224,254,232,221,252,255,255,137,251,139, 77,
/* 0x0610 */ 176,139, 85,180,106,125, 88,205,128,133,192,116, 10,106,127, 91,
/* 0x0620 */ 106, 1, 88,205,128,235,254,139, 69,176, 3, 69,168,141, 28, 7,
/* 0x0630 */ 59, 93,172,115, 30,106, 0,106,255,106, 50,255,117,180, 41, 93,
/* 0x0640 */ 172,255,117,172, 83,232,100,251,255,255,131,196, 24, 57,195,116,
/* 0x0650 */ 27,235,254,131,125,220, 0,116, 19,139, 77,176,131,193, 3, 35,
/* 0x0660 */ 77,204,131,249, 3,119, 5,106, 91, 88,205,128,139,117,224,255,
/* 0x0670 */ 69,184, 15,183, 70, 44,131, 69,200, 32, 57, 69,184, 15,140,144,
/* 0x0680 */ 253,255,255,131,125,220, 0,116, 18,139, 69,224,102,131,120, 16,
/* 0x0690 */ 3,116, 8,139, 93,240,106, 45, 88,205,128,131,125,212, 0,116,
/* 0x06a0 */ 8,139, 77,196,139, 85,212,137, 10,139, 93,224,139, 91, 24, 1,
/* 0x06b0 */ 93,196,139, 69,196,141,101,244, 91, 94, 95,201,195, 85,137,229,
/* 0x06c0 */ 87, 86, 83,131,236, 32,199, 69,232, 0, 0, 0, 0,139, 69, 8,
/* 0x06d0 */ 139,117, 16,137, 69,236,128, 62,235,117, 6,141, 86, 2,137, 85,
/* 0x06e0 */ 232,106, 0,139,125, 28,141, 85, 24,139, 93, 32,141, 69, 32, 86,
/* 0x06f0 */ 232, 20,251,255,255,139, 69, 12, 41, 93, 36,137,250,141, 93,240,
/* 0x0700 */ 255,117,232,137, 69, 32,139, 69, 40, 83,255,117,236,137, 69,240,
/* 0x0710 */ 141, 69, 32,141, 79, 52, 80,137,240,137, 77,228,232,233,251,255,
/* 0x0720 */ 255,137,193,137, 69,224,139, 69,236,186, 9, 0, 0, 0,232,182,
/* 0x0730 */ 251,255,255,102,139, 79, 44,131,196, 24, 49,210,102,133,201,116,
/* 0x0740 */ 123,139, 69,228,131, 56, 3,117,103,139, 93,240, 49,201, 3, 88,
/* 0x0750 */ 8,137,202,106, 5, 88,205,128,133,192,137,198,120, 21,186, 0,
/* 0x0760 */ 2, 0, 0,137,195,137,249,106, 3, 88,205,128, 61, 0, 2, 0,
/* 0x0770 */ 0,116, 10,106,127, 91,106, 1, 88,205,128,235,254,141, 69,240,
/* 0x0780 */ 137,250,106, 0,137,243, 80,137,240,255,117,236,106, 0,232,119,
/* 0x0790 */ 251,255,255,139, 77,240,137, 69,224,139, 69,236,186, 7, 0, 0,
/* 0x07a0 */ 0,232, 67,251,255,255,131,196, 16,106, 6, 88,205,128,235, 12,
/* 0x07b0 */ 66, 15,183,193,131, 69,228, 32, 57,194,124,133,139, 69,224,141,
/* 0x07c0 */ 101,244, 91, 94, 95,201,195
/* 0x01a0 */ 91, 89, 80, 80, 80, 80, 80, 80, 80, 80,176, 91,255, 39,135, 92,
/* 0x01b0 */ 36, 4,137,217,129,227, 0,240,255,255, 41,217, 3, 76, 36, 8,
/* 0x01c0 */ 139, 84, 36, 12,106,125, 88,205,128, 61, 0,240,255,255,118, 1,
/* 0x01d0 */ 244,139, 92, 36, 4,195, 85, 83, 86, 87,139, 92, 36, 20,139, 76,
/* 0x01e0 */ 36, 24,139, 84, 36, 28,139,116, 36, 32,139,124, 36, 36,139,108,
/* 0x01f0 */ 36, 40,193,237, 12,104,192, 0, 0, 0, 88,205,128, 95, 94, 91,
/* 0x0200 */ 93,195, 0, 0, 87, 86,137,206, 83,137,195, 57, 8,139,120, 4,
/* 0x0210 */ 115, 10,106,127, 91,106, 1, 88,205,128,235,254,133,201,116, 8,
/* 0x0220 */ 138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41, 51, 91, 94, 95,
/* 0x0230 */ 195, 85,137,229, 87, 86,137,198, 83,137,211,131,236, 24,139, 69,
/* 0x0240 */ 8,139,125, 12,137, 69,220,131, 58, 0, 15,132,185, 0, 0, 0,
/* 0x0250 */ 141, 85,228,185, 12, 0, 0, 0,137,240,232,165,255,255,255,139,
/* 0x0260 */ 69,228,139, 77,232,133,192,117, 19,129,249, 85, 80, 88, 33,117,
/* 0x0270 */ 15,131, 62, 0, 15,132,143, 0, 0, 0,235, 4,133,201,117, 10,
/* 0x0280 */ 106,127, 91,106, 1, 88,205,128,235,254, 57,193,119,242, 59, 3,
/* 0x0290 */ 119,238, 57,193,115, 86,137, 69,224,141, 69,224,255,117,236, 80,
/* 0x02a0 */ 255,115, 4, 81,255,118, 4,255, 85,220,131,196, 20,133,192,117,
/* 0x02b0 */ 207,139, 85,224, 59, 85,228,117,199,138, 69,237,132,192,116, 34,
/* 0x02c0 */ 133,255,116, 30,129,250, 0, 2, 0, 0,119, 4, 57, 19,117, 18,
/* 0x02d0 */ 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,131,
/* 0x02e0 */ 196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,137,
/* 0x02f0 */ 240,232, 14,255,255,255,139, 85,228,139, 3, 1, 83, 4, 41,208,
/* 0x0300 */ 133,192,137, 3,233, 65,255,255,255,141,101,244, 91, 94, 95,201,
/* 0x0310 */ 195,133,192,116, 13,168, 1,117, 9, 57, 16,116, 7,131,192, 8,
/* 0x0320 */ 235,247, 49,192,133,192,116, 3,137, 72, 4,195,184, 0,240,255,
/* 0x0330 */ 255,195, 85,137,229, 87, 86, 83,131,236, 76,137, 69,228,137, 85,
/* 0x0340 */ 224,139, 69, 8,139, 85, 12,139, 77, 16,137, 69,220,139,117, 20,
/* 0x0350 */ 137, 85,216,137, 77,212,137,117,208,232,206,255,255,255,139, 85,
/* 0x0360 */ 224,137,198,247,208, 3, 82, 28,137, 69,204,131,125,220, 0,137,
/* 0x0370 */ 85,200,116, 51,139, 77,212,139, 1,102,131,120, 16, 2,141, 80,
/* 0x0380 */ 52,117, 12,139, 90, 8,199, 69,196, 0, 0, 0, 0,235, 8,137,
/* 0x0390 */ 195, 43, 90, 40,137, 93,196,139, 74, 20,141, 4, 25,137, 69,240,
/* 0x03a0 */ 106, 91, 88,205,128,235,127,139, 69,224,139, 85,224,102,131,120,
/* 0x03b0 */ 16, 3, 15,183, 82, 44,139, 93,200, 15,149,192, 15,182,248,137,
/* 0x03c0 */ 85,192,232,101,255,255,255,139, 77,192,193,231, 4,137,240, 49,
/* 0x03d0 */ 246, 73,199, 69,188,255,255,255,255,120, 33,139, 77,192,131, 59,
/* 0x03e0 */ 1,117, 20,139, 83, 8, 59, 85,188,115, 3,137, 85,188, 3, 83,
/* 0x03f0 */ 20, 57,214,115, 2,137,214,131,195, 32,226,226,139, 93,188,106,
/* 0x0400 */ 0,106,255,131,207, 34, 33,195, 87, 41,222,106, 0, 41,198, 78,
/* 0x0410 */ 33,198, 86, 83,232,189,253,255,255,131,196, 24, 1,198, 41,216,
/* 0x0420 */ 137,117,240,137, 69,196,139,117,224,199, 69,184, 0, 0, 0, 0,
/* 0x0430 */ 102,131,126, 44, 0, 15,132,100, 2, 0, 0,131,125,220, 0,116,
/* 0x0440 */ 32,139, 69,200,131, 56, 6,117, 24,139, 77,196,186, 3, 0, 0,
/* 0x0450 */ 0, 3, 72, 8,139, 69,216,232,181,254,255,255,233, 39, 2, 0,
/* 0x0460 */ 0,139, 85,200,131, 58, 1, 15,133, 27, 2, 0, 0,131,125,220,
/* 0x0470 */ 0,116, 65,131,122, 4, 0,117, 59,139,117,224,139, 77,196, 3,
/* 0x0480 */ 74, 8,186, 3, 0, 0, 0, 3, 78, 28,139, 69,216,232,127,254,
/* 0x0490 */ 255,255, 15,183, 78, 44,139, 69,216,186, 5, 0, 0, 0,232,110,
/* 0x04a0 */ 254,255,255, 15,183, 78, 42,139, 69,216,186, 4, 0, 0, 0,232,
/* 0x04b0 */ 93,254,255,255,139, 69,200,187, 64, 98, 81,115,139, 72, 24,131,
/* 0x04c0 */ 225, 7,193,225, 2,211,235,139, 77,200,137,218,131,226, 7,139,
/* 0x04d0 */ 113, 20,137, 85,180,139, 80, 16,139, 69,196, 3, 65, 8,137, 85,
/* 0x04e0 */ 232,139, 77,204, 1,198, 33,193,137,117,176,137,198, 41,206,131,
/* 0x04f0 */ 125,220, 0,137, 69,236,141, 60, 10,116, 58,106, 0,106,255,106,
/* 0x0500 */ 50,141, 71, 3,106, 3, 80, 86,232,201,252,255,255,131,196, 24,
/* 0x0510 */ 57,198, 15,133, 36, 1, 0, 0,128,227, 4,139, 69,208,117, 2,
/* 0x0520 */ 49,192, 80,139, 69,220,255,117,228,141, 85,232,232, 0,253,255,
/* 0x0530 */ 255, 88, 90,235, 35,139, 85,200,139, 66, 4, 41,200, 80,255,117,
/* 0x0540 */ 228,106, 18,255,117,180, 87, 86,232,137,252,255,255,131,196, 24,
/* 0x0550 */ 57,198, 15,133,228, 0, 0, 0,137,249,139, 69,204,247,217, 33,
/* 0x0560 */ 193,246, 69,180, 2,137, 77,168,116, 13,133,201,141, 4, 62,116,
/* 0x0570 */ 6,198, 0, 0, 64,226,250,131,125,220, 0, 15,132,197, 0, 0,
/* 0x0580 */ 0,139, 85,200,199, 69,172, 0, 0, 0, 0,131, 58, 1, 15,133,
/* 0x0590 */ 151, 0, 0, 0,246, 66, 24, 1, 15,132,141, 0, 0, 0,137,209,
/* 0x05a0 */ 139, 82, 20,137,200,139, 73, 8,141, 28, 10, 3, 93,196, 59, 80,
/* 0x05b0 */ 16,117, 14,137,216,247,216, 37,255, 15, 0, 0,131,248, 3,119,
/* 0x05c0 */ 53,139, 85,200,107, 69,196, 52,131,122, 4, 0,141, 92, 1, 12,
/* 0x05d0 */ 116, 36,106, 0,106,255,106, 34,106, 3,104, 0, 16, 0, 0,106,
/* 0x05e0 */ 0,199, 69,172, 1, 0, 0, 0,232,233,251,255,255,131,196, 24,
/* 0x05f0 */ 133,192,137,195,116, 53,139, 3, 61,205,128, 97,195,116, 6,199,
/* 0x0600 */ 3,205,128, 97,195,131,125,172, 0,116, 13,106, 5,106, 4, 83,
/* 0x0610 */ 232,153,251,255,255,131,196, 12,133,219,116, 15,139, 69,216,137,
/* 0x0620 */ 217, 49,210,131,224,254,232,230,252,255,255,255,117,180, 87, 86,
/* 0x0630 */ 232,121,251,255,255,131,196, 12,133,192,116, 10,106,127, 91,106,
/* 0x0640 */ 1, 88,205,128,235,254,139, 77,168,141, 4, 15,141, 28, 6, 59,
/* 0x0650 */ 93,176,115, 30,106, 0,106,255,106, 50,255,117,180, 41, 93,176,
/* 0x0660 */ 255,117,176, 83,232,109,251,255,255,131,196, 24, 57,195,116, 24,
/* 0x0670 */ 235,254,131,125,220, 0,116, 16,141, 79, 3, 35, 77,204,131,249,
/* 0x0680 */ 3,119, 5,106, 91, 88,205,128,139,117,224,255, 69,184, 15,183,
/* 0x0690 */ 70, 44,131, 69,200, 32, 57, 69,184, 15,140,156,253,255,255,131,
/* 0x06a0 */ 125,220, 0,116, 18,139, 69,224,102,131,120, 16, 3,116, 8,139,
/* 0x06b0 */ 93,240,106, 45, 88,205,128,131,125,212, 0,116, 8,139, 77,196,
/* 0x06c0 */ 139, 85,212,137, 10,139,117,224,139,118, 24, 1,117,196,139, 69,
/* 0x06d0 */ 196,141,101,244, 91, 94, 95,201,195, 85,137,229, 87, 86, 83,131,
/* 0x06e0 */ 236, 32,199, 69,232, 0, 0, 0, 0,139, 69, 8,139,117, 16,137,
/* 0x06f0 */ 69,236,128, 62,235,117, 6,141, 86, 2,137, 85,232,106, 0,139,
/* 0x0700 */ 125, 28,141, 85, 24,139, 93, 32,141, 69, 32, 86,232, 32,251,255,
/* 0x0710 */ 255,139, 69, 12, 41, 93, 36,137,250,141, 93,240,255,117,232,137,
/* 0x0720 */ 69, 32,139, 69, 40, 83,255,117,236,137, 69,240,141, 69, 32,141,
/* 0x0730 */ 79, 52, 80,137,240,137, 77,228,232,245,251,255,255,137,193,137,
/* 0x0740 */ 69,224,139, 69,236,186, 9, 0, 0, 0,232,194,251,255,255,102,
/* 0x0750 */ 139, 79, 44,131,196, 24, 49,210,102,133,201,116,123,139, 69,228,
/* 0x0760 */ 131, 56, 3,117,103,139, 93,240, 49,201, 3, 88, 8,137,202,106,
/* 0x0770 */ 5, 88,205,128,133,192,137,198,120, 21,186, 0, 2, 0, 0,137,
/* 0x0780 */ 195,137,249,106, 3, 88,205,128, 61, 0, 2, 0, 0,116, 10,106,
/* 0x0790 */ 127, 91,106, 1, 88,205,128,235,254,141, 69,240,137,250,106, 0,
/* 0x07a0 */ 137,243, 80,137,240,255,117,236,106, 0,232,131,251,255,255,139,
/* 0x07b0 */ 77,240,137, 69,224,139, 69,236,186, 7, 0, 0, 0,232, 79,251,
/* 0x07c0 */ 255,255,131,196, 16,106, 6, 88,205,128,235, 12, 66, 15,183,193,
/* 0x07d0 */ 131, 69,228, 32, 57,194,124,133,139, 69,224,141,101,244, 91, 94,
/* 0x07e0 */ 95,201,195
};