arm32, arm64 ABI for -static must preserve register 0

Also arm32 forgot to unmap the expanded de-compressor via the escape hatch.

https://github.com/upx/upx/issues/758
https://github.com/upx/upx/issues/768
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S
	modified:   stub/src/i386-linux.elf-main.c
	modified:   stub/src/amd64-linux.elf-main.c
          plus associated *.h *.map *.dump
This commit is contained in:
John Reiser
2024-01-12 15:39:18 -08:00
committed by Markus F.X.J. Oberhumer
parent 2ad0d51226
commit 38ed4b2017
23 changed files with 4257 additions and 4248 deletions
+167 -166
View File
@@ -1,5 +1,5 @@
/* arm64-linux.elf-fold.h
created from arm64-linux.elf-fold.bin, 2852 (0xb24) bytes
created from arm64-linux.elf-fold.bin, 2868 (0xb34) bytes
This file is part of the UPX executable compressor.
@@ -32,20 +32,20 @@
/* clang-format off */
#define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2852
#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0x1b72e8b6
#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0x4a6bb076
#define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2868
#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0xac71f0a9
#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0x8677c2b0
unsigned char stub_arm64_linux_elf_fold[2852] = {
unsigned char stub_arm64_linux_elf_fold[2868] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0,183, 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 */ 36, 11, 0, 0, 0, 0, 0, 0, 36, 11, 0, 0, 0, 0, 0, 0,
/* 0x0060 */ 52, 11, 0, 0, 0, 0, 0, 0, 52, 11, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 36, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 52, 11, 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, 1, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,255,255,
@@ -55,165 +55,166 @@ unsigned char stub_arm64_linux_elf_fold[2852] = {
/* 0x00f0 */ 33, 0, 8,139,200, 27,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0100 */ 232,253,255, 88, 8, 0, 40,138, 0, 0, 8,203, 33, 0, 8,139,
/* 0x0110 */ 72, 28,128, 82, 1, 0, 0,212,192, 3, 95,214,250,111, 65,169,
/* 0x0120 */ 244, 87,194,168,231, 3, 64,249,224, 3, 0,145,225, 3, 22,170,
/* 0x0120 */ 244, 87,194,168,231, 3, 0,145,224, 3, 0,145,225, 3, 22,170,
/* 0x0130 */ 34, 4, 65,248,226,255,255,181, 32, 4, 64,209, 6, 16, 0,209,
/* 0x0140 */ 33, 0, 6,203,192, 0, 1,203, 0, 32, 0,209, 0,236,124,146,
/* 0x0150 */ 225, 35, 0,145, 31, 0, 0,145, 7,132, 0,248, 34,132, 64,248,
/* 0x0160 */ 2,132, 0,248,194,255,255,181, 34,132, 64,248, 2,132, 0,248,
/* 0x0170 */ 194,255,255,181, 4, 32, 0,209, 31,132, 0,248,231, 3, 0,170,
/* 0x0180 */ 246, 3, 0,170, 34, 12,193,168, 2, 12,129,168,194,255,255,181,
/* 0x0190 */ 247, 3, 0,170,225, 3, 0,170,129, 0, 0,249,226, 6, 0, 24,
/* 0x01a0 */ 34, 68, 0,184,226,255,129, 82,160, 6, 0, 16, 98, 0, 0,148,
/* 0x01b0 */ 31, 4, 64,177, 66, 0, 0, 84, 95,104, 32, 56,231, 3, 20,170,
/* 0x01c0 */ 230, 3, 25,170,255, 3, 48,209, 37, 6, 0, 16,228, 3, 24,170,
/* 0x01d0 */ 227, 3, 22,170,226, 3, 0,145,225, 3, 29, 42,224, 3, 28,170,
/* 0x01e0 */ 247, 1, 0,148,255, 3, 48,145,248, 3, 0,170, 33, 83, 64,249,
/* 0x01f0 */ 224, 3, 25,170, 34, 67, 64, 57, 95, 8, 0,113, 65, 0, 0, 84,
/* 0x0200 */ 66, 0, 0,148,224, 3, 25,170, 67, 0, 0,148, 5, 0,128,210,
/* 0x0210 */ 228, 3, 21, 42,159, 0, 0,113, 11, 1, 0, 84, 67, 0,128, 82,
/* 0x0220 */ 34, 0,128, 82, 1, 0,130,210, 0, 0,128,210,174,255,255,151,
/* 0x0230 */ 224, 3, 21, 42, 47, 0, 0,148,254, 3, 24,170,224, 3, 26,170,
/* 0x0240 */ 225, 3, 27, 42,226,130, 95,248,255,127,191,169,240, 3, 31,170,
/* 0x0250 */ 227, 19, 64,169,230, 31, 64,169,232, 39, 64,169,244, 87, 64,169,
/* 0x0260 */ 246, 95, 64,169,248,103, 64,169,250,111, 64,169,252,119, 64,169,
/* 0x0270 */ 224, 7,193,168,192, 3, 95,214, 32, 32, 32, 61, 47,112,114,111,
/* 0x0280 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0, 99, 28, 0, 18,
/* 0x0290 */ 127, 72, 1,113,129, 1, 0, 84, 33,252, 66,211, 65, 1, 0,180,
/* 0x02a0 */ 33, 4, 0,209, 2,120, 97,184, 67,120, 26, 83,127, 20, 0,113,
/* 0x02b0 */ 129, 0, 0, 84, 67, 0, 1, 75, 98,100, 0, 51, 2,120, 33,184,
/* 0x02c0 */ 1,255,255,181,192, 3, 95,214, 0, 0, 32,212,192, 3, 95,214,
/* 0x02d0 */ 168, 11,128, 82, 1, 0, 0,212,232, 7,128, 82, 1, 0, 0,212,
/* 0x02e0 */ 192, 3, 95,214, 8, 8,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x02f0 */ 40, 7,128, 82, 1, 0, 0,212,192, 3, 95,214,168, 21,128, 82,
/* 0x0300 */ 1, 0, 0,212,192, 3, 95,214,200, 26,128, 82, 1, 0, 0,212,
/* 0x0310 */ 192, 3, 95,214,232, 26,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0320 */ 2, 0,128,210,225, 3, 0,170, 96, 12,128, 18,104, 4,128, 82,
/* 0x0330 */ 4, 0, 0, 20,200, 9,128, 82, 2, 0, 0, 20, 8, 7,128, 82,
/* 0x0340 */ 227, 3, 2,170,226, 3, 1,170,225, 3, 0,170, 96, 12,128,146,
/* 0x0350 */ 1, 0, 0,212,192, 3, 95,214, 0, 0, 64,212, 2, 0,128, 82,
/* 0x0360 */ 8, 0,128, 82, 1, 0, 0,212,192, 3, 95,214,253,123,191,169,
/* 0x0370 */ 3, 0,128,210,253, 3, 0,145, 5, 0, 64,249, 4, 4, 64,249,
/* 0x0380 */ 191, 0, 2,235, 98, 0, 0, 84,224, 15,128, 82,209,255,255,151,
/* 0x0390 */ 127, 0, 2,235,160, 0, 0, 84,133,104, 99, 56, 37,104, 35, 56,
/* 0x03a0 */ 99, 4, 0,145,251,255,255, 23, 1, 4, 64,249, 33, 0, 3,139,
/* 0x03b0 */ 1, 4, 0,249, 1, 0, 64,249, 35, 0, 3,203, 3, 0, 0,249,
/* 0x03c0 */ 253,123,193,168,192, 3, 95,214,253,123,187,169,253, 3, 0,145,
/* 0x03d0 */ 243, 83, 1,169,245, 91, 2,169,244, 3, 0,170,243, 3, 1,170,
/* 0x03e0 */ 246, 3, 2,170,245, 3, 3,170, 96, 2, 64,249,160, 8, 0,180,
/* 0x03f0 */ 224, 3, 20,170,130, 1,128,210,161, 3, 1,145,220,255,255,151,
/* 0x0400 */ 160, 67, 64,185,162, 71, 64,185, 0, 1, 0, 53,160, 10,138, 82,
/* 0x0410 */ 0, 43,164,114, 95, 0, 0,107,225, 0, 0, 84,128, 2, 64,249,
/* 0x0420 */ 0, 7, 0,180, 4, 0, 0, 20, 98, 0, 0, 52, 95, 0, 0,107,
/* 0x0430 */ 105, 0, 0, 84,224, 15,128, 82,166,255,255,151, 99, 2, 64,249,
/* 0x0440 */ 225, 3, 0, 42, 63, 0, 3,235,104,255,255, 84, 95, 0, 0,107,
/* 0x0450 */ 2, 4, 0, 84,161, 31, 0,249,225, 3, 2, 42,128, 6, 64,249,
/* 0x0460 */ 163,227, 0,145, 98, 6, 64,249,164, 35, 65, 57,192, 2, 63,214,
/* 0x0470 */ 32,254,255, 53,161, 31, 64,249,160, 67, 64,185, 63, 0, 0,235,
/* 0x0480 */ 161,253,255, 84,163, 39, 65, 57, 85, 1, 0,180, 35, 1, 0, 52,
/* 0x0490 */ 63, 0, 8,241,136, 0, 0, 84, 96, 2, 64,249, 31, 0, 1,235,
/* 0x04a0 */ 129, 0, 0, 84, 96, 6, 64,249,162, 43, 65, 57,160, 2, 63,214,
/* 0x04b0 */ 163, 71, 64,185,129, 6, 64,249,128, 2, 64,249, 33, 0, 3,139,
/* 0x04c0 */ 129, 6, 0,249, 0, 0, 3,203,128, 2, 0,249, 5, 0, 0, 20,
/* 0x04d0 */ 97, 6, 64,249,224, 3, 20,170,226, 3, 2, 42,164,255,255,151,
/* 0x04e0 */ 163, 67, 64,185, 97, 6, 64,249, 96, 2, 64,249, 33, 0, 3,139,
/* 0x04f0 */ 97, 6, 0,249, 0, 0, 3,203, 96, 2, 0,249,187,255,255, 23,
/* 0x0500 */ 243, 83, 65,169,245, 91, 66,169,253,123,197,168,192, 3, 95,214,
/* 0x0510 */ 0, 2, 0,180,224, 1, 0, 55,228, 3, 1, 42, 3, 0, 64,249,
/* 0x0520 */ 127, 0, 4,235,129, 0, 0, 84, 4, 0, 0,249, 2, 4, 0,249,
/* 0x0530 */ 8, 0, 0, 20,127, 4, 0,241, 97, 0, 0, 84, 97, 0, 0, 52,
/* 0x0540 */ 250,255,255, 23, 99, 0, 0,180, 0, 64, 0,145,244,255,255, 23,
/* 0x0550 */ 192, 3, 95,214,253,123,181,169,253, 3, 0,145,232, 39, 6,109,
/* 0x0560 */ 201, 0,103,158, 6, 16, 64,249,236, 55, 8,109,245, 91, 2,169,
/* 0x0570 */ 238, 63, 9,109,246, 3, 0,170,234, 47, 7,109,251,115, 5,169,
/* 0x0580 */ 28, 0, 6,139,245, 3, 1,170, 32, 1,102,158,249,107, 4,169,
/* 0x0590 */ 243, 83, 1,169,247, 99, 3,169, 76, 0, 39, 30,250, 3, 3,170,
/* 0x05a0 */ 141, 0,103,158,249, 3, 7,170,174, 0,103,158, 2, 0, 64,249,
/* 0x05b0 */ 195, 34, 64,121, 65, 2, 0,180, 65, 16, 64,249,127, 8, 0,113,
/* 0x05c0 */ 65, 0, 1,139, 32, 36, 64,249, 64, 0, 0,203, 65, 0, 0, 84,
/* 0x05d0 */ 32, 8, 64,249, 33, 20, 64,249, 2, 0,128, 82, 67, 6,128, 82,
/* 0x05e0 */ 4, 0,128, 18, 5, 0,128,210,191,254,255,151,193, 34, 64,121,
/* 0x05f0 */ 63, 8, 0,113, 19, 16,159,154, 42, 0, 0, 20,127, 12, 0,113,
/* 0x0600 */ 3, 2,128, 82, 99, 16,159, 26,199,114, 64,121,224, 3, 2,170,
/* 0x0610 */ 99,136, 0, 17,228, 3, 28,170, 19, 0,128,146,231, 4, 0, 81,
/* 0x0620 */ 255, 4, 0, 49,160, 1, 0, 84,133, 0, 64,185,191, 4, 0,113,
/* 0x0630 */ 1, 1, 0, 84,136, 8, 64,249,133, 20, 64,249,127, 2, 8,235,
/* 0x0640 */ 5, 1, 5,139,115,146,136,154, 63, 0, 5,235, 33, 32,133,154,
/* 0x0650 */ 132,224, 0,145,242,255,255, 23,228, 3, 57,170,115, 2, 25,138,
/* 0x0660 */ 129, 0, 1,139, 33, 0, 19,203, 33, 0, 25,138,163, 0, 32, 55,
/* 0x0670 */ 83, 0, 0,181,162, 0, 0,181, 0, 0,128,210, 4, 0, 0, 20,
/* 0x0680 */ 224, 3, 19,170, 2, 0, 0, 20, 67, 6,128, 82, 2, 0,128, 82,
/* 0x0690 */ 4, 0,128, 18, 5, 0,128,210,147,254,255,151, 19, 0, 19,203,
/* 0x06a0 */ 224, 3, 57, 42,232, 3, 39, 30, 10, 0, 39, 30,224, 3, 57,170,
/* 0x06b0 */ 15, 0,103,158, 1, 1, 38, 30,192,114, 64,121, 63, 0, 0,107,
/* 0x06c0 */ 42, 21, 0, 84,128, 3, 64,185, 53, 1, 0,180, 31, 24, 0,113,
/* 0x06d0 */ 225, 0, 0, 84,130, 11, 64,249,224, 3, 26,170, 97, 0,128, 82,
/* 0x06e0 */ 98, 2, 2,139,139,255,255,151,154, 0, 0, 20, 31, 4, 0,113,
/* 0x06f0 */ 1, 19, 0, 84,128, 23, 64,249,192, 18, 0,180,155, 7, 64,185,
/* 0x0700 */ 0, 72,140, 82, 32,106,174,114,123, 11, 30, 83, 27, 36,219, 26,
/* 0x0710 */ 121, 11, 0, 18, 85, 2, 0,180,128, 7, 64,249, 0, 2, 0,181,
/* 0x0720 */ 194, 18, 64,249,224, 3, 26,170,131, 11, 64,249, 97, 0,128, 82,
/* 0x0730 */ 98, 2, 2,139, 66, 0, 3,139,118,255,255,151,194,114, 64,121,
/* 0x0740 */ 224, 3, 26,170,161, 0,128, 82,114,255,255,151,194,110, 64,121,
/* 0x0750 */ 224, 3, 26,170,129, 0,128, 82,110,255,255,151,148, 11, 64,249,
/* 0x0760 */ 191, 2, 31,235,128, 23, 64,249,130, 0,128, 18,116, 2, 20,139,
/* 0x0770 */ 151, 19, 64,249,128, 2, 0,139,183, 83, 0,249,225, 1,102,158,
/* 0x0780 */ 180, 87, 0,249, 11, 0,103,158,152, 2, 23,139, 64, 1, 38, 30,
/* 0x0790 */ 135, 7, 64,249, 67, 6,128, 82, 5, 0, 20, 10,148, 2, 5,203,
/* 0x07a0 */ 183, 0, 23,139,128, 2, 23,139,229, 0, 5,203,224, 3, 0,203,
/* 0x07b0 */ 0, 0, 1,138, 23, 0, 23,139, 64, 0,128, 82, 4, 16,159, 26,
/* 0x07c0 */ 191, 2, 31,235,132, 0, 25, 42, 66, 16,159, 90, 66, 0, 4, 10,
/* 0x07d0 */ 191, 2, 31,235,132, 1, 38, 30, 64, 2,128, 82, 3, 0,131, 26,
/* 0x07e0 */ 191, 2, 31,235,224, 3, 20,170,225, 3, 23,170,132, 0,159, 90,
/* 0x07f0 */ 61,254,255,151,159, 2, 0,235, 96, 0, 0, 84,224, 15,128, 82,
/* 0x0800 */ 180,254,255,151,213, 0, 0,180,162, 1,102,158,224, 3, 21,170,
/* 0x0810 */ 195, 1,102,158,161,131, 2,145,236,254,255,151,187, 1, 8, 54,
/* 0x0820 */ 64, 1, 38, 30,225, 3, 24, 75, 34, 0, 0, 10, 0, 0,128,210,
/* 0x0830 */ 98, 0, 0, 53, 24, 3, 2,139, 6, 0, 0, 20, 31,107, 32, 56,
/* 0x0840 */ 0, 4, 0,145, 31, 0, 2,235,161,255,255, 84,250,255,255, 23,
/* 0x0850 */ 117, 6, 0,180,128, 3, 64,249,225, 3, 0,178, 0,128, 64,146,
/* 0x0860 */ 31, 0, 1,235, 33, 5, 0, 84,155, 23, 64,249,129, 19, 64,249,
/* 0x0870 */ 128, 11, 64,249,127, 3, 1,235, 65, 3, 0, 84, 97, 14, 0,145,
/* 0x0880 */ 59, 0, 27,139, 65, 1, 38, 30,123, 3, 0,139,123,247,126,146,
/* 0x0890 */ 224, 3, 27, 75, 0, 0, 1, 10, 31, 44, 0,113, 41, 2, 0, 84,
/* 0x08a0 */ 0, 0,128, 82, 33, 0,128, 82, 1,128,186,114, 97, 3, 0,185,
/* 0x08b0 */ 1,252,128, 82, 33, 24,181,114, 97, 7, 0,185, 1,120,128, 82,
/* 0x08c0 */ 225,203,186,114, 97, 11, 0,185, 96, 5, 0, 52,224, 3, 27,170,
/* 0x08d0 */ 129, 1,128,210,162, 0,128, 82, 10,254,255,151, 38, 0, 0, 20,
/* 0x08e0 */ 0, 0,128,210, 1, 0,130,210, 98, 0,128, 82, 67, 4,128, 82,
/* 0x08f0 */ 4, 0,128, 18,229, 3, 0,170,251,253,255,151,251, 3, 0,170,
/* 0x0900 */ 32, 0,128, 82, 27,253,255,181,224, 3, 20,170,225, 3, 23,170,
/* 0x0910 */ 226, 3, 25, 42,251,253,255,151, 32,247,255, 53, 96, 1,102,158,
/* 0x0920 */ 31, 3, 0,235, 98, 1, 0, 84, 97, 1,102,158,224, 3, 24,170,
/* 0x0930 */ 226, 3, 25, 42, 67, 6,128, 82, 4, 0,128, 18, 5, 0,128,210,
/* 0x0940 */ 33, 0, 24,203,232,253,255,151, 31, 3, 0,235,129,245,255, 84,
/* 0x0950 */ 0, 1, 38, 30,156,227, 0,145, 0, 4, 0, 17, 8, 0, 39, 30,
/* 0x0960 */ 85,255,255, 23, 32, 1,102,158, 0, 1, 0,180, 19, 0, 0,249,
/* 0x0970 */ 6, 0, 0, 20, 64,251,127,146, 1, 0,128, 82,226, 3, 27,170,
/* 0x0980 */ 228,254,255,151,225,255,255, 23,192, 14, 64,249,232, 39, 70,109,
/* 0x0990 */ 245, 91, 66,169,234, 47, 71,109, 96, 2, 0,139,236, 55, 72,109,
/* 0x09a0 */ 243, 83, 65,169,238, 63, 73,109,247, 99, 67,169,249,107, 68,169,
/* 0x09b0 */ 251,115, 69,169,253,123,203,168,192, 3, 95,214,253,123,182,169,
/* 0x09c0 */ 253, 3, 0,145,247, 99, 3,169,247, 3, 3,170, 3, 4, 64,185,
/* 0x09d0 */ 243, 83, 1,169,162, 63, 0,249,243, 3, 2,170, 99, 48, 0,145,
/* 0x09e0 */ 2, 0, 64,185,162, 59, 0,249,226, 3, 4,170,160, 79, 0,249,
/* 0x09f0 */ 116, 2, 1,145,163, 75, 0,249, 3, 0,128,210,160, 71, 0,249,
/* 0x0a00 */ 160, 67, 2,145,161, 67, 0,249,161,195, 1,145,245, 91, 2,169,
/* 0x0a10 */ 249, 35, 0,249,249, 3, 7,170,165, 47, 0,249, 22, 0,128, 82,
/* 0x0a20 */ 166, 55, 0,249,164, 51, 0,249,104,254,255,151,164, 51, 64,249,
/* 0x0a30 */ 161, 3, 2,145,165, 47, 64,249, 2, 0,128, 82,227, 3, 23,170,
/* 0x0a40 */ 166,163, 1,145,231, 3, 25,170,224, 3, 19,170,194,254,255,151,
/* 0x0a50 */ 245, 3, 0,170, 33, 1,128, 82,224, 3, 23,170,226, 3, 21,170,
/* 0x0a60 */ 172,254,255,151, 96,114, 64,121,223, 2, 0,107,226, 4, 0, 84,
/* 0x0a70 */ 128, 2, 64,185, 31, 12, 0,113, 33, 4, 0, 84,129, 10, 64,249,
/* 0x0a80 */ 160, 55, 64,249, 32, 0, 0,139, 1, 0,128, 82,226, 3, 1, 42,
/* 0x0a90 */ 43,254,255,151,248, 3, 0, 42, 96, 0,248, 54,224, 15,128, 82,
/* 0x0aa0 */ 12,254,255,151,225, 3, 19,170, 2,128,128,210, 11,254,255,151,
/* 0x0ab0 */ 31, 0, 16,241, 65,255,255, 84, 1, 0,128,210,226, 3, 24, 42,
/* 0x0ac0 */ 227, 3, 1,170,228, 3, 1,170,229, 3, 1,170,166,163, 1,145,
/* 0x0ad0 */ 231, 3, 25,170,224, 3, 19,170,191, 55, 0,249,158,254,255,151,
/* 0x0ae0 */ 245, 3, 0,170,162, 55, 64,249,224, 3, 23,170,225, 0,128, 82,
/* 0x0af0 */ 136,254,255,151,224, 3, 24, 42,254,253,255,151,148,226, 0,145,
/* 0x0b00 */ 214, 6, 0, 17,216,255,255, 23,224, 3, 21,170,249, 35, 64,249,
/* 0x0b10 */ 243, 83, 65,169,245, 91, 66,169,247, 99, 67,169,253,123,202,168,
/* 0x0b20 */ 192, 3, 95,214
/* 0x0150 */ 225, 99, 0,145, 31, 0, 0,145,226, 12, 64,169,226, 15, 0,169,
/* 0x0160 */ 226, 8, 64,249,226, 11, 0,249,224, 99, 0,145, 34,132, 64,248,
/* 0x0170 */ 2,132, 0,248,194,255,255,181, 34,132, 64,248, 2,132, 0,248,
/* 0x0180 */ 194,255,255,181, 4, 32, 0,209, 31,132, 0,248,231, 3, 0,170,
/* 0x0190 */ 246, 3, 0,170, 34, 12,193,168, 2, 12,129,168,194,255,255,181,
/* 0x01a0 */ 247, 3, 0,170,225, 3, 0,170,129, 0, 0,249,226, 6, 0, 24,
/* 0x01b0 */ 34, 68, 0,184,226,255,129, 82,160, 6, 0, 16, 98, 0, 0,148,
/* 0x01c0 */ 31, 4, 64,177, 66, 0, 0, 84, 95,104, 32, 56,231, 3, 20,170,
/* 0x01d0 */ 230, 3, 25,170,255, 3, 48,209, 37, 6, 0, 16,228, 3, 24,170,
/* 0x01e0 */ 227, 3, 22,170,226, 3, 0,145,225, 3, 29, 42,224, 3, 28,170,
/* 0x01f0 */ 247, 1, 0,148,255, 3, 48,145,248, 3, 0,170, 33, 83, 64,249,
/* 0x0200 */ 224, 3, 25,170, 34, 67, 64, 57, 95, 8, 0,113, 65, 0, 0, 84,
/* 0x0210 */ 66, 0, 0,148,224, 3, 25,170, 67, 0, 0,148, 5, 0,128,210,
/* 0x0220 */ 228, 3, 21, 42,159, 0, 0,113, 11, 1, 0, 84, 67, 0,128, 82,
/* 0x0230 */ 34, 0,128, 82, 1, 0,130,210, 0, 0,128,210,170,255,255,151,
/* 0x0240 */ 224, 3, 21, 42, 47, 0, 0,148,254, 3, 24,170,224, 3, 26,170,
/* 0x0250 */ 225, 3, 27, 42,226,130, 95,248,255,127,191,169,240, 3, 31,170,
/* 0x0260 */ 227, 19, 64,169,230, 31, 64,169,232, 39, 64,169,244, 87, 64,169,
/* 0x0270 */ 246, 95, 64,169,248,103, 64,169,250,111, 64,169,252,119,193,168,
/* 0x0280 */ 224, 7,193,168,192, 3, 95,214, 32, 32, 32, 61, 47,112,114,111,
/* 0x0290 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0, 99, 28, 0, 18,
/* 0x02a0 */ 127, 72, 1,113,129, 1, 0, 84, 33,252, 66,211, 65, 1, 0,180,
/* 0x02b0 */ 33, 4, 0,209, 2,120, 97,184, 67,120, 26, 83,127, 20, 0,113,
/* 0x02c0 */ 129, 0, 0, 84, 67, 0, 1, 75, 98,100, 0, 51, 2,120, 33,184,
/* 0x02d0 */ 1,255,255,181,192, 3, 95,214, 0, 0, 32,212,192, 3, 95,214,
/* 0x02e0 */ 168, 11,128, 82, 1, 0, 0,212,232, 7,128, 82, 1, 0, 0,212,
/* 0x02f0 */ 192, 3, 95,214, 8, 8,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0300 */ 40, 7,128, 82, 1, 0, 0,212,192, 3, 95,214,168, 21,128, 82,
/* 0x0310 */ 1, 0, 0,212,192, 3, 95,214,200, 26,128, 82, 1, 0, 0,212,
/* 0x0320 */ 192, 3, 95,214,232, 26,128, 82, 1, 0, 0,212,192, 3, 95,214,
/* 0x0330 */ 2, 0,128,210,225, 3, 0,170, 96, 12,128, 18,104, 4,128, 82,
/* 0x0340 */ 4, 0, 0, 20,200, 9,128, 82, 2, 0, 0, 20, 8, 7,128, 82,
/* 0x0350 */ 227, 3, 2,170,226, 3, 1,170,225, 3, 0,170, 96, 12,128,146,
/* 0x0360 */ 1, 0, 0,212,192, 3, 95,214, 0, 0, 64,212, 2, 0,128, 82,
/* 0x0370 */ 8, 0,128, 82, 1, 0, 0,212,192, 3, 95,214,253,123,191,169,
/* 0x0380 */ 3, 0,128,210,253, 3, 0,145, 5, 0, 64,249, 4, 4, 64,249,
/* 0x0390 */ 191, 0, 2,235, 98, 0, 0, 84,224, 15,128, 82,209,255,255,151,
/* 0x03a0 */ 127, 0, 2,235,160, 0, 0, 84,133,104, 99, 56, 37,104, 35, 56,
/* 0x03b0 */ 99, 4, 0,145,251,255,255, 23, 1, 4, 64,249, 33, 0, 3,139,
/* 0x03c0 */ 1, 4, 0,249, 1, 0, 64,249, 35, 0, 3,203, 3, 0, 0,249,
/* 0x03d0 */ 253,123,193,168,192, 3, 95,214,253,123,187,169,253, 3, 0,145,
/* 0x03e0 */ 243, 83, 1,169,245, 91, 2,169,244, 3, 0,170,243, 3, 1,170,
/* 0x03f0 */ 246, 3, 2,170,245, 3, 3,170, 96, 2, 64,249,160, 8, 0,180,
/* 0x0400 */ 224, 3, 20,170,130, 1,128,210,161, 3, 1,145,220,255,255,151,
/* 0x0410 */ 160, 67, 64,185,162, 71, 64,185, 0, 1, 0, 53,160, 10,138, 82,
/* 0x0420 */ 0, 43,164,114, 95, 0, 0,107,225, 0, 0, 84,128, 2, 64,249,
/* 0x0430 */ 0, 7, 0,180, 4, 0, 0, 20, 98, 0, 0, 52, 95, 0, 0,107,
/* 0x0440 */ 105, 0, 0, 84,224, 15,128, 82,166,255,255,151, 99, 2, 64,249,
/* 0x0450 */ 225, 3, 0, 42, 63, 0, 3,235,104,255,255, 84, 95, 0, 0,107,
/* 0x0460 */ 2, 4, 0, 84,161, 31, 0,249,225, 3, 2, 42,128, 6, 64,249,
/* 0x0470 */ 163,227, 0,145, 98, 6, 64,249,164, 35, 65, 57,192, 2, 63,214,
/* 0x0480 */ 32,254,255, 53,161, 31, 64,249,160, 67, 64,185, 63, 0, 0,235,
/* 0x0490 */ 161,253,255, 84,163, 39, 65, 57, 85, 1, 0,180, 35, 1, 0, 52,
/* 0x04a0 */ 63, 0, 8,241,136, 0, 0, 84, 96, 2, 64,249, 31, 0, 1,235,
/* 0x04b0 */ 129, 0, 0, 84, 96, 6, 64,249,162, 43, 65, 57,160, 2, 63,214,
/* 0x04c0 */ 163, 71, 64,185,129, 6, 64,249,128, 2, 64,249, 33, 0, 3,139,
/* 0x04d0 */ 129, 6, 0,249, 0, 0, 3,203,128, 2, 0,249, 5, 0, 0, 20,
/* 0x04e0 */ 97, 6, 64,249,224, 3, 20,170,226, 3, 2, 42,164,255,255,151,
/* 0x04f0 */ 163, 67, 64,185, 97, 6, 64,249, 96, 2, 64,249, 33, 0, 3,139,
/* 0x0500 */ 97, 6, 0,249, 0, 0, 3,203, 96, 2, 0,249,187,255,255, 23,
/* 0x0510 */ 243, 83, 65,169,245, 91, 66,169,253,123,197,168,192, 3, 95,214,
/* 0x0520 */ 0, 2, 0,180,224, 1, 0, 55,228, 3, 1, 42, 3, 0, 64,249,
/* 0x0530 */ 127, 0, 4,235,129, 0, 0, 84, 4, 0, 0,249, 2, 4, 0,249,
/* 0x0540 */ 8, 0, 0, 20,127, 4, 0,241, 97, 0, 0, 84, 97, 0, 0, 52,
/* 0x0550 */ 250,255,255, 23, 99, 0, 0,180, 0, 64, 0,145,244,255,255, 23,
/* 0x0560 */ 192, 3, 95,214,253,123,181,169,253, 3, 0,145,232, 39, 6,109,
/* 0x0570 */ 201, 0,103,158, 6, 16, 64,249,236, 55, 8,109,245, 91, 2,169,
/* 0x0580 */ 238, 63, 9,109,246, 3, 0,170,234, 47, 7,109,251,115, 5,169,
/* 0x0590 */ 28, 0, 6,139,245, 3, 1,170, 32, 1,102,158,249,107, 4,169,
/* 0x05a0 */ 243, 83, 1,169,247, 99, 3,169, 76, 0, 39, 30,250, 3, 3,170,
/* 0x05b0 */ 141, 0,103,158,249, 3, 7,170,174, 0,103,158, 2, 0, 64,249,
/* 0x05c0 */ 195, 34, 64,121, 65, 2, 0,180, 65, 16, 64,249,127, 8, 0,113,
/* 0x05d0 */ 65, 0, 1,139, 32, 36, 64,249, 64, 0, 0,203, 65, 0, 0, 84,
/* 0x05e0 */ 32, 8, 64,249, 33, 20, 64,249, 2, 0,128, 82, 67, 6,128, 82,
/* 0x05f0 */ 4, 0,128, 18, 5, 0,128,210,187,254,255,151,193, 34, 64,121,
/* 0x0600 */ 63, 8, 0,113, 19, 16,159,154, 42, 0, 0, 20,127, 12, 0,113,
/* 0x0610 */ 3, 2,128, 82, 99, 16,159, 26,199,114, 64,121,224, 3, 2,170,
/* 0x0620 */ 99,136, 0, 17,228, 3, 28,170, 19, 0,128,146,231, 4, 0, 81,
/* 0x0630 */ 255, 4, 0, 49,160, 1, 0, 84,133, 0, 64,185,191, 4, 0,113,
/* 0x0640 */ 1, 1, 0, 84,136, 8, 64,249,133, 20, 64,249,127, 2, 8,235,
/* 0x0650 */ 5, 1, 5,139,115,146,136,154, 63, 0, 5,235, 33, 32,133,154,
/* 0x0660 */ 132,224, 0,145,242,255,255, 23,228, 3, 57,170,115, 2, 25,138,
/* 0x0670 */ 129, 0, 1,139, 33, 0, 19,203, 33, 0, 25,138,163, 0, 32, 55,
/* 0x0680 */ 83, 0, 0,181,162, 0, 0,181, 0, 0,128,210, 4, 0, 0, 20,
/* 0x0690 */ 224, 3, 19,170, 2, 0, 0, 20, 67, 6,128, 82, 2, 0,128, 82,
/* 0x06a0 */ 4, 0,128, 18, 5, 0,128,210,143,254,255,151, 19, 0, 19,203,
/* 0x06b0 */ 224, 3, 57, 42,232, 3, 39, 30, 10, 0, 39, 30,224, 3, 57,170,
/* 0x06c0 */ 15, 0,103,158, 1, 1, 38, 30,192,114, 64,121, 63, 0, 0,107,
/* 0x06d0 */ 42, 21, 0, 84,128, 3, 64,185, 53, 1, 0,180, 31, 24, 0,113,
/* 0x06e0 */ 225, 0, 0, 84,130, 11, 64,249,224, 3, 26,170, 97, 0,128, 82,
/* 0x06f0 */ 98, 2, 2,139,139,255,255,151,154, 0, 0, 20, 31, 4, 0,113,
/* 0x0700 */ 1, 19, 0, 84,128, 23, 64,249,192, 18, 0,180,155, 7, 64,185,
/* 0x0710 */ 0, 72,140, 82, 32,106,174,114,123, 11, 30, 83, 27, 36,219, 26,
/* 0x0720 */ 121, 11, 0, 18, 85, 2, 0,180,128, 7, 64,249, 0, 2, 0,181,
/* 0x0730 */ 194, 18, 64,249,224, 3, 26,170,131, 11, 64,249, 97, 0,128, 82,
/* 0x0740 */ 98, 2, 2,139, 66, 0, 3,139,118,255,255,151,194,114, 64,121,
/* 0x0750 */ 224, 3, 26,170,161, 0,128, 82,114,255,255,151,194,110, 64,121,
/* 0x0760 */ 224, 3, 26,170,129, 0,128, 82,110,255,255,151,148, 11, 64,249,
/* 0x0770 */ 191, 2, 31,235,128, 23, 64,249,130, 0,128, 18,116, 2, 20,139,
/* 0x0780 */ 151, 19, 64,249,128, 2, 0,139,183, 83, 0,249,225, 1,102,158,
/* 0x0790 */ 180, 87, 0,249, 11, 0,103,158,152, 2, 23,139, 64, 1, 38, 30,
/* 0x07a0 */ 135, 7, 64,249, 67, 6,128, 82, 5, 0, 20, 10,148, 2, 5,203,
/* 0x07b0 */ 183, 0, 23,139,128, 2, 23,139,229, 0, 5,203,224, 3, 0,203,
/* 0x07c0 */ 0, 0, 1,138, 23, 0, 23,139, 64, 0,128, 82, 4, 16,159, 26,
/* 0x07d0 */ 191, 2, 31,235,132, 0, 25, 42, 66, 16,159, 90, 66, 0, 4, 10,
/* 0x07e0 */ 191, 2, 31,235,132, 1, 38, 30, 64, 2,128, 82, 3, 0,131, 26,
/* 0x07f0 */ 191, 2, 31,235,224, 3, 20,170,225, 3, 23,170,132, 0,159, 90,
/* 0x0800 */ 57,254,255,151,159, 2, 0,235, 96, 0, 0, 84,224, 15,128, 82,
/* 0x0810 */ 180,254,255,151,213, 0, 0,180,162, 1,102,158,224, 3, 21,170,
/* 0x0820 */ 195, 1,102,158,161,131, 2,145,236,254,255,151,187, 1, 8, 54,
/* 0x0830 */ 64, 1, 38, 30,225, 3, 24, 75, 34, 0, 0, 10, 0, 0,128,210,
/* 0x0840 */ 98, 0, 0, 53, 24, 3, 2,139, 6, 0, 0, 20, 31,107, 32, 56,
/* 0x0850 */ 0, 4, 0,145, 31, 0, 2,235,161,255,255, 84,250,255,255, 23,
/* 0x0860 */ 117, 6, 0,180,128, 3, 64,249,225, 3, 0,178, 0,128, 64,146,
/* 0x0870 */ 31, 0, 1,235, 33, 5, 0, 84,155, 23, 64,249,129, 19, 64,249,
/* 0x0880 */ 128, 11, 64,249,127, 3, 1,235, 65, 3, 0, 84, 97, 14, 0,145,
/* 0x0890 */ 59, 0, 27,139, 65, 1, 38, 30,123, 3, 0,139,123,247,126,146,
/* 0x08a0 */ 224, 3, 27, 75, 0, 0, 1, 10, 31, 44, 0,113, 41, 2, 0, 84,
/* 0x08b0 */ 0, 0,128, 82, 33, 0,128, 82, 1,128,186,114, 97, 3, 0,185,
/* 0x08c0 */ 1,252,128, 82, 33, 24,181,114, 97, 7, 0,185, 1,120,128, 82,
/* 0x08d0 */ 225,203,186,114, 97, 11, 0,185, 96, 5, 0, 52,224, 3, 27,170,
/* 0x08e0 */ 129, 1,128,210,162, 0,128, 82, 6,254,255,151, 38, 0, 0, 20,
/* 0x08f0 */ 0, 0,128,210, 1, 0,130,210, 98, 0,128, 82, 67, 4,128, 82,
/* 0x0900 */ 4, 0,128, 18,229, 3, 0,170,247,253,255,151,251, 3, 0,170,
/* 0x0910 */ 32, 0,128, 82, 27,253,255,181,224, 3, 20,170,225, 3, 23,170,
/* 0x0920 */ 226, 3, 25, 42,247,253,255,151, 32,247,255, 53, 96, 1,102,158,
/* 0x0930 */ 31, 3, 0,235, 98, 1, 0, 84, 97, 1,102,158,224, 3, 24,170,
/* 0x0940 */ 226, 3, 25, 42, 67, 6,128, 82, 4, 0,128, 18, 5, 0,128,210,
/* 0x0950 */ 33, 0, 24,203,228,253,255,151, 31, 3, 0,235,129,245,255, 84,
/* 0x0960 */ 0, 1, 38, 30,156,227, 0,145, 0, 4, 0, 17, 8, 0, 39, 30,
/* 0x0970 */ 85,255,255, 23, 32, 1,102,158, 0, 1, 0,180, 19, 0, 0,249,
/* 0x0980 */ 6, 0, 0, 20, 64,251,127,146, 1, 0,128, 82,226, 3, 27,170,
/* 0x0990 */ 228,254,255,151,225,255,255, 23,192, 14, 64,249,232, 39, 70,109,
/* 0x09a0 */ 245, 91, 66,169,234, 47, 71,109, 96, 2, 0,139,236, 55, 72,109,
/* 0x09b0 */ 243, 83, 65,169,238, 63, 73,109,247, 99, 67,169,249,107, 68,169,
/* 0x09c0 */ 251,115, 69,169,253,123,203,168,192, 3, 95,214,253,123,182,169,
/* 0x09d0 */ 253, 3, 0,145,247, 99, 3,169,247, 3, 3,170, 3, 4, 64,185,
/* 0x09e0 */ 243, 83, 1,169,162, 63, 0,249,243, 3, 2,170, 99, 48, 0,145,
/* 0x09f0 */ 2, 0, 64,185,162, 59, 0,249,226, 3, 4,170,160, 79, 0,249,
/* 0x0a00 */ 116, 2, 1,145,163, 75, 0,249, 3, 0,128,210,160, 71, 0,249,
/* 0x0a10 */ 160, 67, 2,145,161, 67, 0,249,161,195, 1,145,245, 91, 2,169,
/* 0x0a20 */ 249, 35, 0,249,249, 3, 7,170,165, 47, 0,249, 22, 0,128, 82,
/* 0x0a30 */ 166, 55, 0,249,164, 51, 0,249,104,254,255,151,164, 51, 64,249,
/* 0x0a40 */ 161, 3, 2,145,165, 47, 64,249, 2, 0,128, 82,227, 3, 23,170,
/* 0x0a50 */ 166,163, 1,145,231, 3, 25,170,224, 3, 19,170,194,254,255,151,
/* 0x0a60 */ 245, 3, 0,170, 33, 1,128, 82,224, 3, 23,170,226, 3, 21,170,
/* 0x0a70 */ 172,254,255,151, 96,114, 64,121,223, 2, 0,107,226, 4, 0, 84,
/* 0x0a80 */ 128, 2, 64,185, 31, 12, 0,113, 33, 4, 0, 84,129, 10, 64,249,
/* 0x0a90 */ 160, 55, 64,249, 32, 0, 0,139, 1, 0,128, 82,226, 3, 1, 42,
/* 0x0aa0 */ 43,254,255,151,248, 3, 0, 42, 96, 0,248, 54,224, 15,128, 82,
/* 0x0ab0 */ 12,254,255,151,225, 3, 19,170, 2,128,128,210, 11,254,255,151,
/* 0x0ac0 */ 31, 0, 16,241, 65,255,255, 84, 1, 0,128,210,226, 3, 24, 42,
/* 0x0ad0 */ 227, 3, 1,170,228, 3, 1,170,229, 3, 1,170,166,163, 1,145,
/* 0x0ae0 */ 231, 3, 25,170,224, 3, 19,170,191, 55, 0,249,158,254,255,151,
/* 0x0af0 */ 245, 3, 0,170,162, 55, 64,249,224, 3, 23,170,225, 0,128, 82,
/* 0x0b00 */ 136,254,255,151,224, 3, 24, 42,254,253,255,151,148,226, 0,145,
/* 0x0b10 */ 214, 6, 0, 17,216,255,255, 23,224, 3, 21,170,249, 35, 64,249,
/* 0x0b20 */ 243, 83, 65,169,245, 91, 66,169,247, 99, 67,169,253,123,202,168,
/* 0x0b30 */ 192, 3, 95,214
};