Many changes for ELF shared libraries on Linux and Android

Handling more than 2 PT_LOAD (and thus more than 1 executable PT_LOAD)
required extensive changes.  But the bonus is the infrastructure
to support a different (de-)compression algorithm for each PT_LOAD.

https://github.com/upx/upx/issues/341   i386 .so decompression
https://github.com/upx/upx/issues/609   armv7 .so on Android
https://github.com/upx/upx/issues/625   amd64 .so execution
https://github.com/upx/upx/issues/654   armv7 .exe
Not yet: .so on MIPS, PowerPC, PowerPC64
This commit is contained in:
John Reiser
2023-03-04 17:37:25 -08:00
committed by Markus F.X.J. Oberhumer
parent fa56a1d9cd
commit adb0ca8250
121 changed files with 15796 additions and 6036 deletions
+86 -86
View File
@@ -1,5 +1,5 @@
/* arm.v5a-linux.elf-fold.h
created from arm.v5a-linux.elf-fold.bin, 3012 (0xbc4) bytes
created from arm.v5a-linux.elf-fold.bin, 3020 (0xbcc) bytes
This file is part of the UPX executable compressor.
@@ -31,17 +31,17 @@
*/
#define STUB_ARM_V5A_LINUX_ELF_FOLD_SIZE 3012
#define STUB_ARM_V5A_LINUX_ELF_FOLD_ADLER32 0x1a56e1a5
#define STUB_ARM_V5A_LINUX_ELF_FOLD_CRC32 0x53afc6d8
#define STUB_ARM_V5A_LINUX_ELF_FOLD_SIZE 3020
#define STUB_ARM_V5A_LINUX_ELF_FOLD_ADLER32 0x3df6e584
#define STUB_ARM_V5A_LINUX_ELF_FOLD_CRC32 0x3bac7d70
unsigned char stub_arm_v5a_linux_elf_fold[3012] = {
unsigned char stub_arm_v5a_linux_elf_fold[3020] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 40, 0, 1, 0, 0, 0,128,128, 0, 0, 52, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 2, 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,128, 0, 0,
/* 0x0040 */ 0,128, 0, 0,196, 11, 0, 0,196, 11, 0, 0, 5, 0, 0, 0,
/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0,196, 11, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 0,128, 0, 0,204, 11, 0, 0,204, 11, 0, 0, 5, 0, 0, 0,
/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0,204, 11, 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,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 34, 0, 0, 0,192, 31,189,232, 13, 16,160,225, 1,218, 77,226,
@@ -61,7 +61,7 @@ unsigned char stub_arm_v5a_linux_elf_fold[3012] = {
/* 0x0160 */ 24, 0,141,229, 4, 32, 49,229, 13, 0, 81,225, 4, 32, 32,229,
/* 0x0170 */ 251,255,255, 26, 0,208,160,225, 16, 12,189,232, 10,220, 77,226,
/* 0x0180 */ 4,144,154,229, 13,128,160,225, 0,112,154,229,176, 96,143,226,
/* 0x0190 */ 12,144,137,226,248, 15, 45,233, 15, 0,189,232, 59, 2, 0,235,
/* 0x0190 */ 12,144,137,226,248, 15, 45,233, 15, 0,189,232, 61, 2, 0,235,
/* 0x01a0 */ 20,208,141,226, 10,220,141,226, 16, 0,141,229, 92, 16,155,229,
/* 0x01b0 */ 60, 32,155,229, 11, 0,160,225, 2, 16, 65,224, 97, 0, 0,235,
/* 0x01c0 */ 4, 64,157,228, 0, 80,160,227, 48, 0, 45,233, 2, 48,160,227,
@@ -71,7 +71,7 @@ unsigned char stub_arm_v5a_linux_elf_fold[3012] = {
/* 0x0200 */ 0,144,160,227, 0,160,160,227, 0,176,160,227, 1,199, 77,226,
/* 0x0210 */ 32,112, 29,228, 0,112,141,229, 0,112,157,229, 13, 0, 92,225,
/* 0x0220 */ 250,255,255, 58, 1,215,141,226, 0,192,160,227, 91,112,160,227,
/* 0x0230 */ 4,240, 18,229, 47,112,114,111, 99, 47,115,101,108,102, 47,101,
/* 0x0230 */ 14,240,160,225, 47,112,114,111, 99, 47,115,101,108,102, 47,101,
/* 0x0240 */ 120,101, 0, 0,255, 48, 3,226, 80, 0, 83,227, 14,240,160, 17,
/* 0x0250 */ 33, 17,176,225, 0, 0, 80, 19, 14,240,160, 1, 1, 16, 65,226,
/* 0x0260 */ 1, 33,144,231, 15, 52, 2,226, 11, 4, 83,227, 4, 0, 0, 26,
@@ -133,11 +133,11 @@ unsigned char stub_arm_v5a_linux_elf_fold[3012] = {
/* 0x05e0 */ 0, 48,148,229, 0, 0, 83,227,185,255,255, 26, 20,208,141,226,
/* 0x05f0 */ 240,128,189,232, 85, 80, 88, 33,240, 79, 45,233, 1,128,160,225,
/* 0x0600 */ 28, 16,145,229, 52,208, 77,226, 0,144, 82,226, 12, 0,141,229,
/* 0x0610 */ 8, 48,141,229, 1, 96,136,224, 18, 0, 0, 10, 88, 16,157,229,
/* 0x0620 */ 0, 0,145,229,176, 49,208,225, 52, 16,128,226, 2, 0, 83,227,
/* 0x0630 */ 40, 48,145, 21, 8, 80,145, 5, 0, 0, 99, 16, 20, 48,145,229,
/* 0x0640 */ 0, 80,160, 17, 0, 32,160, 3, 24, 0,141, 21, 3, 16,160,225,
/* 0x0650 */ 5, 0,160,225, 5, 48,131,224, 24, 32,141, 5, 20, 48,141,229,
/* 0x0610 */ 8, 48,141,229, 1, 96,136,224, 18, 0, 0, 10, 88, 32,157,229,
/* 0x0620 */ 0, 0,146,229,176, 49,208,225, 52, 16,128,226, 2, 0, 83,227,
/* 0x0630 */ 40, 48,145, 21, 0, 48,160, 3, 0, 0, 99, 16, 8, 80,145, 5,
/* 0x0640 */ 24, 48,141, 5, 20, 48,145,229, 0, 80,160, 17, 24, 0,141, 21,
/* 0x0650 */ 3, 16,160,225, 5, 0,160,225, 5, 48,131,224, 20, 48,141,229,
/* 0x0660 */ 56,255,255,235, 41, 0, 0,234,176, 49,216,225,188, 34,216,225,
/* 0x0670 */ 3, 0, 83,227, 16,192,160, 19, 0,192,160, 3, 1, 0, 66,226,
/* 0x0680 */ 6, 16,160,225, 0, 64,224,227, 9, 80,160,225, 13, 0, 0,234,
@@ -150,79 +150,79 @@ unsigned char stub_arm_v5a_linux_elf_fold[3012] = {
/* 0x06f0 */ 5, 16,160,225, 12, 48,160,225, 0, 32,160,227, 45,255,255,235,
/* 0x0700 */ 0, 64,100,224, 0, 80,133,224, 24, 64,141,229, 20, 80,141,229,
/* 0x0710 */ 24,192,157,229, 52, 48,160,227,147, 12, 12,224, 0, 0,160,227,
/* 0x0720 */ 32, 80,134,226, 36,192,141,229, 28, 0,141,229,171, 0, 0,234,
/* 0x0720 */ 32, 80,134,226, 36,192,141,229, 28, 0,141,229,173, 0, 0,234,
/* 0x0730 */ 0, 0, 89,227, 9, 0, 0, 10, 32, 48, 21,229, 6, 0, 83,227,
/* 0x0740 */ 6, 0, 0, 26, 24, 16,157,229, 24, 32, 21,229, 8, 0,157,229,
/* 0x0750 */ 2, 32,129,224, 3, 16,160,227, 51,255,255,235,155, 0, 0,234,
/* 0x0760 */ 32, 48, 21,229, 1, 0, 83,227,152, 0, 0, 26, 12, 48, 21,229,
/* 0x0770 */ 0, 0, 83,227,149, 0, 0, 10, 0, 0, 89,227, 18, 0, 0, 10,
/* 0x0740 */ 6, 0, 0, 26, 24, 32, 21,229, 24, 48,157,229, 8, 0,157,229,
/* 0x0750 */ 2, 32,131,224, 3, 16,160,227, 51,255,255,235,157, 0, 0,234,
/* 0x0760 */ 32, 48, 21,229, 1, 0, 83,227,154, 0, 0, 26, 12, 48, 21,229,
/* 0x0770 */ 0, 0, 83,227,151, 0, 0, 10, 0, 0, 89,227, 18, 0, 0, 10,
/* 0x0780 */ 28, 48, 21,229, 0, 0, 83,227, 15, 0, 0, 26, 28, 48,152,229,
/* 0x0790 */ 24, 32, 21,229, 3, 16,160,227, 3, 32,130,224, 24, 48,157,229,
/* 0x07a0 */ 8, 0,157,229, 2, 32,131,224, 31,255,255,235, 8, 0,157,229,
/* 0x0790 */ 24, 32, 21,229, 24,192,157,229, 3, 32,130,224, 2, 32,140,224,
/* 0x07a0 */ 3, 16,160,227, 8, 0,157,229, 31,255,255,235, 8, 0,157,229,
/* 0x07b0 */ 5, 16,160,227,188, 34,216,225, 27,255,255,235, 8, 0,157,229,
/* 0x07c0 */ 4, 16,160,227,186, 34,216,225, 23,255,255,235, 8, 48, 21,229,
/* 0x07d0 */ 176, 34,159,229, 7, 48, 3,226, 3, 49,160,225, 50, 67,160,225,
/* 0x07e0 */ 24,192,157,229, 24, 48, 21,229, 16, 32, 21,229, 3, 48,140,224,
/* 0x07f0 */ 16, 48,141,229, 16, 0,157,229, 3, 58,160,225, 12, 16, 21,229,
/* 0x0800 */ 35, 58,160,225, 0, 0, 89,227, 44, 32,141,229, 48, 0,141,229,
/* 0x0810 */ 3,160,130,224, 7,176, 4,226, 40, 16,141,229, 0, 96, 99,224,
/* 0x0820 */ 14, 0, 0, 10, 6, 0,160,225, 10, 16,160,225, 3, 32,160,227,
/* 0x0830 */ 16, 48,160,227,223,254,255,235, 0, 0, 86,225, 82, 0, 0, 26,
/* 0x0840 */ 92, 32,157,229, 4, 48, 20,226, 2, 48,160, 17, 9, 0,160,225,
/* 0x0850 */ 44, 16,141,226, 12, 32,157,229, 22,255,255,235, 11, 0, 0,234,
/* 0x0860 */ 28,192, 21,229, 6, 0,160,225, 12,192, 99,224, 4,192,141,229,
/* 0x0870 */ 12,192,157,229, 10, 16,160,225, 11, 32,160,225, 18, 48,160,227,
/* 0x0880 */ 0,192,141,229,192,254,255,235, 0, 0, 86,225, 62, 0, 0, 26,
/* 0x0890 */ 0, 48,106,226, 3,122,160,225, 2, 0, 27,227, 39,122,160,225,
/* 0x08a0 */ 7, 0, 0, 10, 0, 0, 87,227, 5, 0, 0, 10, 10, 16,134,224,
/* 0x08b0 */ 7, 32,160,225, 0, 48,160,227, 1, 32, 82,226, 1, 48,193,228,
/* 0x08c0 */ 251,255,255, 26, 0, 0, 89,227, 49, 0, 0, 10,183,254,255,235,
/* 0x08d0 */ 32, 48, 21,229, 32, 0,141,229, 1, 0, 83,227, 36, 0, 0, 26,
/* 0x08e0 */ 8, 48, 21,229, 1, 0, 19,227, 33, 0, 0, 10, 12, 32, 21,229,
/* 0x08f0 */ 16, 48, 21,229, 24, 16, 21,229, 3, 0, 82,225, 75, 0, 0, 26,
/* 0x0900 */ 1, 48,130,224, 24, 0,157,229, 3, 48,131,226, 3, 48,128,224,
/* 0x0910 */ 3, 64,195,227, 0, 48,100,226, 3, 58,160,225, 35, 58,160,225,
/* 0x0920 */ 7, 0, 83,227, 65, 0, 0,154, 10, 0, 0,234, 0,224,160,227,
/* 0x0930 */ 3, 32,160,227, 0,192,224,227, 14, 0,160,225, 1, 26,160,227,
/* 0x0940 */ 34, 48,160,227, 0, 80,141,232,143,254,255,235, 0, 32, 80,226,
/* 0x0950 */ 61, 0, 0, 26, 6, 0, 0,234, 32, 16,157,229, 40, 49,159,229,
/* 0x0960 */ 10, 0,132,232, 4, 0,160,225, 8, 16,132,226,127,254,255,235,
/* 0x0970 */ 63, 0, 0,234, 6, 0,160,225, 10, 16,160,225, 11, 32,160,225,
/* 0x0980 */ 117,254,255,235, 0, 0, 80,227, 1, 0, 0, 10,127, 0,160,227,
/* 0x0990 */ 64,254,255,235, 16, 32,157,229, 40,192,157,229, 7, 48,138,224,
/* 0x09a0 */ 12, 16,130,224, 3, 64,134,224, 1, 0, 84,225, 7, 0, 0, 42,
/* 0x09b0 */ 1, 16,100,224, 11, 32,160,225, 4, 0,160,225, 16, 48,160,227,
/* 0x09c0 */ 124,254,255,235, 0, 0, 84,225, 0, 0, 0, 10,254,255,255,234,
/* 0x09d0 */ 28, 0,157,229, 32, 80,133,226, 1, 0,128,226, 28, 0,141,229,
/* 0x09e0 */ 188, 50,216,225, 28, 16,157,229, 3, 0, 81,225, 79,255,255,186,
/* 0x09f0 */ 0, 0, 89,227, 4, 0, 0, 10,176, 49,216,225, 3, 0, 83,227,
/* 0x0a00 */ 1, 0, 0, 10, 20, 0,157,229, 68,254,255,235, 88, 32,157,229,
/* 0x0a10 */ 0, 0, 82,227, 24, 48,157, 21, 0, 48,130, 21, 24, 0,152,229,
/* 0x0a20 */ 24, 32,157,229, 0, 0,130,224, 52,208,141,226,240,143,189,232,
/* 0x0a30 */ 28, 48, 21,229, 0, 0, 83,227, 36,192,157, 5, 12, 48,129, 0,
/* 0x0a40 */ 8, 64,131, 2,195,255,255, 10,183,255,255,234, 32, 16,157,229,
/* 0x0a50 */ 52, 48,159,229, 2, 64,160,225, 10, 0,130,232, 8, 16,130,226,
/* 0x0a60 */ 66,254,255,235, 4, 0,160,225, 8, 16,160,227, 5, 32,160,227,
/* 0x0a70 */ 57,254,255,235, 4, 32,160,225, 8, 0,157,229, 0, 16,160,227,
/* 0x0a80 */ 105,254,255,235,186,255,255,234, 64, 98, 81,115, 14,240,160,225,
/* 0x0a90 */ 240, 71, 45,233, 12,208, 77,226, 52, 96,141,226, 0,144,160,225,
/* 0x0aa0 */ 1,112,160,225, 3,128,160,225, 6, 0,160,225, 44, 16,141,226,
/* 0x0ab0 */ 0, 48,160,227, 48,160,157,229, 2, 80,160,225, 52, 64,157,229,
/* 0x0ac0 */ 124,254,255,235, 60, 48,157,229, 56,192,157,229, 12,224,141,226,
/* 0x0ad0 */ 4, 48, 46,229, 12,192,100,224, 6, 32,160,225, 10, 16,160,225,
/* 0x0ae0 */ 9, 48,160,225, 5, 0,160,225, 56,192,141,229, 0,224,141,229,
/* 0x0af0 */ 52,112,141,229, 4,128,141,229,190,254,255,235, 0, 64,160,225,
/* 0x0b00 */ 9, 16,160,227, 9, 0,160,225, 4, 32,160,225, 70,254,255,235,
/* 0x0b10 */ 188, 2,218,225, 52, 32,138,226, 0, 16,160,227, 35, 0, 0,234,
/* 0x0b20 */ 0, 48,146,229, 3, 0, 83,227, 30, 0, 0, 26, 8, 48,146,229,
/* 0x0b30 */ 8, 0,157,229, 0, 16,160,227, 0, 0,131,224, 1, 32,160,225,
/* 0x0b40 */ 226,253,255,235, 0, 80, 80,226, 4, 0, 0,186, 10, 16,160,225,
/* 0x0b50 */ 2, 44,160,227,211,253,255,235, 2, 12, 80,227, 1, 0, 0, 10,
/* 0x0b60 */ 127, 0,160,227,203,253,255,235, 0,224,160,227, 14, 32,160,225,
/* 0x0b70 */ 8,192,141,226, 10, 16,160,225, 9, 48,160,225, 5, 0,160,225,
/* 0x0b80 */ 0, 80,141,232,155,254,255,235, 7, 16,160,227, 0, 64,160,225,
/* 0x0b90 */ 8, 32,157,229, 9, 0,160,225, 35,254,255,235, 5, 0,160,225,
/* 0x0ba0 */ 207,253,255,235, 3, 0, 0,234, 32, 32,130,226, 1, 16,129,226,
/* 0x0bb0 */ 0, 0, 81,225,217,255,255,186, 4, 0,160,225, 12,208,141,226,
/* 0x0bc0 */ 240,135,189,232
/* 0x07c0 */ 4, 16,160,227,186, 34,216,225, 23,255,255,235, 8, 16, 21,229,
/* 0x07d0 */ 184, 34,159,229, 7, 48, 1,226, 3, 49,160,225, 50, 67,160,225,
/* 0x07e0 */ 24, 0,157,229, 24, 48, 21,229, 16, 32, 21,229, 3, 48,128,224,
/* 0x07f0 */ 16, 48,141,229, 16,192,157,229, 3, 58,160,225, 12, 0, 21,229,
/* 0x0800 */ 35, 58,160,225, 0, 0, 89,227, 44, 32,141,229, 48,192,141,229,
/* 0x0810 */ 3,160,130,224, 7,176, 4,226, 40, 0,141,229, 12, 96, 99,224,
/* 0x0820 */ 16, 0, 0, 10, 1, 0, 17,227, 3, 32,160, 3, 7, 32,160, 19,
/* 0x0830 */ 6, 0,160,225, 10, 16,160,225, 16, 48,160,227,221,254,255,235,
/* 0x0840 */ 0, 0, 86,225, 82, 0, 0, 26, 92, 32,157,229, 4, 48, 20,226,
/* 0x0850 */ 2, 48,160, 17, 9, 0,160,225, 44, 16,141,226, 12, 32,157,229,
/* 0x0860 */ 20,255,255,235, 11, 0, 0,234, 28,192, 21,229, 6, 0,160,225,
/* 0x0870 */ 12,192, 99,224, 4,192,141,229, 12,192,157,229, 10, 16,160,225,
/* 0x0880 */ 11, 32,160,225, 18, 48,160,227, 0,192,141,229,190,254,255,235,
/* 0x0890 */ 0, 0, 86,225, 62, 0, 0, 26, 0, 48,106,226, 3,122,160,225,
/* 0x08a0 */ 2, 0, 27,227, 39,122,160,225, 7, 0, 0, 10, 0, 0, 87,227,
/* 0x08b0 */ 5, 0, 0, 10, 10, 16,134,224, 7, 32,160,225, 0, 48,160,227,
/* 0x08c0 */ 1, 32, 82,226, 1, 48,193,228,251,255,255, 26, 0, 0, 89,227,
/* 0x08d0 */ 49, 0, 0, 10,181,254,255,235, 32, 48, 21,229, 32, 0,141,229,
/* 0x08e0 */ 1, 0, 83,227, 36, 0, 0, 26, 8, 48, 21,229, 1, 0, 19,227,
/* 0x08f0 */ 33, 0, 0, 10, 12, 32, 21,229, 16, 48, 21,229, 24, 16, 21,229,
/* 0x0900 */ 3, 0, 82,225, 75, 0, 0, 26, 1, 48,130,224, 24, 0,157,229,
/* 0x0910 */ 3, 48,131,226, 3, 48,128,224, 3, 64,195,227, 0, 48,100,226,
/* 0x0920 */ 3, 58,160,225, 35, 58,160,225, 7, 0, 83,227, 65, 0, 0,154,
/* 0x0930 */ 10, 0, 0,234, 0,224,160,227, 7, 32,160,227, 0,192,224,227,
/* 0x0940 */ 14, 0,160,225, 1, 26,160,227, 34, 48,160,227, 0, 80,141,232,
/* 0x0950 */ 141,254,255,235, 0, 32, 80,226, 61, 0, 0, 26, 6, 0, 0,234,
/* 0x0960 */ 32, 32,157,229, 40, 49,159,229, 12, 0,132,232, 4, 0,160,225,
/* 0x0970 */ 8, 16,132,226,125,254,255,235, 63, 0, 0,234, 6, 0,160,225,
/* 0x0980 */ 10, 16,160,225, 11, 32,160,225,115,254,255,235, 0, 0, 80,227,
/* 0x0990 */ 1, 0, 0, 10,127, 0,160,227, 62,254,255,235, 16,192,157,229,
/* 0x09a0 */ 40, 0,157,229, 7, 48,138,224, 0, 16,140,224, 3, 64,134,224,
/* 0x09b0 */ 1, 0, 84,225, 7, 0, 0, 42, 1, 16,100,224, 11, 32,160,225,
/* 0x09c0 */ 4, 0,160,225, 16, 48,160,227,122,254,255,235, 0, 0, 84,225,
/* 0x09d0 */ 0, 0, 0, 10,254,255,255,234, 28, 32,157,229, 32, 80,133,226,
/* 0x09e0 */ 1, 32,130,226, 28, 32,141,229,188, 50,216,225, 28,192,157,229,
/* 0x09f0 */ 3, 0, 92,225, 77,255,255,186, 0, 0, 89,227, 4, 0, 0, 10,
/* 0x0a00 */ 176, 49,216,225, 3, 0, 83,227, 1, 0, 0, 10, 20, 0,157,229,
/* 0x0a10 */ 66,254,255,235, 88, 0,157,229, 24, 48,157,229, 0, 0, 80,227,
/* 0x0a20 */ 24, 32,157, 21, 0, 32,128, 21, 24, 0,152,229, 0, 0,131,224,
/* 0x0a30 */ 52,208,141,226,240,143,189,232, 28, 48, 21,229, 0, 0, 83,227,
/* 0x0a40 */ 36,192,157, 5, 12, 48,129, 0, 8, 64,131, 2,195,255,255, 10,
/* 0x0a50 */ 183,255,255,234, 2, 64,160,225, 52, 48,159,229, 32, 32,157,229,
/* 0x0a60 */ 8, 16,132,226, 12, 0,132,232, 64,254,255,235, 4, 0,160,225,
/* 0x0a70 */ 8, 16,160,227, 5, 32,160,227, 55,254,255,235, 4, 32,160,225,
/* 0x0a80 */ 8, 0,157,229, 0, 16,160,227,103,254,255,235,186,255,255,234,
/* 0x0a90 */ 64, 98, 81,115, 14,240,160,225,240, 71, 45,233, 12,208, 77,226,
/* 0x0aa0 */ 52, 96,141,226, 0,144,160,225, 1,112,160,225, 3,128,160,225,
/* 0x0ab0 */ 6, 0,160,225, 44, 16,141,226, 0, 48,160,227, 48,160,157,229,
/* 0x0ac0 */ 2, 80,160,225, 52, 64,157,229,122,254,255,235, 60, 48,157,229,
/* 0x0ad0 */ 56,192,157,229, 12,224,141,226, 4, 48, 46,229, 12,192,100,224,
/* 0x0ae0 */ 6, 32,160,225, 10, 16,160,225, 9, 48,160,225, 5, 0,160,225,
/* 0x0af0 */ 56,192,141,229, 0,224,141,229, 52,112,141,229, 4,128,141,229,
/* 0x0b00 */ 188,254,255,235, 0, 64,160,225, 9, 16,160,227, 9, 0,160,225,
/* 0x0b10 */ 4, 32,160,225, 68,254,255,235,188, 2,218,225, 52, 32,138,226,
/* 0x0b20 */ 0, 16,160,227, 35, 0, 0,234, 0, 48,146,229, 3, 0, 83,227,
/* 0x0b30 */ 30, 0, 0, 26, 8, 48,146,229, 8, 0,157,229, 0, 16,160,227,
/* 0x0b40 */ 0, 0,131,224, 1, 32,160,225,224,253,255,235, 0, 80, 80,226,
/* 0x0b50 */ 4, 0, 0,186, 10, 16,160,225, 2, 44,160,227,209,253,255,235,
/* 0x0b60 */ 2, 12, 80,227, 1, 0, 0, 10,127, 0,160,227,201,253,255,235,
/* 0x0b70 */ 0,224,160,227, 14, 32,160,225, 8,192,141,226, 10, 16,160,225,
/* 0x0b80 */ 9, 48,160,225, 5, 0,160,225, 0, 80,141,232,153,254,255,235,
/* 0x0b90 */ 7, 16,160,227, 0, 64,160,225, 8, 32,157,229, 9, 0,160,225,
/* 0x0ba0 */ 33,254,255,235, 5, 0,160,225,205,253,255,235, 3, 0, 0,234,
/* 0x0bb0 */ 32, 32,130,226, 1, 16,129,226, 0, 0, 81,225,217,255,255,186,
/* 0x0bc0 */ 4, 0,160,225, 12,208,141,226,240,135,189,232
};