Merge branch 'jreiser' into devel

O_BINFO simplifies stubs on linux Elf;
PowerPC64 (big endian: Apple Macintosh G5) and PowerPC* cleanup;
-fpie simplification; shlib for arm64, amd64.

A big merge due to suspending activity on 'devel' branch
during stabilization for release of UPX-3.94.
There were intermediate merges with private branch 'jreiser',
and attempted rebase onto 'devel' did not go well.
Verfication of cases ({ET_EXEC, -fpie, shlib} x {$ARCH}) is in progress.

	modified:   ../.github/travis_testsuite_1.sh
	modified:   conf.h
	modified:   linker.cpp
	modified:   linker.h
	modified:   p_lx_elf.cpp
	modified:   p_lx_elf.h
	modified:   p_mach.cpp
	modified:   p_mach.h
	modified:   p_mach_enum.h
	modified:   packmast.cpp
	modified:   stub/Makefile
	modified:   stub/scripts/xstrip.py

	modified:   stub/src/amd64-darwin.dylib-entry.S
	modified:   stub/src/amd64-darwin.macho-entry.S
	modified:   stub/src/amd64-linux.elf-entry.S
	modified:   stub/src/amd64-linux.elf-fold.S
	modified:   stub/src/amd64-linux.elf-main.c
	modified:   stub/src/arch/powerpc/32/bxx.S
	modified:   stub/src/arch/powerpc/32/lzma_d.S
	modified:   stub/src/arch/powerpc/32/nrv2b_d.S
	modified:   stub/src/arch/powerpc/32/nrv2d_d.S
	modified:   stub/src/arch/powerpc/32/nrv2e_d.S
	modified:   stub/src/arch/powerpc/32/ppc_regs.h
	new file:   stub/src/arch/powerpc/64/Makefile
	new file:   stub/src/arch/powerpc/64/Makefile.extra
	new file:   stub/src/arch/powerpc/64/bxx.S
	new file:   stub/src/arch/powerpc/64/lzma_d.S
	new file:   stub/src/arch/powerpc/64/lzma_d_cf.S
	new file:   stub/src/arch/powerpc/64/lzma_d_cs.S
	new file:   stub/src/arch/powerpc/64/macros.S
	new file:   stub/src/arch/powerpc/64/nrv2b_d.S
	new file:   stub/src/arch/powerpc/64/nrv2d_d.S
	new file:   stub/src/arch/powerpc/64/nrv2e_d.S
	new file:   stub/src/arch/powerpc/64/ppc_regs.h
	modified:   stub/src/arch/powerpc/64le/bxx.S
	copied:     stub/src/arch/powerpc/64le/lzma_d.S -> stub/src/arch/powerpc/64le/lzma_d-common.S
	modified:   stub/src/arch/powerpc/64le/lzma_d.S
	modified:   stub/src/arch/powerpc/64le/lzma_d_cs.S
	modified:   stub/src/arch/powerpc/64le/nrv2b_d.S
	modified:   stub/src/arch/powerpc/64le/nrv2d_d.S
	modified:   stub/src/arch/powerpc/64le/nrv2e_d.S
	modified:   stub/src/arch/powerpc/64le/ppc_regs.h
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/arm64-darwin.macho-entry.S
	modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S
	modified:   stub/src/arm64-linux.shlib-init.S
	modified:   stub/src/i386-bsd.elf-entry.S
	modified:   stub/src/i386-darwin.macho-entry.S
	modified:   stub/src/i386-linux.elf-entry.S
	modified:   stub/src/i386-linux.elf-fold.S
	modified:   stub/src/mipsel.r3000-linux.elf-entry.S
	modified:   stub/src/mipsel.r3000-linux.elf-fold.S
	modified:   stub/src/powerpc-darwin.dylib-entry.S
	modified:   stub/src/powerpc-darwin.macho-entry.S
	modified:   stub/src/powerpc-darwin.macho-fold.S
	modified:   stub/src/powerpc-linux.elf-entry.S
	modified:   stub/src/powerpc-linux.elf-fold.S
	modified:   stub/src/powerpc-linux.elf-main.c
	new file:   stub/src/powerpc64-darwin.dylib-entry.S
	new file:   stub/src/powerpc64-darwin.macho-entry.S
	new file:   stub/src/powerpc64-darwin.macho-fold.S
	new file:   stub/src/powerpc64-darwin.macho-main.c
	new file:   stub/src/powerpc64-linux.elf-entry.S
	new file:   stub/src/powerpc64-linux.elf-fold.S
	new file:   stub/src/powerpc64-linux.elf-fold.lds
	new file:   stub/src/powerpc64-linux.elf-main.c
	modified:   stub/src/powerpc64-savegpr0.S
	modified:   stub/src/powerpc64le-darwin.dylib-entry.S
	modified:   stub/src/powerpc64le-darwin.macho-entry.S
	modified:   stub/src/powerpc64le-darwin.macho-fold.S
	modified:   stub/src/powerpc64le-linux.elf-entry.S
	modified:   stub/src/powerpc64le-linux.elf-fold.S
	modified:   stub/src/powerpc64le-linux.elf-main.c

	and most stub/*.h and stub/tmp/*.dump
This commit is contained in:
John Reiser
2017-06-05 11:32:25 -07:00
143 changed files with 22980 additions and 19952 deletions
+120 -109
View File
@@ -1,5 +1,5 @@
/* amd64-linux.elf-fold.h
created from amd64-linux.elf-fold.bin, 1901 (0x76d) bytes
created from amd64-linux.elf-fold.bin, 2080 (0x820) bytes
This file is part of the UPX executable compressor.
@@ -31,20 +31,20 @@
*/
#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 1901
#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x9209d80d
#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0x11d99f52
#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2080
#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0xb97519dc
#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0x24735e3b
unsigned char stub_amd64_linux_elf_fold[1901] = {
unsigned char stub_amd64_linux_elf_fold[2080] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0,
/* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x0060 */ 109, 7, 0, 0, 0, 0, 0, 0,112, 7, 0, 0, 0, 0, 0, 0,
/* 0x0060 */ 32, 8, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 109, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 32, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 89, 0, 0,
@@ -53,106 +53,117 @@ unsigned char stub_amd64_linux_elf_fold[1901] = {
/* 0x00e0 */ 47, 72, 57,206,115, 50, 86, 94,172, 60,128,114, 10, 60,143,119,
/* 0x00f0 */ 6,128,126,254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,206,
/* 0x0100 */ 115, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1,216,171,
/* 0x0110 */ 72, 57,206,115, 3,172,235,223, 91,195, 65, 89, 72,137,230, 72,
/* 0x0120 */ 141,190,240,239,255,255, 72,137,252,106, 7, 89,243, 72,165, 72,
/* 0x0130 */ 131, 62, 0, 72,165,117,248, 72,137,250, 72,171, 72,131, 62, 0,
/* 0x0140 */ 72,165,117,248, 87, 72,131, 62, 0, 72,165, 72,165,117,246, 76,
/* 0x0150 */ 141,127,248, 72,137, 58,184, 32, 32, 32, 61,171,186, 0, 16, 0,
/* 0x0160 */ 0, 72,137,254, 76,137,207,106, 89, 88, 15, 5,133,192,120, 4,
/* 0x0170 */ 198, 4, 6, 0, 73,131,193, 15, 89, 94, 95, 72,129,236, 0, 8,
/* 0x0180 */ 0, 0, 72,137,226, 73,137,232,106, 0,232, 99, 4, 0, 0, 90,
/* 0x0190 */ 72,129,196, 0, 8, 0, 0, 94, 95, 89, 89,193,225, 12, 72, 1,
/* 0x01a0 */ 207, 41,206, 80,106, 11, 88, 65,255, 39,176, 11,235, 13,176, 10,
/* 0x01b0 */ 235, 9,176, 12,235, 5,176, 9, 73,137,202, 15,182,192, 15, 5,
/* 0x01c0 */ 72, 61, 0,240,255,255,114, 4, 72,131,200,255,195,176, 0,235,
/* 0x01d0 */ 234,176, 2,235,230,176, 3,235,226,176, 60,235,222, 0, 0, 0,
/* 0x01e0 */ 81, 72, 57, 23, 76,139, 71, 8, 72,141, 74,255,115, 10,191,127,
/* 0x01f0 */ 0, 0, 0,232,225,255,255,255, 72,131,249,255,116, 17, 65, 15,
/* 0x0200 */ 182, 0, 72,255,201, 73,255,192,136, 6, 72,255,198,235,233, 72,
/* 0x0210 */ 1, 87, 8, 72, 41, 23, 88,195, 65, 85, 73,137,213, 65, 84, 73,
/* 0x0220 */ 137,204, 85, 72,137,253, 83, 72,137,243, 72,131,236, 40, 72,131,
/* 0x0230 */ 62, 0, 15,132,226, 0, 0, 0, 72,141,116, 36, 16,186, 12, 0,
/* 0x0240 */ 0, 0, 72,137,239,232,150,255,255,255,139, 84, 36, 16,139,116,
/* 0x0250 */ 36, 20,133,210,117, 21,129,254, 85, 80, 88, 33,117, 17, 72,131,
/* 0x0260 */ 125, 0, 0, 15,132,177, 0, 0, 0,235, 4,133,246,117, 10,191,
/* 0x0270 */ 127, 0, 0, 0,232, 96,255,255,255, 57,214,119,242,137,208, 72,
/* 0x0280 */ 59, 3,119,235, 57,214, 72,139, 67, 8,115,104,137, 84, 36, 12,
/* 0x0290 */ 72,139,125, 8, 72,141, 76, 36, 12, 68,139, 68, 36, 24, 72,137,
/* 0x02a0 */ 194, 65,255,213,133,192,117,199,139,116, 36, 12, 59,116, 36, 16,
/* 0x02b0 */ 117,189, 15,182, 76, 36, 25,132,201, 15,149,194, 49,192, 77,133,
/* 0x02c0 */ 228, 15,149,192,133,194,116, 30,129,254, 0, 2, 0, 0,119, 7,
/* 0x02d0 */ 137,240, 72, 57, 3,117, 15, 15,182, 84, 36, 26, 15,182,201, 72,
/* 0x02e0 */ 139,123, 8, 65,255,212,139, 68, 36, 20, 72, 1, 69, 8, 72, 41,
/* 0x02f0 */ 69, 0,235, 13,137,242, 72,137,239, 72,137,198,232,223,254,255,
/* 0x0300 */ 255,139, 84, 36, 16, 72,139, 3, 72, 1, 83, 8, 72, 41,208, 72,
/* 0x0310 */ 133,192, 72,137, 3,233, 24,255,255,255, 72,131,196, 40, 91, 93,
/* 0x0320 */ 65, 92, 65, 93,195, 72,133,255, 73,137,208,116, 41, 72,139, 7,
/* 0x0330 */ 137,241, 72, 57,200,116, 17, 72,255,200, 15,148,194, 49,192,133,
/* 0x0340 */ 246, 15,149,192,133,194,116, 8, 72,137, 15, 76,137, 71, 8,195,
/* 0x0350 */ 72,131,199, 16,235,215,195, 65, 87,184, 0, 0, 0, 0, 73,137,
/* 0x0360 */ 255, 65, 86, 65, 85, 65, 84, 73,137,252, 85, 83, 72,131,236,104,
/* 0x0370 */ 76, 3,103, 32,102,131,127, 16, 3,137, 84, 36, 60, 15,183, 87,
/* 0x0380 */ 56, 72,137, 76, 36, 48,185, 16, 0, 0, 0, 72,137,116, 36, 64,
/* 0x0390 */ 76,137, 68, 36, 40, 76,137, 76, 36, 32, 15, 68,200, 76,137,230,
/* 0x03a0 */ 72,131,205,255, 49,219,131,193, 34,255,202,120, 33,131, 62, 1,
/* 0x03b0 */ 117, 22, 72,139, 70, 16, 72, 57,232, 72, 15, 66,232, 72, 3, 70,
/* 0x03c0 */ 40, 72, 57,195, 72, 15, 66,216, 72,131,198, 56,235,219, 72,129,
/* 0x03d0 */ 229, 0,240,255,255, 49,210, 69, 49,201, 72, 41,235, 65,131,200,
/* 0x03e0 */ 255, 72,137,239, 72,129,195,255, 15, 0, 0, 72,129,227, 0,240,
/* 0x03f0 */ 255,255, 72,137,222,232,188,253,255,255, 72,141, 20, 24, 72, 41,
/* 0x0400 */ 232,102, 65,131,127, 56, 0, 72,137, 68, 36, 24,199, 68, 36, 20,
/* 0x0410 */ 0, 0, 0, 0, 72,137, 84, 36, 72, 15,132,155, 1, 0, 0, 72,
/* 0x0420 */ 131,124, 36, 64, 0,116, 37, 65,131, 60, 36, 6,117, 30, 72,139,
/* 0x0430 */ 84, 36, 24, 73, 3, 84, 36, 16,190, 3, 0, 0, 0, 72,139,124,
/* 0x0440 */ 36, 48,232,222,254,255,255,233, 87, 1, 0, 0, 65,131, 60, 36,
/* 0x0450 */ 1, 15,133, 76, 1, 0, 0, 72,139, 68, 36, 24, 73, 3, 68, 36,
/* 0x0460 */ 16, 65,190, 64, 98, 81,115, 65,139, 76, 36, 4, 65,131,200,255,
/* 0x0470 */ 73,139, 84, 36, 32, 72,137,197, 72,137, 68, 36, 88, 73,139, 68,
/* 0x0480 */ 36, 40,131,225, 7, 72,137,235, 72,137, 84, 36, 80,193,225, 2,
/* 0x0490 */ 129,227,255, 15, 0, 0, 72, 1,232, 65,211,238, 72, 41,221, 72,
/* 0x04a0 */ 137, 68, 36, 8, 73,139, 68, 36, 8, 65,131,230, 7, 76,141, 44,
/* 0x04b0 */ 26,185, 50, 0, 0, 0, 72, 41,216, 72,131,124, 36, 64, 0,117,
/* 0x04c0 */ 7, 68,139, 68, 36, 60,177, 18, 68,137,242, 73,137,193, 76,137,
/* 0x04d0 */ 238,131,202, 2, 72,131,124, 36, 64, 0, 72,137,239, 65, 15, 68,
/* 0x04e0 */ 214,232,208,252,255,255, 72, 57,197,117,121, 72,131,124, 36, 64,
/* 0x04f0 */ 0,116, 25, 72,139, 76, 36, 32, 72,139, 84, 36, 40, 72,141,116,
/* 0x0500 */ 36, 80, 72,139,124, 36, 64,232, 12,253,255,255, 76,137,235, 72,
/* 0x0510 */ 247,219,129,227,255, 15, 0, 0, 65,246,198, 2,116, 13, 74,141,
/* 0x0520 */ 124, 45, 0, 49,192, 72,137,217,252,243,170, 72,131,124, 36, 64,
/* 0x0530 */ 0,116, 59, 73,131,124, 36, 8, 0,117, 23, 72,139,124, 36, 48,
/* 0x0540 */ 72,141, 85, 12,199, 69, 12, 15, 5,195,144, 49,246,232,211,253,
/* 0x0550 */ 255,255, 68,137,242, 76,137,238, 72,137,239,232, 78,252,255,255,
/* 0x0560 */ 133,192,116, 10,191,127, 0, 0, 0,232,107,252,255,255, 73,141,
/* 0x0570 */ 68, 29, 0, 72, 1,197, 72, 59,108, 36, 8,115, 38, 72, 41,108,
/* 0x0580 */ 36, 8, 69, 49,201, 65,131,200,255, 72,139,116, 36, 8,185, 50,
/* 0x0590 */ 0, 0, 0, 68,137,242, 72,137,239,232, 24,252,255,255, 72, 57,
/* 0x05a0 */ 197,117,193,255, 68, 36, 20, 65, 15,183, 71, 56, 73,131,196, 56,
/* 0x05b0 */ 57, 68, 36, 20, 15,140,101,254,255,255, 72,131,188, 36,160, 0,
/* 0x05c0 */ 0, 0, 0,116, 16, 72,139, 68, 36, 24, 72,139,148, 36,160, 0,
/* 0x05d0 */ 0, 0, 72,137, 2, 73,139, 87, 24, 72, 1, 84, 36, 24, 72,139,
/* 0x05e0 */ 68, 36, 24, 72,131,196,104, 91, 93, 65, 92, 65, 93, 65, 94, 65,
/* 0x05f0 */ 95,195, 65, 87, 65, 86, 73,137,206, 49,201, 65, 85, 76,141,106,
/* 0x0600 */ 64, 65, 84, 77,137,204, 85, 72,137,213, 83, 76,137,195, 72,131,
/* 0x0610 */ 236, 56,139, 7, 72,137, 52, 36, 72,137,116, 36, 16, 72,141,116,
/* 0x0620 */ 36, 32, 72,137, 84, 36, 40, 72,137,124, 36, 8, 76,137,194, 72,
/* 0x0630 */ 137,124, 36, 24, 72,137,231, 72,137, 68, 36, 32,232,215,251,255,
/* 0x0640 */ 255, 73,139, 85, 16,190, 3, 0, 0, 0, 76,137,247, 72,131,194,
/* 0x0650 */ 64,232,207,252,255,255, 72, 15,183, 85, 56,190, 5, 0, 0, 0,
/* 0x0660 */ 76,137,247,232,189,252,255,255, 65, 83, 77,137,225, 49,210, 73,
/* 0x0670 */ 137,216, 76,137,241, 72,137,239, 72,141, 68, 36,120, 72,141,116,
/* 0x0680 */ 36, 24, 80,232,207,252,255,255, 73,131,125, 16, 0, 73,137,196,
/* 0x0690 */ 65, 89, 65, 90,117, 22, 72,139, 84, 36,112,190, 3, 0, 0, 0,
/* 0x06a0 */ 76,137,247, 72,131,194, 64,232,121,252,255,255, 76,137,226,190,
/* 0x06b0 */ 9, 0, 0, 0, 76,137,247,232,105,252,255,255, 69, 49,255,102,
/* 0x06c0 */ 131,125, 56, 0, 15,132,145, 0, 0, 0, 65,131,125, 0, 3,117,
/* 0x06d0 */ 118, 72,139,124, 36,112, 73, 3,125, 16, 49,210, 49,246,232,238,
/* 0x06e0 */ 250,255,255,133,192,137,195,120, 23,186, 0, 4, 0, 0, 72,137,
/* 0x06f0 */ 238,137,199,232,213,250,255,255, 72, 61, 0, 4, 0, 0,116, 10,
/* 0x0700 */ 191,127, 0, 0, 0,232,207,250,255,255, 65, 80, 69, 49,201, 69,
/* 0x0710 */ 49,192, 49,201,137,218, 72,141, 68, 36,120, 49,246, 72,137,239,
/* 0x0720 */ 80,232, 49,252,255,255, 72,139,148, 36,128, 0, 0, 0,190, 7,
/* 0x0730 */ 0, 0, 0, 76,137,247, 73,137,196,232,231,251,255,255,137,223,
/* 0x0740 */ 232,144,250,255,255, 94, 95, 15,183, 69, 56, 65,255,199, 73,131,
/* 0x0750 */ 197, 56, 65, 57,199, 15,140,111,255,255,255, 72,131,196, 56, 76,
/* 0x0760 */ 137,224, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195
/* 0x0110 */ 72, 57,206,115, 3,172,235,223, 91,195, 91, 72,141, 67, 15, 80,
/* 0x0120 */ 72,137,230, 72,129,236, 0, 16, 0, 0, 84, 95,106, 7, 89,243,
/* 0x0130 */ 72,165, 72,131, 62, 0, 72,165,117,248, 73,137,254, 72,171, 72,
/* 0x0140 */ 131, 62, 0, 72,165,117,248, 73,137,252, 72,131, 62, 0, 72,165,
/* 0x0150 */ 72,165,117,246, 73,137,255, 73,137,245, 77, 41,252,106, 89,186,
/* 0x0160 */ 255, 15, 0, 0, 87, 94, 83, 95, 88, 15, 5,133,192,121, 5, 83,
/* 0x0170 */ 94,106, 14, 88,145,253, 73,141,125,255,176, 0,170, 72,141,116,
/* 0x0180 */ 14,255,243,164, 72,131,239, 3,199, 7, 32, 32, 32, 61, 73,137,
/* 0x0190 */ 62, 72,131,231,248, 76,137,249, 72, 41,225,137,200, 49,248,131,
/* 0x01a0 */ 224, 8, 72, 41,199, 73,137,254, 72,131,239, 8, 73,141,119,248,
/* 0x01b0 */ 72,193,233, 3,243, 72,165, 72,141,103, 8,252, 75,141, 12, 38,
/* 0x01c0 */ 65, 89, 94, 95, 72,139, 68, 36, 16, 72,129,236, 0, 8, 0, 0,
/* 0x01d0 */ 72,137,226, 73,137,232, 80,232,138, 4, 0, 0, 80, 93, 90, 72,
/* 0x01e0 */ 129,196, 0, 8, 0, 0,106, 2, 41,246, 83, 95, 88, 15, 5,147,
/* 0x01f0 */ 106, 9, 69, 41,201, 65,137,216,106, 2, 65, 90,106, 1, 90,190,
/* 0x0200 */ 0, 16, 0, 0,106, 0, 95, 88, 15, 5,106, 3,137,223, 88, 15,
/* 0x0210 */ 5, 94, 95, 89, 85,106, 11, 88, 65,255,102,248,176, 9, 73,137,
/* 0x0220 */ 202, 15,182,192, 15, 5, 72, 61, 0,240,255,255,114, 4, 72,131,
/* 0x0230 */ 200,255,195,176, 60,235, 2,176, 12,235, 2,176, 3,235, 2,176,
/* 0x0240 */ 2,235, 2,176, 11,235, 2,176, 10,235, 2,176, 1,235, 2,176,
/* 0x0250 */ 0,235,206, 0, 81, 72, 57, 23, 76,139, 71, 8, 72,141, 74,255,
/* 0x0260 */ 115, 10,191,127, 0, 0, 0,232,199,255,255,255, 72,131,249,255,
/* 0x0270 */ 116, 17, 65, 15,182, 0, 72,255,201, 73,255,192,136, 6, 72,255,
/* 0x0280 */ 198,235,233, 72, 1, 87, 8, 72, 41, 23, 88,195, 65, 85, 73,137,
/* 0x0290 */ 213, 65, 84, 73,137,204, 85, 72,137,253, 83, 72,137,243, 72,131,
/* 0x02a0 */ 236, 40, 72,131, 62, 0, 15,132,226, 0, 0, 0, 72,141,116, 36,
/* 0x02b0 */ 16,186, 12, 0, 0, 0, 72,137,239,232,150,255,255,255,139, 84,
/* 0x02c0 */ 36, 16,139,116, 36, 20,133,210,117, 21,129,254, 85, 80, 88, 33,
/* 0x02d0 */ 117, 17, 72,131,125, 0, 0, 15,132,177, 0, 0, 0,235, 4,133,
/* 0x02e0 */ 246,117, 10,191,127, 0, 0, 0,232, 70,255,255,255, 57,214,119,
/* 0x02f0 */ 242,137,208, 72, 59, 3,119,235, 57,214, 72,139, 67, 8,115,104,
/* 0x0300 */ 137, 84, 36, 12, 72,139,125, 8, 72,141, 76, 36, 12, 68,139, 68,
/* 0x0310 */ 36, 24, 72,137,194, 65,255,213,133,192,117,199,139,116, 36, 12,
/* 0x0320 */ 59,116, 36, 16,117,189, 15,182, 76, 36, 25,132,201, 15,149,194,
/* 0x0330 */ 49,192, 77,133,228, 15,149,192,133,194,116, 30,129,254, 0, 2,
/* 0x0340 */ 0, 0,119, 7,137,240, 72, 57, 3,117, 15, 15,182, 84, 36, 26,
/* 0x0350 */ 15,182,201, 72,139,123, 8, 65,255,212,139, 68, 36, 20, 72, 1,
/* 0x0360 */ 69, 8, 72, 41, 69, 0,235, 13,137,242, 72,137,239, 72,137,198,
/* 0x0370 */ 232,223,254,255,255,139, 84, 36, 16, 72,139, 3, 72, 1, 83, 8,
/* 0x0380 */ 72, 41,208, 72,133,192, 72,137, 3,233, 24,255,255,255, 72,131,
/* 0x0390 */ 196, 40, 91, 93, 65, 92, 65, 93,195, 72,133,255, 73,137,208,116,
/* 0x03a0 */ 41, 72,139, 7,137,241, 72, 57,200,116, 17, 72,255,200, 15,148,
/* 0x03b0 */ 194, 49,192,133,246, 15,149,192,133,194,116, 8, 72,137, 15, 76,
/* 0x03c0 */ 137, 71, 8,195, 72,131,199, 16,235,215,195, 65, 87,184, 0, 0,
/* 0x03d0 */ 0, 0, 73,137,255, 65, 86, 65, 85, 65, 84, 73,137,252, 85, 83,
/* 0x03e0 */ 72,131,236,104, 76, 3,103, 32,102,131,127, 16, 3,137, 84, 36,
/* 0x03f0 */ 60, 15,183, 87, 56, 72,137, 76, 36, 48,185, 16, 0, 0, 0, 72,
/* 0x0400 */ 137,116, 36, 64, 76,137, 68, 36, 40, 76,137, 76, 36, 32, 15, 68,
/* 0x0410 */ 200, 76,137,230, 72,131,205,255, 49,219,131,193, 34,255,202,120,
/* 0x0420 */ 33,131, 62, 1,117, 22, 72,139, 70, 16, 72, 57,232, 72, 15, 66,
/* 0x0430 */ 232, 72, 3, 70, 40, 72, 57,195, 72, 15, 66,216, 72,131,198, 56,
/* 0x0440 */ 235,219, 72,129,229, 0,240,255,255, 49,210, 69, 49,201, 72, 41,
/* 0x0450 */ 235, 65,131,200,255, 72,137,239, 72,129,195,255, 15, 0, 0, 72,
/* 0x0460 */ 129,227, 0,240,255,255, 72,137,222,232,174,253,255,255, 72,141,
/* 0x0470 */ 20, 24, 72, 41,232,102, 65,131,127, 56, 0, 72,137, 68, 36, 24,
/* 0x0480 */ 199, 68, 36, 20, 0, 0, 0, 0, 72,137, 84, 36, 72, 15,132,155,
/* 0x0490 */ 1, 0, 0, 72,131,124, 36, 64, 0,116, 37, 65,131, 60, 36, 6,
/* 0x04a0 */ 117, 30, 72,139, 84, 36, 24, 73, 3, 84, 36, 16,190, 3, 0, 0,
/* 0x04b0 */ 0, 72,139,124, 36, 48,232,222,254,255,255,233, 87, 1, 0, 0,
/* 0x04c0 */ 65,131, 60, 36, 1, 15,133, 76, 1, 0, 0, 72,139, 68, 36, 24,
/* 0x04d0 */ 73, 3, 68, 36, 16, 65,190, 64, 98, 81,115, 65,139, 76, 36, 4,
/* 0x04e0 */ 65,131,200,255, 73,139, 84, 36, 32, 72,137,197, 72,137, 68, 36,
/* 0x04f0 */ 88, 73,139, 68, 36, 40,131,225, 7, 72,137,235, 72,137, 84, 36,
/* 0x0500 */ 80,193,225, 2,129,227,255, 15, 0, 0, 72, 1,232, 65,211,238,
/* 0x0510 */ 72, 41,221, 72,137, 68, 36, 8, 73,139, 68, 36, 8, 65,131,230,
/* 0x0520 */ 7, 76,141, 44, 26,185, 50, 0, 0, 0, 72, 41,216, 72,131,124,
/* 0x0530 */ 36, 64, 0,117, 7, 68,139, 68, 36, 60,177, 18, 68,137,242, 73,
/* 0x0540 */ 137,193, 76,137,238,131,202, 2, 72,131,124, 36, 64, 0, 72,137,
/* 0x0550 */ 239, 65, 15, 68,214,232,194,252,255,255, 72, 57,197,117,121, 72,
/* 0x0560 */ 131,124, 36, 64, 0,116, 25, 72,139, 76, 36, 32, 72,139, 84, 36,
/* 0x0570 */ 40, 72,141,116, 36, 80, 72,139,124, 36, 64,232, 12,253,255,255,
/* 0x0580 */ 76,137,235, 72,247,219,129,227,255, 15, 0, 0, 65,246,198, 2,
/* 0x0590 */ 116, 13, 74,141,124, 45, 0, 49,192, 72,137,217,252,243,170, 72,
/* 0x05a0 */ 131,124, 36, 64, 0,116, 59, 73,131,124, 36, 8, 0,117, 23, 72,
/* 0x05b0 */ 139,124, 36, 48, 72,141, 85, 12,199, 69, 12, 15, 5,195,144, 49,
/* 0x05c0 */ 246,232,211,253,255,255, 68,137,242, 76,137,238, 72,137,239,232,
/* 0x05d0 */ 115,252,255,255,133,192,116, 10,191,127, 0, 0, 0,232, 81,252,
/* 0x05e0 */ 255,255, 73,141, 68, 29, 0, 72, 1,197, 72, 59,108, 36, 8,115,
/* 0x05f0 */ 38, 72, 41,108, 36, 8, 69, 49,201, 65,131,200,255, 72,139,116,
/* 0x0600 */ 36, 8,185, 50, 0, 0, 0, 68,137,242, 72,137,239,232, 10,252,
/* 0x0610 */ 255,255, 72, 57,197,117,193,255, 68, 36, 20, 65, 15,183, 71, 56,
/* 0x0620 */ 73,131,196, 56, 57, 68, 36, 20, 15,140,101,254,255,255, 72,131,
/* 0x0630 */ 188, 36,160, 0, 0, 0, 0,116, 16, 72,139, 68, 36, 24, 72,139,
/* 0x0640 */ 148, 36,160, 0, 0, 0, 72,137, 2, 73,139, 87, 24, 72, 1, 84,
/* 0x0650 */ 36, 24, 72,139, 68, 36, 24, 72,131,196,104, 91, 93, 65, 92, 65,
/* 0x0660 */ 93, 65, 94, 65, 95,195, 65, 87, 77,137,207, 65, 86, 73,137,206,
/* 0x0670 */ 49,201, 65, 85, 77,137,197, 65, 84, 85, 72,137,213, 83, 72,141,
/* 0x0680 */ 90, 64, 72,131,236, 56,139, 7, 72,137, 52, 36, 72,137,116, 36,
/* 0x0690 */ 16, 72,141,116, 36, 32, 72,137, 84, 36, 40, 72,137,124, 36, 8,
/* 0x06a0 */ 76,137,194, 72,137,124, 36, 24, 72,137,231, 72,137, 68, 36, 32,
/* 0x06b0 */ 232,215,251,255,255, 72,139, 83, 16,190, 3, 0, 0, 0, 76,137,
/* 0x06c0 */ 247,232,211,252,255,255, 72, 15,183, 85, 56,190, 5, 0, 0, 0,
/* 0x06d0 */ 76,137,247,232,193,252,255,255, 68, 15,183,101, 16, 65,131,252,
/* 0x06e0 */ 3,117, 74, 72,139, 84, 36,112, 72, 3, 85, 24,190, 9, 0, 0,
/* 0x06f0 */ 0,102,199, 69, 16, 2, 0, 76,137,247,232,154,252,255,255, 15,
/* 0x0700 */ 183, 69, 56,133,192,116, 21, 72,139, 84, 36,112, 72, 1, 83, 16,
/* 0x0710 */ 72, 1, 83, 24, 72,131,195, 56,255,200,117,240, 72,139, 85, 80,
/* 0x0720 */ 190, 3, 0, 0, 0, 76,137,247,232,108,252,255,255, 65, 83, 77,
/* 0x0730 */ 137,249, 77,137,232, 49,210, 76,137,241, 72,141, 68, 36,120, 72,
/* 0x0740 */ 141,116, 36, 24, 72,137,239, 80,232,126,252,255,255, 65, 89, 65,
/* 0x0750 */ 131,252, 3, 73,137,197, 65, 90,116, 16, 72,137,194,190, 9, 0,
/* 0x0760 */ 0, 0, 76,137,247,232, 47,252,255,255, 69, 49,255,102,131,125,
/* 0x0770 */ 56, 0, 72,141, 93, 64, 15,132,146, 0, 0, 0,131, 59, 3,117,
/* 0x0780 */ 121, 72,139,124, 36,112, 72, 3,123, 16, 49,210, 49,246,232,172,
/* 0x0790 */ 250,255,255,133,192, 65,137,196,120, 23,186, 0, 4, 0, 0, 72,
/* 0x07a0 */ 137,238,137,199,232,166,250,255,255, 72, 61, 0, 4, 0, 0,116,
/* 0x07b0 */ 10,191,127, 0, 0, 0,232,120,250,255,255, 65, 80, 69, 49,201,
/* 0x07c0 */ 69, 49,192, 49,201, 68,137,226, 72,141, 68, 36,120, 49,246, 72,
/* 0x07d0 */ 137,239, 80,232,243,251,255,255, 72,139,148, 36,128, 0, 0, 0,
/* 0x07e0 */ 190, 7, 0, 0, 0, 76,137,247, 73,137,197,232,169,251,255,255,
/* 0x07f0 */ 68,137,231,232, 67,250,255,255, 94, 95, 15,183, 69, 56, 65,255,
/* 0x0800 */ 199, 72,131,195, 56, 65, 57,199, 15,130,110,255,255,255, 72,131,
/* 0x0810 */ 196, 56, 76,137,232, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195
};