From b37bc99330668a2fb796097f251b3ffeb5a88683 Mon Sep 17 00:00:00 2001 From: John Reiser Date: Sat, 7 Oct 2017 13:43:12 -0700 Subject: [PATCH] PowerPC64: stub uses new strategy Needed: expert on TOC for big-endian. glibc, musl, gcc disagree on layout (is the .func first?) and usage for .e_entry. modified: p_lx_elf.cpp modified: stub/src/amd64-linux.elf-main.c modified: stub/src/amd64-linux.elf-fold.S modified: stub/src/arch/powerpc/64le/ppc_regs.h modified: stub/src/i386-linux.elf-main.c modified: stub/src/powerpc-linux.elf-entry.S modified: stub/src/powerpc-linux.elf-fold.S modified: stub/src/powerpc64le-darwin.dylib-entry.S modified: stub/src/powerpc64le-darwin.macho-entry.S modified: stub/src/powerpc64le-linux.elf-entry.S modified: stub/src/powerpc64le-linux.elf-fold.S modified: stub/Makefile also .h, .bin.dump, .map --- src/p_lx_elf.cpp | 69 ++- src/stub/Makefile | 2 +- src/stub/amd64-linux.elf-fold.h | 155 ++--- src/stub/powerpc-linux.elf-entry.h | 373 ++++++------ src/stub/powerpc-linux.elf-fold.h | 28 +- src/stub/powerpc64-linux.elf-entry.h | 531 +++++++++--------- src/stub/powerpc64-linux.elf-fold.h | 368 ++++++------ src/stub/powerpc64le-darwin.dylib-entry.h | 8 +- src/stub/powerpc64le-darwin.macho-entry.h | 6 +- src/stub/powerpc64le-linux.elf-entry.h | 488 ++++++++-------- src/stub/powerpc64le-linux.elf-fold.h | 362 ++++++------ src/stub/src/amd64-linux.elf-fold.S | 4 +- src/stub/src/amd64-linux.elf-main.c | 35 +- src/stub/src/arch/powerpc/64le/ppc_regs.h | 21 +- src/stub/src/i386-linux.elf-main.c | 2 +- src/stub/src/powerpc-linux.elf-entry.S | 14 +- src/stub/src/powerpc-linux.elf-fold.S | 8 +- src/stub/src/powerpc64le-darwin.dylib-entry.S | 1 + src/stub/src/powerpc64le-darwin.macho-entry.S | 1 + src/stub/src/powerpc64le-linux.elf-entry.S | 168 +++--- src/stub/src/powerpc64le-linux.elf-fold.S | 152 ++--- src/stub/tmp/amd64-linux.elf-fold.map | 20 +- src/stub/tmp/powerpc-linux.elf-entry.bin.dump | 6 +- src/stub/tmp/powerpc-linux.elf-fold.map | 16 +- .../tmp/powerpc64-linux.elf-entry.bin.dump | 10 +- src/stub/tmp/powerpc64-linux.elf-fold.map | 80 +-- .../tmp/powerpc64le-linux.elf-entry.bin.dump | 10 +- src/stub/tmp/powerpc64le-linux.elf-fold.map | 82 +-- 28 files changed, 1542 insertions(+), 1478 deletions(-) diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp index 1d4dc5e8..903970d2 100644 --- a/src/p_lx_elf.cpp +++ b/src/p_lx_elf.cpp @@ -351,8 +351,8 @@ off_t PackLinuxElf32::pack3(OutputFile *fo, Filter &ft) fo->write(&hdr, sizeof(hdr)); flen = fpad4(fo); - v_hole = page_mask & (~page_mask + v_hole + get_te32(&elfout.phdr[0].p_vaddr)); if (0==xct_off) { // not shared library; adjust PT_LOAD + v_hole = page_mask & (~page_mask + v_hole + get_te32(&elfout.phdr[0].p_vaddr)); set_te32(&elfout.phdr[1].p_vaddr, v_hole); elfout.phdr[1].p_paddr = elfout.phdr[1].p_vaddr; elfout.phdr[1].p_offset = 0; @@ -432,6 +432,9 @@ off_t PackLinuxElf32::pack3(OutputFile *fo, Filter &ft) off_t PackLinuxElf64::pack3(OutputFile *fo, Filter &ft) { unsigned flen = super::pack3(fo, ft); // loader follows compressed PT_LOADs + unsigned v_hole = sz_pack2 + lsize; + set_te64(&elfout.phdr[0].p_filesz, v_hole); + set_te64(&elfout.phdr[0].p_memsz, v_hole); // Then compressed gaps (including debuginfo.) unsigned total_in = 0, total_out = 0; for (unsigned k = 0; k < e_phnum; ++k) { @@ -451,6 +454,23 @@ off_t PackLinuxElf64::pack3(OutputFile *fo, Filter &ft) set_te64(&elfout.phdr[0].p_filesz, sz_pack2 + lsize); set_te64(&elfout.phdr[0].p_memsz, sz_pack2 + lsize); + if (0==xct_off) { // not shared library; adjust PT_LOAD + // On amd64: (2<<20)==.p_align, but Linux uses 4KiB pages. + // This allows [vvar], [vdso], etc to sneak into the gap + // between end_text and data, which we wish to prevent + // because the expanded program will use that space. + // So: pretend 4KiB pages. + upx_uint64_t const pm = (Elf32_Ehdr::EM_X86_64==e_machine) + ? ((~(upx_uint64_t)0)<<12) + : page_mask; + v_hole = pm & (~pm + v_hole + get_te64(&elfout.phdr[0].p_vaddr)); + set_te64(&elfout.phdr[1].p_vaddr, v_hole); + set_te64(&elfout.phdr[1].p_align, -pm); + elfout.phdr[1].p_paddr = elfout.phdr[1].p_vaddr; + elfout.phdr[1].p_offset = 0; + set_te64(&elfout.phdr[1].p_memsz, getbrk(phdri, e_phnum) - v_hole); + set_te32(&elfout.phdr[1].p_flags, Elf32_Phdr::PF_W|Elf32_Phdr::PF_R); + } if (0!=xct_off) { // shared library Elf64_Phdr *phdr = phdri; unsigned off = fo->st_size(); @@ -2038,10 +2058,21 @@ PackLinuxElf32::generateElfHdr( // Info for OS kernel to set the brk() if (brka) { // linux-2.6.14 binfmt_elf.c: SIGKILL if (0==.p_memsz) on a page boundary - h2->phdr[0].p_paddr = phdri[0].p_paddr; - h2->phdr[0].p_vaddr = phdri[0].p_vaddr; + upx_uint32_t lo_va_user = ~0u; // infinity + upx_uint32_t memsz(0); + for (int j= e_phnum; --j>=0; ) { + if (PT_LOAD32 == get_te32(&phdri[j].p_type)) { + upx_uint32_t const vaddr = get_te32(&phdri[j].p_vaddr); + lo_va_user = umin(lo_va_user, vaddr); + if (vaddr == lo_va_user) { + memsz = get_te32(&phdri[j].p_memsz); + } + } + } + set_te32(&h2->phdr[0].p_paddr, lo_va_user); + set_te32(&h2->phdr[0].p_vaddr, lo_va_user); unsigned const brkb = page_mask & (~page_mask + - get_te32(&h2->phdr[0].p_vaddr) + get_te32(&h2->phdr[0].p_memsz)); + get_te32(&h2->phdr[0].p_vaddr) + memsz); set_te32(&h2->phdr[1].p_type, PT_LOAD32); // be sure h2->phdr[1].p_offset = 0; set_te32(&h2->phdr[1].p_vaddr, brkb); @@ -2300,26 +2331,20 @@ PackLinuxElf64::generateElfHdr( // Info for OS kernel to set the brk() if (brka) { // linux-2.6.14 binfmt_elf.c: SIGKILL if (0==.p_memsz) on a page boundary - unsigned const brkb = brka | ((0==(~page_mask & brka)) ? 0x20 : 0); - set_te32(&h2->phdr[1].p_type, PT_LOAD64); // be sure - - // Invoking by ld-linux-x86_64-2.21 complains if (filesize < .p_offset), - // which can happen with good compression of a stripped executable - // and large .p_align. However (0==.p_filesz) so ld-linux has a bug. - // Try to evade the bug by reducing .p_align. The alignment is forced - // anyway by phdr[0].p_align and constant offset from phdr[0].p_vaddr. - // However, somebody might complain because (.p_vaddr - .p_offset) - // is divisible only by phdr[1].p_align, and not by phdr[0].p_align. - if (get_te16(&elfout.ehdr.e_machine) != Elf64_Ehdr::EM_PPC64) { - set_te64(&h2->phdr[1].p_align, 0x1000); + upx_uint64_t lo_va_user(~(upx_uint64_t)0); // infinity + for (int j= e_phnum; --j>=0; ) { + if (PT_LOAD64 == get_te32(&phdri[j].p_type)) { + upx_uint64_t const vaddr = get_te64(&phdri[j].p_vaddr); + lo_va_user = umin64(lo_va_user, vaddr); + } } - set_te64(&h2->phdr[1].p_offset, (-1+ get_te64(&h2->phdr[1].p_align)) & brkb); - - set_te64(&h2->phdr[1].p_vaddr, brkb); - set_te64(&h2->phdr[1].p_paddr, brkb); + set_te64(&h2->phdr[0].p_paddr, lo_va_user); + set_te64(&h2->phdr[0].p_vaddr, lo_va_user); + set_te32(&h2->phdr[1].p_type, PT_LOAD64); // be sure + h2->phdr[1].p_offset = 0; h2->phdr[1].p_filesz = 0; - // Too many Linux kernels have bugs when 0==.p_memsz - set_te64(&h2->phdr[1].p_memsz, 1); + // .p_memsz = brka; temporary until sz_pack2 + set_te64(&h2->phdr[1].p_memsz, brka); set_te32(&h2->phdr[1].p_flags, Elf64_Phdr::PF_R | Elf64_Phdr::PF_W); } if (ph.format==getFormat()) { diff --git a/src/stub/Makefile b/src/stub/Makefile index e633fe03..7ed18a3e 100644 --- a/src/stub/Makefile +++ b/src/stub/Makefile @@ -1484,7 +1484,7 @@ powerpc64-linux.elf%.h : tc_bfdname = elf64-powerpc tc.powerpc64-linux.elf.gcc = powerpc64-linux-gcc-4.9.2 -m64 -mbig-endian -nostdinc -MMD -MT $@ tc.powerpc64-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables -fno-stack-protector -tc.powerpc64-linux.elf.gcc += -mno-longcall +tc.powerpc64-linux.elf.gcc += -mno-longcall -mno-toc tc.powerpc64-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototypes -Wwrite-strings -Werror tc.powerpc64-linux.elf.ld = powerpc64-linux-ld-2.25 -b $(tc_bfdname) diff --git a/src/stub/amd64-linux.elf-fold.h b/src/stub/amd64-linux.elf-fold.h index b71c1283..34ac0c72 100644 --- a/src/stub/amd64-linux.elf-fold.h +++ b/src/stub/amd64-linux.elf-fold.h @@ -1,5 +1,5 @@ /* amd64-linux.elf-fold.h - created from amd64-linux.elf-fold.bin, 2042 (0x7fa) bytes + created from amd64-linux.elf-fold.bin, 2081 (0x821) bytes This file is part of the UPX executable compressor. @@ -31,20 +31,20 @@ */ -#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2042 -#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0xc1fc053c -#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0x0ce68681 +#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2081 +#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0xb18f1299 +#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0x983884b3 -unsigned char stub_amd64_linux_elf_fold[2042] = { +unsigned char stub_amd64_linux_elf_fold[2081] = { /* 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 */ 250, 7, 0, 0, 0, 0, 0, 0,252, 7, 0, 0, 0, 0, 0, 0, +/* 0x0060 */ 33, 8, 0, 0, 0, 0, 0, 0, 36, 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 */ 250, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0080 */ 33, 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, @@ -65,7 +65,7 @@ unsigned char stub_amd64_linux_elf_fold[2042] = { /* 0x01a0 */ 200, 49,248,131,224, 8, 72, 41,199, 73,137,254, 72,131,239, 8, /* 0x01b0 */ 73,141,119,248, 72,193,233, 3,243, 72,165, 72,141,103, 8,252, /* 0x01c0 */ 75,141, 12, 38, 65, 89, 94, 95, 88, 72,129,236, 0, 8, 0, 0, -/* 0x01d0 */ 80, 72,137,226, 73,137,232,232,219, 4, 0, 0, 72,129,196, 8, +/* 0x01d0 */ 72,137,226, 80, 73,137,232,232, 4, 5, 0, 0, 72,129,196, 8, /* 0x01e0 */ 8, 0, 0, 72,137, 68, 36, 24, 91, 69, 41,201, 65,137,216,106, /* 0x01f0 */ 2, 65, 90,106, 1, 90,190, 0, 16, 0, 0,106, 0, 95,106, 9, /* 0x0200 */ 88, 15, 5,137,223,106, 3, 88, 15, 5, 95, 94,106, 11, 88, 65, @@ -96,72 +96,75 @@ unsigned char stub_amd64_linux_elf_fold[2042] = { /* 0x0390 */ 65, 92, 65, 93,195, 72,133,255, 73,137,208,116, 41, 72,139, 7, /* 0x03a0 */ 137,241, 72, 57,200,116, 17, 72,255,200, 15,148,194, 49,192,133, /* 0x03b0 */ 246, 15,149,192,133,194,116, 8, 72,137, 15, 76,137, 71, 8,195, -/* 0x03c0 */ 72,131,199, 16,235,215,195, 65, 87,184, 0, 0, 0, 0, 73,137, -/* 0x03d0 */ 255, 65, 86, 65, 85, 65, 84, 73,137,252, 85, 83, 72,131,236,104, -/* 0x03e0 */ 76, 3,103, 32,102,131,127, 16, 3,137, 84, 36, 60, 15,183, 87, -/* 0x03f0 */ 56, 72,137, 76, 36, 48,185, 16, 0, 0, 0, 72,137,116, 36, 64, -/* 0x0400 */ 76,137, 68, 36, 40, 76,137, 76, 36, 32, 15, 68,200, 76,137,230, -/* 0x0410 */ 72,131,205,255, 49,219,131,193, 34,255,202,120, 33,131, 62, 1, -/* 0x0420 */ 117, 22, 72,139, 70, 16, 72, 57,232, 72, 15, 66,232, 72, 3, 70, -/* 0x0430 */ 40, 72, 57,195, 72, 15, 66,216, 72,131,198, 56,235,219, 72,129, -/* 0x0440 */ 229, 0,240,255,255, 49,210, 69, 49,201, 72, 41,235, 65,131,200, -/* 0x0450 */ 255, 72,137,239, 72,129,195,255, 15, 0, 0, 72,129,227, 0,240, -/* 0x0460 */ 255,255, 72,137,222,232,169,253,255,255, 72,141, 20, 24, 72, 41, -/* 0x0470 */ 232,102, 65,131,127, 56, 0, 72,137, 68, 36, 24,199, 68, 36, 20, -/* 0x0480 */ 0, 0, 0, 0, 72,137, 84, 36, 72, 15,132,240, 1, 0, 0, 72, -/* 0x0490 */ 131,124, 36, 64, 0,116, 37, 65,131, 60, 36, 6,117, 30, 72,139, -/* 0x04a0 */ 84, 36, 24, 73, 3, 84, 36, 16,190, 3, 0, 0, 0, 72,139,124, -/* 0x04b0 */ 36, 48,232,222,254,255,255,233,172, 1, 0, 0, 65,131, 60, 36, -/* 0x04c0 */ 1, 15,133,161, 1, 0, 0, 72,131,124, 36, 64, 0,116, 77, 73, -/* 0x04d0 */ 131,124, 36, 8, 0,117, 69, 72,139, 84, 36, 24, 73, 3, 84, 36, -/* 0x04e0 */ 16,190, 3, 0, 0, 0, 73, 3, 87, 32, 72,139,124, 36, 48,232, -/* 0x04f0 */ 161,254,255,255, 73, 15,183, 87, 56, 72,139,124, 36, 48,190, 5, -/* 0x0500 */ 0, 0, 0,232,141,254,255,255, 73, 15,183, 87, 54, 72,139,124, -/* 0x0510 */ 36, 48,190, 4, 0, 0, 0,232,121,254,255,255, 72,139, 68, 36, -/* 0x0520 */ 24, 73, 3, 68, 36, 16, 65,190, 64, 98, 81,115, 65,139, 76, 36, -/* 0x0530 */ 4, 65,131,200,255, 73,139, 84, 36, 32, 72,137,197, 72,137, 68, -/* 0x0540 */ 36, 88, 73,139, 68, 36, 40,131,225, 7, 72,137,235, 72,137, 84, -/* 0x0550 */ 36, 80,193,225, 2,129,227,255, 15, 0, 0, 72, 1,232, 65,211, -/* 0x0560 */ 238, 72, 41,221, 72,137, 68, 36, 8, 73,139, 68, 36, 8, 65,131, -/* 0x0570 */ 230, 7, 76,141, 44, 26,185, 50, 0, 0, 0, 72, 41,216, 72,131, -/* 0x0580 */ 124, 36, 64, 0,117, 7, 68,139, 68, 36, 60,177, 18, 68,137,242, -/* 0x0590 */ 73,137,193, 76,137,238,131,202, 2, 72,131,124, 36, 64, 0, 72, -/* 0x05a0 */ 137,239, 65, 15, 68,214,232,104,252,255,255, 72, 57,197,117,121, -/* 0x05b0 */ 72,131,124, 36, 64, 0,116, 25, 72,139, 76, 36, 32, 72,139, 84, -/* 0x05c0 */ 36, 40, 72,141,116, 36, 80, 72,139,124, 36, 64,232,179,252,255, -/* 0x05d0 */ 255, 76,137,235, 72,247,219,129,227,255, 15, 0, 0, 65,246,198, -/* 0x05e0 */ 2,116, 13, 74,141,124, 45, 0, 49,192, 72,137,217,252,243,170, -/* 0x05f0 */ 72,131,124, 36, 64, 0,116, 59, 73,131,124, 36, 8, 0,117, 23, -/* 0x0600 */ 72,139,124, 36, 48, 72,141, 85, 12,199, 69, 12, 15, 5,195,144, -/* 0x0610 */ 49,246,232,126,253,255,255, 68,137,242, 76,137,238, 72,137,239, -/* 0x0620 */ 232, 25,252,255,255,133,192,116, 10,191,127, 0, 0, 0,232,247, -/* 0x0630 */ 251,255,255, 73,141, 68, 29, 0, 72, 1,197, 72, 59,108, 36, 8, -/* 0x0640 */ 115, 38, 72, 41,108, 36, 8, 69, 49,201, 65,131,200,255, 72,139, -/* 0x0650 */ 116, 36, 8,185, 50, 0, 0, 0, 68,137,242, 72,137,239,232,176, -/* 0x0660 */ 251,255,255, 72, 57,197,117,193,255, 68, 36, 20, 65, 15,183, 71, -/* 0x0670 */ 56, 73,131,196, 56, 57, 68, 36, 20, 15,140, 16,254,255,255, 72, -/* 0x0680 */ 131,188, 36,160, 0, 0, 0, 0,116, 16, 72,139, 68, 36, 24, 72, -/* 0x0690 */ 139,148, 36,160, 0, 0, 0, 72,137, 2, 73,139, 87, 24, 72, 1, -/* 0x06a0 */ 84, 36, 24, 72,139, 68, 36, 24, 72,131,196,104, 91, 93, 65, 92, -/* 0x06b0 */ 65, 93, 65, 94, 65, 95,195, 65, 87, 65, 86, 73,137,206, 49,201, -/* 0x06c0 */ 65, 85, 65, 84, 77,137,204, 85, 72,137,213, 76,141,109, 64, 83, -/* 0x06d0 */ 76,137,195, 72,131,236, 72,139, 7, 72,137,124, 36, 24, 72,137, -/* 0x06e0 */ 116, 36, 16, 72,137,124, 36, 40, 72,137,116, 36, 32, 72,141,124, -/* 0x06f0 */ 36, 16, 72,141,116, 36, 48, 72,137, 84, 36, 56, 76,137,194, 72, -/* 0x0700 */ 137, 68, 36, 48,232,123,251,255,255, 72,141,132, 36,128, 0, 0, -/* 0x0710 */ 0, 72,137, 68, 36, 8, 65, 83, 77,137,225, 49,210, 73,137,216, -/* 0x0720 */ 72,141,116, 36, 40, 80, 76,137,241, 72,137,239, 69, 49,255,232, -/* 0x0730 */ 147,252,255,255,190, 9, 0, 0, 0, 72,137,194, 76,137,247, 73, -/* 0x0740 */ 137,196,232, 78,252,255,255,102,131,125, 56, 0, 65, 89, 65, 90, -/* 0x0750 */ 15,132,146, 0, 0, 0, 65,131,125, 0, 3,117,119, 72,139, 68, -/* 0x0760 */ 36, 8, 49,210, 49,246, 72,139, 56, 73, 3,125, 16,232,196,250, -/* 0x0770 */ 255,255,133,192,137,195,120, 23,186, 0, 4, 0, 0, 72,137,238, -/* 0x0780 */ 137,199,232,191,250,255,255, 72, 61, 0, 4, 0, 0,116, 10,191, -/* 0x0790 */ 127, 0, 0, 0,232,145,250,255,255, 65, 80,255,116, 36, 16, 69, -/* 0x07a0 */ 49,201, 69, 49,192, 49,201,137,218, 49,246, 72,137,239,232, 20, -/* 0x07b0 */ 252,255,255, 73,137,196, 72,139, 68, 36, 24,190, 7, 0, 0, 0, -/* 0x07c0 */ 76,137,247, 72,139, 16,232,202,251,255,255,137,223,232, 96,250, -/* 0x07d0 */ 255,255, 94, 95, 15,183, 69, 56, 65,255,199, 73,131,197, 56, 65, -/* 0x07e0 */ 57,199, 15,130,110,255,255,255, 72,131,196, 72, 76,137,224, 91, -/* 0x07f0 */ 93, 65, 92, 65, 93, 65, 94, 65, 95,195 +/* 0x03c0 */ 72,131,199, 16,235,215,195, 65, 87,184, 0, 0, 0, 0, 65, 86, +/* 0x03d0 */ 65, 85, 65, 84, 73,137,252, 85, 83, 72,131,236,104, 76, 3,103, +/* 0x03e0 */ 32,102,131,127, 16, 3, 72,137, 76, 36, 40,185, 16, 0, 0, 0, +/* 0x03f0 */ 76,137, 68, 36, 32, 72,137,124, 36, 64, 72,137,116, 36, 56,137, +/* 0x0400 */ 84, 36, 52, 76,137, 76, 36, 24, 15, 68,200, 72,139,132, 36,160, +/* 0x0410 */ 0, 0, 0, 15,183, 87, 56, 76,137,230, 72,131,205,255, 49,219, +/* 0x0420 */ 49,255,131,193, 34, 76,139, 0,255,202,120, 33,131, 62, 1,117, +/* 0x0430 */ 22, 72,139, 70, 16, 72, 57,232, 72, 15, 66,232, 72, 3, 70, 40, +/* 0x0440 */ 72, 57,195, 72, 15, 66,216, 72,131,198, 56,235,219, 72,129,229, +/* 0x0450 */ 0,240,255,255, 72, 41,235, 72,129,195,255, 15, 0, 0, 72,129, +/* 0x0460 */ 227, 0,240,255,255,246,193, 16,116, 5, 72,137,239,235, 19, 72, +/* 0x0470 */ 133,237,117, 14,137,200, 76,137,199,131,200, 16, 77,133,192, 15, +/* 0x0480 */ 69,200, 49,210, 69, 49,201, 65,131,200,255, 72,137,222,232,128, +/* 0x0490 */ 253,255,255, 72,139, 84, 36, 64, 72,137,199, 72,141, 4, 3, 73, +/* 0x04a0 */ 137,255,199, 68, 36, 20, 0, 0, 0, 0, 73, 41,239, 72,137, 68, +/* 0x04b0 */ 36, 72,102,131,122, 56, 0, 15,132,253, 1, 0, 0, 72,131,124, +/* 0x04c0 */ 36, 56, 0,116, 35, 65,131, 60, 36, 6,117, 28, 73,139, 84, 36, +/* 0x04d0 */ 16, 72,139,124, 36, 40,190, 3, 0, 0, 0, 76, 1,250,232,178, +/* 0x04e0 */ 254,255,255,233,183, 1, 0, 0, 65,131, 60, 36, 1, 15,133,172, +/* 0x04f0 */ 1, 0, 0, 72,131,124, 36, 56, 0,116, 90, 73,131,124, 36, 8, +/* 0x0500 */ 0,117, 82, 72,139, 68, 36, 64, 73,139, 84, 36, 16,190, 3, 0, +/* 0x0510 */ 0, 0, 72,139,124, 36, 40, 76, 1,250, 72, 3, 80, 32,232,114, +/* 0x0520 */ 254,255,255, 72,139, 68, 36, 64, 72,139,124, 36, 40,190, 5, 0, +/* 0x0530 */ 0, 0, 72, 15,183, 80, 56,232, 89,254,255,255, 72,139, 68, 36, +/* 0x0540 */ 64, 72,139,124, 36, 40,190, 4, 0, 0, 0, 72, 15,183, 80, 54, +/* 0x0550 */ 232, 64,254,255,255, 73,139, 68, 36, 16, 65,139, 76, 36, 4, 65, +/* 0x0560 */ 190, 64, 98, 81,115, 65,131,200,255, 73,139, 84, 36, 32, 76, 1, +/* 0x0570 */ 248,131,225, 7, 72,137,197, 72,137, 68, 36, 88, 73,139, 68, 36, +/* 0x0580 */ 40,193,225, 2, 72,137,235, 72,137, 84, 36, 80,129,227,255, 15, +/* 0x0590 */ 0, 0, 65,211,238,185, 50, 0, 0, 0, 72, 1,232, 65,131,230, +/* 0x05a0 */ 7, 72, 41,221, 72,137, 68, 36, 8, 73,139, 68, 36, 8, 76,141, +/* 0x05b0 */ 44, 26, 72, 41,216, 72,131,124, 36, 56, 0,117, 7, 68,139, 68, +/* 0x05c0 */ 36, 52,177, 18, 68,137,242, 73,137,193, 76,137,238,131,202, 2, +/* 0x05d0 */ 72,131,124, 36, 56, 0, 72,137,239, 65, 15, 68,214,232, 49,252, +/* 0x05e0 */ 255,255, 72, 57,197,117,121, 72,131,124, 36, 56, 0,116, 25, 72, +/* 0x05f0 */ 139, 76, 36, 24, 72,139, 84, 36, 32, 72,141,116, 36, 80, 72,139, +/* 0x0600 */ 124, 36, 56,232,124,252,255,255, 76,137,235, 72,247,219,129,227, +/* 0x0610 */ 255, 15, 0, 0, 65,246,198, 2,116, 13, 74,141,124, 45, 0, 49, +/* 0x0620 */ 192, 72,137,217,252,243,170, 72,131,124, 36, 56, 0,116, 59, 73, +/* 0x0630 */ 131,124, 36, 8, 0,117, 23, 72,139,124, 36, 40, 72,141, 85, 12, +/* 0x0640 */ 199, 69, 12, 15, 5,195,144, 49,246,232, 71,253,255,255, 68,137, +/* 0x0650 */ 242, 76,137,238, 72,137,239,232,226,251,255,255,133,192,116, 10, +/* 0x0660 */ 191,127, 0, 0, 0,232,192,251,255,255, 73,141, 68, 29, 0, 72, +/* 0x0670 */ 1,197, 72, 59,108, 36, 8,115, 38, 72, 41,108, 36, 8, 69, 49, +/* 0x0680 */ 201, 65,131,200,255, 72,139,116, 36, 8,185, 50, 0, 0, 0, 68, +/* 0x0690 */ 137,242, 72,137,239,232,121,251,255,255, 72, 57,197,117,193, 72, +/* 0x06a0 */ 139, 84, 36, 64,255, 68, 36, 20, 73,131,196, 56, 15,183, 66, 56, +/* 0x06b0 */ 57, 68, 36, 20, 15,140, 3,254,255,255, 72,139,132, 36,160, 0, +/* 0x06c0 */ 0, 0, 72,139, 84, 36, 64, 76,137, 56, 76, 3,122, 24, 72,131, +/* 0x06d0 */ 196,104, 91, 93, 65, 92, 65, 93, 65, 94, 76,137,248, 65, 95,195, +/* 0x06e0 */ 65, 87, 65, 86, 73,137,206, 49,201, 65, 85, 65, 84, 77,137,204, +/* 0x06f0 */ 85, 72,137,213, 76,141,109, 64, 83, 76,137,195, 72,131,236, 72, +/* 0x0700 */ 139, 7, 72,137,124, 36, 24, 72,137,116, 36, 16, 76,141,188, 36, +/* 0x0710 */ 128, 0, 0, 0, 72,137,124, 36, 40, 72,137,116, 36, 32, 72,141, +/* 0x0720 */ 124, 36, 16, 72,141,116, 36, 48, 72,137, 84, 36, 56, 76,137,194, +/* 0x0730 */ 72,137, 68, 36, 48,232, 74,251,255,255, 65, 83, 77,137,225, 49, +/* 0x0740 */ 210, 73,137,216, 76,137,241, 72,137,239, 72,141,116, 36, 40, 65, +/* 0x0750 */ 87,232,113,252,255,255,190, 9, 0, 0, 0, 72,137,194, 76,137, +/* 0x0760 */ 247, 73,137,196,232, 44,252,255,255, 65, 89, 65, 90,102,131,125, +/* 0x0770 */ 56, 0,199, 68, 36, 12, 0, 0, 0, 0, 15,132,143, 0, 0, 0, +/* 0x0780 */ 65,131,125, 0, 3,117,114, 73,139, 63, 73, 3,125, 16, 49,210, +/* 0x0790 */ 49,246,232,159,250,255,255,133,192,137,195,120, 23,186, 0, 4, +/* 0x07a0 */ 0, 0, 72,137,238,137,199,232,154,250,255,255, 72, 61, 0, 4, +/* 0x07b0 */ 0, 0,116, 10,191,127, 0, 0, 0,232,108,250,255,255, 73,199, +/* 0x07c0 */ 7, 0, 0, 0, 0, 65, 80, 69, 49,201, 69, 49,192, 49,201, 65, +/* 0x07d0 */ 87,137,218, 49,246, 72,137,239,232,234,251,255,255, 73,139, 23, +/* 0x07e0 */ 190, 7, 0, 0, 0, 76,137,247, 73,137,196,232,165,251,255,255, +/* 0x07f0 */ 137,223,232, 59,250,255,255, 94, 95,255, 68, 36, 12, 15,183, 69, +/* 0x0800 */ 56, 73,131,197, 56, 57, 68, 36, 12, 15,130,113,255,255,255, 72, +/* 0x0810 */ 131,196, 72, 76,137,224, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, +/* 0x0820 */ 195 }; diff --git a/src/stub/powerpc-linux.elf-entry.h b/src/stub/powerpc-linux.elf-entry.h index b323716e..e463a109 100644 --- a/src/stub/powerpc-linux.elf-entry.h +++ b/src/stub/powerpc-linux.elf-entry.h @@ -1,5 +1,5 @@ /* powerpc-linux.elf-entry.h - created from powerpc-linux.elf-entry.bin, 9136 (0x23b0) bytes + created from powerpc-linux.elf-entry.bin, 9144 (0x23b8) bytes This file is part of the UPX executable compressor. @@ -31,15 +31,15 @@ */ -#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9136 -#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x18f95c14 -#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0xfcbd2072 +#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9144 +#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0xbffd5d8f +#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x77078a44 -unsigned char stub_powerpc_linux_elf_entry[9136] = { +unsigned char stub_powerpc_linux_elf_entry[9144] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 26, 8, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, -/* 0x0030 */ 0, 0, 0, 0, 72, 0, 1, 53,124, 0, 41,236,125,168, 2,166, +/* 0x0020 */ 0, 0, 26, 16, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, +/* 0x0030 */ 0, 0, 0, 0, 72, 0, 1, 61,124, 0, 41,236,125,168, 2,166, /* 0x0040 */ 40, 7, 0, 8, 64,130, 1, 60,144,166, 0, 0,124,132, 26, 20, /* 0x0050 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255, /* 0x0060 */ 57, 64,255,255, 72, 0, 1, 12, 57, 32, 0, 1,125, 41, 28, 44, @@ -425,186 +425,187 @@ unsigned char stub_powerpc_linux_elf_entry[9136] = { /* 0x1820 */ 68, 0, 0, 2,124,123, 27,120,128, 31,255,248, 59, 63,255,248, /* 0x1830 */ 56,224,255,255,130,182, 0, 4, 56,192, 0, 34,127, 32,200, 80, /* 0x1840 */ 56, 96, 0, 0,124, 25,176, 80,124,149, 2, 20,124,156, 35,120, -/* 0x1850 */ 72, 0, 0,145,124,125, 27,120,128, 22, 0, 8,124,149,224, 80, -/* 0x1860 */ 127,103,219,120, 56,192, 0, 18,124,132, 2, 20, 72, 0, 0,117, +/* 0x1850 */ 72, 0, 0,153,124,125, 27,120,128, 22, 0, 8,124,149,224, 80, +/* 0x1860 */ 127,103,219,120, 56,192, 0, 18,124,132, 2, 20, 72, 0, 0,125, /* 0x1870 */ 126,153, 24, 80,130,118, 0, 0, 56,118, 0, 16,126,214,162, 20, /* 0x1880 */ 126,246,170, 20,126,216,240, 56,126,248,184, 80,127,233, 3,166, /* 0x1890 */ 127,255,162, 20,136,246, 0, 12,146,161, 0,140, 56,193, 0,140, -/* 0x18a0 */ 126,197,179,120,128,150, 0, 8, 78,128, 4, 33, 87,192,186,126, -/* 0x18b0 */ 176, 22, 0, 2, 56,160, 0, 5,126,228,187,120,127, 3,195,120, -/* 0x18c0 */ 56, 0, 0,125, 68, 0, 0, 2,130,255,255,248,127, 25,154, 20, -/* 0x18d0 */ 127, 24,162, 20, 56, 22, 0, 16,124, 9, 3,166, 78,128, 4, 32, -/* 0x18e0 */ 57, 0, 0, 0, 56,160, 0, 3, 56, 0, 0, 90, 68, 0, 0, 2, -/* 0x18f0 */ 64,131, 0, 8,124,128, 0, 8, 78,128, 0, 32,128, 3, 0, 0, -/* 0x1900 */ 56, 99, 0, 4, 47,128, 0, 0, 64,158,255,244, 78,128, 0, 32, -/* 0x1910 */ 148, 33,255,112,188, 65, 0, 20,127,232, 2,166, 56, 97, 0,144, -/* 0x1920 */ 75,255,255,221, 75,255,255,217,124,122, 27,120,128, 3, 0, 0, -/* 0x1930 */ 128,131, 0, 4, 56, 99, 0, 8, 47,128, 0, 6, 65,158, 0, 16, -/* 0x1940 */ 44, 0, 0, 0, 64,130,255,232, 56,128, 16, 0,127,196, 0,208, -/* 0x1950 */ 75,255,254,173, 0, 0, 0, 0,102,105,108,101, 32,102,111,114, -/* 0x1960 */ 109, 97,116, 32,101,108,102, 51, 50, 45,112,111,119,101,114,112, -/* 0x1970 */ 99, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, -/* 0x1980 */ 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, -/* 0x1990 */ 105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, -/* 0x19a0 */ 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108, -/* 0x19b0 */ 101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97, -/* 0x19c0 */ 103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, -/* 0x19d0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, -/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x19f0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, -/* 0x1a00 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x1a10 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, -/* 0x1a20 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, -/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a40 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1a50 */ 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1a60 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1a70 */ 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x1a80 */ 32, 32, 48, 48, 48, 48, 48, 49, 52, 56, 32, 32, 48, 48, 48, 48, -/* 0x1a90 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1ab0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x1ac0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, -/* 0x1ad0 */ 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1ae0 */ 48, 49, 50, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, -/* 0x1b00 */ 56, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1b10 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x1b20 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, -/* 0x1b30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 48, 32, 32, -/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1b50 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 99, 32, 32, 50, 42, -/* 0x1b60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x1b70 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x1b80 */ 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, -/* 0x1b90 */ 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1ba0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1bb0 */ 48, 48, 48, 51, 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1bc0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x1bd0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, -/* 0x1be0 */ 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, -/* 0x1bf0 */ 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1c00 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 50, 99, -/* 0x1c10 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1c20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, -/* 0x1c30 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, -/* 0x1c40 */ 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1c50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1c60 */ 100, 99, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x1c70 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x1c80 */ 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, -/* 0x1c90 */ 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1ca0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1cb0 */ 48, 48, 49, 55, 54, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1cc0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1cd0 */ 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, -/* 0x1ce0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48, -/* 0x1cf0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1d00 */ 32, 48, 48, 48, 48, 49, 55, 56, 56, 32, 32, 50, 42, 42, 48, 32, -/* 0x1d10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, -/* 0x1d20 */ 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, -/* 0x1d30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, -/* 0x1d40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1d50 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 97, 52, 32, 32, 50, 42, -/* 0x1d60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x1d70 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, -/* 0x1d80 */ 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, -/* 0x1d90 */ 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1da0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 99, 56, 32, -/* 0x1db0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1dc0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1dd0 */ 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, -/* 0x1de0 */ 32, 32, 32, 48, 48, 48, 48, 48, 49, 55, 99, 32, 32, 48, 48, 48, -/* 0x1df0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1e00 */ 32, 48, 48, 48, 48, 49, 55,100, 99, 32, 32, 50, 42, 42, 50, 32, -/* 0x1e10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x1e20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, -/* 0x1e30 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e40 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x1e50 */ 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1e60 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e70 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, -/* 0x1e80 */ 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, -/* 0x1e90 */ 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1ea0 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, -/* 0x1eb0 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, -/* 0x1ec0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1ed0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, -/* 0x1ee0 */ 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, -/* 0x1ef0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, -/* 0x1f00 */ 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1f10 */ 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f20 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, -/* 0x1f30 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, -/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1f50 */ 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, -/* 0x1f60 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1f70 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, -/* 0x1f80 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, -/* 0x1f90 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, -/* 0x1fa0 */ 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1fb0 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, -/* 0x1fc0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, -/* 0x1fd0 */ 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1fe0 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x1ff0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, -/* 0x2000 */ 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2010 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2020 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 70, 76, 85, -/* 0x2030 */ 83, 72, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76, 85, -/* 0x2040 */ 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x2050 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, -/* 0x2060 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, -/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, -/* 0x2080 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x2090 */ 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x20a0 */ 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, -/* 0x20b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, 70, 79, -/* 0x20c0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x20d0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, -/* 0x20e0 */ 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x20f0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2100 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, -/* 0x2110 */ 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2120 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, -/* 0x2130 */ 48, 49, 51, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x2140 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, -/* 0x2150 */ 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x2160 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2170 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, -/* 0x2180 */ 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, -/* 0x2190 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, -/* 0x21a0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x21b0 */ 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, -/* 0x21c0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x21d0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x21e0 */ 48, 48, 48, 98, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, -/* 0x21f0 */ 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, -/* 0x2200 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x2210 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, -/* 0x2220 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x2230 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x2240 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 80, 80, -/* 0x2250 */ 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, -/* 0x2260 */ 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x2270 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x2280 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, -/* 0x2290 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x22a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x22b0 */ 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, -/* 0x22c0 */ 49, 52, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x22d0 */ 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 50, 52, 10, 10, -/* 0x22e0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x22f0 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 89, -/* 0x2300 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x2310 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x2320 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, -/* 0x2330 */ 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, -/* 0x2340 */ 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x2350 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x2360 */ 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, -/* 0x2370 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x2380 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x2390 */ 48, 48, 49, 55, 56, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, 82, -/* 0x23a0 */ 51, 50, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 +/* 0x18a0 */ 126,197,179,120,128,150, 0, 8, 78,128, 4, 33,128, 22, 0, 0, +/* 0x18b0 */ 87,195,186,126, 80, 96, 4, 62,144, 22, 0, 0, 56,160, 0, 5, +/* 0x18c0 */ 126,228,187,120,127, 3,195,120, 56, 0, 0,125, 68, 0, 0, 2, +/* 0x18d0 */ 130,255,255,248,127, 25,154, 20,127, 24,162, 20, 56, 22, 0, 16, +/* 0x18e0 */ 124, 9, 3,166, 78,128, 4, 32, 57, 0, 0, 0, 56,160, 0, 3, +/* 0x18f0 */ 56, 0, 0, 90, 68, 0, 0, 2, 64,131, 0, 8,124,128, 0, 8, +/* 0x1900 */ 78,128, 0, 32,128, 3, 0, 0, 56, 99, 0, 4, 47,128, 0, 0, +/* 0x1910 */ 64,158,255,244, 78,128, 0, 32,148, 33,255,112,188, 65, 0, 20, +/* 0x1920 */ 127,232, 2,166, 56, 97, 0,144, 75,255,255,221, 75,255,255,217, +/* 0x1930 */ 124,122, 27,120,128, 3, 0, 0,128,131, 0, 4, 56, 99, 0, 8, +/* 0x1940 */ 47,128, 0, 6, 65,158, 0, 16, 44, 0, 0, 0, 64,130,255,232, +/* 0x1950 */ 56,128, 16, 0,127,196, 0,208, 75,255,254,165, 0, 0, 0, 0, +/* 0x1960 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, +/* 0x1970 */ 50, 45,112,111,119,101,114,112, 99, 10, 10, 83,101, 99,116,105, +/* 0x1980 */ 111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, +/* 0x1990 */ 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, +/* 0x19a0 */ 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, +/* 0x19b0 */ 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65, +/* 0x19c0 */ 108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, +/* 0x19d0 */ 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x19e0 */ 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x19f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1a00 */ 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1a10 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x1a20 */ 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, +/* 0x1a30 */ 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1a40 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1a50 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, 32, 32, 50, +/* 0x1a60 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1a70 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, +/* 0x1a80 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, +/* 0x1a90 */ 52, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, +/* 0x1ab0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1ac0 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1ad0 */ 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, +/* 0x1ae0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 50, 99, 32, 32, 48, 48, +/* 0x1af0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b00 */ 32, 32, 48, 48, 48, 48, 48, 49, 56, 48, 32, 32, 50, 42, 42, 48, +/* 0x1b10 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, +/* 0x1b20 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, +/* 0x1b30 */ 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, +/* 0x1b40 */ 48, 48, 48, 48,102, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b50 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1b60 */ 48, 50, 97, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1b70 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, +/* 0x1b80 */ 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, +/* 0x1b90 */ 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57, 48, +/* 0x1ba0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1bb0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 57, 99, 32, 32, +/* 0x1bc0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1bd0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x1be0 */ 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, +/* 0x1bf0 */ 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, +/* 0x1c00 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1c10 */ 48, 48, 48, 48, 48, 52, 50, 99, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x1c20 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1c30 */ 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x1c40 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, +/* 0x1c50 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c60 */ 48, 32, 32, 48, 48, 48, 48, 48,100, 99, 56, 32, 32, 50, 42, 42, +/* 0x1c70 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x1c80 */ 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, +/* 0x1c90 */ 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, +/* 0x1ca0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1cb0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 54, 52, 32, 32, +/* 0x1cc0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1cd0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, +/* 0x1ce0 */ 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1cf0 */ 48, 49, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1d00 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 56, +/* 0x1d10 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1d20 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, +/* 0x1d30 */ 67, 70, 76, 85, 83, 72, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, +/* 0x1d40 */ 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d50 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1d60 */ 49, 55, 97, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1d70 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1d80 */ 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, +/* 0x1d90 */ 32, 48, 48, 48, 48, 48, 48, 49, 50, 32, 32, 48, 48, 48, 48, 48, +/* 0x1da0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1db0 */ 48, 48, 48, 49, 55, 99, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x1dc0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, +/* 0x1dd0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, +/* 0x1de0 */ 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1df0 */ 49, 56, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55,100, +/* 0x1e10 */ 99, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1e20 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1e30 */ 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, +/* 0x1e40 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1e50 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, +/* 0x1e60 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, +/* 0x1e70 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1e80 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, +/* 0x1e90 */ 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, +/* 0x1ea0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, +/* 0x1eb0 */ 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1ec0 */ 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ed0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x1ee0 */ 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, +/* 0x1ef0 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1f00 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, +/* 0x1f10 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, +/* 0x1f20 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1f30 */ 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f40 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1f50 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, +/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, +/* 0x1f70 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, +/* 0x1f80 */ 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, +/* 0x1f90 */ 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1fa0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, +/* 0x1fb0 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, +/* 0x1fc0 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1fd0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, +/* 0x1fe0 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x1ff0 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2000 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, +/* 0x2010 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2020 */ 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2030 */ 32,100, 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, +/* 0x2040 */ 48, 48, 48, 32, 67, 70, 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, +/* 0x2050 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, +/* 0x2060 */ 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, +/* 0x2070 */ 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x2080 */ 103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, +/* 0x2090 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, +/* 0x20a0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, +/* 0x20b0 */ 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x20c0 */ 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, +/* 0x20d0 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, +/* 0x20e0 */ 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, +/* 0x20f0 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x2100 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2110 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, +/* 0x2120 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x2130 */ 90, 43, 48,120, 48, 48, 48, 48, 48, 49, 51, 99, 10, 10, 82, 69, +/* 0x2140 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x2150 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, +/* 0x2160 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, +/* 0x2170 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, +/* 0x2180 */ 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, +/* 0x2190 */ 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, +/* 0x21a0 */ 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, +/* 0x21b0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, +/* 0x21c0 */ 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, +/* 0x21d0 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, +/* 0x21e0 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, +/* 0x21f0 */ 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2200 */ 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, +/* 0x2210 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, +/* 0x2220 */ 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, +/* 0x2230 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2240 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, +/* 0x2250 */ 48, 57, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, +/* 0x2260 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, +/* 0x2270 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x2280 */ 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, +/* 0x2290 */ 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, +/* 0x22a0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x22b0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, +/* 0x22c0 */ 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, +/* 0x22d0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, +/* 0x22e0 */ 48, 48, 48, 48, 50, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x22f0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x2300 */ 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x2310 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2320 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, +/* 0x2330 */ 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, +/* 0x2340 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, +/* 0x2350 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, +/* 0x2360 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, +/* 0x2370 */ 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, +/* 0x2380 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, +/* 0x2390 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 56, 48, 32, 82, 95, +/* 0x23a0 */ 80, 80, 67, 95, 65, 68, 68, 82, 51, 50, 32, 32, 32, 32, 32, 32, +/* 0x23b0 */ 79, 95, 66, 73, 78, 70, 79, 10 }; diff --git a/src/stub/powerpc-linux.elf-fold.h b/src/stub/powerpc-linux.elf-fold.h index 92570912..890c4ad4 100644 --- a/src/stub/powerpc-linux.elf-fold.h +++ b/src/stub/powerpc-linux.elf-fold.h @@ -32,8 +32,8 @@ #define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 4168 -#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x08ac57ce -#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x1e254351 +#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x5c0657c6 +#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x9bbd4980 unsigned char stub_powerpc_linux_elf_fold[4168] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -59,7 +59,7 @@ unsigned char stub_powerpc_linux_elf_fold[4168] = { /* 0x0140 */ 144, 3, 0, 4,132, 4, 0, 8,148, 3, 0, 8, 64,158,255,236, /* 0x0150 */ 58,163, 0, 4,126,154,168, 80,128, 22, 0,100, 58,100, 0, 4, /* 0x0160 */ 148, 3, 0, 4, 58, 67, 0, 4, 56,160, 15,255,126, 68,147,120, -/* 0x0170 */ 56,118, 0,104, 72, 0, 1, 21, 56,178,255,252, 44, 3, 0, 0, +/* 0x0170 */ 56,118, 0,104, 72, 0, 1, 29, 56,178,255,252, 44, 3, 0, 0, /* 0x0180 */ 65,129, 0, 12, 56,182, 0,100, 56, 96, 0, 16, 56, 99, 0, 4, /* 0x0190 */ 124,133, 26, 20,124,105, 3,166,126, 99,155,120, 56,160, 0, 0, /* 0x01a0 */ 156,163,255,255,140, 4,255,255,156, 3,255,255, 66, 0,255,248, @@ -71,16 +71,16 @@ unsigned char stub_powerpc_linux_elf_fold[4168] = { /* 0x0200 */ 127, 41,203,120, 72, 0, 12, 61, 56, 33, 8, 16,124,127, 27,120, /* 0x0210 */ 57, 0, 0, 0,127,103,219,120, 56,192, 0, 2, 56,160, 0, 1, /* 0x0220 */ 124,158, 0,208, 56, 96, 0, 0, 72, 0, 0, 69,127, 99,219,120, -/* 0x0230 */ 72, 0, 0,121,127, 67,211,120,128, 3, 0, 0,128,131, 0, 4, +/* 0x0230 */ 72, 0, 0,129,127, 67,211,120,128, 3, 0, 0,128,131, 0, 4, /* 0x0240 */ 56, 99, 0, 8, 43,128, 0, 0, 64,158,255,240,124,137, 3,166, /* 0x0250 */ 127,163,235,120,127,132,227,120, 56, 0, 0, 91,127,232, 3,166, /* 0x0260 */ 184,161, 0, 32, 56, 33, 0,144, 78,128, 4, 32, 56, 0, 0, 90, /* 0x0270 */ 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255, 78,128, 0, 32, -/* 0x0280 */ 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 85, 72, 0, 0, 8, -/* 0x0290 */ 56, 0, 0, 4, 72, 0, 0, 8, 56, 0, 0, 3, 72, 0, 0, 8, -/* 0x02a0 */ 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 6, 72, 0, 0, 8, -/* 0x02b0 */ 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 91, 72, 0, 0, 8, -/* 0x02c0 */ 56, 0, 0, 45, 75,255,255,172,124,128, 0, 8, 78,128, 0, 32, +/* 0x0280 */ 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 45, 72, 0, 0, 8, +/* 0x0290 */ 56, 0, 0, 85, 72, 0, 0, 8, 56, 0, 0, 4, 72, 0, 0, 8, +/* 0x02a0 */ 56, 0, 0, 3, 72, 0, 0, 8, 56, 0, 0, 5, 72, 0, 0, 8, +/* 0x02b0 */ 56, 0, 0, 6, 72, 0, 0, 8, 56, 0, 0,125, 72, 0, 0, 8, +/* 0x02c0 */ 56, 0, 0, 91, 75,255,255,172,124,128, 0, 8, 78,128, 0, 32, /* 0x02d0 */ 148, 33,255,208,124, 8, 2,166,147,225, 0, 44,144, 1, 0, 52, /* 0x02e0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, /* 0x02f0 */ 129, 63, 0, 8,128, 9, 0, 4,144, 31, 0, 20,128, 31, 0, 12, @@ -97,7 +97,7 @@ unsigned char stub_powerpc_linux_elf_fold[4168] = { /* 0x03a0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, /* 0x03b0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,124, 8, 2,166, /* 0x03c0 */ 147,225, 0, 28,144, 1, 0, 36,124, 63, 11,120,144,127, 0, 8, -/* 0x03d0 */ 128,127, 0, 8, 75,255,254,237,124, 96, 27,120,124, 3, 3,120, +/* 0x03d0 */ 128,127, 0, 8, 75,255,254,181,124, 96, 27,120,124, 3, 3,120, /* 0x03e0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, /* 0x03f0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,176,124, 8, 2,166, /* 0x0400 */ 147,225, 0, 76,144, 1, 0, 84,124, 63, 11,120,144,127, 0, 8, @@ -247,7 +247,7 @@ unsigned char stub_powerpc_linux_elf_fold[4168] = { /* 0x0d00 */ 128,159, 0, 48,128,191, 0, 36, 75,255,249, 29,124, 96, 27,120, /* 0x0d10 */ 144, 31, 0, 88,128, 31, 0, 88, 47,128, 0, 0, 65,158, 0, 20, /* 0x0d20 */ 128,127, 0, 20, 56,128, 0, 0,128,191, 0, 88, 75,255,250,237, -/* 0x0d30 */ 128,127, 0, 76,128,159, 0, 72,128,191, 0, 56, 75,255,245,117, +/* 0x0d30 */ 128,127, 0, 76,128,159, 0, 72,128,191, 0, 56, 75,255,245,125, /* 0x0d40 */ 124, 96, 27,120, 47,128, 0, 0, 65,158, 0, 12, 56, 96, 0,127, /* 0x0d50 */ 75,255,245, 49,129, 63, 0, 72,128, 31, 0, 84,125, 41, 2, 20, /* 0x0d60 */ 128, 31, 0, 76,124, 0, 74, 20,144, 31, 0, 76,129, 63, 0, 76, @@ -284,15 +284,15 @@ unsigned char stub_powerpc_linux_elf_fold[4168] = { /* 0x0f50 */ 127,137, 0, 0, 64,157, 0,212,129, 63, 0, 60,128, 9, 0, 0, /* 0x0f60 */ 47,128, 0, 3, 64,158, 0,168,129, 63, 0, 60,129, 41, 0, 8, /* 0x0f70 */ 128, 31, 0, 56,124, 9, 2, 20,124, 3, 3,120, 56,128, 0, 0, -/* 0x0f80 */ 56,160, 0, 0, 75,255,243, 29,124, 96, 27,120,144, 31, 0, 72, +/* 0x0f80 */ 56,160, 0, 0, 75,255,243, 37,124, 96, 27,120,144, 31, 0, 72, /* 0x0f90 */ 128, 31, 0, 72, 47,128, 0, 0, 64,156, 0, 8, 72, 0, 0, 32, -/* 0x0fa0 */ 128,127, 0, 72,128,159, 0, 16, 56,160, 2, 0, 75,255,242,237, +/* 0x0fa0 */ 128,127, 0, 72,128,159, 0, 16, 56,160, 2, 0, 75,255,242,245, /* 0x0fb0 */ 124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, 56, 96, 0,127, /* 0x0fc0 */ 75,255,242,193, 56, 31, 0, 56,128,127, 0, 72,128,159, 0, 16, /* 0x0fd0 */ 56,160, 0, 0,128,223, 0, 20,124, 7, 3,120, 57, 0, 0, 0, /* 0x0fe0 */ 57, 32, 0, 0, 75,255,250, 81,124, 96, 27,120,144, 31, 0, 64, /* 0x0ff0 */ 128,127, 0, 20, 56,128, 0, 7,128,191, 0, 56, 75,255,248, 29, -/* 0x1000 */ 128,127, 0, 72, 75,255,242,165, 72, 0, 0, 32,129, 63, 0, 60, +/* 0x1000 */ 128,127, 0, 72, 75,255,242,173, 72, 0, 0, 32,129, 63, 0, 60, /* 0x1010 */ 56, 9, 0, 32,144, 31, 0, 60,129, 63, 0, 68, 56, 9, 0, 1, /* 0x1020 */ 144, 31, 0, 68, 75,255,255, 28,128, 31, 0, 64,124, 3, 3,120, /* 0x1030 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, diff --git a/src/stub/powerpc64-linux.elf-entry.h b/src/stub/powerpc64-linux.elf-entry.h index b9b5adcb..81340f29 100644 --- a/src/stub/powerpc64-linux.elf-entry.h +++ b/src/stub/powerpc64-linux.elf-entry.h @@ -1,5 +1,5 @@ /* powerpc64-linux.elf-entry.h - created from powerpc64-linux.elf-entry.bin, 11736 (0x2dd8) bytes + created from powerpc64-linux.elf-entry.bin, 11568 (0x2d30) bytes This file is part of the UPX executable compressor. @@ -31,14 +31,14 @@ */ -#define STUB_POWERPC64_LINUX_ELF_ENTRY_SIZE 11736 -#define STUB_POWERPC64_LINUX_ELF_ENTRY_ADLER32 0xe7cc14b7 -#define STUB_POWERPC64_LINUX_ELF_ENTRY_CRC32 0xc32305e1 +#define STUB_POWERPC64_LINUX_ELF_ENTRY_SIZE 11568 +#define STUB_POWERPC64_LINUX_ELF_ENTRY_ADLER32 0xc761d06f +#define STUB_POWERPC64_LINUX_ELF_ENTRY_CRC32 0xb13e13b0 -unsigned char stub_powerpc64_linux_elf_entry[11736] = { +unsigned char stub_powerpc64_linux_elf_entry[11568] = { /* 0x0000 */ 127, 69, 76, 70, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 1, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,248, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,120, /* 0x0030 */ 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, /* 0x0040 */ 72, 0, 0, 1,124, 0, 41,236,125,168, 2,166, 40, 7, 0, 8, /* 0x0050 */ 64,130, 1, 72,248,166, 0, 0,124,132, 26, 20, 60, 0,128, 0, @@ -505,269 +505,258 @@ unsigned char stub_powerpc64_linux_elf_entry[11736] = { /* 0x1d20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x1d30 */ 56,160, 0, 14,124,136, 2,166, 56, 96, 0, 2, 56, 0, 0, 4, /* 0x1d40 */ 68, 0, 0, 2, 56, 96, 0,127, 56, 0, 0, 1, 68, 0, 0, 2, -/* 0x1d50 */ 127, 8, 2,166, 59,191,255,248,128, 29, 0, 0,131,120, 0, 0, -/* 0x1d60 */ 127,160,232, 80,160, 29, 0, 16, 40, 0, 0, 3, 65,130, 0, 68, -/* 0x1d70 */ 235,157, 0,104, 57, 0, 0, 0,127,158,224, 80, 56,224,255,255, -/* 0x1d80 */ 59,156,255,255, 56,192, 0, 50,127,156,240, 56, 56,160, 0, 3, -/* 0x1d90 */ 128,152, 0, 4,124,125,226, 20,127,156, 34, 20, 56, 0, 0, 90, -/* 0x1da0 */ 68, 0, 0, 2, 65,195, 0, 0, 59, 32, 0, 0, 72, 0, 0,184, -/* 0x1db0 */ 127,185,235,120,234,221, 0,104,128, 24, 0, 4,127,128,178, 20, -/* 0x1dc0 */ 127,132,227,120,126,228,232, 80,126,247,240, 56,127, 67,211,120, -/* 0x1dd0 */ 232,195, 0, 0,233, 3, 0, 8, 56, 99, 0, 16, 43,166, 0, 0, -/* 0x1de0 */ 65,222, 0, 44, 56,198,255,224, 43,166, 0, 1, 65,253,255,228, -/* 0x1df0 */ 124,215, 64, 80,127,166, 32, 64, 64,252,255,216,124,196, 48, 80, -/* 0x1e00 */ 126,247, 50, 20,126,247,240, 56, 75,255,255,200,126,227,187,120, -/* 0x1e10 */ 57, 0, 0, 0, 56,224,255,255, 56,192, 0, 50, 56,160, 0, 3, -/* 0x1e20 */ 56, 0, 0, 90, 68, 0, 0, 2, 65,195, 0, 0,124, 29,184, 80, -/* 0x1e30 */ 127,255, 2, 20,126,198,179,120, 56,198, 0, 15, 56,157,255,248, -/* 0x1e40 */ 120,198,225, 2, 56, 99,255,248,124,201, 3,166,232,164, 0, 8, -/* 0x1e50 */ 232,196, 0, 17,248,163, 0, 8,248,195, 0, 17, 66, 0,255,240, -/* 0x1e60 */ 126,253,187,120,124,101, 27,120,124,119, 27,120,127,233, 3,166, -/* 0x1e70 */ 128, 24, 0, 4,136,248, 0, 12, 56,193, 1,104,248, 1, 1,104, -/* 0x1e80 */ 128,152, 0, 8, 56,120, 0, 16, 78,128, 4, 33, 56,160, 0, 5, -/* 0x1e90 */ 127,132,227,120,127,163,235,120, 56, 0, 0,125, 68, 0, 0, 2, -/* 0x1ea0 */ 126,233, 3,166, 78,128, 4, 32,232, 3, 0, 0, 56, 99, 0, 8, -/* 0x1eb0 */ 47,160, 0, 0, 64,254,255,244, 78,128, 0, 32,248, 33,254,145, -/* 0x1ec0 */ 248, 65, 0,120,248, 97, 0,128,248,129, 0,136,248,161, 0,144, -/* 0x1ed0 */ 248,193, 0,152,248,225, 0,160,249, 1, 0,168,249, 33, 0,176, -/* 0x1ee0 */ 249, 65, 0,184,249, 97, 0,192,249,129, 0,200,249,161, 0,208, -/* 0x1ef0 */ 249,193, 0,216,249,225, 0,224,250, 1, 0,232,250, 33, 0,240, -/* 0x1f00 */ 250, 65, 0,248,250, 97, 1, 0,250,129, 1, 8,250,161, 1, 16, -/* 0x1f10 */ 250,193, 1, 24,250,225, 1, 32,251, 1, 1, 40,251, 33, 1, 48, -/* 0x1f20 */ 251, 65, 1, 56,251, 97, 1, 64,251,129, 1, 72,251,161, 1, 80, -/* 0x1f30 */ 251,193, 1, 88,251,225, 1, 96,127,232, 2,166, 56, 97, 1,112, -/* 0x1f40 */ 75,255,255,105, 75,255,255,101,124,122, 27,120,232, 3, 0, 0, -/* 0x1f50 */ 232,131, 0, 8, 56, 99, 0, 16, 47,160, 0, 6, 65,222, 0, 16, -/* 0x1f60 */ 44, 32, 0, 0, 64,226,255,232, 60,128, 0, 1,127,196, 0,208, -/* 0x1f70 */ 75,255,253,225, 0, 0, 0, 0,102,105,108,101, 32,102,111,114, -/* 0x1f80 */ 109, 97,116, 32,101,108,102, 54, 52, 45,112,111,119,101,114,112, -/* 0x1f90 */ 99, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, -/* 0x1fa0 */ 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, -/* 0x1fb0 */ 105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, -/* 0x1fc0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, -/* 0x1fd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108, -/* 0x1fe0 */ 101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97, -/* 0x1ff0 */ 103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, -/* 0x2000 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, -/* 0x2010 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2020 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2030 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, -/* 0x2040 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x2050 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, -/* 0x2060 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, -/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2080 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2090 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x20a0 */ 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x20b0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x20c0 */ 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x20d0 */ 32, 32, 48, 48, 48, 48, 48, 49, 53, 52, 32, 32, 48, 48, 48, 48, -/* 0x20e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2100 */ 48, 48, 48, 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x2110 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x2120 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, -/* 0x2130 */ 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x2140 */ 48, 49, 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2150 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, -/* 0x2170 */ 57, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x2180 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x2190 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, -/* 0x21a0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 56, 32, 32, -/* 0x21b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21c0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21d0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,100, 99, 32, 32, 50, 42, -/* 0x21e0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x21f0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x2200 */ 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, -/* 0x2210 */ 48, 48, 48, 48, 48, 48, 57, 52, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2220 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2230 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x2240 */ 48, 48, 48, 51,100, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x2250 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x2260 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, -/* 0x2270 */ 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2280 */ 50, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2290 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x22a0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 54, 56, -/* 0x22b0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x22c0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, -/* 0x22d0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, -/* 0x22e0 */ 48, 48, 98, 99, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x22f0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2300 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2310 */ 52, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x2320 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x2330 */ 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, -/* 0x2340 */ 48, 48, 48, 48, 48, 99, 55, 52, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2350 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2360 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x2370 */ 48, 48, 49, 48, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x2380 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x2390 */ 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, -/* 0x23a0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48, -/* 0x23b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x23d0 */ 32, 48, 48, 48, 48, 49, 99, 99, 52, 32, 32, 50, 42, 42, 48, 32, -/* 0x23e0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, -/* 0x23f0 */ 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, -/* 0x2400 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, -/* 0x2410 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2420 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2430 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,101, 48, 32, 32, 50, 42, -/* 0x2440 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x2450 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, -/* 0x2460 */ 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, -/* 0x2470 */ 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2480 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2490 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49,100, 48, 52, 32, -/* 0x24a0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x24b0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x24c0 */ 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90,101, 32, 32, -/* 0x24d0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 56, 32, 32, 48, 48, 48, -/* 0x24e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x24f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2500 */ 32, 48, 48, 48, 48, 49,100, 49, 56, 32, 32, 50, 42, 42, 51, 32, -/* 0x2510 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x2520 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 51, 32, 69, -/* 0x2530 */ 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x2540 */ 48, 48, 50, 52, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2550 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2560 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x2570 */ 100, 51, 48, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, -/* 0x2580 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x2590 */ 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, -/* 0x25a0 */ 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x25b0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, -/* 0x25c0 */ 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x25d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x25e0 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x25f0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, -/* 0x2600 */ 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2610 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, -/* 0x2620 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2630 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, -/* 0x2640 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2650 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, -/* 0x2660 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x2670 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, -/* 0x2680 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, -/* 0x2690 */ 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x26a0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x26b0 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x26c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, -/* 0x26d0 */ 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x26e0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, -/* 0x26f0 */ 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2700 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, -/* 0x2710 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2720 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, -/* 0x2730 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, -/* 0x2740 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2750 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, -/* 0x2760 */ 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2770 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, -/* 0x2780 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x2790 */ 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, -/* 0x27a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, -/* 0x27b0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x27c0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, -/* 0x27d0 */ 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x27e0 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, -/* 0x27f0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2800 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2810 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2820 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x2830 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2840 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2850 */ 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2860 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2870 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2880 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 70, 76, 85, 83, 72, -/* 0x2890 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x28a0 */ 48, 32, 67, 70, 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x28b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x28c0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,101, 9, 48, 48, 48, 48, -/* 0x28d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, -/* 0x28e0 */ 77, 65, 73, 78, 90,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x28f0 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, -/* 0x2900 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x2910 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, -/* 0x2920 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2930 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x2940 */ 78, 90,101, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2950 */ 48, 48, 48, 48, 32,101,110,116,114,121, 95,100,101,115, 99,114, -/* 0x2960 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2970 */ 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, -/* 0x2980 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2990 */ 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x29a0 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x29b0 */ 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, -/* 0x29c0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, -/* 0x29d0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x29e0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x29f0 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, -/* 0x2a00 */ 69, 76, 50, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, -/* 0x2a10 */ 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2a20 */ 48, 49, 56, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x2a30 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, -/* 0x2a40 */ 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, -/* 0x2a50 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, -/* 0x2a60 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, -/* 0x2a70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, 48, 32, -/* 0x2a80 */ 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, -/* 0x2a90 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, -/* 0x2aa0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x2ab0 */ 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, -/* 0x2ac0 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, -/* 0x2ad0 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x2ae0 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2af0 */ 48, 48, 48, 99, 99, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, -/* 0x2b00 */ 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, -/* 0x2b10 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x2b20 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, -/* 0x2b30 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2b40 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2b50 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, -/* 0x2b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 56, 32, 82, 95, 80, 80, -/* 0x2b70 */ 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, -/* 0x2b80 */ 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x2b90 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x2ba0 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, -/* 0x2bb0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, -/* 0x2bc0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2bd0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2be0 */ 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, -/* 0x2bf0 */ 69, 76, 49, 52, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x2c00 */ 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2c10 */ 48, 48, 48, 48, 50, 56, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x2c20 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x2c30 */ 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x2c40 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, -/* 0x2c50 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x2c60 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2c70 */ 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, -/* 0x2c80 */ 50, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, -/* 0x2c90 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x2ca0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, -/* 0x2cb0 */ 90,101, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, -/* 0x2cc0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x2cd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x2ce0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, -/* 0x2cf0 */ 95, 80, 80, 67, 54, 52, 95, 65, 68, 68, 82, 54, 52, 32, 32, 32, -/* 0x2d00 */ 32, 95,115,116, 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x2d10 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x2d20 */ 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, -/* 0x2d30 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, -/* 0x2d40 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x2d50 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2d60 */ 48, 48, 48, 55, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, -/* 0x2d70 */ 76, 49, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, -/* 0x2d80 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,102, -/* 0x2d90 */ 56, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, -/* 0x2da0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, -/* 0x2db0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 52, 52, 32, 82, 95, -/* 0x2dc0 */ 80, 80, 67, 54, 52, 95, 65, 68, 68, 82, 51, 50, 32, 32, 32, 32, -/* 0x2dd0 */ 79, 95, 66, 73, 78, 70, 79, 10 +/* 0x1d50 */ 126,200, 2,166, 72, 0, 0, 21, 47,112,114,111, 99, 47,115,101, +/* 0x1d60 */ 108,102, 47,101,120,101, 0, 0,124,104, 2,166, 56,128, 0, 0, +/* 0x1d70 */ 56, 0, 0, 5, 68, 0, 0, 2,124,123, 27,120,128, 31,255,248, +/* 0x1d80 */ 59, 63,255,248, 56,224,255,255,130,182, 0, 4, 56,192, 0, 34, +/* 0x1d90 */ 127, 32,200, 80, 56, 96, 0, 0,124, 25,176, 80,124,149, 2, 20, +/* 0x1da0 */ 124,156, 35,120, 72, 0, 0,153,124,125, 27,120,128, 22, 0, 8, +/* 0x1db0 */ 124,149,224, 80,127,103,219,120, 56,192, 0, 18,124,132, 2, 20, +/* 0x1dc0 */ 72, 0, 0,125,126,153, 24, 80,130,118, 0, 0, 56,118, 0, 16, +/* 0x1dd0 */ 126,214,162, 20,126,246,170, 20,126,216,240, 56,126,248,184, 80, +/* 0x1de0 */ 127,233, 3,166,127,255,162, 20,136,246, 0, 12,250,161, 1,136, +/* 0x1df0 */ 56,193, 1,136,126,197,179,120,128,150, 0, 8, 78,128, 4, 33, +/* 0x1e00 */ 128, 22, 0, 0,123,195,186, 66,120, 96, 4, 44,144, 22, 0, 0, +/* 0x1e10 */ 56,160, 0, 5,126,228,187,120,127, 3,195,120, 56, 0, 0,125, +/* 0x1e20 */ 68, 0, 0, 2,130,255,255,248,127, 25,154, 20,127, 24,162, 20, +/* 0x1e30 */ 56, 22, 0, 16,124, 9, 3,166, 78,128, 4, 32, 57, 0, 0, 0, +/* 0x1e40 */ 56,160, 0, 3, 56, 0, 0, 90, 68, 0, 0, 2, 64,131, 0, 8, +/* 0x1e50 */ 124,128, 0, 8, 78,128, 0, 32,232, 3, 0, 0, 56, 99, 0, 8, +/* 0x1e60 */ 47,160, 0, 0, 64,254,255,244, 78,128, 0, 32,248, 33,254,113, +/* 0x1e70 */ 248, 65, 0,152,248, 97, 0,160,248,129, 0,168,248,161, 0,176, +/* 0x1e80 */ 248,193, 0,184,248,225, 0,192,249, 1, 0,200,249, 33, 0,208, +/* 0x1e90 */ 249, 65, 0,216,249, 97, 0,224,249,129, 0,232,249,161, 0,240, +/* 0x1ea0 */ 249,193, 0,248,249,225, 1, 0,250, 1, 1, 8,250, 33, 1, 16, +/* 0x1eb0 */ 250, 65, 1, 24,250, 97, 1, 32,250,129, 1, 40,250,161, 1, 48, +/* 0x1ec0 */ 250,193, 1, 56,250,225, 1, 64,251, 1, 1, 72,251, 33, 1, 80, +/* 0x1ed0 */ 251, 65, 1, 88,251, 97, 1, 96,251,129, 1,104,251,161, 1,112, +/* 0x1ee0 */ 251,193, 1,120,251,225, 1,128,127,232, 2,166, 56, 97, 1,144, +/* 0x1ef0 */ 75,255,255,105, 75,255,255,101,124,122, 27,120,232, 3, 0, 0, +/* 0x1f00 */ 232,131, 0, 8, 56, 99, 0, 16, 47,160, 0, 6, 65,222, 0, 16, +/* 0x1f10 */ 44, 32, 0, 0, 64,226,255,232, 60,128, 0, 1,127,196, 0,208, +/* 0x1f20 */ 75,255,254, 49, 0, 0, 0, 0,102,105,108,101, 32,102,111,114, +/* 0x1f30 */ 109, 97,116, 32,101,108,102, 54, 52, 45,112,111,119,101,114,112, +/* 0x1f40 */ 99, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, +/* 0x1f50 */ 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, +/* 0x1f60 */ 105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, +/* 0x1f70 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, +/* 0x1f80 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108, +/* 0x1f90 */ 101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97, +/* 0x1fa0 */ 103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, +/* 0x1fb0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, +/* 0x1fc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1fd0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fe0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, +/* 0x1ff0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, +/* 0x2000 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, +/* 0x2010 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, +/* 0x2020 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x2030 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x2040 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x2050 */ 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x2060 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x2070 */ 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, +/* 0x2080 */ 32, 32, 48, 48, 48, 48, 48, 49, 53, 52, 32, 32, 48, 48, 48, 48, +/* 0x2090 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x20b0 */ 48, 48, 48, 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x20c0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, +/* 0x20d0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, +/* 0x20e0 */ 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x20f0 */ 48, 49, 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2100 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2110 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, +/* 0x2120 */ 57, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x2130 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, +/* 0x2140 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, +/* 0x2150 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 56, 32, 32, +/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2170 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2180 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,100, 99, 32, 32, 50, 42, +/* 0x2190 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x21a0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, +/* 0x21b0 */ 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, +/* 0x21c0 */ 48, 48, 48, 48, 48, 48, 57, 52, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x21d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x21e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x21f0 */ 48, 48, 48, 51,100, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x2200 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, +/* 0x2210 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, +/* 0x2220 */ 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x2230 */ 50, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2240 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2250 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 54, 56, +/* 0x2260 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x2270 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, +/* 0x2280 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, +/* 0x2290 */ 48, 48, 98, 99, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x22a0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x22b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x22c0 */ 52, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x22d0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, +/* 0x22e0 */ 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, +/* 0x22f0 */ 48, 48, 48, 48, 48, 99, 55, 52, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x2300 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x2310 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x2320 */ 48, 48, 49, 48, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x2330 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, +/* 0x2340 */ 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, +/* 0x2350 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48, +/* 0x2360 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x2370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x2380 */ 32, 48, 48, 48, 48, 49, 99, 99, 52, 32, 32, 50, 42, 42, 48, 32, +/* 0x2390 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, +/* 0x23a0 */ 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, +/* 0x23b0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, +/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x23d0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x23e0 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,101, 48, 32, 32, 50, 42, +/* 0x23f0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x2400 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, +/* 0x2410 */ 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, +/* 0x2420 */ 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2430 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2440 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49,100, 48, 52, 32, +/* 0x2450 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, +/* 0x2460 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, +/* 0x2470 */ 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90,101, 32, 32, +/* 0x2480 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 56, 32, 32, 48, 48, 48, +/* 0x2490 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x24a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x24b0 */ 32, 48, 48, 48, 48, 49,100, 49, 56, 32, 32, 50, 42, 42, 51, 32, +/* 0x24c0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, +/* 0x24d0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 51, 32, 69, +/* 0x24e0 */ 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x24f0 */ 48, 48, 49,102, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2500 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x2510 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, +/* 0x2520 */ 100, 51, 48, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, +/* 0x2530 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x2540 */ 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, +/* 0x2550 */ 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2560 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, +/* 0x2570 */ 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2580 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2590 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x25a0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, +/* 0x25b0 */ 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x25c0 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, +/* 0x25d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x25e0 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, +/* 0x25f0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2600 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, +/* 0x2610 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2620 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, +/* 0x2630 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, +/* 0x2640 */ 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2650 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x2660 */ 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x2670 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, +/* 0x2680 */ 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2690 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, +/* 0x26a0 */ 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x26b0 */ 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x26c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x26d0 */ 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x26e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, +/* 0x26f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x2700 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, +/* 0x2710 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, +/* 0x2720 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2730 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x2740 */ 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x2750 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, +/* 0x2760 */ 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2770 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x2780 */ 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x2790 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x27a0 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x27b0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x27c0 */ 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x27d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x27e0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x27f0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 70, +/* 0x2800 */ 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2810 */ 48, 48, 48, 48, 48, 32, 67, 70, 76, 85, 83, 72, 10, 48, 48, 48, +/* 0x2820 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x2830 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, +/* 0x2840 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x2850 */ 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2860 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x2870 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,101, 9, 48, 48, 48, 48, +/* 0x2880 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, +/* 0x2890 */ 77, 65, 73, 78, 90,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x28a0 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, +/* 0x28b0 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x28c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, +/* 0x28d0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x28e0 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x28f0 */ 78, 90,101, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2900 */ 48, 48, 48, 48, 32,101,110,116,114,121, 95,100,101,115, 99,114, +/* 0x2910 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2920 */ 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, +/* 0x2930 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2940 */ 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, +/* 0x2950 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, +/* 0x2960 */ 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, +/* 0x2970 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, +/* 0x2980 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2990 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x29a0 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, +/* 0x29b0 */ 69, 76, 50, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x29c0 */ 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x29d0 */ 48, 49, 51, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x29e0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, +/* 0x29f0 */ 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, +/* 0x2a00 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, +/* 0x2a10 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, +/* 0x2a20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, 48, 32, +/* 0x2a30 */ 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, +/* 0x2a40 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, +/* 0x2a50 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, +/* 0x2a60 */ 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, +/* 0x2a70 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, +/* 0x2a80 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, +/* 0x2a90 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2aa0 */ 48, 48, 48, 99, 99, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, +/* 0x2ab0 */ 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, +/* 0x2ac0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, +/* 0x2ad0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, +/* 0x2ae0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2af0 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2b00 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, +/* 0x2b10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 56, 32, 82, 95, 80, 80, +/* 0x2b20 */ 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, +/* 0x2b30 */ 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x2b40 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x2b50 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, +/* 0x2b60 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, +/* 0x2b70 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2b80 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2b90 */ 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, +/* 0x2ba0 */ 69, 76, 49, 52, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x2bb0 */ 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2bc0 */ 48, 48, 48, 48, 50, 56, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x2bd0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x2be0 */ 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x2bf0 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, +/* 0x2c00 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, +/* 0x2c10 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2c20 */ 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, +/* 0x2c30 */ 50, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, +/* 0x2c40 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, +/* 0x2c50 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, +/* 0x2c60 */ 90,101, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, +/* 0x2c70 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x2c80 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2c90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, +/* 0x2ca0 */ 95, 80, 80, 67, 54, 52, 95, 65, 68, 68, 82, 54, 52, 32, 32, 32, +/* 0x2cb0 */ 32, 95,115,116, 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, +/* 0x2cc0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, +/* 0x2cd0 */ 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, +/* 0x2ce0 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, +/* 0x2cf0 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, +/* 0x2d00 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2d10 */ 48, 48, 49,102, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 65, 68, +/* 0x2d20 */ 68, 82, 51, 50, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 }; diff --git a/src/stub/powerpc64-linux.elf-fold.h b/src/stub/powerpc64-linux.elf-fold.h index fdfb6662..25d89657 100644 --- a/src/stub/powerpc64-linux.elf-fold.h +++ b/src/stub/powerpc64-linux.elf-fold.h @@ -1,5 +1,5 @@ /* powerpc64-linux.elf-fold.h - created from powerpc64-linux.elf-fold.bin, 3032 (0xbd8) bytes + created from powerpc64-linux.elf-fold.bin, 3104 (0xc20) bytes This file is part of the UPX executable compressor. @@ -31,199 +31,203 @@ */ -#define STUB_POWERPC64_LINUX_ELF_FOLD_SIZE 3032 -#define STUB_POWERPC64_LINUX_ELF_FOLD_ADLER32 0xb1232580 -#define STUB_POWERPC64_LINUX_ELF_FOLD_CRC32 0x5a5e9db7 +#define STUB_POWERPC64_LINUX_ELF_FOLD_SIZE 3104 +#define STUB_POWERPC64_LINUX_ELF_FOLD_ADLER32 0xe43a3a74 +#define STUB_POWERPC64_LINUX_ELF_FOLD_CRC32 0x39041749 -unsigned char stub_powerpc64_linux_elf_fold[3032] = { +unsigned char stub_powerpc64_linux_elf_fold[3104] = { /* 0x0000 */ 127, 69, 76, 70, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0010 */ 0, 2, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 11,136, +/* 0x0010 */ 0, 2, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 11,208, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 1, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, /* 0x0040 */ 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0050 */ 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, -/* 0x0060 */ 0, 0, 0, 0, 0, 0, 11,136, 0, 0, 0, 0, 0, 0, 11,136, +/* 0x0060 */ 0, 0, 0, 0, 0, 0, 11,204, 0, 0, 0, 0, 0, 0, 11,204, /* 0x0070 */ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, -/* 0x0080 */ 0, 0, 0, 0, 0, 0, 11,136, 0, 0, 0, 0, 0, 16, 11,136, -/* 0x0090 */ 0, 0, 0, 0, 0, 16, 11,136, 0, 0, 0, 0, 0, 0, 0, 80, +/* 0x0080 */ 0, 0, 0, 0, 0, 0, 11,208, 0, 0, 0, 0, 0, 16, 11,208, +/* 0x0090 */ 0, 0, 0, 0, 0, 16, 11,208, 0, 0, 0, 0, 0, 0, 0, 80, /* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 1, 0, 0, -/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0,125, -/* 0x00c0 */ 40, 6, 0,208, 76,194, 0, 32, 84,132,240,191, 77,194, 0, 32, -/* 0x00d0 */ 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,124, 4, 3,120, -/* 0x00e0 */ 56,165, 1, 32,124,103, 27,120, 56, 99,255,252,124,137, 3,166, -/* 0x00f0 */ 72, 0, 0, 28, 84, 11, 2,186,125, 99, 88, 80,125,107, 58, 20, -/* 0x0100 */ 81, 96, 1,186,144, 3, 0, 0, 79, 64, 0, 32,132, 3, 0, 4, -/* 0x0110 */ 84, 11, 85,190,124, 11, 40, 64, 65,194,255,220, 67, 32,255,240, -/* 0x0120 */ 78,128, 0, 32, 32, 32, 32, 61, 47,112,114,111, 99, 47,115,101, -/* 0x0130 */ 108,102, 47,101,120,101, 0, 0,126,168, 2,166, 56,128, 0, 0, -/* 0x0140 */ 56,117, 0,104, 72, 0, 2, 33,124,116, 27,120, 56,129,255,248, +/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 96,255,248, +/* 0x00c0 */ 120, 99, 77,164, 78,128, 0, 32, 96, 0, 0, 0, 72, 0, 0,125, +/* 0x00d0 */ 40, 6, 0,208, 76,194, 0, 32, 84,132,240,191, 77,194, 0, 32, +/* 0x00e0 */ 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,124, 4, 3,120, +/* 0x00f0 */ 56,165, 1, 32,124,103, 27,120, 56, 99,255,252,124,137, 3,166, +/* 0x0100 */ 72, 0, 0, 28, 84, 11, 2,186,125, 99, 88, 80,125,107, 58, 20, +/* 0x0110 */ 81, 96, 1,186,144, 3, 0, 0, 79, 64, 0, 32,132, 3, 0, 4, +/* 0x0120 */ 84, 11, 85,190,124, 11, 40, 64, 65,194,255,220, 67, 32,255,240, +/* 0x0130 */ 78,128, 0, 32, 32, 32, 32, 61, 47,112,114,111, 99, 47,115,101, +/* 0x0140 */ 108,102, 47,101,120,101, 0, 0,126,200, 2,166, 56,129,255,248, /* 0x0150 */ 56, 33,239,248, 56, 97,255,248, 59, 90,255,248,232, 4, 0, 9, /* 0x0160 */ 127,164,208, 64,248, 3, 0, 9, 65,156,255,244, 59, 67, 0, 16, /* 0x0170 */ 248, 3, 0, 9,232, 4, 0, 8, 43,160, 0, 0,248, 3, 0, 8, -/* 0x0180 */ 232, 4, 0, 17,248, 3, 0, 17, 64,158,255,236, 58, 99, 0, 8, -/* 0x0190 */ 126, 90,152, 80,128, 21, 0,100, 58, 36, 0, 8,148, 3, 0, 8, -/* 0x01a0 */ 57,195, 0, 4, 56,160, 15,255,125,196,115,120, 56,117, 0,104, -/* 0x01b0 */ 72, 0, 1,157, 56,174,255,252, 44, 35, 0, 0, 65,129, 0, 12, -/* 0x01c0 */ 56,181, 0,100, 56, 96, 0, 12, 56, 99, 0, 4,124,133, 26, 20, -/* 0x01d0 */ 124,105, 3,166,126, 35,139,120, 56,160, 0, 0,156,163,255,255, +/* 0x0180 */ 232, 4, 0, 17,248, 3, 0, 17, 64,158,255,236, 58,163, 0, 8, +/* 0x0190 */ 126,154,168, 80,128, 22, 0,100, 58,100, 0, 8,148, 3, 0, 8, +/* 0x01a0 */ 58, 67, 0, 4, 56,160, 15,255,126, 68,147,120, 56,118, 0,104, +/* 0x01b0 */ 72, 0, 1,197, 56,178,255,252, 44, 35, 0, 0, 65,129, 0, 12, +/* 0x01c0 */ 56,182, 0,100, 56, 96, 0, 12, 56, 99, 0, 4,124,133, 26, 20, +/* 0x01d0 */ 124,105, 3,166,126, 99,155,120, 56,160, 0, 0,156,163,255,255, /* 0x01e0 */ 140, 4,255,255,156, 3,255,255, 66, 0,255,248,248,122,255,240, /* 0x01f0 */ 120, 99, 7, 36,124, 32, 34,120,124, 0, 26,120,120, 0, 7, 32, -/* 0x0200 */ 124, 96, 24, 80,126,100,155,120,127, 82, 24, 80,232, 4,255,249, +/* 0x0200 */ 124, 96, 24, 80,126,164,171,120,127, 84, 24, 80,232, 4,255,249, /* 0x0210 */ 127,164, 8, 64,248, 3,255,249, 65,253,255,244,124, 97, 27,120, -/* 0x0220 */ 57, 33, 1,104,251,169, 0, 0,248, 33,247,145,128,159,255,248, -/* 0x0230 */ 124,125,218, 20,124,155, 32, 80, 56,161, 0,112,127, 70,211,120, -/* 0x0240 */ 127,231,251,120,126,168,171,120,127,202,243,120,248,225, 0, 24, -/* 0x0250 */ 56,225, 0, 24,249, 1, 0, 32, 57, 1, 0, 32, 72, 0, 7, 37, -/* 0x0260 */ 124,128, 0, 8,232, 1, 9,216,232, 67, 0, 8,124, 66, 2, 20, -/* 0x0270 */ 232, 99, 0, 0,124, 99, 2, 20, 56, 33, 8,112,124,127, 27,120, -/* 0x0280 */ 57, 0, 0, 0,126,135,163,120, 56,192, 0, 2, 56,160, 0, 1, -/* 0x0290 */ 124,158, 0,208, 56, 96, 0, 0, 72, 0, 0,237,126,131,163,120, -/* 0x02a0 */ 72, 0, 0,189,127, 67,211,120,232, 3, 0, 0,232,131, 0, 8, -/* 0x02b0 */ 56, 99, 0, 16, 43,160, 0, 0, 64,254,255,240,124,137, 3,166, -/* 0x02c0 */ 127,163,235,120,127,132,227,120, 56, 0, 0, 91,127,232, 3,166, -/* 0x02d0 */ 232,161, 0,144,232,193, 0,152,232,225, 0,160,233, 1, 0,168, -/* 0x02e0 */ 233, 33, 0,176,233, 65, 0,184,233, 97, 0,192,233,129, 0,200, -/* 0x02f0 */ 233,161, 0,208,233,193, 0,216,233,225, 0,224,234, 1, 0,232, -/* 0x0300 */ 234, 33, 0,240,234, 65, 0,248,234, 97, 1, 0,234,129, 1, 8, -/* 0x0310 */ 234,161, 1, 16,234,193, 1, 24,234,225, 1, 32,235, 1, 1, 40, -/* 0x0320 */ 235, 33, 1, 48,235, 65, 1, 56,235, 97, 1, 64,235,129, 1, 72, -/* 0x0330 */ 235,161, 1, 80,235,193, 1, 88,235,225, 1, 96, 56, 33, 1,112, -/* 0x0340 */ 78,128, 4, 32, 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 85, -/* 0x0350 */ 72, 0, 0, 8, 56, 0, 0, 45, 72, 0, 0, 8, 56, 0, 0, 6, -/* 0x0360 */ 72, 0, 0, 8, 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 91, -/* 0x0370 */ 72, 0, 0, 8, 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 3, -/* 0x0380 */ 72, 0, 0, 8, 56, 0, 0, 90, 68, 0, 0, 2, 64,227, 0, 8, -/* 0x0390 */ 56, 96,255,255, 78,128, 0, 32, 44, 35, 0, 0, 77,130, 0, 32, -/* 0x03a0 */ 47, 36, 0, 0,233, 67, 0, 0,127,170, 32, 64, 64,158, 0, 16, -/* 0x03b0 */ 248,131, 0, 0,248,163, 0, 8, 78,128, 0, 32, 43,170, 0, 1, -/* 0x03c0 */ 64,158, 0, 8, 64,154,255,236, 56, 99, 0, 16, 75,255,255,216, -/* 0x03d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 67, 0, 0, -/* 0x03e0 */ 233, 3, 0, 8, 56,229, 0, 1, 57, 32, 0, 0,124,233, 3,166, -/* 0x03f0 */ 127,170, 40, 64, 64,252, 0, 28,124, 8, 2,166, 56, 96, 0,127, -/* 0x0400 */ 248, 1, 0, 16,248, 33,255,145, 75,255,255, 61, 96, 0, 0, 0, -/* 0x0410 */ 66, 64, 0, 20,125, 72, 72,174,125, 68, 73,174, 57, 41, 0, 1, -/* 0x0420 */ 75,255,255,240,233, 67, 0, 8,125, 74, 74, 20,249, 67, 0, 8, -/* 0x0430 */ 233, 67, 0, 0,125, 41, 80, 80,249, 35, 0, 0, 78,128, 0, 32, -/* 0x0440 */ 0, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,125,128, 0, 38, -/* 0x0450 */ 124, 8, 2,166,145,129, 0, 8, 72, 0, 6,197,248, 33,255, 81, -/* 0x0460 */ 124,126, 27,120,124,159, 35,120,124,189, 43,120,124,220, 51,120, -/* 0x0470 */ 46, 38, 0, 0,233, 63, 0, 0, 47,169, 0, 0, 65,158, 1, 84, -/* 0x0480 */ 127,195,243,120, 56,129, 0,112, 56,160, 0, 12, 75,255,255, 81, -/* 0x0490 */ 129, 65, 0,112,129, 33, 0,116, 47,170, 0, 0, 64,158, 0, 32, -/* 0x04a0 */ 109, 37, 33, 88, 47,133, 80, 85, 64,158, 0, 28,233, 62, 0, 0, -/* 0x04b0 */ 47,169, 0, 0, 65,254, 1, 28, 72, 0, 0, 12,121, 41, 0, 33, -/* 0x04c0 */ 64,226, 0, 16, 56, 96, 0,127, 75,255,254,125, 96, 0, 0, 0, -/* 0x04d0 */ 127, 9, 80, 64, 65,217,255,240,233, 31, 0, 0,127,170, 64, 64, -/* 0x04e0 */ 65,221,255,228,232,191, 0, 8, 64,152, 0,184,125, 36, 75,120, -/* 0x04f0 */ 233, 61, 0, 0,232,126, 0, 8, 56,193, 0,128,249, 65, 0,128, -/* 0x0500 */ 248, 65, 0, 40,136,225, 0,120,233,125, 0, 16,125, 41, 3,166, -/* 0x0510 */ 232, 93, 0, 8, 78,128, 4, 33,232, 65, 0, 40, 47,163, 0, 0, -/* 0x0520 */ 64,222,255,164,232,129, 0,128,129, 33, 0,112,127,164, 72, 64, -/* 0x0530 */ 64,222,255,148,136,193, 0,121, 47,166, 0, 0, 65,158, 0, 68, -/* 0x0540 */ 65,146, 0, 64, 43,164, 2, 0, 65,157, 0, 16,233, 63, 0, 0, -/* 0x0550 */ 127,169, 32, 0, 64,158, 0, 44,232,127, 0, 8,136,161, 0,122, -/* 0x0560 */ 120,132, 0, 32,248, 65, 0, 40,233, 60, 0, 0,233,124, 0, 16, -/* 0x0570 */ 125, 41, 3,166,232, 92, 0, 8, 78,128, 4, 33,232, 65, 0, 40, -/* 0x0580 */ 129, 1, 0,116,233, 94, 0, 8,233, 62, 0, 0,125, 74, 66, 20, -/* 0x0590 */ 125, 40, 72, 80,249, 94, 0, 8,249, 62, 0, 0, 72, 0, 0, 20, -/* 0x05a0 */ 124,164, 43,120,127,195,243,120,125, 37, 75,120, 75,255,254, 49, -/* 0x05b0 */ 129, 1, 0,112,233, 95, 0, 8,233, 63, 0, 0,125, 74, 66, 20, -/* 0x05c0 */ 125, 40, 72, 80,249, 95, 0, 8,249, 63, 0, 0, 75,255,254,168, -/* 0x05d0 */ 56, 33, 0,176,129,129, 0, 8,125,144,129, 32, 72, 0, 5,144, -/* 0x05e0 */ 0, 0, 0, 0, 0, 0, 0, 3,128, 4, 0, 0,125,128, 0, 38, -/* 0x05f0 */ 124, 8, 2,166,145,129, 0, 8, 72, 0, 4,237,248, 33,254,225, -/* 0x0600 */ 125, 90, 83,120,161, 67, 0, 16,125, 50, 75,120,233, 35, 0, 32, -/* 0x0610 */ 124,216, 51,120,124,125, 27,120,124,147, 35,120, 47,138, 0, 3, -/* 0x0620 */ 248,161, 1, 96,124,240, 59,120,125, 15, 67,120,126, 35, 74, 20, -/* 0x0630 */ 56,192, 0, 16, 64,158, 0, 8, 56,192, 0, 0,161, 93, 0, 56, -/* 0x0640 */ 56,198, 0, 34,126, 40,139,120, 56,128, 0, 0, 59,224,255,255, -/* 0x0650 */ 57, 74, 0, 1,125, 73, 3,166, 66, 64, 0, 60,129, 72, 0, 0, -/* 0x0660 */ 47,138, 0, 1, 64,158, 0, 40,232,232, 0, 16,127,191, 56, 64, -/* 0x0670 */ 64,157, 0, 8,124,255, 59,120,233, 72, 0, 40,125, 71, 82, 20, -/* 0x0680 */ 127,164, 80, 64, 64,156, 0, 8,125, 68, 83,120, 57, 8, 0, 56, -/* 0x0690 */ 75,255,255,200,127, 85,208,248,127,255,208, 56,124,149, 34, 20, -/* 0x06a0 */ 127,227,251,120,124,159, 32, 80, 56,160, 0, 0,124,132,208, 56, -/* 0x06b0 */ 124,198, 7,180, 56,224,255,255, 57, 0, 0, 0, 75,255,252,201, -/* 0x06c0 */ 96, 0, 0, 0,127, 90,208,248, 62,224, 0, 1,147, 65, 0,136, -/* 0x06d0 */ 122,247,131,228,127,255, 24, 80, 61,192, 78,128,123,233, 54,100, -/* 0x06e0 */ 249, 33, 0,128, 59, 32, 0, 0, 46, 51, 0, 0, 98,247, 0, 1, -/* 0x06f0 */ 97,206, 0, 32,161, 93, 0, 56,127,138,200, 0, 64,157, 2, 56, -/* 0x0700 */ 129, 81, 0, 0, 65,146, 0, 36, 47,138, 0, 6, 64,158, 0, 28, -/* 0x0710 */ 232,177, 0, 16,127, 3,195,120, 56,128, 0, 3,124,191, 42, 20, -/* 0x0720 */ 75,255,252,121, 72, 0, 2, 0, 47,138, 0, 1, 64,158, 1,248, -/* 0x0730 */ 65,146, 0, 76,233, 81, 0, 8, 47,170, 0, 0, 64,158, 0, 64, -/* 0x0740 */ 233, 93, 0, 32,232,177, 0, 16,127, 3,195,120, 56,128, 0, 3, -/* 0x0750 */ 125, 95, 82, 20,124,170, 42, 20, 75,255,252, 65,160,189, 0, 56, -/* 0x0760 */ 127, 3,195,120, 56,128, 0, 5, 75,255,252, 49,160,189, 0, 54, -/* 0x0770 */ 127, 3,195,120, 56,128, 0, 4, 75,255,252, 33,131,113, 0, 4, -/* 0x0780 */ 235,209, 0, 16, 61, 32,115, 81, 97, 41, 98, 64,235,145, 0, 32, -/* 0x0790 */ 234,209, 0, 40, 87,123, 22,250,127,223,242, 20,251,129, 0,112, -/* 0x07a0 */ 125, 59,220, 48,127,202,168, 56,251,193, 0,120,126,222,178, 20, -/* 0x07b0 */ 127,138,226, 20,127,202,240, 80, 87,116, 7,126, 64,146, 0, 12, -/* 0x07c0 */ 56,160, 0, 0, 72, 0, 0, 8, 56,160, 0, 2,124,165,163,120, -/* 0x07d0 */ 124,165, 7,180, 65,146, 0, 16, 56,192, 0, 50, 56,224,255,255, -/* 0x07e0 */ 72, 0, 0, 12,232,225, 1, 96, 56,192, 0, 18,233, 17, 0, 8, -/* 0x07f0 */ 127,195,243,120,127,132,227,120,125, 10, 64, 80, 75,255,251,137, -/* 0x0800 */ 96, 0, 0, 0,127,190, 24, 0, 65,254, 0, 16, 56, 96, 0,127, -/* 0x0810 */ 75,255,251, 53, 96, 0, 0, 0, 65,146, 0, 24,126, 99,155,120, -/* 0x0820 */ 56,129, 0,112,126, 5,131,120,125,230,123,120, 75,255,252, 33, -/* 0x0830 */ 125, 92, 0,208,123,105,255,227,125, 90,168, 56, 64,130, 0, 12, -/* 0x0840 */ 64,146, 0, 48, 72, 0, 0,168, 47,186, 0, 0, 65,158,255,244, -/* 0x0850 */ 127, 73, 3,166,124,254,226, 20, 57, 0, 0, 0, 57, 32, 0, 0, -/* 0x0860 */ 125, 39, 65,174, 57, 8, 0, 1, 66, 0,255,244, 75,255,255,212, -/* 0x0870 */ 233, 17, 0, 0,121, 8, 7,194,121, 8, 0, 2,127,168,184, 0, -/* 0x0880 */ 64,158, 0, 80,232,177, 0, 40,233, 17, 0, 32,232,241, 0, 16, -/* 0x0890 */ 127,165, 64, 0, 64,158, 0,196,124,165, 58, 20,129, 33, 0,136, -/* 0x08a0 */ 124,165,250, 20,125, 5, 0,208,125, 8, 72, 56, 43,136, 0, 7, -/* 0x08b0 */ 64,157, 0,168, 61, 32, 68, 0,145,197, 0, 4,127, 3,195,120, -/* 0x08c0 */ 97, 41, 0, 2, 56,128, 0, 0,145, 37, 0, 0, 75,255,250,205, -/* 0x08d0 */ 127,195,243,120,127,132,227,120,126,133, 7,180, 75,255,250,153, -/* 0x08e0 */ 96, 0, 0, 0, 47,163, 0, 0, 64,222,255, 36,127,154,226, 20, -/* 0x08f0 */ 127,222,226, 20,127,190,176, 64, 64,156, 0, 44,127,195,243,120, -/* 0x0900 */ 124,158,176, 80,126,133, 7,180, 56,192, 0, 50, 56,224,255,255, -/* 0x0910 */ 57, 0, 0, 0, 75,255,250,113, 96, 0, 0, 0,127,190, 24, 0, -/* 0x0920 */ 64,222,254,236, 59, 57, 0, 1, 58, 49, 0, 56,127, 57, 7,180, -/* 0x0930 */ 75,255,253,196, 47,178, 0, 0, 65,158, 0, 8,251,242, 0, 0, -/* 0x0940 */ 56, 33, 1, 32,232,125, 0, 24,124,127, 26, 20,129,129, 0, 8, -/* 0x0950 */ 125,144,129, 32, 72, 0, 1,224,233, 33, 0,128,233, 17, 0, 8, -/* 0x0960 */ 124,167, 74, 20, 47,168, 0, 0, 56,165, 0, 8, 65,158,255, 72, -/* 0x0970 */ 75,255,255, 96, 0, 0, 0, 0, 0, 0, 0, 3,128, 18, 0, 0, -/* 0x0980 */ 124, 8, 2,166, 72, 0, 1,137,248, 33,255, 17,124,191, 43,120, -/* 0x0990 */ 124,218, 51,120,125, 60, 75,120,129, 35, 0, 0, 56,192, 0, 0, -/* 0x09a0 */ 125, 88, 83,120,248,161, 0,152,249, 33, 0,144,124,229, 59,120, -/* 0x09b0 */ 59,191, 0, 64,248, 97, 0,120,248,129, 0,112, 59,192, 0, 0, -/* 0x09c0 */ 248, 97, 0,136,248,129, 0,128,248,225, 0,160,249, 1, 0,168, -/* 0x09d0 */ 56, 97, 0,112, 56,129, 0,144, 75,255,250,117,232,225, 0,160, -/* 0x09e0 */ 233, 1, 0,168, 56,129, 0,128, 56,160, 0, 0,127, 70,211,120, -/* 0x09f0 */ 127,137,227,120,127, 10,195,120,127,227,251,120, 75,255,251,241, -/* 0x0a00 */ 56,128, 0, 9,124,123, 27,120,127, 67,211,120,127,101,219,120, -/* 0x0a10 */ 75,255,249,137,161, 63, 0, 56,127,137,240, 64, 64,157, 0,176, -/* 0x0a20 */ 129, 61, 0, 0, 47,137, 0, 3, 64,158, 0,148,232,125, 0, 16, -/* 0x0a30 */ 233, 60, 0, 0, 56,128, 0, 0, 56,160, 0, 0,124, 99, 74, 20, -/* 0x0a40 */ 75,255,249, 37, 96, 0, 0, 0, 47,131, 0, 0,124,121, 27,120, -/* 0x0a50 */ 64,252, 0, 16, 56, 96, 0,127, 75,255,248,237, 96, 0, 0, 0, -/* 0x0a60 */ 127,228,251,120, 56,160, 4, 0, 75,255,249, 21, 96, 0, 0, 0, -/* 0x0a70 */ 47,163, 4, 0, 64,222,255,224, 56,128, 0, 0,127, 37,203,120, -/* 0x0a80 */ 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0,127,137,227,120, -/* 0x0a90 */ 127, 10,195,120,127,227,251,120, 75,255,251, 85,232,188, 0, 0, -/* 0x0aa0 */ 56,128, 0, 7,124,123, 27,120,127, 67,211,120, 75,255,248,237, -/* 0x0ab0 */ 127, 35,203,120, 75,255,248,169, 96, 0, 0, 0, 59,222, 0, 1, -/* 0x0ac0 */ 59,189, 0, 56,123,222, 0, 32, 75,255,255, 76, 56, 33, 0,240, -/* 0x0ad0 */ 127, 99,219,120, 72, 0, 0,136, 0, 0, 0, 0, 0, 0, 0, 1, -/* 0x0ae0 */ 128, 8, 0, 0,249,193,255,112,249,225,255,120,250, 1,255,128, -/* 0x0af0 */ 250, 33,255,136,250, 65,255,144,250, 97,255,152,250,129,255,160, -/* 0x0b00 */ 250,161,255,168,250,193,255,176,250,225,255,184,251, 1,255,192, -/* 0x0b10 */ 251, 33,255,200,251, 65,255,208,251, 97,255,216,251,129,255,224, -/* 0x0b20 */ 251,161,255,232,251,193,255,240,251,225,255,248,248, 1, 0, 16, -/* 0x0b30 */ 78,128, 0, 32,233,193,255,112,233,225,255,120,234, 1,255,128, -/* 0x0b40 */ 234, 33,255,136,234, 65,255,144,234, 97,255,152,234,129,255,160, -/* 0x0b50 */ 234,161,255,168,234,193,255,176,234,225,255,184,235, 1,255,192, -/* 0x0b60 */ 235, 33,255,200,235, 65,255,208,235, 97,255,216,235,129,255,224, -/* 0x0b70 */ 232, 1, 0, 16,235,161,255,232,124, 8, 3,166,235,193,255,240, -/* 0x0b80 */ 235,225,255,248, 78,128, 0, 32, 0, 0, 0, 0, 0, 16, 3,152, -/* 0x0b90 */ 0, 0, 0, 0, 0, 16,139,136, 0, 0, 0, 0, 0, 16, 3,220, -/* 0x0ba0 */ 0, 0, 0, 0, 0, 16,139,136, 0, 0, 0, 0, 0, 16, 4, 76, -/* 0x0bb0 */ 0, 0, 0, 0, 0, 16,139,136, 0, 0, 0, 0, 0, 16, 5,236, -/* 0x0bc0 */ 0, 0, 0, 0, 0, 16,139,136, 0, 0, 0, 0, 0, 16, 9,128, -/* 0x0bd0 */ 0, 0, 0, 0, 0, 16,139,136 +/* 0x0220 */ 57, 33, 1,136,251, 41, 0, 0,248, 33,247,113,127, 3,195,120, +/* 0x0230 */ 126,228,187,120, 56,161, 0,144,127, 70,211,120,127,231,251,120, +/* 0x0240 */ 126,200,179,120, 56, 0, 0, 0,248,225, 0,112, 56,225, 0,112, +/* 0x0250 */ 248, 1, 0,120,249, 1, 0,128, 57, 1, 0,128,248, 1, 0,136, +/* 0x0260 */ 127,202,243,120, 72, 0, 7, 89,124,128, 0, 8, 56, 33, 8,144, +/* 0x0270 */ 232, 1, 1,136,232, 67, 0, 8,124, 66, 2, 20,232, 99, 0, 0, +/* 0x0280 */ 124, 99, 2, 20,124,127, 27,120, 57, 0, 0, 0,127,103,219,120, +/* 0x0290 */ 56,192, 0, 2, 56,160, 0, 1,124,158, 0,208, 56, 96, 0, 0, +/* 0x02a0 */ 72, 0, 0,173,127, 99,219,120, 72, 0, 0,229,127, 67,211,120, +/* 0x02b0 */ 232, 3, 0, 0,232,131, 0, 8, 56, 99, 0, 16, 43,160, 0, 0, +/* 0x02c0 */ 64,254,255,240,124,137, 3,166,127,163,235,120,127,132,227,120, +/* 0x02d0 */ 56, 0, 0, 91,127,232, 3,166,232,161, 0,176,232,193, 0,184, +/* 0x02e0 */ 232,225, 0,192,233, 1, 0,200,233, 33, 0,208,233, 65, 0,216, +/* 0x02f0 */ 233, 97, 0,224,233,129, 0,232,233,161, 0,240,233,193, 0,248, +/* 0x0300 */ 233,225, 1, 0,234, 1, 1, 8,234, 33, 1, 16,234, 65, 1, 24, +/* 0x0310 */ 234, 97, 1, 32,234,129, 1, 40,234,161, 1, 48,234,193, 1, 56, +/* 0x0320 */ 234,225, 1, 64,235, 1, 1, 72,235, 33, 1, 80,235, 65, 1, 88, +/* 0x0330 */ 235, 97, 1, 96,235,129, 1,104,235,161, 1,112,235,193, 1,120, +/* 0x0340 */ 235,225, 1,128, 56, 33, 1,144, 78,128, 4, 32,120,231, 0, 32, +/* 0x0350 */ 56, 0, 0, 90, 68, 0, 0, 2, 64,227, 0, 8, 56, 96,255,255, +/* 0x0360 */ 78,128, 0, 32, 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 45, +/* 0x0370 */ 72, 0, 0, 8, 56, 0, 0, 85, 72, 0, 0, 8, 56, 0, 0, 3, +/* 0x0380 */ 72, 0, 0, 8, 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 6, +/* 0x0390 */ 72, 0, 0, 8, 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 91, +/* 0x03a0 */ 75,255,255,180,124,128, 0, 8, 78,128, 0, 32, 44, 35, 0, 0, +/* 0x03b0 */ 77,130, 0, 32, 47, 36, 0, 0,233, 67, 0, 0,127,170, 32, 64, +/* 0x03c0 */ 64,158, 0, 16,248,131, 0, 0,248,163, 0, 8, 78,128, 0, 32, +/* 0x03d0 */ 43,170, 0, 1, 64,158, 0, 8, 64,154,255,236, 56, 99, 0, 16, +/* 0x03e0 */ 75,255,255,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x03f0 */ 233, 67, 0, 0,233, 3, 0, 8, 56,229, 0, 1, 57, 32, 0, 0, +/* 0x0400 */ 124,233, 3,166,127,170, 40, 64, 64,252, 0, 28,124, 8, 2,166, +/* 0x0410 */ 56, 96, 0,127,248, 1, 0, 16,248, 33,255,145, 75,255,255, 73, +/* 0x0420 */ 96, 0, 0, 0, 66, 64, 0, 20,125, 72, 72,174,125, 68, 73,174, +/* 0x0430 */ 57, 41, 0, 1, 75,255,255,240,233, 67, 0, 8,125, 74, 74, 20, +/* 0x0440 */ 249, 67, 0, 8,233, 67, 0, 0,125, 41, 80, 80,249, 35, 0, 0, +/* 0x0450 */ 78,128, 0, 32, 0, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0, +/* 0x0460 */ 125,128, 0, 38,124, 8, 2,166,145,129, 0, 8, 72, 0, 6,245, +/* 0x0470 */ 248, 33,255, 81,124,126, 27,120,124,159, 35,120,124,189, 43,120, +/* 0x0480 */ 124,220, 51,120, 46, 38, 0, 0,233, 63, 0, 0, 47,169, 0, 0, +/* 0x0490 */ 65,158, 1, 84,127,195,243,120, 56,129, 0,112, 56,160, 0, 12, +/* 0x04a0 */ 75,255,255, 81,129, 65, 0,112,129, 33, 0,116, 47,170, 0, 0, +/* 0x04b0 */ 64,158, 0, 32,109, 37, 33, 88, 47,133, 80, 85, 64,158, 0, 28, +/* 0x04c0 */ 233, 62, 0, 0, 47,169, 0, 0, 65,254, 1, 28, 72, 0, 0, 12, +/* 0x04d0 */ 121, 41, 0, 33, 64,226, 0, 16, 56, 96, 0,127, 75,255,254,137, +/* 0x04e0 */ 96, 0, 0, 0,127, 9, 80, 64, 65,217,255,240,233, 31, 0, 0, +/* 0x04f0 */ 127,170, 64, 64, 65,221,255,228,232,191, 0, 8, 64,152, 0,184, +/* 0x0500 */ 125, 36, 75,120,233, 61, 0, 0,232,126, 0, 8, 56,193, 0,128, +/* 0x0510 */ 249, 65, 0,128,248, 65, 0, 40,136,225, 0,120,233,125, 0, 16, +/* 0x0520 */ 125, 41, 3,166,232, 93, 0, 8, 78,128, 4, 33,232, 65, 0, 40, +/* 0x0530 */ 47,163, 0, 0, 64,222,255,164,232,129, 0,128,129, 33, 0,112, +/* 0x0540 */ 127,164, 72, 64, 64,222,255,148,136,193, 0,121, 47,166, 0, 0, +/* 0x0550 */ 65,158, 0, 68, 65,146, 0, 64, 43,164, 2, 0, 65,157, 0, 16, +/* 0x0560 */ 233, 63, 0, 0,127,169, 32, 0, 64,158, 0, 44,232,127, 0, 8, +/* 0x0570 */ 136,161, 0,122,120,132, 0, 32,248, 65, 0, 40,233, 60, 0, 0, +/* 0x0580 */ 233,124, 0, 16,125, 41, 3,166,232, 92, 0, 8, 78,128, 4, 33, +/* 0x0590 */ 232, 65, 0, 40,129, 1, 0,116,233, 94, 0, 8,233, 62, 0, 0, +/* 0x05a0 */ 125, 74, 66, 20,125, 40, 72, 80,249, 94, 0, 8,249, 62, 0, 0, +/* 0x05b0 */ 72, 0, 0, 20,124,164, 43,120,127,195,243,120,125, 37, 75,120, +/* 0x05c0 */ 75,255,254, 49,129, 1, 0,112,233, 95, 0, 8,233, 63, 0, 0, +/* 0x05d0 */ 125, 74, 66, 20,125, 40, 72, 80,249, 95, 0, 8,249, 63, 0, 0, +/* 0x05e0 */ 75,255,254,168, 56, 33, 0,176,129,129, 0, 8,125,144,129, 32, +/* 0x05f0 */ 72, 0, 5,192, 0, 0, 0, 0, 0, 0, 0, 3,128, 4, 0, 0, +/* 0x0600 */ 125,128, 0, 38,124, 8, 2,166,145,129, 0, 8, 72, 0, 5, 29, +/* 0x0610 */ 248, 33,254,225,125, 15, 67,120,161, 3, 0, 16,125, 50, 75,120, +/* 0x0620 */ 233, 35, 0, 32,125, 90, 83,120,124,125, 27,120,124,147, 35,120, +/* 0x0630 */ 47,136, 0, 3,248,161, 1, 96,124,216, 51,120,124,240, 59,120, +/* 0x0640 */ 126, 35, 74, 20, 57, 64, 0, 16, 64,158, 0, 8, 57, 64, 0, 0, +/* 0x0650 */ 161, 29, 0, 56,232,114, 0, 0, 57, 74, 0, 34,126, 39,139,120, +/* 0x0660 */ 121, 70, 0, 32, 56,128, 0, 0, 57, 8, 0, 1, 59,224,255,255, +/* 0x0670 */ 125, 9, 3,166, 66, 64, 0, 60,129, 7, 0, 0, 47,136, 0, 1, +/* 0x0680 */ 64,158, 0, 40,232,167, 0, 16,127,191, 40, 64, 64,157, 0, 8, +/* 0x0690 */ 124,191, 43,120,233, 7, 0, 40,125, 5, 66, 20,127,164, 64, 64, +/* 0x06a0 */ 64,156, 0, 8,125, 4, 67,120, 56,231, 0, 56, 75,255,255,200, +/* 0x06b0 */ 127, 85,208,248,127,255,208, 56,124,149, 34, 20,121, 73,231,227, +/* 0x06c0 */ 124,159, 32, 80,124,132,208, 56, 64,130, 0, 28, 47,191, 0, 0, +/* 0x06d0 */ 64,158, 0, 28, 47,163, 0, 0, 65,158, 0, 24, 56,192, 0, 50, +/* 0x06e0 */ 72, 0, 0, 16,127,227,251,120, 72, 0, 0, 8, 56, 96, 0, 0, +/* 0x06f0 */ 56,160, 0, 0,124,198, 7,180, 56,224,255,255, 57, 0, 0, 0, +/* 0x0700 */ 75,255,252, 77, 96, 0, 0, 0,127, 90,208,248, 62,224, 0, 1, +/* 0x0710 */ 147, 65, 0,136,122,247,131,228,127,255, 24, 80, 61,192, 78,128, +/* 0x0720 */ 123,233, 54,100,249, 33, 0,128, 59, 32, 0, 0, 46, 51, 0, 0, +/* 0x0730 */ 98,247, 0, 1, 97,206, 0, 32,161, 93, 0, 56,127,138,200, 0, +/* 0x0740 */ 64,157, 2, 56,129, 81, 0, 0, 65,146, 0, 36, 47,138, 0, 6, +/* 0x0750 */ 64,158, 0, 28,232,177, 0, 16,127, 3,195,120, 56,128, 0, 3, +/* 0x0760 */ 124,191, 42, 20, 75,255,252, 73, 72, 0, 2, 0, 47,138, 0, 1, +/* 0x0770 */ 64,158, 1,248, 65,146, 0, 76,233, 81, 0, 8, 47,170, 0, 0, +/* 0x0780 */ 64,158, 0, 64,233, 93, 0, 32,232,177, 0, 16,127, 3,195,120, +/* 0x0790 */ 56,128, 0, 3,125, 95, 82, 20,124,170, 42, 20, 75,255,252, 17, +/* 0x07a0 */ 160,189, 0, 56,127, 3,195,120, 56,128, 0, 5, 75,255,252, 1, +/* 0x07b0 */ 160,189, 0, 54,127, 3,195,120, 56,128, 0, 4, 75,255,251,241, +/* 0x07c0 */ 131,113, 0, 4,235,209, 0, 16, 61, 32,115, 81, 97, 41, 98, 64, +/* 0x07d0 */ 235,145, 0, 32,234,209, 0, 40, 87,123, 22,250,127,223,242, 20, +/* 0x07e0 */ 251,129, 0,112,125, 59,220, 48,127,202,168, 56,251,193, 0,120, +/* 0x07f0 */ 126,222,178, 20,127,138,226, 20,127,202,240, 80, 87,116, 7,126, +/* 0x0800 */ 64,146, 0, 12, 56,160, 0, 0, 72, 0, 0, 8, 56,160, 0, 2, +/* 0x0810 */ 124,165,163,120,124,165, 7,180, 64,146, 0, 16,232,225, 1, 96, +/* 0x0820 */ 56,192, 0, 18, 72, 0, 0, 12, 56,192, 0, 50, 56,224,255,255, +/* 0x0830 */ 233, 17, 0, 8,127,195,243,120,127,132,227,120,125, 10, 64, 80, +/* 0x0840 */ 75,255,251, 13, 96, 0, 0, 0,127,190, 24, 0, 65,254, 0, 16, +/* 0x0850 */ 56, 96, 0,127, 75,255,251, 17, 96, 0, 0, 0, 65,146, 0, 24, +/* 0x0860 */ 126, 99,155,120, 56,129, 0,112,126, 5,131,120,125,230,123,120, +/* 0x0870 */ 75,255,251,241,125, 92, 0,208,123,105,255,227,125, 90,168, 56, +/* 0x0880 */ 64,130, 0, 12, 64,146, 0, 48, 72, 0, 0,168, 47,186, 0, 0, +/* 0x0890 */ 65,158,255,244,127, 73, 3,166,124,254,226, 20, 57, 0, 0, 0, +/* 0x08a0 */ 57, 32, 0, 0,125, 39, 65,174, 57, 8, 0, 1, 66, 0,255,244, +/* 0x08b0 */ 75,255,255,212,233, 17, 0, 0,121, 8, 7,194,121, 8, 0, 2, +/* 0x08c0 */ 127,168,184, 0, 64,158, 0, 80,232,177, 0, 40,233, 17, 0, 32, +/* 0x08d0 */ 232,241, 0, 16,127,165, 64, 0, 64,158, 0,188,124,165, 58, 20, +/* 0x08e0 */ 129, 33, 0,136,124,165,250, 20,125, 5, 0,208,125, 8, 72, 56, +/* 0x08f0 */ 43,136, 0, 7, 64,157, 0,160, 61, 32, 68, 0,145,197, 0, 4, +/* 0x0900 */ 127, 3,195,120, 97, 41, 0, 2, 56,128, 0, 0,145, 37, 0, 0, +/* 0x0910 */ 75,255,250,157,127,195,243,120,127,132,227,120,126,133, 7,180, +/* 0x0920 */ 75,255,250,117, 96, 0, 0, 0, 47,163, 0, 0, 64,222,255, 36, +/* 0x0930 */ 127,154,226, 20,127,222,226, 20,127,190,176, 64, 64,156, 0, 44, +/* 0x0940 */ 127,195,243,120,124,158,176, 80,126,133, 7,180, 56,192, 0, 50, +/* 0x0950 */ 56,224,255,255, 57, 0, 0, 0, 75,255,249,245, 96, 0, 0, 0, +/* 0x0960 */ 127,190, 24, 0, 64,222,254,236, 59, 57, 0, 1, 58, 49, 0, 56, +/* 0x0970 */ 127, 57, 7,180, 75,255,253,196,251,242, 0, 0, 56, 33, 1, 32, +/* 0x0980 */ 129,129, 0, 8,125,144,129, 32,232,125, 0, 24,124,127, 26, 20, +/* 0x0990 */ 72, 0, 1,232,233, 33, 0,128,233, 17, 0, 8,124,167, 74, 20, +/* 0x09a0 */ 47,168, 0, 0, 56,165, 0, 8, 65,158,255, 80, 75,255,255,104, +/* 0x09b0 */ 0, 0, 0, 0, 0, 0, 0, 3,128, 18, 0, 0,124, 8, 2,166, +/* 0x09c0 */ 72, 0, 1,145,248, 33,255, 17,124,191, 43,120,124,218, 51,120, +/* 0x09d0 */ 125, 61, 75,120,129, 35, 0, 0, 56,192, 0, 0,125, 88, 83,120, +/* 0x09e0 */ 248,161, 0,152,249, 33, 0,144,124,229, 59,120, 59,159, 0, 64, +/* 0x09f0 */ 248, 97, 0,120,248,129, 0,112, 59,192, 0, 0,248, 97, 0,136, +/* 0x0a00 */ 248,129, 0,128,248,225, 0,160,249, 1, 0,168, 56, 97, 0,112, +/* 0x0a10 */ 56,129, 0,144, 75,255,250, 77,232,225, 0,160,233, 1, 0,168, +/* 0x0a20 */ 56,129, 0,128, 56,160, 0, 0,127, 70,211,120,127,169,235,120, +/* 0x0a30 */ 127, 10,195,120,127,227,251,120, 75,255,251,201, 56,128, 0, 9, +/* 0x0a40 */ 124,123, 27,120,127, 67,211,120,127,101,219,120, 75,255,249, 97, +/* 0x0a50 */ 161, 63, 0, 56,127,137,240, 64, 64,157, 0,184,129, 60, 0, 0, +/* 0x0a60 */ 47,137, 0, 3, 64,158, 0,156,232,124, 0, 16,233, 61, 0, 0, +/* 0x0a70 */ 56,128, 0, 0, 56,160, 0, 0,124, 99, 74, 20, 75,255,249, 9, +/* 0x0a80 */ 96, 0, 0, 0, 47,131, 0, 0,124,121, 27,120, 64,252, 0, 16, +/* 0x0a90 */ 56, 96, 0,127, 75,255,248,209, 96, 0, 0, 0,127,228,251,120, +/* 0x0aa0 */ 56,160, 4, 0, 75,255,248,217, 96, 0, 0, 0, 47,163, 4, 0, +/* 0x0ab0 */ 64,222,255,224, 57, 32, 0, 0, 56,128, 0, 0,249, 61, 0, 0, +/* 0x0ac0 */ 127, 37,203,120, 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0, +/* 0x0ad0 */ 127,169,235,120,127, 10,195,120,127,227,251,120, 75,255,251, 37, +/* 0x0ae0 */ 232,189, 0, 0, 56,128, 0, 7,124,123, 27,120,127, 67,211,120, +/* 0x0af0 */ 75,255,248,189,127, 35,203,120, 75,255,248,149, 96, 0, 0, 0, +/* 0x0b00 */ 59,222, 0, 1, 59,156, 0, 56,123,222, 0, 32, 75,255,255, 68, +/* 0x0b10 */ 56, 33, 0,240,127, 99,219,120, 72, 0, 0,136, 0, 0, 0, 0, +/* 0x0b20 */ 0, 0, 0, 1,128, 8, 0, 0,249,193,255,112,249,225,255,120, +/* 0x0b30 */ 250, 1,255,128,250, 33,255,136,250, 65,255,144,250, 97,255,152, +/* 0x0b40 */ 250,129,255,160,250,161,255,168,250,193,255,176,250,225,255,184, +/* 0x0b50 */ 251, 1,255,192,251, 33,255,200,251, 65,255,208,251, 97,255,216, +/* 0x0b60 */ 251,129,255,224,251,161,255,232,251,193,255,240,251,225,255,248, +/* 0x0b70 */ 248, 1, 0, 16, 78,128, 0, 32,233,193,255,112,233,225,255,120, +/* 0x0b80 */ 234, 1,255,128,234, 33,255,136,234, 65,255,144,234, 97,255,152, +/* 0x0b90 */ 234,129,255,160,234,161,255,168,234,193,255,176,234,225,255,184, +/* 0x0ba0 */ 235, 1,255,192,235, 33,255,200,235, 65,255,208,235, 97,255,216, +/* 0x0bb0 */ 235,129,255,224,232, 1, 0, 16,235,161,255,232,124, 8, 3,166, +/* 0x0bc0 */ 235,193,255,240,235,225,255,248, 78,128, 0, 32, 0, 0, 0, 0, +/* 0x0bd0 */ 0, 0, 0, 0, 0, 16, 3,172, 0, 0, 0, 0, 0, 16,139,208, +/* 0x0be0 */ 0, 0, 0, 0, 0, 16, 3,240, 0, 0, 0, 0, 0, 16,139,208, +/* 0x0bf0 */ 0, 0, 0, 0, 0, 16, 4, 96, 0, 0, 0, 0, 0, 16,139,208, +/* 0x0c00 */ 0, 0, 0, 0, 0, 16, 6, 0, 0, 0, 0, 0, 0, 16,139,208, +/* 0x0c10 */ 0, 0, 0, 0, 0, 16, 9,188, 0, 0, 0, 0, 0, 16,139,208 }; diff --git a/src/stub/powerpc64le-darwin.dylib-entry.h b/src/stub/powerpc64le-darwin.dylib-entry.h index 18ffca7f..5cb425ee 100644 --- a/src/stub/powerpc64le-darwin.dylib-entry.h +++ b/src/stub/powerpc64le-darwin.dylib-entry.h @@ -32,8 +32,8 @@ #define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_SIZE 11099 -#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_ADLER32 0xb765b4bf -#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_CRC32 0xd32cc21c +#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_ADLER32 0xb665b4bf +#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_CRC32 0x9c7d235f unsigned char stub_powerpc64le_darwin_dylib_entry[11099] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -522,8 +522,8 @@ unsigned char stub_powerpc64le_darwin_dylib_entry[11099] = { /* 0x1e30 */ 104, 0,130, 65, 20, 26,123,127,120, 27,119,124, 4, 0,122, 56, /* 0x1e40 */ 29, 1, 0, 72, 20, 26, 90,127,120, 27,118,124, 12, 0, 90, 59, /* 0x1e50 */ 249,255,225,250,166, 3,232,127, 12, 0,120, 56,120,179,196,126, -/* 0x1e60 */ 120,203, 37,127,120, 11, 38,124, 8, 0,248,136,145,255, 33,248, -/* 0x1e70 */ 33, 0,128, 78,120, 0, 33, 56, 9, 0,216,136, 0, 0, 6, 40, +/* 0x1e60 */ 120,203, 37,127,120, 11, 38,124, 8, 0,248,136,113,255, 33,248, +/* 0x1e70 */ 33, 0,128, 78,152, 0, 33, 56, 9, 0,216,136, 0, 0, 6, 40, /* 0x1e80 */ 160,255,130, 65, 10, 0,184,136, 0, 0,152,232,120,203, 35,127, /* 0x1e90 */ 241, 0, 0, 72,140,255,255, 75,145, 0, 0, 72, 2, 0, 0, 68, /* 0x1ea0 */ 255,255, 96, 56, 0, 0, 65,232, 8, 0, 97,232, 16, 0,129,232, diff --git a/src/stub/powerpc64le-darwin.macho-entry.h b/src/stub/powerpc64le-darwin.macho-entry.h index 2c51287c..d7893bd9 100644 --- a/src/stub/powerpc64le-darwin.macho-entry.h +++ b/src/stub/powerpc64le-darwin.macho-entry.h @@ -32,8 +32,8 @@ #define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_SIZE 10439 -#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_ADLER32 0xea83a5d4 -#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_CRC32 0xca01d03a +#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_ADLER32 0x7914a5b4 +#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_CRC32 0x5e59d09e unsigned char stub_powerpc64le_darwin_macho_entry[10439] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -503,7 +503,7 @@ unsigned char stub_powerpc64le_darwin_macho_entry[10439] = { /* 0x1d00 */ 12, 0,139,128,166, 3,137,124, 8, 0,203,128, 16, 0,235,136, /* 0x1d10 */ 20, 90,164,124, 20, 0,165, 56, 20, 90,102,124,192, 0, 99, 56, /* 0x1d20 */ 255,255, 5,140,255,255, 3,156,248,255, 32, 67,166, 3,233,127, -/* 0x1d30 */ 128, 0,171, 56,248,255,193,248,248,255,193, 56,145,255, 33,248, +/* 0x1d30 */ 128, 0,171, 56,248,255,193,248,248,255,193, 56,113,255, 33,248, /* 0x1d40 */ 32, 4,128, 78,166, 2,232,127,181,255,255, 75,128, 0, 0, 72, /* 0x1d50 */ 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32, /* 0x1d60 */ 101,108,102, 54, 52, 45,112,111,119,101,114,112, 99,108,101, 10, diff --git a/src/stub/powerpc64le-linux.elf-entry.h b/src/stub/powerpc64le-linux.elf-entry.h index 67988937..bf93ed12 100644 --- a/src/stub/powerpc64le-linux.elf-entry.h +++ b/src/stub/powerpc64le-linux.elf-entry.h @@ -1,5 +1,5 @@ /* powerpc64le-linux.elf-entry.h - created from powerpc64le-linux.elf-entry.bin, 11354 (0x2c5a) bytes + created from powerpc64le-linux.elf-entry.bin, 11186 (0x2bb2) bytes This file is part of the UPX executable compressor. @@ -31,14 +31,14 @@ */ -#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_SIZE 11354 -#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_ADLER32 0x7c5ec5de -#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_CRC32 0x45740506 +#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_SIZE 11186 +#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_ADLER32 0xbafd82a0 +#define STUB_POWERPC64LE_LINUX_ELF_ENTRY_CRC32 0x9a9717a7 -unsigned char stub_powerpc64le_linux_elf_entry[11354] = { +unsigned char stub_powerpc64le_linux_elf_entry[11186] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 21, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,112, 34, 0, 0, 0, 0, 0, 0, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,240, 33, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0040 */ 1, 0, 0, 72,236, 41, 0,124,166, 2,168,125, 8, 0, 7, 40, /* 0x0050 */ 72, 1,130, 64, 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60, @@ -503,247 +503,237 @@ unsigned char stub_powerpc64le_linux_elf_entry[11354] = { /* 0x1d00 */ 109,109, 97,112, 32,102, 97,105,108,101,100, 46, 10, 0, 0, 0, /* 0x1d10 */ 14, 0,160, 56,166, 2,136,124, 2, 0, 96, 56, 4, 0, 0, 56, /* 0x1d20 */ 2, 0, 0, 68,127, 0, 96, 56, 1, 0, 0, 56, 2, 0, 0, 68, -/* 0x1d30 */ 166, 2, 8,127,248,255,191, 59, 0, 0, 29,128, 0, 0,120,131, -/* 0x1d40 */ 80,232,160,127, 16, 0, 29,160, 3, 0, 0, 40, 68, 0,130, 65, -/* 0x1d50 */ 104, 0,157,235, 0, 0, 0, 57, 80,224,158,127,255,255,224, 56, -/* 0x1d60 */ 255,255,156, 59, 50, 0,192, 56, 56,240,156,127, 3, 0,160, 56, -/* 0x1d70 */ 4, 0,152,128, 20,226,125,124, 20, 34,156,127, 90, 0, 0, 56, -/* 0x1d80 */ 2, 0, 0, 68, 0, 0,195, 65, 0, 0, 32, 59,184, 0, 0, 72, -/* 0x1d90 */ 120,235,185,127,104, 0,221,234, 4, 0, 24,128, 20,178,128,127, -/* 0x1da0 */ 120,227,132,127, 80,232,228,126, 56,240,247,126,120,211, 67,127, -/* 0x1db0 */ 0, 0,195,232, 8, 0, 3,233, 16, 0, 99, 56, 0, 0,166, 43, -/* 0x1dc0 */ 44, 0,222, 65,224,255,198, 56, 1, 0,166, 43,228,255,253, 65, -/* 0x1dd0 */ 80, 64,215,124, 64, 32,166,127,216,255,252, 64, 80, 48,196,124, -/* 0x1de0 */ 20, 50,247,126, 56,240,247,126,200,255,255, 75,120,187,227,126, -/* 0x1df0 */ 0, 0, 0, 57,255,255,224, 56, 50, 0,192, 56, 3, 0,160, 56, -/* 0x1e00 */ 90, 0, 0, 56, 2, 0, 0, 68, 0, 0,195, 65, 80,184, 29,124, -/* 0x1e10 */ 20, 2,255,127,120,179,198,126, 15, 0,198, 56,248,255,157, 56, -/* 0x1e20 */ 2,225,198,120,248,255, 99, 56,166, 3,201,124, 8, 0,164,232, -/* 0x1e30 */ 17, 0,196,232, 8, 0,163,248, 17, 0,195,248,240,255, 0, 66, -/* 0x1e40 */ 120,187,253,126,120, 27,101,124,120, 27,119,124,166, 3,233,127, -/* 0x1e50 */ 4, 0, 24,128, 12, 0,248,136,104, 1,193, 56,104, 1, 1,248, -/* 0x1e60 */ 8, 0,152,128, 16, 0,120, 56, 33, 4,128, 78, 5, 0,160, 56, -/* 0x1e70 */ 120,227,132,127,120,235,163,127,125, 0, 0, 56, 2, 0, 0, 68, -/* 0x1e80 */ 166, 3,233,126, 32, 4,128, 78, 0, 0, 3,232, 8, 0, 99, 56, -/* 0x1e90 */ 0, 0,160, 47,244,255,254, 64, 32, 0,128, 78,145,254, 33,248, -/* 0x1ea0 */ 120, 0, 65,248,128, 0, 97,248,136, 0,129,248,144, 0,161,248, -/* 0x1eb0 */ 152, 0,193,248,160, 0,225,248,168, 0, 1,249,176, 0, 33,249, -/* 0x1ec0 */ 184, 0, 65,249,192, 0, 97,249,200, 0,129,249,208, 0,161,249, -/* 0x1ed0 */ 216, 0,193,249,224, 0,225,249,232, 0, 1,250,240, 0, 33,250, -/* 0x1ee0 */ 248, 0, 65,250, 0, 1, 97,250, 8, 1,129,250, 16, 1,161,250, -/* 0x1ef0 */ 24, 1,193,250, 32, 1,225,250, 40, 1, 1,251, 48, 1, 33,251, -/* 0x1f00 */ 56, 1, 65,251, 64, 1, 97,251, 72, 1,129,251, 80, 1,161,251, -/* 0x1f10 */ 88, 1,193,251, 96, 1,225,251,166, 2,232,127,112, 1, 97, 56, -/* 0x1f20 */ 105,255,255, 75,101,255,255, 75,120, 27,122,124, 0, 0, 3,232, -/* 0x1f30 */ 8, 0,131,232, 16, 0, 99, 56, 6, 0,160, 47, 16, 0,222, 65, -/* 0x1f40 */ 0, 0, 32, 44,232,255,226, 64, 1, 0,128, 60,208, 0,196,127, -/* 0x1f50 */ 225,253,255, 75, 0, 0, 0, 0,102,105,108,101, 32,102,111,114, -/* 0x1f60 */ 109, 97,116, 32,101,108,102, 54, 52, 45,112,111,119,101,114,112, -/* 0x1f70 */ 99,108,101, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73, -/* 0x1f80 */ 100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1f90 */ 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, -/* 0x1fa0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, -/* 0x1fb0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, -/* 0x1fc0 */ 105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70, -/* 0x1fd0 */ 108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, -/* 0x1fe0 */ 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, -/* 0x1ff0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2000 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2010 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, -/* 0x2020 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x2030 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2040 */ 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, -/* 0x2050 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2060 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2080 */ 48, 48, 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2090 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x20a0 */ 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, -/* 0x20b0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 53, 52, 32, 32, 48, 48, -/* 0x20c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x20d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20e0 */ 32, 32, 48, 48, 48, 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, -/* 0x20f0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x2100 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, -/* 0x2110 */ 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x2120 */ 48, 48, 48, 49, 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2130 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2150 */ 48, 49, 57, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x2160 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x2170 */ 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, -/* 0x2180 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 56, -/* 0x2190 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21a0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21b0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,100, 99, 32, 32, -/* 0x21c0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x21d0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x21e0 */ 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, -/* 0x21f0 */ 32, 32, 48, 48, 48, 48, 48, 48, 57, 52, 32, 32, 48, 48, 48, 48, -/* 0x2200 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x2210 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2220 */ 48, 48, 48, 48, 48, 51,100, 52, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x2230 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x2240 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, -/* 0x2250 */ 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x2260 */ 48, 48, 50, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2270 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2280 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, -/* 0x2290 */ 54, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x22a0 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, -/* 0x22b0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, -/* 0x22c0 */ 48, 48, 48, 48, 98, 98, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x22d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x22e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x22f0 */ 48, 48, 52, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x2300 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x2310 */ 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, -/* 0x2320 */ 32, 32, 48, 48, 48, 48, 48, 99, 55, 52, 32, 32, 48, 48, 48, 48, -/* 0x2330 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x2340 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2350 */ 48, 48, 48, 48, 49, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x2360 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x2370 */ 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, -/* 0x2380 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, -/* 0x2390 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x23a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x23b0 */ 48, 32, 32, 48, 48, 48, 48, 49, 99, 98, 99, 32, 32, 50, 42, 42, -/* 0x23c0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x23d0 */ 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, -/* 0x23e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, -/* 0x23f0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2400 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2410 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,100, 56, 32, 32, -/* 0x2420 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x2430 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, -/* 0x2440 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x2450 */ 48, 49, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2460 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2470 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,102, -/* 0x2480 */ 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x2490 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x24a0 */ 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, -/* 0x24b0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 50, 52, 56, 32, 32, 48, -/* 0x24c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x24d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x24e0 */ 48, 32, 32, 48, 48, 48, 48, 49,100, 49, 48, 32, 32, 50, 42, 42, -/* 0x24f0 */ 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x2500 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, -/* 0x2510 */ 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, -/* 0x2520 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x2530 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, -/* 0x2540 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2550 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x2560 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x2570 */ 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, -/* 0x2580 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, -/* 0x2590 */ 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x25a0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x25b0 */ 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x25c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, -/* 0x25d0 */ 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x25e0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, -/* 0x25f0 */ 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2600 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, -/* 0x2610 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2620 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, -/* 0x2630 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2640 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, -/* 0x2650 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x2660 */ 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, -/* 0x2670 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, -/* 0x2680 */ 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2690 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x26a0 */ 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x26b0 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, -/* 0x26c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x26d0 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, -/* 0x26e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, -/* 0x26f0 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2700 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, -/* 0x2710 */ 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2720 */ 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2730 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x2740 */ 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, -/* 0x2750 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x2760 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2770 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x2780 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, -/* 0x2790 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x27a0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x27b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x27c0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, -/* 0x27d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x27e0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x27f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x2800 */ 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x2810 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76, 85, 83, 72, -/* 0x2820 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2830 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x2840 */ 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2850 */ 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, -/* 0x2860 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, -/* 0x2870 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, -/* 0x2880 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, -/* 0x2890 */ 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, -/* 0x28a0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, -/* 0x28b0 */ 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, -/* 0x28c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x28d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x28e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x28f0 */ 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 50, 52, 32, 32, -/* 0x2900 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, -/* 0x2910 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 56, 99, 10, 10, -/* 0x2920 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x2930 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, -/* 0x2940 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2950 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2960 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2970 */ 48, 48, 48, 48, 48, 48, 48, 99, 48, 32, 82, 95, 80, 80, 67, 54, -/* 0x2980 */ 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, -/* 0x2990 */ 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x29a0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, -/* 0x29b0 */ 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, -/* 0x29c0 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, -/* 0x29d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, -/* 0x29e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, 99, 32, -/* 0x29f0 */ 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, -/* 0x2a00 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, -/* 0x2a10 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x2a20 */ 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, -/* 0x2a30 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, -/* 0x2a40 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x2a50 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2a60 */ 48, 48, 48, 57, 56, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, -/* 0x2a70 */ 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, -/* 0x2a80 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x2a90 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, -/* 0x2aa0 */ 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, -/* 0x2ab0 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x2ac0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x2ad0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, -/* 0x2ae0 */ 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, -/* 0x2af0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, -/* 0x2b00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 56, -/* 0x2b10 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x2b20 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, -/* 0x2b30 */ 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, -/* 0x2b40 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x2b50 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x2b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, -/* 0x2b70 */ 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, -/* 0x2b80 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, -/* 0x2b90 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, -/* 0x2ba0 */ 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, -/* 0x2bb0 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, -/* 0x2bc0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2bd0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2be0 */ 48, 48, 48, 48, 48, 55, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, -/* 0x2bf0 */ 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x2c00 */ 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2c10 */ 48,102, 56, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, -/* 0x2c20 */ 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, -/* 0x2c30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 52, 52, 32, -/* 0x2c40 */ 82, 95, 80, 80, 67, 54, 52, 95, 65, 68, 68, 82, 51, 50, 32, 32, -/* 0x2c50 */ 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 +/* 0x1d30 */ 166, 2,200,126, 21, 0, 0, 72, 47,112,114,111, 99, 47,115,101, +/* 0x1d40 */ 108,102, 47,101,120,101, 0, 0,166, 2,104,124, 0, 0,128, 56, +/* 0x1d50 */ 5, 0, 0, 56, 2, 0, 0, 68,120, 27,123,124,248,255, 31,128, +/* 0x1d60 */ 248,255, 63, 59,255,255,224, 56, 4, 0,182,130, 34, 0,192, 56, +/* 0x1d70 */ 80,200, 32,127, 0, 0, 96, 56, 80,176, 25,124, 20, 2,149,124, +/* 0x1d80 */ 120, 35,156,124,153, 0, 0, 72,120, 27,125,124, 8, 0, 22,128, +/* 0x1d90 */ 80,224,149,124,120,219,103,127, 18, 0,192, 56, 20, 2,132,124, +/* 0x1da0 */ 125, 0, 0, 72, 80, 24,153,126, 0, 0,118,130, 16, 0,118, 56, +/* 0x1db0 */ 20,162,214,126, 20,170,246,126, 56,240,216,126, 80,184,248,126, +/* 0x1dc0 */ 166, 3,233,127, 20,162,255,127, 12, 0,246,136,104, 1,161,250, +/* 0x1dd0 */ 104, 1,193, 56,120,179,197,126, 8, 0,150,128, 33, 4,128, 78, +/* 0x1de0 */ 0, 0, 22,128, 66,186,195,123, 44, 4, 96,120, 0, 0, 22,144, +/* 0x1df0 */ 5, 0,160, 56,120,187,228,126,120,195, 3,127,125, 0, 0, 56, +/* 0x1e00 */ 2, 0, 0, 68,248,255,255,130, 20,154, 25,127, 20,162, 24,127, +/* 0x1e10 */ 16, 0, 22, 56,166, 3, 9,124, 32, 4,128, 78, 0, 0, 0, 57, +/* 0x1e20 */ 3, 0,160, 56, 90, 0, 0, 56, 2, 0, 0, 68, 8, 0,131, 64, +/* 0x1e30 */ 8, 0,128,124, 32, 0,128, 78, 0, 0, 3,232, 8, 0, 99, 56, +/* 0x1e40 */ 0, 0,160, 47,244,255,254, 64, 32, 0,128, 78,145,254, 33,248, +/* 0x1e50 */ 120, 0, 65,248,128, 0, 97,248,136, 0,129,248,144, 0,161,248, +/* 0x1e60 */ 152, 0,193,248,160, 0,225,248,168, 0, 1,249,176, 0, 33,249, +/* 0x1e70 */ 184, 0, 65,249,192, 0, 97,249,200, 0,129,249,208, 0,161,249, +/* 0x1e80 */ 216, 0,193,249,224, 0,225,249,232, 0, 1,250,240, 0, 33,250, +/* 0x1e90 */ 248, 0, 65,250, 0, 1, 97,250, 8, 1,129,250, 16, 1,161,250, +/* 0x1ea0 */ 24, 1,193,250, 32, 1,225,250, 40, 1, 1,251, 48, 1, 33,251, +/* 0x1eb0 */ 56, 1, 65,251, 64, 1, 97,251, 72, 1,129,251, 80, 1,161,251, +/* 0x1ec0 */ 88, 1,193,251, 96, 1,225,251,166, 2,232,127,112, 1, 97, 56, +/* 0x1ed0 */ 105,255,255, 75,101,255,255, 75,120, 27,122,124, 0, 0, 3,232, +/* 0x1ee0 */ 8, 0,131,232, 16, 0, 99, 56, 6, 0,160, 47, 16, 0,222, 65, +/* 0x1ef0 */ 0, 0, 32, 44,232,255,226, 64, 1, 0,128, 60,208, 0,196,127, +/* 0x1f00 */ 49,254,255, 75, 0, 0, 0, 0,102,105,108,101, 32,102,111,114, +/* 0x1f10 */ 109, 97,116, 32,101,108,102, 54, 52, 45,112,111,119,101,114,112, +/* 0x1f20 */ 99,108,101, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73, +/* 0x1f30 */ 100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1f40 */ 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, +/* 0x1f50 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, +/* 0x1f60 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, +/* 0x1f70 */ 105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70, +/* 0x1f80 */ 108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x1f90 */ 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, +/* 0x1fa0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fb0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fc0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, +/* 0x1fd0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1fe0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1ff0 */ 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, +/* 0x2000 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x2010 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x2020 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x2030 */ 48, 48, 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x2040 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x2050 */ 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, +/* 0x2060 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 53, 52, 32, 32, 48, 48, +/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x2080 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2090 */ 32, 32, 48, 48, 48, 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, +/* 0x20a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, +/* 0x20b0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, +/* 0x20c0 */ 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, +/* 0x20d0 */ 48, 48, 48, 49, 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x20e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x2100 */ 48, 49, 57, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x2110 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, +/* 0x2120 */ 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, +/* 0x2130 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 56, +/* 0x2140 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2150 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2160 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,100, 99, 32, 32, +/* 0x2170 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x2180 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x2190 */ 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, +/* 0x21a0 */ 32, 32, 48, 48, 48, 48, 48, 48, 57, 52, 32, 32, 48, 48, 48, 48, +/* 0x21b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x21c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x21d0 */ 48, 48, 48, 48, 48, 51,100, 52, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x21e0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, +/* 0x21f0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, +/* 0x2200 */ 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x2210 */ 48, 48, 50, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2220 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2230 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, +/* 0x2240 */ 54, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x2250 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, +/* 0x2260 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, +/* 0x2270 */ 48, 48, 48, 48, 98, 98, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x2280 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x2290 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x22a0 */ 48, 48, 52, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x22b0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x22c0 */ 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, +/* 0x22d0 */ 32, 32, 48, 48, 48, 48, 48, 99, 55, 52, 32, 32, 48, 48, 48, 48, +/* 0x22e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x22f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x2300 */ 48, 48, 48, 48, 49, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x2310 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x2320 */ 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, +/* 0x2330 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, +/* 0x2340 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x2350 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2360 */ 48, 32, 32, 48, 48, 48, 48, 49, 99, 98, 99, 32, 32, 50, 42, 42, +/* 0x2370 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x2380 */ 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, +/* 0x2390 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, +/* 0x23a0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x23b0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x23c0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,100, 56, 32, 32, +/* 0x23d0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x23e0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, +/* 0x23f0 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x2400 */ 48, 49, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2410 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2420 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,102, +/* 0x2430 */ 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x2440 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x2450 */ 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, +/* 0x2460 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49,102, 56, 32, 32, 48, +/* 0x2470 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x2480 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2490 */ 48, 32, 32, 48, 48, 48, 48, 49,100, 49, 48, 32, 32, 50, 42, 42, +/* 0x24a0 */ 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, +/* 0x24b0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, +/* 0x24c0 */ 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, +/* 0x24d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x24e0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, +/* 0x24f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x2500 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, +/* 0x2510 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2520 */ 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, +/* 0x2530 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, +/* 0x2540 */ 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2550 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x2560 */ 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x2570 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, +/* 0x2580 */ 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2590 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, +/* 0x25a0 */ 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x25b0 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, +/* 0x25c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x25d0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, +/* 0x25e0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x25f0 */ 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, +/* 0x2600 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2610 */ 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, +/* 0x2620 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, +/* 0x2630 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2640 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, +/* 0x2650 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2660 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2670 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x2680 */ 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2690 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, +/* 0x26a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x26b0 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, +/* 0x26c0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x26d0 */ 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, +/* 0x26e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x26f0 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x2700 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2710 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, +/* 0x2720 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x2730 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2740 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2750 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2760 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x2770 */ 32, 32, 32,100, 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, +/* 0x2780 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, +/* 0x2790 */ 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x27a0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, +/* 0x27b0 */ 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x27c0 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, +/* 0x27d0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x27e0 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x27f0 */ 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2800 */ 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, +/* 0x2810 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, +/* 0x2820 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, +/* 0x2830 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, +/* 0x2840 */ 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, +/* 0x2850 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, +/* 0x2860 */ 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x2870 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x2880 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x2890 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x28a0 */ 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 50, 52, 32, 32, +/* 0x28b0 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, +/* 0x28c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 51, 99, 10, 10, +/* 0x28d0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x28e0 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, +/* 0x28f0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2900 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2910 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2920 */ 48, 48, 48, 48, 48, 48, 48, 99, 48, 32, 82, 95, 80, 80, 67, 54, +/* 0x2930 */ 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, +/* 0x2940 */ 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x2950 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, +/* 0x2960 */ 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, +/* 0x2970 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, +/* 0x2980 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, +/* 0x2990 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, 99, 32, +/* 0x29a0 */ 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, +/* 0x29b0 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, +/* 0x29c0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, +/* 0x29d0 */ 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, +/* 0x29e0 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, +/* 0x29f0 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, +/* 0x2a00 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2a10 */ 48, 48, 48, 57, 56, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, +/* 0x2a20 */ 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, +/* 0x2a30 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, +/* 0x2a40 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, +/* 0x2a50 */ 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x2a60 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x2a70 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x2a80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, +/* 0x2a90 */ 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, +/* 0x2aa0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, +/* 0x2ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 56, +/* 0x2ac0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, +/* 0x2ad0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, +/* 0x2ae0 */ 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, +/* 0x2af0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x2b00 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2b10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, +/* 0x2b20 */ 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, +/* 0x2b30 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, +/* 0x2b40 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, +/* 0x2b50 */ 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, +/* 0x2b60 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, +/* 0x2b70 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2b80 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2b90 */ 48, 48, 48, 48, 49,102, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, +/* 0x2ba0 */ 65, 68, 68, 82, 51, 50, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, +/* 0x2bb0 */ 79, 10 }; diff --git a/src/stub/powerpc64le-linux.elf-fold.h b/src/stub/powerpc64le-linux.elf-fold.h index adac5765..543645f9 100644 --- a/src/stub/powerpc64le-linux.elf-fold.h +++ b/src/stub/powerpc64le-linux.elf-fold.h @@ -1,5 +1,5 @@ /* powerpc64le-linux.elf-fold.h - created from powerpc64le-linux.elf-fold.bin, 2987 (0xbab) bytes + created from powerpc64le-linux.elf-fold.bin, 3043 (0xbe3) bytes This file is part of the UPX executable compressor. @@ -31,196 +31,200 @@ */ -#define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 2987 -#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0x6bbd199c -#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0xe3c3563b +#define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 3043 +#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0x0b7a29be +#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0x7bca2af5 -unsigned char stub_powerpc64le_linux_elf_fold[2987] = { +unsigned char stub_powerpc64le_linux_elf_fold[3043] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0010 */ 2, 0, 21, 0, 1, 0, 0, 0, 96, 11, 16, 0, 0, 0, 0, 0, +/* 0x0010 */ 2, 0, 21, 0, 1, 0, 0, 0,152, 11, 16, 0, 0, 0, 0, 0, /* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 1, 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 */ 96, 11, 0, 0, 0, 0, 0, 0, 96, 11, 0, 0, 0, 0, 0, 0, +/* 0x0060 */ 152, 11, 0, 0, 0, 0, 0, 0,152, 11, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, -/* 0x0080 */ 96, 11, 0, 0, 0, 0, 0, 0, 96, 11, 16, 0, 0, 0, 0, 0, -/* 0x0090 */ 96, 11, 16, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, +/* 0x0080 */ 152, 11, 0, 0, 0, 0, 0, 0,152, 11, 16, 0, 0, 0, 0, 0, +/* 0x0090 */ 152, 11, 16, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, /* 0x00a0 */ 88, 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,125, 0, 0, 72, -/* 0x00c0 */ 208, 0, 6, 40, 32, 0,194, 76,191,240,132, 84, 32, 0,194, 77, -/* 0x00d0 */ 16, 0, 0, 60, 64, 0, 4,124, 8, 0,128, 65,120, 3, 4,124, -/* 0x00e0 */ 32, 1,165, 56,120, 27,103,124,252,255, 99, 56,166, 3,137,124, -/* 0x00f0 */ 28, 0, 0, 72,186, 2, 11, 84, 80, 88, 99,125, 20, 58,107,125, -/* 0x0100 */ 186, 1, 96, 81, 0, 0, 3,144, 32, 0, 64, 79, 4, 0, 3,132, -/* 0x0110 */ 190, 85, 11, 84, 64, 40, 11,124,220,255,194, 65,240,255, 32, 67, -/* 0x0120 */ 32, 0,128, 78, 32, 32, 32, 61, 47,112,114,111, 99, 47,115,101, -/* 0x0130 */ 108,102, 47,101,120,101, 0, 0,166, 2,168,126, 0, 0,128, 56, -/* 0x0140 */ 104, 0,117, 56,253, 1, 0, 72,120, 27,116,124,248,255,129, 56, +/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,255, 96, 56, +/* 0x00c0 */ 164, 77, 99,120, 32, 0,128, 78, 0, 0, 0, 96,125, 0, 0, 72, +/* 0x00d0 */ 208, 0, 6, 40, 32, 0,194, 76,191,240,132, 84, 32, 0,194, 77, +/* 0x00e0 */ 16, 0, 0, 60, 64, 0, 4,124, 8, 0,128, 65,120, 3, 4,124, +/* 0x00f0 */ 32, 1,165, 56,120, 27,103,124,252,255, 99, 56,166, 3,137,124, +/* 0x0100 */ 28, 0, 0, 72,186, 2, 11, 84, 80, 88, 99,125, 20, 58,107,125, +/* 0x0110 */ 186, 1, 96, 81, 0, 0, 3,144, 32, 0, 64, 79, 4, 0, 3,132, +/* 0x0120 */ 190, 85, 11, 84, 64, 40, 11,124,220,255,194, 65,240,255, 32, 67, +/* 0x0130 */ 32, 0,128, 78, 32, 32, 32, 61, 47,112,114,111, 99, 47,115,101, +/* 0x0140 */ 108,102, 47,101,120,101, 0, 0,166, 2,200,126,248,255,129, 56, /* 0x0150 */ 248,239, 33, 56,248,255, 97, 56,248,255, 90, 59, 9, 0, 4,232, /* 0x0160 */ 64,208,164,127, 9, 0, 3,248,244,255,156, 65, 16, 0, 67, 59, /* 0x0170 */ 9, 0, 3,248, 8, 0, 4,232, 0, 0,160, 43, 8, 0, 3,248, -/* 0x0180 */ 17, 0, 4,232, 17, 0, 3,248,236,255,158, 64, 8, 0, 99, 58, -/* 0x0190 */ 80,152, 90,126,100, 0, 21,128, 8, 0, 36, 58, 8, 0, 3,148, -/* 0x01a0 */ 4, 0,195, 57,255, 15,160, 56,120,115,196,125,104, 0,117, 56, -/* 0x01b0 */ 121, 1, 0, 72,252,255,174, 56, 0, 0, 35, 44, 12, 0,129, 65, -/* 0x01c0 */ 100, 0,181, 56, 12, 0, 96, 56, 4, 0, 99, 56, 20, 26,133,124, -/* 0x01d0 */ 166, 3,105,124,120,139, 35,126, 0, 0,160, 56,255,255,163,156, +/* 0x0180 */ 17, 0, 4,232, 17, 0, 3,248,236,255,158, 64, 8, 0,163, 58, +/* 0x0190 */ 80,168,154,126,100, 0, 22,128, 8, 0,100, 58, 8, 0, 3,148, +/* 0x01a0 */ 4, 0, 67, 58,255, 15,160, 56,120,147, 68,126,104, 0,118, 56, +/* 0x01b0 */ 149, 1, 0, 72,252,255,178, 56, 0, 0, 35, 44, 12, 0,129, 65, +/* 0x01c0 */ 100, 0,182, 56, 12, 0, 96, 56, 4, 0, 99, 56, 20, 26,133,124, +/* 0x01d0 */ 166, 3,105,124,120,155, 99,126, 0, 0,160, 56,255,255,163,156, /* 0x01e0 */ 255,255, 4,140,255,255, 3,156,248,255, 0, 66,240,255,122,248, /* 0x01f0 */ 36, 7, 99,120,120, 34, 32,124,120, 26, 0,124, 32, 7, 0,120, -/* 0x0200 */ 80, 24, 96,124,120,155,100,126, 80, 24, 82,127,249,255, 4,232, +/* 0x0200 */ 80, 24, 96,124,120,171,164,126, 80, 24, 84,127,249,255, 4,232, /* 0x0210 */ 64, 8,164,127,249,255, 3,248,244,255,253, 65,120, 27, 97,124, -/* 0x0220 */ 104, 1, 33, 57, 0, 0,169,251,145,247, 33,248,248,255,159,128, -/* 0x0230 */ 20,218,125,124, 80, 32,155,124,112, 0,161, 56,120,211, 70,127, -/* 0x0240 */ 120,251,231,127,120,171,168,126,120,243,202,127, 13, 7, 0, 72, -/* 0x0250 */ 8, 0,128,124,112, 8, 33, 56,120, 27,127,124, 0, 0, 0, 57, -/* 0x0260 */ 120,163,135,126, 2, 0,192, 56, 1, 0,160, 56,208, 0,158,124, -/* 0x0270 */ 0, 0, 96, 56,237, 0, 0, 72,120,163,131,126,189, 0, 0, 72, -/* 0x0280 */ 120,211, 67,127, 0, 0, 3,232, 8, 0,131,232, 16, 0, 99, 56, -/* 0x0290 */ 0, 0,160, 43,240,255,254, 64,166, 3,137,124,120,235,163,127, -/* 0x02a0 */ 120,227,132,127, 91, 0, 0, 56,166, 3,232,127,144, 0,161,232, -/* 0x02b0 */ 152, 0,193,232,160, 0,225,232,168, 0, 1,233,176, 0, 33,233, -/* 0x02c0 */ 184, 0, 65,233,192, 0, 97,233,200, 0,129,233,208, 0,161,233, -/* 0x02d0 */ 216, 0,193,233,224, 0,225,233,232, 0, 1,234,240, 0, 33,234, -/* 0x02e0 */ 248, 0, 65,234, 0, 1, 97,234, 8, 1,129,234, 16, 1,161,234, -/* 0x02f0 */ 24, 1,193,234, 32, 1,225,234, 40, 1, 1,235, 48, 1, 33,235, -/* 0x0300 */ 56, 1, 65,235, 64, 1, 97,235, 72, 1,129,235, 80, 1,161,235, -/* 0x0310 */ 88, 1,193,235, 96, 1,225,235,112, 1, 33, 56, 32, 4,128, 78, -/* 0x0320 */ 1, 0, 0, 56, 8, 0, 0, 72, 85, 0, 0, 56, 8, 0, 0, 72, -/* 0x0330 */ 45, 0, 0, 56, 8, 0, 0, 72, 6, 0, 0, 56, 8, 0, 0, 72, -/* 0x0340 */ 5, 0, 0, 56, 8, 0, 0, 72, 91, 0, 0, 56, 8, 0, 0, 72, -/* 0x0350 */ 125, 0, 0, 56, 8, 0, 0, 72, 3, 0, 0, 56, 8, 0, 0, 72, -/* 0x0360 */ 90, 0, 0, 56, 2, 0, 0, 68, 8, 0,227, 64,255,255, 96, 56, -/* 0x0370 */ 32, 0,128, 78, 0, 0, 35, 44, 32, 0,130, 77, 0, 0, 36, 47, -/* 0x0380 */ 0, 0, 67,233, 64, 32,170,127, 16, 0,158, 64, 0, 0,131,248, -/* 0x0390 */ 8, 0,163,248, 32, 0,128, 78, 1, 0,170, 43, 8, 0,158, 64, -/* 0x03a0 */ 236,255,154, 64, 16, 0, 99, 56,216,255,255, 75, 0, 0, 0, 0, -/* 0x03b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,233, 8, 0, 3,233, -/* 0x03c0 */ 1, 0,229, 56, 0, 0, 32, 57,166, 3,233,124, 64, 40,170,127, -/* 0x03d0 */ 28, 0,252, 64,166, 2, 8,124,127, 0, 96, 56, 16, 0, 1,248, -/* 0x03e0 */ 145,255, 33,248, 61,255,255, 75, 0, 0, 0, 96, 20, 0, 64, 66, -/* 0x03f0 */ 174, 72, 72,125,174, 73, 68,125, 1, 0, 41, 57,240,255,255, 75, -/* 0x0400 */ 8, 0, 67,233, 20, 74, 74,125, 8, 0, 67,249, 0, 0, 67,233, -/* 0x0410 */ 80, 80, 41,125, 0, 0, 35,249, 32, 0,128, 78, 0, 0, 0, 0, -/* 0x0420 */ 0, 0, 0, 1,128, 0, 0, 0, 38, 0,128,125,166, 2, 8,124, -/* 0x0430 */ 8, 0,129,145,193, 6, 0, 72, 81,255, 33,248,120, 27,126,124, -/* 0x0440 */ 120, 35,159,124,120, 43,189,124,120, 51,220,124, 0, 0, 38, 46, -/* 0x0450 */ 0, 0, 63,233, 0, 0,169, 47, 84, 1,158, 65,120,243,195,127, -/* 0x0460 */ 112, 0,129, 56, 12, 0,160, 56, 81,255,255, 75,112, 0, 65,129, -/* 0x0470 */ 116, 0, 33,129, 0, 0,170, 47, 32, 0,158, 64, 88, 33, 37,109, -/* 0x0480 */ 85, 80,133, 47, 28, 0,158, 64, 0, 0, 62,233, 0, 0,169, 47, -/* 0x0490 */ 28, 1,254, 65, 12, 0, 0, 72, 33, 0, 41,121, 16, 0,226, 64, -/* 0x04a0 */ 127, 0, 96, 56,125,254,255, 75, 0, 0, 0, 96, 64, 80, 9,127, -/* 0x04b0 */ 240,255,217, 65, 0, 0, 31,233, 64, 64,170,127,228,255,221, 65, -/* 0x04c0 */ 8, 0,191,232,184, 0,152, 64,120, 75, 36,125, 0, 0, 61,233, -/* 0x04d0 */ 8, 0,126,232,128, 0,193, 56,128, 0, 65,249, 40, 0, 65,248, -/* 0x04e0 */ 120, 0,225,136, 16, 0,125,233,166, 3, 41,125, 8, 0, 93,232, -/* 0x04f0 */ 33, 4,128, 78, 40, 0, 65,232, 0, 0,163, 47,164,255,222, 64, -/* 0x0500 */ 128, 0,129,232,112, 0, 33,129, 64, 72,164,127,148,255,222, 64, -/* 0x0510 */ 121, 0,193,136, 0, 0,166, 47, 68, 0,158, 65, 64, 0,146, 65, -/* 0x0520 */ 0, 2,164, 43, 16, 0,157, 65, 0, 0, 63,233, 0, 32,169,127, -/* 0x0530 */ 44, 0,158, 64, 8, 0,127,232,122, 0,161,136, 32, 0,132,120, -/* 0x0540 */ 40, 0, 65,248, 0, 0, 60,233, 16, 0,124,233,166, 3, 41,125, -/* 0x0550 */ 8, 0, 92,232, 33, 4,128, 78, 40, 0, 65,232,116, 0, 1,129, -/* 0x0560 */ 8, 0, 94,233, 0, 0, 62,233, 20, 66, 74,125, 80, 72, 40,125, -/* 0x0570 */ 8, 0, 94,249, 0, 0, 62,249, 20, 0, 0, 72,120, 43,164,124, -/* 0x0580 */ 120,243,195,127,120, 75, 37,125, 49,254,255, 75,112, 0, 1,129, -/* 0x0590 */ 8, 0, 95,233, 0, 0, 63,233, 20, 66, 74,125, 80, 72, 40,125, -/* 0x05a0 */ 8, 0, 95,249, 0, 0, 63,249,168,254,255, 75,176, 0, 33, 56, -/* 0x05b0 */ 8, 0,129,129, 32,129,144,125,140, 5, 0, 72, 0, 0, 0, 0, -/* 0x05c0 */ 0, 0, 0, 3,128, 4, 0, 0, 38, 0,128,125,166, 2, 8,124, -/* 0x05d0 */ 8, 0,129,145,233, 4, 0, 72,225,254, 33,248,120, 83, 90,125, -/* 0x05e0 */ 16, 0, 67,161,120, 75, 50,125, 32, 0, 35,233,120, 51,216,124, -/* 0x05f0 */ 120, 27,125,124,120, 35,147,124, 3, 0,138, 47, 96, 1,161,248, -/* 0x0600 */ 120, 59,240,124,120, 67, 15,125, 20, 74, 35,126, 16, 0,192, 56, -/* 0x0610 */ 8, 0,158, 64, 0, 0,192, 56, 56, 0, 93,161, 34, 0,198, 56, -/* 0x0620 */ 120,139, 40,126, 0, 0,128, 56,255,255,224, 59, 1, 0, 74, 57, -/* 0x0630 */ 166, 3, 73,125, 60, 0, 64, 66, 0, 0, 72,129, 1, 0,138, 47, -/* 0x0640 */ 40, 0,158, 64, 16, 0,232,232, 64, 56,191,127, 8, 0,157, 64, -/* 0x0650 */ 120, 59,255,124, 40, 0, 72,233, 20, 82, 71,125, 64, 80,164,127, -/* 0x0660 */ 8, 0,156, 64,120, 83, 68,125, 56, 0, 8, 57,200,255,255, 75, -/* 0x0670 */ 248,208, 85,127, 56,208,255,127, 20, 34,149,124,120,251,227,127, -/* 0x0680 */ 80, 32,159,124, 0, 0,160, 56, 56,208,132,124,180, 7,198,124, -/* 0x0690 */ 255,255,224, 56, 0, 0, 0, 57,201,252,255, 75, 0, 0, 0, 96, -/* 0x06a0 */ 248,208, 90,127, 1, 0,224, 62,136, 0, 65,147,228,131,247,122, -/* 0x06b0 */ 80, 24,255,127,128, 78,192, 61,100, 54,233,123,128, 0, 33,249, -/* 0x06c0 */ 0, 0, 32, 59, 0, 0, 51, 46, 1, 0,247, 98, 32, 0,206, 97, -/* 0x06d0 */ 56, 0, 93,161, 0,200,138,127, 52, 2,157, 64, 0, 0, 81,129, -/* 0x06e0 */ 36, 0,146, 65, 6, 0,138, 47, 28, 0,158, 64, 16, 0,177,232, -/* 0x06f0 */ 120,195, 3,127, 3, 0,128, 56, 20, 42,191,124,121,252,255, 75, -/* 0x0700 */ 252, 1, 0, 72, 1, 0,138, 47,244, 1,158, 64, 76, 0,146, 65, -/* 0x0710 */ 8, 0, 81,233, 0, 0,170, 47, 64, 0,158, 64, 32, 0, 93,233, -/* 0x0720 */ 16, 0,177,232,120,195, 3,127, 3, 0,128, 56, 20, 82, 95,125, -/* 0x0730 */ 20, 42,170,124, 65,252,255, 75, 56, 0,189,160,120,195, 3,127, -/* 0x0740 */ 5, 0,128, 56, 49,252,255, 75, 54, 0,189,160,120,195, 3,127, -/* 0x0750 */ 4, 0,128, 56, 33,252,255, 75, 4, 0,113,131, 16, 0,209,235, -/* 0x0760 */ 81,115, 32, 61, 64, 98, 41, 97, 32, 0,145,235, 40, 0,209,234, -/* 0x0770 */ 250, 22,123, 87, 20,242,223,127,112, 0,129,251, 48,220, 59,125, -/* 0x0780 */ 56,168,202,127,120, 0,193,251, 20,178,222,126, 20,226,138,127, -/* 0x0790 */ 80,240,202,127,126, 7,116, 87, 12, 0,146, 64, 0, 0,160, 56, -/* 0x07a0 */ 8, 0, 0, 72, 2, 0,160, 56,120,163,165,124,180, 7,165,124, -/* 0x07b0 */ 16, 0,146, 65, 50, 0,192, 56,255,255,224, 56, 12, 0, 0, 72, -/* 0x07c0 */ 96, 1,225,232, 18, 0,192, 56, 8, 0, 17,233,120,243,195,127, -/* 0x07d0 */ 120,227,132,127, 80, 64, 10,125,137,251,255, 75, 0, 0, 0, 96, -/* 0x07e0 */ 0, 24,190,127, 16, 0,254, 65,127, 0, 96, 56, 53,251,255, 75, -/* 0x07f0 */ 0, 0, 0, 96, 24, 0,146, 65,120,155, 99,126,112, 0,129, 56, -/* 0x0800 */ 120,131, 5,126,120,123,230,125, 33,252,255, 75,208, 0, 92,125, -/* 0x0810 */ 227,255,105,123, 56,168, 90,125, 12, 0,130, 64, 48, 0,146, 64, -/* 0x0820 */ 164, 0, 0, 72, 0, 0,186, 47,244,255,158, 65,166, 3, 73,127, -/* 0x0830 */ 20,226,254,124, 0, 0, 0, 57, 0, 0, 32, 57,174, 65, 39,125, -/* 0x0840 */ 1, 0, 8, 57,244,255, 0, 66,212,255,255, 75, 0, 0, 17,233, -/* 0x0850 */ 192, 7, 8,121, 0,184,168,127, 80, 0,158, 64, 40, 0,177,232, -/* 0x0860 */ 32, 0, 17,233, 16, 0,241,232, 0, 64,165,127,196, 0,158, 64, -/* 0x0870 */ 20, 58,165,124,136, 0, 33,129, 20,250,165,124,208, 0, 5,125, -/* 0x0880 */ 56, 72, 8,125, 7, 0,136, 43,168, 0,157, 64, 0, 68, 32, 61, -/* 0x0890 */ 4, 0,197,145,120,195, 3,127, 2, 0, 41, 97, 0, 0,128, 56, -/* 0x08a0 */ 0, 0, 37,145,209,250,255, 75,120,243,195,127,120,227,132,127, -/* 0x08b0 */ 180, 7,133,126,157,250,255, 75, 0, 0, 0, 96, 0, 0,163, 47, -/* 0x08c0 */ 40,255,222, 64, 20,226,154,127, 20,226,222,127, 64,176,190,127, -/* 0x08d0 */ 44, 0,156, 64,120,243,195,127, 80,176,158,124,180, 7,133,126, -/* 0x08e0 */ 50, 0,192, 56,255,255,224, 56, 0, 0, 0, 57,117,250,255, 75, -/* 0x08f0 */ 0, 0, 0, 96, 0, 24,190,127,240,254,222, 64, 1, 0, 57, 59, -/* 0x0900 */ 56, 0, 49, 58,180, 7, 57,127,200,253,255, 75, 0, 0,178, 47, -/* 0x0910 */ 8, 0,158, 65, 0, 0,242,251, 32, 1, 33, 56, 24, 0,125,232, -/* 0x0920 */ 20, 26,127,124, 8, 0,129,129, 32,129,144,125,224, 1, 0, 72, -/* 0x0930 */ 128, 0, 33,233, 8, 0, 17,233, 20, 74,167,124, 0, 0,168, 47, -/* 0x0940 */ 8, 0,165, 56, 72,255,158, 65, 96,255,255, 75, 0, 0, 0, 0, -/* 0x0950 */ 0, 0, 0, 3,128, 18, 0, 0,166, 2, 8,124,137, 1, 0, 72, -/* 0x0960 */ 17,255, 33,248,120, 43,191,124,120, 51,218,124,120, 75, 60,125, -/* 0x0970 */ 0, 0, 35,129, 0, 0,192, 56,120, 83, 88,125,152, 0,161,248, -/* 0x0980 */ 144, 0, 33,249,120, 59,229,124, 64, 0,191, 59,120, 0, 97,248, -/* 0x0990 */ 112, 0,129,248, 0, 0,192, 59,136, 0, 97,248,128, 0,129,248, -/* 0x09a0 */ 160, 0,225,248,168, 0, 1,249,112, 0, 97, 56,144, 0,129, 56, -/* 0x09b0 */ 121,250,255, 75,160, 0,225,232,168, 0, 1,233,128, 0,129, 56, -/* 0x09c0 */ 0, 0,160, 56,120,211, 70,127,120,227,137,127,120,195, 10,127, -/* 0x09d0 */ 120,251,227,127,245,251,255, 75, 9, 0,128, 56,120, 27,123,124, -/* 0x09e0 */ 120,211, 67,127,120,219,101,127,141,249,255, 75, 56, 0, 63,161, -/* 0x09f0 */ 64,240,137,127,176, 0,157, 64, 0, 0, 61,129, 3, 0,137, 47, -/* 0x0a00 */ 148, 0,158, 64, 16, 0,125,232, 0, 0, 60,233, 0, 0,128, 56, -/* 0x0a10 */ 0, 0,160, 56, 20, 74, 99,124, 41,249,255, 75, 0, 0, 0, 96, -/* 0x0a20 */ 0, 0,131, 47,120, 27,121,124, 16, 0,252, 64,127, 0, 96, 56, -/* 0x0a30 */ 241,248,255, 75, 0, 0, 0, 96,120,251,228,127, 0, 4,160, 56, -/* 0x0a40 */ 25,249,255, 75, 0, 0, 0, 96, 0, 4,163, 47,224,255,222, 64, -/* 0x0a50 */ 0, 0,128, 56,120,203, 37,127, 0, 0,192, 56, 0, 0,224, 56, -/* 0x0a60 */ 0, 0, 0, 57,120,227,137,127,120,195, 10,127,120,251,227,127, -/* 0x0a70 */ 89,251,255, 75, 0, 0,188,232, 7, 0,128, 56,120, 27,123,124, -/* 0x0a80 */ 120,211, 67,127,241,248,255, 75,120,203, 35,127,173,248,255, 75, -/* 0x0a90 */ 0, 0, 0, 96, 1, 0,222, 59, 56, 0,189, 59, 32, 0,222,123, -/* 0x0aa0 */ 76,255,255, 75,240, 0, 33, 56,120,219, 99,127,136, 0, 0, 72, -/* 0x0ab0 */ 0, 0, 0, 0, 0, 0, 0, 1,128, 8, 0, 0,112,255,193,249, -/* 0x0ac0 */ 120,255,225,249,128,255, 1,250,136,255, 33,250,144,255, 65,250, -/* 0x0ad0 */ 152,255, 97,250,160,255,129,250,168,255,161,250,176,255,193,250, -/* 0x0ae0 */ 184,255,225,250,192,255, 1,251,200,255, 33,251,208,255, 65,251, -/* 0x0af0 */ 216,255, 97,251,224,255,129,251,232,255,161,251,240,255,193,251, -/* 0x0b00 */ 248,255,225,251, 16, 0, 1,248, 32, 0,128, 78,112,255,193,233, -/* 0x0b10 */ 120,255,225,233,128,255, 1,234,136,255, 33,234,144,255, 65,234, -/* 0x0b20 */ 152,255, 97,234,160,255,129,234,168,255,161,234,176,255,193,234, -/* 0x0b30 */ 184,255,225,234,192,255, 1,235,200,255, 33,235,208,255, 65,235, -/* 0x0b40 */ 216,255, 97,235,224,255,129,235, 16, 0, 1,232,232,255,161,235, -/* 0x0b50 */ 166, 3, 8,124,240,255,193,235,248,255,225,235, 32, 0,128, 78, -/* 0x0b60 */ 116, 3, 16, 0, 0, 0, 0, 0, 96,139, 16, 0, 0, 0, 0, 0, -/* 0x0b70 */ 184, 3, 16, 0, 0, 0, 0, 0, 96,139, 16, 0, 0, 0, 0, 0, -/* 0x0b80 */ 40, 4, 16, 0, 0, 0, 0, 0, 96,139, 16, 0, 0, 0, 0, 0, -/* 0x0b90 */ 200, 5, 16, 0, 0, 0, 0, 0, 96,139, 16, 0, 0, 0, 0, 0, -/* 0x0ba0 */ 88, 9, 16, 0, 0, 0, 0, 0, 96,139, 16 +/* 0x0220 */ 104, 1, 33, 57, 0, 0, 41,251,145,247, 33,248,120,195, 3,127, +/* 0x0230 */ 120,187,228,126,112, 0,161, 56,120,211, 70,127,120,251,231,127, +/* 0x0240 */ 120,179,200,126,120,243,202,127, 65, 7, 0, 72, 8, 0,128,124, +/* 0x0250 */ 112, 8, 33, 56,120, 27,127,124, 0, 0, 0, 57,120,219,103,127, +/* 0x0260 */ 2, 0,192, 56, 1, 0,160, 56,208, 0,158,124, 0, 0, 96, 56, +/* 0x0270 */ 173, 0, 0, 72,120,219, 99,127,229, 0, 0, 72,120,211, 67,127, +/* 0x0280 */ 0, 0, 3,232, 8, 0,131,232, 16, 0, 99, 56, 0, 0,160, 43, +/* 0x0290 */ 240,255,254, 64,166, 3,137,124,120,235,163,127,120,227,132,127, +/* 0x02a0 */ 91, 0, 0, 56,166, 3,232,127,144, 0,161,232,152, 0,193,232, +/* 0x02b0 */ 160, 0,225,232,168, 0, 1,233,176, 0, 33,233,184, 0, 65,233, +/* 0x02c0 */ 192, 0, 97,233,200, 0,129,233,208, 0,161,233,216, 0,193,233, +/* 0x02d0 */ 224, 0,225,233,232, 0, 1,234,240, 0, 33,234,248, 0, 65,234, +/* 0x02e0 */ 0, 1, 97,234, 8, 1,129,234, 16, 1,161,234, 24, 1,193,234, +/* 0x02f0 */ 32, 1,225,234, 40, 1, 1,235, 48, 1, 33,235, 56, 1, 65,235, +/* 0x0300 */ 64, 1, 97,235, 72, 1,129,235, 80, 1,161,235, 88, 1,193,235, +/* 0x0310 */ 96, 1,225,235,112, 1, 33, 56, 32, 4,128, 78, 32, 0,231,120, +/* 0x0320 */ 90, 0, 0, 56, 2, 0, 0, 68, 8, 0,227, 64,255,255, 96, 56, +/* 0x0330 */ 32, 0,128, 78, 1, 0, 0, 56, 8, 0, 0, 72, 45, 0, 0, 56, +/* 0x0340 */ 8, 0, 0, 72, 85, 0, 0, 56, 8, 0, 0, 72, 3, 0, 0, 56, +/* 0x0350 */ 8, 0, 0, 72, 5, 0, 0, 56, 8, 0, 0, 72, 6, 0, 0, 56, +/* 0x0360 */ 8, 0, 0, 72,125, 0, 0, 56, 8, 0, 0, 72, 91, 0, 0, 56, +/* 0x0370 */ 180,255,255, 75, 8, 0,128,124, 32, 0,128, 78, 0, 0, 35, 44, +/* 0x0380 */ 32, 0,130, 77, 0, 0, 36, 47, 0, 0, 67,233, 64, 32,170,127, +/* 0x0390 */ 16, 0,158, 64, 0, 0,131,248, 8, 0,163,248, 32, 0,128, 78, +/* 0x03a0 */ 1, 0,170, 43, 8, 0,158, 64,236,255,154, 64, 16, 0, 99, 56, +/* 0x03b0 */ 216,255,255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x03c0 */ 0, 0, 67,233, 8, 0, 3,233, 1, 0,229, 56, 0, 0, 32, 57, +/* 0x03d0 */ 166, 3,233,124, 64, 40,170,127, 28, 0,252, 64,166, 2, 8,124, +/* 0x03e0 */ 127, 0, 96, 56, 16, 0, 1,248,145,255, 33,248, 73,255,255, 75, +/* 0x03f0 */ 0, 0, 0, 96, 20, 0, 64, 66,174, 72, 72,125,174, 73, 68,125, +/* 0x0400 */ 1, 0, 41, 57,240,255,255, 75, 8, 0, 67,233, 20, 74, 74,125, +/* 0x0410 */ 8, 0, 67,249, 0, 0, 67,233, 80, 80, 41,125, 0, 0, 35,249, +/* 0x0420 */ 32, 0,128, 78, 0, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0, +/* 0x0430 */ 38, 0,128,125,166, 2, 8,124, 8, 0,129,145,241, 6, 0, 72, +/* 0x0440 */ 81,255, 33,248,120, 27,126,124,120, 35,159,124,120, 43,189,124, +/* 0x0450 */ 120, 51,220,124, 0, 0, 38, 46, 0, 0, 63,233, 0, 0,169, 47, +/* 0x0460 */ 84, 1,158, 65,120,243,195,127,112, 0,129, 56, 12, 0,160, 56, +/* 0x0470 */ 81,255,255, 75,112, 0, 65,129,116, 0, 33,129, 0, 0,170, 47, +/* 0x0480 */ 32, 0,158, 64, 88, 33, 37,109, 85, 80,133, 47, 28, 0,158, 64, +/* 0x0490 */ 0, 0, 62,233, 0, 0,169, 47, 28, 1,254, 65, 12, 0, 0, 72, +/* 0x04a0 */ 33, 0, 41,121, 16, 0,226, 64,127, 0, 96, 56,137,254,255, 75, +/* 0x04b0 */ 0, 0, 0, 96, 64, 80, 9,127,240,255,217, 65, 0, 0, 31,233, +/* 0x04c0 */ 64, 64,170,127,228,255,221, 65, 8, 0,191,232,184, 0,152, 64, +/* 0x04d0 */ 120, 75, 36,125, 0, 0, 61,233, 8, 0,126,232,128, 0,193, 56, +/* 0x04e0 */ 128, 0, 65,249, 40, 0, 65,248,120, 0,225,136, 16, 0,125,233, +/* 0x04f0 */ 166, 3, 41,125, 8, 0, 93,232, 33, 4,128, 78, 40, 0, 65,232, +/* 0x0500 */ 0, 0,163, 47,164,255,222, 64,128, 0,129,232,112, 0, 33,129, +/* 0x0510 */ 64, 72,164,127,148,255,222, 64,121, 0,193,136, 0, 0,166, 47, +/* 0x0520 */ 68, 0,158, 65, 64, 0,146, 65, 0, 2,164, 43, 16, 0,157, 65, +/* 0x0530 */ 0, 0, 63,233, 0, 32,169,127, 44, 0,158, 64, 8, 0,127,232, +/* 0x0540 */ 122, 0,161,136, 32, 0,132,120, 40, 0, 65,248, 0, 0, 60,233, +/* 0x0550 */ 16, 0,124,233,166, 3, 41,125, 8, 0, 92,232, 33, 4,128, 78, +/* 0x0560 */ 40, 0, 65,232,116, 0, 1,129, 8, 0, 94,233, 0, 0, 62,233, +/* 0x0570 */ 20, 66, 74,125, 80, 72, 40,125, 8, 0, 94,249, 0, 0, 62,249, +/* 0x0580 */ 20, 0, 0, 72,120, 43,164,124,120,243,195,127,120, 75, 37,125, +/* 0x0590 */ 49,254,255, 75,112, 0, 1,129, 8, 0, 95,233, 0, 0, 63,233, +/* 0x05a0 */ 20, 66, 74,125, 80, 72, 40,125, 8, 0, 95,249, 0, 0, 63,249, +/* 0x05b0 */ 168,254,255, 75,176, 0, 33, 56, 8, 0,129,129, 32,129,144,125, +/* 0x05c0 */ 188, 5, 0, 72, 0, 0, 0, 0, 0, 0, 0, 3,128, 4, 0, 0, +/* 0x05d0 */ 38, 0,128,125,166, 2, 8,124, 8, 0,129,145, 25, 5, 0, 72, +/* 0x05e0 */ 225,254, 33,248,120, 67, 15,125, 16, 0, 3,161,120, 75, 50,125, +/* 0x05f0 */ 32, 0, 35,233,120, 83, 90,125,120, 27,125,124,120, 35,147,124, +/* 0x0600 */ 3, 0,136, 47, 96, 1,161,248,120, 51,216,124,120, 59,240,124, +/* 0x0610 */ 20, 74, 35,126, 16, 0, 64, 57, 8, 0,158, 64, 0, 0, 64, 57, +/* 0x0620 */ 56, 0, 29,161, 0, 0,114,232, 34, 0, 74, 57,120,139, 39,126, +/* 0x0630 */ 32, 0, 70,121, 0, 0,128, 56, 1, 0, 8, 57,255,255,224, 59, +/* 0x0640 */ 166, 3, 9,125, 60, 0, 64, 66, 0, 0, 7,129, 1, 0,136, 47, +/* 0x0650 */ 40, 0,158, 64, 16, 0,167,232, 64, 40,191,127, 8, 0,157, 64, +/* 0x0660 */ 120, 43,191,124, 40, 0, 7,233, 20, 66, 5,125, 64, 64,164,127, +/* 0x0670 */ 8, 0,156, 64,120, 67, 4,125, 56, 0,231, 56,200,255,255, 75, +/* 0x0680 */ 248,208, 85,127, 56,208,255,127, 20, 34,149,124,227,231, 73,121, +/* 0x0690 */ 80, 32,159,124, 56,208,132,124, 28, 0,130, 64, 0, 0,191, 47, +/* 0x06a0 */ 28, 0,158, 64, 0, 0,163, 47, 24, 0,158, 65, 50, 0,192, 56, +/* 0x06b0 */ 16, 0, 0, 72,120,251,227,127, 8, 0, 0, 72, 0, 0, 96, 56, +/* 0x06c0 */ 0, 0,160, 56,180, 7,198,124,255,255,224, 56, 0, 0, 0, 57, +/* 0x06d0 */ 77,252,255, 75, 0, 0, 0, 96,248,208, 90,127, 1, 0,224, 62, +/* 0x06e0 */ 136, 0, 65,147,228,131,247,122, 80, 24,255,127,128, 78,192, 61, +/* 0x06f0 */ 100, 54,233,123,128, 0, 33,249, 0, 0, 32, 59, 0, 0, 51, 46, +/* 0x0700 */ 1, 0,247, 98, 32, 0,206, 97, 56, 0, 93,161, 0,200,138,127, +/* 0x0710 */ 52, 2,157, 64, 0, 0, 81,129, 36, 0,146, 65, 6, 0,138, 47, +/* 0x0720 */ 28, 0,158, 64, 16, 0,177,232,120,195, 3,127, 3, 0,128, 56, +/* 0x0730 */ 20, 42,191,124, 73,252,255, 75,252, 1, 0, 72, 1, 0,138, 47, +/* 0x0740 */ 244, 1,158, 64, 76, 0,146, 65, 8, 0, 81,233, 0, 0,170, 47, +/* 0x0750 */ 64, 0,158, 64, 32, 0, 93,233, 16, 0,177,232,120,195, 3,127, +/* 0x0760 */ 3, 0,128, 56, 20, 82, 95,125, 20, 42,170,124, 17,252,255, 75, +/* 0x0770 */ 56, 0,189,160,120,195, 3,127, 5, 0,128, 56, 1,252,255, 75, +/* 0x0780 */ 54, 0,189,160,120,195, 3,127, 4, 0,128, 56,241,251,255, 75, +/* 0x0790 */ 4, 0,113,131, 16, 0,209,235, 81,115, 32, 61, 64, 98, 41, 97, +/* 0x07a0 */ 32, 0,145,235, 40, 0,209,234,250, 22,123, 87, 20,242,223,127, +/* 0x07b0 */ 112, 0,129,251, 48,220, 59,125, 56,168,202,127,120, 0,193,251, +/* 0x07c0 */ 20,178,222,126, 20,226,138,127, 80,240,202,127,126, 7,116, 87, +/* 0x07d0 */ 12, 0,146, 64, 0, 0,160, 56, 8, 0, 0, 72, 2, 0,160, 56, +/* 0x07e0 */ 120,163,165,124,180, 7,165,124, 16, 0,146, 64, 96, 1,225,232, +/* 0x07f0 */ 18, 0,192, 56, 12, 0, 0, 72, 50, 0,192, 56,255,255,224, 56, +/* 0x0800 */ 8, 0, 17,233,120,243,195,127,120,227,132,127, 80, 64, 10,125, +/* 0x0810 */ 13,251,255, 75, 0, 0, 0, 96, 0, 24,190,127, 16, 0,254, 65, +/* 0x0820 */ 127, 0, 96, 56, 17,251,255, 75, 0, 0, 0, 96, 24, 0,146, 65, +/* 0x0830 */ 120,155, 99,126,112, 0,129, 56,120,131, 5,126,120,123,230,125, +/* 0x0840 */ 241,251,255, 75,208, 0, 92,125,227,255,105,123, 56,168, 90,125, +/* 0x0850 */ 12, 0,130, 64, 48, 0,146, 64,164, 0, 0, 72, 0, 0,186, 47, +/* 0x0860 */ 244,255,158, 65,166, 3, 73,127, 20,226,254,124, 0, 0, 0, 57, +/* 0x0870 */ 0, 0, 32, 57,174, 65, 39,125, 1, 0, 8, 57,244,255, 0, 66, +/* 0x0880 */ 212,255,255, 75, 0, 0, 17,233,192, 7, 8,121, 0,184,168,127, +/* 0x0890 */ 80, 0,158, 64, 40, 0,177,232, 32, 0, 17,233, 16, 0,241,232, +/* 0x08a0 */ 0, 64,165,127,188, 0,158, 64, 20, 58,165,124,136, 0, 33,129, +/* 0x08b0 */ 20,250,165,124,208, 0, 5,125, 56, 72, 8,125, 7, 0,136, 43, +/* 0x08c0 */ 160, 0,157, 64, 0, 68, 32, 61, 4, 0,197,145,120,195, 3,127, +/* 0x08d0 */ 2, 0, 41, 97, 0, 0,128, 56, 0, 0, 37,145,161,250,255, 75, +/* 0x08e0 */ 120,243,195,127,120,227,132,127,180, 7,133,126,121,250,255, 75, +/* 0x08f0 */ 0, 0, 0, 96, 0, 0,163, 47, 40,255,222, 64, 20,226,154,127, +/* 0x0900 */ 20,226,222,127, 64,176,190,127, 44, 0,156, 64,120,243,195,127, +/* 0x0910 */ 80,176,158,124,180, 7,133,126, 50, 0,192, 56,255,255,224, 56, +/* 0x0920 */ 0, 0, 0, 57,249,249,255, 75, 0, 0, 0, 96, 0, 24,190,127, +/* 0x0930 */ 240,254,222, 64, 1, 0, 57, 59, 56, 0, 49, 58,180, 7, 57,127, +/* 0x0940 */ 200,253,255, 75, 0, 0,242,251, 32, 1, 33, 56, 8, 0,129,129, +/* 0x0950 */ 32,129,144,125, 24, 0,125,232, 20, 26,127,124,232, 1, 0, 72, +/* 0x0960 */ 128, 0, 33,233, 8, 0, 17,233, 20, 74,167,124, 0, 0,168, 47, +/* 0x0970 */ 8, 0,165, 56, 80,255,158, 65,104,255,255, 75, 0, 0, 0, 0, +/* 0x0980 */ 0, 0, 0, 3,128, 18, 0, 0,166, 2, 8,124,145, 1, 0, 72, +/* 0x0990 */ 17,255, 33,248,120, 43,191,124,120, 51,218,124,120, 75, 61,125, +/* 0x09a0 */ 0, 0, 35,129, 0, 0,192, 56,120, 83, 88,125,152, 0,161,248, +/* 0x09b0 */ 144, 0, 33,249,120, 59,229,124, 64, 0,159, 59,120, 0, 97,248, +/* 0x09c0 */ 112, 0,129,248, 0, 0,192, 59,136, 0, 97,248,128, 0,129,248, +/* 0x09d0 */ 160, 0,225,248,168, 0, 1,249,112, 0, 97, 56,144, 0,129, 56, +/* 0x09e0 */ 81,250,255, 75,160, 0,225,232,168, 0, 1,233,128, 0,129, 56, +/* 0x09f0 */ 0, 0,160, 56,120,211, 70,127,120,235,169,127,120,195, 10,127, +/* 0x0a00 */ 120,251,227,127,205,251,255, 75, 9, 0,128, 56,120, 27,123,124, +/* 0x0a10 */ 120,211, 67,127,120,219,101,127,101,249,255, 75, 56, 0, 63,161, +/* 0x0a20 */ 64,240,137,127,184, 0,157, 64, 0, 0, 60,129, 3, 0,137, 47, +/* 0x0a30 */ 156, 0,158, 64, 16, 0,124,232, 0, 0, 61,233, 0, 0,128, 56, +/* 0x0a40 */ 0, 0,160, 56, 20, 74, 99,124, 13,249,255, 75, 0, 0, 0, 96, +/* 0x0a50 */ 0, 0,131, 47,120, 27,121,124, 16, 0,252, 64,127, 0, 96, 56, +/* 0x0a60 */ 213,248,255, 75, 0, 0, 0, 96,120,251,228,127, 0, 4,160, 56, +/* 0x0a70 */ 221,248,255, 75, 0, 0, 0, 96, 0, 4,163, 47,224,255,222, 64, +/* 0x0a80 */ 0, 0, 32, 57, 0, 0,128, 56, 0, 0, 61,249,120,203, 37,127, +/* 0x0a90 */ 0, 0,192, 56, 0, 0,224, 56, 0, 0, 0, 57,120,235,169,127, +/* 0x0aa0 */ 120,195, 10,127,120,251,227,127, 41,251,255, 75, 0, 0,189,232, +/* 0x0ab0 */ 7, 0,128, 56,120, 27,123,124,120,211, 67,127,193,248,255, 75, +/* 0x0ac0 */ 120,203, 35,127,153,248,255, 75, 0, 0, 0, 96, 1, 0,222, 59, +/* 0x0ad0 */ 56, 0,156, 59, 32, 0,222,123, 68,255,255, 75,240, 0, 33, 56, +/* 0x0ae0 */ 120,219, 99,127,136, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1, +/* 0x0af0 */ 128, 8, 0, 0,112,255,193,249,120,255,225,249,128,255, 1,250, +/* 0x0b00 */ 136,255, 33,250,144,255, 65,250,152,255, 97,250,160,255,129,250, +/* 0x0b10 */ 168,255,161,250,176,255,193,250,184,255,225,250,192,255, 1,251, +/* 0x0b20 */ 200,255, 33,251,208,255, 65,251,216,255, 97,251,224,255,129,251, +/* 0x0b30 */ 232,255,161,251,240,255,193,251,248,255,225,251, 16, 0, 1,248, +/* 0x0b40 */ 32, 0,128, 78,112,255,193,233,120,255,225,233,128,255, 1,234, +/* 0x0b50 */ 136,255, 33,234,144,255, 65,234,152,255, 97,234,160,255,129,234, +/* 0x0b60 */ 168,255,161,234,176,255,193,234,184,255,225,234,192,255, 1,235, +/* 0x0b70 */ 200,255, 33,235,208,255, 65,235,216,255, 97,235,224,255,129,235, +/* 0x0b80 */ 16, 0, 1,232,232,255,161,235,166, 3, 8,124,240,255,193,235, +/* 0x0b90 */ 248,255,225,235, 32, 0,128, 78,124, 3, 16, 0, 0, 0, 0, 0, +/* 0x0ba0 */ 152,139, 16, 0, 0, 0, 0, 0,192, 3, 16, 0, 0, 0, 0, 0, +/* 0x0bb0 */ 152,139, 16, 0, 0, 0, 0, 0, 48, 4, 16, 0, 0, 0, 0, 0, +/* 0x0bc0 */ 152,139, 16, 0, 0, 0, 0, 0,208, 5, 16, 0, 0, 0, 0, 0, +/* 0x0bd0 */ 152,139, 16, 0, 0, 0, 0, 0,136, 9, 16, 0, 0, 0, 0, 0, +/* 0x0be0 */ 152,139, 16 }; diff --git a/src/stub/src/amd64-linux.elf-fold.S b/src/stub/src/amd64-linux.elf-fold.S index 71ff62b7..4af53cd7 100644 --- a/src/stub/src/amd64-linux.elf-fold.S +++ b/src/stub/src/amd64-linux.elf-fold.S @@ -138,9 +138,9 @@ L90: pop %rax # elfaddr subq $ OVERHEAD,%rsp - push %rax #elfaddr - movq %rsp,%arg3 # &ELf64_Ehdr temporary space + push %rax # elfaddr 7th arg + movq %rbp,%arg5 # &decompress: f_expand call upx_main # Out: %rax= entry /* entry= upx_main(b_info *arg1, total_size arg2, Elf64_Ehdr *arg3, diff --git a/src/stub/src/amd64-linux.elf-main.c b/src/stub/src/amd64-linux.elf-main.c index 3a496d14..2ed22f57 100644 --- a/src/stub/src/amd64-linux.elf-main.c +++ b/src/stub/src/amd64-linux.elf-main.c @@ -281,31 +281,39 @@ auxv_up(Elf64_auxv_t *av, unsigned const type, uint64_t const value) // won't place the first piece in a way that leaves no room for the rest. static Elf64_Addr // returns relocation constant xfind_pages(unsigned mflags, Elf64_Phdr const *phdr, int phnum, - char **const p_brk + Elf64_Addr *const p_brk + , Elf64_Addr const elfaddr #if defined(__powerpc64__) , size_t const PAGE_MASK #endif ) { - size_t lo= ~0, hi= 0, szlo= 0; - char *addr; + Elf64_Addr lo= ~0, hi= 0, addr= 0; mflags += MAP_PRIVATE | MAP_ANONYMOUS; // '+' can optimize better than '|' + DPRINTF("xfind_pages %%x %%p %%d %%p %%p\\n", mflags, phdr, phnum, elfaddr, p_brk); for (; --phnum>=0; ++phdr) if (PT_LOAD==phdr->p_type) { if (phdr->p_vaddr < lo) { lo = phdr->p_vaddr; - szlo = phdr->p_filesz; } if (hi < (phdr->p_memsz + phdr->p_vaddr)) { hi = phdr->p_memsz + phdr->p_vaddr; } } - szlo += ~PAGE_MASK & lo; // page fragment on lo edge - lo -= ~PAGE_MASK & lo; // round down to page boundary - hi = PAGE_MASK & (hi - lo - PAGE_MASK -1); // page length - szlo = PAGE_MASK & (szlo - PAGE_MASK -1); // page length - addr = mmap((void *)lo, hi, PROT_NONE, mflags, -1, 0); + lo -= ~PAGE_MASK & lo; // round down to page boundary + hi = PAGE_MASK & (hi - lo - PAGE_MASK -1); // page length + if (MAP_FIXED & mflags) { + addr = lo; + } + else if (0==lo) { // -pie ET_DYN + addr = elfaddr; + if (addr) { + mflags |= MAP_FIXED; + } + } + DPRINTF(" addr=%%p lo=%%p hi=%%p\\n", addr, lo, hi); + addr = (Elf64_Addr)mmap((void *)addr, hi, PROT_NONE, mflags, -1, 0); + DPRINTF(" addr=%%p\\n", addr); *p_brk = hi + addr; // the logical value of brk(0) - //mprotect(szlo + addr, hi - szlo, PROT_NONE); // no access, but keep the frames! return (Elf64_Addr)(addr - lo); } @@ -325,9 +333,10 @@ do_xmap( { Elf64_Phdr const *phdr = (Elf64_Phdr const *)(void const *)(ehdr->e_phoff + (char const *)ehdr); - char *v_brk; + Elf64_Addr v_brk; Elf64_Addr const reloc = xfind_pages( ((ET_DYN!=ehdr->e_type) ? MAP_FIXED : 0), phdr, ehdr->e_phnum, &v_brk + , *p_reloc #if defined(__powerpc64__) , PAGE_MASK #endif @@ -446,7 +455,8 @@ upx_main( // returns entry address #elif defined(__powerpc64__) //}{ Elf64_Addr const reloc = *p_reloc; #endif //} - DPRINTF("upx_main1 .e_entry=%%p *p_reloc=%%p\\n", ehdr->e_entry, *p_reloc); + DPRINTF("upx_main1 .e_entry=%%p p_reloc=%%p *p_reloc=%%p\\n", + ehdr->e_entry, p_reloc, *p_reloc); Elf64_Phdr *phdr = (Elf64_Phdr *)(1+ ehdr); unsigned const orig_e_type = ehdr->e_type; if (0 && ET_DYN==orig_e_type /*&& phdr->p_vaddr==0*/) { // -pie /*FIXME: and not pre-linked*/ @@ -484,6 +494,7 @@ ERR_LAB } // We expect PT_INTERP to be ET_DYN at 0. // Thus do_xmap will set *p_reloc = slide. + *p_reloc = 0; // kernel picks where PT_INTERP goes entry = do_xmap(ehdr, 0, fdi, 0, 0, 0, p_reloc #if defined(__powerpc64__) , PAGE_MASK diff --git a/src/stub/src/arch/powerpc/64le/ppc_regs.h b/src/stub/src/arch/powerpc/64le/ppc_regs.h index ecd40593..b116557e 100644 --- a/src/stub/src/arch/powerpc/64le/ppc_regs.h +++ b/src/stub/src/arch/powerpc/64le/ppc_regs.h @@ -37,6 +37,26 @@ /* Stack pointer */ #define sp 1 SZ_FRAME= 6*8 + 8*8 // (sp,cr,lr, xx,yy,zz) + spill area for a0-a7 +#if BIG_ENDIAN && (8 == 8) //{ +F_TOC= SZ_FRAME // where is the fake TOC +SZ_FRAME= SZ_FRAME + 2*2*8 // space for 2 [short] TOC entries +#endif //} + +// http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#REG +// r0 Volatile register used in function prologs +// r1 Stack frame pointer +// r2 TOC pointer +// r3 Volatile parameter and return value register +// r4-r10 Volatile registers used for function parameters +// r11 Volatile register used in calls by pointer and as an +// environment pointer for languages which require one +// r12 Volatile register used for exception handling and glink code +// r13 Reserved for use as system thread ID +// r14-r31 Nonvolatile registers used for local variables +// +// CR0-CR1 Volatile condition code register fields (CR0 '.' int; CR1 '.' floating) +// CR2-CR4 Nonvolatile condition code register fields +// CR5-CR7 Volatile condition code register fields /* Subroutine arguments; not saved by callee */ #define a0 3 @@ -49,7 +69,6 @@ SZ_FRAME= 6*8 + 8*8 // (sp,cr,lr, xx,yy,zz) + spill area for a0-a7 #define a7 10 /* Scratch (temporary) registers; not saved by callee */ -//#define t0 0 /* BEWARE: OVERLAPS r0 */ #define t1 11 #define t2 12 #define t3 13 diff --git a/src/stub/src/i386-linux.elf-main.c b/src/stub/src/i386-linux.elf-main.c index 1c3602c6..294bf0fc 100644 --- a/src/stub/src/i386-linux.elf-main.c +++ b/src/stub/src/i386-linux.elf-main.c @@ -580,7 +580,7 @@ __attribute__((regparm(3), stdcall)) #endif /*}*/ xfind_pages(unsigned mflags, Elf32_Phdr const *phdr, int phnum, Elf32_Addr *const p_brk - , Elf32_Addr elfaddr + , Elf32_Addr const elfaddr #if defined (__mips__) //{ , size_t const page_mask #endif //} diff --git a/src/stub/src/powerpc-linux.elf-entry.S b/src/stub/src/powerpc-linux.elf-entry.S index d7b2be28..878c47f5 100644 --- a/src/stub/src/powerpc-linux.elf-entry.S +++ b/src/stub/src/powerpc-linux.elf-entry.S @@ -203,6 +203,7 @@ unfold: // IN: r_exp, r_auxv, r_PMASK mr r_LENU,a1 call mmapRW0 mr r_ADRU,a0 + //Duplicate the input data. lwz r0,sz_cpr + LBINFO - LrFLD(r_FLD) // sz_cpr of fold sub a1,r_LENU,r_szuf // - sz_unc of fold @@ -220,7 +221,7 @@ unfold: // IN: r_exp, r_auxv, r_PMASK and r_ADRM,r_FLD,r_PMASK // base for PROT_EXEC sub r_LENM,r_LENM,r_ADRM // length for PROT_EXEC - // The new f_exp has PROT_WRITE, so use the old f_exp to decompress. +// The new f_exp has PROT_WRITE, so use the old f_exp to decompress. mtctr r_exp; add r_exp,r_exp,r_relo // use old f_exp; r_exp= new &f_exp lbz meth,b_method + LBINFO - LrFLD(r_FLD) stw r_szuf,SZ_FRAME+31*NBPW(sp) // lzma uses for EOF @@ -229,19 +230,24 @@ unfold: // IN: r_exp, r_auxv, r_PMASK lwz lsrc,sz_cpr + LBINFO - LrFLD(r_FLD) bctrl // decompress it - srwi r0,r_PMASK,9 - sth r0,2(r_FLD) // get_page_mask: li r3,PAGE_MASK>>9; 2: BIG_ENDIAN +// Generate code to compute PAGE_MASK. + lwz r0,0(r_FLD) // "li r3,PAGE_MASK>>9" + srwi a0,r_PMASK,9 + insrwi r0,a0,16,16 // replace the immediate constant + stw r0,0(r_FLD) // get_page_mask: li r3,PAGE_MASK>>9 +// PROT_EXEC li a2,PROT_EXEC|PROT_READ mr a1,r_LENM // length mr a0,r_ADRM // base li r0,__NR_mprotect; sc +// Use the unfolded code lwz r_LENX, sz_pack2 - f_exp(r_exp) add r_ADRX,r_elf,r_obinf // old compressed data add r_ADRX,r_ADRX,r_relo // new compressed data - addi r0,r_FLD,4*NBPW // jmp over get_page_mask() + addi r0,r_FLD,4*4 // jmp over get_page_mask() mtctr r0 bctr diff --git a/src/stub/src/powerpc-linux.elf-fold.S b/src/stub/src/powerpc-linux.elf-fold.S index f3772eff..f8660f3b 100644 --- a/src/stub/src/powerpc-linux.elf-fold.S +++ b/src/stub/src/powerpc-linux.elf-fold.S @@ -78,13 +78,13 @@ av_len= 20 cblk= 19 r_buf= 18 -fold_begin: get_page_mask: .globl get_page_mask li r3,0 -0x1000>>9 // modified by elf-entry.S slwi r3,r3,9 blr nop +fold_begin: call L90 L90b: #include "arch/powerpc/32/bxx.S" @@ -223,6 +223,8 @@ no_fail: exit: .globl exit li r0,SYS_exit; b 5f +brk: .globl brk + li r0,SYS_brk; 5: b 5f readlink: .globl readlink li r0,SYS_readlink; 5: b 5f write: .globl write @@ -236,9 +238,7 @@ close: .globl close mprotect: .globl mprotect li r0,SYS_mprotect; 5: b 5f munmap: .globl munmap - li r0,SYS_munmap; 5: b 5f -brk: .globl brk - li r0,SYS_brk; 5: b sysgo + li r0,SYS_munmap; 5: b sysgo my_bkpt: .globl my_bkpt teq r0,r0 diff --git a/src/stub/src/powerpc64le-darwin.dylib-entry.S b/src/stub/src/powerpc64le-darwin.dylib-entry.S index da3baffa..8e491da8 100644 --- a/src/stub/src/powerpc64le-darwin.dylib-entry.S +++ b/src/stub/src/powerpc64le-darwin.dylib-entry.S @@ -29,6 +29,7 @@ #ifndef BIG_ENDIAN //{ #define BIG_ENDIAN 1 /* Apple on PowerPC* is BIG_ENDIAN */ #endif //} +NBPW= 8 // Number of Bytes Per Word #include "arch/powerpc/64le/macros.S" #include "arch/powerpc/64le/ppc_regs.h" diff --git a/src/stub/src/powerpc64le-darwin.macho-entry.S b/src/stub/src/powerpc64le-darwin.macho-entry.S index ec35bd7a..09fde8a1 100644 --- a/src/stub/src/powerpc64le-darwin.macho-entry.S +++ b/src/stub/src/powerpc64le-darwin.macho-entry.S @@ -29,6 +29,7 @@ #ifndef BIG_ENDIAN //{ #define BIG_ENDIAN 1 /* Apple on PowerPC* is BIG_ENDIAN */ #endif //} +NBPW= 8 // Number of Bytes Per Word #include "arch/powerpc/64le/macros.S" #include "arch/powerpc/64le/ppc_regs.h" diff --git a/src/stub/src/powerpc64le-linux.elf-entry.S b/src/stub/src/powerpc64le-linux.elf-entry.S index 5417791e..fd5d1a4c 100644 --- a/src/stub/src/powerpc64le-linux.elf-entry.S +++ b/src/stub/src/powerpc64le-linux.elf-entry.S @@ -55,6 +55,8 @@ a_type= 0 a_val= NBPW sz_auxv= 2*NBPW +O_RDONLY= 0 + PROT_READ= 1 PROT_WRITE= 2 PROT_EXEC= 4 @@ -67,14 +69,15 @@ PAGE_SHIFT= 16 // 64KiB PAGE_SIZE PAGE_SIZE = -(~0<>9" + srdi a0,r_PMASK,9 + insrdi r0,a0,16,48 // replace the immediate constant + stw r0,0(r_FLD) // get_page_mask: li r3,PAGE_MASK>>9 + +// PROT_EXEC + li a2,PROT_EXEC|PROT_READ + mr a1,r_LENM // length + mr a0,r_ADRM // base li r0,__NR_mprotect; sc - mtctr r23 +// Use the unfolded code + lwz r_LENX, sz_pack2 - f_exp(r_exp) + add r_ADRX,r_elfa,r_obinf // old compressed data + add r_ADRX,r_ADRX,r_relo // new compressed data + + addi r0,r_FLD,4*4 // jmp over get_page_mask() + mtctr r0 bctr +mmapRW0: + li a5,0 // offset +mmapRW: + li a2,PROT_READ|PROT_WRITE +mmap: + li r0,__NR_mmap; sc; bns 0f; teq r0,r0; 0: + ret + zfind: ld r0,0(a0); addi a0,a0,NBPW cmpdi cr7,r0,0; bne+ cr7,zfind ret main: -//// teq r0,r0 // debugging +//// teq r0,r0 // debugging stdu r1,-(SZ_FRAME + 32*NBPW)(sp) // FR_00 allocate space (keeping 0 mod 16), save r1 // stmd r2,SZ_FRAME+(-1+ 2)*NBPW(sp) // save registers r2 thru r31 std 2,SZ_FRAME+(-1+ 2)*NBPW(sp) diff --git a/src/stub/src/powerpc64le-linux.elf-fold.S b/src/stub/src/powerpc64le-linux.elf-fold.S index 26c5736f..67920bb3 100644 --- a/src/stub/src/powerpc64le-linux.elf-fold.S +++ b/src/stub/src/powerpc64le-linux.elf-fold.S @@ -60,6 +60,22 @@ O_RDONLY= 0 OVERHEAD= 2048 +// http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#REG +// r0 Volatile register used in function prologs +// r1 Stack frame pointer +// r2 TOC pointer +// r3 Volatile parameter and return value register +// r4-r10 Volatile registers used for function parameters +// r11 Volatile register used in calls by pointer and as an +// environment pointer for languages which require one +// r12 Volatile register used for exception handling and glink code +// r13 Reserved for use as system thread ID +// r14-r31 Nonvolatile registers used for local variables +// +// CR0-CR1 Volatile condition code register fields (CR0 '.' int; CR1 '.' floating) +// CR2-CR4 Nonvolatile condition code register fields +// CR5-CR7 Volatile condition code register fields + // http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#STACK //SZ_LINK= 6*8 // (sp,cr,lr, tmp.xlc,tmp.ld,save.toc) //SZ_PSAV= 8*8 // for arg9, arg10, ...; and for spilling a0-a7 if necessary @@ -67,29 +83,28 @@ OVERHEAD= 2048 // It shall be doubleword aligned, and shall be at least 8 doublewords in length. //SZ_FRAME= SZ_LINK + SZ_PSAV // in ppc_regs.h -sz_pack2_f_exp= -4 -4 // 4 bytes and one Instruction before r_exp // In: -r_exp= 31 // f_exp == &decompress() +r_exp= 31 // f_exp == &decompress r_PMASK= 30 // PAGE_MASK r_ADRU= 29 // &base to unmap r_LENU= 28 // length to unmap -r_BINFO= 27 +r_fd= 27 // open fd of /proc/self/exe r_auxv= 26 -r_slide= 25 -//r_FLD= 24 -//r_ADRM= 23 -//r_LENM= 22 +r_elfa= 25 // original &Elf64_Ehdr of stub +r_ADRX= 24 // compressed input +r_LENX= 23 // total size +// Local: +r_unf= 22 // f_unf == &unfilter() +av_hi= 21 +av_len= 20 +cblk= 19 +r_buf= 18 -// r29= reserved for &our_Elf64_Ehdr - -// sp/ {SZ_FRAME},regsav(r1-31),&eof_src,argc,argv,0,env,0,auxv,0,chars - -r_unf= 21 // f_unf == &unfilter() -r_fd= 20 -av_hi= 19 -av_len= 18 -cblk= 17 -pag= 16 +get_page_mask: .globl get_page_mask + li r3,0 -0x1000>>9 // modified by elf-entry.S + sldi r3,r3,9 + blr + nop fold_begin: //// teq r0,r0 // debugging @@ -102,10 +117,6 @@ L_PFX= 4 // strlen(" =") .balign 4 L90: mflr r_unf // L90b = &ppcbxx: f_unfilter -// open /proc/self/exe - li a1,O_RDONLY - la a0,L_PFX+ L90a - L90b(r_unf) // "/proc/self/exe" - call open; movr r_fd,a0 // slide {<>,argc,argv,0,env,0,auxv} down with maximum room before strings la a1,-NBPW(sp) // src ready for ldu la sp,-(-NBPW & (-1+ NBPW + (L_PFX + PATH_MAX)))(sp) // FR_02 @@ -127,12 +138,12 @@ L90: lwz r0,L90a - L90b(r_unf) // " =" la cblk,NBPW(a1) // original &strings stwu r0,NBPW(a0) - la r14,L_PFX(a0) // buffer + la r_buf,L_PFX(a0) // buffer // readlink("/proc/self/exe", buffer, -1+ PATH_MAX) li a2,-1+ PATH_MAX - movr a1,r14 // buffer + movr a1,r_buf // buffer la a0,L_PFX+ L90a - L90b(r_unf) // "/proc/self/exe" - call readlink; la a2,-L_PFX(r14) // a0= len; a2= buffer + call readlink; la a2,-L_PFX(r_buf) // a0= len; a2= buffer cmpdi a0,0; bgt 0f // success la a2,L90a - L90b(r_unf) // " =/proc/self/exe" li a0,L90 - (NBPW+ L90a) // round_up(NBPW, strlen("/proc/self/exe")) @@ -163,35 +174,39 @@ L90: movr sp,a0 // FR_02 r_reloc= 32 - 1 # used slot in register save area - la a6,SZ_FRAME+r_reloc*NBPW(sp) // &reloc [adjacent to argc] - std r_ADRU,0(a6) // elfbase + la a6,SZ_FRAME + r_reloc*NBPW(sp) // &reloc [adjacent to argc] + std r_elfa,0(a6) // elfaddr stdu sp,-(SZ_FRAME+OVERHEAD)(sp) // FR_01 allocate this frame - lwz a1,sz_pack2_f_exp(r_exp) // sz_pack2 == #bytes which precede -2*NBPW(r_exp) + mr a0,r_ADRX // &b_info + mr a1,r_LENX // total_size + la a2,SZ_FRAME(sp) // &Elf64_Ehdr temporary space + mr a3,r_auxv // &Elf64_auxv_t + mr a4,r_exp // &decompress: f_expand + mr a5,r_unf // &f_unf +#if BIG_ENDIAN //{ annoying TOC + li r0,0 - add a0,r_ADRU,r_BINFO // &b_info - sub a1,a1,r_BINFO // total_size - la a2,SZ_FRAME(sp) // &Elf64_Ehdr temporary space - mr a3,r_auxv // &Elf64_auxv_t - mr a4,r_exp // &decompress: f_expand - mr a5,r_unf // &f_unf - mr a7,r_PMASK // page_mask -#if BIG_ENDIAN //{ setup indirection for entry to f_exp and f_unf - std a4,3*NBPW(sp); la a4,3*NBPW(sp) // use tmp.xlc - std a5,4*NBPW(sp); la a5,4*NBPW(sp) // use tmp.ld + std a4,F_TOC + 0 + 0*2*NBPW(sp) + la a4,F_TOC + 0 + 0*2*NBPW(sp) + std r0,F_TOC + NBPW + 0*2*NBPW(sp) + + std a5,F_TOC + 0 + 1*2*NBPW(sp) + la a5,F_TOC + 0 + 1*2*NBPW(sp) + std r0,F_TOC + NBPW + 1*2*NBPW(sp) #endif //} + mr a7,r_PMASK // PAGE_MASK call upx_main // Out: a0= entry -// entry= upx_main(b_info *a0, total_size a1, Elf_Ehdr *a2, Elf64_auxv_t *a3, -// f_exp a4, f_unf a5, p_reloc a6, page_mask a7) - teq r0,r0 -#if BIG_ENDIAN //{ - ld r0,SZ_FRAME+OVERHEAD +SZ_FRAME+r_reloc*NBPW(sp) // reloc for ET_DYN - ld r2,NBPW(r3); add r2,r2,r0 // toc - ld r3, 0(r3); add r3,r3,r0 // .func -#endif //} - +// entry= upx_main(b_info *a0, total_size a1, Elf64_Ehdr *a2, ELf32_auxv_t *a3, +// f_exp a4, f_unf a5, elfaddr &a6, page_mask a7) + teq r0,r0 la sp,SZ_FRAME+OVERHEAD(sp) // FR_01 deallocate this frame - mr r_exp,a0 // save &entry +#if BIG_ENDIAN //{ annoying TOC + ld r0, SZ_FRAME + r_reloc*NBPW(sp) // reloc for ET_DYN + ld r2,NBPW(r3); add r2,r2,r0 // toc + ld r3, 0(r3); add r3,r3,r0 // .func NOTE: r3 === a0 +#endif //} + mr r_exp,a0 // save &entry (.entry when BIG_ENDIAN) // first page of /proc/self/exe, to preserve it despite munmap(ADRU, LENU) li a5,0 // offset @@ -258,6 +273,7 @@ sz_auxv= 2*NBPW la sp,SZ_FRAME + 32 *NBPW(sp) // FR_00 deallocate outer frame bctr // goto escape hatch + SYS_exit= 1 SYS_fork= 2 SYS_read= 3 @@ -271,24 +287,9 @@ SYS_munmap= 91 SYS_mprotect= 125 SYS_readlink= 85 -exit: .globl exit - li 0,SYS_exit; 0: b 0f -readlink: .globl readlink - li 0,SYS_readlink; 0: b 0f -brk: .globl brk - li 0,SYS_brk; 0: b 0f -close: .globl close - li 0,SYS_close; 0: b 0f -open: .globl open - li 0,SYS_open; 0: b 0f -munmap: .globl munmap - li 0,SYS_munmap; 0: b 0f -mprotect: .globl mprotect - li 0,SYS_mprotect; 0: b 0f -read: .globl read - li 0,SYS_read; 0: b 0f mmap: .globl mmap - li 0,SYS_mmap; 0: + clrldi a4,a4,32 // truncate fd to 32 bits; kernel is picky? + li 0,SYS_mmap sysgo: sc bns+ no_fail // 'bns': branch if No Summary[Overflow] @@ -296,4 +297,27 @@ sysgo: no_fail: ret +exit: .globl exit + li r0,SYS_exit; b 5f +brk: .globl brk + li r0,SYS_brk; 5: b 5f +readlink: .globl readlink + li r0,SYS_readlink; 5: b 5f +//write: .globl write +// li r0,SYS_write; 5: b 5f +read: .globl read + li r0,SYS_read; 5: b 5f +open: .globl open + li r0,SYS_open; 5: b 5f +close: .globl close + li r0,SYS_close; 5: b 5f +mprotect: .globl mprotect + li r0,SYS_mprotect; 5: b 5f +munmap: .globl munmap + li r0,SYS_munmap; 5: b sysgo + +my_bkpt: .globl my_bkpt + teq r0,r0 + blr + /* vim:set ts=8 sw=8 et: */ diff --git a/src/stub/tmp/amd64-linux.elf-fold.map b/src/stub/tmp/amd64-linux.elf-fold.map index 68a8f20d..af9584a3 100644 --- a/src/stub/tmp/amd64-linux.elf-fold.map +++ b/src/stub/tmp/amd64-linux.elf-fold.map @@ -8,7 +8,7 @@ Linker script and memory map 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) -.text 0x00000000001000bc 0x740 +.text 0x00000000001000bc 0x768 *(.text) .text 0x00000000001000bc 0x18e tmp/amd64-linux.elf-fold.o 0x000000000010023a munmap @@ -21,20 +21,20 @@ Linker script and memory map 0x000000000010023e mprotect 0x0000000000100232 close *fill* 0x000000000010024a 0x2 00 - .text 0x000000000010024c 0x5ae tmp/amd64-linux.elf-main.o - 0x00000000001006b7 upx_main + .text 0x000000000010024c 0x5d5 tmp/amd64-linux.elf-main.o + 0x00000000001006e0 upx_main *(.data) - *fill* 0x00000000001007fa 0x2 00 - .data 0x00000000001007fc 0x0 tmp/amd64-linux.elf-fold.o - .data 0x00000000001007fc 0x0 tmp/amd64-linux.elf-main.o + *fill* 0x0000000000100821 0x3 00 + .data 0x0000000000100824 0x0 tmp/amd64-linux.elf-fold.o + .data 0x0000000000100824 0x0 tmp/amd64-linux.elf-main.o .data -.bss 0x00000000001007fc 0x0 - .bss 0x00000000001007fc 0x0 tmp/amd64-linux.elf-fold.o - .bss 0x00000000001007fc 0x0 tmp/amd64-linux.elf-main.o +.bss 0x0000000000100824 0x0 + .bss 0x0000000000100824 0x0 tmp/amd64-linux.elf-fold.o + .bss 0x0000000000100824 0x0 tmp/amd64-linux.elf-main.o -.rela.dyn 0x0000000000100800 0x0 +.rela.dyn 0x0000000000100828 0x0 .rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o LOAD tmp/amd64-linux.elf-fold.o LOAD tmp/amd64-linux.elf-main.o diff --git a/src/stub/tmp/powerpc-linux.elf-entry.bin.dump b/src/stub/tmp/powerpc-linux.elf-entry.bin.dump index 92e7e54e..2f15fa4d 100644 --- a/src/stub/tmp/powerpc-linux.elf-entry.bin.dump +++ b/src/stub/tmp/powerpc-linux.elf-entry.bin.dump @@ -14,7 +14,7 @@ Idx Name Size VMA LMA File off Algn Flags 9 NRV_TAIL 0000001c 00000000 00000000 00001788 2**0 CONTENTS, READONLY 10 CFLUSH 00000024 00000000 00000000 000017a4 2**0 CONTENTS, READONLY 11 ELFMAINY 00000012 00000000 00000000 000017c8 2**0 CONTENTS, RELOC, READONLY - 12 ELFMAINZ 0000017c 00000000 00000000 000017dc 2**2 CONTENTS, RELOC, READONLY + 12 ELFMAINZ 00000184 00000000 00000000 000017dc 2**2 CONTENTS, RELOC, READONLY SYMBOL TABLE: 00000000 l d LZMA_DEC30 00000000 LZMA_DEC30 00000000 l d NRV_TAIL 00000000 NRV_TAIL @@ -34,7 +34,7 @@ SYMBOL TABLE: RELOCATION RECORDS FOR [ELFMAINX]: OFFSET TYPE VALUE -00000000 R_PPC_REL24 ELFMAINZ+0x00000134 +00000000 R_PPC_REL24 ELFMAINZ+0x0000013c RELOCATION RECORDS FOR [NRV2E]: OFFSET TYPE VALUE @@ -58,4 +58,4 @@ OFFSET TYPE VALUE RELOCATION RECORDS FOR [ELFMAINZ]: OFFSET TYPE VALUE -00000178 R_PPC_ADDR32 O_BINFO +00000180 R_PPC_ADDR32 O_BINFO diff --git a/src/stub/tmp/powerpc-linux.elf-fold.map b/src/stub/tmp/powerpc-linux.elf-fold.map index 2186f0d0..4b62455f 100644 --- a/src/stub/tmp/powerpc-linux.elf-fold.map +++ b/src/stub/tmp/powerpc-linux.elf-fold.map @@ -13,17 +13,17 @@ TARGET(elf32-powerpc) *(.text) .text 0x0000000000100080 0x250 tmp/powerpc-linux.elf-fold.o 0x0000000000100080 get_page_mask - 0x00000000001002b8 munmap - 0x0000000000100288 readlink + 0x00000000001002c0 munmap + 0x0000000000100290 readlink 0x000000000010026c mmap - 0x0000000000100290 write - 0x0000000000100298 read + 0x0000000000100298 write + 0x00000000001002a0 read 0x00000000001002c8 my_bkpt 0x0000000000100280 exit - 0x00000000001002c0 brk - 0x00000000001002a0 open - 0x00000000001002b0 mprotect - 0x00000000001002a8 close + 0x0000000000100288 brk + 0x00000000001002a8 open + 0x00000000001002b8 mprotect + 0x00000000001002b0 close .text 0x00000000001002d0 0xd78 tmp/powerpc-linux.elf-main.o 0x0000000000100e40 upx_main *(.data) diff --git a/src/stub/tmp/powerpc64-linux.elf-entry.bin.dump b/src/stub/tmp/powerpc64-linux.elf-entry.bin.dump index e1ad6963..114ab06a 100644 --- a/src/stub/tmp/powerpc64-linux.elf-entry.bin.dump +++ b/src/stub/tmp/powerpc64-linux.elf-entry.bin.dump @@ -15,11 +15,10 @@ Idx Name Size VMA LMA File off Algn 10 CFLUSH 00000024 0000000000000000 0000000000000000 00001ce0 2**0 CONTENTS, READONLY 11 ELFMAINY 00000012 0000000000000000 0000000000000000 00001d04 2**0 CONTENTS, RELOC, READONLY 12 ELFMAINZe 00000018 0000000000000000 0000000000000000 00001d18 2**3 CONTENTS, RELOC, READONLY - 13 ELFMAINZ 00000248 0000000000000000 0000000000000000 00001d30 2**2 CONTENTS, RELOC, READONLY + 13 ELFMAINZ 000001f8 0000000000000000 0000000000000000 00001d30 2**2 CONTENTS, RELOC, READONLY SYMBOL TABLE: 0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30 0000000000000000 l d NRV_TAIL 0000000000000000 NRV_TAIL -0000000000000000 l d ELFMAINY 0000000000000000 ELFMAINY 0000000000000000 l d ELFMAINZ 0000000000000000 ELFMAINZ 0000000000000000 l d ELFMAINX 0000000000000000 ELFMAINX 0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD @@ -30,6 +29,7 @@ SYMBOL TABLE: 0000000000000000 l d LZMA_DEC10 0000000000000000 LZMA_DEC10 0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20 0000000000000000 l d CFLUSH 0000000000000000 CFLUSH +0000000000000000 l d ELFMAINY 0000000000000000 ELFMAINY 0000000000000000 l d ELFMAINZe 0000000000000000 ELFMAINZe 0000000000000000 g ELFMAINX 0000000000000000 _start 0000000000000000 g ELFMAINZe 0000000000000000 entry_descr @@ -37,7 +37,7 @@ SYMBOL TABLE: RELOCATION RECORDS FOR [ELFMAINX]: OFFSET TYPE VALUE -0000000000000000 R_PPC64_REL24 ELFMAINZ+0x000000000000018c +0000000000000000 R_PPC64_REL24 ELFMAINZ+0x000000000000013c RELOCATION RECORDS FOR [NRV2E]: OFFSET TYPE VALUE @@ -65,6 +65,4 @@ OFFSET TYPE VALUE RELOCATION RECORDS FOR [ELFMAINZ]: OFFSET TYPE VALUE -0000000000000074 R_PPC64_REL14 ELFMAINY -00000000000000f8 R_PPC64_REL14 ELFMAINY -0000000000000244 R_PPC64_ADDR32 O_BINFO +00000000000001f4 R_PPC64_ADDR32 O_BINFO diff --git a/src/stub/tmp/powerpc64-linux.elf-fold.map b/src/stub/tmp/powerpc64-linux.elf-fold.map index 7784eb40..9c3650d9 100644 --- a/src/stub/tmp/powerpc64-linux.elf-fold.map +++ b/src/stub/tmp/powerpc64-linux.elf-fold.map @@ -9,59 +9,61 @@ Linker script and memory map TARGET(elf64-powerpc) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) -.text 0x00000000001000bc 0xa28 +.text 0x00000000001000bc 0xa6c *(.text) - .text 0x00000000001000bc 0x2dc tmp/powerpc64-linux.elf-fold.o - 0x0000000000100344 exit - 0x000000000010034c readlink - 0x0000000000100354 brk - 0x000000000010035c close - 0x0000000000100364 open - 0x000000000010036c munmap - 0x0000000000100374 mprotect + .text 0x00000000001000bc 0x2f0 tmp/powerpc64-linux.elf-fold.o + 0x00000000001000bc get_page_mask + 0x000000000010034c mmap + 0x0000000000100364 exit + 0x000000000010036c brk + 0x0000000000100374 readlink 0x000000000010037c read - 0x0000000000100384 mmap - .text 0x0000000000100398 0x74c tmp/powerpc64-linux.elf-main.o + 0x0000000000100384 open + 0x000000000010038c close + 0x0000000000100394 mprotect + 0x000000000010039c munmap + 0x00000000001003a4 my_bkpt + .text 0x00000000001003ac 0x77c tmp/powerpc64-linux.elf-main.o *(.data) - .data 0x0000000000100ae4 0x0 tmp/powerpc64-linux.elf-fold.o - .data 0x0000000000100ae4 0x0 tmp/powerpc64-linux.elf-main.o + .data 0x0000000000100b28 0x0 tmp/powerpc64-linux.elf-fold.o + .data 0x0000000000100b28 0x0 tmp/powerpc64-linux.elf-main.o -.sfpr 0x0000000000100ae4 0xa4 - .sfpr 0x0000000000100ae4 0xa4 linker stubs - 0x0000000000100ae4 _savegpr0_14 - 0x0000000000100b0c _savegpr0_24 - 0x0000000000100b1c _savegpr0_28 - 0x0000000000100b34 _restgpr0_14 - 0x0000000000100b5c _restgpr0_24 - 0x0000000000100b6c _restgpr0_28 +.sfpr 0x0000000000100b28 0xa4 + .sfpr 0x0000000000100b28 0xa4 linker stubs + 0x0000000000100b28 _savegpr0_14 + 0x0000000000100b50 _savegpr0_24 + 0x0000000000100b60 _savegpr0_28 + 0x0000000000100b78 _restgpr0_14 + 0x0000000000100ba0 _restgpr0_24 + 0x0000000000100bb0 _restgpr0_28 -.glink 0x0000000000100b88 0x0 - .glink 0x0000000000100b88 0x0 linker stubs +.glink 0x0000000000100bd0 0x0 + .glink 0x0000000000100bd0 0x0 linker stubs -.eh_frame 0x0000000000100b88 0x0 - .eh_frame 0x0000000000100b88 0x0 linker stubs +.eh_frame 0x0000000000100bcc 0x0 + .eh_frame 0x0000000000100bcc 0x0 linker stubs -.rela.dyn 0x0000000000100b88 0x0 - .rela.iplt 0x0000000000100b88 0x0 linker stubs +.rela.dyn 0x0000000000100bd0 0x0 + .rela.iplt 0x0000000000100bd0 0x0 linker stubs .data LOAD tmp/powerpc64-linux.elf-fold.o LOAD tmp/powerpc64-linux.elf-main.o OUTPUT(tmp/powerpc64-linux.elf-fold.bin elf64-powerpc) -.branch_lt 0x0000000000100b88 0x0 - .branch_lt 0x0000000000100b88 0x0 linker stubs +.branch_lt 0x0000000000100bd0 0x0 + .branch_lt 0x0000000000100bd0 0x0 linker stubs -.toc 0x0000000000100b88 0x0 - .toc 0x0000000000100b88 0x0 tmp/powerpc64-linux.elf-main.o +.toc 0x0000000000100bd0 0x0 + .toc 0x0000000000100bd0 0x0 tmp/powerpc64-linux.elf-main.o -.opd 0x0000000000100b88 0x58 - .opd 0x0000000000100b88 0x58 tmp/powerpc64-linux.elf-main.o - 0x0000000000100bc8 upx_main +.opd 0x0000000000100bd0 0x58 + .opd 0x0000000000100bd0 0x58 tmp/powerpc64-linux.elf-main.o + 0x0000000000100c10 upx_main -.iplt 0x0000000000100be0 0x0 - .iplt 0x0000000000100be0 0x0 linker stubs +.iplt 0x0000000000100c28 0x0 + .iplt 0x0000000000100c28 0x0 linker stubs -.bss 0x0000000000100be0 0x0 - .bss 0x0000000000100be0 0x0 tmp/powerpc64-linux.elf-fold.o - .bss 0x0000000000100be0 0x0 tmp/powerpc64-linux.elf-main.o +.bss 0x0000000000100c28 0x0 + .bss 0x0000000000100c28 0x0 tmp/powerpc64-linux.elf-fold.o + .bss 0x0000000000100c28 0x0 tmp/powerpc64-linux.elf-main.o diff --git a/src/stub/tmp/powerpc64le-linux.elf-entry.bin.dump b/src/stub/tmp/powerpc64le-linux.elf-entry.bin.dump index c637183d..825571c3 100644 --- a/src/stub/tmp/powerpc64le-linux.elf-entry.bin.dump +++ b/src/stub/tmp/powerpc64le-linux.elf-entry.bin.dump @@ -14,11 +14,10 @@ Idx Name Size VMA LMA File off Algn 9 NRV_TAIL 0000001c 0000000000000000 0000000000000000 00001cbc 2**0 CONTENTS, READONLY 10 CFLUSH 00000024 0000000000000000 0000000000000000 00001cd8 2**0 CONTENTS, READONLY 11 ELFMAINY 00000012 0000000000000000 0000000000000000 00001cfc 2**0 CONTENTS, RELOC, READONLY - 12 ELFMAINZ 00000248 0000000000000000 0000000000000000 00001d10 2**2 CONTENTS, RELOC, READONLY + 12 ELFMAINZ 000001f8 0000000000000000 0000000000000000 00001d10 2**2 CONTENTS, RELOC, READONLY SYMBOL TABLE: 0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30 0000000000000000 l d NRV_TAIL 0000000000000000 NRV_TAIL -0000000000000000 l d ELFMAINY 0000000000000000 ELFMAINY 0000000000000000 l d ELFMAINZ 0000000000000000 ELFMAINZ 0000000000000000 l d ELFMAINX 0000000000000000 ELFMAINX 0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD @@ -29,12 +28,13 @@ SYMBOL TABLE: 0000000000000000 l d LZMA_DEC10 0000000000000000 LZMA_DEC10 0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20 0000000000000000 l d CFLUSH 0000000000000000 CFLUSH +0000000000000000 l d ELFMAINY 0000000000000000 ELFMAINY 0000000000000000 g ELFMAINX 0000000000000000 _start 0000000000000000 *UND* 0000000000000000 O_BINFO RELOCATION RECORDS FOR [ELFMAINX]: OFFSET TYPE VALUE -0000000000000000 R_PPC64_REL24 ELFMAINZ+0x000000000000018c +0000000000000000 R_PPC64_REL24 ELFMAINZ+0x000000000000013c RELOCATION RECORDS FOR [NRV2E]: OFFSET TYPE VALUE @@ -58,6 +58,4 @@ OFFSET TYPE VALUE RELOCATION RECORDS FOR [ELFMAINZ]: OFFSET TYPE VALUE -0000000000000074 R_PPC64_REL14 ELFMAINY -00000000000000f8 R_PPC64_REL14 ELFMAINY -0000000000000244 R_PPC64_ADDR32 O_BINFO +00000000000001f4 R_PPC64_ADDR32 O_BINFO diff --git a/src/stub/tmp/powerpc64le-linux.elf-fold.map b/src/stub/tmp/powerpc64le-linux.elf-fold.map index 21ef38c4..58349921 100644 --- a/src/stub/tmp/powerpc64le-linux.elf-fold.map +++ b/src/stub/tmp/powerpc64le-linux.elf-fold.map @@ -9,59 +9,61 @@ Linker script and memory map TARGET(elf64-powerpcle) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) -.text 0x00000000001000bc 0xa00 +.text 0x00000000001000bc 0xa38 *(.text) - .text 0x00000000001000bc 0x2b8 tmp/powerpc64le-linux.elf-fold.o - 0x0000000000100320 exit - 0x0000000000100328 readlink - 0x0000000000100330 brk - 0x0000000000100338 close - 0x0000000000100340 open - 0x0000000000100348 munmap - 0x0000000000100350 mprotect - 0x0000000000100358 read - 0x0000000000100360 mmap - .text 0x0000000000100374 0x748 tmp/powerpc64le-linux.elf-main.o + .text 0x00000000001000bc 0x2c0 tmp/powerpc64le-linux.elf-fold.o + 0x00000000001000bc get_page_mask + 0x000000000010031c mmap + 0x0000000000100334 exit + 0x000000000010033c brk + 0x0000000000100344 readlink + 0x000000000010034c read + 0x0000000000100354 open + 0x000000000010035c close + 0x0000000000100364 mprotect + 0x000000000010036c munmap + 0x0000000000100374 my_bkpt + .text 0x000000000010037c 0x778 tmp/powerpc64le-linux.elf-main.o *(.data) - .data 0x0000000000100abc 0x0 tmp/powerpc64le-linux.elf-fold.o - .data 0x0000000000100abc 0x0 tmp/powerpc64le-linux.elf-main.o + .data 0x0000000000100af4 0x0 tmp/powerpc64le-linux.elf-fold.o + .data 0x0000000000100af4 0x0 tmp/powerpc64le-linux.elf-main.o -.sfpr 0x0000000000100abc 0xa4 - .sfpr 0x0000000000100abc 0xa4 linker stubs - 0x0000000000100abc _savegpr0_14 - 0x0000000000100ae4 _savegpr0_24 - 0x0000000000100af4 _savegpr0_28 - 0x0000000000100b0c _restgpr0_14 - 0x0000000000100b34 _restgpr0_24 - 0x0000000000100b44 _restgpr0_28 +.sfpr 0x0000000000100af4 0xa4 + .sfpr 0x0000000000100af4 0xa4 linker stubs + 0x0000000000100af4 _savegpr0_14 + 0x0000000000100b1c _savegpr0_24 + 0x0000000000100b2c _savegpr0_28 + 0x0000000000100b44 _restgpr0_14 + 0x0000000000100b6c _restgpr0_24 + 0x0000000000100b7c _restgpr0_28 -.glink 0x0000000000100b60 0x0 - .glink 0x0000000000100b60 0x0 linker stubs +.glink 0x0000000000100b98 0x0 + .glink 0x0000000000100b98 0x0 linker stubs -.eh_frame 0x0000000000100b60 0x0 - .eh_frame 0x0000000000100b60 0x0 linker stubs +.eh_frame 0x0000000000100b98 0x0 + .eh_frame 0x0000000000100b98 0x0 linker stubs -.rela.dyn 0x0000000000100b60 0x0 - .rela.iplt 0x0000000000100b60 0x0 linker stubs +.rela.dyn 0x0000000000100b98 0x0 + .rela.iplt 0x0000000000100b98 0x0 linker stubs .data LOAD tmp/powerpc64le-linux.elf-fold.o LOAD tmp/powerpc64le-linux.elf-main.o OUTPUT(tmp/powerpc64le-linux.elf-fold.bin elf64-powerpcle) -.branch_lt 0x0000000000100b60 0x0 - .branch_lt 0x0000000000100b60 0x0 linker stubs +.branch_lt 0x0000000000100b98 0x0 + .branch_lt 0x0000000000100b98 0x0 linker stubs -.toc 0x0000000000100b60 0x0 - .toc 0x0000000000100b60 0x0 tmp/powerpc64le-linux.elf-main.o +.toc 0x0000000000100b98 0x0 + .toc 0x0000000000100b98 0x0 tmp/powerpc64le-linux.elf-main.o -.opd 0x0000000000100b60 0x58 - .opd 0x0000000000100b60 0x58 tmp/powerpc64le-linux.elf-main.o - 0x0000000000100ba0 upx_main +.opd 0x0000000000100b98 0x58 + .opd 0x0000000000100b98 0x58 tmp/powerpc64le-linux.elf-main.o + 0x0000000000100bd8 upx_main -.iplt 0x0000000000100bb8 0x0 - .iplt 0x0000000000100bb8 0x0 linker stubs +.iplt 0x0000000000100bf0 0x0 + .iplt 0x0000000000100bf0 0x0 linker stubs -.bss 0x0000000000100bb8 0x0 - .bss 0x0000000000100bb8 0x0 tmp/powerpc64le-linux.elf-fold.o - .bss 0x0000000000100bb8 0x0 tmp/powerpc64le-linux.elf-main.o +.bss 0x0000000000100bf0 0x0 + .bss 0x0000000000100bf0 0x0 tmp/powerpc64le-linux.elf-fold.o + .bss 0x0000000000100bf0 0x0 tmp/powerpc64le-linux.elf-main.o