diff --git a/src/stub/arm64-linux.shlib-init.h b/src/stub/arm64-linux.shlib-init.h index 2ee68fb7..c4ed688b 100644 --- a/src/stub/arm64-linux.shlib-init.h +++ b/src/stub/arm64-linux.shlib-init.h @@ -1,5 +1,5 @@ /* arm64-linux.shlib-init.h - created from arm64-linux.shlib-init.bin, 8113 (0x1fb1) bytes + created from arm64-linux.shlib-init.bin, 8141 (0x1fcd) bytes This file is part of the UPX executable compressor. @@ -31,14 +31,14 @@ */ -#define STUB_ARM64_LINUX_SHLIB_INIT_SIZE 8113 -#define STUB_ARM64_LINUX_SHLIB_INIT_ADLER32 0xb9f80b85 -#define STUB_ARM64_LINUX_SHLIB_INIT_CRC32 0x70c58bbc +#define STUB_ARM64_LINUX_SHLIB_INIT_SIZE 8141 +#define STUB_ARM64_LINUX_SHLIB_INIT_ADLER32 0xfc171414 +#define STUB_ARM64_LINUX_SHLIB_INIT_CRC32 0xd93df3e9 -unsigned char stub_arm64_linux_shlib_init[8113] = { +unsigned char stub_arm64_linux_shlib_init[8141] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0,183, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 24, 0, 0, 0, 0, 0, 0, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 48, 24, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0040 */ 254, 3,191,169,224, 7,190,169,226,119, 1,169,253, 3, 0,145, /* 0x0050 */ 0, 0, 0,148,254, 15, 31,248,226, 15,191,169, 7, 64, 33,139, @@ -342,13 +342,13 @@ unsigned char stub_arm64_linux_shlib_init[8113] = { /* 0x12f0 */ 5, 11, 0, 8, 5,203,224, 19,191,169,132, 8, 5, 75, 0, 8, /* 0x1300 */ 5,139, 16, 0, 0,148, 99, 28, 0, 18,127, 72, 1,113,129, 1, /* 0x1310 */ 0, 84, 33,252, 66,211, 65, 1, 0,180, 33, 4, 0,209, 2,120, -/* 0x1320 */ 97,184, 67,120, 26, 83,127, 20, 0,113,129, 0, 0, 84, 66, 0, -/* 0x1330 */ 1, 75, 98, 20, 26, 83, 2,120, 33,184, 1,255,255,181,192, 3, +/* 0x1320 */ 97,184, 67,120, 26, 83,127, 20, 0,113,129, 0, 0, 84, 67, 0, +/* 0x1330 */ 1, 75, 98,100, 0, 51, 2,120, 33,184, 1,255,255,181,192, 3, /* 0x1340 */ 95,214,254, 23,191,169, 35, 20, 64, 57, 38, 24, 64, 57,224, 19, /* 0x1350 */ 190,169,230, 15, 1,169, 36, 68, 64,184,229, 3, 4, 42, 36, 68, /* 0x1360 */ 64,184,226, 19,191,169,163, 99, 1,209,225, 23,190,169,224, 15, /* 0x1370 */ 1,169,165, 12, 0,145,163,131, 92,184, 98, 8, 69,139,163, 3, -/* 0x1380 */ 89,248, 97, 0, 0,148,163, 3, 92,248, 95, 0, 0,148, 57, 0, +/* 0x1380 */ 89,248,104, 0, 0,148,163, 3, 92,248,102, 0, 0,148, 57, 0, /* 0x1390 */ 0,148, 5, 0,128,210, 4, 0,128,146, 67, 6,128,210, 98, 0, /* 0x13a0 */ 128,210,161,131, 93,248,160, 3, 93,248,230, 3, 0,170,200, 27, /* 0x13b0 */ 128, 82, 1, 0, 0,212, 31, 0, 6,235, 64, 0, 0, 84, 0, 0, @@ -363,7 +363,7 @@ unsigned char stub_arm64_linux_shlib_init[8113] = { /* 0x1440 */ 95,184,165, 92, 0, 18,191, 0, 0,114,165,124, 1, 83, 96, 0, /* 0x1450 */ 0, 84, 35, 68, 64,184, 3, 68, 0,184,165, 0, 0, 52, 34, 12, /* 0x1460 */ 193, 40,165, 4, 0, 81, 2, 12,129, 40,165,255,255, 53,192, 3, -/* 0x1470 */ 95,214,254, 15, 31,248,227, 3, 30,170, 35, 0, 0,148, 65,244, +/* 0x1470 */ 95,214,254, 15, 31,248,227, 3, 30,170, 42, 0, 0,148, 65,244, /* 0x1480 */ 126,211, 5, 0,128,210, 4, 0,128,146, 67, 4,128,210,226, 0, /* 0x1490 */ 128,210,161,131, 30,248, 0, 0,128,210,200, 27,128, 82, 1, 0, /* 0x14a0 */ 0,212, 31, 4, 64,177, 67, 0, 0, 84, 0, 0, 32,212,160, 3, @@ -371,177 +371,178 @@ unsigned char stub_arm64_linux_shlib_init[8113] = { /* 0x14c0 */ 87,248,165,131, 87,184,160, 3, 23,248,165, 12, 0, 17,165,124, /* 0x14d0 */ 2, 83,221,255,255,151,226, 3, 0,170,161, 3, 89,248,160, 3, /* 0x14e0 */ 25,248,215,255,255,151,161, 3, 92,248,160, 3, 28,248,212,255, -/* 0x14f0 */ 255,151,225, 7, 65,248,224, 15, 31,248,209,255,255,151,254, 7, -/* 0x1500 */ 65,248,192, 3, 31,214, 99,192, 95,184, 99, 92, 0, 18, 66, 0, -/* 0x1510 */ 3,139,192, 3, 95,214,102,105,108,101, 32,102,111,114,109, 97, -/* 0x1520 */ 116, 32,101,108,102, 54, 52, 45,108,105,116,116,108,101, 97, 97, -/* 0x1530 */ 114, 99,104, 54, 52, 10, 10, 83,101, 99,116,105,111,110,115, 58, -/* 0x1540 */ 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, -/* 0x1550 */ 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, -/* 0x1560 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x1570 */ 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1580 */ 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, -/* 0x1590 */ 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, -/* 0x15a0 */ 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, -/* 0x15b0 */ 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x15c0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x15d0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, -/* 0x15e0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x15f0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1600 */ 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, -/* 0x1610 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1620 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1630 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1640 */ 32, 48, 48, 48, 48, 48, 48, 53, 52, 32, 32, 50, 42, 42, 48, 32, -/* 0x1650 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, -/* 0x1660 */ 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 95, 84, 65, 73, 76, -/* 0x1670 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1680 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1690 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x16a0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 52, 32, 32, 50, 42, -/* 0x16b0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x16c0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 69, -/* 0x16d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 50, -/* 0x16e0 */ 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x16f0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1700 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 52, 32, -/* 0x1710 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1720 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, -/* 0x1730 */ 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1740 */ 48, 49, 49, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1750 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1760 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, -/* 0x1770 */ 55, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1780 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, -/* 0x1790 */ 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, -/* 0x17a0 */ 48, 48, 48, 48, 48,102, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x17b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x17c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x17d0 */ 48, 48, 50, 57, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x17e0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x17f0 */ 32, 32, 54, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, -/* 0x1800 */ 32, 32, 48, 48, 48, 48, 48, 48,100, 48, 32, 32, 48, 48, 48, 48, -/* 0x1810 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1820 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1830 */ 48, 48, 48, 48, 48, 51, 56, 56, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1840 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x1850 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, -/* 0x1860 */ 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1870 */ 48, 57, 54, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1880 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1890 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, -/* 0x18a0 */ 53, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x18b0 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, -/* 0x18c0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, -/* 0x18d0 */ 48, 48, 48, 48, 52, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x18e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x18f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1900 */ 48, 48,100, 99, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1910 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1920 */ 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, -/* 0x1930 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1940 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1950 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1960 */ 48, 48, 48, 48, 49, 50, 53, 99, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1970 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x1980 */ 76, 89, 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, -/* 0x1990 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 51,101, 32, 32, 48, -/* 0x19a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x19b0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x19c0 */ 48, 32, 32, 48, 48, 48, 48, 49, 50, 53, 99, 32, 32, 50, 42, 42, -/* 0x19d0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x19e0 */ 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, -/* 0x19f0 */ 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 50, 55, 99, -/* 0x1a00 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a10 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a20 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 50, 57, 97, 32, 32, -/* 0x1a30 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1a40 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, -/* 0x1a50 */ 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1a70 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, -/* 0x1a80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, -/* 0x1a90 */ 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1ab0 */ 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, -/* 0x1ad0 */ 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ae0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, -/* 0x1af0 */ 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b00 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, -/* 0x1b10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1b20 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, -/* 0x1b30 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b40 */ 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, -/* 0x1b50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x1b60 */ 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, -/* 0x1b70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, -/* 0x1b80 */ 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b90 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1ba0 */ 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1bb0 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, -/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1bd0 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, -/* 0x1be0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, -/* 0x1bf0 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c00 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, -/* 0x1c10 */ 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c20 */ 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1c40 */ 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, -/* 0x1c50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1c60 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1c80 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, -/* 0x1c90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1ca0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1cc0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, -/* 0x1cd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1ce0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1d00 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, -/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, -/* 0x1d20 */ 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d30 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, -/* 0x1d40 */ 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d50 */ 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48, -/* 0x1d60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1d70 */ 103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 69, 9, 48, 48, -/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 50, 56, 32,117, -/* 0x1d90 */ 99,108, 95,110,114,118, 50,101, 95,100,101, 99,111,109,112,114, -/* 0x1da0 */ 101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, -/* 0x1dc0 */ 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1dd0 */ 48, 48, 48, 49, 49, 99, 32,117, 99,108, 95,110,114,118, 50,100, -/* 0x1de0 */ 95,100,101, 99,111,109,112,114,101,115,115, 95, 51, 50, 10, 48, -/* 0x1df0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1e00 */ 103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 66, 9, 48, 48, -/* 0x1e10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,102, 48, 32,117, -/* 0x1e20 */ 99,108, 95,110,114,118, 50, 98, 95,100,101, 99,111,109,112,114, -/* 0x1e30 */ 101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e40 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, -/* 0x1e50 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, -/* 0x1e60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,122,109, 97, -/* 0x1e70 */ 68,101, 99,111,100,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, -/* 0x1e90 */ 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ea0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95,100,101, -/* 0x1eb0 */ 99,111,109,112,114,101,115,115, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x1ec0 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x1ed0 */ 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, -/* 0x1ee0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, -/* 0x1ef0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1f00 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f10 */ 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, -/* 0x1f20 */ 95, 67, 65, 76, 76, 50, 54, 32, 32, 69, 76, 70, 77, 65, 73, 78, -/* 0x1f30 */ 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x1f40 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, -/* 0x1f50 */ 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x1f60 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x1f70 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x1f80 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f90 */ 52, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 67, 79, 78, 68, -/* 0x1fa0 */ 66, 82, 49, 57, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, -/* 0x1fb0 */ 10 +/* 0x14f0 */ 255,151,225, 7, 65,248,224, 15, 31,248,209,255,255,151,160, 7, +/* 0x1500 */ 126,169,162, 0,128,210, 72, 28,128, 82, 1, 0, 0,212, 31, 4, +/* 0x1510 */ 64,177, 67, 0, 0, 84, 0, 0, 32,212,254, 7, 65,248,192, 3, +/* 0x1520 */ 31,214, 99,192, 95,184, 99, 92, 0, 18, 66, 0, 3,139,192, 3, +/* 0x1530 */ 95,214,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108, +/* 0x1540 */ 102, 54, 52, 45,108,105,116,116,108,101, 97, 97,114, 99,104, 54, +/* 0x1550 */ 52, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, +/* 0x1560 */ 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, +/* 0x1570 */ 105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, +/* 0x1580 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, +/* 0x1590 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108, +/* 0x15a0 */ 101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97, +/* 0x15b0 */ 103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, +/* 0x15c0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 52, 32, 32, 48, +/* 0x15d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x15e0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x15f0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, +/* 0x1600 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, +/* 0x1610 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, +/* 0x1620 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, +/* 0x1630 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1640 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1650 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1660 */ 48, 48, 48, 53, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x1670 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x1680 */ 32, 32, 50, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, +/* 0x1690 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x16a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x16b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x16c0 */ 48, 48, 48, 48, 48, 48, 53, 52, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x16d0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x16e0 */ 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, +/* 0x16f0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 50, 56, 32, 32, 48, +/* 0x1700 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1710 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1720 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 52, 32, 32, 50, 42, 42, +/* 0x1730 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x1740 */ 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, +/* 0x1750 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 49, 99, +/* 0x1760 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1770 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1780 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55, 99, 32, 32, +/* 0x1790 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x17a0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 78, 82, 86, +/* 0x17b0 */ 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x17c0 */ 48,102, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x17d0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x17e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 57, +/* 0x17f0 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1800 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, +/* 0x1810 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, +/* 0x1820 */ 48, 48, 48, 48,100, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1830 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1840 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1850 */ 48, 51, 56, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1860 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, +/* 0x1870 */ 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, +/* 0x1880 */ 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 54, 56, +/* 0x1890 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x18a0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x18b0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 53, 56, 32, 32, +/* 0x18c0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x18d0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, +/* 0x18e0 */ 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x18f0 */ 52, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1900 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1910 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 99, +/* 0x1920 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1930 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, +/* 0x1940 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, +/* 0x1950 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1960 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1970 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1980 */ 49, 50, 53, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1990 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x19a0 */ 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, +/* 0x19b0 */ 32, 48, 48, 48, 48, 48, 48, 51,101, 32, 32, 48, 48, 48, 48, 48, +/* 0x19c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x19d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x19e0 */ 48, 48, 48, 49, 50, 53, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x19f0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1a00 */ 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, +/* 0x1a10 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 50, 57, 56, 32, 32, 48, 48, +/* 0x1a20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a40 */ 32, 32, 48, 48, 48, 48, 49, 50, 57, 97, 32, 32, 50, 42, 42, 48, +/* 0x1a50 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, +/* 0x1a60 */ 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, +/* 0x1a70 */ 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a80 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, +/* 0x1a90 */ 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x1ab0 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ac0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, +/* 0x1ad0 */ 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ae0 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, +/* 0x1af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1b00 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, +/* 0x1b10 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b20 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, +/* 0x1b30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1b40 */ 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, +/* 0x1b50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, +/* 0x1b60 */ 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b70 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x1b80 */ 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, +/* 0x1ba0 */ 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bb0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, +/* 0x1bc0 */ 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bd0 */ 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1be0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1bf0 */ 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c00 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, +/* 0x1c10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1c20 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, +/* 0x1c30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, +/* 0x1c40 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c50 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x1c60 */ 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, +/* 0x1c80 */ 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c90 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x1ca0 */ 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x1cc0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1cd0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x1ce0 */ 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x1d00 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d10 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, +/* 0x1d20 */ 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d30 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, +/* 0x1d40 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d50 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x1d60 */ 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d70 */ 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, +/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, +/* 0x1d90 */ 32, 32, 70, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, +/* 0x1da0 */ 48, 48, 48, 48, 48, 48, 48, 49, 50, 56, 32,117, 99,108, 95,110, +/* 0x1db0 */ 114,118, 50,101, 95,100,101, 99,111,109,112,114,101,115,115, 95, +/* 0x1dc0 */ 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1dd0 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, +/* 0x1de0 */ 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, +/* 0x1df0 */ 49, 99, 32,117, 99,108, 95,110,114,118, 50,100, 95,100,101, 99, +/* 0x1e00 */ 111,109,112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, +/* 0x1e10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, +/* 0x1e20 */ 32, 32, 70, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, +/* 0x1e30 */ 48, 48, 48, 48, 48, 48, 48, 48,102, 48, 32,117, 99,108, 95,110, +/* 0x1e40 */ 114,118, 50, 98, 95,100,101, 99,111,109,112,114,101,115,115, 95, +/* 0x1e50 */ 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e60 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x1e70 */ 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 32, 76,122,109, 97, 68,101, 99,111, +/* 0x1e90 */ 100,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ea0 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, +/* 0x1eb0 */ 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ec0 */ 48, 48, 48, 48, 48, 32,101,110,100, 95,100,101, 99,111,109,112, +/* 0x1ed0 */ 114,101,115,115, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x1ee0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, +/* 0x1ef0 */ 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, +/* 0x1f00 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, +/* 0x1f10 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, +/* 0x1f20 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f30 */ 49, 48, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 67, 65, 76, +/* 0x1f40 */ 76, 50, 54, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, +/* 0x1f50 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, +/* 0x1f60 */ 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, +/* 0x1f70 */ 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, +/* 0x1f80 */ 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, +/* 0x1f90 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, +/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, +/* 0x1fb0 */ 65, 65, 82, 67, 72, 54, 52, 95, 67, 79, 78, 68, 66, 82, 49, 57, +/* 0x1fc0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10 }; diff --git a/src/stub/src/arm64-linux.shlib-init.S b/src/stub/src/arm64-linux.shlib-init.S index e0ad2036..660ec49d 100644 --- a/src/stub/src/arm64-linux.shlib-init.S +++ b/src/stub/src/arm64-linux.shlib-init.S @@ -213,8 +213,8 @@ top_unf: ldr w2,[ptr,x1,lsl #2] ubfx w3,w2,#26,#5 cmp w3,#5; bne tst_unf // not unconditional branch - sub w2,w2,w1 // word displ; hi 0b.00101 preserves bit 31 - ubfm w2,w3,#26,#5 + sub w3,w2,w1 // word displ + bfi w2,w3,#0,#26 // change displacement str w2,[ptr,x1,lsl #2] tst_unf: cbnz x1,top_unf @@ -352,6 +352,10 @@ o_super= -20*8 // HOLE PUSH1(rdi) // &copied bl movsl_subr // copy supervisor + ldp arg1,arg2,[fp,#p_unmap+0*8] + mov arg3,#PROT_READ|PROT_EXEC // some OS prohibit PROT_WRITE && PROT_EXEC + do_sys __NR_mprotect; cmn x0,#4096; bcc 0f; brk #0; 0: + POP1(lr); br lr // goto copied supervisor wlen_subr: // rdx+= nwords of inline subr at *tmp diff --git a/src/stub/tmp/arm64-linux.shlib-init.bin.dump b/src/stub/tmp/arm64-linux.shlib-init.bin.dump index 5ee44e5e..00c3b71b 100644 --- a/src/stub/tmp/arm64-linux.shlib-init.bin.dump +++ b/src/stub/tmp/arm64-linux.shlib-init.bin.dump @@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn 8 LZMA_DEC10 0000049c 0000000000000000 0000000000000000 00000dc0 2**0 CONTENTS, READONLY 9 LZMA_DEC30 00000000 0000000000000000 0000000000000000 0000125c 2**0 CONTENTS, READONLY 10 ELFMAINY 0000003e 0000000000000000 0000000000000000 0000125c 2**0 CONTENTS, READONLY - 11 ELFMAINZ 0000027c 0000000000000000 0000000000000000 0000129a 2**0 CONTENTS, READONLY + 11 ELFMAINZ 00000298 0000000000000000 0000000000000000 0000129a 2**0 CONTENTS, READONLY SYMBOL TABLE: 0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30 0000000000000000 l d ELFMAINZ 0000000000000000 ELFMAINZ