diff -Nru upx-ucl-3.95/BUGS upx-ucl-3.96/BUGS --- upx-ucl-3.95/BUGS 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/BUGS 2020-01-23 16:56:00.000000000 +0000 @@ -8,7 +8,7 @@ The Ultimate Packer for eXecutables - Copyright (c) 1996-2018 Markus Oberhumer, Laszlo Molnar & John Reiser + Copyright (c) 1996-2020 Markus Oberhumer, Laszlo Molnar & John Reiser https://upx.github.io diff -Nru upx-ucl-3.95/debian/changelog upx-ucl-3.96/debian/changelog --- upx-ucl-3.95/debian/changelog 2020-03-22 16:01:44.000000000 +0000 +++ upx-ucl-3.96/debian/changelog 2020-06-05 10:14:39.000000000 +0000 @@ -1,8 +1,24 @@ -upx-ucl (3.95-2build1) focal; urgency=medium +upx-ucl (3.96-2) unstable; urgency=medium - * No-change rebuild for libgcc-s1 package name change. + * Add 02-arm64-crashes.patch that reverts one of upstream commits, what should + fix crashes visible on arm64 (closes: 955157). + * Bump debhelper's compat version to 13. - -- Matthias Klose Sun, 22 Mar 2020 17:01:44 +0100 + -- Robert Luberda Fri, 05 Jun 2020 12:14:39 +0200 + +upx-ucl (3.96-1) unstable; urgency=medium + + * New upstream version: + + fixes heap-based buffer over-read and invalid memory address dereference + in canUnpack() (CVE-2019-20021, CVE-2019-20053, closes: #947471). + * Remove no longer needed patches: 02-Ignore-malformed-ElfXX_Shdr.patch, + and 03-Malformed-input.patch. + * Add autopkgtest checks for #947471. + * Replace debian/compat with build-dependency on debhelper-compat. + * Add upstream metadata file. + * Standards-Version: 4.5.0. + + -- Robert Luberda Sun, 08 Mar 2020 13:48:26 +0100 upx-ucl (3.95-2) unstable; urgency=medium diff -Nru upx-ucl-3.95/debian/compat upx-ucl-3.96/debian/compat --- upx-ucl-3.95/debian/compat 2019-07-29 19:08:27.000000000 +0000 +++ upx-ucl-3.96/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -12 diff -Nru upx-ucl-3.95/debian/control upx-ucl-3.96/debian/control --- upx-ucl-3.95/debian/control 2019-07-29 19:08:27.000000000 +0000 +++ upx-ucl-3.96/debian/control 2020-06-05 10:14:39.000000000 +0000 @@ -2,8 +2,8 @@ Section: utils Priority: optional Maintainer: Robert Luberda -Standards-Version: 4.4.0 -Build-Depends: debhelper (>= 12), libucl-dev (>= 1.03), zlib1g-dev (>= 1:1.1.4) +Standards-Version: 4.5.0 +Build-Depends: debhelper-compat (= 13), libucl-dev (>= 1.03), zlib1g-dev (>= 1:1.1.4) Homepage: https://upx.github.io/ Rules-Requires-Root: no Vcs-Git: https://salsa.debian.org/debian/upx-ucl.git diff -Nru upx-ucl-3.95/debian/copyright upx-ucl-3.96/debian/copyright --- upx-ucl-3.95/debian/copyright 2019-07-29 19:08:27.000000000 +0000 +++ upx-ucl-3.96/debian/copyright 2020-06-05 10:14:39.000000000 +0000 @@ -3,9 +3,9 @@ Source: https://upx.github.io/ Files: * -Copyright: 1996-2017, Markus Franz Xaver Johannes Oberhumer - 1996-2017, Laszlo Molnar - 2000-2017, John F. Reiser +Copyright: 1996-2020, Markus Franz Xaver Johannes Oberhumer + 1996-2020, Laszlo Molnar + 2000-2020, John F. Reiser License: GPL-2+ with Special Exception for Compressed Executables Files: src/lzma-sdk/* @@ -28,7 +28,7 @@ License: GPL-2+ Files: debian/* -Copyright: 2002-2017, Robert Luberda +Copyright: 2002-2020, Robert Luberda 2000-2001, Eduard Bloch +Date: Fri, 5 Jun 2020 11:51:20 +0200 +Subject: Fix crashes on arm64 + +Revert the following upstream commit: + +> commit d4e2d7e8a80e0e3d95e17bbc0bcf649bad3da19a +> Author: John Reiser +> Date: Fri Mar 1 20:31:41 2019 -0800 +> +> arm64 (aarch64) and PAGE_SIZE > 4KiB +> +> Future: use prctl(PR_SET_MM, PR_SET_MM_START_BRK, addr) +> https://github.com/upx/upx/issues/254 +> modified: p_lx_elf.cpp +> modified: stub/src/amd64-linux.elf-main.c + +Reverting the commit should fix crashes visible on arm, even though +according to upstream authors,a bug is in Linux kernel, see +https://github.com/upx/upx/issues/351 + +Bugs-Debian: https://bugs.debian.org/955157 +--- + src/p_lx_elf.cpp | 2 +- + src/stub/src/amd64-linux.elf-main.c | 4 +--- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp +index c03d6ee..91926af 100644 +--- a/src/p_lx_elf.cpp ++++ b/src/p_lx_elf.cpp +@@ -523,7 +523,7 @@ off_t PackLinuxElf64::pack3(OutputFile *fo, Filter &ft) + // So: pretend 4KiB pages. + upx_uint64_t const pm = ( + Elf64_Ehdr::EM_X86_64 ==e_machine +- //|| Elf64_Ehdr::EM_AARCH64==e_machine ++ || Elf64_Ehdr::EM_AARCH64==e_machine + //|| Elf64_Ehdr::EM_PPC64 ==e_machine /* DOES NOT WORK! */ + ) + ? ((~(upx_uint64_t)0)<<12) +diff --git a/src/stub/src/amd64-linux.elf-main.c b/src/stub/src/amd64-linux.elf-main.c +index 4e3e05f..7c42e51 100644 +--- a/src/stub/src/amd64-linux.elf-main.c ++++ b/src/stub/src/amd64-linux.elf-main.c +@@ -433,9 +433,7 @@ xfind_pages(unsigned mflags, Elf64_Phdr const *phdr, int phnum, + } + } + DPRINTF(" addr=%%p lo=%%p hi=%%p\\n", addr, lo, hi); +- // PROT_WRITE allows testing of 64k pages on 4k Linux +- addr = (Elf64_Addr)mmap((void *)addr, hi, (DEBUG ? PROT_WRITE : PROT_NONE), // FIXME XXX EVIL +- mflags, -1, 0); ++ 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) + return (Elf64_Addr)(addr - lo); diff -Nru upx-ucl-3.95/debian/patches/02-Ignore-malformed-ElfXX_Shdr.patch upx-ucl-3.96/debian/patches/02-Ignore-malformed-ElfXX_Shdr.patch --- upx-ucl-3.95/debian/patches/02-Ignore-malformed-ElfXX_Shdr.patch 2019-07-29 19:08:27.000000000 +0000 +++ upx-ucl-3.96/debian/patches/02-Ignore-malformed-ElfXX_Shdr.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -From: John Reiser -Date: Sun, 21 Jul 2019 07:40:21 -0700 -Subject: Ignore malformed ElfXX_Shdr in search for .text or .note - -https://github.com/upx/upx/issues/287 - modified: p_vmlinx.cpp - -Patch taken from https://github.com/upx/upx/commit/276b748aa6021c38a2dc699153f61b10e76bc3d2 - -Bugs-Debian: https://bugs.debian.org/#933232 ---- - src/p_vmlinx.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/p_vmlinx.cpp b/src/p_vmlinx.cpp -index 8c655d7..e350db0 100644 ---- a/src/p_vmlinx.cpp -+++ b/src/p_vmlinx.cpp -@@ -577,6 +577,7 @@ int PackVmlinuxBase::canUnpack() - Shdr *p; - for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) { - if ((unsigned)file_size < (p->sh_size + p->sh_offset) -+ || (5+ p->sh_name) < p->sh_name // wrap: ignore malformed - || shstrsec->sh_size < (5+ p->sh_name) ) { - continue; - } diff -Nru upx-ucl-3.95/debian/patches/03-Malformed-input.patch upx-ucl-3.96/debian/patches/03-Malformed-input.patch --- upx-ucl-3.95/debian/patches/03-Malformed-input.patch 2019-07-29 19:08:27.000000000 +0000 +++ upx-ucl-3.96/debian/patches/03-Malformed-input.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,32 +0,0 @@ -From: John Reiser -Date: Sun, 21 Jul 2019 10:48:50 -0700 -Subject: Better checking for malformed input - -https://github.com/upx/upx/issues/286 - -Patch taken from https://github.com/upx/upx/commit/58b122d97da1e02dfec24b10b6b8f56218b5622c - -Bugs-Debian: https://bugs.debian.org/#933232 ---- - src/p_vmlinx.cpp | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/p_vmlinx.cpp b/src/p_vmlinx.cpp -index e350db0..ab568ed 100644 ---- a/src/p_vmlinx.cpp -+++ b/src/p_vmlinx.cpp -@@ -111,9 +111,11 @@ typename T::Shdr const *PackVmlinuxBase::getElfSections() - int j; - for (p = shdri, j= ehdri.e_shnum; --j>=0; ++p) { - if (Shdr::SHT_STRTAB==p->sh_type -- && (p->sh_size + p->sh_offset) <= (unsigned long)file_size -- && p->sh_name < p->sh_size -- && (10+ p->sh_name) <= p->sh_size // 1+ strlen(".shstrtab") -+ && p->sh_offset < (unsigned long)file_size -+ && p->sh_size <= ((unsigned long)file_size - p->sh_offset) -+ && p->sh_name < (unsigned long)file_size -+ && 10 <= ((unsigned long)file_size - p->sh_name) -+ // 10 == (1+ strlen(".shstrtab")) - ) { - delete [] shstrtab; - shstrtab = new char[1+ p->sh_size]; diff -Nru upx-ucl-3.95/debian/patches/series upx-ucl-3.96/debian/patches/series --- upx-ucl-3.95/debian/patches/series 2019-07-29 19:08:27.000000000 +0000 +++ upx-ucl-3.96/debian/patches/series 2020-06-05 10:14:39.000000000 +0000 @@ -1,3 +1,2 @@ 01-Documentation.patch -02-Ignore-malformed-ElfXX_Shdr.patch -03-Malformed-input.patch +02-arm64-crashes.patch diff -Nru upx-ucl-3.95/debian/source/include-binaries upx-ucl-3.96/debian/source/include-binaries --- upx-ucl-3.95/debian/source/include-binaries 2019-07-29 19:08:27.000000000 +0000 +++ upx-ucl-3.96/debian/source/include-binaries 2020-06-05 10:14:39.000000000 +0000 @@ -8,3 +8,5 @@ debian/tests/data/907426-poc_free debian/tests/data/933232-poc-buffer-overflow debian/tests/data/933232-poc-integer-overflow +debian/tests/data/947471-poc1 +debian/tests/data/947471-poc2 diff -Nru upx-ucl-3.95/debian/tests/control upx-ucl-3.96/debian/tests/control --- upx-ucl-3.95/debian/tests/control 2019-07-29 19:08:27.000000000 +0000 +++ upx-ucl-3.96/debian/tests/control 2020-06-05 10:14:39.000000000 +0000 @@ -15,7 +15,7 @@ Test-Command: ./debian/tests/regressions-check 882401-segfault-macho "CantPackException: bad Mach_command" Features: test-name=bug882401-check -Test-Command: ./debian/tests/regressions-check 899190-poc1 "CantPackException: bad PT_DYNAMIC" +Test-Command: ./debian/tests/regressions-check 899190-poc1 'CantPackException: need DT_INIT; try "void _init(void){}"' Features: test-name=bug899190-check1 Test-Command: ./debian/tests/regressions-check 899190-poc2 "CantPackException: DT_STRTAB above stub" @@ -23,10 +23,17 @@ Test-Command: ./debian/tests/regressions-check -d 907426-poc_free "Exception: compressed data violation" Features: test-name=bug907426-check -Restrictions: flaky Test-Command: ./debian/tests/regressions-check -d 933232-poc-integer-overflow "CantUnpackException: bad e_phoff" Features: test-name=bug933232-check1 Test-Command: ./debian/tests/regressions-check --no-qq -d 933232-poc-buffer-overflow "NotPackedException: not packed by UPX" 2 Features: test-name=bug933232-check2 + +# Data file downloaded from https://github.com/upx/upx/issues/314 +Test-Command: ./debian/tests/regressions-check -d 947471-poc1 "CantUnpackException: file corrupted" +Features: test-name=bug947471-check1 + +# Data file downloaded from https://github.com/upx/upx/issues/315 +Test-Command: ./debian/tests/regressions-check -d 947471-poc2 "CantUnpackException: file corrupted" +Features: test-name=bug947471-check2 Binary files /tmp/tmpsQiZ_A/NRfEuRtjbH/upx-ucl-3.95/debian/tests/data/947471-poc1 and /tmp/tmpsQiZ_A/eVIfKiXybS/upx-ucl-3.96/debian/tests/data/947471-poc1 differ Binary files /tmp/tmpsQiZ_A/NRfEuRtjbH/upx-ucl-3.95/debian/tests/data/947471-poc2 and /tmp/tmpsQiZ_A/eVIfKiXybS/upx-ucl-3.96/debian/tests/data/947471-poc2 differ diff -Nru upx-ucl-3.95/debian/upstream/metadata upx-ucl-3.96/debian/upstream/metadata --- upx-ucl-3.95/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ upx-ucl-3.96/debian/upstream/metadata 2020-06-05 10:14:39.000000000 +0000 @@ -0,0 +1,11 @@ +Name: upx +Bug-Database: https://github.com/upx/upx/issues +Changelog: https://github.com/upx/upx/blob/master/NEWS +Contact: + - Markus F.X.J. Oberhumer + - John F. Reiser + - Laszlo Molnar +Documentation: https://github.com/upx/upx/blob/master/doc/upx.pod +Homepage: https://upx.github.io/ +Repository: https://github.com/upx/upx.git +Repository-Browse: https://github.com/upx/upx diff -Nru upx-ucl-3.95/doc/elf-to-mem.txt upx-ucl-3.96/doc/elf-to-mem.txt --- upx-ucl-3.95/doc/elf-to-mem.txt 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/doc/elf-to-mem.txt 2020-01-23 16:56:00.000000000 +0000 @@ -1,5 +1,5 @@ Decompressing ELF Directly to Memory on Linux/x86 - Copyright (C) 2000-2018 John F. Reiser jreiser@BitWagon.com + Copyright (C) 2000-2020 John F. Reiser jreiser@BitWagon.com References: definitions for the ELF file format diff -Nru upx-ucl-3.95/doc/upx.pod upx-ucl-3.96/doc/upx.pod --- upx-ucl-3.95/doc/upx.pod 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/doc/upx.pod 2020-01-23 16:56:00.000000000 +0000 @@ -13,7 +13,7 @@ =head1 ABSTRACT The Ultimate Packer for eXecutables - Copyright (c) 1996-2018 Markus Oberhumer, Laszlo Molnar & John Reiser + Copyright (c) 1996-2020 Markus Oberhumer, Laszlo Molnar & John Reiser https://upx.github.io @@ -934,13 +934,13 @@ =head1 COPYRIGHT -Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer -Copyright (C) 1996-2018 Laszlo Molnar +Copyright (C) 1996-2020 Laszlo Molnar -Copyright (C) 2000-2018 John F. Reiser +Copyright (C) 2000-2020 John F. Reiser -Copyright (C) 2002-2018 Jens Medoch +Copyright (C) 2002-2020 Jens Medoch This program may be used freely, and you are welcome to redistribute it under certain conditions. diff -Nru upx-ucl-3.95/Makefile upx-ucl-3.96/Makefile --- upx-ucl-3.95/Makefile 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/Makefile 2020-01-23 16:56:00.000000000 +0000 @@ -1,7 +1,7 @@ # # UPX toplevel Makefile - needs GNU make 3.81 or better # -# Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +# Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer # MAKEFLAGS += -rR diff -Nru upx-ucl-3.95/NEWS upx-ucl-3.96/NEWS --- upx-ucl-3.95/NEWS 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/NEWS 2020-01-23 16:56:00.000000000 +0000 @@ -2,6 +2,9 @@ User visible changes for UPX ================================================================== +Changes in 3.96 (23 Jan 2020): + * bug fixes - see https://github.com/upx/upx/milestone/5 + Changes in 3.95 (26 Aug 2018): * Flag --android-shlib to work around bad design in Android * Flag --force-pie when ET_DYN main program is not marked as DF_1_PIE diff -Nru upx-ucl-3.95/PROJECTS upx-ucl-3.96/PROJECTS --- upx-ucl-3.95/PROJECTS 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/PROJECTS 2020-01-23 16:56:00.000000000 +0000 @@ -8,7 +8,7 @@ The Ultimate Packer for eXecutables - Copyright (c) 1996-2018 Markus Oberhumer, Laszlo Molnar & John Reiser + Copyright (c) 1996-2020 Markus Oberhumer, Laszlo Molnar & John Reiser https://upx.github.io diff -Nru upx-ucl-3.95/README upx-ucl-3.96/README --- upx-ucl-3.95/README 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/README 2020-01-23 16:56:00.000000000 +0000 @@ -8,7 +8,7 @@ The Ultimate Packer for eXecutables - Copyright (c) 1996-2018 Markus Oberhumer, Laszlo Molnar & John Reiser + Copyright (c) 1996-2020 Markus Oberhumer, Laszlo Molnar & John Reiser https://upx.github.io @@ -103,9 +103,9 @@ COPYRIGHT ========= -Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -Copyright (C) 1996-2018 Laszlo Molnar -Copyright (C) 2000-2018 John F. Reiser +Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +Copyright (C) 1996-2020 Laszlo Molnar +Copyright (C) 2000-2020 John F. Reiser This program may be used freely, and you are welcome to redistribute it under certain conditions. diff -Nru upx-ucl-3.95/README.1ST upx-ucl-3.96/README.1ST --- upx-ucl-3.95/README.1ST 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/README.1ST 2020-01-23 16:56:00.000000000 +0000 @@ -8,7 +8,7 @@ The Ultimate Packer for eXecutables - Copyright (c) 1996-2018 Markus Oberhumer, Laszlo Molnar & John Reiser + Copyright (c) 1996-2020 Markus Oberhumer, Laszlo Molnar & John Reiser https://upx.github.io diff -Nru upx-ucl-3.95/src/bele.h upx-ucl-3.96/src/bele.h --- upx-ucl-3.95/src/bele.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/bele.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/bele_policy.h upx-ucl-3.96/src/bele_policy.h --- upx-ucl-3.95/src/bele_policy.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/bele_policy.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/bptr.h upx-ucl-3.96/src/bptr.h --- upx-ucl-3.95/src/bptr.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/bptr.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/c_file.cpp upx-ucl-3.96/src/c_file.cpp --- upx-ucl-3.95/src/c_file.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/c_file.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/c_init.cpp upx-ucl-3.96/src/c_init.cpp --- upx-ucl-3.95/src/c_init.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/c_init.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/c_none.cpp upx-ucl-3.96/src/c_none.cpp --- upx-ucl-3.95/src/c_none.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/c_none.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/compress.cpp upx-ucl-3.96/src/compress.cpp --- upx-ucl-3.95/src/compress.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/compress.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/compress.h upx-ucl-3.96/src/compress.h --- upx-ucl-3.95/src/compress.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/compress.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/compress_lzma.cpp upx-ucl-3.96/src/compress_lzma.cpp --- upx-ucl-3.95/src/compress_lzma.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/compress_lzma.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -30,6 +30,12 @@ #include "compress.h" #include "mem.h" +#if (ACC_CC_CLANG) +# pragma clang diagnostic ignored "-Wshadow" +#endif +#if (ACC_CC_GNUC >= 0x040200) +# pragma GCC diagnostic ignored "-Wshadow" +#endif #if (ACC_CC_MSC) # pragma warning(disable: 4456) // -Wno-shadow #endif diff -Nru upx-ucl-3.95/src/compress_ucl.cpp upx-ucl-3.96/src/compress_ucl.cpp --- upx-ucl-3.95/src/compress_ucl.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/compress_ucl.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/compress_zlib.cpp upx-ucl-3.96/src/compress_zlib.cpp --- upx-ucl-3.95/src/compress_zlib.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/compress_zlib.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/conf.h upx-ucl-3.96/src/conf.h --- upx-ucl-3.95/src/conf.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/conf.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -230,7 +230,9 @@ #endif // avoid warnings about shadowing global functions +#undef basename #undef index +#undef outp #define basename upx_basename #define index upx_index #define outp upx_outp diff -Nru upx-ucl-3.95/src/console.h upx-ucl-3.96/src/console.h --- upx-ucl-3.95/src/console.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/console.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/c_screen.cpp upx-ucl-3.96/src/c_screen.cpp --- upx-ucl-3.95/src/c_screen.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/c_screen.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/except.cpp upx-ucl-3.96/src/except.cpp --- upx-ucl-3.95/src/except.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/except.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/except.h upx-ucl-3.96/src/except.h --- upx-ucl-3.95/src/except.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/except.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/file.cpp upx-ucl-3.96/src/file.cpp --- upx-ucl-3.95/src/file.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/file.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/file.h upx-ucl-3.96/src/file.h --- upx-ucl-3.95/src/file.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/file.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/ct.h upx-ucl-3.96/src/filter/ct.h --- upx-ucl-3.95/src/filter/ct.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/ct.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/cto.h upx-ucl-3.96/src/filter/cto.h --- upx-ucl-3.95/src/filter/cto.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/cto.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/ctoj.h upx-ucl-3.96/src/filter/ctoj.h --- upx-ucl-3.95/src/filter/ctoj.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/ctoj.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/ctojr.h upx-ucl-3.96/src/filter/ctojr.h --- upx-ucl-3.95/src/filter/ctojr.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/ctojr.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/ctok.h upx-ucl-3.96/src/filter/ctok.h --- upx-ucl-3.95/src/filter/ctok.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/ctok.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/ctsw.h upx-ucl-3.96/src/filter/ctsw.h --- upx-ucl-3.95/src/filter/ctsw.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/ctsw.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/getcto.h upx-ucl-3.96/src/filter/getcto.h --- upx-ucl-3.95/src/filter/getcto.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/getcto.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/ppcbxx.h upx-ucl-3.96/src/filter/ppcbxx.h --- upx-ucl-3.95/src/filter/ppcbxx.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/ppcbxx.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2004-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2004-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/sub16.h upx-ucl-3.96/src/filter/sub16.h --- upx-ucl-3.95/src/filter/sub16.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/sub16.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/sub32.h upx-ucl-3.96/src/filter/sub32.h --- upx-ucl-3.95/src/filter/sub32.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/sub32.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/sub8.h upx-ucl-3.96/src/filter/sub8.h --- upx-ucl-3.95/src/filter/sub8.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/sub8.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/sub.hh upx-ucl-3.96/src/filter/sub.hh --- upx-ucl-3.95/src/filter/sub.hh 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/sub.hh 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter/sw.h upx-ucl-3.96/src/filter/sw.h --- upx-ucl-3.95/src/filter/sw.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter/sw.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter.cpp upx-ucl-3.96/src/filter.cpp --- upx-ucl-3.95/src/filter.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filter.h upx-ucl-3.96/src/filter.h --- upx-ucl-3.95/src/filter.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filter.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/filteri.cpp upx-ucl-3.96/src/filteri.cpp --- upx-ucl-3.95/src/filteri.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/filteri.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/help.cpp upx-ucl-3.96/src/help.cpp --- upx-ucl-3.95/src/help.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/help.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -412,10 +412,10 @@ if (v != NULL && v[0]) fprintf(fp, "LZMA SDK version %s\n", v); #endif - fprintf(fp, "Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer\n"); - fprintf(fp, "Copyright (C) 1996-2018 Laszlo Molnar\n"); - fprintf(fp, "Copyright (C) 2000-2018 John F. Reiser\n"); - fprintf(fp, "Copyright (C) 2002-2018 Jens Medoch\n"); + fprintf(fp, "Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer\n"); + fprintf(fp, "Copyright (C) 1996-2020 Laszlo Molnar\n"); + fprintf(fp, "Copyright (C) 2000-2020 John F. Reiser\n"); + fprintf(fp, "Copyright (C) 2002-2020 Jens Medoch\n"); #if (WITH_ZLIB) fprintf(fp, "Copyright (C) 1995" "-2005 Jean-loup Gailly and Mark Adler\n"); #endif diff -Nru upx-ucl-3.95/src/lefile.cpp upx-ucl-3.96/src/lefile.cpp --- upx-ucl-3.95/src/lefile.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/lefile.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/lefile.h upx-ucl-3.96/src/lefile.h --- upx-ucl-3.95/src/lefile.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/lefile.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/linker.cpp upx-ucl-3.96/src/linker.cpp --- upx-ucl-3.95/src/linker.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/linker.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/linker.h upx-ucl-3.96/src/linker.h --- upx-ucl-3.95/src/linker.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/linker.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/main.cpp upx-ucl-3.96/src/main.cpp --- upx-ucl-3.95/src/main.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/main.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -1540,11 +1540,18 @@ if (gitrev[0]) { - FILE *f = stdout; - int fg = con_fg(f,FG_RED); - con_fprintf(f,"\nWARNING: this is an unstable beta version - use for testing only! Really.\n"); - fg = con_fg(f,fg); - UNUSED(fg); + bool warn = true; + const char *ee = getenv("UPX_DISABLE_GITREV_WARNING"); + if (ee && ee[0] && strcmp(ee, "1") == 0) + warn = false; + if (warn) + { + FILE *f = stdout; + int fg = con_fg(f, FG_RED); + con_fprintf(f, "\nWARNING: this is an unstable beta version - use for testing only! Really.\n"); + fg = con_fg(f, fg); + UNUSED(fg); + } } #if 0 && defined(__GLIBC__) diff -Nru upx-ucl-3.95/src/Makefile upx-ucl-3.96/src/Makefile --- upx-ucl-3.95/src/Makefile 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/Makefile 2020-01-23 16:56:00.000000000 +0000 @@ -1,7 +1,7 @@ # # UPX Makefile - needs GNU make 3.81 or better # -# Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +# Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer # # build configuration options for this Makefile @@ -148,7 +148,7 @@ endif endif # run the UPX testsuite -# The expected (old) checksums are in $(top_srcdir)/.github/travis_testsuite_1.sh +# The expected (old) checksums are in $(top_srcdir)/.github/travis_testsuite_1-expected_sha256sums.sh # The actual (new) checksums are in tmp-testsuite/testsuite_1/.sha256sums.recreate ifneq ($(wildcard $(upx_testsuite_SRCDIR)/files/packed/.),) ifneq ($(wildcard $(top_srcdir)/.github/travis_testsuite_1.sh),) diff -Nru upx-ucl-3.95/src/mem.cpp upx-ucl-3.96/src/mem.cpp --- upx-ucl-3.95/src/mem.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/mem.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/mem.h upx-ucl-3.96/src/mem.h --- upx-ucl-3.95/src/mem.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/mem.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/miniacc.h upx-ucl-3.96/src/miniacc.h --- upx-ucl-3.95/src/miniacc.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/miniacc.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -27,7 +27,7 @@ #ifndef __ACC_H_INCLUDED #define __ACC_H_INCLUDED 1 -#define ACC_VERSION 20170301L +#define ACC_VERSION 20200116L #if defined(__CYGWIN32__) && !defined(__CYGWIN__) # define __CYGWIN__ __CYGWIN32__ #endif @@ -52,6 +52,8 @@ # error "__cplusplus" # elif (__cplusplus < 199711L) # define ACC_LANG_CXX 1 +# elif (__cplusplus >= 201402L) +# define ACC_LANG_CXX __cplusplus # elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1 # define ACC_LANG_CXX _MSVC_LANG # else @@ -66,6 +68,33 @@ # endif #endif #endif +#if defined(ACC_CFG_ASSERT_LANG_ASSEMBLER) && (ACC_CFG_ASSERT_LANG_ASSEMBLER+0) +# if !(ACC_LANG_ASSEMBLER) +# error "ACC_CFG_ASSERT_LANG_ASSEMBLER" +# endif +# if (ACC_CFG_ASSERT_LANG_ASSEMBLER > 1) && (ACC_CFG_ASSERT_LANG_ASSEMBLER < ACC_LANG_ASSEMBLER) +# error "ACC_CFG_ASSERT_LANG_ASSEMBLER standard min version" +# endif +#endif +#if defined(ACC_CFG_ASSERT_LANG_C) && (ACC_CFG_ASSERT_LANG_C+0) +# if !(ACC_LANG_C) +# error "ACC_CFG_ASSERT_LANG_C" +# endif +# if (ACC_CFG_ASSERT_LANG_C > 1) && (ACC_CFG_ASSERT_LANG_C < ACC_LANG_C) +# error "ACC_CFG_ASSERT_LANG_C standard min version" +# endif +#endif +#if defined(ACC_CFG_ASSERT_LANG_CXX) && (ACC_CFG_ASSERT_LANG_CXX+0) +# if !(ACC_LANG_CXX) +# error "ACC_CFG_ASSERT_LANG_CXX" +# endif +# if !defined(__cplusplus) +# error "ACC_CFG_ASSERT_LANG_CXX __cplusplus" +# endif +# if (ACC_CFG_ASSERT_LANG_CXX > 1) && (ACC_CFG_ASSERT_LANG_CXX < ACC_LANG_CXX) +# error "ACC_CFG_ASSERT_LANG_CXX standard min version" +# endif +#endif #if !defined(ACC_CFG_NO_DISABLE_WUNDEF) #if defined(__ARMCC_VERSION) # pragma diag_suppress 193 @@ -523,6 +552,9 @@ # if defined(_AIX) || defined(__AIX__) || defined(__aix__) # define ACC_OS_POSIX_AIX 1 # define ACC_INFO_OS_POSIX "aix" +# elif defined(__DragonFly__) +# define ACC_OS_POSIX_DRAGONFLY 1 +# define ACC_INFO_OS_POSIX "dragonfly" # elif defined(__FreeBSD__) # define ACC_OS_POSIX_FREEBSD 1 # define ACC_INFO_OS_POSIX "freebsd" @@ -965,6 +997,9 @@ #elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__) # define ACC_ARCH_MCS51 1 # define ACC_INFO_ARCH "mcs51" +#elif defined(__microblaze__) || defined(__MICROBLAZE__) +# define ACC_ARCH_MICROBLAZE 1 +# define ACC_INFO_ARCH "microblaze" #elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000) # define ACC_ARCH_MIPS 1 # define ACC_INFO_ARCH "mips" @@ -1563,7 +1598,7 @@ #endif #if !defined(ACC_UNUSED_LABEL) # if (ACC_CC_CLANG >= 0x020800ul) -# define ACC_UNUSED_LABEL(l) (__acc_gnuc_extension__ ((void) ((const void *) &&l))) +# define ACC_UNUSED_LABEL(l) (__acc_gnuc_extension__ ((void) ACC_STATIC_CAST(const void *, &&l))) # elif (ACC_CC_ARMCC || ACC_CC_CLANG || ACC_CC_INTELC || ACC_CC_WATCOMC) # define ACC_UNUSED_LABEL(l) if __acc_cte(0) goto l # else @@ -2040,7 +2075,11 @@ #endif #endif #if !defined(ACC_COMPILE_TIME_ASSERT_HEADER) -# if (ACC_CC_AZTECC || ACC_CC_ZORTECHC) +# if (ACC_LANG_CXX >= 201103L) +# define ACC_COMPILE_TIME_ASSERT_HEADER(e) static_assert(e, #e); +# elif (ACC_LANG_C >= 201112L) +# define ACC_COMPILE_TIME_ASSERT_HEADER(e) _Static_assert(e, #e); +# elif (ACC_CC_AZTECC || ACC_CC_ZORTECHC) # define ACC_COMPILE_TIME_ASSERT_HEADER(e) ACC_EXTERN_C_BEGIN extern int __ACC_CTA_NAME(acc_cta__)[1-!(e)]; ACC_EXTERN_C_END # elif (ACC_CC_DMC || ACC_CC_SYMANTECC) # define ACC_COMPILE_TIME_ASSERT_HEADER(e) ACC_EXTERN_C_BEGIN extern int __ACC_CTA_NAME(acc_cta__)[1u-2*!(e)]; ACC_EXTERN_C_END @@ -2055,7 +2094,11 @@ # endif #endif #if !defined(ACC_COMPILE_TIME_ASSERT) -# if (ACC_CC_AZTECC) +# if (ACC_LANG_CXX >= 201103L) +# define ACC_COMPILE_TIME_ASSERT(e) {static_assert(e, #e);} +# elif (ACC_LANG_C >= 201112L) +# define ACC_COMPILE_TIME_ASSERT(e) {_Static_assert(e, #e);} +# elif (ACC_CC_AZTECC) # define ACC_COMPILE_TIME_ASSERT(e) {typedef int __ACC_CTA_NAME(acc_cta_t__)[1-!(e)];} # elif (ACC_CC_CLANG && (ACC_CC_CLANG >= 0x030000ul)) # define ACC_COMPILE_TIME_ASSERT(e) {typedef int __ACC_CTA_NAME(acc_cta_t__)[1-2*!(e)] __attribute__((__unused__));} @@ -2378,7 +2421,9 @@ # define ACC_WORDSIZE 4 #elif (ACC_ARCH_Z80) # define ACC_WORDSIZE 1 -#elif (ACC_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) +#elif (ACC_ARCH_MIPS) && (ACC_SIZEOF_LONG == 8) && (defined(__R5900) || defined(__MIPS_PSX2__)) +# define ACC_WORDSIZE 8 +#elif (ACC_ARCH_MIPS) && (ACC_SIZEOF_LONG == 4) && defined(__mips64) && defined(_MIPS_SIM) && defined(_ABIN32) && (_MIPS_SIM+0 == _ABIN32+0) # define ACC_WORDSIZE 8 #elif (ACC_OS_OS400 || defined(__OS400__)) # define ACC_WORDSIZE 8 @@ -2780,6 +2825,7 @@ # endif #elif (ACC_ARCH_RISCV) # define ACC_OPT_AVOID_UINT_INDEX 1 +# if 0 # ifndef ACC_OPT_UNALIGNED16 # define ACC_OPT_UNALIGNED16 1 # endif @@ -2791,6 +2837,7 @@ # define ACC_OPT_UNALIGNED64 1 # endif # endif +# endif #elif (ACC_ARCH_S390) # ifndef ACC_OPT_UNALIGNED16 # define ACC_OPT_UNALIGNED16 1 @@ -3377,7 +3424,7 @@ #if (ACC_OS_POSIX) # if (ACC_OS_POSIX_AIX) # define HAVE_SYS_RESOURCE_H 1 -# elif (ACC_OS_POSIX_DARWIN || ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_NETBSD || ACC_OS_POSIX_OPENBSD) +# elif (ACC_OS_POSIX_DARWIN || ACC_OS_POSIX_DRAGONFLY || ACC_OS_POSIX_FREEBSD || ACC_OS_POSIX_NETBSD || ACC_OS_POSIX_OPENBSD) # define HAVE_STRINGS_H 1 # undef HAVE_MALLOC_H # elif (ACC_OS_POSIX_HPUX || ACC_OS_POSIX_INTERIX) @@ -6679,35 +6726,31 @@ # define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f) #endif ACCLIB_PUBLIC(void, acc_getopt_init) (acc_getopt_p g, - int start_argc, int argc, char** argv) + int start_argc, int argc, char **argv) { memset(g, 0, sizeof(*g)); g->optind = start_argc; g->argc = argc; g->argv = argv; g->optopt = -1; } -static int __ACCLIB_FUNCNAME(acc_getopt_rotate) (char** p, int first, int middle, int last) +static int __ACCLIB_FUNCNAME(acc_getopt_rotate) (char **p, int first, int middle, int last) { int i = middle, n = middle - first; if (first >= middle || middle >= last) return 0; - for (;;) - { - char* t = p[first]; p[first] = p[i]; p[i] = t; - if (++first == middle) - { - if (++i == last) break; + for (;;) { + char *t = p[first]; p[first++] = p[i]; p[i++] = t; + if (first == middle) { + if (i == last) break; middle = i; - } - else if (++i == last) + } else if (i == last) i = middle; } return n; } -static int __ACCLIB_FUNCNAME(acc_getopt_perror) (acc_getopt_p g, int ret, const char* f, ...) +static int __ACCLIB_FUNCNAME(acc_getopt_perror) (acc_getopt_p g, int ret, const char *f, ...) { - if (g->opterr) - { -#if (HAVE_STDARG_H) + if (g->opterr) { +#if defined(HAVE_STDARG_H) && (HAVE_STDARG_H) struct { va_list ap; } s; va_start(s.ap, f); g->opterr(g, f, &s); @@ -6720,16 +6763,15 @@ return ret; } ACCLIB_PUBLIC(int, acc_getopt) (acc_getopt_p g, - const char* shortopts, + const char *shortopts, const acc_getopt_longopt_p longopts, - int* longind) + int *longind) { #define pe __ACCLIB_FUNCNAME(acc_getopt_perror) int ordering = ACC_GETOPT_PERMUTE; int missing_arg_ret = g->bad_option; - char* a; - if (shortopts) - { + char *a; + if (shortopts) { if (*shortopts == '-' || *shortopts == '+') ordering = *shortopts++ == '-' ? ACC_GETOPT_RETURN_IN_ORDER : ACC_GETOPT_REQUIRE_ORDER; if (*shortopts == ':') @@ -6746,20 +6788,17 @@ goto acc_label_next_shortopt; g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind); g->pending_rotate_first = g->pending_rotate_middle = g->optind; - if (ordering == ACC_GETOPT_PERMUTE) - { + if (ordering == ACC_GETOPT_PERMUTE) { while (g->optind < g->argc && !(g->argv[g->optind][0] == '-' && g->argv[g->optind][1])) ++g->optind; g->pending_rotate_middle = g->optind; } - if (g->optind >= g->argc) - { + if (g->optind >= g->argc) { g->optind = g->pending_rotate_first; goto acc_label_eof; } a = g->argv[g->optind]; - if (a[0] == '-' && a[1] == '-') - { + if (a[0] == '-' && a[1] == '-') { size_t l = 0; const acc_getopt_longopt_p o; const acc_getopt_longopt_p o1 = NULL; @@ -6770,12 +6809,13 @@ goto acc_label_eof; for (a += 2; a[l] && a[l] != '=' && a[l] != '#'; ) ++l; - for (o = longopts; l && o && o->name; ++o) - { + for (o = longopts; l && o && o->name; ++o) { if (strncmp(a, o->name, l) != 0) continue; if (!o->name[l]) goto acc_label_found_o; + if ((o->has_arg & (ACC_GETOPT_EXACT_ARG | 0x80)) == (ACC_GETOPT_EXACT_ARG | 0x80)) + continue; need_exact |= o->has_arg & ACC_GETOPT_EXACT_ARG; if (o1) o2 = o; else o1 = o; @@ -6787,8 +6827,7 @@ o = o1; acc_label_found_o: a += l; - switch (o->has_arg & 0x2f) - { + switch (o->has_arg & 0x2f) { case ACC_GETOPT_OPTIONAL_ARG: if (a[0]) g->optarg = a + 1; @@ -6798,7 +6837,7 @@ g->optarg = a + 1; else if (g->optind < g->argc) g->optarg = g->argv[g->optind++]; - if (!g->optarg) + if (!g->optarg || (!g->optarg[0] && (o->has_arg & 0x40))) return pe(g, missing_arg_ret, "option '--%s' requires an argument", o->name); break; case ACC_GETOPT_REQUIRED_ARG | 0x20: @@ -6814,43 +6853,35 @@ } if (longind) *longind = (int) (o - longopts); - if (o->flag) - { + if (o->flag) { *o->flag = o->val; return 0; } return o->val; } - if (a[0] == '-' && a[1]) - { + if (a[0] == '-' && a[1]) { unsigned char c; - const char* s; + const char *s; acc_label_next_shortopt: a = g->argv[g->optind] + ++g->shortpos; c = (unsigned char) *a++; s = NULL; if (c != ':' && shortopts) s = strchr(shortopts, c); - if (!s || s[1] != ':') - { + if (!s || s[1] != ':') { if (!a[0]) { ++g->optind; g->shortpos = 0; } - if (!s) - { + if (!s) { g->optopt = c; return pe(g, g->bad_option, "invalid option '-%c'", c); } - } - else - { + } else { ++g->optind; g->shortpos = 0; if (a[0]) g->optarg = a; - else if (s[2] != ':') - { + else if (s[2] != ':') { if (g->optind < g->argc) g->optarg = g->argv[g->optind++]; - else - { + else { g->optopt = c; return pe(g, missing_arg_ret, "option '-%c' requires an argument", c); } @@ -6858,8 +6889,7 @@ } return c; } - if (ordering == ACC_GETOPT_RETURN_IN_ORDER) - { + if (ordering == ACC_GETOPT_RETURN_IN_ORDER) { ++g->optind; g->optarg = a; return 1; @@ -7352,7 +7382,7 @@ if (clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts) != 0) return -1; c->tv_sec = ts.tv_sec; - c->tv_nsec = (acc_uint32l_t) ts.tv_nsec; + c->tv_nsec = ACC_STATIC_CAST(acc_uint32l_t, ts.tv_nsec); ACC_UNUSED(h); return 0; } #endif diff -Nru upx-ucl-3.95/src/msg.cpp upx-ucl-3.96/src/msg.cpp --- upx-ucl-3.95/src/msg.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/msg.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/options.h upx-ucl-3.96/src/options.h --- upx-ucl-3.95/src/options.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/options.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/packer_c.cpp upx-ucl-3.96/src/packer_c.cpp --- upx-ucl-3.95/src/packer_c.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/packer_c.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/packer.cpp upx-ucl-3.96/src/packer.cpp --- upx-ucl-3.95/src/packer.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/packer.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -1491,11 +1491,11 @@ lsize = getLoaderSize(); assert(lsize > 0); } -#if 0 +#if 0 //{ printf("\n%2d %02x: %d +%4d +%3d = %d (best: %d +%4d +%3d = %d)\n", ph.method, ph.filter, ph.c_len, lsize, hdr_c_len, ph.c_len + lsize + hdr_c_len, best_ph.c_len, best_ph_lsize, best_hdr_c_len, best_ph.c_len + best_ph_lsize + best_hdr_c_len); -#endif +#endif //} bool update = false; if (ph.c_len + lsize + hdr_c_len < best_ph.c_len + best_ph_lsize + best_hdr_c_len) update = true; diff -Nru upx-ucl-3.95/src/packer_f.cpp upx-ucl-3.96/src/packer_f.cpp --- upx-ucl-3.95/src/packer_f.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/packer_f.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/packer.h upx-ucl-3.96/src/packer.h --- upx-ucl-3.95/src/packer.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/packer.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/packhead.cpp upx-ucl-3.96/src/packhead.cpp --- upx-ucl-3.95/src/packhead.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/packhead.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/packmast.cpp upx-ucl-3.96/src/packmast.cpp --- upx-ucl-3.95/src/packmast.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/packmast.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/packmast.h upx-ucl-3.96/src/packmast.h --- upx-ucl-3.95/src/packmast.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/packmast.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_armpe.cpp upx-ucl-3.96/src/p_armpe.cpp --- upx-ucl-3.95/src/p_armpe.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_armpe.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_armpe.h upx-ucl-3.96/src/p_armpe.h --- upx-ucl-3.95/src/p_armpe.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_armpe.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_com.cpp upx-ucl-3.96/src/p_com.cpp --- upx-ucl-3.95/src/p_com.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_com.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_com.h upx-ucl-3.96/src/p_com.h --- upx-ucl-3.95/src/p_com.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_com.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_djgpp2.cpp upx-ucl-3.96/src/p_djgpp2.cpp --- upx-ucl-3.95/src/p_djgpp2.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_djgpp2.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_djgpp2.h upx-ucl-3.96/src/p_djgpp2.h --- upx-ucl-3.95/src/p_djgpp2.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_djgpp2.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/pefile.cpp upx-ucl-3.96/src/pefile.cpp --- upx-ucl-3.95/src/pefile.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/pefile.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -1432,8 +1432,9 @@ soloadconf = get_le32(loadconf); if (soloadconf == 0) return; - if (soloadconf > 256) - throwCantPack("size of Load Configuration directory unexpected"); + static unsigned const MAX_SOLOADCONF = 256; // XXX FIXME: Why? + if (soloadconf > MAX_SOLOADCONF) + info("Load Configuration directory %u > %u", soloadconf, MAX_SOLOADCONF); // if there were relocation entries referring to the load config table // then we need them for the copy of the table too diff -Nru upx-ucl-3.95/src/pefile.h upx-ucl-3.96/src/pefile.h --- upx-ucl-3.95/src/pefile.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/pefile.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_elf_enum.h upx-ucl-3.96/src/p_elf_enum.h --- upx-ucl-3.95/src/p_elf_enum.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_elf_enum.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -155,12 +155,14 @@ DT_RELA = 7, /* Relocations which do contain an addend */ DT_RELASZ = 8, /* Total size of Rela relocs */ DT_RELAENT = 9, /* Size of one RELA relocation */ + DT_STRSZ = 10, /* Size of string table */ + DT_SYMENT = 11, /* Size of one symbol table entry */ DT_INIT = 12, /* Address of init function */ DT_FINI = 13, /* Address of termination function */ + DT_REL = 17, /* Relocations which contain no addend */ DT_RELSZ = 18, /* Total size of Rel relocs */ DT_RELENT = 19, /* Size of one Rel relocation */ - DT_STRSZ = 10, /* Sizeof string table */ DT_PLTREL = 20, /* Type of reloc in PLT */ DT_TEXTREL = 22, /* Reloc might modify .text */ DT_JMPREL = 23, /* Address of PLT relocs */ @@ -240,6 +242,13 @@ R_PPC_JMP_SLOT = 21, R_PPC64_JMP_SLOT = R_PPC_JMP_SLOT, R_X86_64_JUMP_SLOT = 7 + + , R_ARM_ABS32 = 2 + , R_ARM_GLOB_DAT = 21 + + , R_AARCH64_ABS64 = 257 + , R_AARCH64_GLOB_DAT = 1025 + }; #endif //} diff -Nru upx-ucl-3.95/src/p_elf.h upx-ucl-3.96/src/p_elf.h --- upx-ucl-3.95/src/p_elf.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_elf.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_exe.cpp upx-ucl-3.96/src/p_exe.cpp --- upx-ucl-3.95/src/p_exe.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_exe.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_exe.h upx-ucl-3.96/src/p_exe.h --- upx-ucl-3.95/src/p_exe.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_exe.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_lx_elf.cpp upx-ucl-3.96/src/p_lx_elf.cpp --- upx-ucl-3.95/src/p_lx_elf.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_lx_elf.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -42,6 +42,9 @@ #include "p_lx_elf.h" #include "ui.h" +typedef upx_uint32_t u32_t; // easier to type; more narrow +typedef upx_uint64_t u64_t; // easier to type; more narrow + #define PT_LOAD32 Elf32_Phdr::PT_LOAD #define PT_LOAD64 Elf64_Phdr::PT_LOAD #define PT_NOTE32 Elf32_Phdr::PT_NOTE @@ -120,7 +123,7 @@ if (mb.getVoidPtr() == NULL) { mb.alloc(size); } else { - assert(size <= (off_t) mb.getSize()); + assert((u32_t)size <= mb.getSize()); } } @@ -300,7 +303,9 @@ if (Elf32_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) { dynseg= (Elf32_Dyn const *)(check_pt_dynamic(phdr) + file_image); invert_pt_dynamic(dynseg); - break; + } + else if (PT_LOAD32==get_te32(&phdr->p_type)) { + check_pt_load(phdr); } // elf_find_dynamic() returns 0 if 0==dynseg. dynstr = (char const *)elf_find_dynamic(Elf32_Dyn::DT_STRTAB); @@ -310,7 +315,7 @@ jni_onload_sym = elf_lookup("JNI_OnLoad"); if (jni_onload_sym) { jni_onload_va = get_te32(&jni_onload_sym->st_value); - jni_onload_va = 0; + jni_onload_va = 0; // FIXME not understood; need example } } } @@ -323,7 +328,7 @@ unsigned const t = (4 & len) ^ ((!!xct_off)<<2); // 0 or 4 fo->write(&zero, t); - len += t; + len += t; // force sz_pack2 (0 mod 8) [see below] set_te32(&disp, sz_elf_hdrs + sizeof(p_info) + sizeof(l_info) + (!!xct_off & !!opt->o_unix.android_shlib)); // |1 iff android shlib @@ -352,7 +357,7 @@ fo->write(&disp, sizeof(disp)); // offset(dst for f_exp) len += sizeof(disp); } - sz_pack2 = len; // 0 mod 8 + sz_pack2 = len; // 0 mod 8 [see above] super::pack3(fo, ft); // append the decompressor set_te16(&linfo.l_lsize, up4( // MATCH03: up4 @@ -424,9 +429,10 @@ // by decrementing e_phnum. memcpy((unsigned char *)ibuf, phdr, sizeof(*phdr)); // extract memmove(phdr, 1+phdr, (e_phnum - (1+ j))*sizeof(*phdr)); // overlapping - memcpy(&phdr[-1+ e_phnum], (unsigned char *)ibuf, sizeof(*phdr)); // to top - --phdr; - set_te16(&ehdri.e_phnum, --e_phnum); + memcpy(&phdr[e_phnum - (1+ j)], (unsigned char *)ibuf, sizeof(*phdr)); // to top + --phdr; --e_phnum; + set_te16(&ehdri.e_phnum, e_phnum); + set_te16(&((Elf32_Ehdr *)(unsigned char *)lowmem)->e_phnum, e_phnum); continue; } if (PT_LOAD32 == type) { @@ -517,7 +523,7 @@ // So: pretend 4KiB pages. upx_uint64_t const pm = ( Elf64_Ehdr::EM_X86_64 ==e_machine - || Elf64_Ehdr::EM_AARCH64==e_machine + //|| Elf64_Ehdr::EM_AARCH64==e_machine //|| Elf64_Ehdr::EM_PPC64 ==e_machine /* DOES NOT WORK! */ ) ? ((~(upx_uint64_t)0)<<12) @@ -548,9 +554,10 @@ // by decrementing e_phnum. memcpy((unsigned char *)ibuf, phdr, sizeof(*phdr)); // extract memmove(phdr, 1+phdr, (e_phnum - (1+ j))*sizeof(*phdr)); // overlapping - memcpy(&phdr[-1+ e_phnum], (unsigned char *)ibuf, sizeof(*phdr)); // to top - --phdr; - set_te16(&ehdri.e_phnum, --e_phnum); + memcpy(&phdr[e_phnum - (1+ j)], (unsigned char *)ibuf, sizeof(*phdr)); // to top + --phdr; --e_phnum; + set_te16(&ehdri.e_phnum, e_phnum); + set_te16(&((Elf64_Ehdr *)(unsigned char *)lowmem)->e_phnum, e_phnum); continue; } if (PT_LOAD64 == type) { @@ -564,7 +571,9 @@ // is a forward-looking 2MiB. In 2009 Linux chooses 4KiB. // We choose 4KiB to waste less space. If Linux chooses // 2MiB later, then our output will not run. - if ((1u<<12) < align) { + if ((1u<<12) < align + && Elf64_Ehdr::EM_X86_64 ==e_machine + ) { align = 1u<<12; set_te64(&phdr->p_align, align); } @@ -672,6 +681,7 @@ jni_onload_sym(NULL), shstrtab(NULL), sec_strndx(NULL), sec_dynsym(NULL), sec_dynstr(NULL) + , symnum_end(0) { memset(&ehdri, 0, sizeof(ehdri)); if (f) { @@ -693,6 +703,7 @@ jni_onload_sym(NULL), shstrtab(NULL), sec_strndx(NULL), sec_dynsym(NULL), sec_dynstr(NULL) + , symnum_end(0) { memset(&ehdri, 0, sizeof(ehdri)); if (f) { @@ -770,7 +781,9 @@ if (Elf64_Phdr::PT_DYNAMIC==get_te64(&phdr->p_type)) { dynseg= (Elf64_Dyn const *)(check_pt_dynamic(phdr) + file_image); invert_pt_dynamic(dynseg); - break; + } + else if (PT_LOAD64==get_te32(&phdr->p_type)) { + check_pt_load(phdr); } // elf_find_dynamic() returns 0 if 0==dynseg. dynstr = (char const *)elf_find_dynamic(Elf64_Dyn::DT_STRTAB); @@ -780,7 +793,7 @@ jni_onload_sym = elf_lookup("JNI_OnLoad"); if (jni_onload_sym) { jni_onload_va = get_te64(&jni_onload_sym->st_value); - jni_onload_va = 0; + jni_onload_va = 0; // FIXME not understood; need example } } } @@ -1558,11 +1571,21 @@ if (dt_table[Elf32_Dyn::DT_NULL]) { return; // not 1st time; do not change upx_dt_init } + Elf32_Dyn const *const dynp0 = dynp; unsigned ndx = 1+ 0; if (dynp) for (; ; ++ndx, ++dynp) { unsigned const d_tag = get_te32(&dynp->d_tag); if (d_tag < DT_NUM) { + if (Elf32_Dyn::DT_NEEDED != d_tag + && dt_table[d_tag] + && get_te32(&dynp->d_val) + != get_te32(&dynp0[-1+ dt_table[d_tag]].d_val)) { + char msg[50]; snprintf(msg, sizeof(msg), + "duplicate DT_%#x: [%#x] [%#x]", + d_tag, -1+ dt_table[d_tag], -1+ ndx); + throwCantPack(msg); + } dt_table[d_tag] = ndx; } if (Elf32_Dyn::DT_NULL == d_tag) { @@ -1573,6 +1596,107 @@ if (dt_table[Elf32_Dyn::DT_INIT]) upx_dt_init = Elf32_Dyn::DT_INIT; else if (dt_table[Elf32_Dyn::DT_PREINIT_ARRAY]) upx_dt_init = Elf32_Dyn::DT_PREINIT_ARRAY; else if (dt_table[Elf32_Dyn::DT_INIT_ARRAY]) upx_dt_init = Elf32_Dyn::DT_INIT_ARRAY; + + unsigned const z_str = dt_table[Elf32_Dyn::DT_STRSZ]; + if (z_str) { + strtab_end = get_te32(&dynp0[-1+ z_str].d_val); + if ((u32_t)file_size <= strtab_end) { // FIXME: weak + char msg[50]; snprintf(msg, sizeof(msg), + "bad DT_STRSZ %#x", strtab_end); + throwCantPack(msg); + } + } + unsigned const x_sym = dt_table[Elf32_Dyn::DT_SYMTAB]; + unsigned const x_str = dt_table[Elf32_Dyn::DT_STRTAB]; + if (x_sym && x_str) { + upx_uint32_t const v_sym = get_te32(&dynp0[-1+ x_sym].d_val); + upx_uint32_t const v_str = get_te32(&dynp0[-1+ x_str].d_val); + unsigned const z_sym = dt_table[Elf32_Dyn::DT_SYMENT]; + unsigned const sz_sym = !z_sym ? sizeof(Elf32_Sym) + : get_te32(&dynp0[-1+ z_sym].d_val); + if (sz_sym < sizeof(Elf32_Sym)) { + char msg[50]; snprintf(msg, sizeof(msg), + "bad DT_SYMENT %x", sz_sym); + throwCantPack(msg); + } + if (v_sym < v_str) { + symnum_end = (v_str - v_sym) / sz_sym; + } + if (symnum_end < 1) { + throwCantPack("bad DT_SYMTAB"); + } + } + // DT_HASH often ends at DT_SYMTAB + unsigned const v_hsh = elf_unsigned_dynamic(Elf32_Dyn::DT_HASH); + if (v_hsh && file_image) { + hashtab = (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_HASH); + if (!hashtab) { + char msg[40]; snprintf(msg, sizeof(msg), + "bad DT_HASH %#x", v_hsh); + throwCantPack(msg); + } + unsigned const nbucket = get_te32(&hashtab[0]); + unsigned const *const buckets = &hashtab[2]; + unsigned const *const chains = &buckets[nbucket]; (void)chains; + + unsigned const v_sym = !x_sym ? 0 : get_te32(&dynp0[-1+ x_sym].d_val); + if (!nbucket || !v_sym + || (nbucket>>31) || (file_size/sizeof(unsigned)) <= (2*nbucket) // FIXME: weak + || ((v_hsh < v_sym) && (v_sym - v_hsh) < (sizeof(unsigned)*2 // headers + + sizeof(*buckets)*nbucket // buckets + + sizeof(*chains) *nbucket // chains + )) + ) { + char msg[90]; snprintf(msg, sizeof(msg), + "bad DT_HASH nbucket=%#x len=%#x", + nbucket, (v_sym - v_hsh)); + throwCantPack(msg); + } + } + // DT_GNU_HASH often ends at DT_SYMTAB; FIXME: not for Android? + unsigned const v_gsh = elf_unsigned_dynamic(Elf32_Dyn::DT_GNU_HASH); + if (v_gsh && file_image) { + gashtab = (unsigned const *)elf_find_dynamic(Elf32_Dyn::DT_GNU_HASH); + if (!gashtab) { + char msg[40]; snprintf(msg, sizeof(msg), + "bad DT_GNU_HASH %#x", v_gsh); + throwCantPack(msg); + } + unsigned const n_bucket = get_te32(&gashtab[0]); + unsigned const n_bitmask = get_te32(&gashtab[2]); + unsigned const gnu_shift = get_te32(&gashtab[3]); + unsigned const *const bitmask = (unsigned const *)(void const *)&gashtab[4]; + unsigned const *const buckets = (unsigned const *)&bitmask[n_bitmask]; + unsigned const *const hasharr = &buckets[n_bucket]; (void)hasharr; + //unsigned const *const gashend = &hasharr[n_bucket]; // minimum + + unsigned const v_sym = !x_sym ? 0 : get_te32(&dynp0[-1+ x_sym].d_val); + if (!n_bucket || !n_bitmask || !v_sym + || (-1+ n_bitmask) & n_bitmask // not a power of 2 + || 8*sizeof(unsigned) <= gnu_shift // shifted result always == 0 + || (n_bucket>>30) // fie on fuzzers + || (n_bitmask>>30) + || (file_size / sizeof(unsigned)) <= (n_bitmask + 2*n_bucket) // FIXME: weak + // FIXME: next test does work for Android? + || ((v_gsh < v_sym) && (v_sym - v_gsh) < (sizeof(unsigned)*4 // headers + + sizeof(*bitmask)*n_bitmask // bitmask + + sizeof(*buckets)*n_bucket // buckets + + sizeof(*hasharr)*n_bucket // hasharr + )) + ) { + char msg[90]; snprintf(msg, sizeof(msg), + "bad DT_GNU_HASH n_bucket=%#x n_bitmask=%#x len=%#x", + n_bucket, n_bitmask, v_sym - v_gsh); + throwCantPack(msg); + } + } + unsigned const e_shstrndx = get_te16(&ehdri.e_shstrndx); + if (e_shnum <= e_shstrndx + && !(0==e_shnum && 0==e_shstrndx) ) { + char msg[40]; snprintf(msg, sizeof(msg), + "bad .e_shstrndx %d >= .e_shnum %d", e_shstrndx, e_shnum); + throwCantPack(msg); + } } Elf32_Phdr const * @@ -1607,7 +1731,14 @@ } int j = e_shnum; for (; 0 <=--j; ++shdr) { - if (0==strcmp(name, &shstrtab[get_te32(&shdr->sh_name)])) { + unsigned const sh_name = get_te32(&shdr->sh_name); + if ((u32_t)file_size <= sh_name) { // FIXME: weak + char msg[50]; snprintf(msg, sizeof(msg), + "bad Elf32_Shdr[%d].sh_name %#x", + -1+ e_shnum -j, sh_name); + throwCantPack(msg); + } + if (0==strcmp(name, &shstrtab[sh_name])) { return shdr; } } @@ -1624,8 +1755,14 @@ } int j = e_shnum; for (; 0 <=--j; ++shdr) { - unsigned ndx = get_te64(&shdr->sh_name); - if (0==strcmp(name, &shstrtab[ndx])) { + unsigned const sh_name = get_te32(&shdr->sh_name); + if ((u32_t)file_size <= sh_name) { // FIXME: weak + char msg[50]; snprintf(msg, sizeof(msg), + "bad Elf64_Shdr[%d].sh_name %#x", + -1+ e_shnum -j, sh_name); + throwCantPack(msg); + } + if (0==strcmp(name, &shstrtab[sh_name])) { return shdr; } } @@ -1666,14 +1803,34 @@ return 0; } +char const *PackLinuxElf64::get_str_name(unsigned st_name, unsigned symnum) const +{ + if (strtab_end <= st_name) { + char msg[70]; snprintf(msg, sizeof(msg), + "bad .st_name %#x in DT_SYMTAB[%d]", st_name, symnum); + throwCantPack(msg); + } + return &dynstr[st_name]; +} + +char const *PackLinuxElf64::get_dynsym_name(unsigned symnum, unsigned relnum) const +{ + if (symnum_end <= symnum) { + char msg[70]; snprintf(msg, sizeof(msg), + "bad symnum %#x in Elf64_Rel[%d]", symnum, relnum); + throwCantPack(msg); + } + return get_str_name(get_te32(&dynsym[symnum].st_name), symnum); +} + bool PackLinuxElf64::calls_crt1(Elf64_Rela const *rela, int sz) { - if (!dynsym || !dynstr) { + if (!dynsym || !dynstr || !rela) { return false; } - for (; 0 < sz; (sz -= sizeof(Elf64_Rela)), ++rela) { + for (unsigned relnum= 0; 0 < sz; (sz -= sizeof(Elf64_Rela)), ++rela, ++relnum) { unsigned const symnum = get_te64(&rela->r_info) >> 32; - char const *const symnam = get_te32(&dynsym[symnum].st_name) + dynstr; + char const *const symnam = get_dynsym_name(symnum, relnum); if (0==strcmp(symnam, "__libc_start_main") // glibc || 0==strcmp(symnam, "__libc_init") // Android || 0==strcmp(symnam, "__uClibc_main") @@ -1683,14 +1840,34 @@ return false; } +char const *PackLinuxElf32::get_str_name(unsigned st_name, unsigned symnum) const +{ + if (strtab_end <= st_name) { + char msg[70]; snprintf(msg, sizeof(msg), + "bad .st_name %#x in DT_SYMTAB[%d]\n", st_name, symnum); + throwCantPack(msg); + } + return &dynstr[st_name]; +} + +char const *PackLinuxElf32::get_dynsym_name(unsigned symnum, unsigned relnum) const +{ + if (symnum_end <= symnum) { + char msg[70]; snprintf(msg, sizeof(msg), + "bad symnum %#x in Elf32_Rel[%d]\n", symnum, relnum); + throwCantPack(msg); + } + return get_str_name(get_te32(&dynsym[symnum].st_name), symnum); +} + bool PackLinuxElf32::calls_crt1(Elf32_Rel const *rel, int sz) { - if (!dynsym || !dynstr) { + if (!dynsym || !dynstr || !rel) { return false; } - for (; 0 < sz; (sz -= sizeof(Elf32_Rel)), ++rel) { + for (unsigned relnum= 0; 0 < sz; (sz -= sizeof(Elf32_Rel)), ++rel, ++relnum) { unsigned const symnum = get_te32(&rel->r_info) >> 8; - char const *const symnam = get_te32(&dynsym[symnum].st_name) + dynstr; + char const *const symnam = get_dynsym_name(symnum, relnum); if (0==strcmp(symnam, "__libc_start_main") // glibc || 0==strcmp(symnam, "__libc_init") // Android || 0==strcmp(symnam, "__uClibc_main") @@ -1700,6 +1877,10 @@ return false; } +#define WANT_REL_ENUM +#include "p_elf_enum.h" +#undef WANT_REL_ENUM + bool PackLinuxElf32::canPack() { union { @@ -1826,24 +2007,62 @@ phdri= (Elf32_Phdr *)((size_t)e_phoff + file_image); // do not free() !! shdri= (Elf32_Shdr *)((size_t)e_shoff + file_image); // do not free() !! - sec_strndx = &shdri[get_te16(&ehdr->e_shstrndx)]; - shstrtab = (char const *)(get_te32(&sec_strndx->sh_offset) + file_image); - sec_dynsym = elf_find_section_type(Elf32_Shdr::SHT_DYNSYM); - if (sec_dynsym) - sec_dynstr = get_te32(&sec_dynsym->sh_link) + shdri; - - if (Elf32_Shdr::SHT_STRTAB != get_te32(&sec_strndx->sh_type) - || 0!=strcmp((char const *)".shstrtab", - &shstrtab[get_te32(&sec_strndx->sh_name)]) ) { - throwCantPack("bad e_shstrndx"); + sec_strndx = NULL; + shstrtab = NULL; + if (e_shnum) { + unsigned const e_shstrndx = get_te16(&ehdr->e_shstrndx); + if (e_shstrndx) { + if (e_shnum <= e_shstrndx) { + char msg[40]; snprintf(msg, sizeof(msg), + "bad e_shstrndx %#x >= e_shnum %d", e_shstrndx, e_shnum); + throwCantPack(msg); + } + sec_strndx = &shdri[e_shstrndx]; + unsigned const sh_offset = get_te32(&sec_strndx->sh_offset); + if ((u32_t)file_size <= sh_offset) { + char msg[50]; snprintf(msg, sizeof(msg), + "bad .e_shstrndx->sh_offset %#x", sh_offset); + throwCantPack(msg); + } + shstrtab = (char const *)(sh_offset + file_image); + } + sec_dynsym = elf_find_section_type(Elf32_Shdr::SHT_DYNSYM); + if (sec_dynsym) { + unsigned const sh_link = get_te32(&sec_dynsym->sh_link); + if (e_shnum <= sh_link) { + char msg[50]; snprintf(msg, sizeof(msg), + "bad SHT_DYNSYM.sh_link %#x", sh_link); + } + sec_dynstr = &shdri[sh_link]; + } + + if (sec_strndx) { + unsigned const sh_name = get_te32(&sec_strndx->sh_name); + if (Elf32_Shdr::SHT_STRTAB != get_te32(&sec_strndx->sh_type) + || (u32_t)file_size <= (sizeof(".shstrtab") + + sh_name + (shstrtab - (const char *)&file_image[0])) + || (sh_name + && 0!=strcmp((char const *)".shstrtab", &shstrtab[sh_name])) + ) { + throwCantPack("bad e_shstrtab"); + } + } } + Elf32_Phdr const *pload_x0(0); // first eXecutable PT_LOAD phdr= phdri; for (int j= e_phnum; --j>=0; ++phdr) if (Elf32_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) { dynseg= (Elf32_Dyn const *)(check_pt_dynamic(phdr) + file_image); invert_pt_dynamic(dynseg); - break; + } + else if (PT_LOAD32==get_te32(&phdr->p_type)) { + if (!pload_x0 + && Elf32_Phdr::PF_X & get_te32(&phdr->p_flags) + ) { + pload_x0 = phdr; + } + check_pt_load(phdr); } // elf_find_dynamic() returns 0 if 0==dynseg. dynstr= (char const *)elf_find_dynamic(Elf32_Dyn::DT_STRTAB); @@ -1885,6 +2104,16 @@ throwCantPack("DT_TEXTREL found; re-compile with -fPIC"); goto abandon; } + if (!(Elf32_Dyn::DF_1_PIE & elf_unsigned_dynamic(Elf32_Dyn::DT_FLAGS_1))) { + // not explicitly PIE main program + if (Elf32_Ehdr::EM_ARM == e_machine // Android is common + && !opt->o_unix.android_shlib // but not explicit + ) { + opt->info_mode++; + info("note: use --android-shlib if appropriate"); + opt->info_mode--; + } + } Elf32_Shdr const *shdr = shdri; xct_va = ~0u; if (e_shnum) { @@ -1898,8 +2127,58 @@ && Elf32_Shdr::SHT_PREINIT_ARRAY==sh_type) || ( Elf32_Dyn::DT_INIT_ARRAY ==upx_dt_init && Elf32_Shdr::SHT_INIT_ARRAY ==sh_type) ) { + unsigned user_init_ava = get_te32(&shdr->sh_addr); user_init_off = get_te32(&shdr->sh_offset); - user_init_va = get_te32(&file_image[user_init_off]); + if ((u32_t)file_size <= user_init_off) { + char msg[70]; snprintf(msg, sizeof(msg), + "bad Elf32_Shdr[%d].sh_offset %#x", + -1+ e_shnum - j, user_init_off); + throwCantPack(msg); + } + // Check that &file_image[user_init_off] has + // *_RELATIVE relocation, and fetch user_init_va. + // If Elf32_Rela then the actual value is in Rela.r_addend. + int z_rel = dt_table[Elf32_Dyn::DT_REL]; + int z_rsz = dt_table[Elf32_Dyn::DT_RELSZ]; + if (z_rel && z_rsz) { + unsigned rel_off = get_te32(&dynseg[-1+ z_rel].d_val); + Elf32_Rel *rp = (Elf32_Rel *)&file_image[rel_off]; + unsigned relsz = get_te32(&dynseg[-1+ z_rsz].d_val); + Elf32_Rel *last = (Elf32_Rel *)(relsz + (char *)rp); + for (; rp < last; ++rp) { + unsigned r_va = get_te32(&rp->r_offset); + if (r_va == user_init_ava) { // found the Elf32_Rel + unsigned r_info = get_te32(&rp->r_info); + unsigned r_type = ELF32_R_TYPE(r_info); + if (Elf32_Ehdr::EM_ARM == e_machine + && R_ARM_RELATIVE == r_type) { + user_init_va = get_te32(&file_image[user_init_off]); + } + else { + char msg[50]; snprintf(msg, sizeof(msg), + "bad relocation %#x DT_INIT_ARRAY[0]", + r_info); + throwCantPack(msg); + } + break; + } + } + } + unsigned const p_filesz = get_te32(&pload_x0->p_filesz); + if (!((user_init_va - xct_va) < p_filesz)) { + // Not in executable portion of first executable PT_LOAD. + if (0==user_init_va && opt->o_unix.android_shlib) { + // Android allows (0 ==> skip) ? + upx_dt_init = 0; // force steal of 'extra' DT_NULL + // XXX: FIXME: depends on SHT_DYNAMIC coming later + } + else { + char msg[70]; snprintf(msg, sizeof(msg), + "bad init address %#x in Elf32_Shdr[%d].%#x\n", + (unsigned)user_init_va, -1+ e_shnum - j, user_init_off); + throwCantPack(msg); + } + } } // By default /usr/bin/ld leaves 4 extra DT_NULL to support pre-linking. // Take one as a last resort. @@ -1979,7 +2258,7 @@ } xct_off = elf_get_offset_from_address(xct_va); if (opt->debug.debug_level) { - fprintf(stderr, "shlib canPack: xct_va=%#lx xct_off=%lx\n", + fprintf(stderr, "shlib canPack: xct_va=%#lx xct_off=%#lx\n", (long)xct_va, (long)xct_off); } goto proceed; // But proper packing depends on checking xct_va. @@ -2078,24 +2357,62 @@ phdri= (Elf64_Phdr *)((size_t)e_phoff + file_image); // do not free() !! shdri= (Elf64_Shdr *)((size_t)e_shoff + file_image); // do not free() !! - sec_dynsym = elf_find_section_type(Elf64_Shdr::SHT_DYNSYM); - if (sec_dynsym) - sec_dynstr = get_te32(&sec_dynsym->sh_link) + shdri; - - sec_strndx = &shdri[get_te16(&ehdr->e_shstrndx)]; - shstrtab = (char const *)(get_te64(&sec_strndx->sh_offset) + file_image); - if (Elf64_Shdr::SHT_STRTAB != get_te32(&sec_strndx->sh_type) - || 0!=strcmp((char const *)".shstrtab", - &shstrtab[get_te32(&sec_strndx->sh_name)]) ) { - throwCantPack("bad e_shstrndx"); + sec_strndx = NULL; + shstrtab = NULL; + if (e_shnum) { + unsigned const e_shstrndx = get_te16(&ehdr->e_shstrndx); + if (e_shstrndx) { + if (e_shnum <= e_shstrndx) { + char msg[40]; snprintf(msg, sizeof(msg), + "bad e_shstrndx %#x >= e_shnum %d", e_shstrndx, e_shnum); + throwCantPack(msg); + } + sec_strndx = &shdri[e_shstrndx]; + upx_uint64_t sh_offset = get_te64(&sec_strndx->sh_offset); + if ((u64_t)file_size <= sh_offset) { + char msg[50]; snprintf(msg, sizeof(msg), + "bad .e_shstrndx->sh_offset %#lx", (long unsigned)sh_offset); + throwCantPack(msg); + } + shstrtab = (char const *)(sh_offset + file_image); + } + sec_dynsym = elf_find_section_type(Elf64_Shdr::SHT_DYNSYM); + if (sec_dynsym) { + upx_uint64_t const sh_link = get_te64(&sec_dynsym->sh_link); + if (e_shnum <= sh_link) { + char msg[50]; snprintf(msg, sizeof(msg), + "bad SHT_DYNSYM.sh_link %#lx", (long unsigned)sh_link); + } + sec_dynstr = &shdri[sh_link]; + } + + if (sec_strndx) { + unsigned const sh_name = get_te32(&sec_strndx->sh_name); + if (Elf64_Shdr::SHT_STRTAB != get_te32(&sec_strndx->sh_type) + || (u32_t)file_size <= (sizeof(".shstrtab") + + sh_name + (shstrtab - (const char *)&file_image[0])) + || (sh_name + && 0!=strcmp((char const *)".shstrtab", &shstrtab[sh_name])) + ) { + throwCantPack("bad e_shstrtab"); + } + } } + Elf64_Phdr const *pload_x0(0); // first eXecutable PT_LOAD phdr= phdri; for (int j= e_phnum; --j>=0; ++phdr) if (Elf64_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) { dynseg= (Elf64_Dyn const *)(check_pt_dynamic(phdr) + file_image); invert_pt_dynamic(dynseg); - break; + } + else if (PT_LOAD64==get_te32(&phdr->p_type)) { + if (!pload_x0 + && Elf32_Phdr::PF_X & get_te32(&phdr->p_flags) + ) { + pload_x0 = phdr; + } + check_pt_load(phdr); } // elf_find_dynamic() returns 0 if 0==dynseg. dynstr= (char const *)elf_find_dynamic(Elf64_Dyn::DT_STRTAB); @@ -2128,11 +2445,21 @@ throwCantPack("DT_TEXTREL found; re-compile with -fPIC"); goto abandon; } + if (!(Elf64_Dyn::DF_1_PIE & elf_unsigned_dynamic(Elf64_Dyn::DT_FLAGS_1))) { + // not explicitly PIE main program + if (Elf64_Ehdr::EM_AARCH64 == e_machine // Android is common + && !opt->o_unix.android_shlib // but not explicit + ) { + opt->info_mode++; + info("note: use --android-shlib if appropriate"); + opt->info_mode--; + } + } Elf64_Shdr const *shdr = shdri; xct_va = ~0ull; if (e_shnum) { for (int j= e_shnum; --j>=0; ++shdr) { - unsigned const sh_type = get_te64(&shdr->sh_type); + unsigned const sh_type = get_te32(&shdr->sh_type); if (Elf64_Shdr::SHF_EXECINSTR & get_te64(&shdr->sh_flags)) { xct_va = umin(xct_va, get_te64(&shdr->sh_addr)); } @@ -2141,8 +2468,62 @@ && Elf64_Shdr::SHT_PREINIT_ARRAY==sh_type) || ( Elf64_Dyn::DT_INIT_ARRAY ==upx_dt_init && Elf64_Shdr::SHT_INIT_ARRAY ==sh_type) ) { + unsigned user_init_ava = get_te32(&shdr->sh_addr); user_init_off = get_te64(&shdr->sh_offset); - user_init_va = get_te64(&file_image[user_init_off]); + if ((u64_t)file_size <= user_init_off) { + char msg[70]; snprintf(msg, sizeof(msg), + "bad Elf64_Shdr[%d].sh_offset %#x", + -1+ e_shnum - j, user_init_off); + throwCantPack(msg); + } + // Check that &file_image[user_init_off] has + // *_RELATIVE relocation, and fetch user_init_va. + // If Elf64_Rela then the actual value is in Rela.r_addend. + int z_rel = dt_table[Elf64_Dyn::DT_RELA]; + int z_rsz = dt_table[Elf64_Dyn::DT_RELASZ]; + if (z_rel && z_rsz) { + unsigned rel_off = get_te64(&dynseg[-1+ z_rel].d_val); + Elf64_Rela *rp = (Elf64_Rela *)&file_image[rel_off]; + unsigned relsz = get_te64(&dynseg[-1+ z_rsz].d_val); + Elf64_Rela *last = (Elf64_Rela *)(relsz + (char *)rp); + for (; rp < last; ++rp) { + unsigned r_va = get_te64(&rp->r_offset); + if (r_va == user_init_ava) { // found the Elf64_Rela + unsigned r_info = get_te64(&rp->r_info); + unsigned r_type = ELF64_R_TYPE(r_info); + if (Elf64_Ehdr::EM_AARCH64 == e_machine + && R_AARCH64_RELATIVE == r_type) { + user_init_va = get_te64(&rp->r_addend); + } + else if (Elf64_Ehdr::EM_AARCH64 == e_machine + && R_AARCH64_ABS64 == r_type) { + user_init_va = get_te64(&file_image[user_init_off]); + } + else { + char msg[50]; snprintf(msg, sizeof(msg), + "bad relocation %#x DT_INIT_ARRAY[0]", + r_info); + throwCantPack(msg); + } + break; + } + } + } + unsigned const p_filesz = get_te64(&pload_x0->p_filesz); + if (!((user_init_va - xct_va) < p_filesz)) { + // Not in executable portion of first executable PT_LOAD. + if (0==user_init_va && opt->o_unix.android_shlib) { + // Android allows (0 ==> skip) ? + upx_dt_init = 0; // force steal of 'extra' DT_NULL + // XXX: FIXME: depends on SHT_DYNAMIC coming later + } + else { + char msg[70]; snprintf(msg, sizeof(msg), + "bad init address %#x in Elf64_Shdr[%d].%#x\n", + (unsigned)user_init_va, -1+ e_shnum - j, user_init_off); + throwCantPack(msg); + } + } } // By default /usr/bin/ld leaves 4 extra DT_NULL to support pre-linking. // Take one as a last resort. @@ -2222,7 +2603,7 @@ } xct_off = elf_get_offset_from_address(xct_va); if (opt->debug.debug_level) { - fprintf(stderr, "shlib canPack: xct_va=%#lx xct_off=%lx\n", + fprintf(stderr, "shlib canPack: xct_va=%#lx xct_off=%#lx\n", (long)xct_va, (long)xct_off); } goto proceed; // But proper packing depends on checking xct_va. @@ -2575,7 +2956,7 @@ ) { // propagate sloppiness so that decompression does not complain h3->ehdr.e_ident[Elf64_Ehdr::EI_OSABI] = ehdri.e_ident[Elf64_Ehdr::EI_OSABI]; } - if (Elf64_Ehdr::EM_PPC64 == ehdri.e_machine) { + if (Elf64_Ehdr::EM_PPC64 == get_te16(&ehdri.e_machine)) { h3->ehdr.e_flags = ehdri.e_flags; // "0x1, abiv1" vs "0x2, abiv2" } @@ -2647,9 +3028,43 @@ } } -#define WANT_REL_ENUM -#include "p_elf_enum.h" -#undef WANT_REL_ENUM +// Android shlib has ABS symbols that actually are relative. +static char const abs_symbol_names[][14] = { + "__bss_end__" + , "_bss_end__" + , "__bss_start" + , "__bss_start__" + , "_edata" + , "_end" + , "__end__" + , "" +}; + +int +PackLinuxElf32::adjABS(Elf32_Sym *sym, unsigned delta) +{ + for (int j = 0; abs_symbol_names[j][0]; ++j) { + unsigned st_name = get_te32(&sym->st_name); + if (!strcmp(abs_symbol_names[j], get_str_name(st_name, (unsigned)-1))) { + sym->st_value += delta; + return 1; + } + } + return 0; +} + +int +PackLinuxElf64::adjABS(Elf64_Sym *sym, unsigned delta) +{ + for (int j = 0; abs_symbol_names[j][0]; ++j) { + unsigned st_name = get_te32(&sym->st_name); + if (!strcmp(abs_symbol_names[j], get_str_name(st_name, (unsigned)-1))) { + sym->st_value += delta; + return 1; + } + } + return 0; +} void PackLinuxElf32::pack1(OutputFile *fo, Filter & /*ft*/) { @@ -2741,6 +3156,9 @@ && xct_off <= symval) { set_te32(&sym->st_value, asl_delta + symval); } + if (Elf32_Sym::SHN_ABS == symsec && xct_off <= symval) { + adjABS(sym, asl_delta); + } } // Relocate Phdr virtual addresses, but not physical offsets and sizes @@ -2754,7 +3172,7 @@ if (PT_NOTE32 == get_te32(&phdr->p_type)) { upx_uint32_t memsz = get_te32(&phdr->p_memsz); if (sizeof(buf_notes) < (memsz + len_notes)) { - throwCantPack("PT_NOTES too big"); + throwCantPack("PT_NOTEs too big"); } set_te32(&phdr->p_vaddr, len_notes + (e_shnum * sizeof(Elf32_Shdr)) + xct_off); @@ -2857,13 +3275,21 @@ if (xct_off <= r_offset) { set_te32(&rel->r_offset, asl_delta + r_offset); } - if (Elf32_Ehdr::EM_ARM == e_machine) { - if (R_ARM_RELATIVE == r_type) { + if (Elf32_Ehdr::EM_ARM == e_machine) switch (r_type) { + default: { + char msg[90]; snprintf(msg, sizeof(msg), + "unexpected relocation %#x [%#x]", + r_type, -1 + (sh_size / sh_entsize) - k); + throwCantPack(msg); + } break; + case R_ARM_ABS32: // FALL THROUGH + case R_ARM_GLOB_DAT: // FALL THROUGH + case R_ARM_RELATIVE: { if (xct_off <= w) { set_te32(&file_image[d], asl_delta + w); } - } - if (R_ARM_JUMP_SLOT == r_type) { + } break; + case R_ARM_JUMP_SLOT: { if (plt_off > r_offset) { plt_off = r_offset; } @@ -2871,17 +3297,31 @@ set_te32(&file_image[d], asl_delta + w); } ++n_jmp_slot; - } + }; break; } } fo->seek(sh_offset, SEEK_SET); fo->rewrite(rel0, sh_size); } if (Elf32_Shdr::SHT_NOTE == sh_type) { - if (xct_off <= sh_offset) { - set_te32(&shdr->sh_offset, - (e_shnum * sizeof(Elf32_Shdr)) + xct_off); - shdr->sh_addr = shdr->sh_offset; + if (!(Elf32_Shdr::SHF_ALLOC & get_te32(&shdr->sh_flags))) { + // example: version number of 'gold' linker (static binder) + if (sizeof(buf_notes) < (sh_size + len_notes)) { + throwCantPack("SHT_NOTEs too big"); + } + set_te32(&shdro[j].sh_offset, + len_notes + (e_shnum * sizeof(Elf32_Shdr)) + xct_off); + memcpy(&buf_notes[len_notes], &file_image[sh_offset], sh_size); + len_notes += sh_size; + } + else { // SHF_ALLOC, thus already in PT_LOAD + // Not sure why we need this conditional. + // Anyway, some Android have multiple SHT_NOTE sections. + if (xct_off <= sh_offset) { + upx_uint32_t pos = xct_off + e_shnum * sizeof(Elf32_Shdr); + set_te32(&shdr->sh_addr, pos); + set_te32(&shdr->sh_offset, pos); + } } } } @@ -3135,6 +3575,9 @@ && xct_off <= symval) { set_te64(&sym->st_value, asl_delta + symval); } + if (Elf64_Sym::SHN_ABS == symsec && xct_off <= symval) { + adjABS(sym, asl_delta); + } } // Relocate Phdr virtual addresses, but not physical offsets and sizes @@ -3207,13 +3650,21 @@ if (xct_off <= r_offset) { set_te64(&rela->r_offset, asl_delta + r_offset); } - if (Elf64_Ehdr::EM_AARCH64 == e_machine) { - if (R_AARCH64_RELATIVE == r_type) { + if (Elf64_Ehdr::EM_AARCH64 == e_machine) switch (r_type) { + default: { + char msg[90]; snprintf(msg, sizeof(msg), + "unexpected relocation %#x [%#x]", + r_type, -1 + (unsigned)(sh_size / sh_entsize) - k); + throwCantPack(msg); + } break; + case R_AARCH64_ABS64: // FALL THROUGH + case R_AARCH64_GLOB_DAT: // FALL THROUGH + case R_AARCH64_RELATIVE: { if (xct_off <= r_addend) { set_te64(&rela->r_addend, asl_delta + r_addend); } - } - if (R_AARCH64_JUMP_SLOT == r_type) { + } break; + case R_AARCH64_JUMP_SLOT: { // .rela.plt contains offset of the "first time" target if (plt_off > r_offset) { plt_off = r_offset; @@ -3224,7 +3675,7 @@ set_te64(&file_image[d], asl_delta + w); } ++n_jmp_slot; - } + } break; } } fo->seek(sh_offset, SEEK_SET); @@ -3257,10 +3708,24 @@ } } if (Elf64_Shdr::SHT_NOTE == sh_type) { - if (xct_off <= sh_offset) { - set_te64(&shdr->sh_offset, - (e_shnum * sizeof(Elf64_Shdr)) + xct_off); - shdr->sh_addr = shdr->sh_offset; + if (!(Elf64_Shdr::SHF_ALLOC & get_te64(&shdr->sh_flags))) { + // example: version numer of 'gold' linker (static binder) + if (sizeof(buf_notes) < (sh_size + len_notes)) { + throwCantPack("SHT_NOTEs too big"); + } + set_te64(&shdro[j].sh_offset, + len_notes + (e_shnum * sizeof(Elf64_Shdr)) + xct_off); + memcpy(&buf_notes[len_notes], &file_image[sh_offset], sh_size); + len_notes += sh_size; + } + else { // SHF_ALLOC: in PT_LOAD; but move sh_addr and sh_offset + // Not sure why we need this conditional. + // Anyway, some Android have multiple SHT_NOTE sections. + if (xct_off <= sh_offset) { + upx_uint64_t pos = xct_off + e_shnum * sizeof(Elf64_Shdr); + set_te64(&shdr->sh_addr, pos); + set_te64(&shdr->sh_offset, pos); + } } } } @@ -3435,14 +3900,21 @@ } x.offset = get_te32(&phdri[k].p_offset); x.size = get_te32(&phdri[k].p_filesz); - if (!is_shlib || (off_t)hdr_u_len < x.size) { + if (!is_shlib || hdr_u_len < (u32_t)x.size) { if (0 == nx) { // 1st PT_LOAD32 must cover Ehdr at 0==p_offset unsigned const delta = hdr_u_len; if (ft.id < 0x40) { // FIXME: ?? ft.addvalue += asl_delta; } - x.offset += delta; - x.size -= delta; + if ((off_t)delta == x.size) { // PT_LOAD[0] with ElfXX.Ehdr only + // QBE backend - http://c9x.me/compile/ + hdr_u_len = 0; // no fiddling necessary! + // &ft arg to packExtent will be zero becaue (k != nk_f) + } + else { + x.offset += delta; + x.size -= delta; + } } // compressWithFilters() always assumes a "loader", so would // throw NotCompressible for small .data Extents, which PowerPC @@ -3468,7 +3940,7 @@ total_in += find_LOAD_gap(phdri, k, e_phnum); } - if ((off_t)total_in != file_size) + if (total_in != (u32_t)file_size) throwEOFException(); return 0; // omit end-of-compression bhdr for now @@ -3559,14 +4031,21 @@ } x.offset = get_te64(&phdri[k].p_offset); x.size = get_te64(&phdri[k].p_filesz); - if (!is_shlib || (off_t)hdr_u_len < x.size) { + if (!is_shlib || hdr_u_len < (u64_t)x.size) { if (0 == nx) { // 1st PT_LOAD64 must cover Ehdr at 0==p_offset unsigned const delta = hdr_u_len; if (ft.id < 0x40) { // FIXME: ?? ft.addvalue += asl_delta; } - x.offset += delta; - x.size -= delta; + if ((off_t)delta == x.size) { // PT_LOAD[0] with ElfXX.Ehdr only + // QBE backend - http://c9x.me/compile/ + hdr_u_len = 0; // no fiddling necessary! + // &ft arg to packExtent will be zero becaue (k != nk_f) + } + else { + x.offset += delta; + x.size -= delta; + } } // compressWithFilters() always assumes a "loader", so would // throw NotCompressible for small .data Extents, which PowerPC @@ -3592,7 +4071,7 @@ total_in += find_LOAD_gap(phdri, k, e_phnum); } - if ((off_t)total_in != file_size) + if (total_in != (u32_t)file_size) throwEOFException(); return 0; // omit end-of-compression bhdr for now @@ -3875,28 +4354,36 @@ unsigned relasz, MemBuffer &ptload1, upx_uint64_t const load_off, + upx_uint64_t old_dtinit, OutputFile *fo ) { Elf64_Rela *rela = rela0; for (int k = relasz / sizeof(Elf64_Rela); --k >= 0; ++rela) { upx_uint64_t r_addend = get_te64(&rela->r_addend); + if (xct_off <= r_addend) { + r_addend -= asl_delta; + set_te64(&rela->r_addend, r_addend); + } + upx_uint64_t r_offset = get_te64(&rela->r_offset); - upx_uint64_t r_info = get_te64(&rela->r_info); - unsigned r_type = ELF64_R_TYPE(r_info); if (xct_off <= r_offset) { - set_te64(&rela->r_offset, r_offset - asl_delta); + r_offset -= asl_delta; + set_te64(&rela->r_offset, r_offset); } + + upx_uint64_t r_info = get_te64(&rela->r_info); + unsigned r_type = ELF64_R_TYPE(r_info); if (Elf64_Ehdr::EM_AARCH64 == e_machine) { if (R_AARCH64_RELATIVE == r_type) { - if (xct_off <= r_addend) { - set_te64(&rela->r_addend, r_addend - asl_delta); + if (old_dtinit == r_addend) { + set_te64(&ptload1[r_offset - load_off], r_addend); } } if (R_AARCH64_JUMP_SLOT == r_type) { ++n_jmp_slot; // .rela.plt contains offset of the "first time" target - upx_uint64_t d = r_offset - load_off - asl_delta; + upx_uint64_t d = r_offset - load_off; if (plt_off > d) { plt_off = d; } @@ -3940,7 +4427,7 @@ p_info hbuf; fi->readx(&hbuf, sizeof(hbuf)); unsigned orig_file_size = get_te32(&hbuf.p_filesize); blocksize = get_te32(&hbuf.p_blocksize); - if (file_size > (off_t)orig_file_size || blocksize > orig_file_size + if ((u32_t)file_size > orig_file_size || blocksize > orig_file_size || !mem_size_valid(1, blocksize, OVERHEAD)) throwCantUnpack("p_info corrupted"); @@ -3989,7 +4476,8 @@ // Packed ET_EXE has no PT_DYNAMIC. // Packed ET_DYN has original PT_DYNAMIC for info needed by rtld. - bool const is_shlib = !!elf_find_ptype(Elf64_Phdr::PT_DYNAMIC, phdri, c_phnum); + Elf64_Phdr const *const dynhdr = elf_find_ptype(Elf64_Phdr::PT_DYNAMIC, phdri, c_phnum); + bool const is_shlib = !!dynhdr; if (is_shlib) { // Unpack and output the Ehdr and Phdrs for real. // This depends on position within input file fi. @@ -3997,30 +4485,41 @@ c_adler, u_adler, false, szb_info); // The first PT_LOAD. Part is not compressed (for benefit of rtld.) - // Read enough to position the input for next unpackExtent. fi->seek(0, SEEK_SET); - fi->readx(ibuf, overlay_offset + sizeof(hbuf) + szb_info + ph.c_len); + fi->readx(ibuf, get_te64(&dynhdr->p_offset) + get_te64(&dynhdr->p_filesz)); overlay_offset -= sizeof(linfo); xct_off = overlay_offset; e_shoff = get_te64(&ehdri.e_shoff); - if (e_shoff && shdri) { // --android-shlib + ibuf.subref("bad .e_shoff %#lx for %#lx", e_shoff, sizeof(Elf64_Shdr) * e_shnum); + if (e_shoff && e_shnum) { // --android-shlib + shdri = (Elf64_Shdr /*const*/ *)ibuf.subref( + "bad Shdr table", e_shoff, sizeof(Elf64_Shdr)*e_shnum); upx_uint64_t xct_off2 = get_te64(&shdri->sh_offset); if (e_shoff == xct_off2) { xct_off = e_shoff; } // un-Relocate dynsym (DT_SYMTAB) which is below xct_off - upx_uint64_t const off_dynsym = get_te64(&sec_dynsym->sh_offset); - upx_uint64_t const sz_dynsym = get_te64(&sec_dynsym->sh_size); - Elf64_Sym *const sym0 = (Elf64_Sym *)ibuf.subref( - "bad dynsym", off_dynsym, sz_dynsym); - Elf64_Sym *sym = sym0; - for (int j = sz_dynsym / sizeof(Elf64_Sym); --j>=0; ++sym) { - upx_uint64_t symval = get_te64(&sym->st_value); - unsigned symsec = get_te16(&sym->st_shndx); - if (Elf64_Sym::SHN_UNDEF != symsec - && Elf64_Sym::SHN_ABS != symsec - && xct_off <= symval) { - set_te64(&sym->st_value, symval - asl_delta); + dynseg = (Elf64_Dyn const *)ibuf.subref( + "bad DYNAMIC", get_te64(&dynhdr->p_offset), get_te64(&dynhdr->p_filesz)); + dynstr = (char const *)elf_find_dynamic(Elf64_Dyn::DT_STRTAB); + sec_dynsym = elf_find_section_type(Elf64_Shdr::SHT_DYNSYM); + if (sec_dynsym) { + upx_uint64_t const off_dynsym = get_te64(&sec_dynsym->sh_offset); + upx_uint64_t const sz_dynsym = get_te64(&sec_dynsym->sh_size); + Elf64_Sym *const sym0 = (Elf64_Sym *)ibuf.subref( + "bad dynsym", off_dynsym, sz_dynsym); + Elf64_Sym *sym = sym0; + for (int j = sz_dynsym / sizeof(Elf64_Sym); --j>=0; ++sym) { + upx_uint64_t symval = get_te64(&sym->st_value); + unsigned symsec = get_te16(&sym->st_shndx); + if (Elf64_Sym::SHN_UNDEF != symsec + && Elf64_Sym::SHN_ABS != symsec + && xct_off <= symval) { + set_te64(&sym->st_value, symval - asl_delta); + } + if (Elf64_Sym::SHN_ABS == symsec && xct_off <= symval) { + adjABS(sym, 0u - asl_delta); + } } } } @@ -4041,6 +4540,8 @@ total_in = xct_off; total_out = xct_off; ph.u_len = 0; + // Position the input for next unpackExtent. + fi->seek(sizeof(linfo) + overlay_offset + sizeof(hbuf) + szb_info + ph.c_len, SEEK_SET); // Decompress and unfilter the tail of first PT_LOAD. phdr = (Elf64_Phdr *) (void *) (1+ ehdr); @@ -4091,8 +4592,8 @@ funpad4(fi); // MATCH01 unsigned d_info[6]; fi->readx(d_info, sizeof(d_info)); if (0==old_dtinit) { - old_dtinit = d_info[2 + (0==d_info[0])]; - is_asl = 1u& d_info[1]; + old_dtinit = get_te32(&d_info[2 + (0==d_info[0])]); + is_asl = 1u& get_te32(&d_info[0 + (0==d_info[0])]); } fi->seek(lsize - sizeof(d_info), SEEK_CUR); } @@ -4147,13 +4648,13 @@ total_in += old_data_len; total_out += old_data_len; - Elf64_Phdr *dynhdr = (Elf64_Phdr *)&u[sizeof(*ehdr)]; - for (unsigned j3= 0; j3 < u_phnum; ++j3, ++dynhdr) - if (Elf64_Phdr::PT_DYNAMIC==get_te32(&dynhdr->p_type)) { + Elf64_Phdr const *udynhdr = (Elf64_Phdr *)&u[sizeof(*ehdr)]; + for (unsigned j3= 0; j3 < u_phnum; ++j3, ++udynhdr) + if (Elf64_Phdr::PT_DYNAMIC==get_te32(&udynhdr->p_type)) { upx_uint64_t dt_pltrelsz(0), dt_jmprel(0); upx_uint64_t dt_relasz(0), dt_rela(0); - upx_uint64_t const dyn_len = get_te64(&dynhdr->p_filesz); - upx_uint64_t const dyn_off = get_te64(&dynhdr->p_offset); + upx_uint64_t const dyn_len = get_te64(&udynhdr->p_filesz); + upx_uint64_t const dyn_off = get_te64(&udynhdr->p_offset); if (dyn_off < load_off) { continue; // Oops. Not really is_shlib ? [built by 'rust' ?] } @@ -4199,12 +4700,12 @@ if (dt_relasz && dt_rela) { Elf64_Rela *const rela0 = (Elf64_Rela *)lowmem.subref( "bad Rela offset", dt_rela, dt_relasz); - unRela64(dt_rela, rela0, dt_relasz, ibuf, load_va, fo); + unRela64(dt_rela, rela0, dt_relasz, ibuf, load_va, old_dtinit, fo); } if (dt_pltrelsz && dt_jmprel) { // FIXME: overlap w/ DT_REL ? Elf64_Rela *const jmp0 = (Elf64_Rela *)lowmem.subref( "bad Jmprel offset", dt_jmprel, dt_pltrelsz); - unRela64(dt_jmprel, jmp0, dt_pltrelsz, ibuf, load_va, fo); + unRela64(dt_jmprel, jmp0, dt_pltrelsz, ibuf, load_va, old_dtinit, fo); } // Modified relocation tables are re-written by unRela64 } @@ -4391,12 +4892,39 @@ for (; --j>=0; ++phdr) if (PT_LOAD32 == get_te32(&phdr->p_type)) { unsigned const t = addr - get_te32(&phdr->p_vaddr); if (t < get_te32(&phdr->p_filesz)) { - return t + get_te32(&phdr->p_offset); + unsigned const p_offset = get_te32(&phdr->p_offset); + if ((u32_t)file_size <= p_offset) { // FIXME: weak + char msg[40]; snprintf(msg, sizeof(msg), + "bad Elf32_Phdr[%d].p_offset %x", + -1+ e_phnum - j, p_offset); + throwCantPack(msg); + } + return t + p_offset; } } return 0; } +u32_t // returns .p_offset +PackLinuxElf32::check_pt_load(Elf32_Phdr const *const phdr) +{ + u32_t filesz = get_te32(&phdr->p_filesz); + u32_t offset = get_te32(&phdr->p_offset), offend = filesz + offset; + u32_t vaddr = get_te32(&phdr->p_vaddr); + u32_t paddr = get_te32(&phdr->p_paddr); + u32_t align = get_te32(&phdr->p_align); + + if ((-1+ align) & (paddr ^ vaddr) + || (u32_t)file_size <= (u32_t)offset + || (u32_t)file_size < (u32_t)offend + || (u32_t)file_size <= (u32_t)filesz) { + char msg[50]; snprintf(msg, sizeof(msg), "bad PT_LOAD phdr[%u]", + (unsigned)(phdr - phdri)); + throwCantPack(msg); + } + return offset; +} + Elf32_Dyn const * PackLinuxElf32::elf_has_dynamic(unsigned int key) const { @@ -4414,9 +4942,10 @@ unsigned t = get_te32(&phdr->p_offset), s = sizeof(Elf32_Dyn) + t; unsigned vaddr = get_te32(&phdr->p_vaddr); unsigned filesz = get_te32(&phdr->p_filesz), memsz = get_te32(&phdr->p_memsz); - if (s < t || file_size < (off_t)s + unsigned align = get_te32(&phdr->p_align); + if (s < t || (u32_t)file_size < s || (3 & t) || (7 & (filesz | memsz)) // .balign 4; 8==sizeof(Elf32_Dyn) - || (-1+ page_size) & (t ^ vaddr) + || (-1+ align) & (t ^ vaddr) || filesz < sizeof(Elf32_Dyn) || memsz < sizeof(Elf32_Dyn) || filesz < memsz) { @@ -4436,7 +4965,7 @@ for (; (unsigned)((char const *)dynp - (char const *)dynseg) < sz_dynseg && Elf32_Dyn::DT_NULL!=dynp->d_tag; ++dynp) if (get_te32(&dynp->d_tag)==key) { unsigned const t= elf_get_offset_from_address(get_te32(&dynp->d_val)); - if (t) { + if (t && t < (unsigned)file_size) { return t + file_image; } break; @@ -4464,12 +4993,39 @@ for (; --j>=0; ++phdr) if (PT_LOAD64 == get_te32(&phdr->p_type)) { upx_uint64_t const t = addr - get_te64(&phdr->p_vaddr); if (t < get_te64(&phdr->p_filesz)) { - return t + get_te64(&phdr->p_offset); + upx_uint64_t const p_offset = get_te64(&phdr->p_offset); + if ((u64_t)file_size <= p_offset) { // FIXME: weak + char msg[40]; snprintf(msg, sizeof(msg), + "bad Elf64_Phdr[%d].p_offset %#lx", + -1+ e_phnum - j, (long unsigned)p_offset); + throwCantPack(msg); + } + return t + p_offset; } } return 0; } +u64_t // returns .p_offset +PackLinuxElf64::check_pt_load(Elf64_Phdr const *const phdr) +{ + u64_t filesz = get_te64(&phdr->p_filesz); + u64_t offset = get_te64(&phdr->p_offset), offend = filesz + offset; + u64_t vaddr = get_te64(&phdr->p_vaddr); + u64_t paddr = get_te64(&phdr->p_paddr); + u64_t align = get_te64(&phdr->p_align); + + if ((-1+ align) & (paddr ^ vaddr) + || (u64_t)file_size <= (u64_t)offset + || (u64_t)file_size < (u64_t)offend + || (u64_t)file_size <= (u64_t)filesz) { + char msg[50]; snprintf(msg, sizeof(msg), "bad PT_LOAD phdr[%u]", + (unsigned)(phdr - phdri)); + throwCantPack(msg); + } + return offset; +} + Elf64_Dyn const * PackLinuxElf64::elf_has_dynamic(unsigned int key) const { @@ -4487,9 +5043,10 @@ upx_uint64_t t = get_te64(&phdr->p_offset), s = sizeof(Elf64_Dyn) + t; upx_uint64_t vaddr = get_te64(&phdr->p_vaddr); upx_uint64_t filesz = get_te64(&phdr->p_filesz), memsz = get_te64(&phdr->p_memsz); + upx_uint64_t align = get_te64(&phdr->p_align); if (s < t || (upx_uint64_t)file_size < s || (7 & t) || (0xf & (filesz | memsz)) // .balign 8; 16==sizeof(Elf64_Dyn) - || (-1+ page_size) & (t ^ vaddr) + || (-1+ align) & (t ^ vaddr) || filesz < sizeof(Elf64_Dyn) || memsz < sizeof(Elf64_Dyn) || filesz < memsz) { @@ -4507,11 +5064,26 @@ if (dt_table[Elf64_Dyn::DT_NULL]) { return; // not 1st time; do not change upx_dt_init } + Elf64_Dyn const *const dynp0 = dynp; unsigned ndx = 1+ 0; if (dynp) for (; ; ++ndx, ++dynp) { upx_uint64_t const d_tag = get_te64(&dynp->d_tag); + if (d_tag>>32) { // outrageous + char msg[50]; snprintf(msg, sizeof(msg), + "bad Elf64_Dyn[%d].d_tag %#lx", -1+ ndx, (long unsigned)d_tag); + throwCantPack(msg); + } if (d_tag < DT_NUM) { + if (Elf64_Dyn::DT_NEEDED != d_tag + && dt_table[d_tag] + && get_te64(&dynp->d_val) + != get_te64(&dynp0[-1+ dt_table[d_tag]].d_val)) { + char msg[50]; snprintf(msg, sizeof(msg), + "duplicate DT_%#x: [%#x] [%#x]", + (unsigned)d_tag, -1+ dt_table[d_tag], -1+ ndx); + throwCantPack(msg); + } dt_table[d_tag] = ndx; } if (Elf64_Dyn::DT_NULL == d_tag) { @@ -4522,6 +5094,109 @@ if (dt_table[Elf64_Dyn::DT_INIT]) upx_dt_init = Elf64_Dyn::DT_INIT; else if (dt_table[Elf64_Dyn::DT_PREINIT_ARRAY]) upx_dt_init = Elf64_Dyn::DT_PREINIT_ARRAY; else if (dt_table[Elf64_Dyn::DT_INIT_ARRAY]) upx_dt_init = Elf64_Dyn::DT_INIT_ARRAY; + + unsigned const z_str = dt_table[Elf64_Dyn::DT_STRSZ]; + if (z_str) { + strtab_end = get_te64(&dynp0[-1+ z_str].d_val); + if ((u64_t)file_size <= strtab_end) { // FIXME: weak + char msg[50]; snprintf(msg, sizeof(msg), + "bad DT_STRSZ %#x", strtab_end); + throwCantPack(msg); + } + } + // DT_SYMTAB has no designated length. + // End it when next area else starts; often DT_STRTAB. (FIXME) + unsigned const x_sym = dt_table[Elf64_Dyn::DT_SYMTAB]; + unsigned const x_str = dt_table[Elf64_Dyn::DT_STRTAB]; + if (x_sym && x_str) { + upx_uint64_t const v_sym = get_te64(&dynp0[-1+ x_sym].d_val); + upx_uint64_t const v_str = get_te64(&dynp0[-1+ x_str].d_val); + unsigned const z_sym = dt_table[Elf64_Dyn::DT_SYMENT]; + unsigned const sz_sym = !z_sym ? sizeof(Elf64_Sym) + : get_te64(&dynp0[-1+ z_sym].d_val); + if (sz_sym < sizeof(Elf64_Sym)) { + char msg[50]; snprintf(msg, sizeof(msg), + "bad DT_SYMENT %x", sz_sym); + throwCantPack(msg); + } + if (v_sym < v_str) { + symnum_end = (v_str - v_sym) / sz_sym; + } + if (symnum_end < 1) { + throwCantPack("bad DT_SYMTAB"); + } + } + // DT_HASH often ends at DT_SYMTAB + unsigned const v_hsh = elf_unsigned_dynamic(Elf64_Dyn::DT_HASH); + if (v_hsh && file_image) { + hashtab = (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_HASH); + if (!hashtab) { + char msg[40]; snprintf(msg, sizeof(msg), + "bad DT_HASH %#x", v_hsh); + throwCantPack(msg); + } + unsigned const nbucket = get_te32(&hashtab[0]); + unsigned const *const buckets = &hashtab[2]; + unsigned const *const chains = &buckets[nbucket]; (void)chains; + + unsigned const v_sym = !x_sym ? 0 : get_te32(&dynp0[-1+ x_sym].d_val); + if (!nbucket || !v_sym + || (nbucket>>31) || (file_size/sizeof(unsigned)) <= (2*nbucket) // FIXME: weak + || ((v_hsh < v_sym) && (v_sym - v_hsh) < (sizeof(unsigned)*2 // headers + + sizeof(*buckets)*nbucket // buckets + + sizeof(*chains) *nbucket // chains + )) + ) { + char msg[90]; snprintf(msg, sizeof(msg), + "bad DT_HASH nbucket=%#x len=%#x", + nbucket, (v_sym - v_hsh)); + throwCantPack(msg); + } + } + // DT_GNU_HASH often ends at DT_SYMTAB; FIXME: not for Android? + unsigned const v_gsh = elf_unsigned_dynamic(Elf64_Dyn::DT_GNU_HASH); + if (v_gsh && file_image) { + gashtab = (unsigned const *)elf_find_dynamic(Elf64_Dyn::DT_GNU_HASH); + if (!gashtab) { + char msg[40]; snprintf(msg, sizeof(msg), + "bad DT_GNU_HASH %#x", v_gsh); + throwCantPack(msg); + } + unsigned const n_bucket = get_te32(&gashtab[0]); + unsigned const n_bitmask = get_te32(&gashtab[2]); + unsigned const gnu_shift = get_te32(&gashtab[3]); + upx_uint64_t const *const bitmask = (upx_uint64_t const *)(void const *)&gashtab[4]; + unsigned const *const buckets = (unsigned const *)&bitmask[n_bitmask]; + unsigned const *const hasharr = &buckets[n_bucket]; (void)hasharr; + //unsigned const *const gashend = &hasharr[n_bucket]; // minimum + + upx_uint64_t const v_sym = !x_sym ? 0 : get_te64(&dynp0[-1+ x_sym].d_val); + if (!n_bucket || !n_bitmask || !v_sym + || (-1+ n_bitmask) & n_bitmask // not a power of 2 + || 8*sizeof(upx_uint64_t) <= gnu_shift // shifted result always == 0 + || (n_bucket>>30) // fie on fuzzers + || (n_bitmask>>30) + || (file_size/sizeof(unsigned)) <= ((sizeof(*bitmask)/sizeof(unsigned))*n_bitmask + 2*n_bucket) // FIXME: weak + // FIXME: next test does work for Android? + || ((v_gsh < v_sym) && (v_sym - v_gsh) < (sizeof(unsigned)*4 // headers + + sizeof(*bitmask)*n_bitmask // bitmask + + sizeof(*buckets)*n_bucket // buckets + + sizeof(*hasharr)*n_bucket // hasharr + )) + ) { + char msg[90]; snprintf(msg, sizeof(msg), + "bad DT_GNU_HASH n_bucket=%#x n_bitmask=%#x len=%#lx", + n_bucket, n_bitmask, (long unsigned)(v_sym - v_gsh)); + throwCantPack(msg); + } + } + unsigned const e_shstrndx = get_te16(&ehdri.e_shstrndx); + if (e_shnum <= e_shstrndx + && !(0==e_shnum && 0==e_shstrndx) ) { + char msg[40]; snprintf(msg, sizeof(msg), + "bad .e_shstrndx %d >= .e_shnum %d", e_shstrndx, e_shnum); + throwCantPack(msg); + } } void const * @@ -4532,8 +5207,8 @@ for (; (unsigned)((char const *)dynp - (char const *)dynseg) < sz_dynseg && Elf64_Dyn::DT_NULL!=dynp->d_tag; ++dynp) if (get_te64(&dynp->d_tag)==key) { upx_uint64_t const t= elf_get_offset_from_address(get_te64(&dynp->d_val)); - if (t) { - return &((unsigned char const *)file_image)[(size_t)t]; + if (t && t < (upx_uint64_t)file_size) { + return t + file_image; } break; } @@ -4586,7 +5261,7 @@ unsigned const m = elf_hash(name) % nbucket; unsigned si; for (si= get_te32(&buckets[m]); 0!=si; si= get_te32(&chains[si])) { - char const *const p= get_te32(&dynsym[si].st_name) + dynstr; + char const *const p= get_dynsym_name(si, (unsigned)-1); if (0==strcmp(name, p)) { return &dynsym[si]; } @@ -4599,6 +5274,7 @@ unsigned const gnu_shift = get_te32(&gashtab[3]); unsigned const *const bitmask = &gashtab[4]; unsigned const *const buckets = &bitmask[n_bitmask]; + unsigned const *const hasharr = &buckets[n_bucket]; unsigned const h = gnu_hash(name); unsigned const hbit1 = 037& h; @@ -4608,13 +5284,12 @@ if (1& (w>>hbit1) & (w>>hbit2)) { unsigned bucket = get_te32(&buckets[h % n_bucket]); if (0!=bucket) { - Elf32_Sym const *dsp = dynsym; - unsigned const *const hasharr = &buckets[n_bucket]; + Elf32_Sym const *dsp = &dynsym[bucket]; unsigned const *hp = &hasharr[bucket - symbias]; - dsp += bucket; do if (0==((h ^ get_te32(hp))>>1)) { - char const *const p = get_te32(&dsp->st_name) + dynstr; + unsigned st_name = get_te32(&dsp->st_name); + char const *const p = get_str_name(st_name, (unsigned)-1); if (0==strcmp(name, p)) { return dsp; } @@ -4635,7 +5310,7 @@ unsigned const m = elf_hash(name) % nbucket; unsigned si; for (si= get_te32(&buckets[m]); 0!=si; si= get_te32(&chains[si])) { - char const *const p= get_te64(&dynsym[si].st_name) + dynstr; + char const *const p= get_dynsym_name(si, (unsigned)-1); if (0==strcmp(name, p)) { return &dynsym[si]; } @@ -4648,6 +5323,7 @@ unsigned const gnu_shift = get_te32(&gashtab[3]); upx_uint64_t const *const bitmask = (upx_uint64_t const *)(void const *)&gashtab[4]; unsigned const *const buckets = (unsigned const *)&bitmask[n_bitmask]; + unsigned const *const hasharr = &buckets[n_bucket]; unsigned const h = gnu_hash(name); unsigned const hbit1 = 077& h; @@ -4657,13 +5333,12 @@ if (1& (w>>hbit1) & (w>>hbit2)) { unsigned bucket = get_te32(&buckets[h % n_bucket]); if (0!=bucket) { - Elf64_Sym const *dsp = dynsym; - unsigned const *const hasharr = &buckets[n_bucket]; + Elf64_Sym const *dsp = &dynsym[bucket]; unsigned const *hp = &hasharr[bucket - symbias]; - dsp += bucket; do if (0==((h ^ get_te32(hp))>>1)) { - char const *const p = get_te64(&dsp->st_name) + dynstr; + unsigned st_name = get_te32(&dsp->st_name); + char const *const p = get_str_name(st_name, (unsigned)-1); if (0==strcmp(name, p)) { return dsp; } @@ -4706,7 +5381,7 @@ p_info hbuf; fi->readx(&hbuf, sizeof(hbuf)); unsigned orig_file_size = get_te32(&hbuf.p_filesize); blocksize = get_te32(&hbuf.p_blocksize); - if (file_size > (off_t)orig_file_size || blocksize > orig_file_size + if ((u32_t)file_size > orig_file_size || blocksize > orig_file_size || !mem_size_valid(1, blocksize, OVERHEAD)) throwCantUnpack("p_info corrupted"); @@ -4754,7 +5429,8 @@ // Packed ET_EXE has no PT_DYNAMIC. // Packed ET_DYN has original PT_DYNAMIC for info needed by rtld. - bool const is_shlib = !!elf_find_ptype(Elf32_Phdr::PT_DYNAMIC, phdri, c_phnum); + Elf32_Phdr const *const dynhdr = elf_find_ptype(Elf32_Phdr::PT_DYNAMIC, phdri, c_phnum); + bool const is_shlib = !!dynhdr; if (is_shlib) { // Unpack and output the Ehdr and Phdrs for real. // This depends on position within input file fi. @@ -4762,30 +5438,41 @@ c_adler, u_adler, false, szb_info); // The first PT_LOAD. Part is not compressed (for benefit of rtld.) - // Read enough to position the input for next unpackExtent. fi->seek(0, SEEK_SET); - fi->readx(ibuf, overlay_offset + sizeof(hbuf) + szb_info + ph.c_len); + fi->readx(ibuf, get_te32(&dynhdr->p_offset) + get_te32(&dynhdr->p_filesz)); overlay_offset -= sizeof(linfo); xct_off = overlay_offset; e_shoff = get_te32(&ehdri.e_shoff); - if (e_shoff && shdri) { // --android-shlib + ibuf.subref("bad .e_shoff %#x for %#x", e_shoff, sizeof(Elf32_Shdr) * e_shnum); + if (e_shoff && e_shnum) { // --android-shlib + shdri = (Elf32_Shdr /*const*/ *)ibuf.subref( + "bad Shdr table", e_shoff, sizeof(Elf32_Shdr)*e_shnum); unsigned xct_off2 = get_te32(&shdri->sh_offset); if (e_shoff == xct_off2) { xct_off = e_shoff; } // un-Relocate dynsym (DT_SYMTAB) which is below xct_off - unsigned const off_dynsym = get_te32(&sec_dynsym->sh_offset); - unsigned const sz_dynsym = get_te32(&sec_dynsym->sh_size); - Elf32_Sym *const sym0 = (Elf32_Sym *)ibuf.subref( - "bad dynsym", off_dynsym, sz_dynsym); - Elf32_Sym *sym = sym0; - for (int j = sz_dynsym / sizeof(Elf32_Sym); --j>=0; ++sym) { - unsigned symval = get_te32(&sym->st_value); - unsigned symsec = get_te16(&sym->st_shndx); - if (Elf32_Sym::SHN_UNDEF != symsec - && Elf32_Sym::SHN_ABS != symsec - && xct_off <= symval) { - set_te32(&sym->st_value, symval - asl_delta); + dynseg = (Elf32_Dyn const *)ibuf.subref( + "bad DYNAMIC", get_te32(&dynhdr->p_offset), get_te32(&dynhdr->p_filesz)); + dynstr = (char const *)elf_find_dynamic(Elf32_Dyn::DT_STRTAB); + sec_dynsym = elf_find_section_type(Elf32_Shdr::SHT_DYNSYM); + if (sec_dynsym) { + unsigned const off_dynsym = get_te32(&sec_dynsym->sh_offset); + unsigned const sz_dynsym = get_te32(&sec_dynsym->sh_size); + Elf32_Sym *const sym0 = (Elf32_Sym *)ibuf.subref( + "bad dynsym", off_dynsym, sz_dynsym); + Elf32_Sym *sym = sym0; + for (int j = sz_dynsym / sizeof(Elf32_Sym); --j>=0; ++sym) { + unsigned symval = get_te32(&sym->st_value); + unsigned symsec = get_te16(&sym->st_shndx); + if (Elf32_Sym::SHN_UNDEF != symsec + && Elf32_Sym::SHN_ABS != symsec + && xct_off <= symval) { + set_te32(&sym->st_value, symval - asl_delta); + } + if (Elf32_Sym::SHN_ABS == symsec && xct_off <= symval) { + adjABS(sym, 0u - asl_delta); + } } } } @@ -4806,6 +5493,8 @@ total_in = xct_off; total_out = xct_off; ph.u_len = 0; + // Position the input for next unpackExtent. + fi->seek(sizeof(linfo) + overlay_offset + sizeof(hbuf) + szb_info + ph.c_len, SEEK_SET); // Decompress and unfilter the tail of first PT_LOAD. phdr = (Elf32_Phdr *) (void *) (1+ ehdr); @@ -4856,8 +5545,8 @@ funpad4(fi); // MATCH01 unsigned d_info[4]; fi->readx(d_info, sizeof(d_info)); if (0==old_dtinit) { - old_dtinit = d_info[2 + (0==d_info[0])]; - is_asl = 1u& d_info[1]; + old_dtinit = get_te32(&d_info[2 + (0==d_info[0])]); + is_asl = 1u& get_te32(&d_info[0 + (0==d_info[0])]); } fi->seek(lsize - sizeof(d_info), SEEK_CUR); } @@ -4912,13 +5601,13 @@ total_in += old_data_len; total_out += old_data_len; - Elf32_Phdr *dynhdr = (Elf32_Phdr *)&u[sizeof(*ehdr)]; - for (unsigned j3= 0; j3 < u_phnum; ++j3, ++dynhdr) - if (Elf32_Phdr::PT_DYNAMIC==get_te32(&dynhdr->p_type)) { + Elf32_Phdr const *udynhdr = (Elf32_Phdr *)&u[sizeof(*ehdr)]; + for (unsigned j3= 0; j3 < u_phnum; ++j3, ++udynhdr) + if (Elf32_Phdr::PT_DYNAMIC==get_te32(&udynhdr->p_type)) { unsigned dt_pltrelsz(0), dt_jmprel(0); unsigned dt_relsz(0), dt_rel(0); - unsigned const dyn_len = get_te32(&dynhdr->p_filesz); - unsigned const dyn_off = get_te32(&dynhdr->p_offset); + unsigned const dyn_len = get_te32(&udynhdr->p_filesz); + unsigned const dyn_off = get_te32(&udynhdr->p_offset); if (dyn_off < load_off) { continue; // Oops. Not really is_shlib ? [built by 'rust' ?] } diff -Nru upx-ucl-3.95/src/p_lx_elf.h upx-ucl-3.96/src/p_lx_elf.h --- upx-ucl-3.95/src/p_lx_elf.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_lx_elf.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -33,7 +33,6 @@ #ifndef __UPX_P_LX_ELF_H //{ #define __UPX_P_LX_ELF_H 1 - class PackLinuxElf : public PackUnix { typedef PackUnix super; @@ -156,12 +155,16 @@ Elf32_Phdr const *elf_find_ptype(unsigned type, Elf32_Phdr const *phdr0, unsigned phnum); Elf32_Shdr const *elf_find_section_name(char const *) const; Elf32_Shdr const *elf_find_section_type(unsigned) const; + unsigned check_pt_load(Elf32_Phdr const *); unsigned check_pt_dynamic(Elf32_Phdr const *); void invert_pt_dynamic(Elf32_Dyn const *); void const *elf_find_dynamic(unsigned) const; Elf32_Dyn const *elf_has_dynamic(unsigned) const; virtual upx_uint64_t elf_unsigned_dynamic(unsigned) const; + virtual int adjABS(Elf32_Sym *sym, unsigned delta); + char const *get_str_name(unsigned st_name, unsigned symnum) const; + char const *get_dynsym_name(unsigned symnum, unsigned relnum) const; protected: Elf32_Ehdr ehdri; // from input file MemBuffer lowmem; // especially for shlib @@ -188,6 +191,8 @@ Elf32_Shdr *sec_strndx; Elf32_Shdr const *sec_dynsym; Elf32_Shdr const *sec_dynstr; + unsigned symnum_end; + unsigned strtab_end; __packed_struct(cprElfHdr1) Elf32_Ehdr ehdr; @@ -260,7 +265,8 @@ virtual void pack4(OutputFile *, Filter &); // append pack header virtual void unpack(OutputFile *fo); virtual void unRela64(upx_uint64_t dt_rela, Elf64_Rela *rela0, unsigned relasz, - MemBuffer &membuf, upx_uint64_t const load_off, OutputFile *fo); + MemBuffer &membuf, upx_uint64_t const load_off, upx_uint64_t const old_dtinit, + OutputFile *fo); virtual void generateElfHdr( OutputFile *, @@ -287,12 +293,16 @@ Elf64_Phdr const *elf_find_ptype(unsigned type, Elf64_Phdr const *phdr0, unsigned phnum); Elf64_Shdr const *elf_find_section_name(char const *) const; Elf64_Shdr const *elf_find_section_type(unsigned) const; + upx_uint64_t check_pt_load(Elf64_Phdr const *); upx_uint64_t check_pt_dynamic(Elf64_Phdr const *); void invert_pt_dynamic(Elf64_Dyn const *); void const *elf_find_dynamic(unsigned) const; Elf64_Dyn const *elf_has_dynamic(unsigned) const; virtual upx_uint64_t elf_unsigned_dynamic(unsigned) const; + virtual int adjABS(Elf64_Sym *sym, unsigned delta); + char const *get_str_name(unsigned st_name, unsigned symnum) const; + char const *get_dynsym_name(unsigned symnum, unsigned relnum) const; protected: Elf64_Ehdr ehdri; // from input file MemBuffer lowmem; // especially for shlib @@ -319,6 +329,8 @@ Elf64_Shdr *sec_strndx; Elf64_Shdr const *sec_dynsym; Elf64_Shdr const *sec_dynstr; + unsigned symnum_end; + unsigned strtab_end; __packed_struct(cprElfHdr1) Elf64_Ehdr ehdr; diff -Nru upx-ucl-3.95/src/p_lx_exc.cpp upx-ucl-3.96/src/p_lx_exc.cpp --- upx-ucl-3.95/src/p_lx_exc.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_lx_exc.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2001-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2001-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_lx_exc.h upx-ucl-3.96/src/p_lx_exc.h --- upx-ucl-3.95/src/p_lx_exc.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_lx_exc.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_lx_interp.cpp upx-ucl-3.96/src/p_lx_interp.cpp --- upx-ucl-3.95/src/p_lx_interp.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_lx_interp.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_lx_interp.h upx-ucl-3.96/src/p_lx_interp.h --- upx-ucl-3.95/src/p_lx_interp.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_lx_interp.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_lx_sh.cpp upx-ucl-3.96/src/p_lx_sh.cpp --- upx-ucl-3.95/src/p_lx_sh.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_lx_sh.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_lx_sh.h upx-ucl-3.96/src/p_lx_sh.h --- upx-ucl-3.95/src/p_lx_sh.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_lx_sh.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_mach.cpp upx-ucl-3.96/src/p_mach.cpp --- upx-ucl-3.95/src/p_mach.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_mach.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2004-2018 John Reiser + Copyright (C) 2004-2020 John Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -269,84 +269,22 @@ addLoader("ELFMAINY,IDENTSTR,+40,ELFMAINZ,FOLDEXEC", NULL); } -void PackMachI386::addStubEntrySections(Filter const *ft) +void PackMachI386::addStubEntrySections(Filter const * /*ft*/) { - int const n_mru = ft->n_mru; // FIXME: belongs to filter? packerf? - - if (Mach_header::MH_EXECUTE == my_filetype) { - addLoader("I386BXX0", NULL); // .word offset to f_exp - } - else { - addLoader("LEXEC000", NULL); // entry to stub - } - if (ft->id) { // decompr, unfilter are separate - if (Mach_header::MH_EXECUTE != my_filetype) { - addLoader("LXUNF000", NULL); // 2-byte jump to f_exp - } - addLoader("LXUNF002", NULL); // entry to f_unf - // prolog to f_unf - if (0x80==(ft->id & 0xF0)) { - if (256==n_mru) { - addLoader("MRUBYTE0", NULL); - } - else if (n_mru) { - addLoader("LXMRU005", NULL); - } - if (n_mru) { - addLoader("LXMRU006", NULL); - } - else { - addLoader("LXMRU007", NULL); - } - } - else { - if (0x40==(ft->id & 0xF0)) { - addLoader("LXUNF008", NULL); - } - } - if (Mach_header::MH_EXECUTE == my_filetype) { - addFilter32(ft->id); // f_unf body - if (0x80==(ft->id & 0xF0)) { - if (0==n_mru) { - addLoader("LXMRU058", NULL); - } - } - addLoader("LXUNF035", NULL); // epilog to f_unf - } - else { // MH_DYLIB - addLoader("LXUNF010", NULL); // jmp32 lxunf0 # to rest of f_unf - if (n_mru) { - addLoader("LEXEC009", NULL); // empty (unify source with other cases) - } - } - } - if (Mach_header::MH_EXECUTE == my_filetype) { - addLoader("I386BXX1", NULL); - } - addLoader("LEXEC010", NULL); // prolog to f_exp - addLoader(getDecompressorSections(), NULL); - addLoader("LEXEC015", NULL); // epilog to f_exp - if (ft->id) { - if (Mach_header::MH_EXECUTE != my_filetype) { - if (0x80!=(ft->id & 0xF0)) { - addLoader("LXUNF042", NULL); // lxunf0: - } - addFilter32(ft->id); // body of f_unf - if (0x80==(ft->id & 0xF0)) { - if (0==n_mru) { - addLoader("LXMRU058", NULL); - } - } - addLoader("LXUNF035", NULL); // epilog to f_unf - } - } - else { - addLoader("LEXEC017", NULL); // epilog to f_exp + addLoader("MACHMAINX", NULL); // different for MY_DYLIB vs MH_EXECUTE + if (my_filetype==Mach_header::MH_EXECUTE) { + addLoader("MACH_UNC", NULL); } - - addLoader("IDENTSTR", NULL); - addLoader("LEXEC020", NULL); - addLoader("FOLDEXEC", NULL); + //addLoader(getDecompressorSections(), NULL); + addLoader( + ( M_IS_NRV2E(ph.method) ? "NRV_HEAD,NRV2E,NRV_TAIL" + : M_IS_NRV2D(ph.method) ? "NRV_HEAD,NRV2D,NRV_TAIL" + : M_IS_NRV2B(ph.method) ? "NRV_HEAD,NRV2B,NRV_TAIL" + : M_IS_LZMA(ph.method) ? "LZMA_ELF00,LZMA_DEC20,LZMA_DEC30" + : NULL), NULL); + if (hasLoaderSection("CFLUSH")) + addLoader("CFLUSH"); + addLoader("MACHMAINY,IDENTSTR,+40,MACHMAINZ,FOLDEXEC", NULL); } void PackMachAMD64::addStubEntrySections(Filter const * /*ft*/) @@ -517,19 +455,18 @@ if (xa < xb) return -1; // LC_SEGMENT first if (xa > xb) return 1; if (0 != xa) return 0; // not LC_SEGMENT - // Beware 0==.vmsize (some MacOSX __DWARF debug info: a "comment") - if (a->vmsize!=0 && b->vmsize!=0) { - if (a->vmaddr < b->vmaddr) return -1; // ascending by .vmaddr - if (a->vmaddr > b->vmaddr) return 1; - } - else { // 0==.vmsize goes last, except ordered by fileoff - if (a->vmsize) return -1; // 'a' is first - if (b->vmsize) return 1; // 'a' is last - if (a->fileoff < b->fileoff) + // Ascending by .fileoff so that find_SEGMENT_gap works + if (a->fileoff < b->fileoff) return -1; - if (a->fileoff > b->fileoff) + if (a->fileoff > b->fileoff) return 1; - } + // Ascending by .vmaddr + if (a->vmaddr < b->vmaddr) return -1; + if (a->vmaddr > b->vmaddr) return 1; + // Descending by .vmsize + if (a->vmsize) return -1; // 'a' is first + if (b->vmsize) return 1; // 'a' is last + // What could remain? return 0; } @@ -551,13 +488,14 @@ #define PAGE_MASK64 (~(upx_uint64_t)0<<12) #define PAGE_SIZE64 ((upx_uint64_t)0-PAGE_MASK64) +unsigned const blankLINK = 16; // size of our empty __LINK segment // Note: "readelf --segments" ==> "otool -hl" or "otool -hlv" etc. (Xcode on MacOS) template void PackMachBase::pack4(OutputFile *fo, Filter &ft) // append PackHeader { // offset of p_info in compressed file - overlay_offset = secTEXT.addr + sizeof(linfo); + overlay_offset = secTEXT.offset + sizeof(linfo); super::pack4(fo, ft); if (Mach_header::MH_EXECUTE == my_filetype) { @@ -581,10 +519,9 @@ segLINK.fileoff = len; // must be in the file segLINK.vmaddr = len + segTEXT.vmaddr; - fo->write(page, 16); len += 16; - // reserve convex hull of input segments - segLINK.vmsize -= (segLINK.vmaddr - segTEXT.vmaddr); - segLINK.filesize = 16; + fo->write(page, blankLINK); len += blankLINK; + segLINK.vmsize = PAGE_SIZE; + segLINK.filesize = blankLINK; // Get a writeable copy of the stub to make editing easier. ByteArray(upxstub, sz_stub_main); @@ -592,9 +529,8 @@ Mach_header *const mhp = (Mach_header *)upxstub; mhp->cpusubtype = my_cpusubtype; + mhp->flags = mhdro.flags; char *tail = (char *)(1+ mhp); - Mach_section_command *sectxt = 0; // in temp for output - unsigned txt_addr = 0; char *const lcp_end = mhdro.sizeofcmds + tail; Mach_command *lcp = (Mach_command *)(1+ mhp); Mach_command *lcp_next; @@ -611,10 +547,12 @@ case Mach_command::LC_SEGMENT: // fall through case Mach_command::LC_SEGMENT_64: { Mach_segment_command *const segptr = (Mach_segment_command *)lcp; + if (!strcmp("__PAGEZERO", segptr->segname)) { + segptr->vmsize = pagezero_vmsize; + } if (!strcmp("__TEXT", segptr->segname)) { - sectxt = (Mach_section_command *)(1+ segptr); - txt_addr = sectxt->addr; sz_cmd = (segTEXT.nsects * sizeof(secTEXT)) + sizeof(segTEXT); + mhp->sizeofcmds += sizeof(secTEXT) * (1 - segptr->nsects); memcpy(tail, &segTEXT, sz_cmd); tail += sz_cmd; goto next; } @@ -623,6 +561,16 @@ delta = offLINK - segptr->fileoff; // relocation constant sz_cmd = sizeof(segLINK); + if (Mach_header::CPU_TYPE_I386==mhdri.cputype + && Mach_header::MH_EXECUTE==mhdri.filetype) { + segLINK.maxprot = 0 + | Mach_command::VM_PROT_EXECUTE + | Mach_command::VM_PROT_WRITE + | Mach_command::VM_PROT_READ; + segLINK.initprot = 0 + | Mach_command::VM_PROT_WRITE + | Mach_command::VM_PROT_READ; + } memcpy(tail, &segLINK, sz_cmd); tail += sz_cmd; goto next; } @@ -673,8 +621,6 @@ skip = 1; } break; case Mach_command::LC_UNIXTHREAD: { // pre-LC_MAIN - threado_setPC(secTEXT.addr + - (threadc_getPC(lcp) - txt_addr)); skip = 1; } break; case Mach_command::LC_LOAD_DYLIB: { @@ -1239,9 +1185,8 @@ mhdro = mhdri; if (my_filetype==Mach_header::MH_EXECUTE) { memcpy(&mhdro, stub_main, sizeof(mhdro)); + mhdro.flags = mhdri.flags; COMPILE_TIME_ASSERT(sizeof(mhdro.flags) == sizeof(unsigned)) - mhdro.flags &= ~ (unsigned) Mach_header::MH_PIE; // we require fixed address - mhdro.flags |= Mach_header::MH_BINDATLOAD; // DT_BIND_NOW } unsigned pos = sizeof(mhdro); fo->write(&mhdro, sizeof(mhdro)); @@ -1266,12 +1211,16 @@ segTEXT.cmdsize = sizeof(segTEXT) + sizeof(secTEXT); strncpy((char *)segTEXT.segname, "__TEXT", sizeof(segTEXT.segname)); if (my_filetype==Mach_header::MH_EXECUTE) { - int k; // must ignore zero-length segments, which sort last - for (k=1 /*n_segment*/; --k>=0; ) - if (msegcmd[k].vmsize!=0) - break; - segTEXT.vmaddr = PAGE_MASK64 & (~PAGE_MASK64 + - msegcmd[k].vmsize + msegcmd[k].vmaddr ); + if (Mach_header::MH_PIE & mhdri.flags) { + segTEXT.vmaddr = segZERO.vmsize; // contiguous + } + else { // not MH_PIE + // Start above all eventual mappings. + // Cannot enlarge segZERO.vmsize because MacOS 10.13 (HighSierra) + // won't permit re-map of PAGEZERO. + // Stub will fill with PROT_NONE first. + segTEXT.vmaddr = vma_max; + } } if (my_filetype==Mach_header::MH_DYLIB) { segTEXT.vmaddr = 0; @@ -1315,18 +1264,10 @@ segLINK = segTEXT; segLINK.cmdsize = sizeof(segLINK); strncpy((char *)segLINK.segname, "__LINKEDIT", sizeof(segLINK.segname)); - segLINK.nsects = 0; segLINK.initprot = Mach_command::VM_PROT_READ; + segLINK.nsects = 0; + segLINK.vmsize = 0; // Adjust later: .vmaddr .vmsize .fileoff .filesize - upx_uint64_t up(0); - unsigned const ncmds = mhdri.ncmds; - for (unsigned j= 0; j < ncmds; ++j) if (lc_seg == msegcmd[j].cmd) { - upx_uint64_t sup = msegcmd[j].vmsize + msegcmd[j].vmaddr; - if (up < sup) { - up = sup; - segLINK.vmsize = sup - segLINK.vmaddr; - } - } unsigned gap = 0; if (my_filetype == Mach_header::MH_EXECUTE) { @@ -1355,8 +1296,10 @@ pos += cmdsize; fo->write((char const *)ptr1, cmdsize); + // 400: space for LC_UUID, LC_RPATH, LC_CODE_SIGNATURE, etc. gap = 400 + threado_size(); - secTEXT.addr = gap + pos; + secTEXT.offset = gap + pos; + secTEXT.addr = secTEXT.offset + segTEXT.vmaddr; break; } } @@ -1484,7 +1427,7 @@ } } - // Put LC_SEGMENT together at the beginning, ascending by .vmaddr. + // Put LC_SEGMENT together at the beginning qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command); n_segment = 0; for (unsigned j= 0; j < ncmds; ++j) { @@ -1499,6 +1442,9 @@ fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR); for (unsigned k = 0; k < ncmds; ++k) { if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) { + if (!strcmp("__TEXT", msegcmd[k].segname)) { + segTEXT = msegcmd[k]; + } if (fo) fo->seek(msegcmd[k].fileoff, SEEK_SET); unpackExtent(msegcmd[k].filesize, fo, total_in, total_out, @@ -1510,6 +1456,8 @@ } Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr); if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed + upx_uint64_t cpr_mod_init_func(0); + TE32 unc_mod_init_func; *(int *)&unc_mod_init_func = 0; Mach_segment_command const *rc = rawmseg; rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc); sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc); @@ -1521,12 +1469,20 @@ ) { if (lc_seg==rc->cmd && 0!=rc->filesize ) { + if (!strcmp("__DATA", rc->segname)) { + cpr_mod_init_func = get_mod_init_func(rc); + fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET); + fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func)); + } fi->seek(rc->fileoff, SEEK_SET); if (fo) fo->seek(sc->fileoff, SEEK_SET); unsigned const len = rc->filesize; MemBuffer data(len); fi->readx(data, len); + if (!strcmp("__DATA", rc->segname)) { + set_te32(&data[o__mod_init_func - rc->fileoff], unc_mod_init_func); + } if (fo) fo->write(data, len); } @@ -1562,7 +1518,13 @@ my_cpusubtype = mhdri.cpusubtype; int headway = (int)mhdri.sizeofcmds; - if (1024 < headway) { + if (headway < (int)(3 * sizeof(Mach_segment_command) + + sizeof(Mach_main_command))) { + infoWarning("Mach_header.sizeofcmds = %d too small", headway); + throwCantUnpack("file corrupted"); + } + sz_mach_headers = headway + sizeof(mhdri); + if (2048 < headway) { infoWarning("Mach_header.sizeofcmds(%d) > 1024", headway); } rawmseg = (Mach_segment_command *) New(char, mhdri.sizeofcmds); @@ -1578,8 +1540,24 @@ Mach_command const *ptr = (Mach_command const *)rawmseg; for (unsigned j= 0; j < ncmds; ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) { - Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr; + if ((unsigned)headway < ptr->cmdsize) { + infoWarning("bad Mach_command[%u]{@0x%lx,+0x%x}: file_size=0x%lx cmdsize=0x%lx", + j, (unsigned long) (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway, + (unsigned long) file_size, (unsigned long)ptr->cmdsize); + throwCantUnpack("file corrupted"); + } if (lc_seg == ptr->cmd) { + Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr; + if ((unsigned long)file_size < segptr->filesize + || (unsigned long)file_size < segptr->fileoff + || (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) { + infoWarning("bad Mach_segment_command[%u]{@0x%lx,+0x%x}: file_size=0x%lx cmdsize=0x%lx" + " filesize=0x%lx fileoff=0x%lx", + j, (unsigned long) (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway, + (unsigned long) file_size, (unsigned long)ptr->cmdsize, + (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff); + throwCantUnpack("file corrupted"); + } ++nseg; if (!strcmp("__XHDR", segptr->segname)) { // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12) @@ -1595,6 +1573,9 @@ } if (!strcmp("__LINKEDIT", segptr->segname)) { offLINK = segptr->fileoff; + if (segptr->filesize == blankLINK) { + style = 395; + } if (offLINK < (off_t) pos_next) { offLINK = pos_next; } @@ -1611,7 +1592,7 @@ rip = entryVMA = threadc_getPC(ptr); } } - if (3==nseg) { // __PAGEZERO, __TEXT, __LINKEDIT; no __XHDR, no UPX_DATA + if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT; no __XHDR, no UPX_DATA style = 392; } if (391==style && 0==offLINK && 2==ncmds) { // pre-3.91 ? @@ -1626,11 +1607,19 @@ if (391 == style) { // PackHeader precedes __LINKEDIT fi->seek(offLINK - bufsize, SEEK_SET); } else - if (392 == style) { // PackHeader follows loader at __LINKEDIT - if ((off_t)bufsize > (fi->st_size() - offLINK)) { - bufsize = fi->st_size() - offLINK; + if (392 == style) { + if (MH_DYLIB == my_filetype) { + fi->seek(fi->st_size() - bufsize, SEEK_SET); + } + else { // PackHeader follows loader at __LINKEDIT + if ((off_t)bufsize > (fi->st_size() - offLINK)) { + bufsize = fi->st_size() - offLINK; + } + fi->seek(offLINK, SEEK_SET); } - fi->seek(offLINK, SEEK_SET); + } else + if (395 == style) { + fi->seek(offLINK - bufsize - sizeof(PackHeader), SEEK_SET); } MemBuffer buf(bufsize); @@ -1726,18 +1715,39 @@ } } } - - overlay_offset = 0; } } + overlay_offset = 0; // impossible value int l = ph.buf_offset + ph.getPackHeaderSize(); - if (l < 0 || (unsigned)(l + 4) > bufsize) - throwCantUnpack("file corrupted"); - overlay_offset = get_te32(buf + i + l); - if ((off_t)overlay_offset >= file_size) + if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) { + overlay_offset = get_te32(buf + i + l); + } + if ( overlay_offset < sz_mach_headers + || (off_t)overlay_offset >= file_size) { + infoWarning("file corrupted"); + MemBuffer buf2(umin(1<<14, file_size)); + fi->seek(sz_mach_headers, SEEK_SET); + fi->readx(buf2, buf2.getSize()); + unsigned const *p = (unsigned const *)&buf2[0]; + unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)]; + for (; p <= e_buf2; ++p) + if ( 0==p[0] // p_info.p_progid + && 0!=p[1] // p_info.p_filesize + && p[2]==p[1] // p_info.p_blocksize == p_info.p_filesize + && (unsigned)file_size < get_te32(&p[1]) // compression was worthwhile + && sz_mach_headers==get_te32(&p[3]) // b_info.sz_unc + ) { + overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers; + if (!(3&overlay_offset // not word aligned + || overlay_offset < sz_mach_headers + || (off_t)overlay_offset >= file_size)) { + infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset); + return true; + } + } throwCantUnpack("file corrupted"); - + } return true; } #define WANT_MACH_SEGMENT_ENUM @@ -1745,6 +1755,25 @@ #include "p_mach_enum.h" template +upx_uint64_t PackMachBase::get_mod_init_func(Mach_segment_command const *segptr) +{ + for (Mach_section_command const *secptr = (Mach_section_command const *)(1+ segptr); + ptr_udiff(secptr, segptr) < segptr->cmdsize; + ++secptr + ) { + if (sizeof(Addr) == secptr->size + && !strcmp("__mod_init_func", secptr->sectname)) { + o__mod_init_func = secptr->offset; + fi->seek(o__mod_init_func, SEEK_SET); + Addr tmp; + fi->readx(&tmp, sizeof(Addr)); + return tmp; + } + } + return 0; +} + +template bool PackMachBase::canPack() { unsigned const lc_seg = lc_segment[sizeof(Addr)>>3]; @@ -1788,17 +1817,7 @@ if (lc_seg == segptr->cmd) { msegcmd[j] = *segptr; if (!strcmp("__DATA", segptr->segname)) { - for (Mach_section_command const *secptr = (Mach_section_command const *)(1+ segptr); - ptr_udiff(secptr, segptr) < segptr->cmdsize; - ++secptr - ) { - if (sizeof(Addr) == secptr->size - && !strcmp("__mod_init_func", secptr->sectname)) { - o__mod_init_func = secptr->offset; - fi->seek(o__mod_init_func, SEEK_SET); - fi->readx(&prev_mod_init_func, sizeof(Addr)); - } - } + prev_mod_init_func = get_mod_init_func(segptr); } } else { @@ -1829,7 +1848,7 @@ return false; } - // Put LC_SEGMENT together at the beginning, ascending by .vmaddr. + // Put LC_SEGMENT together at the beginning qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command); if (lc_seg==msegcmd[0].cmd && 0==msegcmd[0].vmaddr @@ -1838,22 +1857,22 @@ } // Check alignment of non-null LC_SEGMENT. + vma_max = 0; for (unsigned j= 0; j < ncmds; ++j) { if (lc_seg==msegcmd[j].cmd) { - if (msegcmd[j].vmsize==0) - break; // was sorted last + ++n_segment; if (~PAGE_MASK & (msegcmd[j].fileoff | msegcmd[j].vmaddr)) { return false; } - - // We used to check that LC_SEGMENTS were contiguous, - // but apparently that is not needed anymore, - // and Google compilers generate strange layouts. - - ++n_segment; + upx_uint64_t t = msegcmd[j].vmsize + msegcmd[j].vmaddr; + if (vma_max < t) { + vma_max = t; + } + // Segments need not be contigous {esp. "rust") sz_segment = msegcmd[j].filesize + msegcmd[j].fileoff - msegcmd[0].fileoff; } } + vma_max = PAGE_MASK & (~PAGE_MASK + vma_max); // info: currently the header is 36 (32+4) bytes before EOF unsigned char buf[256]; diff -Nru upx-ucl-3.95/src/p_mach_enum.h upx-ucl-3.96/src/p_mach_enum.h --- upx-ucl-3.95/src/p_mach_enum.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_mach_enum.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2007-2018 John F. Reiser + Copyright (C) 2007-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_mach.h upx-ucl-3.96/src/p_mach.h --- upx-ucl-3.95/src/p_mach.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_mach.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -780,6 +780,7 @@ virtual bool canPack(); virtual int canUnpack(); + virtual upx_uint64_t get_mod_init_func(Mach_segment_command const *segptr); virtual unsigned find_SEGMENT_gap(unsigned const k, unsigned pos_eof); protected: @@ -822,6 +823,7 @@ unsigned o__mod_init_func; // file offset to __DATA.__mod_init_func Mach_section_command upx_uint64_t prev_mod_init_func; upx_uint64_t pagezero_vmsize; + upx_uint64_t vma_max; // max over (.vmsize + .vmaddr) Mach_header mhdri; Mach_header mhdro; diff -Nru upx-ucl-3.95/src/p_ps1.cpp upx-ucl-3.96/src/p_ps1.cpp --- upx-ucl-3.95/src/p_ps1.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_ps1.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2002-2018 Jens Medoch + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2002-2020 Jens Medoch All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_ps1.h upx-ucl-3.96/src/p_ps1.h --- upx-ucl-3.95/src/p_ps1.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_ps1.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2002-2018 Jens Medoch + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2002-2020 Jens Medoch All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_sys.cpp upx-ucl-3.96/src/p_sys.cpp --- upx-ucl-3.95/src/p_sys.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_sys.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_sys.h upx-ucl-3.96/src/p_sys.h --- upx-ucl-3.95/src/p_sys.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_sys.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_tmt.cpp upx-ucl-3.96/src/p_tmt.cpp --- upx-ucl-3.95/src/p_tmt.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_tmt.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_tmt.h upx-ucl-3.96/src/p_tmt.h --- upx-ucl-3.95/src/p_tmt.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_tmt.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_tos.cpp upx-ucl-3.96/src/p_tos.cpp --- upx-ucl-3.95/src/p_tos.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_tos.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_tos.h upx-ucl-3.96/src/p_tos.h --- upx-ucl-3.95/src/p_tos.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_tos.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_unix.cpp upx-ucl-3.96/src/p_unix.cpp --- upx-ucl-3.95/src/p_unix.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_unix.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -63,7 +63,7 @@ if (exetype == 0) return false; -#if defined(__unix__) +#if defined(__unix__) && !defined(__MSYS2__) // must be executable by owner if ((fi->st.st_mode & S_IXUSR) == 0) throwCantPack("file not executable; try 'chmod +x'"); diff -Nru upx-ucl-3.95/src/p_unix.h upx-ucl-3.96/src/p_unix.h --- upx-ucl-3.95/src/p_unix.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_unix.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_vmlinx.cpp upx-ucl-3.96/src/p_vmlinx.cpp --- upx-ucl-3.95/src/p_vmlinx.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_vmlinx.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 2004-2018 John Reiser - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 2004-2020 John Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -111,9 +111,11 @@ int j; for (p = shdri, j= ehdri.e_shnum; --j>=0; ++p) { if (Shdr::SHT_STRTAB==p->sh_type - && (p->sh_size + p->sh_offset) <= (unsigned long)file_size - && p->sh_name < p->sh_size - && (10+ p->sh_name) <= p->sh_size // 1+ strlen(".shstrtab") + && p->sh_offset < (unsigned long)file_size + && p->sh_size <= ((unsigned long)file_size - p->sh_offset) + && p->sh_name < (unsigned long)file_size + && 10 <= ((unsigned long)file_size - p->sh_name) + // 10 == (1+ strlen(".shstrtab")) ) { delete [] shstrtab; shstrtab = new char[1+ p->sh_size]; @@ -577,6 +579,7 @@ Shdr *p; for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) { if ((unsigned)file_size < (p->sh_size + p->sh_offset) + || (5+ p->sh_name) < p->sh_name // wrap: ignore malformed || shstrsec->sh_size < (5+ p->sh_name) ) { continue; } diff -Nru upx-ucl-3.95/src/p_vmlinx.h upx-ucl-3.96/src/p_vmlinx.h --- upx-ucl-3.95/src/p_vmlinx.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_vmlinx.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_vmlinz.cpp upx-ucl-3.96/src/p_vmlinz.cpp --- upx-ucl-3.95/src/p_vmlinz.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_vmlinz.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_vmlinz.h upx-ucl-3.96/src/p_vmlinz.h --- upx-ucl-3.95/src/p_vmlinz.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_vmlinz.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_w32pe.cpp upx-ucl-3.96/src/p_w32pe.cpp --- upx-ucl-3.95/src/p_w32pe.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_w32pe.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_w32pe.h upx-ucl-3.96/src/p_w32pe.h --- upx-ucl-3.95/src/p_w32pe.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_w32pe.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_w64pep.cpp upx-ucl-3.96/src/p_w64pep.cpp --- upx-ucl-3.95/src/p_w64pep.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_w64pep.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_w64pep.h upx-ucl-3.96/src/p_w64pep.h --- upx-ucl-3.95/src/p_w64pep.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_w64pep.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_wcle.cpp upx-ucl-3.96/src/p_wcle.cpp --- upx-ucl-3.95/src/p_wcle.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_wcle.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/p_wcle.h upx-ucl-3.96/src/p_wcle.h --- upx-ucl-3.95/src/p_wcle.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/p_wcle.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/screen.h upx-ucl-3.96/src/screen.h --- upx-ucl-3.95/src/screen.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/screen.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/s_djgpp2.cpp upx-ucl-3.96/src/s_djgpp2.cpp --- upx-ucl-3.95/src/s_djgpp2.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/s_djgpp2.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/snprintf.h upx-ucl-3.96/src/snprintf.h --- upx-ucl-3.95/src/snprintf.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/snprintf.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/s_object.cpp upx-ucl-3.96/src/s_object.cpp --- upx-ucl-3.95/src/s_object.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/s_object.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stdcxx.cpp upx-ucl-3.96/src/stdcxx.cpp --- upx-ucl-3.95/src/stdcxx.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stdcxx.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stdcxx.h upx-ucl-3.96/src/stdcxx.h --- upx-ucl-3.95/src/stdcxx.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stdcxx.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/amd64-darwin.dylib-entry.h upx-ucl-3.96/src/stub/amd64-darwin.dylib-entry.h --- upx-ucl-3.95/src/stub/amd64-darwin.dylib-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-darwin.dylib-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* amd64-darwin.dylib-entry.h - created from amd64-darwin.dylib-entry.bin, 9494 (0x2516) bytes + created from amd64-darwin.dylib-entry.bin, 9507 (0x2523) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,14 +31,14 @@ */ -#define STUB_AMD64_DARWIN_DYLIB_ENTRY_SIZE 9494 -#define STUB_AMD64_DARWIN_DYLIB_ENTRY_ADLER32 0x8515c495 -#define STUB_AMD64_DARWIN_DYLIB_ENTRY_CRC32 0x6caacdc6 +#define STUB_AMD64_DARWIN_DYLIB_ENTRY_SIZE 9507 +#define STUB_AMD64_DARWIN_DYLIB_ENTRY_ADLER32 0xa53ac8b4 +#define STUB_AMD64_DARWIN_DYLIB_ENTRY_CRC32 0xea0b4ebf -unsigned char stub_amd64_darwin_dylib_entry[9494] = { +unsigned char stub_amd64_darwin_dylib_entry[9507] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 25, 0, 0, 0, 0, 0, 0, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 32, 25, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0040 */ 80, 87, 86, 82, 81, 65, 80, 85, 83,232, 0, 0, 0, 0, 15, 5, /* 0x0050 */ 89, 90, 94, 95,195, 85, 83, 81, 82, 72, 1,254, 86, 72,137,254, @@ -48,586 +48,587 @@ /* 0x0090 */ 252,119, 27,131,233, 4,139, 16, 72,131,192, 4,131,233, 4,137, /* 0x00a0 */ 23, 72,141,127, 4,115,239,131,193, 4,138, 16,116, 16, 72,255, /* 0x00b0 */ 192,136, 23,131,233, 1,138, 16, 72,141,127, 1,117,240,243,195, -/* 0x00c0 */ 252, 65, 91, 65,128,248, 8,116, 13,233,172, 0, 0, 0, 72,255, -/* 0x00d0 */ 198,136, 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, 72,131, -/* 0x00e0 */ 238,252, 17,219,138, 22,114,230,141, 65, 1,235, 7,255,200, 65, -/* 0x00f0 */ 255,211, 17,192, 65,255,211, 17,192, 1,219,117, 10,139, 30, 72, -/* 0x0100 */ 131,238,252, 17,219,138, 22,115,228,131,232, 3,114, 29,193,224, -/* 0x0110 */ 8, 15,182,210, 9,208, 72,255,198,131,240,255, 15,132, 0, 0, -/* 0x0120 */ 0, 0,209,248, 72, 99,232,114, 56,235, 14, 1,219,117, 8,139, -/* 0x0130 */ 30, 72,131,238,252, 17,219,114, 40,255,193, 1,219,117, 8,139, -/* 0x0140 */ 30, 72,131,238,252, 17,219,114, 24, 65,255,211, 17,201, 1,219, -/* 0x0150 */ 117, 8,139, 30, 72,131,238,252, 17,219,115,237,131,193, 2,235, -/* 0x0160 */ 5, 65,255,211, 17,201, 72,129,253, 0,251,255,255,131,209, 2, -/* 0x0170 */ 232, 0, 0, 0, 0,233, 92,255,255,255, 65,128,248, 5,116, 13, -/* 0x0180 */ 233,147, 0, 0, 0, 72,255,198,136, 23, 72,255,199,138, 22, 1, -/* 0x0190 */ 219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22,114,230,141, -/* 0x01a0 */ 65, 1,235, 7,255,200, 65,255,211, 17,192, 65,255,211, 17,192, -/* 0x01b0 */ 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22,115,228, -/* 0x01c0 */ 131,232, 3,114, 27,193,224, 8, 15,182,210, 9,208, 72,255,198, -/* 0x01d0 */ 131,240,255, 15,132, 0, 0, 0, 0,209,248, 72, 99,232,235, 3, -/* 0x01e0 */ 65,255,211, 17,201, 65,255,211, 17,201,117, 24,255,193, 65,255, -/* 0x01f0 */ 211, 17,201, 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115, -/* 0x0200 */ 237,131,193, 2, 72,129,253, 0,251,255,255,131,209, 1,232, 0, -/* 0x0210 */ 0, 0, 0,233,117,255,255,255, 65,128,248, 2,116, 13,233,133, -/* 0x0220 */ 0, 0, 0, 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, -/* 0x0230 */ 10,139, 30, 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1, -/* 0x0240 */ 65,255,211, 17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17, -/* 0x0250 */ 219,138, 22,115,235,131,232, 3,114, 23,193,224, 8, 15,182,210, -/* 0x0260 */ 9,208, 72,255,198,131,240,255, 15,132, 0, 0, 0, 0, 72, 99, -/* 0x0270 */ 232,141, 65, 1, 65,255,211, 17,201, 65,255,211, 17,201,117, 24, -/* 0x0280 */ 137,193,131,192, 2, 65,255,211, 17,201, 1,219,117, 8,139, 30, -/* 0x0290 */ 72,131,238,252, 17,219,115,237, 72,129,253, 0,243,255,255, 17, -/* 0x02a0 */ 193,232, 0, 0, 0, 0,235,131, 65,128,248, 14, 15,133, 0, 0, -/* 0x02b0 */ 0, 0, 85, 72,137,229, 68,139, 9, 73,137,208, 72,137,242, 72, -/* 0x02c0 */ 141,119, 2, 86,138, 7,255,202,136,193, 36, 7,192,233, 3, 72, -/* 0x02d0 */ 199,195, 0,253,255,255, 72,211,227,136,193, 72,141,156, 92,136, -/* 0x02e0 */ 241,255,255, 72,131,227,192,106, 0, 72, 57,220,117,249, 83, 72, -/* 0x02f0 */ 141,123, 8,138, 78,255,255,202,136, 71, 2,136,200,192,233, 4, -/* 0x0300 */ 136, 79, 1, 36, 15,136, 7, 72,141, 79,252, 80, 65, 87, 72,141, -/* 0x0310 */ 71, 4, 69, 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, 85, 69, -/* 0x0320 */ 49,237, 65, 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, 36,216, -/* 0x0330 */ 184, 1, 0, 0, 0, 72,137,116, 36,248, 76,137, 68, 36,232,137, -/* 0x0340 */ 195, 68,137, 76, 36,228, 15,182, 79, 2,211,227,137,217, 72,139, -/* 0x0350 */ 92, 36, 56,255,201,137, 76, 36,212, 15,182, 79, 1,211,224, 72, -/* 0x0360 */ 139, 76, 36,240,255,200,137, 68, 36,208, 15,182, 7,199, 1, 0, -/* 0x0370 */ 0, 0, 0,199, 68, 36,200, 0, 0, 0, 0,199, 68, 36,196, 1, -/* 0x0380 */ 0, 0, 0,199, 68, 36,192, 1, 0, 0, 0,199, 68, 36,188, 1, -/* 0x0390 */ 0, 0, 0,199, 3, 0, 0, 0, 0,137, 68, 36,204, 15,182, 79, -/* 0x03a0 */ 1, 1,193,184, 0, 3, 0, 0,211,224, 49,201,141,184, 54, 7, -/* 0x03b0 */ 0, 0, 65, 57,255,115, 19, 72,139, 92, 36,216,137,200,255,193, -/* 0x03c0 */ 57,249,102,199, 4, 67, 0, 4,235,235, 72,139,124, 36,248,137, -/* 0x03d0 */ 208, 69, 49,210, 65,131,203,255, 49,210, 73,137,252, 73, 1,196, -/* 0x03e0 */ 76, 57,231, 15,132,239, 8, 0, 0, 15,182, 7, 65,193,226, 8, -/* 0x03f0 */ 255,194, 72,255,199, 65, 9,194,131,250, 4,126,227, 68, 59,124, -/* 0x0400 */ 36,228, 15,131,218, 8, 0, 0,139, 68, 36,212, 72, 99, 92, 36, -/* 0x0410 */ 200, 72,139, 84, 36,216, 68, 33,248,137, 68, 36,184, 72, 99,108, -/* 0x0420 */ 36,184, 72,137,216, 72,193,224, 4, 72, 1,232, 65,129,251,255, -/* 0x0430 */ 255,255, 0, 76,141, 12, 66,119, 26, 76, 57,231, 15,132,150, 8, -/* 0x0440 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, -/* 0x0450 */ 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, -/* 0x0460 */ 15,175,193, 65, 57,194, 15,131,197, 1, 0, 0, 65,137,195,184, -/* 0x0470 */ 0, 8, 0, 0, 72,139, 92, 36,216, 41,200, 15,182, 76, 36,204, -/* 0x0480 */ 190, 1, 0, 0, 0,193,248, 5,141, 4, 2, 65, 15,182,213,102, -/* 0x0490 */ 65,137, 1,139, 68, 36,208, 68, 33,248,211,224,185, 8, 0, 0, -/* 0x04a0 */ 0, 43, 76, 36,204,211,250, 1,208,105,192, 0, 3, 0, 0,131, -/* 0x04b0 */ 124, 36,200, 6,137,192, 76,141,140, 67,108, 14, 0, 0, 15,142, -/* 0x04c0 */ 184, 0, 0, 0, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 15, -/* 0x04d0 */ 182, 44, 2, 1,237, 72, 99,214,137,235,129,227, 0, 1, 0, 0, -/* 0x04e0 */ 65,129,251,255,255,255, 0, 72, 99,195, 73,141, 4, 65, 76,141, -/* 0x04f0 */ 4, 80,119, 26, 76, 57,231, 15,132,219, 7, 0, 0, 15,182, 7, -/* 0x0500 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15, -/* 0x0510 */ 183,144, 0, 2, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, -/* 0x0520 */ 175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 1, -/* 0x0530 */ 246, 41,200,193,248, 5,133,219,141, 4, 2,102, 65,137,128, 0, -/* 0x0540 */ 2, 0, 0,116, 33,235, 45, 65, 41,195, 65, 41,194,137,208,102, -/* 0x0550 */ 193,232, 5,141,116, 54, 1,102, 41,194,133,219,102, 65,137,144, -/* 0x0560 */ 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, 15,142, 97,255, -/* 0x0570 */ 255,255,235,120,129,254,255, 0, 0, 0,127,112, 72, 99,198, 65, -/* 0x0580 */ 129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15, -/* 0x0590 */ 132, 67, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x05a0 */ 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, -/* 0x05b0 */ 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, -/* 0x05c0 */ 8, 0, 0, 1,246, 41,200,193,248, 5,141, 4, 2,102, 65,137, -/* 0x05d0 */ 0,235,161, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141, -/* 0x05e0 */ 116, 54, 1,102, 41,194,102, 65,137, 16,235,136, 72,139, 76, 36, -/* 0x05f0 */ 232, 68,137,248, 65,255,199, 65,137,245, 64,136, 52, 1,131,124, -/* 0x0600 */ 36,200, 3,127, 13,199, 68, 36,200, 0, 0, 0, 0,233,166, 6, -/* 0x0610 */ 0, 0,139, 84, 36,200,139, 68, 36,200,131,234, 3,131,232, 6, -/* 0x0620 */ 131,124, 36,200, 9, 15, 79,208,137, 84, 36,200,233,135, 6, 0, -/* 0x0630 */ 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, -/* 0x0640 */ 72,139, 68, 36,216, 65,129,251,255,255,255, 0,102, 65,137, 17, -/* 0x0650 */ 72,141, 52, 88,119, 26, 76, 57,231, 15,132,121, 6, 0, 0, 15, -/* 0x0660 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x0670 */ 15,183,150,128, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, -/* 0x0680 */ 15,175,193, 65, 57,194,115, 78, 65,137,195,184, 0, 8, 0, 0, -/* 0x0690 */ 76,139, 76, 36,216, 41,200,139, 76, 36,196, 68,137,116, 36,196, -/* 0x06a0 */ 193,248, 5,141, 4, 2,139, 84, 36,192,137, 76, 36,192,102,137, -/* 0x06b0 */ 134,128, 1, 0, 0, 49,192,131,124, 36,200, 6,137, 84, 36,188, -/* 0x06c0 */ 15,159,192, 73,129,193,100, 6, 0, 0,141, 4, 64,137, 68, 36, -/* 0x06d0 */ 200,233, 84, 2, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193, -/* 0x06e0 */ 232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150,128, -/* 0x06f0 */ 1, 0, 0,119, 26, 76, 57,231, 15,132,218, 5, 0, 0, 15,182, -/* 0x0700 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, -/* 0x0710 */ 183,150,152, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, -/* 0x0720 */ 175,193, 65, 57,194, 15,131,208, 0, 0, 0, 65,184, 0, 8, 0, -/* 0x0730 */ 0, 65,137,195, 72,193,227, 5, 68,137,192, 41,200,193,248, 5, -/* 0x0740 */ 141, 4, 2,102,137,134,152, 1, 0, 0, 72,139, 68, 36,216, 72, -/* 0x0750 */ 1,216, 65,129,251,255,255,255, 0, 72,141, 52,104,119, 26, 76, -/* 0x0760 */ 57,231, 15,132,112, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x0770 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183,150,224, 1, 0, 0, -/* 0x0780 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, -/* 0x0790 */ 79, 65, 41,200, 65,137,195, 65,193,248, 5, 69,133,255, 66,141, -/* 0x07a0 */ 4, 2,102,137,134,224, 1, 0, 0, 15,132, 41, 5, 0, 0, 49, -/* 0x07b0 */ 192,131,124, 36,200, 6, 72,139, 92, 36,232, 15,159,192,141, 68, -/* 0x07c0 */ 0, 9,137, 68, 36,200, 68,137,248, 68, 41,240, 68, 15,182, 44, -/* 0x07d0 */ 3, 68,137,248, 65,255,199, 68,136, 44, 3,233,216, 4, 0, 0, -/* 0x07e0 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194,102, -/* 0x07f0 */ 137,150,224, 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, 65, 41, -/* 0x0800 */ 194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, -/* 0x0810 */ 0,102,137,150,152, 1, 0, 0,119, 26, 76, 57,231, 15,132,181, -/* 0x0820 */ 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x0830 */ 199, 65, 9,194, 15,183,150,176, 1, 0, 0, 68,137,216,193,232, -/* 0x0840 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, -/* 0x0850 */ 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134,176, -/* 0x0860 */ 1, 0, 0,139, 68, 36,196,233,152, 0, 0, 0, 65, 41,195, 65, -/* 0x0870 */ 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255, -/* 0x0880 */ 255, 0,102,137,150,176, 1, 0, 0,119, 26, 76, 57,231, 15,132, -/* 0x0890 */ 68, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, -/* 0x08a0 */ 255,199, 65, 9,194, 15,183,150,200, 1, 0, 0, 68,137,216,193, -/* 0x08b0 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 29, 65,137,195, -/* 0x08c0 */ 184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134, -/* 0x08d0 */ 200, 1, 0, 0,139, 68, 36,192,235, 34, 65, 41,195, 65, 41,194, -/* 0x08e0 */ 137,208,102,193,232, 5,102, 41,194,139, 68, 36,188,102,137,150, -/* 0x08f0 */ 200, 1, 0, 0,139, 84, 36,192,137, 84, 36,188,139, 76, 36,196, -/* 0x0900 */ 137, 76, 36,192, 68,137,116, 36,196, 65,137,198, 49,192,131,124, -/* 0x0910 */ 36,200, 6, 76,139, 76, 36,216, 15,159,192, 73,129,193,104, 10, -/* 0x0920 */ 0, 0,141, 68, 64, 8,137, 68, 36,200, 65,129,251,255,255,255, -/* 0x0930 */ 0,119, 26, 76, 57,231, 15,132,156, 3, 0, 0, 15,182, 7, 65, -/* 0x0940 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, -/* 0x0950 */ 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, -/* 0x0960 */ 115, 39, 65,137,195,184, 0, 8, 0, 0, 69, 49,237, 41,200,193, -/* 0x0970 */ 248, 5,141, 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, 72,193, -/* 0x0980 */ 224, 4, 77,141, 68, 1, 4,235,120, 65, 41,195, 65, 41,194,137, -/* 0x0990 */ 208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, -/* 0x09a0 */ 65,137, 17,119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, 15,182, -/* 0x09b0 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, -/* 0x09c0 */ 15,183, 81, 2, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x09d0 */ 65, 57,194,115, 52, 65,137,195,184, 0, 8, 0, 0, 65,189, 8, -/* 0x09e0 */ 0, 0, 0, 41,200,193,248, 5,141, 4, 2,102, 65,137, 65, 2, -/* 0x09f0 */ 72, 99, 68, 36,184, 72,193,224, 4, 77,141,132, 1, 4, 1, 0, -/* 0x0a00 */ 0, 65,185, 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41,194,137, -/* 0x0a10 */ 208,102,193,232, 5, 77,141,129, 4, 2, 0, 0, 65,189, 16, 0, -/* 0x0a20 */ 0, 0,102, 41,194,102, 65,137, 81, 2, 65,185, 8, 0, 0, 0, -/* 0x0a30 */ 68,137,203,189, 1, 0, 0, 0, 72, 99,197, 65,129,251,255,255, -/* 0x0a40 */ 255, 0, 73,141, 52, 64,119, 26, 76, 57,231, 15,132,135, 2, 0, -/* 0x0a50 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x0a60 */ 9,194, 15,183, 14, 68,137,216,193,232, 11, 15,183,209, 15,175, -/* 0x0a70 */ 194, 65, 57,194,115, 23, 65,137,195,184, 0, 8, 0, 0, 1,237, -/* 0x0a80 */ 41,208,193,248, 5,141, 4, 1,102,137, 6,235, 22, 65, 41,195, -/* 0x0a90 */ 65, 41,194,137,200,102,193,232, 5,141,108, 45, 1,102, 41,193, -/* 0x0aa0 */ 102,137, 14,255,203,117,145,184, 1, 0, 0, 0, 68,137,201,211, -/* 0x0ab0 */ 224, 41,197, 68, 1,237,131,124, 36,200, 3, 15,143,194, 1, 0, -/* 0x0ac0 */ 0,131, 68, 36,200, 7,184, 3, 0, 0, 0,131,253, 4, 15, 76, -/* 0x0ad0 */ 197, 72,139, 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, 72,193, -/* 0x0ae0 */ 224, 7, 76,141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, 0, 73, -/* 0x0af0 */ 99,192, 65,129,251,255,255,255, 0, 73,141, 52, 65,119, 26, 76, -/* 0x0b00 */ 57,231, 15,132,208, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x0b10 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183, 22, 68,137,216,193, -/* 0x0b20 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195, -/* 0x0b30 */ 184, 0, 8, 0, 0, 69, 1,192, 41,200,193,248, 5,141, 4, 2, -/* 0x0b40 */ 102,137, 6,235, 23, 65, 41,195, 65, 41,194,137,208,102,193,232, -/* 0x0b50 */ 5, 71,141, 68, 0, 1,102, 41,194,102,137, 22,255,203,117,143, -/* 0x0b60 */ 65,131,232, 64, 65,131,248, 3, 69,137,198, 15,142, 13, 1, 0, -/* 0x0b70 */ 0, 65,131,230, 1, 68,137,192,209,248, 65,131,206, 2, 65,131, -/* 0x0b80 */ 248, 13,141,112,255,127, 35,137,241, 72,139, 92, 36,216, 73, 99, -/* 0x0b90 */ 192, 65,211,230, 72, 1,192, 68,137,242, 72,141, 20, 83, 72, 41, -/* 0x0ba0 */ 194, 76,141,138, 94, 5, 0, 0,235, 81,141,112,251, 65,129,251, -/* 0x0bb0 */ 255,255,255, 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, 0, 15, -/* 0x0bc0 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x0bd0 */ 65,209,235, 69, 1,246, 69, 57,218,114, 7, 69, 41,218, 65,131, -/* 0x0be0 */ 206, 1,255,206,117,199, 76,139, 76, 36,216, 65,193,230, 4,190, -/* 0x0bf0 */ 4, 0, 0, 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, 0, 0, -/* 0x0c00 */ 0,187, 1, 0, 0, 0, 72, 99,195, 65,129,251,255,255,255, 0, -/* 0x0c10 */ 77,141, 4, 65,119, 26, 76, 57,231, 15,132,185, 0, 0, 0, 15, -/* 0x0c20 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x0c30 */ 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x0c40 */ 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1,219, 41, -/* 0x0c50 */ 200,193,248, 5,141, 4, 2,102, 65,137, 0,235, 26, 65, 41,195, -/* 0x0c60 */ 65, 41,194,137,208,102,193,232, 5,141, 92, 27, 1, 69, 9,238, -/* 0x0c70 */ 102, 41,194,102, 65,137, 16, 69, 1,237,255,206,117,136, 65,255, -/* 0x0c80 */ 198,116, 64,131,197, 2, 69, 57,254,119, 77, 72,139, 84, 36,232, -/* 0x0c90 */ 68,137,248, 68, 41,240, 68, 15,182, 44, 2, 68,137,248, 65,255, -/* 0x0ca0 */ 199,255,205, 68,136, 44, 2, 15,149,194, 49,192, 68, 59,124, 36, -/* 0x0cb0 */ 228, 15,146,192,133,194,117,211, 68, 59,124, 36,228, 15,130, 69, -/* 0x0cc0 */ 247,255,255, 65,129,251,255,255,255, 0,119, 22, 76, 57,231,184, -/* 0x0cd0 */ 1, 0, 0, 0,116, 35,235, 7,184, 1, 0, 0, 0,235, 26, 72, -/* 0x0ce0 */ 255,199,137,248, 43, 68, 36,248, 72,139, 76, 36,240, 72,139, 92, -/* 0x0cf0 */ 36, 56,137, 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, 93, 65, -/* 0x0d00 */ 94, 65, 95, 65, 87, 72,141, 71, 4, 69, 49,255, 65, 86, 65,190, -/* 0x0d10 */ 1, 0, 0, 0, 65, 85, 69, 49,237, 65, 84, 85, 83, 72,137, 76, -/* 0x0d20 */ 36,240, 72,137, 68, 36,216,184, 1, 0, 0, 0, 72,137,116, 36, -/* 0x0d30 */ 248, 76,137, 68, 36,232,137,195, 68,137, 76, 36,228, 15,182, 79, -/* 0x0d40 */ 2,211,227,137,217, 72,139, 92, 36, 56,255,201,137, 76, 36,212, -/* 0x0d50 */ 15,182, 79, 1,211,224, 72,139, 76, 36,240,255,200,137, 68, 36, -/* 0x0d60 */ 208, 15,182, 7,199, 1, 0, 0, 0, 0,199, 68, 36,200, 0, 0, -/* 0x0d70 */ 0, 0,199, 68, 36,196, 1, 0, 0, 0,199, 68, 36,192, 1, 0, -/* 0x0d80 */ 0, 0,199, 68, 36,188, 1, 0, 0, 0,199, 3, 0, 0, 0, 0, -/* 0x0d90 */ 137, 68, 36,204, 15,182, 79, 1, 1,193,184, 0, 3, 0, 0,211, -/* 0x0da0 */ 224, 49,201,141,184, 54, 7, 0, 0, 65, 57,255,115, 19, 72,139, -/* 0x0db0 */ 92, 36,216,137,200,255,193, 57,249,102,199, 4, 67, 0, 4,235, -/* 0x0dc0 */ 235, 72,139,124, 36,248,137,208, 69, 49,210, 65,131,203,255, 49, -/* 0x0dd0 */ 210, 73,137,252, 73, 1,196, 76, 57,231, 15,132,239, 8, 0, 0, -/* 0x0de0 */ 15,182, 7, 65,193,226, 8,255,194, 72,255,199, 65, 9,194,131, -/* 0x0df0 */ 250, 4,126,227, 68, 59,124, 36,228, 15,131,218, 8, 0, 0,139, -/* 0x0e00 */ 68, 36,212, 72, 99, 92, 36,200, 72,139, 84, 36,216, 68, 33,248, -/* 0x0e10 */ 137, 68, 36,184, 72, 99,108, 36,184, 72,137,216, 72,193,224, 4, -/* 0x0e20 */ 72, 1,232, 65,129,251,255,255,255, 0, 76,141, 12, 66,119, 26, -/* 0x0e30 */ 76, 57,231, 15,132,150, 8, 0, 0, 15,182, 7, 65,193,226, 8, -/* 0x0e40 */ 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137, -/* 0x0e50 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131,197, -/* 0x0e60 */ 1, 0, 0, 65,137,195,184, 0, 8, 0, 0, 72,139, 92, 36,216, -/* 0x0e70 */ 41,200, 15,182, 76, 36,204,190, 1, 0, 0, 0,193,248, 5,141, -/* 0x0e80 */ 4, 2, 65, 15,182,213,102, 65,137, 1,139, 68, 36,208, 68, 33, -/* 0x0e90 */ 248,211,224,185, 8, 0, 0, 0, 43, 76, 36,204,211,250, 1,208, -/* 0x0ea0 */ 105,192, 0, 3, 0, 0,131,124, 36,200, 6,137,192, 76,141,140, -/* 0x0eb0 */ 67,108, 14, 0, 0, 15,142,184, 0, 0, 0, 72,139, 84, 36,232, -/* 0x0ec0 */ 68,137,248, 68, 41,240, 15,182, 44, 2, 1,237, 72, 99,214,137, -/* 0x0ed0 */ 235,129,227, 0, 1, 0, 0, 65,129,251,255,255,255, 0, 72, 99, -/* 0x0ee0 */ 195, 73,141, 4, 65, 76,141, 4, 80,119, 26, 76, 57,231, 15,132, -/* 0x0ef0 */ 219, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, -/* 0x0f00 */ 255,199, 65, 9,194, 65, 15,183,144, 0, 2, 0, 0, 68,137,216, -/* 0x0f10 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137, -/* 0x0f20 */ 195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,133,219,141, -/* 0x0f30 */ 4, 2,102, 65,137,128, 0, 2, 0, 0,116, 33,235, 45, 65, 41, -/* 0x0f40 */ 195, 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1,102, 41, -/* 0x0f50 */ 194,133,219,102, 65,137,144, 0, 2, 0, 0,116, 14,129,254,255, -/* 0x0f60 */ 0, 0, 0, 15,142, 97,255,255,255,235,120,129,254,255, 0, 0, -/* 0x0f70 */ 0,127,112, 72, 99,198, 65,129,251,255,255,255, 0, 77,141, 4, -/* 0x0f80 */ 65,119, 26, 76, 57,231, 15,132, 67, 7, 0, 0, 15,182, 7, 65, -/* 0x0f90 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, -/* 0x0fa0 */ 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, -/* 0x0fb0 */ 115, 24, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, -/* 0x0fc0 */ 5,141, 4, 2,102, 65,137, 0,235,161, 65, 41,195, 65, 41,194, -/* 0x0fd0 */ 137,208,102,193,232, 5,141,116, 54, 1,102, 41,194,102, 65,137, -/* 0x0fe0 */ 16,235,136, 72,139, 76, 36,232, 68,137,248, 65,255,199, 65,137, -/* 0x0ff0 */ 245, 64,136, 52, 1,131,124, 36,200, 3,127, 13,199, 68, 36,200, -/* 0x1000 */ 0, 0, 0, 0,233,166, 6, 0, 0,139, 84, 36,200,139, 68, 36, -/* 0x1010 */ 200,131,234, 3,131,232, 6,131,124, 36,200, 9, 15, 79,208,137, -/* 0x1020 */ 84, 36,200,233,135, 6, 0, 0, 65, 41,195, 65, 41,194,137,208, -/* 0x1030 */ 102,193,232, 5,102, 41,194, 72,139, 68, 36,216, 65,129,251,255, -/* 0x1040 */ 255,255, 0,102, 65,137, 17, 72,141, 52, 88,119, 26, 76, 57,231, -/* 0x1050 */ 15,132,121, 6, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, -/* 0x1060 */ 8, 72,255,199, 65, 9,194, 15,183,150,128, 1, 0, 0, 68,137, -/* 0x1070 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 78, 65, -/* 0x1080 */ 137,195,184, 0, 8, 0, 0, 76,139, 76, 36,216, 41,200,139, 76, -/* 0x1090 */ 36,196, 68,137,116, 36,196,193,248, 5,141, 4, 2,139, 84, 36, -/* 0x10a0 */ 192,137, 76, 36,192,102,137,134,128, 1, 0, 0, 49,192,131,124, -/* 0x10b0 */ 36,200, 6,137, 84, 36,188, 15,159,192, 73,129,193,100, 6, 0, -/* 0x10c0 */ 0,141, 4, 64,137, 68, 36,200,233, 84, 2, 0, 0, 65, 41,195, -/* 0x10d0 */ 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255, -/* 0x10e0 */ 255,255, 0,102,137,150,128, 1, 0, 0,119, 26, 76, 57,231, 15, -/* 0x10f0 */ 132,218, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x1100 */ 72,255,199, 65, 9,194, 15,183,150,152, 1, 0, 0, 68,137,216, -/* 0x1110 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131,208, 0, -/* 0x1120 */ 0, 0, 65,184, 0, 8, 0, 0, 65,137,195, 72,193,227, 5, 68, -/* 0x1130 */ 137,192, 41,200,193,248, 5,141, 4, 2,102,137,134,152, 1, 0, -/* 0x1140 */ 0, 72,139, 68, 36,216, 72, 1,216, 65,129,251,255,255,255, 0, -/* 0x1150 */ 72,141, 52,104,119, 26, 76, 57,231, 15,132,112, 5, 0, 0, 15, -/* 0x1160 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x1170 */ 15,183,150,224, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, -/* 0x1180 */ 15,175,193, 65, 57,194,115, 79, 65, 41,200, 65,137,195, 65,193, -/* 0x1190 */ 248, 5, 69,133,255, 66,141, 4, 2,102,137,134,224, 1, 0, 0, -/* 0x11a0 */ 15,132, 41, 5, 0, 0, 49,192,131,124, 36,200, 6, 72,139, 92, -/* 0x11b0 */ 36,232, 15,159,192,141, 68, 0, 9,137, 68, 36,200, 68,137,248, -/* 0x11c0 */ 68, 41,240, 68, 15,182, 44, 3, 68,137,248, 65,255,199, 68,136, -/* 0x11d0 */ 44, 3,233,216, 4, 0, 0, 65, 41,195, 65, 41,194,137,208,102, -/* 0x11e0 */ 193,232, 5,102, 41,194,102,137,150,224, 1, 0, 0,233, 17, 1, -/* 0x11f0 */ 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, -/* 0x1200 */ 194, 65,129,251,255,255,255, 0,102,137,150,152, 1, 0, 0,119, -/* 0x1210 */ 26, 76, 57,231, 15,132,181, 4, 0, 0, 15,182, 7, 65,193,226, -/* 0x1220 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,176, 1, -/* 0x1230 */ 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, -/* 0x1240 */ 194,115, 32, 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, 5, -/* 0x1250 */ 141, 4, 2,102,137,134,176, 1, 0, 0,139, 68, 36,196,233,152, -/* 0x1260 */ 0, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, -/* 0x1270 */ 41,194, 65,129,251,255,255,255, 0,102,137,150,176, 1, 0, 0, -/* 0x1280 */ 119, 26, 76, 57,231, 15,132, 68, 4, 0, 0, 15,182, 7, 65,193, -/* 0x1290 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,200, -/* 0x12a0 */ 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, -/* 0x12b0 */ 57,194,115, 29, 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, -/* 0x12c0 */ 5,141, 4, 2,102,137,134,200, 1, 0, 0,139, 68, 36,192,235, -/* 0x12d0 */ 34, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, -/* 0x12e0 */ 139, 68, 36,188,102,137,150,200, 1, 0, 0,139, 84, 36,192,137, -/* 0x12f0 */ 84, 36,188,139, 76, 36,196,137, 76, 36,192, 68,137,116, 36,196, -/* 0x1300 */ 65,137,198, 49,192,131,124, 36,200, 6, 76,139, 76, 36,216, 15, -/* 0x1310 */ 159,192, 73,129,193,104, 10, 0, 0,141, 68, 64, 8,137, 68, 36, -/* 0x1320 */ 200, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15,132,156, -/* 0x1330 */ 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x1340 */ 199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15,183, -/* 0x1350 */ 202, 15,175,193, 65, 57,194,115, 39, 65,137,195,184, 0, 8, 0, -/* 0x1360 */ 0, 69, 49,237, 41,200,193,248, 5,141, 4, 2,102, 65,137, 1, -/* 0x1370 */ 72, 99, 68, 36,184, 72,193,224, 4, 77,141, 68, 1, 4,235,120, -/* 0x1380 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65, -/* 0x1390 */ 129,251,255,255,255, 0,102, 65,137, 17,119, 26, 76, 57,231, 15, -/* 0x13a0 */ 132, 42, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x13b0 */ 72,255,199, 65, 9,194, 65, 15,183, 81, 2, 68,137,216,193,232, -/* 0x13c0 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 52, 65,137,195,184, -/* 0x13d0 */ 0, 8, 0, 0, 65,189, 8, 0, 0, 0, 41,200,193,248, 5,141, -/* 0x13e0 */ 4, 2,102, 65,137, 65, 2, 72, 99, 68, 36,184, 72,193,224, 4, -/* 0x13f0 */ 77,141,132, 1, 4, 1, 0, 0, 65,185, 3, 0, 0, 0,235, 39, -/* 0x1400 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5, 77,141,129, 4, -/* 0x1410 */ 2, 0, 0, 65,189, 16, 0, 0, 0,102, 41,194,102, 65,137, 81, -/* 0x1420 */ 2, 65,185, 8, 0, 0, 0, 68,137,203,189, 1, 0, 0, 0, 72, -/* 0x1430 */ 99,197, 65,129,251,255,255,255, 0, 73,141, 52, 64,119, 26, 76, -/* 0x1440 */ 57,231, 15,132,135, 2, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x1450 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183, 14, 68,137,216,193, -/* 0x1460 */ 232, 11, 15,183,209, 15,175,194, 65, 57,194,115, 23, 65,137,195, -/* 0x1470 */ 184, 0, 8, 0, 0, 1,237, 41,208,193,248, 5,141, 4, 1,102, -/* 0x1480 */ 137, 6,235, 22, 65, 41,195, 65, 41,194,137,200,102,193,232, 5, -/* 0x1490 */ 141,108, 45, 1,102, 41,193,102,137, 14,255,203,117,145,184, 1, -/* 0x14a0 */ 0, 0, 0, 68,137,201,211,224, 41,197, 68, 1,237,131,124, 36, -/* 0x14b0 */ 200, 3, 15,143,194, 1, 0, 0,131, 68, 36,200, 7,184, 3, 0, -/* 0x14c0 */ 0, 0,131,253, 4, 15, 76,197, 72,139, 92, 36,216, 65,184, 1, -/* 0x14d0 */ 0, 0, 0, 72,152, 72,193,224, 7, 76,141,140, 3, 96, 3, 0, -/* 0x14e0 */ 0,187, 6, 0, 0, 0, 73, 99,192, 65,129,251,255,255,255, 0, -/* 0x14f0 */ 73,141, 52, 65,119, 26, 76, 57,231, 15,132,208, 1, 0, 0, 15, -/* 0x1500 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x1510 */ 15,183, 22, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, -/* 0x1520 */ 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 69, 1,192, 41, -/* 0x1530 */ 200,193,248, 5,141, 4, 2,102,137, 6,235, 23, 65, 41,195, 65, -/* 0x1540 */ 41,194,137,208,102,193,232, 5, 71,141, 68, 0, 1,102, 41,194, -/* 0x1550 */ 102,137, 22,255,203,117,143, 65,131,232, 64, 65,131,248, 3, 69, -/* 0x1560 */ 137,198, 15,142, 13, 1, 0, 0, 65,131,230, 1, 68,137,192,209, -/* 0x1570 */ 248, 65,131,206, 2, 65,131,248, 13,141,112,255,127, 35,137,241, -/* 0x1580 */ 72,139, 92, 36,216, 73, 99,192, 65,211,230, 72, 1,192, 68,137, -/* 0x1590 */ 242, 72,141, 20, 83, 72, 41,194, 76,141,138, 94, 5, 0, 0,235, -/* 0x15a0 */ 81,141,112,251, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, -/* 0x15b0 */ 15,132, 25, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, -/* 0x15c0 */ 8, 72,255,199, 65, 9,194, 65,209,235, 69, 1,246, 69, 57,218, -/* 0x15d0 */ 114, 7, 69, 41,218, 65,131,206, 1,255,206,117,199, 76,139, 76, -/* 0x15e0 */ 36,216, 65,193,230, 4,190, 4, 0, 0, 0, 73,129,193, 68, 6, -/* 0x15f0 */ 0, 0, 65,189, 1, 0, 0, 0,187, 1, 0, 0, 0, 72, 99,195, -/* 0x1600 */ 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, -/* 0x1610 */ 15,132,185, 0, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, -/* 0x1620 */ 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, -/* 0x1630 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, -/* 0x1640 */ 0, 8, 0, 0, 1,219, 41,200,193,248, 5,141, 4, 2,102, 65, -/* 0x1650 */ 137, 0,235, 26, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, -/* 0x1660 */ 141, 92, 27, 1, 69, 9,238,102, 41,194,102, 65,137, 16, 69, 1, -/* 0x1670 */ 237,255,206,117,136, 65,255,198,116, 64,131,197, 2, 69, 57,254, -/* 0x1680 */ 119, 77, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 68, 15,182, -/* 0x1690 */ 44, 2, 68,137,248, 65,255,199,255,205, 68,136, 44, 2, 15,149, -/* 0x16a0 */ 194, 49,192, 68, 59,124, 36,228, 15,146,192,133,194,117,211, 68, -/* 0x16b0 */ 59,124, 36,228, 15,130, 69,247,255,255, 65,129,251,255,255,255, -/* 0x16c0 */ 0,119, 22, 76, 57,231,184, 1, 0, 0, 0,116, 35,235, 7,184, -/* 0x16d0 */ 1, 0, 0, 0,235, 26, 72,255,199,137,248, 43, 68, 36,248, 72, -/* 0x16e0 */ 139, 76, 36,240, 72,139, 92, 36, 56,137, 1, 68,137, 59, 49,192, -/* 0x16f0 */ 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, 72,139,117,248, 72,139, -/* 0x1700 */ 125, 16,139, 75, 4, 72, 1,206,139, 19, 72, 1,215,201, 89, 72, -/* 0x1710 */ 137,240, 72, 41,200, 90, 72, 41,215, 89,137, 57, 91, 93,195, 93, -/* 0x1720 */ 72,141,117,226,173,146,173,145,173,139, 6, 72, 41,198, 86, 91, -/* 0x1730 */ 72, 1,218, 72,137, 84, 36, 56, 41,200, 5, 0, 0, 0, 0, 80, -/* 0x1740 */ 72, 1,217, 81,150, 77, 49,201, 65,131,200,255, 65,186, 2, 16, -/* 0x1750 */ 0, 0,106, 3, 90, 49,255,184,197, 0, 0, 2, 15, 5,114, 63, -/* 0x1760 */ 94, 89, 81, 80, 80, 95, 72, 1,200, 72, 41,245, 72, 1,253, 87, -/* 0x1770 */ 131,193, 7,193,233, 3,243, 72,165, 89, 95, 94, 86, 87, 81, 80, -/* 0x1780 */ 232, 13, 0, 0, 0, 88, 72, 5, 59,255,255,255,255,224,106, 3, -/* 0x1790 */ 235, 2,106, 5,184, 74, 0, 0, 2, 90, 15, 5,114, 1,195,244, -/* 0x17a0 */ 235,253, 83, 95,139,117,234,232,226,255,255,255, 94, 83, 95, 72, -/* 0x17b0 */ 131,197, 7,173, 72, 1,199,173, 72, 1,198,173, 86, 87,173,133, -/* 0x17c0 */ 192,116, 54, 80, 72,137,225, 72, 1,248, 80,173,146,173, 65,144, -/* 0x17d0 */ 72,141, 4, 22, 80, 82, 72,137,250, 72,137,247, 94,255,213, 94, -/* 0x17e0 */ 95, 89, 95, 89,139, 49, 15,182, 81, 10, 15,182, 73, 9,133,201, -/* 0x17f0 */ 116, 7,232, 38, 0, 0, 0,235, 0, 83, 95, 72,139, 69,249, 72, -/* 0x1800 */ 131,195, 48, 72,137, 3,139,117,227,232,132,255,255,255, 95, 94, -/* 0x1810 */ 184, 73, 0, 0, 2, 83, 89, 91, 93, 65, 88,255,225,131,249, 73, -/* 0x1820 */ 117, 68, 83, 87, 72,141, 76, 55,253, 94, 86, 91,235, 47, 72, 57, -/* 0x1830 */ 206,115, 50, 86, 94,172, 60,128,114, 10, 60,143,119, 6,128,126, -/* 0x1840 */ 254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,206,115, 22, 86, -/* 0x1850 */ 173, 40,208,117,223, 95, 15,200, 41,248, 1,216,171, 72, 57,206, -/* 0x1860 */ 115, 3,172,235,223, 91,195,102,105,108,101, 32,102,111,114,109, -/* 0x1870 */ 97,116, 32,101,108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, -/* 0x1880 */ 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, -/* 0x1890 */ 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122, -/* 0x18a0 */ 101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, -/* 0x18b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, -/* 0x18c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32, -/* 0x18d0 */ 111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, -/* 0x18e0 */ 10, 32, 32, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 32, 32, -/* 0x18f0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49,100, 32, 32, 48, 48, 48, -/* 0x1900 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1910 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1920 */ 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, -/* 0x1930 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x1940 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, -/* 0x1950 */ 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x1960 */ 48, 48, 48, 54, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1970 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1980 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1990 */ 48, 53,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x19a0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x19b0 */ 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x19c0 */ 48, 48, 48, 48, 48, 48, 98, 55, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x19d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x19f0 */ 48, 48, 48, 48, 99, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1a00 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x1a10 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, -/* 0x1a20 */ 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1a30 */ 57,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a40 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55, 97, -/* 0x1a60 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1a70 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x1a80 */ 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, -/* 0x1a90 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, -/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ac0 */ 32, 32, 48, 48, 48, 48, 48, 50, 49, 56, 32, 32, 50, 42, 42, 48, -/* 0x1ad0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x1ae0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, -/* 0x1af0 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, -/* 0x1b00 */ 48, 48, 48, 48, 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b10 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1b20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1b30 */ 48, 50, 97, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1b40 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x1b50 */ 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, -/* 0x1b60 */ 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, -/* 0x1b70 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b80 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b90 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 48, 99, 32, 32, -/* 0x1ba0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1bb0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, -/* 0x1bc0 */ 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1bd0 */ 57,102, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1be0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1bf0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 48, -/* 0x1c00 */ 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x1c10 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, -/* 0x1c20 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, -/* 0x1c30 */ 48, 48, 48, 48, 49, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1c50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1c60 */ 49, 54,102, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1c70 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x1c80 */ 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, -/* 0x1c90 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1ca0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1cc0 */ 48, 48, 48, 49, 55, 48,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1cd0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x1ce0 */ 89, 10, 32, 49, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, -/* 0x1cf0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 49, 32, 32, 48, 48, -/* 0x1d00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d20 */ 32, 32, 48, 48, 48, 48, 49, 55, 48,101, 32, 32, 50, 42, 42, 48, -/* 0x1d30 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x1d40 */ 79, 78, 76, 89, 10, 32, 49, 49, 32, 77, 65, 67, 72, 77, 65, 73, -/* 0x1d50 */ 78, 90, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 56, 32, -/* 0x1d60 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d70 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d80 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 49,102, 32, 32, 50, -/* 0x1d90 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x1da0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, -/* 0x1db0 */ 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, -/* 0x1dc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1dd0 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, -/* 0x1de0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1df0 */ 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1e10 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, -/* 0x1e20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1e30 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1e50 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, -/* 0x1e60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, -/* 0x1e70 */ 72, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1e90 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, -/* 0x1ea0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, -/* 0x1eb0 */ 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ec0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, -/* 0x1ed0 */ 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, -/* 0x1ef0 */ 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f00 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, -/* 0x1f10 */ 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f20 */ 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1f40 */ 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, -/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1f70 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, -/* 0x1f80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, -/* 0x1f90 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fa0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, -/* 0x1fb0 */ 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, -/* 0x1fd0 */ 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fe0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, -/* 0x1ff0 */ 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x2000 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, -/* 0x2010 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2020 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, -/* 0x2030 */ 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x2040 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, -/* 0x2050 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2060 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, -/* 0x2070 */ 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2080 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, -/* 0x2090 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20a0 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, -/* 0x20b0 */ 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20c0 */ 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, -/* 0x20d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 32,103, 32, 32, -/* 0x20e0 */ 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, -/* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2100 */ 101,110,100, 95,100,101, 99,111,109,112,114,101,115,115, 10, 10, -/* 0x2110 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x2120 */ 68, 83, 32, 70, 79, 82, 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, -/* 0x2130 */ 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, -/* 0x2140 */ 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x2150 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 97, 32, 82, 95, -/* 0x2170 */ 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, -/* 0x2180 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 43, 48,120,102,102,102,102, -/* 0x2190 */ 102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, -/* 0x21a0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x21b0 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, -/* 0x21c0 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, -/* 0x21d0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x21e0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21f0 */ 48, 48, 48, 48, 48, 97,101, 32, 82, 95, 88, 56, 54, 95, 54, 52, -/* 0x2200 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, -/* 0x2210 */ 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2220 */ 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2230 */ 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x2240 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, -/* 0x2250 */ 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102, -/* 0x2260 */ 102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x2270 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, -/* 0x2280 */ 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, -/* 0x2290 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x22a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x22b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 53, -/* 0x22c0 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, -/* 0x22d0 */ 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, -/* 0x22e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, -/* 0x22f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, -/* 0x2300 */ 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, -/* 0x2310 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102, -/* 0x2320 */ 102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, -/* 0x2330 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x2340 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, -/* 0x2350 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2360 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2370 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2380 */ 48, 48, 48, 48, 48, 48, 48, 56, 97, 32, 82, 95, 88, 56, 54, 95, -/* 0x2390 */ 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, -/* 0x23a0 */ 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x23b0 */ 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 53, 50, 32, 82, 95, 88, 56, 54, 95, 54, -/* 0x23d0 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, -/* 0x23e0 */ 65, 73, 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102, -/* 0x23f0 */ 102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x2400 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x2410 */ 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, -/* 0x2420 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, -/* 0x2430 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2440 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2450 */ 48, 48, 48, 48, 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, -/* 0x2460 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2470 */ 69, 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2480 */ 48, 48, 48, 48, 48, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x2490 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x24a0 */ 91, 77, 65, 67, 72, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, -/* 0x24b0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, -/* 0x24c0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x24d0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x24e0 */ 48, 48, 48, 48, 49, 99, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, -/* 0x24f0 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, -/* 0x2500 */ 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2510 */ 48, 48, 49, 52, 99, 10 +/* 0x00c0 */ 252, 65, 91, 65,128,248, 8, 15,133,174, 0, 0, 0,235, 8, 72, +/* 0x00d0 */ 255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, 72, +/* 0x00e0 */ 131,238,252, 17,219,138, 22,114,230,141, 65, 1,235, 7,255,200, +/* 0x00f0 */ 65,255,211, 17,192, 65,255,211, 17,192, 1,219,117, 10,139, 30, +/* 0x0100 */ 72,131,238,252, 17,219,138, 22,115,228,131,232, 3,114, 29,193, +/* 0x0110 */ 224, 8, 15,182,210, 9,208, 72,255,198,131,240,255, 15,132, 0, +/* 0x0120 */ 0, 0, 0,209,248, 72, 99,232,114, 56,235, 14, 1,219,117, 8, +/* 0x0130 */ 139, 30, 72,131,238,252, 17,219,114, 40,255,193, 1,219,117, 8, +/* 0x0140 */ 139, 30, 72,131,238,252, 17,219,114, 24, 65,255,211, 17,201, 1, +/* 0x0150 */ 219,117, 8,139, 30, 72,131,238,252, 17,219,115,237,131,193, 2, +/* 0x0160 */ 235, 5, 65,255,211, 17,201, 72,129,253, 0,251,255,255,131,209, +/* 0x0170 */ 2,232, 0, 0, 0, 0,233, 92,255,255,255, 87, 94, 65,128,248, +/* 0x0180 */ 5, 15,133,149, 0, 0, 0,235, 8, 72,255,198,136, 23, 72,255, +/* 0x0190 */ 199,138, 22, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, +/* 0x01a0 */ 22,114,230,141, 65, 1,235, 7,255,200, 65,255,211, 17,192, 65, +/* 0x01b0 */ 255,211, 17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17,219, +/* 0x01c0 */ 138, 22,115,228,131,232, 3,114, 27,193,224, 8, 15,182,210, 9, +/* 0x01d0 */ 208, 72,255,198,131,240,255, 15,132, 0, 0, 0, 0,209,248, 72, +/* 0x01e0 */ 99,232,235, 3, 65,255,211, 17,201, 65,255,211, 17,201,117, 24, +/* 0x01f0 */ 255,193, 65,255,211, 17,201, 1,219,117, 8,139, 30, 72,131,238, +/* 0x0200 */ 252, 17,219,115,237,131,193, 2, 72,129,253, 0,251,255,255,131, +/* 0x0210 */ 209, 1,232, 0, 0, 0, 0,233,117,255,255,255, 87, 94, 65,128, +/* 0x0220 */ 248, 2, 15,133,135, 0, 0, 0,235, 8, 72,255,198,136, 23, 72, +/* 0x0230 */ 255,199,138, 22, 1,219,117, 10,139, 30, 72,131,238,252, 17,219, +/* 0x0240 */ 138, 22,114,230,141, 65, 1, 65,255,211, 17,192, 1,219,117, 10, +/* 0x0250 */ 139, 30, 72,131,238,252, 17,219,138, 22,115,235,131,232, 3,114, +/* 0x0260 */ 23,193,224, 8, 15,182,210, 9,208, 72,255,198,131,240,255, 15, +/* 0x0270 */ 132, 0, 0, 0, 0, 72, 99,232,141, 65, 1, 65,255,211, 17,201, +/* 0x0280 */ 65,255,211, 17,201,117, 24,137,193,131,192, 2, 65,255,211, 17, +/* 0x0290 */ 201, 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115,237, 72, +/* 0x02a0 */ 129,253, 0,243,255,255, 17,193,232, 0, 0, 0, 0,235,131, 87, +/* 0x02b0 */ 94, 65,128,248, 14, 15,133, 0, 0, 0, 0, 85, 72,137,229, 68, +/* 0x02c0 */ 139, 9, 73,137,208, 72,137,242, 72,141,119, 2, 86,138, 7,255, +/* 0x02d0 */ 202,136,193, 36, 7,192,233, 3, 72,199,195, 0,253,255,255, 72, +/* 0x02e0 */ 211,227,136,193, 72,141,156, 92,136,241,255,255, 72,131,227,192, +/* 0x02f0 */ 106, 0, 72, 57,220,117,249, 83, 72,141,123, 8,138, 78,255,255, +/* 0x0300 */ 202,136, 71, 2,136,200,192,233, 4,136, 79, 1, 36, 15,136, 7, +/* 0x0310 */ 72,141, 79,252, 80, 65, 87, 72,141, 71, 4, 69, 49,255, 65, 86, +/* 0x0320 */ 65,190, 1, 0, 0, 0, 65, 85, 69, 49,237, 65, 84, 85, 83, 72, +/* 0x0330 */ 137, 76, 36,240, 72,137, 68, 36,216,184, 1, 0, 0, 0, 72,137, +/* 0x0340 */ 116, 36,248, 76,137, 68, 36,232,137,195, 68,137, 76, 36,228, 15, +/* 0x0350 */ 182, 79, 2,211,227,137,217, 72,139, 92, 36, 56,255,201,137, 76, +/* 0x0360 */ 36,212, 15,182, 79, 1,211,224, 72,139, 76, 36,240,255,200,137, +/* 0x0370 */ 68, 36,208, 15,182, 7,199, 1, 0, 0, 0, 0,199, 68, 36,200, +/* 0x0380 */ 0, 0, 0, 0,199, 68, 36,196, 1, 0, 0, 0,199, 68, 36,192, +/* 0x0390 */ 1, 0, 0, 0,199, 68, 36,188, 1, 0, 0, 0,199, 3, 0, 0, +/* 0x03a0 */ 0, 0,137, 68, 36,204, 15,182, 79, 1, 1,193,184, 0, 3, 0, +/* 0x03b0 */ 0,211,224, 49,201,141,184, 54, 7, 0, 0, 65, 57,255,115, 19, +/* 0x03c0 */ 72,139, 92, 36,216,137,200,255,193, 57,249,102,199, 4, 67, 0, +/* 0x03d0 */ 4,235,235, 72,139,124, 36,248,137,208, 69, 49,210, 65,131,203, +/* 0x03e0 */ 255, 49,210, 73,137,252, 73, 1,196, 76, 57,231, 15,132,239, 8, +/* 0x03f0 */ 0, 0, 15,182, 7, 65,193,226, 8,255,194, 72,255,199, 65, 9, +/* 0x0400 */ 194,131,250, 4,126,227, 68, 59,124, 36,228, 15,131,218, 8, 0, +/* 0x0410 */ 0,139, 68, 36,212, 72, 99, 92, 36,200, 72,139, 84, 36,216, 68, +/* 0x0420 */ 33,248,137, 68, 36,184, 72, 99,108, 36,184, 72,137,216, 72,193, +/* 0x0430 */ 224, 4, 72, 1,232, 65,129,251,255,255,255, 0, 76,141, 12, 66, +/* 0x0440 */ 119, 26, 76, 57,231, 15,132,150, 8, 0, 0, 15,182, 7, 65,193, +/* 0x0450 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, +/* 0x0460 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15, +/* 0x0470 */ 131,197, 1, 0, 0, 65,137,195,184, 0, 8, 0, 0, 72,139, 92, +/* 0x0480 */ 36,216, 41,200, 15,182, 76, 36,204,190, 1, 0, 0, 0,193,248, +/* 0x0490 */ 5,141, 4, 2, 65, 15,182,213,102, 65,137, 1,139, 68, 36,208, +/* 0x04a0 */ 68, 33,248,211,224,185, 8, 0, 0, 0, 43, 76, 36,204,211,250, +/* 0x04b0 */ 1,208,105,192, 0, 3, 0, 0,131,124, 36,200, 6,137,192, 76, +/* 0x04c0 */ 141,140, 67,108, 14, 0, 0, 15,142,184, 0, 0, 0, 72,139, 84, +/* 0x04d0 */ 36,232, 68,137,248, 68, 41,240, 15,182, 44, 2, 1,237, 72, 99, +/* 0x04e0 */ 214,137,235,129,227, 0, 1, 0, 0, 65,129,251,255,255,255, 0, +/* 0x04f0 */ 72, 99,195, 73,141, 4, 65, 76,141, 4, 80,119, 26, 76, 57,231, +/* 0x0500 */ 15,132,219, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, +/* 0x0510 */ 8, 72,255,199, 65, 9,194, 65, 15,183,144, 0, 2, 0, 0, 68, +/* 0x0520 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, +/* 0x0530 */ 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,133, +/* 0x0540 */ 219,141, 4, 2,102, 65,137,128, 0, 2, 0, 0,116, 33,235, 45, +/* 0x0550 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1, +/* 0x0560 */ 102, 41,194,133,219,102, 65,137,144, 0, 2, 0, 0,116, 14,129, +/* 0x0570 */ 254,255, 0, 0, 0, 15,142, 97,255,255,255,235,120,129,254,255, +/* 0x0580 */ 0, 0, 0,127,112, 72, 99,198, 65,129,251,255,255,255, 0, 77, +/* 0x0590 */ 141, 4, 65,119, 26, 76, 57,231, 15,132, 67, 7, 0, 0, 15,182, +/* 0x05a0 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, +/* 0x05b0 */ 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, +/* 0x05c0 */ 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200, +/* 0x05d0 */ 193,248, 5,141, 4, 2,102, 65,137, 0,235,161, 65, 41,195, 65, +/* 0x05e0 */ 41,194,137,208,102,193,232, 5,141,116, 54, 1,102, 41,194,102, +/* 0x05f0 */ 65,137, 16,235,136, 72,139, 76, 36,232, 68,137,248, 65,255,199, +/* 0x0600 */ 65,137,245, 64,136, 52, 1,131,124, 36,200, 3,127, 13,199, 68, +/* 0x0610 */ 36,200, 0, 0, 0, 0,233,166, 6, 0, 0,139, 84, 36,200,139, +/* 0x0620 */ 68, 36,200,131,234, 3,131,232, 6,131,124, 36,200, 9, 15, 79, +/* 0x0630 */ 208,137, 84, 36,200,233,135, 6, 0, 0, 65, 41,195, 65, 41,194, +/* 0x0640 */ 137,208,102,193,232, 5,102, 41,194, 72,139, 68, 36,216, 65,129, +/* 0x0650 */ 251,255,255,255, 0,102, 65,137, 17, 72,141, 52, 88,119, 26, 76, +/* 0x0660 */ 57,231, 15,132,121, 6, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x0670 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183,150,128, 1, 0, 0, +/* 0x0680 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, +/* 0x0690 */ 78, 65,137,195,184, 0, 8, 0, 0, 76,139, 76, 36,216, 41,200, +/* 0x06a0 */ 139, 76, 36,196, 68,137,116, 36,196,193,248, 5,141, 4, 2,139, +/* 0x06b0 */ 84, 36,192,137, 76, 36,192,102,137,134,128, 1, 0, 0, 49,192, +/* 0x06c0 */ 131,124, 36,200, 6,137, 84, 36,188, 15,159,192, 73,129,193,100, +/* 0x06d0 */ 6, 0, 0,141, 4, 64,137, 68, 36,200,233, 84, 2, 0, 0, 65, +/* 0x06e0 */ 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129, +/* 0x06f0 */ 251,255,255,255, 0,102,137,150,128, 1, 0, 0,119, 26, 76, 57, +/* 0x0700 */ 231, 15,132,218, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x0710 */ 227, 8, 72,255,199, 65, 9,194, 15,183,150,152, 1, 0, 0, 68, +/* 0x0720 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131, +/* 0x0730 */ 208, 0, 0, 0, 65,184, 0, 8, 0, 0, 65,137,195, 72,193,227, +/* 0x0740 */ 5, 68,137,192, 41,200,193,248, 5,141, 4, 2,102,137,134,152, +/* 0x0750 */ 1, 0, 0, 72,139, 68, 36,216, 72, 1,216, 65,129,251,255,255, +/* 0x0760 */ 255, 0, 72,141, 52,104,119, 26, 76, 57,231, 15,132,112, 5, 0, +/* 0x0770 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x0780 */ 9,194, 15,183,150,224, 1, 0, 0, 68,137,216,193,232, 11, 15, +/* 0x0790 */ 183,202, 15,175,193, 65, 57,194,115, 79, 65, 41,200, 65,137,195, +/* 0x07a0 */ 65,193,248, 5, 69,133,255, 66,141, 4, 2,102,137,134,224, 1, +/* 0x07b0 */ 0, 0, 15,132, 41, 5, 0, 0, 49,192,131,124, 36,200, 6, 72, +/* 0x07c0 */ 139, 92, 36,232, 15,159,192,141, 68, 0, 9,137, 68, 36,200, 68, +/* 0x07d0 */ 137,248, 68, 41,240, 68, 15,182, 44, 3, 68,137,248, 65,255,199, +/* 0x07e0 */ 68,136, 44, 3,233,216, 4, 0, 0, 65, 41,195, 65, 41,194,137, +/* 0x07f0 */ 208,102,193,232, 5,102, 41,194,102,137,150,224, 1, 0, 0,233, +/* 0x0800 */ 17, 1, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, +/* 0x0810 */ 102, 41,194, 65,129,251,255,255,255, 0,102,137,150,152, 1, 0, +/* 0x0820 */ 0,119, 26, 76, 57,231, 15,132,181, 4, 0, 0, 15,182, 7, 65, +/* 0x0830 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150, +/* 0x0840 */ 176, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, +/* 0x0850 */ 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 41,200,193, +/* 0x0860 */ 248, 5,141, 4, 2,102,137,134,176, 1, 0, 0,139, 68, 36,196, +/* 0x0870 */ 233,152, 0, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, +/* 0x0880 */ 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150,176, 1, +/* 0x0890 */ 0, 0,119, 26, 76, 57,231, 15,132, 68, 4, 0, 0, 15,182, 7, +/* 0x08a0 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, +/* 0x08b0 */ 150,200, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175, +/* 0x08c0 */ 193, 65, 57,194,115, 29, 65,137,195,184, 0, 8, 0, 0, 41,200, +/* 0x08d0 */ 193,248, 5,141, 4, 2,102,137,134,200, 1, 0, 0,139, 68, 36, +/* 0x08e0 */ 192,235, 34, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, +/* 0x08f0 */ 41,194,139, 68, 36,188,102,137,150,200, 1, 0, 0,139, 84, 36, +/* 0x0900 */ 192,137, 84, 36,188,139, 76, 36,196,137, 76, 36,192, 68,137,116, +/* 0x0910 */ 36,196, 65,137,198, 49,192,131,124, 36,200, 6, 76,139, 76, 36, +/* 0x0920 */ 216, 15,159,192, 73,129,193,104, 10, 0, 0,141, 68, 64, 8,137, +/* 0x0930 */ 68, 36,200, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15, +/* 0x0940 */ 132,156, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x0950 */ 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, +/* 0x0960 */ 15,183,202, 15,175,193, 65, 57,194,115, 39, 65,137,195,184, 0, +/* 0x0970 */ 8, 0, 0, 69, 49,237, 41,200,193,248, 5,141, 4, 2,102, 65, +/* 0x0980 */ 137, 1, 72, 99, 68, 36,184, 72,193,224, 4, 77,141, 68, 1, 4, +/* 0x0990 */ 235,120, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, +/* 0x09a0 */ 194, 65,129,251,255,255,255, 0,102, 65,137, 17,119, 26, 76, 57, +/* 0x09b0 */ 231, 15,132, 42, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x09c0 */ 227, 8, 72,255,199, 65, 9,194, 65, 15,183, 81, 2, 68,137,216, +/* 0x09d0 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 52, 65,137, +/* 0x09e0 */ 195,184, 0, 8, 0, 0, 65,189, 8, 0, 0, 0, 41,200,193,248, +/* 0x09f0 */ 5,141, 4, 2,102, 65,137, 65, 2, 72, 99, 68, 36,184, 72,193, +/* 0x0a00 */ 224, 4, 77,141,132, 1, 4, 1, 0, 0, 65,185, 3, 0, 0, 0, +/* 0x0a10 */ 235, 39, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, 77,141, +/* 0x0a20 */ 129, 4, 2, 0, 0, 65,189, 16, 0, 0, 0,102, 41,194,102, 65, +/* 0x0a30 */ 137, 81, 2, 65,185, 8, 0, 0, 0, 68,137,203,189, 1, 0, 0, +/* 0x0a40 */ 0, 72, 99,197, 65,129,251,255,255,255, 0, 73,141, 52, 64,119, +/* 0x0a50 */ 26, 76, 57,231, 15,132,135, 2, 0, 0, 15,182, 7, 65,193,226, +/* 0x0a60 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 14, 68,137, +/* 0x0a70 */ 216,193,232, 11, 15,183,209, 15,175,194, 65, 57,194,115, 23, 65, +/* 0x0a80 */ 137,195,184, 0, 8, 0, 0, 1,237, 41,208,193,248, 5,141, 4, +/* 0x0a90 */ 1,102,137, 6,235, 22, 65, 41,195, 65, 41,194,137,200,102,193, +/* 0x0aa0 */ 232, 5,141,108, 45, 1,102, 41,193,102,137, 14,255,203,117,145, +/* 0x0ab0 */ 184, 1, 0, 0, 0, 68,137,201,211,224, 41,197, 68, 1,237,131, +/* 0x0ac0 */ 124, 36,200, 3, 15,143,194, 1, 0, 0,131, 68, 36,200, 7,184, +/* 0x0ad0 */ 3, 0, 0, 0,131,253, 4, 15, 76,197, 72,139, 92, 36,216, 65, +/* 0x0ae0 */ 184, 1, 0, 0, 0, 72,152, 72,193,224, 7, 76,141,140, 3, 96, +/* 0x0af0 */ 3, 0, 0,187, 6, 0, 0, 0, 73, 99,192, 65,129,251,255,255, +/* 0x0b00 */ 255, 0, 73,141, 52, 65,119, 26, 76, 57,231, 15,132,208, 1, 0, +/* 0x0b10 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x0b20 */ 9,194, 15,183, 22, 68,137,216,193,232, 11, 15,183,202, 15,175, +/* 0x0b30 */ 193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 69, 1, +/* 0x0b40 */ 192, 41,200,193,248, 5,141, 4, 2,102,137, 6,235, 23, 65, 41, +/* 0x0b50 */ 195, 65, 41,194,137,208,102,193,232, 5, 71,141, 68, 0, 1,102, +/* 0x0b60 */ 41,194,102,137, 22,255,203,117,143, 65,131,232, 64, 65,131,248, +/* 0x0b70 */ 3, 69,137,198, 15,142, 13, 1, 0, 0, 65,131,230, 1, 68,137, +/* 0x0b80 */ 192,209,248, 65,131,206, 2, 65,131,248, 13,141,112,255,127, 35, +/* 0x0b90 */ 137,241, 72,139, 92, 36,216, 73, 99,192, 65,211,230, 72, 1,192, +/* 0x0ba0 */ 68,137,242, 72,141, 20, 83, 72, 41,194, 76,141,138, 94, 5, 0, +/* 0x0bb0 */ 0,235, 81,141,112,251, 65,129,251,255,255,255, 0,119, 26, 76, +/* 0x0bc0 */ 57,231, 15,132, 25, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x0bd0 */ 193,227, 8, 72,255,199, 65, 9,194, 65,209,235, 69, 1,246, 69, +/* 0x0be0 */ 57,218,114, 7, 69, 41,218, 65,131,206, 1,255,206,117,199, 76, +/* 0x0bf0 */ 139, 76, 36,216, 65,193,230, 4,190, 4, 0, 0, 0, 73,129,193, +/* 0x0c00 */ 68, 6, 0, 0, 65,189, 1, 0, 0, 0,187, 1, 0, 0, 0, 72, +/* 0x0c10 */ 99,195, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, +/* 0x0c20 */ 57,231, 15,132,185, 0, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x0c30 */ 193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216, +/* 0x0c40 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137, +/* 0x0c50 */ 195,184, 0, 8, 0, 0, 1,219, 41,200,193,248, 5,141, 4, 2, +/* 0x0c60 */ 102, 65,137, 0,235, 26, 65, 41,195, 65, 41,194,137,208,102,193, +/* 0x0c70 */ 232, 5,141, 92, 27, 1, 69, 9,238,102, 41,194,102, 65,137, 16, +/* 0x0c80 */ 69, 1,237,255,206,117,136, 65,255,198,116, 64,131,197, 2, 69, +/* 0x0c90 */ 57,254,119, 77, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 68, +/* 0x0ca0 */ 15,182, 44, 2, 68,137,248, 65,255,199,255,205, 68,136, 44, 2, +/* 0x0cb0 */ 15,149,194, 49,192, 68, 59,124, 36,228, 15,146,192,133,194,117, +/* 0x0cc0 */ 211, 68, 59,124, 36,228, 15,130, 69,247,255,255, 65,129,251,255, +/* 0x0cd0 */ 255,255, 0,119, 22, 76, 57,231,184, 1, 0, 0, 0,116, 35,235, +/* 0x0ce0 */ 7,184, 1, 0, 0, 0,235, 26, 72,255,199,137,248, 43, 68, 36, +/* 0x0cf0 */ 248, 72,139, 76, 36,240, 72,139, 92, 36, 56,137, 1, 68,137, 59, +/* 0x0d00 */ 49,192, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, 65, 87, 72,141, +/* 0x0d10 */ 71, 4, 69, 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, 85, 69, +/* 0x0d20 */ 49,237, 65, 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, 36,216, +/* 0x0d30 */ 184, 1, 0, 0, 0, 72,137,116, 36,248, 76,137, 68, 36,232,137, +/* 0x0d40 */ 195, 68,137, 76, 36,228, 15,182, 79, 2,211,227,137,217, 72,139, +/* 0x0d50 */ 92, 36, 56,255,201,137, 76, 36,212, 15,182, 79, 1,211,224, 72, +/* 0x0d60 */ 139, 76, 36,240,255,200,137, 68, 36,208, 15,182, 7,199, 1, 0, +/* 0x0d70 */ 0, 0, 0,199, 68, 36,200, 0, 0, 0, 0,199, 68, 36,196, 1, +/* 0x0d80 */ 0, 0, 0,199, 68, 36,192, 1, 0, 0, 0,199, 68, 36,188, 1, +/* 0x0d90 */ 0, 0, 0,199, 3, 0, 0, 0, 0,137, 68, 36,204, 15,182, 79, +/* 0x0da0 */ 1, 1,193,184, 0, 3, 0, 0,211,224, 49,201,141,184, 54, 7, +/* 0x0db0 */ 0, 0, 65, 57,255,115, 19, 72,139, 92, 36,216,137,200,255,193, +/* 0x0dc0 */ 57,249,102,199, 4, 67, 0, 4,235,235, 72,139,124, 36,248,137, +/* 0x0dd0 */ 208, 69, 49,210, 65,131,203,255, 49,210, 73,137,252, 73, 1,196, +/* 0x0de0 */ 76, 57,231, 15,132,239, 8, 0, 0, 15,182, 7, 65,193,226, 8, +/* 0x0df0 */ 255,194, 72,255,199, 65, 9,194,131,250, 4,126,227, 68, 59,124, +/* 0x0e00 */ 36,228, 15,131,218, 8, 0, 0,139, 68, 36,212, 72, 99, 92, 36, +/* 0x0e10 */ 200, 72,139, 84, 36,216, 68, 33,248,137, 68, 36,184, 72, 99,108, +/* 0x0e20 */ 36,184, 72,137,216, 72,193,224, 4, 72, 1,232, 65,129,251,255, +/* 0x0e30 */ 255,255, 0, 76,141, 12, 66,119, 26, 76, 57,231, 15,132,150, 8, +/* 0x0e40 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, +/* 0x0e50 */ 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, +/* 0x0e60 */ 15,175,193, 65, 57,194, 15,131,197, 1, 0, 0, 65,137,195,184, +/* 0x0e70 */ 0, 8, 0, 0, 72,139, 92, 36,216, 41,200, 15,182, 76, 36,204, +/* 0x0e80 */ 190, 1, 0, 0, 0,193,248, 5,141, 4, 2, 65, 15,182,213,102, +/* 0x0e90 */ 65,137, 1,139, 68, 36,208, 68, 33,248,211,224,185, 8, 0, 0, +/* 0x0ea0 */ 0, 43, 76, 36,204,211,250, 1,208,105,192, 0, 3, 0, 0,131, +/* 0x0eb0 */ 124, 36,200, 6,137,192, 76,141,140, 67,108, 14, 0, 0, 15,142, +/* 0x0ec0 */ 184, 0, 0, 0, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 15, +/* 0x0ed0 */ 182, 44, 2, 1,237, 72, 99,214,137,235,129,227, 0, 1, 0, 0, +/* 0x0ee0 */ 65,129,251,255,255,255, 0, 72, 99,195, 73,141, 4, 65, 76,141, +/* 0x0ef0 */ 4, 80,119, 26, 76, 57,231, 15,132,219, 7, 0, 0, 15,182, 7, +/* 0x0f00 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15, +/* 0x0f10 */ 183,144, 0, 2, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x0f20 */ 175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 1, +/* 0x0f30 */ 246, 41,200,193,248, 5,133,219,141, 4, 2,102, 65,137,128, 0, +/* 0x0f40 */ 2, 0, 0,116, 33,235, 45, 65, 41,195, 65, 41,194,137,208,102, +/* 0x0f50 */ 193,232, 5,141,116, 54, 1,102, 41,194,133,219,102, 65,137,144, +/* 0x0f60 */ 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, 15,142, 97,255, +/* 0x0f70 */ 255,255,235,120,129,254,255, 0, 0, 0,127,112, 72, 99,198, 65, +/* 0x0f80 */ 129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15, +/* 0x0f90 */ 132, 67, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x0fa0 */ 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, +/* 0x0fb0 */ 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, +/* 0x0fc0 */ 8, 0, 0, 1,246, 41,200,193,248, 5,141, 4, 2,102, 65,137, +/* 0x0fd0 */ 0,235,161, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141, +/* 0x0fe0 */ 116, 54, 1,102, 41,194,102, 65,137, 16,235,136, 72,139, 76, 36, +/* 0x0ff0 */ 232, 68,137,248, 65,255,199, 65,137,245, 64,136, 52, 1,131,124, +/* 0x1000 */ 36,200, 3,127, 13,199, 68, 36,200, 0, 0, 0, 0,233,166, 6, +/* 0x1010 */ 0, 0,139, 84, 36,200,139, 68, 36,200,131,234, 3,131,232, 6, +/* 0x1020 */ 131,124, 36,200, 9, 15, 79,208,137, 84, 36,200,233,135, 6, 0, +/* 0x1030 */ 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, +/* 0x1040 */ 72,139, 68, 36,216, 65,129,251,255,255,255, 0,102, 65,137, 17, +/* 0x1050 */ 72,141, 52, 88,119, 26, 76, 57,231, 15,132,121, 6, 0, 0, 15, +/* 0x1060 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, +/* 0x1070 */ 15,183,150,128, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, +/* 0x1080 */ 15,175,193, 65, 57,194,115, 78, 65,137,195,184, 0, 8, 0, 0, +/* 0x1090 */ 76,139, 76, 36,216, 41,200,139, 76, 36,196, 68,137,116, 36,196, +/* 0x10a0 */ 193,248, 5,141, 4, 2,139, 84, 36,192,137, 76, 36,192,102,137, +/* 0x10b0 */ 134,128, 1, 0, 0, 49,192,131,124, 36,200, 6,137, 84, 36,188, +/* 0x10c0 */ 15,159,192, 73,129,193,100, 6, 0, 0,141, 4, 64,137, 68, 36, +/* 0x10d0 */ 200,233, 84, 2, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193, +/* 0x10e0 */ 232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150,128, +/* 0x10f0 */ 1, 0, 0,119, 26, 76, 57,231, 15,132,218, 5, 0, 0, 15,182, +/* 0x1100 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, +/* 0x1110 */ 183,150,152, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x1120 */ 175,193, 65, 57,194, 15,131,208, 0, 0, 0, 65,184, 0, 8, 0, +/* 0x1130 */ 0, 65,137,195, 72,193,227, 5, 68,137,192, 41,200,193,248, 5, +/* 0x1140 */ 141, 4, 2,102,137,134,152, 1, 0, 0, 72,139, 68, 36,216, 72, +/* 0x1150 */ 1,216, 65,129,251,255,255,255, 0, 72,141, 52,104,119, 26, 76, +/* 0x1160 */ 57,231, 15,132,112, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x1170 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183,150,224, 1, 0, 0, +/* 0x1180 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, +/* 0x1190 */ 79, 65, 41,200, 65,137,195, 65,193,248, 5, 69,133,255, 66,141, +/* 0x11a0 */ 4, 2,102,137,134,224, 1, 0, 0, 15,132, 41, 5, 0, 0, 49, +/* 0x11b0 */ 192,131,124, 36,200, 6, 72,139, 92, 36,232, 15,159,192,141, 68, +/* 0x11c0 */ 0, 9,137, 68, 36,200, 68,137,248, 68, 41,240, 68, 15,182, 44, +/* 0x11d0 */ 3, 68,137,248, 65,255,199, 68,136, 44, 3,233,216, 4, 0, 0, +/* 0x11e0 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194,102, +/* 0x11f0 */ 137,150,224, 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, 65, 41, +/* 0x1200 */ 194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, +/* 0x1210 */ 0,102,137,150,152, 1, 0, 0,119, 26, 76, 57,231, 15,132,181, +/* 0x1220 */ 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, +/* 0x1230 */ 199, 65, 9,194, 15,183,150,176, 1, 0, 0, 68,137,216,193,232, +/* 0x1240 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, +/* 0x1250 */ 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134,176, +/* 0x1260 */ 1, 0, 0,139, 68, 36,196,233,152, 0, 0, 0, 65, 41,195, 65, +/* 0x1270 */ 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255, +/* 0x1280 */ 255, 0,102,137,150,176, 1, 0, 0,119, 26, 76, 57,231, 15,132, +/* 0x1290 */ 68, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, +/* 0x12a0 */ 255,199, 65, 9,194, 15,183,150,200, 1, 0, 0, 68,137,216,193, +/* 0x12b0 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 29, 65,137,195, +/* 0x12c0 */ 184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134, +/* 0x12d0 */ 200, 1, 0, 0,139, 68, 36,192,235, 34, 65, 41,195, 65, 41,194, +/* 0x12e0 */ 137,208,102,193,232, 5,102, 41,194,139, 68, 36,188,102,137,150, +/* 0x12f0 */ 200, 1, 0, 0,139, 84, 36,192,137, 84, 36,188,139, 76, 36,196, +/* 0x1300 */ 137, 76, 36,192, 68,137,116, 36,196, 65,137,198, 49,192,131,124, +/* 0x1310 */ 36,200, 6, 76,139, 76, 36,216, 15,159,192, 73,129,193,104, 10, +/* 0x1320 */ 0, 0,141, 68, 64, 8,137, 68, 36,200, 65,129,251,255,255,255, +/* 0x1330 */ 0,119, 26, 76, 57,231, 15,132,156, 3, 0, 0, 15,182, 7, 65, +/* 0x1340 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, +/* 0x1350 */ 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, +/* 0x1360 */ 115, 39, 65,137,195,184, 0, 8, 0, 0, 69, 49,237, 41,200,193, +/* 0x1370 */ 248, 5,141, 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, 72,193, +/* 0x1380 */ 224, 4, 77,141, 68, 1, 4,235,120, 65, 41,195, 65, 41,194,137, +/* 0x1390 */ 208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, +/* 0x13a0 */ 65,137, 17,119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, 15,182, +/* 0x13b0 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, +/* 0x13c0 */ 15,183, 81, 2, 68,137,216,193,232, 11, 15,183,202, 15,175,193, +/* 0x13d0 */ 65, 57,194,115, 52, 65,137,195,184, 0, 8, 0, 0, 65,189, 8, +/* 0x13e0 */ 0, 0, 0, 41,200,193,248, 5,141, 4, 2,102, 65,137, 65, 2, +/* 0x13f0 */ 72, 99, 68, 36,184, 72,193,224, 4, 77,141,132, 1, 4, 1, 0, +/* 0x1400 */ 0, 65,185, 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41,194,137, +/* 0x1410 */ 208,102,193,232, 5, 77,141,129, 4, 2, 0, 0, 65,189, 16, 0, +/* 0x1420 */ 0, 0,102, 41,194,102, 65,137, 81, 2, 65,185, 8, 0, 0, 0, +/* 0x1430 */ 68,137,203,189, 1, 0, 0, 0, 72, 99,197, 65,129,251,255,255, +/* 0x1440 */ 255, 0, 73,141, 52, 64,119, 26, 76, 57,231, 15,132,135, 2, 0, +/* 0x1450 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x1460 */ 9,194, 15,183, 14, 68,137,216,193,232, 11, 15,183,209, 15,175, +/* 0x1470 */ 194, 65, 57,194,115, 23, 65,137,195,184, 0, 8, 0, 0, 1,237, +/* 0x1480 */ 41,208,193,248, 5,141, 4, 1,102,137, 6,235, 22, 65, 41,195, +/* 0x1490 */ 65, 41,194,137,200,102,193,232, 5,141,108, 45, 1,102, 41,193, +/* 0x14a0 */ 102,137, 14,255,203,117,145,184, 1, 0, 0, 0, 68,137,201,211, +/* 0x14b0 */ 224, 41,197, 68, 1,237,131,124, 36,200, 3, 15,143,194, 1, 0, +/* 0x14c0 */ 0,131, 68, 36,200, 7,184, 3, 0, 0, 0,131,253, 4, 15, 76, +/* 0x14d0 */ 197, 72,139, 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, 72,193, +/* 0x14e0 */ 224, 7, 76,141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, 0, 73, +/* 0x14f0 */ 99,192, 65,129,251,255,255,255, 0, 73,141, 52, 65,119, 26, 76, +/* 0x1500 */ 57,231, 15,132,208, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x1510 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183, 22, 68,137,216,193, +/* 0x1520 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195, +/* 0x1530 */ 184, 0, 8, 0, 0, 69, 1,192, 41,200,193,248, 5,141, 4, 2, +/* 0x1540 */ 102,137, 6,235, 23, 65, 41,195, 65, 41,194,137,208,102,193,232, +/* 0x1550 */ 5, 71,141, 68, 0, 1,102, 41,194,102,137, 22,255,203,117,143, +/* 0x1560 */ 65,131,232, 64, 65,131,248, 3, 69,137,198, 15,142, 13, 1, 0, +/* 0x1570 */ 0, 65,131,230, 1, 68,137,192,209,248, 65,131,206, 2, 65,131, +/* 0x1580 */ 248, 13,141,112,255,127, 35,137,241, 72,139, 92, 36,216, 73, 99, +/* 0x1590 */ 192, 65,211,230, 72, 1,192, 68,137,242, 72,141, 20, 83, 72, 41, +/* 0x15a0 */ 194, 76,141,138, 94, 5, 0, 0,235, 81,141,112,251, 65,129,251, +/* 0x15b0 */ 255,255,255, 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, 0, 15, +/* 0x15c0 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, +/* 0x15d0 */ 65,209,235, 69, 1,246, 69, 57,218,114, 7, 69, 41,218, 65,131, +/* 0x15e0 */ 206, 1,255,206,117,199, 76,139, 76, 36,216, 65,193,230, 4,190, +/* 0x15f0 */ 4, 0, 0, 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, 0, 0, +/* 0x1600 */ 0,187, 1, 0, 0, 0, 72, 99,195, 65,129,251,255,255,255, 0, +/* 0x1610 */ 77,141, 4, 65,119, 26, 76, 57,231, 15,132,185, 0, 0, 0, 15, +/* 0x1620 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, +/* 0x1630 */ 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, +/* 0x1640 */ 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1,219, 41, +/* 0x1650 */ 200,193,248, 5,141, 4, 2,102, 65,137, 0,235, 26, 65, 41,195, +/* 0x1660 */ 65, 41,194,137,208,102,193,232, 5,141, 92, 27, 1, 69, 9,238, +/* 0x1670 */ 102, 41,194,102, 65,137, 16, 69, 1,237,255,206,117,136, 65,255, +/* 0x1680 */ 198,116, 64,131,197, 2, 69, 57,254,119, 77, 72,139, 84, 36,232, +/* 0x1690 */ 68,137,248, 68, 41,240, 68, 15,182, 44, 2, 68,137,248, 65,255, +/* 0x16a0 */ 199,255,205, 68,136, 44, 2, 15,149,194, 49,192, 68, 59,124, 36, +/* 0x16b0 */ 228, 15,146,192,133,194,117,211, 68, 59,124, 36,228, 15,130, 69, +/* 0x16c0 */ 247,255,255, 65,129,251,255,255,255, 0,119, 22, 76, 57,231,184, +/* 0x16d0 */ 1, 0, 0, 0,116, 35,235, 7,184, 1, 0, 0, 0,235, 26, 72, +/* 0x16e0 */ 255,199,137,248, 43, 68, 36,248, 72,139, 76, 36,240, 72,139, 92, +/* 0x16f0 */ 36, 56,137, 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, 93, 65, +/* 0x1700 */ 94, 65, 95, 72,139,117,248, 72,139,125, 16,139, 75, 4, 72, 1, +/* 0x1710 */ 206,139, 19, 72, 1,215,201,235, 2, 87, 94, 89, 72,137,240, 72, +/* 0x1720 */ 41,200, 90, 72, 41,215, 89,137, 57, 91, 93,195, 93, 72,141,117, +/* 0x1730 */ 226,173,146,173,145,173,139, 6, 72, 41,198, 86, 91, 72, 1,218, +/* 0x1740 */ 72,137, 84, 36, 56, 41,200, 5, 0, 0, 0, 0, 80, 72, 1,217, +/* 0x1750 */ 81,150, 77, 49,201, 65,131,200,255, 65,186, 2, 16, 0, 0,106, +/* 0x1760 */ 3, 90, 49,255,184,197, 0, 0, 2, 15, 5,114, 63, 94, 89, 81, +/* 0x1770 */ 80, 80, 95, 72, 1,200, 72, 41,245, 72, 1,253, 87,131,193, 7, +/* 0x1780 */ 193,233, 3,243, 72,165, 89, 95, 94, 86, 87, 81, 80,232, 13, 0, +/* 0x1790 */ 0, 0, 88, 72, 5, 59,255,255,255,255,224,106, 3,235, 2,106, +/* 0x17a0 */ 5,184, 74, 0, 0, 2, 90, 15, 5,114, 1,195,244,235,253, 83, +/* 0x17b0 */ 95,139,117,234,232,226,255,255,255, 94, 83, 95, 72,131,197, 7, +/* 0x17c0 */ 173, 72, 1,199,173, 72, 1,198,173, 86, 87,173,133,192,116, 54, +/* 0x17d0 */ 80, 72,137,225, 72, 1,248, 80,173,146,173, 65,144, 72,141, 4, +/* 0x17e0 */ 22, 80, 82, 72,137,250, 72,137,247, 94,255,213, 94, 95, 89, 95, +/* 0x17f0 */ 89,139, 49, 15,182, 81, 10, 15,182, 73, 9,133,201,116, 7,232, +/* 0x1800 */ 38, 0, 0, 0,235, 0, 83, 95, 72,139, 69,249, 72,131,195, 48, +/* 0x1810 */ 72,137, 3,139,117,227,232,132,255,255,255, 95, 94,184, 73, 0, +/* 0x1820 */ 0, 2, 83, 89, 91, 93, 65, 88,255,225,131,249, 73,117, 68, 83, +/* 0x1830 */ 87, 72,141, 76, 55,253, 94, 86, 91,235, 47, 72, 57,206,115, 50, +/* 0x1840 */ 86, 94,172, 60,128,114, 10, 60,143,119, 6,128,126,254, 15,116, +/* 0x1850 */ 6, 44,232, 60, 1,119,228, 72, 57,206,115, 22, 86,173, 40,208, +/* 0x1860 */ 117,223, 95, 15,200, 41,248, 1,216,171, 72, 57,206,115, 3,172, +/* 0x1870 */ 235,223, 91,195,102,105,108,101, 32,102,111,114,109, 97,116, 32, +/* 0x1880 */ 101,108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101, +/* 0x1890 */ 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, +/* 0x18a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, +/* 0x18b0 */ 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x18c0 */ 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, +/* 0x18d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, +/* 0x18e0 */ 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, +/* 0x18f0 */ 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, +/* 0x1900 */ 48, 48, 48, 48, 48, 48, 49,100, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1910 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1920 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1930 */ 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1940 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, +/* 0x1950 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, +/* 0x1960 */ 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1970 */ 54, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1980 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1990 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 53,100, +/* 0x19a0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x19b0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, +/* 0x19c0 */ 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x19d0 */ 48, 48, 48, 98, 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x19f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1a00 */ 48, 99, 51, 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, 51, 32, 78, 82, 86, 50, 68, 32, 32, +/* 0x1a30 */ 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 97, 49, 32, +/* 0x1a40 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a50 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a60 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55,100, 32, 32, 50, +/* 0x1a70 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1a80 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1a90 */ 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1aa0 */ 32, 48, 48, 48, 48, 48, 48, 57, 51, 32, 32, 48, 48, 48, 48, 48, +/* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1ad0 */ 48, 48, 48, 48, 50, 49,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x1ae0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, +/* 0x1af0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, +/* 0x1b00 */ 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1b10 */ 48, 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b20 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b30 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 98, +/* 0x1b40 */ 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1b50 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1b60 */ 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x1b70 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48, +/* 0x1b80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1b90 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ba0 */ 48, 32, 32, 48, 48, 48, 48, 48, 51, 49, 53, 32, 32, 50, 42, 42, +/* 0x1bb0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x1bc0 */ 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, +/* 0x1bd0 */ 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, +/* 0x1be0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bf0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c00 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 48, 99, 32, 32, +/* 0x1c10 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1c20 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, +/* 0x1c30 */ 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1c40 */ 48, 49, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c50 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 48, +/* 0x1c70 */ 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1c80 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, +/* 0x1c90 */ 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, +/* 0x1ca0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1cc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1cd0 */ 49, 55, 49, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1ce0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1cf0 */ 49, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, 32, 32, 32, +/* 0x1d00 */ 32, 48, 48, 48, 48, 48, 48, 49, 49, 32, 32, 48, 48, 48, 48, 48, +/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1d20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1d30 */ 48, 48, 48, 49, 55, 49, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x1d40 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1d50 */ 89, 10, 32, 49, 49, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 32, +/* 0x1d60 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 56, 32, 32, 48, 48, +/* 0x1d70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d90 */ 32, 32, 48, 48, 48, 48, 49, 55, 50, 99, 32, 32, 50, 42, 42, 48, +/* 0x1da0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, +/* 0x1db0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, +/* 0x1dc0 */ 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, +/* 0x1dd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x1de0 */ 100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, +/* 0x1df0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, +/* 0x1e00 */ 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e10 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, +/* 0x1e20 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, +/* 0x1e30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, +/* 0x1e40 */ 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e50 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, +/* 0x1e60 */ 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, +/* 0x1e80 */ 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e90 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, +/* 0x1ea0 */ 72, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1eb0 */ 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, +/* 0x1ec0 */ 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ed0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, +/* 0x1ee0 */ 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ef0 */ 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 10, +/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f10 */ 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, +/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1f30 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, +/* 0x1f50 */ 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f60 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, +/* 0x1f70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, +/* 0x1f80 */ 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, +/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, +/* 0x1fa0 */ 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fb0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, +/* 0x1fc0 */ 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fd0 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, +/* 0x1fe0 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ff0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, +/* 0x2000 */ 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2010 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x2020 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2030 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, +/* 0x2040 */ 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2050 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2060 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2070 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, +/* 0x2080 */ 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2090 */ 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, +/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, +/* 0x20b0 */ 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, +/* 0x20c0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x20d0 */ 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x20e0 */ 48, 48, 48, 48, 48, 48, 48, 49, 49, 32,103, 32, 32, 32, 32, 32, +/* 0x20f0 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, +/* 0x2100 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, +/* 0x2110 */ 95,100,101, 99,111,109,112,114,101,115,115, 10, 10, 82, 69, 76, +/* 0x2120 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, +/* 0x2130 */ 70, 79, 82, 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, 88, 93, 58, +/* 0x2140 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2150 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2160 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, +/* 0x2170 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 97, 32, 82, 95, 88, 56, 54, +/* 0x2180 */ 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, +/* 0x2190 */ 72, 77, 65, 73, 78, 90, 43, 48,120,102,102,102,102,102,102,102, +/* 0x21a0 */ 102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, +/* 0x21b0 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, +/* 0x21c0 */ 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x21d0 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, +/* 0x21e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, +/* 0x21f0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2200 */ 48, 48, 97,102, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, +/* 0x2210 */ 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, +/* 0x2220 */ 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2230 */ 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2240 */ 48, 53, 99, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, +/* 0x2250 */ 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, +/* 0x2260 */ 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102, +/* 0x2270 */ 102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, +/* 0x2280 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, +/* 0x2290 */ 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, +/* 0x22a0 */ 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, +/* 0x22b0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, +/* 0x22c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 54, 32, 82, 95, +/* 0x22d0 */ 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, +/* 0x22e0 */ 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, +/* 0x22f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, +/* 0x2300 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 99, 32, 82, 95, 88, +/* 0x2310 */ 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, +/* 0x2320 */ 65, 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102,102, +/* 0x2330 */ 102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, +/* 0x2340 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, +/* 0x2350 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, +/* 0x2360 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, +/* 0x2370 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2380 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2390 */ 48, 48, 48, 48, 56, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, +/* 0x23a0 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, +/* 0x23b0 */ 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x23c0 */ 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x23d0 */ 48, 48, 48, 53, 51, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, +/* 0x23e0 */ 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, +/* 0x23f0 */ 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102, +/* 0x2400 */ 102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x2410 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, +/* 0x2420 */ 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x2430 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, +/* 0x2440 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, +/* 0x2450 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2460 */ 48, 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, +/* 0x2470 */ 51, 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, +/* 0x2480 */ 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2490 */ 48, 48, 49, 50, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x24a0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 77, 65, +/* 0x24b0 */ 67, 72, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, +/* 0x24c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, +/* 0x24d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, +/* 0x24e0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x24f0 */ 48, 49, 99, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, +/* 0x2500 */ 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 43, +/* 0x2510 */ 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, +/* 0x2520 */ 52, 99, 10 }; diff -Nru upx-ucl-3.95/src/stub/amd64-darwin.macho-entry.h upx-ucl-3.96/src/stub/amd64-darwin.macho-entry.h --- upx-ucl-3.95/src/stub/amd64-darwin.macho-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-darwin.macho-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* amd64-darwin.macho-entry.h - created from amd64-darwin.macho-entry.bin, 9805 (0x264d) bytes + created from amd64-darwin.macho-entry.bin, 9864 (0x2688) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,14 +31,14 @@ */ -#define STUB_AMD64_DARWIN_MACHO_ENTRY_SIZE 9805 -#define STUB_AMD64_DARWIN_MACHO_ENTRY_ADLER32 0x0e1bfcb6 -#define STUB_AMD64_DARWIN_MACHO_ENTRY_CRC32 0x50c1e4a4 +#define STUB_AMD64_DARWIN_MACHO_ENTRY_SIZE 9864 +#define STUB_AMD64_DARWIN_MACHO_ENTRY_ADLER32 0xd7aa0f84 +#define STUB_AMD64_DARWIN_MACHO_ENTRY_CRC32 0x34884431 -unsigned char stub_amd64_darwin_macho_entry[9805] = { +unsigned char stub_amd64_darwin_macho_entry[9864] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 32, 25, 0, 0, 0, 0, 0, 0, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 88, 25, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0040 */ 76, 0,131,249, 73,117, 68, 83, 87, 72,141, 76, 55,253, 94, 86, /* 0x0050 */ 91,235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128,114, 10, 60, @@ -52,601 +52,605 @@ /* 0x00d0 */ 233, 4,139, 16, 72,131,192, 4,131,233, 4,137, 23, 72,141,127, /* 0x00e0 */ 4,115,239,131,193, 4,138, 16,116, 17, 72,131,192, 1,136, 23, /* 0x00f0 */ 131,233, 1,138, 16, 72,141,127, 1,117,239,243,195,252, 65, 91, -/* 0x0100 */ 65,128,248, 8,116, 13,233,172, 0, 0, 0, 72,255,198,136, 23, -/* 0x0110 */ 72,255,199,138, 22, 1,219,117, 10,139, 30, 72,131,238,252, 17, -/* 0x0120 */ 219,138, 22,114,230,141, 65, 1,235, 7,255,200, 65,255,211, 17, -/* 0x0130 */ 192, 65,255,211, 17,192, 1,219,117, 10,139, 30, 72,131,238,252, -/* 0x0140 */ 17,219,138, 22,115,228,131,232, 3,114, 29,193,224, 8, 15,182, -/* 0x0150 */ 210, 9,208, 72,255,198,131,240,255, 15,132, 0, 0, 0, 0,209, -/* 0x0160 */ 248, 72, 99,232,114, 56,235, 14, 1,219,117, 8,139, 30, 72,131, -/* 0x0170 */ 238,252, 17,219,114, 40,255,193, 1,219,117, 8,139, 30, 72,131, -/* 0x0180 */ 238,252, 17,219,114, 24, 65,255,211, 17,201, 1,219,117, 8,139, -/* 0x0190 */ 30, 72,131,238,252, 17,219,115,237,131,193, 2,235, 5, 65,255, -/* 0x01a0 */ 211, 17,201, 72,129,253, 0,251,255,255,131,209, 2,232, 0, 0, -/* 0x01b0 */ 0, 0,233, 92,255,255,255, 65,128,248, 5,116, 13,233,147, 0, -/* 0x01c0 */ 0, 0, 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10, -/* 0x01d0 */ 139, 30, 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1,235, -/* 0x01e0 */ 7,255,200, 65,255,211, 17,192, 65,255,211, 17,192, 1,219,117, -/* 0x01f0 */ 10,139, 30, 72,131,238,252, 17,219,138, 22,115,228,131,232, 3, -/* 0x0200 */ 114, 27,193,224, 8, 15,182,210, 9,208, 72,255,198,131,240,255, -/* 0x0210 */ 15,132, 0, 0, 0, 0,209,248, 72, 99,232,235, 3, 65,255,211, -/* 0x0220 */ 17,201, 65,255,211, 17,201,117, 24,255,193, 65,255,211, 17,201, -/* 0x0230 */ 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115,237,131,193, -/* 0x0240 */ 2, 72,129,253, 0,251,255,255,131,209, 1,232, 0, 0, 0, 0, -/* 0x0250 */ 233,117,255,255,255, 65,128,248, 2,116, 13,233,133, 0, 0, 0, -/* 0x0260 */ 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, -/* 0x0270 */ 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1, 65,255,211, -/* 0x0280 */ 17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22, -/* 0x0290 */ 115,235,131,232, 3,114, 23,193,224, 8, 15,182,210, 9,208, 72, -/* 0x02a0 */ 255,198,131,240,255, 15,132, 0, 0, 0, 0, 72, 99,232,141, 65, -/* 0x02b0 */ 1, 65,255,211, 17,201, 65,255,211, 17,201,117, 24,137,193,131, -/* 0x02c0 */ 192, 2, 65,255,211, 17,201, 1,219,117, 8,139, 30, 72,131,238, -/* 0x02d0 */ 252, 17,219,115,237, 72,129,253, 0,243,255,255, 17,193,232, 0, -/* 0x02e0 */ 0, 0, 0,235,131, 65,128,248, 14, 15,133, 0, 0, 0, 0, 85, -/* 0x02f0 */ 72,137,229, 68,139, 9, 73,137,208, 72,137,242, 72,141,119, 2, -/* 0x0300 */ 86,138, 7,255,202,136,193, 36, 7,192,233, 3, 72,199,195, 0, -/* 0x0310 */ 253,255,255, 72,211,227,136,193, 72,141,156, 92,136,241,255,255, -/* 0x0320 */ 72,131,227,192,106, 0, 72, 57,220,117,249, 83, 72,141,123, 8, -/* 0x0330 */ 138, 78,255,255,202,136, 71, 2,136,200,192,233, 4,136, 79, 1, -/* 0x0340 */ 36, 15,136, 7, 72,141, 79,252, 80, 65, 87, 72,141, 71, 4, 69, -/* 0x0350 */ 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, 85, 69, 49,237, 65, -/* 0x0360 */ 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, 36,216,184, 1, 0, -/* 0x0370 */ 0, 0, 72,137,116, 36,248, 76,137, 68, 36,232,137,195, 68,137, -/* 0x0380 */ 76, 36,228, 15,182, 79, 2,211,227,137,217, 72,139, 92, 36, 56, -/* 0x0390 */ 255,201,137, 76, 36,212, 15,182, 79, 1,211,224, 72,139, 76, 36, -/* 0x03a0 */ 240,255,200,137, 68, 36,208, 15,182, 7,199, 1, 0, 0, 0, 0, -/* 0x03b0 */ 199, 68, 36,200, 0, 0, 0, 0,199, 68, 36,196, 1, 0, 0, 0, -/* 0x03c0 */ 199, 68, 36,192, 1, 0, 0, 0,199, 68, 36,188, 1, 0, 0, 0, -/* 0x03d0 */ 199, 3, 0, 0, 0, 0,137, 68, 36,204, 15,182, 79, 1, 1,193, -/* 0x03e0 */ 184, 0, 3, 0, 0,211,224, 49,201,141,184, 54, 7, 0, 0, 65, -/* 0x03f0 */ 57,255,115, 19, 72,139, 92, 36,216,137,200,255,193, 57,249,102, -/* 0x0400 */ 199, 4, 67, 0, 4,235,235, 72,139,124, 36,248,137,208, 69, 49, -/* 0x0410 */ 210, 65,131,203,255, 49,210, 73,137,252, 73, 1,196, 76, 57,231, -/* 0x0420 */ 15,132,239, 8, 0, 0, 15,182, 7, 65,193,226, 8,255,194, 72, -/* 0x0430 */ 255,199, 65, 9,194,131,250, 4,126,227, 68, 59,124, 36,228, 15, -/* 0x0440 */ 131,218, 8, 0, 0,139, 68, 36,212, 72, 99, 92, 36,200, 72,139, -/* 0x0450 */ 84, 36,216, 68, 33,248,137, 68, 36,184, 72, 99,108, 36,184, 72, -/* 0x0460 */ 137,216, 72,193,224, 4, 72, 1,232, 65,129,251,255,255,255, 0, -/* 0x0470 */ 76,141, 12, 66,119, 26, 76, 57,231, 15,132,150, 8, 0, 0, 15, -/* 0x0480 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x0490 */ 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x04a0 */ 65, 57,194, 15,131,197, 1, 0, 0, 65,137,195,184, 0, 8, 0, -/* 0x04b0 */ 0, 72,139, 92, 36,216, 41,200, 15,182, 76, 36,204,190, 1, 0, -/* 0x04c0 */ 0, 0,193,248, 5,141, 4, 2, 65, 15,182,213,102, 65,137, 1, -/* 0x04d0 */ 139, 68, 36,208, 68, 33,248,211,224,185, 8, 0, 0, 0, 43, 76, -/* 0x04e0 */ 36,204,211,250, 1,208,105,192, 0, 3, 0, 0,131,124, 36,200, -/* 0x04f0 */ 6,137,192, 76,141,140, 67,108, 14, 0, 0, 15,142,184, 0, 0, -/* 0x0500 */ 0, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 15,182, 44, 2, -/* 0x0510 */ 1,237, 72, 99,214,137,235,129,227, 0, 1, 0, 0, 65,129,251, -/* 0x0520 */ 255,255,255, 0, 72, 99,195, 73,141, 4, 65, 76,141, 4, 80,119, -/* 0x0530 */ 26, 76, 57,231, 15,132,219, 7, 0, 0, 15,182, 7, 65,193,226, -/* 0x0540 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183,144, 0, -/* 0x0550 */ 2, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, -/* 0x0560 */ 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200, -/* 0x0570 */ 193,248, 5,133,219,141, 4, 2,102, 65,137,128, 0, 2, 0, 0, -/* 0x0580 */ 116, 33,235, 45, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, -/* 0x0590 */ 141,116, 54, 1,102, 41,194,133,219,102, 65,137,144, 0, 2, 0, -/* 0x05a0 */ 0,116, 14,129,254,255, 0, 0, 0, 15,142, 97,255,255,255,235, -/* 0x05b0 */ 120,129,254,255, 0, 0, 0,127,112, 72, 99,198, 65,129,251,255, -/* 0x05c0 */ 255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132, 67, 7, -/* 0x05d0 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, -/* 0x05e0 */ 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, -/* 0x05f0 */ 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, -/* 0x0600 */ 1,246, 41,200,193,248, 5,141, 4, 2,102, 65,137, 0,235,161, -/* 0x0610 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1, -/* 0x0620 */ 102, 41,194,102, 65,137, 16,235,136, 72,139, 76, 36,232, 68,137, -/* 0x0630 */ 248, 65,255,199, 65,137,245, 64,136, 52, 1,131,124, 36,200, 3, -/* 0x0640 */ 127, 13,199, 68, 36,200, 0, 0, 0, 0,233,166, 6, 0, 0,139, -/* 0x0650 */ 84, 36,200,139, 68, 36,200,131,234, 3,131,232, 6,131,124, 36, -/* 0x0660 */ 200, 9, 15, 79,208,137, 84, 36,200,233,135, 6, 0, 0, 65, 41, -/* 0x0670 */ 195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 72,139, 68, -/* 0x0680 */ 36,216, 65,129,251,255,255,255, 0,102, 65,137, 17, 72,141, 52, -/* 0x0690 */ 88,119, 26, 76, 57,231, 15,132,121, 6, 0, 0, 15,182, 7, 65, -/* 0x06a0 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150, -/* 0x06b0 */ 128, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x06c0 */ 65, 57,194,115, 78, 65,137,195,184, 0, 8, 0, 0, 76,139, 76, -/* 0x06d0 */ 36,216, 41,200,139, 76, 36,196, 68,137,116, 36,196,193,248, 5, -/* 0x06e0 */ 141, 4, 2,139, 84, 36,192,137, 76, 36,192,102,137,134,128, 1, -/* 0x06f0 */ 0, 0, 49,192,131,124, 36,200, 6,137, 84, 36,188, 15,159,192, -/* 0x0700 */ 73,129,193,100, 6, 0, 0,141, 4, 64,137, 68, 36,200,233, 84, -/* 0x0710 */ 2, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, -/* 0x0720 */ 41,194, 65,129,251,255,255,255, 0,102,137,150,128, 1, 0, 0, -/* 0x0730 */ 119, 26, 76, 57,231, 15,132,218, 5, 0, 0, 15,182, 7, 65,193, -/* 0x0740 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,152, -/* 0x0750 */ 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, -/* 0x0760 */ 57,194, 15,131,208, 0, 0, 0, 65,184, 0, 8, 0, 0, 65,137, -/* 0x0770 */ 195, 72,193,227, 5, 68,137,192, 41,200,193,248, 5,141, 4, 2, -/* 0x0780 */ 102,137,134,152, 1, 0, 0, 72,139, 68, 36,216, 72, 1,216, 65, -/* 0x0790 */ 129,251,255,255,255, 0, 72,141, 52,104,119, 26, 76, 57,231, 15, -/* 0x07a0 */ 132,112, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x07b0 */ 72,255,199, 65, 9,194, 15,183,150,224, 1, 0, 0, 68,137,216, -/* 0x07c0 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 79, 65, 41, -/* 0x07d0 */ 200, 65,137,195, 65,193,248, 5, 69,133,255, 66,141, 4, 2,102, -/* 0x07e0 */ 137,134,224, 1, 0, 0, 15,132, 41, 5, 0, 0, 49,192,131,124, -/* 0x07f0 */ 36,200, 6, 72,139, 92, 36,232, 15,159,192,141, 68, 0, 9,137, -/* 0x0800 */ 68, 36,200, 68,137,248, 68, 41,240, 68, 15,182, 44, 3, 68,137, -/* 0x0810 */ 248, 65,255,199, 68,136, 44, 3,233,216, 4, 0, 0, 65, 41,195, -/* 0x0820 */ 65, 41,194,137,208,102,193,232, 5,102, 41,194,102,137,150,224, -/* 0x0830 */ 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, 65, 41,194,137,208, -/* 0x0840 */ 102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137, -/* 0x0850 */ 150,152, 1, 0, 0,119, 26, 76, 57,231, 15,132,181, 4, 0, 0, -/* 0x0860 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, -/* 0x0870 */ 194, 15,183,150,176, 1, 0, 0, 68,137,216,193,232, 11, 15,183, -/* 0x0880 */ 202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, -/* 0x0890 */ 0, 41,200,193,248, 5,141, 4, 2,102,137,134,176, 1, 0, 0, -/* 0x08a0 */ 139, 68, 36,196,233,152, 0, 0, 0, 65, 41,195, 65, 41,194,137, -/* 0x08b0 */ 208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, -/* 0x08c0 */ 137,150,176, 1, 0, 0,119, 26, 76, 57,231, 15,132, 68, 4, 0, -/* 0x08d0 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x08e0 */ 9,194, 15,183,150,200, 1, 0, 0, 68,137,216,193,232, 11, 15, -/* 0x08f0 */ 183,202, 15,175,193, 65, 57,194,115, 29, 65,137,195,184, 0, 8, -/* 0x0900 */ 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134,200, 1, 0, -/* 0x0910 */ 0,139, 68, 36,192,235, 34, 65, 41,195, 65, 41,194,137,208,102, -/* 0x0920 */ 193,232, 5,102, 41,194,139, 68, 36,188,102,137,150,200, 1, 0, -/* 0x0930 */ 0,139, 84, 36,192,137, 84, 36,188,139, 76, 36,196,137, 76, 36, -/* 0x0940 */ 192, 68,137,116, 36,196, 65,137,198, 49,192,131,124, 36,200, 6, -/* 0x0950 */ 76,139, 76, 36,216, 15,159,192, 73,129,193,104, 10, 0, 0,141, -/* 0x0960 */ 68, 64, 8,137, 68, 36,200, 65,129,251,255,255,255, 0,119, 26, -/* 0x0970 */ 76, 57,231, 15,132,156, 3, 0, 0, 15,182, 7, 65,193,226, 8, -/* 0x0980 */ 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137, -/* 0x0990 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 39, 65, -/* 0x09a0 */ 137,195,184, 0, 8, 0, 0, 69, 49,237, 41,200,193,248, 5,141, -/* 0x09b0 */ 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, 72,193,224, 4, 77, -/* 0x09c0 */ 141, 68, 1, 4,235,120, 65, 41,195, 65, 41,194,137,208,102,193, -/* 0x09d0 */ 232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, 65,137, 17, -/* 0x09e0 */ 119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, 15,182, 7, 65,193, -/* 0x09f0 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 81, -/* 0x0a00 */ 2, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, -/* 0x0a10 */ 115, 52, 65,137,195,184, 0, 8, 0, 0, 65,189, 8, 0, 0, 0, -/* 0x0a20 */ 41,200,193,248, 5,141, 4, 2,102, 65,137, 65, 2, 72, 99, 68, -/* 0x0a30 */ 36,184, 72,193,224, 4, 77,141,132, 1, 4, 1, 0, 0, 65,185, -/* 0x0a40 */ 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41,194,137,208,102,193, -/* 0x0a50 */ 232, 5, 77,141,129, 4, 2, 0, 0, 65,189, 16, 0, 0, 0,102, -/* 0x0a60 */ 41,194,102, 65,137, 81, 2, 65,185, 8, 0, 0, 0, 68,137,203, -/* 0x0a70 */ 189, 1, 0, 0, 0, 72, 99,197, 65,129,251,255,255,255, 0, 73, -/* 0x0a80 */ 141, 52, 64,119, 26, 76, 57,231, 15,132,135, 2, 0, 0, 15,182, -/* 0x0a90 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, -/* 0x0aa0 */ 183, 14, 68,137,216,193,232, 11, 15,183,209, 15,175,194, 65, 57, -/* 0x0ab0 */ 194,115, 23, 65,137,195,184, 0, 8, 0, 0, 1,237, 41,208,193, -/* 0x0ac0 */ 248, 5,141, 4, 1,102,137, 6,235, 22, 65, 41,195, 65, 41,194, -/* 0x0ad0 */ 137,200,102,193,232, 5,141,108, 45, 1,102, 41,193,102,137, 14, -/* 0x0ae0 */ 255,203,117,145,184, 1, 0, 0, 0, 68,137,201,211,224, 41,197, -/* 0x0af0 */ 68, 1,237,131,124, 36,200, 3, 15,143,194, 1, 0, 0,131, 68, -/* 0x0b00 */ 36,200, 7,184, 3, 0, 0, 0,131,253, 4, 15, 76,197, 72,139, -/* 0x0b10 */ 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, 72,193,224, 7, 76, -/* 0x0b20 */ 141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, 0, 73, 99,192, 65, -/* 0x0b30 */ 129,251,255,255,255, 0, 73,141, 52, 65,119, 26, 76, 57,231, 15, -/* 0x0b40 */ 132,208, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x0b50 */ 72,255,199, 65, 9,194, 15,183, 22, 68,137,216,193,232, 11, 15, -/* 0x0b60 */ 183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, -/* 0x0b70 */ 0, 0, 69, 1,192, 41,200,193,248, 5,141, 4, 2,102,137, 6, -/* 0x0b80 */ 235, 23, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, 71,141, -/* 0x0b90 */ 68, 0, 1,102, 41,194,102,137, 22,255,203,117,143, 65,131,232, -/* 0x0ba0 */ 64, 65,131,248, 3, 69,137,198, 15,142, 13, 1, 0, 0, 65,131, -/* 0x0bb0 */ 230, 1, 68,137,192,209,248, 65,131,206, 2, 65,131,248, 13,141, -/* 0x0bc0 */ 112,255,127, 35,137,241, 72,139, 92, 36,216, 73, 99,192, 65,211, -/* 0x0bd0 */ 230, 72, 1,192, 68,137,242, 72,141, 20, 83, 72, 41,194, 76,141, -/* 0x0be0 */ 138, 94, 5, 0, 0,235, 81,141,112,251, 65,129,251,255,255,255, -/* 0x0bf0 */ 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, 0, 15,182, 7, 65, -/* 0x0c00 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65,209,235, -/* 0x0c10 */ 69, 1,246, 69, 57,218,114, 7, 69, 41,218, 65,131,206, 1,255, -/* 0x0c20 */ 206,117,199, 76,139, 76, 36,216, 65,193,230, 4,190, 4, 0, 0, -/* 0x0c30 */ 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, 0, 0, 0,187, 1, -/* 0x0c40 */ 0, 0, 0, 72, 99,195, 65,129,251,255,255,255, 0, 77,141, 4, -/* 0x0c50 */ 65,119, 26, 76, 57,231, 15,132,185, 0, 0, 0, 15,182, 7, 65, -/* 0x0c60 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, -/* 0x0c70 */ 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, -/* 0x0c80 */ 115, 24, 65,137,195,184, 0, 8, 0, 0, 1,219, 41,200,193,248, -/* 0x0c90 */ 5,141, 4, 2,102, 65,137, 0,235, 26, 65, 41,195, 65, 41,194, -/* 0x0ca0 */ 137,208,102,193,232, 5,141, 92, 27, 1, 69, 9,238,102, 41,194, -/* 0x0cb0 */ 102, 65,137, 16, 69, 1,237,255,206,117,136, 65,255,198,116, 64, -/* 0x0cc0 */ 131,197, 2, 69, 57,254,119, 77, 72,139, 84, 36,232, 68,137,248, -/* 0x0cd0 */ 68, 41,240, 68, 15,182, 44, 2, 68,137,248, 65,255,199,255,205, -/* 0x0ce0 */ 68,136, 44, 2, 15,149,194, 49,192, 68, 59,124, 36,228, 15,146, -/* 0x0cf0 */ 192,133,194,117,211, 68, 59,124, 36,228, 15,130, 69,247,255,255, -/* 0x0d00 */ 65,129,251,255,255,255, 0,119, 22, 76, 57,231,184, 1, 0, 0, -/* 0x0d10 */ 0,116, 35,235, 7,184, 1, 0, 0, 0,235, 26, 72,255,199,137, -/* 0x0d20 */ 248, 43, 68, 36,248, 72,139, 76, 36,240, 72,139, 92, 36, 56,137, -/* 0x0d30 */ 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, -/* 0x0d40 */ 65, 87, 72,141, 71, 4, 69, 49,255, 65, 86, 65,190, 1, 0, 0, -/* 0x0d50 */ 0, 65, 85, 69, 49,237, 65, 84, 85, 83, 72,137, 76, 36,240, 72, -/* 0x0d60 */ 137, 68, 36,216,184, 1, 0, 0, 0, 72,137,116, 36,248, 76,137, -/* 0x0d70 */ 68, 36,232,137,195, 68,137, 76, 36,228, 15,182, 79, 2,211,227, -/* 0x0d80 */ 137,217, 72,139, 92, 36, 56,255,201,137, 76, 36,212, 15,182, 79, -/* 0x0d90 */ 1,211,224, 72,139, 76, 36,240,255,200,137, 68, 36,208, 15,182, -/* 0x0da0 */ 7,199, 1, 0, 0, 0, 0,199, 68, 36,200, 0, 0, 0, 0,199, -/* 0x0db0 */ 68, 36,196, 1, 0, 0, 0,199, 68, 36,192, 1, 0, 0, 0,199, -/* 0x0dc0 */ 68, 36,188, 1, 0, 0, 0,199, 3, 0, 0, 0, 0,137, 68, 36, -/* 0x0dd0 */ 204, 15,182, 79, 1, 1,193,184, 0, 3, 0, 0,211,224, 49,201, -/* 0x0de0 */ 141,184, 54, 7, 0, 0, 65, 57,255,115, 19, 72,139, 92, 36,216, -/* 0x0df0 */ 137,200,255,193, 57,249,102,199, 4, 67, 0, 4,235,235, 72,139, -/* 0x0e00 */ 124, 36,248,137,208, 69, 49,210, 65,131,203,255, 49,210, 73,137, -/* 0x0e10 */ 252, 73, 1,196, 76, 57,231, 15,132,239, 8, 0, 0, 15,182, 7, -/* 0x0e20 */ 65,193,226, 8,255,194, 72,255,199, 65, 9,194,131,250, 4,126, -/* 0x0e30 */ 227, 68, 59,124, 36,228, 15,131,218, 8, 0, 0,139, 68, 36,212, -/* 0x0e40 */ 72, 99, 92, 36,200, 72,139, 84, 36,216, 68, 33,248,137, 68, 36, -/* 0x0e50 */ 184, 72, 99,108, 36,184, 72,137,216, 72,193,224, 4, 72, 1,232, -/* 0x0e60 */ 65,129,251,255,255,255, 0, 76,141, 12, 66,119, 26, 76, 57,231, -/* 0x0e70 */ 15,132,150, 8, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, -/* 0x0e80 */ 8, 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, -/* 0x0e90 */ 11, 15,183,202, 15,175,193, 65, 57,194, 15,131,197, 1, 0, 0, -/* 0x0ea0 */ 65,137,195,184, 0, 8, 0, 0, 72,139, 92, 36,216, 41,200, 15, -/* 0x0eb0 */ 182, 76, 36,204,190, 1, 0, 0, 0,193,248, 5,141, 4, 2, 65, -/* 0x0ec0 */ 15,182,213,102, 65,137, 1,139, 68, 36,208, 68, 33,248,211,224, -/* 0x0ed0 */ 185, 8, 0, 0, 0, 43, 76, 36,204,211,250, 1,208,105,192, 0, -/* 0x0ee0 */ 3, 0, 0,131,124, 36,200, 6,137,192, 76,141,140, 67,108, 14, -/* 0x0ef0 */ 0, 0, 15,142,184, 0, 0, 0, 72,139, 84, 36,232, 68,137,248, -/* 0x0f00 */ 68, 41,240, 15,182, 44, 2, 1,237, 72, 99,214,137,235,129,227, -/* 0x0f10 */ 0, 1, 0, 0, 65,129,251,255,255,255, 0, 72, 99,195, 73,141, -/* 0x0f20 */ 4, 65, 76,141, 4, 80,119, 26, 76, 57,231, 15,132,219, 7, 0, -/* 0x0f30 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x0f40 */ 9,194, 65, 15,183,144, 0, 2, 0, 0, 68,137,216,193,232, 11, -/* 0x0f50 */ 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, 0, -/* 0x0f60 */ 8, 0, 0, 1,246, 41,200,193,248, 5,133,219,141, 4, 2,102, -/* 0x0f70 */ 65,137,128, 0, 2, 0, 0,116, 33,235, 45, 65, 41,195, 65, 41, -/* 0x0f80 */ 194,137,208,102,193,232, 5,141,116, 54, 1,102, 41,194,133,219, -/* 0x0f90 */ 102, 65,137,144, 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, -/* 0x0fa0 */ 15,142, 97,255,255,255,235,120,129,254,255, 0, 0, 0,127,112, -/* 0x0fb0 */ 72, 99,198, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, -/* 0x0fc0 */ 76, 57,231, 15,132, 67, 7, 0, 0, 15,182, 7, 65,193,226, 8, -/* 0x0fd0 */ 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137, -/* 0x0fe0 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65, -/* 0x0ff0 */ 137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,141, 4, -/* 0x1000 */ 2,102, 65,137, 0,235,161, 65, 41,195, 65, 41,194,137,208,102, -/* 0x1010 */ 193,232, 5,141,116, 54, 1,102, 41,194,102, 65,137, 16,235,136, -/* 0x1020 */ 72,139, 76, 36,232, 68,137,248, 65,255,199, 65,137,245, 64,136, -/* 0x1030 */ 52, 1,131,124, 36,200, 3,127, 13,199, 68, 36,200, 0, 0, 0, -/* 0x1040 */ 0,233,166, 6, 0, 0,139, 84, 36,200,139, 68, 36,200,131,234, -/* 0x1050 */ 3,131,232, 6,131,124, 36,200, 9, 15, 79,208,137, 84, 36,200, -/* 0x1060 */ 233,135, 6, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, -/* 0x1070 */ 5,102, 41,194, 72,139, 68, 36,216, 65,129,251,255,255,255, 0, -/* 0x1080 */ 102, 65,137, 17, 72,141, 52, 88,119, 26, 76, 57,231, 15,132,121, -/* 0x1090 */ 6, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x10a0 */ 199, 65, 9,194, 15,183,150,128, 1, 0, 0, 68,137,216,193,232, -/* 0x10b0 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 78, 65,137,195,184, -/* 0x10c0 */ 0, 8, 0, 0, 76,139, 76, 36,216, 41,200,139, 76, 36,196, 68, -/* 0x10d0 */ 137,116, 36,196,193,248, 5,141, 4, 2,139, 84, 36,192,137, 76, -/* 0x10e0 */ 36,192,102,137,134,128, 1, 0, 0, 49,192,131,124, 36,200, 6, -/* 0x10f0 */ 137, 84, 36,188, 15,159,192, 73,129,193,100, 6, 0, 0,141, 4, -/* 0x1100 */ 64,137, 68, 36,200,233, 84, 2, 0, 0, 65, 41,195, 65, 41,194, -/* 0x1110 */ 137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0, -/* 0x1120 */ 102,137,150,128, 1, 0, 0,119, 26, 76, 57,231, 15,132,218, 5, -/* 0x1130 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, -/* 0x1140 */ 65, 9,194, 15,183,150,152, 1, 0, 0, 68,137,216,193,232, 11, -/* 0x1150 */ 15,183,202, 15,175,193, 65, 57,194, 15,131,208, 0, 0, 0, 65, -/* 0x1160 */ 184, 0, 8, 0, 0, 65,137,195, 72,193,227, 5, 68,137,192, 41, -/* 0x1170 */ 200,193,248, 5,141, 4, 2,102,137,134,152, 1, 0, 0, 72,139, -/* 0x1180 */ 68, 36,216, 72, 1,216, 65,129,251,255,255,255, 0, 72,141, 52, -/* 0x1190 */ 104,119, 26, 76, 57,231, 15,132,112, 5, 0, 0, 15,182, 7, 65, -/* 0x11a0 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150, -/* 0x11b0 */ 224, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x11c0 */ 65, 57,194,115, 79, 65, 41,200, 65,137,195, 65,193,248, 5, 69, -/* 0x11d0 */ 133,255, 66,141, 4, 2,102,137,134,224, 1, 0, 0, 15,132, 41, -/* 0x11e0 */ 5, 0, 0, 49,192,131,124, 36,200, 6, 72,139, 92, 36,232, 15, -/* 0x11f0 */ 159,192,141, 68, 0, 9,137, 68, 36,200, 68,137,248, 68, 41,240, -/* 0x1200 */ 68, 15,182, 44, 3, 68,137,248, 65,255,199, 68,136, 44, 3,233, -/* 0x1210 */ 216, 4, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, -/* 0x1220 */ 102, 41,194,102,137,150,224, 1, 0, 0,233, 17, 1, 0, 0, 65, -/* 0x1230 */ 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129, -/* 0x1240 */ 251,255,255,255, 0,102,137,150,152, 1, 0, 0,119, 26, 76, 57, -/* 0x1250 */ 231, 15,132,181, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, -/* 0x1260 */ 227, 8, 72,255,199, 65, 9,194, 15,183,150,176, 1, 0, 0, 68, -/* 0x1270 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, -/* 0x1280 */ 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2, -/* 0x1290 */ 102,137,134,176, 1, 0, 0,139, 68, 36,196,233,152, 0, 0, 0, -/* 0x12a0 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65, -/* 0x12b0 */ 129,251,255,255,255, 0,102,137,150,176, 1, 0, 0,119, 26, 76, -/* 0x12c0 */ 57,231, 15,132, 68, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x12d0 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183,150,200, 1, 0, 0, -/* 0x12e0 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, -/* 0x12f0 */ 29, 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, -/* 0x1300 */ 2,102,137,134,200, 1, 0, 0,139, 68, 36,192,235, 34, 65, 41, -/* 0x1310 */ 195, 65, 41,194,137,208,102,193,232, 5,102, 41,194,139, 68, 36, -/* 0x1320 */ 188,102,137,150,200, 1, 0, 0,139, 84, 36,192,137, 84, 36,188, -/* 0x1330 */ 139, 76, 36,196,137, 76, 36,192, 68,137,116, 36,196, 65,137,198, -/* 0x1340 */ 49,192,131,124, 36,200, 6, 76,139, 76, 36,216, 15,159,192, 73, -/* 0x1350 */ 129,193,104, 10, 0, 0,141, 68, 64, 8,137, 68, 36,200, 65,129, -/* 0x1360 */ 251,255,255,255, 0,119, 26, 76, 57,231, 15,132,156, 3, 0, 0, -/* 0x1370 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, -/* 0x1380 */ 194, 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, 15,175, -/* 0x1390 */ 193, 65, 57,194,115, 39, 65,137,195,184, 0, 8, 0, 0, 69, 49, -/* 0x13a0 */ 237, 41,200,193,248, 5,141, 4, 2,102, 65,137, 1, 72, 99, 68, -/* 0x13b0 */ 36,184, 72,193,224, 4, 77,141, 68, 1, 4,235,120, 65, 41,195, -/* 0x13c0 */ 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255, -/* 0x13d0 */ 255,255, 0,102, 65,137, 17,119, 26, 76, 57,231, 15,132, 42, 3, -/* 0x13e0 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, -/* 0x13f0 */ 65, 9,194, 65, 15,183, 81, 2, 68,137,216,193,232, 11, 15,183, -/* 0x1400 */ 202, 15,175,193, 65, 57,194,115, 52, 65,137,195,184, 0, 8, 0, -/* 0x1410 */ 0, 65,189, 8, 0, 0, 0, 41,200,193,248, 5,141, 4, 2,102, -/* 0x1420 */ 65,137, 65, 2, 72, 99, 68, 36,184, 72,193,224, 4, 77,141,132, -/* 0x1430 */ 1, 4, 1, 0, 0, 65,185, 3, 0, 0, 0,235, 39, 65, 41,195, -/* 0x1440 */ 65, 41,194,137,208,102,193,232, 5, 77,141,129, 4, 2, 0, 0, -/* 0x1450 */ 65,189, 16, 0, 0, 0,102, 41,194,102, 65,137, 81, 2, 65,185, -/* 0x1460 */ 8, 0, 0, 0, 68,137,203,189, 1, 0, 0, 0, 72, 99,197, 65, -/* 0x1470 */ 129,251,255,255,255, 0, 73,141, 52, 64,119, 26, 76, 57,231, 15, -/* 0x1480 */ 132,135, 2, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x1490 */ 72,255,199, 65, 9,194, 15,183, 14, 68,137,216,193,232, 11, 15, -/* 0x14a0 */ 183,209, 15,175,194, 65, 57,194,115, 23, 65,137,195,184, 0, 8, -/* 0x14b0 */ 0, 0, 1,237, 41,208,193,248, 5,141, 4, 1,102,137, 6,235, -/* 0x14c0 */ 22, 65, 41,195, 65, 41,194,137,200,102,193,232, 5,141,108, 45, -/* 0x14d0 */ 1,102, 41,193,102,137, 14,255,203,117,145,184, 1, 0, 0, 0, -/* 0x14e0 */ 68,137,201,211,224, 41,197, 68, 1,237,131,124, 36,200, 3, 15, -/* 0x14f0 */ 143,194, 1, 0, 0,131, 68, 36,200, 7,184, 3, 0, 0, 0,131, -/* 0x1500 */ 253, 4, 15, 76,197, 72,139, 92, 36,216, 65,184, 1, 0, 0, 0, -/* 0x1510 */ 72,152, 72,193,224, 7, 76,141,140, 3, 96, 3, 0, 0,187, 6, -/* 0x1520 */ 0, 0, 0, 73, 99,192, 65,129,251,255,255,255, 0, 73,141, 52, -/* 0x1530 */ 65,119, 26, 76, 57,231, 15,132,208, 1, 0, 0, 15,182, 7, 65, -/* 0x1540 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 22, -/* 0x1550 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, -/* 0x1560 */ 24, 65,137,195,184, 0, 8, 0, 0, 69, 1,192, 41,200,193,248, -/* 0x1570 */ 5,141, 4, 2,102,137, 6,235, 23, 65, 41,195, 65, 41,194,137, -/* 0x1580 */ 208,102,193,232, 5, 71,141, 68, 0, 1,102, 41,194,102,137, 22, -/* 0x1590 */ 255,203,117,143, 65,131,232, 64, 65,131,248, 3, 69,137,198, 15, -/* 0x15a0 */ 142, 13, 1, 0, 0, 65,131,230, 1, 68,137,192,209,248, 65,131, -/* 0x15b0 */ 206, 2, 65,131,248, 13,141,112,255,127, 35,137,241, 72,139, 92, -/* 0x15c0 */ 36,216, 73, 99,192, 65,211,230, 72, 1,192, 68,137,242, 72,141, -/* 0x15d0 */ 20, 83, 72, 41,194, 76,141,138, 94, 5, 0, 0,235, 81,141,112, -/* 0x15e0 */ 251, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15,132, 25, -/* 0x15f0 */ 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x1600 */ 199, 65, 9,194, 65,209,235, 69, 1,246, 69, 57,218,114, 7, 69, -/* 0x1610 */ 41,218, 65,131,206, 1,255,206,117,199, 76,139, 76, 36,216, 65, -/* 0x1620 */ 193,230, 4,190, 4, 0, 0, 0, 73,129,193, 68, 6, 0, 0, 65, -/* 0x1630 */ 189, 1, 0, 0, 0,187, 1, 0, 0, 0, 72, 99,195, 65,129,251, -/* 0x1640 */ 255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132,185, -/* 0x1650 */ 0, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x1660 */ 199, 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, 15,183, -/* 0x1670 */ 202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, -/* 0x1680 */ 0, 1,219, 41,200,193,248, 5,141, 4, 2,102, 65,137, 0,235, -/* 0x1690 */ 26, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141, 92, 27, -/* 0x16a0 */ 1, 69, 9,238,102, 41,194,102, 65,137, 16, 69, 1,237,255,206, -/* 0x16b0 */ 117,136, 65,255,198,116, 64,131,197, 2, 69, 57,254,119, 77, 72, -/* 0x16c0 */ 139, 84, 36,232, 68,137,248, 68, 41,240, 68, 15,182, 44, 2, 68, -/* 0x16d0 */ 137,248, 65,255,199,255,205, 68,136, 44, 2, 15,149,194, 49,192, -/* 0x16e0 */ 68, 59,124, 36,228, 15,146,192,133,194,117,211, 68, 59,124, 36, -/* 0x16f0 */ 228, 15,130, 69,247,255,255, 65,129,251,255,255,255, 0,119, 22, -/* 0x1700 */ 76, 57,231,184, 1, 0, 0, 0,116, 35,235, 7,184, 1, 0, 0, -/* 0x1710 */ 0,235, 26, 72,255,199,137,248, 43, 68, 36,248, 72,139, 76, 36, -/* 0x1720 */ 240, 72,139, 92, 36, 56,137, 1, 68,137, 59, 49,192, 91, 93, 65, -/* 0x1730 */ 92, 65, 93, 65, 94, 65, 95, 72,139,117,248, 72,139,125, 16,139, -/* 0x1740 */ 75, 4, 72, 1,206,139, 19, 72, 1,215,201, 89, 72,137,240, 72, -/* 0x1750 */ 41,200, 90, 72, 41,215, 89,137, 57, 91, 93,195, 91, 95, 72,137, -/* 0x1760 */ 218, 76, 41,226, 3, 19, 82, 80, 87, 77, 41,201, 65,131,200,255, -/* 0x1770 */ 104, 2, 16, 0, 0, 65, 90, 82, 94,106, 3, 90, 41,255,184,197, -/* 0x1780 */ 0, 0, 2, 15, 5, 77, 41,230, 73, 1,198, 72,137, 68, 36, 8, -/* 0x1790 */ 72,151, 77, 41,201, 68,139, 4, 36,106, 18, 65, 90,106, 3, 90, -/* 0x17a0 */ 72,137,222, 76, 41,230,184,197, 0, 0, 2, 15, 5, 72,139, 84, -/* 0x17b0 */ 36, 16, 72,139, 76, 36, 32, 72, 1,194, 72, 41,200, 73,137,196, -/* 0x17c0 */ 72, 1,232, 80, 72, 37, 0,240,255,255, 80, 72, 41,194, 82, 72, -/* 0x17d0 */ 137,222,173, 80, 72,137,225, 74,141, 20, 35, 73,137,213,173, 80, -/* 0x17e0 */ 173, 65,144, 72,137,247, 94,255,213, 89, 94, 95, 93,106, 5, 90, -/* 0x17f0 */ 184, 74, 0, 0, 2, 15, 5, 65,255,229, 93, 84, 95, 49,192,131, -/* 0x1800 */ 201,255, 80, 80,242, 72,175,242, 72,175, 87, 94, 72,173, 72,133, -/* 0x1810 */ 192,116, 45, 72,185,101,120,101, 99,117,116, 97, 98, 72, 57, 8, -/* 0x1820 */ 117,234, 72,185,108,101, 95,112, 97,116,104, 61, 72, 57, 72, 8, -/* 0x1830 */ 117,218, 72,141,120, 16, 41,246,184, 5, 0, 0, 2, 15, 5, 80, -/* 0x1840 */ 72,141, 53, 0, 0, 0, 0, 73,137,244,173, 73, 41,196, 73,137, -/* 0x1850 */ 246,173, 73, 41,198, 76,141,120,248, 76,137,100, 36, 16,232,249, -/* 0x1860 */ 254,255,255,102,105,108,101, 32,102,111,114,109, 97,116, 32,101, -/* 0x1870 */ 108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101, 99, -/* 0x1880 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, -/* 0x1890 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, -/* 0x18a0 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x18b0 */ 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x18c0 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, -/* 0x18d0 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, -/* 0x18e0 */ 32, 65, 77, 68, 54, 52, 66, 88, 88, 32, 32, 32, 32, 32, 32, 48, -/* 0x18f0 */ 48, 48, 48, 48, 48, 52, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1900 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1910 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1920 */ 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1930 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1940 */ 32, 32, 49, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 32, 32, 32, -/* 0x1950 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, -/* 0x1960 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1970 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1980 */ 48, 48, 48, 48, 48, 48, 56, 99, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1990 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x19a0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 77, 65, -/* 0x19b0 */ 67, 72, 95, 85, 78, 67, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x19c0 */ 48, 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x19d0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x19f0 */ 57, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1a00 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, -/* 0x1a10 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, -/* 0x1a20 */ 48, 48, 48, 48, 48, 54, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1a40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1a50 */ 48, 48, 48, 57, 57, 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, 52, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x1a80 */ 32, 32, 48, 48, 48, 48, 48, 48, 98, 55, 32, 32, 48, 48, 48, 48, -/* 0x1a90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1ab0 */ 48, 48, 48, 48, 48, 49, 48, 48, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1ac0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x1ad0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 78, 82, -/* 0x1ae0 */ 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1af0 */ 48, 48, 57,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b00 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b10 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, -/* 0x1b20 */ 98, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1b30 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x1b40 */ 78, 76, 89, 10, 32, 32, 54, 32, 78, 82, 86, 50, 66, 32, 32, 32, -/* 0x1b50 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, -/* 0x1b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b70 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b80 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 53, 53, 32, 32, 50, 42, -/* 0x1b90 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x1ba0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x1bb0 */ 55, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, -/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1bd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1be0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1bf0 */ 48, 48, 48, 50,101, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1c00 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x1c10 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, -/* 0x1c20 */ 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, -/* 0x1c30 */ 102, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c40 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 52, 57, -/* 0x1c60 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1c70 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, -/* 0x1c80 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, -/* 0x1c90 */ 48, 48, 57,102, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ca0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1cc0 */ 100, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x1cd0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, -/* 0x1ce0 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, -/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 49, 52, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1d00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1d20 */ 48, 48, 49, 55, 51, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1d30 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1d40 */ 10, 32, 49, 49, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, -/* 0x1d50 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1d60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1d70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1d80 */ 32, 48, 48, 48, 48, 49, 55, 52, 98, 32, 32, 50, 42, 42, 48, 32, -/* 0x1d90 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, -/* 0x1da0 */ 78, 76, 89, 10, 32, 49, 50, 32, 77, 65, 67, 72, 77, 65, 73, 78, -/* 0x1db0 */ 89, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 49, 32, 32, -/* 0x1dc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1dd0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1de0 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 52, 98, 32, 32, 50, 42, -/* 0x1df0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x1e00 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 51, 32, 77, 65, 67, 72, 77, -/* 0x1e10 */ 65, 73, 78, 90, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 48, -/* 0x1e20 */ 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e30 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e40 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 53, 99, 32, -/* 0x1e50 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1e60 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1e70 */ 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, -/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1e90 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, -/* 0x1ea0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1eb0 */ 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, -/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x1ed0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, -/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1ef0 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x1f10 */ 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, -/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, -/* 0x1f30 */ 65, 67, 72, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1f50 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, -/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, -/* 0x1f70 */ 72, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f80 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1f90 */ 65, 77, 68, 54, 52, 66, 88, 88, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 77, 68, 54, 52, 66, -/* 0x1fb0 */ 88, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fc0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, -/* 0x1fd0 */ 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fe0 */ 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, -/* 0x1ff0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2000 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 95, 85, -/* 0x2010 */ 78, 67, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2020 */ 48, 48, 48, 32, 77, 65, 67, 72, 95, 85, 78, 67, 10, 48, 48, 48, -/* 0x2030 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x2040 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, -/* 0x2050 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, -/* 0x2060 */ 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2070 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, -/* 0x2080 */ 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2090 */ 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x20b0 */ 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, -/* 0x20d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x20e0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, -/* 0x20f0 */ 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2100 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, -/* 0x2110 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2120 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2130 */ 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2140 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, -/* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2160 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2170 */ 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2180 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2190 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x21a0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, -/* 0x21b0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21c0 */ 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, -/* 0x21d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, -/* 0x21e0 */ 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, -/* 0x21f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95, -/* 0x2200 */ 115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2210 */ 48, 48, 48, 48, 49, 49, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, -/* 0x2220 */ 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x2230 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95,100,101, -/* 0x2240 */ 99,111,109,112,114,101,115,115, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x2250 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x2260 */ 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, -/* 0x2270 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, -/* 0x2280 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2290 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x22a0 */ 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 88, 56, 54, 95, 54, 52, -/* 0x22b0 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, -/* 0x22c0 */ 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x22d0 */ 48, 48, 48, 48, 57, 97, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x22e0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x22f0 */ 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x2300 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x2310 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x2320 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 97, -/* 0x2330 */ 101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, -/* 0x2340 */ 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, -/* 0x2350 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, -/* 0x2360 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, -/* 0x2370 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, -/* 0x2380 */ 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102, -/* 0x2390 */ 102,102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, -/* 0x23a0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x23b0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, -/* 0x23c0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x23d0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x23e0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x23f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 57, 53, 32, 82, 95, 88, 56, 54, -/* 0x2400 */ 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x2410 */ 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2420 */ 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2430 */ 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, -/* 0x2440 */ 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, -/* 0x2450 */ 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102,102,102,102,102, -/* 0x2460 */ 102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x2470 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x2480 */ 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x2490 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x24a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x24b0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x24c0 */ 48, 56, 97, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, -/* 0x24d0 */ 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48, -/* 0x24e0 */ 120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, -/* 0x24f0 */ 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2500 */ 53, 50, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, -/* 0x2510 */ 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, 48, -/* 0x2520 */ 120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102, -/* 0x2530 */ 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x2540 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, -/* 0x2550 */ 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x2560 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x2570 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x2580 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2590 */ 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, -/* 0x25a0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48, -/* 0x25b0 */ 120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, -/* 0x25c0 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x25d0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 77, 65, 67, 72, 77, -/* 0x25e0 */ 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, -/* 0x25f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x2600 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x2610 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,101, 55, -/* 0x2620 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, -/* 0x2630 */ 32, 32, 32, 95,115,116, 97,114,116, 43, 48,120,102,102,102,102, -/* 0x2640 */ 102,102,102,102,102,102,102,102,102,102,102, 52, 10 +/* 0x0100 */ 65,128,248, 8, 15,133,174, 0, 0, 0,235, 8, 72,255,198,136, +/* 0x0110 */ 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, 72,131,238,252, +/* 0x0120 */ 17,219,138, 22,114,230,141, 65, 1,235, 7,255,200, 65,255,211, +/* 0x0130 */ 17,192, 65,255,211, 17,192, 1,219,117, 10,139, 30, 72,131,238, +/* 0x0140 */ 252, 17,219,138, 22,115,228,131,232, 3,114, 29,193,224, 8, 15, +/* 0x0150 */ 182,210, 9,208, 72,255,198,131,240,255, 15,132, 0, 0, 0, 0, +/* 0x0160 */ 209,248, 72, 99,232,114, 56,235, 14, 1,219,117, 8,139, 30, 72, +/* 0x0170 */ 131,238,252, 17,219,114, 40,255,193, 1,219,117, 8,139, 30, 72, +/* 0x0180 */ 131,238,252, 17,219,114, 24, 65,255,211, 17,201, 1,219,117, 8, +/* 0x0190 */ 139, 30, 72,131,238,252, 17,219,115,237,131,193, 2,235, 5, 65, +/* 0x01a0 */ 255,211, 17,201, 72,129,253, 0,251,255,255,131,209, 2,232, 0, +/* 0x01b0 */ 0, 0, 0,233, 92,255,255,255, 87, 94, 65,128,248, 5, 15,133, +/* 0x01c0 */ 149, 0, 0, 0,235, 8, 72,255,198,136, 23, 72,255,199,138, 22, +/* 0x01d0 */ 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22,114,230, +/* 0x01e0 */ 141, 65, 1,235, 7,255,200, 65,255,211, 17,192, 65,255,211, 17, +/* 0x01f0 */ 192, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22,115, +/* 0x0200 */ 228,131,232, 3,114, 27,193,224, 8, 15,182,210, 9,208, 72,255, +/* 0x0210 */ 198,131,240,255, 15,132, 0, 0, 0, 0,209,248, 72, 99,232,235, +/* 0x0220 */ 3, 65,255,211, 17,201, 65,255,211, 17,201,117, 24,255,193, 65, +/* 0x0230 */ 255,211, 17,201, 1,219,117, 8,139, 30, 72,131,238,252, 17,219, +/* 0x0240 */ 115,237,131,193, 2, 72,129,253, 0,251,255,255,131,209, 1,232, +/* 0x0250 */ 0, 0, 0, 0,233,117,255,255,255, 87, 94, 65,128,248, 2, 15, +/* 0x0260 */ 133,135, 0, 0, 0,235, 8, 72,255,198,136, 23, 72,255,199,138, +/* 0x0270 */ 22, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22,114, +/* 0x0280 */ 230,141, 65, 1, 65,255,211, 17,192, 1,219,117, 10,139, 30, 72, +/* 0x0290 */ 131,238,252, 17,219,138, 22,115,235,131,232, 3,114, 23,193,224, +/* 0x02a0 */ 8, 15,182,210, 9,208, 72,255,198,131,240,255, 15,132, 0, 0, +/* 0x02b0 */ 0, 0, 72, 99,232,141, 65, 1, 65,255,211, 17,201, 65,255,211, +/* 0x02c0 */ 17,201,117, 24,137,193,131,192, 2, 65,255,211, 17,201, 1,219, +/* 0x02d0 */ 117, 8,139, 30, 72,131,238,252, 17,219,115,237, 72,129,253, 0, +/* 0x02e0 */ 243,255,255, 17,193,232, 0, 0, 0, 0,235,131, 87, 94, 65,128, +/* 0x02f0 */ 248, 14, 15,133, 0, 0, 0, 0, 85, 72,137,229, 68,139, 9, 73, +/* 0x0300 */ 137,208, 72,137,242, 72,141,119, 2, 86,138, 7,255,202,136,193, +/* 0x0310 */ 36, 7,192,233, 3, 72,199,195, 0,253,255,255, 72,211,227,136, +/* 0x0320 */ 193, 72,141,156, 92,136,241,255,255, 72,131,227,192,106, 0, 72, +/* 0x0330 */ 57,220,117,249, 83, 72,141,123, 8,138, 78,255,255,202,136, 71, +/* 0x0340 */ 2,136,200,192,233, 4,136, 79, 1, 36, 15,136, 7, 72,141, 79, +/* 0x0350 */ 252, 80, 65, 87, 72,141, 71, 4, 69, 49,255, 65, 86, 65,190, 1, +/* 0x0360 */ 0, 0, 0, 65, 85, 69, 49,237, 65, 84, 85, 83, 72,137, 76, 36, +/* 0x0370 */ 240, 72,137, 68, 36,216,184, 1, 0, 0, 0, 72,137,116, 36,248, +/* 0x0380 */ 76,137, 68, 36,232,137,195, 68,137, 76, 36,228, 15,182, 79, 2, +/* 0x0390 */ 211,227,137,217, 72,139, 92, 36, 56,255,201,137, 76, 36,212, 15, +/* 0x03a0 */ 182, 79, 1,211,224, 72,139, 76, 36,240,255,200,137, 68, 36,208, +/* 0x03b0 */ 15,182, 7,199, 1, 0, 0, 0, 0,199, 68, 36,200, 0, 0, 0, +/* 0x03c0 */ 0,199, 68, 36,196, 1, 0, 0, 0,199, 68, 36,192, 1, 0, 0, +/* 0x03d0 */ 0,199, 68, 36,188, 1, 0, 0, 0,199, 3, 0, 0, 0, 0,137, +/* 0x03e0 */ 68, 36,204, 15,182, 79, 1, 1,193,184, 0, 3, 0, 0,211,224, +/* 0x03f0 */ 49,201,141,184, 54, 7, 0, 0, 65, 57,255,115, 19, 72,139, 92, +/* 0x0400 */ 36,216,137,200,255,193, 57,249,102,199, 4, 67, 0, 4,235,235, +/* 0x0410 */ 72,139,124, 36,248,137,208, 69, 49,210, 65,131,203,255, 49,210, +/* 0x0420 */ 73,137,252, 73, 1,196, 76, 57,231, 15,132,239, 8, 0, 0, 15, +/* 0x0430 */ 182, 7, 65,193,226, 8,255,194, 72,255,199, 65, 9,194,131,250, +/* 0x0440 */ 4,126,227, 68, 59,124, 36,228, 15,131,218, 8, 0, 0,139, 68, +/* 0x0450 */ 36,212, 72, 99, 92, 36,200, 72,139, 84, 36,216, 68, 33,248,137, +/* 0x0460 */ 68, 36,184, 72, 99,108, 36,184, 72,137,216, 72,193,224, 4, 72, +/* 0x0470 */ 1,232, 65,129,251,255,255,255, 0, 76,141, 12, 66,119, 26, 76, +/* 0x0480 */ 57,231, 15,132,150, 8, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x0490 */ 193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137,216, +/* 0x04a0 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131,197, 1, +/* 0x04b0 */ 0, 0, 65,137,195,184, 0, 8, 0, 0, 72,139, 92, 36,216, 41, +/* 0x04c0 */ 200, 15,182, 76, 36,204,190, 1, 0, 0, 0,193,248, 5,141, 4, +/* 0x04d0 */ 2, 65, 15,182,213,102, 65,137, 1,139, 68, 36,208, 68, 33,248, +/* 0x04e0 */ 211,224,185, 8, 0, 0, 0, 43, 76, 36,204,211,250, 1,208,105, +/* 0x04f0 */ 192, 0, 3, 0, 0,131,124, 36,200, 6,137,192, 76,141,140, 67, +/* 0x0500 */ 108, 14, 0, 0, 15,142,184, 0, 0, 0, 72,139, 84, 36,232, 68, +/* 0x0510 */ 137,248, 68, 41,240, 15,182, 44, 2, 1,237, 72, 99,214,137,235, +/* 0x0520 */ 129,227, 0, 1, 0, 0, 65,129,251,255,255,255, 0, 72, 99,195, +/* 0x0530 */ 73,141, 4, 65, 76,141, 4, 80,119, 26, 76, 57,231, 15,132,219, +/* 0x0540 */ 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, +/* 0x0550 */ 199, 65, 9,194, 65, 15,183,144, 0, 2, 0, 0, 68,137,216,193, +/* 0x0560 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137,195, +/* 0x0570 */ 184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,133,219,141, 4, +/* 0x0580 */ 2,102, 65,137,128, 0, 2, 0, 0,116, 33,235, 45, 65, 41,195, +/* 0x0590 */ 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1,102, 41,194, +/* 0x05a0 */ 133,219,102, 65,137,144, 0, 2, 0, 0,116, 14,129,254,255, 0, +/* 0x05b0 */ 0, 0, 15,142, 97,255,255,255,235,120,129,254,255, 0, 0, 0, +/* 0x05c0 */ 127,112, 72, 99,198, 65,129,251,255,255,255, 0, 77,141, 4, 65, +/* 0x05d0 */ 119, 26, 76, 57,231, 15,132, 67, 7, 0, 0, 15,182, 7, 65,193, +/* 0x05e0 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, +/* 0x05f0 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, +/* 0x0600 */ 24, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5, +/* 0x0610 */ 141, 4, 2,102, 65,137, 0,235,161, 65, 41,195, 65, 41,194,137, +/* 0x0620 */ 208,102,193,232, 5,141,116, 54, 1,102, 41,194,102, 65,137, 16, +/* 0x0630 */ 235,136, 72,139, 76, 36,232, 68,137,248, 65,255,199, 65,137,245, +/* 0x0640 */ 64,136, 52, 1,131,124, 36,200, 3,127, 13,199, 68, 36,200, 0, +/* 0x0650 */ 0, 0, 0,233,166, 6, 0, 0,139, 84, 36,200,139, 68, 36,200, +/* 0x0660 */ 131,234, 3,131,232, 6,131,124, 36,200, 9, 15, 79,208,137, 84, +/* 0x0670 */ 36,200,233,135, 6, 0, 0, 65, 41,195, 65, 41,194,137,208,102, +/* 0x0680 */ 193,232, 5,102, 41,194, 72,139, 68, 36,216, 65,129,251,255,255, +/* 0x0690 */ 255, 0,102, 65,137, 17, 72,141, 52, 88,119, 26, 76, 57,231, 15, +/* 0x06a0 */ 132,121, 6, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x06b0 */ 72,255,199, 65, 9,194, 15,183,150,128, 1, 0, 0, 68,137,216, +/* 0x06c0 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 78, 65,137, +/* 0x06d0 */ 195,184, 0, 8, 0, 0, 76,139, 76, 36,216, 41,200,139, 76, 36, +/* 0x06e0 */ 196, 68,137,116, 36,196,193,248, 5,141, 4, 2,139, 84, 36,192, +/* 0x06f0 */ 137, 76, 36,192,102,137,134,128, 1, 0, 0, 49,192,131,124, 36, +/* 0x0700 */ 200, 6,137, 84, 36,188, 15,159,192, 73,129,193,100, 6, 0, 0, +/* 0x0710 */ 141, 4, 64,137, 68, 36,200,233, 84, 2, 0, 0, 65, 41,195, 65, +/* 0x0720 */ 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255, +/* 0x0730 */ 255, 0,102,137,150,128, 1, 0, 0,119, 26, 76, 57,231, 15,132, +/* 0x0740 */ 218, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, +/* 0x0750 */ 255,199, 65, 9,194, 15,183,150,152, 1, 0, 0, 68,137,216,193, +/* 0x0760 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131,208, 0, 0, +/* 0x0770 */ 0, 65,184, 0, 8, 0, 0, 65,137,195, 72,193,227, 5, 68,137, +/* 0x0780 */ 192, 41,200,193,248, 5,141, 4, 2,102,137,134,152, 1, 0, 0, +/* 0x0790 */ 72,139, 68, 36,216, 72, 1,216, 65,129,251,255,255,255, 0, 72, +/* 0x07a0 */ 141, 52,104,119, 26, 76, 57,231, 15,132,112, 5, 0, 0, 15,182, +/* 0x07b0 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, +/* 0x07c0 */ 183,150,224, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x07d0 */ 175,193, 65, 57,194,115, 79, 65, 41,200, 65,137,195, 65,193,248, +/* 0x07e0 */ 5, 69,133,255, 66,141, 4, 2,102,137,134,224, 1, 0, 0, 15, +/* 0x07f0 */ 132, 41, 5, 0, 0, 49,192,131,124, 36,200, 6, 72,139, 92, 36, +/* 0x0800 */ 232, 15,159,192,141, 68, 0, 9,137, 68, 36,200, 68,137,248, 68, +/* 0x0810 */ 41,240, 68, 15,182, 44, 3, 68,137,248, 65,255,199, 68,136, 44, +/* 0x0820 */ 3,233,216, 4, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193, +/* 0x0830 */ 232, 5,102, 41,194,102,137,150,224, 1, 0, 0,233, 17, 1, 0, +/* 0x0840 */ 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, +/* 0x0850 */ 65,129,251,255,255,255, 0,102,137,150,152, 1, 0, 0,119, 26, +/* 0x0860 */ 76, 57,231, 15,132,181, 4, 0, 0, 15,182, 7, 65,193,226, 8, +/* 0x0870 */ 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,176, 1, 0, +/* 0x0880 */ 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, +/* 0x0890 */ 115, 32, 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, +/* 0x08a0 */ 4, 2,102,137,134,176, 1, 0, 0,139, 68, 36,196,233,152, 0, +/* 0x08b0 */ 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, +/* 0x08c0 */ 194, 65,129,251,255,255,255, 0,102,137,150,176, 1, 0, 0,119, +/* 0x08d0 */ 26, 76, 57,231, 15,132, 68, 4, 0, 0, 15,182, 7, 65,193,226, +/* 0x08e0 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,200, 1, +/* 0x08f0 */ 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, +/* 0x0900 */ 194,115, 29, 65,137,195,184, 0, 8, 0, 0, 41,200,193,248, 5, +/* 0x0910 */ 141, 4, 2,102,137,134,200, 1, 0, 0,139, 68, 36,192,235, 34, +/* 0x0920 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194,139, +/* 0x0930 */ 68, 36,188,102,137,150,200, 1, 0, 0,139, 84, 36,192,137, 84, +/* 0x0940 */ 36,188,139, 76, 36,196,137, 76, 36,192, 68,137,116, 36,196, 65, +/* 0x0950 */ 137,198, 49,192,131,124, 36,200, 6, 76,139, 76, 36,216, 15,159, +/* 0x0960 */ 192, 73,129,193,104, 10, 0, 0,141, 68, 64, 8,137, 68, 36,200, +/* 0x0970 */ 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15,132,156, 3, +/* 0x0980 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, +/* 0x0990 */ 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, +/* 0x09a0 */ 15,175,193, 65, 57,194,115, 39, 65,137,195,184, 0, 8, 0, 0, +/* 0x09b0 */ 69, 49,237, 41,200,193,248, 5,141, 4, 2,102, 65,137, 1, 72, +/* 0x09c0 */ 99, 68, 36,184, 72,193,224, 4, 77,141, 68, 1, 4,235,120, 65, +/* 0x09d0 */ 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129, +/* 0x09e0 */ 251,255,255,255, 0,102, 65,137, 17,119, 26, 76, 57,231, 15,132, +/* 0x09f0 */ 42, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, +/* 0x0a00 */ 255,199, 65, 9,194, 65, 15,183, 81, 2, 68,137,216,193,232, 11, +/* 0x0a10 */ 15,183,202, 15,175,193, 65, 57,194,115, 52, 65,137,195,184, 0, +/* 0x0a20 */ 8, 0, 0, 65,189, 8, 0, 0, 0, 41,200,193,248, 5,141, 4, +/* 0x0a30 */ 2,102, 65,137, 65, 2, 72, 99, 68, 36,184, 72,193,224, 4, 77, +/* 0x0a40 */ 141,132, 1, 4, 1, 0, 0, 65,185, 3, 0, 0, 0,235, 39, 65, +/* 0x0a50 */ 41,195, 65, 41,194,137,208,102,193,232, 5, 77,141,129, 4, 2, +/* 0x0a60 */ 0, 0, 65,189, 16, 0, 0, 0,102, 41,194,102, 65,137, 81, 2, +/* 0x0a70 */ 65,185, 8, 0, 0, 0, 68,137,203,189, 1, 0, 0, 0, 72, 99, +/* 0x0a80 */ 197, 65,129,251,255,255,255, 0, 73,141, 52, 64,119, 26, 76, 57, +/* 0x0a90 */ 231, 15,132,135, 2, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x0aa0 */ 227, 8, 72,255,199, 65, 9,194, 15,183, 14, 68,137,216,193,232, +/* 0x0ab0 */ 11, 15,183,209, 15,175,194, 65, 57,194,115, 23, 65,137,195,184, +/* 0x0ac0 */ 0, 8, 0, 0, 1,237, 41,208,193,248, 5,141, 4, 1,102,137, +/* 0x0ad0 */ 6,235, 22, 65, 41,195, 65, 41,194,137,200,102,193,232, 5,141, +/* 0x0ae0 */ 108, 45, 1,102, 41,193,102,137, 14,255,203,117,145,184, 1, 0, +/* 0x0af0 */ 0, 0, 68,137,201,211,224, 41,197, 68, 1,237,131,124, 36,200, +/* 0x0b00 */ 3, 15,143,194, 1, 0, 0,131, 68, 36,200, 7,184, 3, 0, 0, +/* 0x0b10 */ 0,131,253, 4, 15, 76,197, 72,139, 92, 36,216, 65,184, 1, 0, +/* 0x0b20 */ 0, 0, 72,152, 72,193,224, 7, 76,141,140, 3, 96, 3, 0, 0, +/* 0x0b30 */ 187, 6, 0, 0, 0, 73, 99,192, 65,129,251,255,255,255, 0, 73, +/* 0x0b40 */ 141, 52, 65,119, 26, 76, 57,231, 15,132,208, 1, 0, 0, 15,182, +/* 0x0b50 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, +/* 0x0b60 */ 183, 22, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, +/* 0x0b70 */ 194,115, 24, 65,137,195,184, 0, 8, 0, 0, 69, 1,192, 41,200, +/* 0x0b80 */ 193,248, 5,141, 4, 2,102,137, 6,235, 23, 65, 41,195, 65, 41, +/* 0x0b90 */ 194,137,208,102,193,232, 5, 71,141, 68, 0, 1,102, 41,194,102, +/* 0x0ba0 */ 137, 22,255,203,117,143, 65,131,232, 64, 65,131,248, 3, 69,137, +/* 0x0bb0 */ 198, 15,142, 13, 1, 0, 0, 65,131,230, 1, 68,137,192,209,248, +/* 0x0bc0 */ 65,131,206, 2, 65,131,248, 13,141,112,255,127, 35,137,241, 72, +/* 0x0bd0 */ 139, 92, 36,216, 73, 99,192, 65,211,230, 72, 1,192, 68,137,242, +/* 0x0be0 */ 72,141, 20, 83, 72, 41,194, 76,141,138, 94, 5, 0, 0,235, 81, +/* 0x0bf0 */ 141,112,251, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15, +/* 0x0c00 */ 132, 25, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x0c10 */ 72,255,199, 65, 9,194, 65,209,235, 69, 1,246, 69, 57,218,114, +/* 0x0c20 */ 7, 69, 41,218, 65,131,206, 1,255,206,117,199, 76,139, 76, 36, +/* 0x0c30 */ 216, 65,193,230, 4,190, 4, 0, 0, 0, 73,129,193, 68, 6, 0, +/* 0x0c40 */ 0, 65,189, 1, 0, 0, 0,187, 1, 0, 0, 0, 72, 99,195, 65, +/* 0x0c50 */ 129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15, +/* 0x0c60 */ 132,185, 0, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x0c70 */ 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, +/* 0x0c80 */ 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, +/* 0x0c90 */ 8, 0, 0, 1,219, 41,200,193,248, 5,141, 4, 2,102, 65,137, +/* 0x0ca0 */ 0,235, 26, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141, +/* 0x0cb0 */ 92, 27, 1, 69, 9,238,102, 41,194,102, 65,137, 16, 69, 1,237, +/* 0x0cc0 */ 255,206,117,136, 65,255,198,116, 64,131,197, 2, 69, 57,254,119, +/* 0x0cd0 */ 77, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 68, 15,182, 44, +/* 0x0ce0 */ 2, 68,137,248, 65,255,199,255,205, 68,136, 44, 2, 15,149,194, +/* 0x0cf0 */ 49,192, 68, 59,124, 36,228, 15,146,192,133,194,117,211, 68, 59, +/* 0x0d00 */ 124, 36,228, 15,130, 69,247,255,255, 65,129,251,255,255,255, 0, +/* 0x0d10 */ 119, 22, 76, 57,231,184, 1, 0, 0, 0,116, 35,235, 7,184, 1, +/* 0x0d20 */ 0, 0, 0,235, 26, 72,255,199,137,248, 43, 68, 36,248, 72,139, +/* 0x0d30 */ 76, 36,240, 72,139, 92, 36, 56,137, 1, 68,137, 59, 49,192, 91, +/* 0x0d40 */ 93, 65, 92, 65, 93, 65, 94, 65, 95, 65, 87, 72,141, 71, 4, 69, +/* 0x0d50 */ 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, 85, 69, 49,237, 65, +/* 0x0d60 */ 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, 36,216,184, 1, 0, +/* 0x0d70 */ 0, 0, 72,137,116, 36,248, 76,137, 68, 36,232,137,195, 68,137, +/* 0x0d80 */ 76, 36,228, 15,182, 79, 2,211,227,137,217, 72,139, 92, 36, 56, +/* 0x0d90 */ 255,201,137, 76, 36,212, 15,182, 79, 1,211,224, 72,139, 76, 36, +/* 0x0da0 */ 240,255,200,137, 68, 36,208, 15,182, 7,199, 1, 0, 0, 0, 0, +/* 0x0db0 */ 199, 68, 36,200, 0, 0, 0, 0,199, 68, 36,196, 1, 0, 0, 0, +/* 0x0dc0 */ 199, 68, 36,192, 1, 0, 0, 0,199, 68, 36,188, 1, 0, 0, 0, +/* 0x0dd0 */ 199, 3, 0, 0, 0, 0,137, 68, 36,204, 15,182, 79, 1, 1,193, +/* 0x0de0 */ 184, 0, 3, 0, 0,211,224, 49,201,141,184, 54, 7, 0, 0, 65, +/* 0x0df0 */ 57,255,115, 19, 72,139, 92, 36,216,137,200,255,193, 57,249,102, +/* 0x0e00 */ 199, 4, 67, 0, 4,235,235, 72,139,124, 36,248,137,208, 69, 49, +/* 0x0e10 */ 210, 65,131,203,255, 49,210, 73,137,252, 73, 1,196, 76, 57,231, +/* 0x0e20 */ 15,132,239, 8, 0, 0, 15,182, 7, 65,193,226, 8,255,194, 72, +/* 0x0e30 */ 255,199, 65, 9,194,131,250, 4,126,227, 68, 59,124, 36,228, 15, +/* 0x0e40 */ 131,218, 8, 0, 0,139, 68, 36,212, 72, 99, 92, 36,200, 72,139, +/* 0x0e50 */ 84, 36,216, 68, 33,248,137, 68, 36,184, 72, 99,108, 36,184, 72, +/* 0x0e60 */ 137,216, 72,193,224, 4, 72, 1,232, 65,129,251,255,255,255, 0, +/* 0x0e70 */ 76,141, 12, 66,119, 26, 76, 57,231, 15,132,150, 8, 0, 0, 15, +/* 0x0e80 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, +/* 0x0e90 */ 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, +/* 0x0ea0 */ 65, 57,194, 15,131,197, 1, 0, 0, 65,137,195,184, 0, 8, 0, +/* 0x0eb0 */ 0, 72,139, 92, 36,216, 41,200, 15,182, 76, 36,204,190, 1, 0, +/* 0x0ec0 */ 0, 0,193,248, 5,141, 4, 2, 65, 15,182,213,102, 65,137, 1, +/* 0x0ed0 */ 139, 68, 36,208, 68, 33,248,211,224,185, 8, 0, 0, 0, 43, 76, +/* 0x0ee0 */ 36,204,211,250, 1,208,105,192, 0, 3, 0, 0,131,124, 36,200, +/* 0x0ef0 */ 6,137,192, 76,141,140, 67,108, 14, 0, 0, 15,142,184, 0, 0, +/* 0x0f00 */ 0, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 15,182, 44, 2, +/* 0x0f10 */ 1,237, 72, 99,214,137,235,129,227, 0, 1, 0, 0, 65,129,251, +/* 0x0f20 */ 255,255,255, 0, 72, 99,195, 73,141, 4, 65, 76,141, 4, 80,119, +/* 0x0f30 */ 26, 76, 57,231, 15,132,219, 7, 0, 0, 15,182, 7, 65,193,226, +/* 0x0f40 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183,144, 0, +/* 0x0f50 */ 2, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, +/* 0x0f60 */ 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200, +/* 0x0f70 */ 193,248, 5,133,219,141, 4, 2,102, 65,137,128, 0, 2, 0, 0, +/* 0x0f80 */ 116, 33,235, 45, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, +/* 0x0f90 */ 141,116, 54, 1,102, 41,194,133,219,102, 65,137,144, 0, 2, 0, +/* 0x0fa0 */ 0,116, 14,129,254,255, 0, 0, 0, 15,142, 97,255,255,255,235, +/* 0x0fb0 */ 120,129,254,255, 0, 0, 0,127,112, 72, 99,198, 65,129,251,255, +/* 0x0fc0 */ 255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132, 67, 7, +/* 0x0fd0 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, +/* 0x0fe0 */ 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, +/* 0x0ff0 */ 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, +/* 0x1000 */ 1,246, 41,200,193,248, 5,141, 4, 2,102, 65,137, 0,235,161, +/* 0x1010 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1, +/* 0x1020 */ 102, 41,194,102, 65,137, 16,235,136, 72,139, 76, 36,232, 68,137, +/* 0x1030 */ 248, 65,255,199, 65,137,245, 64,136, 52, 1,131,124, 36,200, 3, +/* 0x1040 */ 127, 13,199, 68, 36,200, 0, 0, 0, 0,233,166, 6, 0, 0,139, +/* 0x1050 */ 84, 36,200,139, 68, 36,200,131,234, 3,131,232, 6,131,124, 36, +/* 0x1060 */ 200, 9, 15, 79,208,137, 84, 36,200,233,135, 6, 0, 0, 65, 41, +/* 0x1070 */ 195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 72,139, 68, +/* 0x1080 */ 36,216, 65,129,251,255,255,255, 0,102, 65,137, 17, 72,141, 52, +/* 0x1090 */ 88,119, 26, 76, 57,231, 15,132,121, 6, 0, 0, 15,182, 7, 65, +/* 0x10a0 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150, +/* 0x10b0 */ 128, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, +/* 0x10c0 */ 65, 57,194,115, 78, 65,137,195,184, 0, 8, 0, 0, 76,139, 76, +/* 0x10d0 */ 36,216, 41,200,139, 76, 36,196, 68,137,116, 36,196,193,248, 5, +/* 0x10e0 */ 141, 4, 2,139, 84, 36,192,137, 76, 36,192,102,137,134,128, 1, +/* 0x10f0 */ 0, 0, 49,192,131,124, 36,200, 6,137, 84, 36,188, 15,159,192, +/* 0x1100 */ 73,129,193,100, 6, 0, 0,141, 4, 64,137, 68, 36,200,233, 84, +/* 0x1110 */ 2, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, +/* 0x1120 */ 41,194, 65,129,251,255,255,255, 0,102,137,150,128, 1, 0, 0, +/* 0x1130 */ 119, 26, 76, 57,231, 15,132,218, 5, 0, 0, 15,182, 7, 65,193, +/* 0x1140 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,152, +/* 0x1150 */ 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, +/* 0x1160 */ 57,194, 15,131,208, 0, 0, 0, 65,184, 0, 8, 0, 0, 65,137, +/* 0x1170 */ 195, 72,193,227, 5, 68,137,192, 41,200,193,248, 5,141, 4, 2, +/* 0x1180 */ 102,137,134,152, 1, 0, 0, 72,139, 68, 36,216, 72, 1,216, 65, +/* 0x1190 */ 129,251,255,255,255, 0, 72,141, 52,104,119, 26, 76, 57,231, 15, +/* 0x11a0 */ 132,112, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x11b0 */ 72,255,199, 65, 9,194, 15,183,150,224, 1, 0, 0, 68,137,216, +/* 0x11c0 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 79, 65, 41, +/* 0x11d0 */ 200, 65,137,195, 65,193,248, 5, 69,133,255, 66,141, 4, 2,102, +/* 0x11e0 */ 137,134,224, 1, 0, 0, 15,132, 41, 5, 0, 0, 49,192,131,124, +/* 0x11f0 */ 36,200, 6, 72,139, 92, 36,232, 15,159,192,141, 68, 0, 9,137, +/* 0x1200 */ 68, 36,200, 68,137,248, 68, 41,240, 68, 15,182, 44, 3, 68,137, +/* 0x1210 */ 248, 65,255,199, 68,136, 44, 3,233,216, 4, 0, 0, 65, 41,195, +/* 0x1220 */ 65, 41,194,137,208,102,193,232, 5,102, 41,194,102,137,150,224, +/* 0x1230 */ 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, 65, 41,194,137,208, +/* 0x1240 */ 102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137, +/* 0x1250 */ 150,152, 1, 0, 0,119, 26, 76, 57,231, 15,132,181, 4, 0, 0, +/* 0x1260 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, +/* 0x1270 */ 194, 15,183,150,176, 1, 0, 0, 68,137,216,193,232, 11, 15,183, +/* 0x1280 */ 202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, +/* 0x1290 */ 0, 41,200,193,248, 5,141, 4, 2,102,137,134,176, 1, 0, 0, +/* 0x12a0 */ 139, 68, 36,196,233,152, 0, 0, 0, 65, 41,195, 65, 41,194,137, +/* 0x12b0 */ 208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, +/* 0x12c0 */ 137,150,176, 1, 0, 0,119, 26, 76, 57,231, 15,132, 68, 4, 0, +/* 0x12d0 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x12e0 */ 9,194, 15,183,150,200, 1, 0, 0, 68,137,216,193,232, 11, 15, +/* 0x12f0 */ 183,202, 15,175,193, 65, 57,194,115, 29, 65,137,195,184, 0, 8, +/* 0x1300 */ 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134,200, 1, 0, +/* 0x1310 */ 0,139, 68, 36,192,235, 34, 65, 41,195, 65, 41,194,137,208,102, +/* 0x1320 */ 193,232, 5,102, 41,194,139, 68, 36,188,102,137,150,200, 1, 0, +/* 0x1330 */ 0,139, 84, 36,192,137, 84, 36,188,139, 76, 36,196,137, 76, 36, +/* 0x1340 */ 192, 68,137,116, 36,196, 65,137,198, 49,192,131,124, 36,200, 6, +/* 0x1350 */ 76,139, 76, 36,216, 15,159,192, 73,129,193,104, 10, 0, 0,141, +/* 0x1360 */ 68, 64, 8,137, 68, 36,200, 65,129,251,255,255,255, 0,119, 26, +/* 0x1370 */ 76, 57,231, 15,132,156, 3, 0, 0, 15,182, 7, 65,193,226, 8, +/* 0x1380 */ 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137, +/* 0x1390 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 39, 65, +/* 0x13a0 */ 137,195,184, 0, 8, 0, 0, 69, 49,237, 41,200,193,248, 5,141, +/* 0x13b0 */ 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, 72,193,224, 4, 77, +/* 0x13c0 */ 141, 68, 1, 4,235,120, 65, 41,195, 65, 41,194,137,208,102,193, +/* 0x13d0 */ 232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, 65,137, 17, +/* 0x13e0 */ 119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, 15,182, 7, 65,193, +/* 0x13f0 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 81, +/* 0x1400 */ 2, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, +/* 0x1410 */ 115, 52, 65,137,195,184, 0, 8, 0, 0, 65,189, 8, 0, 0, 0, +/* 0x1420 */ 41,200,193,248, 5,141, 4, 2,102, 65,137, 65, 2, 72, 99, 68, +/* 0x1430 */ 36,184, 72,193,224, 4, 77,141,132, 1, 4, 1, 0, 0, 65,185, +/* 0x1440 */ 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41,194,137,208,102,193, +/* 0x1450 */ 232, 5, 77,141,129, 4, 2, 0, 0, 65,189, 16, 0, 0, 0,102, +/* 0x1460 */ 41,194,102, 65,137, 81, 2, 65,185, 8, 0, 0, 0, 68,137,203, +/* 0x1470 */ 189, 1, 0, 0, 0, 72, 99,197, 65,129,251,255,255,255, 0, 73, +/* 0x1480 */ 141, 52, 64,119, 26, 76, 57,231, 15,132,135, 2, 0, 0, 15,182, +/* 0x1490 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, +/* 0x14a0 */ 183, 14, 68,137,216,193,232, 11, 15,183,209, 15,175,194, 65, 57, +/* 0x14b0 */ 194,115, 23, 65,137,195,184, 0, 8, 0, 0, 1,237, 41,208,193, +/* 0x14c0 */ 248, 5,141, 4, 1,102,137, 6,235, 22, 65, 41,195, 65, 41,194, +/* 0x14d0 */ 137,200,102,193,232, 5,141,108, 45, 1,102, 41,193,102,137, 14, +/* 0x14e0 */ 255,203,117,145,184, 1, 0, 0, 0, 68,137,201,211,224, 41,197, +/* 0x14f0 */ 68, 1,237,131,124, 36,200, 3, 15,143,194, 1, 0, 0,131, 68, +/* 0x1500 */ 36,200, 7,184, 3, 0, 0, 0,131,253, 4, 15, 76,197, 72,139, +/* 0x1510 */ 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, 72,193,224, 7, 76, +/* 0x1520 */ 141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, 0, 73, 99,192, 65, +/* 0x1530 */ 129,251,255,255,255, 0, 73,141, 52, 65,119, 26, 76, 57,231, 15, +/* 0x1540 */ 132,208, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x1550 */ 72,255,199, 65, 9,194, 15,183, 22, 68,137,216,193,232, 11, 15, +/* 0x1560 */ 183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, +/* 0x1570 */ 0, 0, 69, 1,192, 41,200,193,248, 5,141, 4, 2,102,137, 6, +/* 0x1580 */ 235, 23, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, 71,141, +/* 0x1590 */ 68, 0, 1,102, 41,194,102,137, 22,255,203,117,143, 65,131,232, +/* 0x15a0 */ 64, 65,131,248, 3, 69,137,198, 15,142, 13, 1, 0, 0, 65,131, +/* 0x15b0 */ 230, 1, 68,137,192,209,248, 65,131,206, 2, 65,131,248, 13,141, +/* 0x15c0 */ 112,255,127, 35,137,241, 72,139, 92, 36,216, 73, 99,192, 65,211, +/* 0x15d0 */ 230, 72, 1,192, 68,137,242, 72,141, 20, 83, 72, 41,194, 76,141, +/* 0x15e0 */ 138, 94, 5, 0, 0,235, 81,141,112,251, 65,129,251,255,255,255, +/* 0x15f0 */ 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, 0, 15,182, 7, 65, +/* 0x1600 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65,209,235, +/* 0x1610 */ 69, 1,246, 69, 57,218,114, 7, 69, 41,218, 65,131,206, 1,255, +/* 0x1620 */ 206,117,199, 76,139, 76, 36,216, 65,193,230, 4,190, 4, 0, 0, +/* 0x1630 */ 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, 0, 0, 0,187, 1, +/* 0x1640 */ 0, 0, 0, 72, 99,195, 65,129,251,255,255,255, 0, 77,141, 4, +/* 0x1650 */ 65,119, 26, 76, 57,231, 15,132,185, 0, 0, 0, 15,182, 7, 65, +/* 0x1660 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, +/* 0x1670 */ 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, +/* 0x1680 */ 115, 24, 65,137,195,184, 0, 8, 0, 0, 1,219, 41,200,193,248, +/* 0x1690 */ 5,141, 4, 2,102, 65,137, 0,235, 26, 65, 41,195, 65, 41,194, +/* 0x16a0 */ 137,208,102,193,232, 5,141, 92, 27, 1, 69, 9,238,102, 41,194, +/* 0x16b0 */ 102, 65,137, 16, 69, 1,237,255,206,117,136, 65,255,198,116, 64, +/* 0x16c0 */ 131,197, 2, 69, 57,254,119, 77, 72,139, 84, 36,232, 68,137,248, +/* 0x16d0 */ 68, 41,240, 68, 15,182, 44, 2, 68,137,248, 65,255,199,255,205, +/* 0x16e0 */ 68,136, 44, 2, 15,149,194, 49,192, 68, 59,124, 36,228, 15,146, +/* 0x16f0 */ 192,133,194,117,211, 68, 59,124, 36,228, 15,130, 69,247,255,255, +/* 0x1700 */ 65,129,251,255,255,255, 0,119, 22, 76, 57,231,184, 1, 0, 0, +/* 0x1710 */ 0,116, 35,235, 7,184, 1, 0, 0, 0,235, 26, 72,255,199,137, +/* 0x1720 */ 248, 43, 68, 36,248, 72,139, 76, 36,240, 72,139, 92, 36, 56,137, +/* 0x1730 */ 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, +/* 0x1740 */ 72,139,117,248, 72,139,125, 16,139, 75, 4, 72, 1,206,139, 19, +/* 0x1750 */ 72, 1,215,201,235, 2, 87, 94, 89, 72,137,240, 72, 41,200, 90, +/* 0x1760 */ 72, 41,215, 89,137, 57, 91, 93,195, 65,247, 68, 36, 24, 0, 0, +/* 0x1770 */ 32, 0,117, 35, 77, 41,201, 65,131,200,255,104, 18, 16, 0, 0, +/* 0x1780 */ 65, 90,106, 0, 90, 73,139,124, 36, 64, 76,137,230, 72, 41,254, +/* 0x1790 */ 184,197, 0, 0, 2, 15, 5, 91, 95, 72,137,218, 76, 41,226, 3, +/* 0x17a0 */ 19, 82, 80, 87, 77, 41,201, 65,131,200,255,104, 2, 16, 0, 0, +/* 0x17b0 */ 65, 90, 82, 94,106, 3, 90, 41,255,184,197, 0, 0, 2, 15, 5, +/* 0x17c0 */ 77, 41,230, 73, 1,198, 72,137, 68, 36, 8, 72,151, 77, 41,201, +/* 0x17d0 */ 68,139, 4, 36,106, 18, 65, 90,106, 3, 90, 72,137,222, 76, 41, +/* 0x17e0 */ 230,184,197, 0, 0, 2, 15, 5, 72,139, 84, 36, 16, 72,139, 76, +/* 0x17f0 */ 36, 32, 72, 1,194, 72, 41,200, 73,137,196, 72, 1,232, 80, 72, +/* 0x1800 */ 37, 0,240,255,255, 80, 72, 41,194, 82, 72,137,222,173, 80, 72, +/* 0x1810 */ 137,225, 74,141, 20, 35, 73,137,213,173, 80,173, 65,144, 72,137, +/* 0x1820 */ 247, 94,255,213, 89, 94, 95, 93,106, 5, 90,184, 74, 0, 0, 2, +/* 0x1830 */ 15, 5, 65,255,229, 93, 84, 95, 49,192,131,201,255, 80, 80,242, +/* 0x1840 */ 72,175,242, 72,175, 87, 94, 72,173, 72,133,192,116, 45, 72,185, +/* 0x1850 */ 101,120,101, 99,117,116, 97, 98, 72, 57, 8,117,234, 72,185,108, +/* 0x1860 */ 101, 95,112, 97,116,104, 61, 72, 57, 72, 8,117,218, 72,141,120, +/* 0x1870 */ 16, 41,246,184, 5, 0, 0, 2, 15, 5, 80, 72,141, 53, 0, 0, +/* 0x1880 */ 0, 0, 73,137,244,173, 73, 41,196, 73,137,246,173, 73, 41,198, +/* 0x1890 */ 76,141,120,248, 76,137,100, 36, 16,232,203,254,255,255,102,105, +/* 0x18a0 */ 108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45, +/* 0x18b0 */ 120, 56, 54, 45, 54, 52, 10, 10, 83,101, 99,116,105,111,110,115, +/* 0x18c0 */ 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, +/* 0x18d0 */ 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, +/* 0x18e0 */ 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x18f0 */ 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1900 */ 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, +/* 0x1910 */ 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 65, 77, 68, 54, +/* 0x1920 */ 52, 66, 88, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1930 */ 52, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1940 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1950 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, +/* 0x1960 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1970 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 77, +/* 0x1980 */ 65, 67, 72, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x1990 */ 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x19a0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x19c0 */ 48, 56, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x19d0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x19e0 */ 79, 78, 76, 89, 10, 32, 32, 50, 32, 77, 65, 67, 72, 95, 85, 78, +/* 0x19f0 */ 67, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, 32, +/* 0x1a00 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a10 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a20 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 57, 49, 32, 32, 50, +/* 0x1a30 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1a40 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 95, +/* 0x1a50 */ 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1a60 */ 54, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a70 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a80 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 57, 57, +/* 0x1a90 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1aa0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, +/* 0x1ab0 */ 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x1ac0 */ 48, 48, 48, 98, 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ad0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ae0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1af0 */ 49, 48, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1b00 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x1b10 */ 79, 78, 76, 89, 10, 32, 32, 53, 32, 78, 82, 86, 50, 68, 32, 32, +/* 0x1b20 */ 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 97, 49, 32, +/* 0x1b30 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b40 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b50 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 98, 97, 32, 32, 50, +/* 0x1b60 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1b70 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1b80 */ 32, 54, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1b90 */ 32, 48, 48, 48, 48, 48, 48, 57, 51, 32, 32, 48, 48, 48, 48, 48, +/* 0x1ba0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1bb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1bc0 */ 48, 48, 48, 48, 50, 53, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x1bd0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, +/* 0x1be0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, +/* 0x1bf0 */ 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1c00 */ 48, 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c10 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c20 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,101, +/* 0x1c30 */ 101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1c40 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1c50 */ 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x1c60 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48, +/* 0x1c70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1c80 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c90 */ 48, 32, 32, 48, 48, 48, 48, 48, 51, 53, 50, 32, 32, 50, 42, 42, +/* 0x1ca0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x1cb0 */ 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, +/* 0x1cc0 */ 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, +/* 0x1cd0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ce0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1cf0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 52, 57, 32, 32, +/* 0x1d00 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1d10 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 76, 90, 77, +/* 0x1d20 */ 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1d30 */ 48, 49, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d40 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d50 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 52, +/* 0x1d60 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1d70 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, +/* 0x1d80 */ 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, +/* 0x1d90 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1da0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1dc0 */ 49, 55, 53, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1dd0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1de0 */ 49, 50, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, 32, 32, 32, +/* 0x1df0 */ 32, 48, 48, 48, 48, 48, 48, 49, 49, 32, 32, 48, 48, 48, 48, 48, +/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1e10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1e20 */ 48, 48, 48, 49, 55, 53, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x1e30 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1e40 */ 89, 10, 32, 49, 51, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 32, +/* 0x1e50 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 51, 53, 32, 32, 48, 48, +/* 0x1e60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e80 */ 32, 32, 48, 48, 48, 48, 49, 55, 54, 57, 32, 32, 50, 42, 42, 48, +/* 0x1e90 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, +/* 0x1ea0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, +/* 0x1eb0 */ 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, +/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x1ed0 */ 100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, +/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, +/* 0x1ef0 */ 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, +/* 0x1f10 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, +/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, +/* 0x1f30 */ 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, +/* 0x1f50 */ 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, +/* 0x1f70 */ 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f80 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, +/* 0x1f90 */ 72, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, +/* 0x1fb0 */ 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fc0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 65, 77, 68, 54, 52, +/* 0x1fd0 */ 66, 88, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fe0 */ 48, 48, 48, 48, 32, 65, 77, 68, 54, 52, 66, 88, 88, 10, 48, 48, +/* 0x1ff0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, +/* 0x2000 */ 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, +/* 0x2010 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2020 */ 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, +/* 0x2030 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, +/* 0x2040 */ 32, 32,100, 32, 32, 77, 65, 67, 72, 95, 85, 78, 67, 9, 48, 48, +/* 0x2050 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, +/* 0x2060 */ 65, 67, 72, 95, 85, 78, 67, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, +/* 0x2080 */ 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2090 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, +/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, +/* 0x20b0 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, +/* 0x20c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, +/* 0x20d0 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x20e0 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, +/* 0x20f0 */ 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2100 */ 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, +/* 0x2110 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x2120 */ 100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, +/* 0x2130 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, +/* 0x2140 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, +/* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x2160 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, +/* 0x2170 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, +/* 0x2180 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, +/* 0x2190 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x21a0 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, +/* 0x21b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, +/* 0x21c0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, +/* 0x21d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x21e0 */ 100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, +/* 0x21f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, +/* 0x2200 */ 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2210 */ 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, +/* 0x2220 */ 65, 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x2230 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, +/* 0x2240 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, +/* 0x2250 */ 49, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, +/* 0x2260 */ 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2270 */ 48, 48, 48, 48, 32,101,110,100, 95,100,101, 99,111,109,112,114, +/* 0x2280 */ 101,115,115, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, +/* 0x2290 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 77, 65, 67, +/* 0x22a0 */ 72, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, +/* 0x22b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, +/* 0x22c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, +/* 0x22d0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x22e0 */ 48, 49, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, +/* 0x22f0 */ 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 43, 48, +/* 0x2300 */ 120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, +/* 0x2310 */ 56, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, +/* 0x2320 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, +/* 0x2330 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, +/* 0x2340 */ 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2350 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, +/* 0x2360 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 97,102, 32, 82, 95, 88, +/* 0x2370 */ 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, +/* 0x2380 */ 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, +/* 0x2390 */ 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, +/* 0x23a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 99, 32, 82, 95, 88, 56, +/* 0x23b0 */ 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 77, 65, +/* 0x23c0 */ 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102,102,102, +/* 0x23d0 */ 102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, +/* 0x23e0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, +/* 0x23f0 */ 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, +/* 0x2400 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, +/* 0x2410 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, +/* 0x2420 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2430 */ 48, 48, 48, 57, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, +/* 0x2440 */ 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, +/* 0x2450 */ 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2460 */ 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2470 */ 48, 48, 53, 99, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, +/* 0x2480 */ 51, 50, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, +/* 0x2490 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102, +/* 0x24a0 */ 102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, +/* 0x24b0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, +/* 0x24c0 */ 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, +/* 0x24d0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x24e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x24f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, 98, 32, 82, +/* 0x2500 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, +/* 0x2510 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, +/* 0x2520 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, +/* 0x2530 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 51, 32, 82, 95, +/* 0x2540 */ 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, +/* 0x2550 */ 77, 65, 67, 72, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102, +/* 0x2560 */ 102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, +/* 0x2570 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x2580 */ 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, +/* 0x2590 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, +/* 0x25a0 */ 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x25b0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, +/* 0x25c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, 95, 88, +/* 0x25d0 */ 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 76, +/* 0x25e0 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, 48, 48, +/* 0x25f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 50, 10, 10, 82, 69, +/* 0x2600 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x2610 */ 32, 70, 79, 82, 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, 90, 93, +/* 0x2620 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2630 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2640 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, +/* 0x2650 */ 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 53, 32, 82, 95, 88, 56, +/* 0x2660 */ 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 95,115, +/* 0x2670 */ 116, 97,114,116, 43, 48,120,102,102,102,102,102,102,102,102,102, +/* 0x2680 */ 102,102,102,102,102,102, 52, 10 }; diff -Nru upx-ucl-3.95/src/stub/amd64-darwin.macho-fold.h upx-ucl-3.96/src/stub/amd64-darwin.macho-fold.h --- upx-ucl-3.95/src/stub/amd64-darwin.macho-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-darwin.macho-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* amd64-darwin.macho-fold.h - created from amd64-darwin.macho-fold.bin, 1856 (0x740) bytes + created from amd64-darwin.macho-fold.bin, 2187 (0x88b) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,11 +31,11 @@ */ -#define STUB_AMD64_DARWIN_MACHO_FOLD_SIZE 1856 -#define STUB_AMD64_DARWIN_MACHO_FOLD_ADLER32 0x2ea3f527 -#define STUB_AMD64_DARWIN_MACHO_FOLD_CRC32 0x007104ca +#define STUB_AMD64_DARWIN_MACHO_FOLD_SIZE 2187 +#define STUB_AMD64_DARWIN_MACHO_FOLD_ADLER32 0xf9ad84de +#define STUB_AMD64_DARWIN_MACHO_FOLD_CRC32 0x2577d36b -unsigned char stub_amd64_darwin_macho_fold[1856] = { +unsigned char stub_amd64_darwin_macho_fold[2187] = { /* 0x0000 */ 232, 74, 0, 0, 0,131,249, 73,117, 68, 83, 87, 72,141, 76, 55, /* 0x0010 */ 253, 94, 86, 91,235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128, /* 0x0020 */ 114, 10, 60,143,119, 6,128,126,254, 15,116, 6, 44,232, 60, 1, @@ -43,113 +43,134 @@ /* 0x0040 */ 41,248, 1,216,171, 72, 57,206,115, 3,172,235,223, 91,195, 65, /* 0x0050 */ 89, 76,137,247, 76,137,254, 73,137,228,139, 79, 24,184, 0, 8, /* 0x0060 */ 0, 0, 57,193, 15, 66,200, 73,141, 68, 36, 32, 73,137,232, 72, -/* 0x0070 */ 41,204, 72,137,226, 80,232, 48, 5, 0, 0, 72,139, 40, 72,139, +/* 0x0070 */ 41,204, 72,137,226, 80,232,123, 6, 0, 0, 72,139, 40, 72,139, /* 0x0080 */ 136,128, 0, 0, 0, 76,137,228, 72,137, 76, 36, 24, 95,232, 45, /* 0x0090 */ 0, 0, 0, 95, 94,184, 73, 0, 0, 2,255,229,139, 7, 15,200, /* 0x00a0 */ 137, 7,131,238, 4, 72,141,127, 4,119,241,195,176, 4,235, 2, /* 0x00b0 */ 176, 1,235, 2,176, 74,235, 2,176, 73,235, 2,176,153,235, 2, -/* 0x00c0 */ 176, 6,235, 2,176, 5,235, 2,176,197,235, 2,176, 3, 15,182, -/* 0x00d0 */ 192, 80, 13, 0, 0, 0, 2, 73,137,202, 15, 5,114, 2, 89,195, -/* 0x00e0 */ 72,137,194, 88, 87, 86, 82, 72,131,236,112, 72,137,231,232, 49, -/* 0x00f0 */ 0, 0, 0,176, 61,170, 72,139, 68, 36,112,232, 36, 0, 0, 0, -/* 0x0100 */ 176, 10,170, 72,137,250, 72, 41,226, 72,137,230,191, 2, 0, 0, -/* 0x0110 */ 0,184, 4, 0, 0, 2, 15, 5, 72,131,196,112, 89, 94, 95, 72, -/* 0x0120 */ 131,200,255,195, 72,141, 53, 28, 0, 0, 0, 72,137,194,185, 16, -/* 0x0130 */ 0, 0, 0, 72,193,194, 4,137,208,131,224, 15, 15,182, 4, 6, -/* 0x0140 */ 170,131,233, 1,117,237,195, 48, 49, 50, 51, 52, 53, 54, 55, 56, -/* 0x0150 */ 57, 97, 98, 99,100,101,102,144, 81, 72, 57, 23, 76,139, 71, 8, -/* 0x0160 */ 72,141, 74,255,115, 10,191,127, 0, 0, 0,232, 64,255,255,255, -/* 0x0170 */ 72,131,249,255,116, 17, 65, 15,182, 0, 72,255,201, 73,255,192, -/* 0x0180 */ 136, 6, 72,255,198,235,233, 72, 1, 87, 8, 72, 41, 23, 88,195, -/* 0x0190 */ 86,232, 26,255,255,255, 65, 85, 73,137,213, 65, 84, 73,137,204, -/* 0x01a0 */ 85, 72,137,253, 83, 72,137,243, 72,131,236, 40, 72,131, 62, 0, -/* 0x01b0 */ 15,132, 19, 1, 0, 0, 72,141,116, 36, 16,186, 12, 0, 0, 0, -/* 0x01c0 */ 72,137,239,232,144,255,255,255,131,124, 36, 16, 0,139, 68, 36, -/* 0x01d0 */ 20,117, 43, 61, 85, 80, 88, 33,116, 10,191, 2, 0, 0, 0,232, -/* 0x01e0 */ 172,255,255,255, 72,131,125, 0, 0, 15,132,218, 0, 0, 0,191, -/* 0x01f0 */ 3, 0, 0, 0,232,151,255,255,255,233,203, 0, 0, 0,133,192, -/* 0x0200 */ 117, 10,191, 4, 0, 0, 0,232,132,255,255,255,139, 68, 36, 16, -/* 0x0210 */ 57, 68, 36, 20,119, 7,137,192, 72, 59, 3,118, 10,191, 5, 0, -/* 0x0220 */ 0, 0,232,105,255,255,255,139,116, 36, 20,139, 68, 36, 16, 76, -/* 0x0230 */ 139, 75, 8, 57,198,115,108,137,192, 68, 15,182, 68, 36, 24, 72, -/* 0x0240 */ 139,125, 8, 72,137, 68, 36, 8, 72,141, 76, 36, 8, 76,137,202, -/* 0x0250 */ 65,255,213,133,192,117, 11,139, 68, 36, 16, 72, 57, 68, 36, 8, -/* 0x0260 */ 116, 10,191, 7, 0, 0, 0,232, 36,255,255,255, 15,182, 76, 36, -/* 0x0270 */ 25,132,201, 15,149,194, 49,192, 77,133,228, 15,149,192,133,194, -/* 0x0280 */ 116, 19, 15,182, 84, 36, 26, 15,182,201, 72,139,123, 8,139,116, -/* 0x0290 */ 36, 8, 65,255,212,139, 68, 36, 20, 72, 1, 69, 8, 72, 41, 69, -/* 0x02a0 */ 0,235, 13,137,242, 72,137,239, 76,137,206,232,168,254,255,255, -/* 0x02b0 */ 139, 84, 36, 16, 72,139, 3, 72, 1, 83, 8, 72, 41,208, 72,133, -/* 0x02c0 */ 192, 72,137, 3,233,231,254,255,255, 72,131,196, 40, 91, 93, 65, -/* 0x02d0 */ 92, 65, 93,195, 65, 87, 65, 86, 73,137,214, 65, 85, 65, 84, 73, -/* 0x02e0 */ 137,252, 73,131,196, 32, 85, 83, 72,131,236, 88,137, 76, 36, 48, -/* 0x02f0 */ 72,139,132, 36,144, 0, 0, 0, 49,201, 59, 79, 16, 72,137,124, -/* 0x0300 */ 36, 56,137,116, 36, 52, 76,137, 68, 36, 40, 76,137, 76, 36, 32, -/* 0x0310 */ 72,137, 68, 36, 24, 72,199, 68, 36, 16, 0, 0, 0, 0, 72,199, -/* 0x0320 */ 68, 36, 8, 0, 0, 0, 0,199, 68, 36, 4, 0, 0, 0, 0, 15, -/* 0x0330 */ 131, 98, 2, 0, 0, 65,139, 4, 36,131,248, 25, 15,133, 14, 2, -/* 0x0340 */ 0, 0, 73,139, 76, 36, 32, 72,133,201, 15,132, 0, 2, 0, 0, -/* 0x0350 */ 77,139, 76, 36, 40, 77,133,201,117, 37, 73,131,124, 36, 48, 0, -/* 0x0360 */ 116, 29, 72,139, 84, 36, 40, 72,139, 2, 72,133,192,116, 16,246, -/* 0x0370 */ 64, 26, 32,116, 10, 73, 43, 68, 36, 24, 72,137, 68, 36, 8, 73, -/* 0x0380 */ 139, 84, 36, 48, 72,139,124, 36, 8, 72,137, 84, 36, 64, 73, 3, -/* 0x0390 */ 124, 36, 24, 73,137,213, 72,137,251, 72,137,253, 72,137,124, 36, -/* 0x03a0 */ 72,129,227,255, 15, 0, 0, 76,141, 60, 15, 72, 41,221, 73, 1, -/* 0x03b0 */ 221,116,118, 72,139, 76, 36, 40, 73,141, 69, 3, 77,133,246, 76, -/* 0x03c0 */ 137,238, 72, 15, 69,240, 72,139, 1, 72,131,248, 1, 25,192,131, -/* 0x03d0 */ 224,240, 77,133,246,141, 72, 18,117, 5, 72,133,210,117, 3,128, -/* 0x03e0 */ 205, 16, 65,131,200,255, 73,131,124, 36, 48, 0,186, 3, 0, 0, -/* 0x03f0 */ 0, 68, 15, 69, 68, 36, 48, 68, 3, 76, 36, 52, 72,137,239,232, -/* 0x0400 */ 196,252,255,255, 72,139, 84, 36, 40, 72,131, 58, 0,117, 11, 72, -/* 0x0410 */ 137, 2, 72,137, 68, 36, 8, 72,137,197, 72, 57,197,116, 10,191, -/* 0x0420 */ 8, 0, 0, 0,232,103,253,255,255, 77,133,246,116, 47, 73,131, -/* 0x0430 */ 124, 36, 48, 0,116, 39, 73,131,124, 36, 40, 0,117, 8, 72,139, -/* 0x0440 */ 76, 36, 40, 72,137, 41, 72,139, 76, 36, 24, 72,139, 84, 36, 32, -/* 0x0450 */ 72,141,116, 36, 64, 76,137,247,232, 57,253,255,255, 77,133,246, -/* 0x0460 */ 15,149,194, 49,192, 77,133,237, 15,149,192,133,194,116, 53, 73, -/* 0x0470 */ 131,124, 36, 40, 0,117, 45, 65,131,124, 36, 64, 0,116, 37, 76, -/* 0x0480 */ 137,224, 72, 43, 68, 36, 56, 72,131,224,252,139, 68, 5,120,193, -/* 0x0490 */ 232, 2,255,200, 72,141, 68,133, 0,199, 0,144, 15, 5,195, 72, -/* 0x04a0 */ 137, 68, 36, 16, 76,137,235, 74,141, 84, 45, 0, 72,247,219,129, -/* 0x04b0 */ 227,255, 15, 0, 0, 72,137,216, 72,133,219,116, 11,198, 2, 0, -/* 0x04c0 */ 72,255,194, 72,255,200,235,243, 77,133,237,116, 30, 65,139, 84, -/* 0x04d0 */ 36, 60, 76,137,238, 72,137,239,232,215,251,255,255,133,192,116, -/* 0x04e0 */ 10,191, 10, 0, 0, 0,232,165,252,255,255, 73,141, 68, 29, 0, -/* 0x04f0 */ 72, 1,197, 76, 57,253,115, 53, 72,133,237,116,119, 65,139, 84, -/* 0x0500 */ 36, 60, 73, 41,239, 69, 49,201, 65,131,200,255,185, 18, 16, 0, -/* 0x0510 */ 0, 76,137,254, 72,137,239,232,172,251,255,255, 72, 57,197,116, -/* 0x0520 */ 83,191, 9, 0, 0, 0,232,101,252,255,255,235, 71, 77,133,246, -/* 0x0530 */ 116, 66, 73,131,197, 3, 65,129,229,255, 15, 0, 0, 73,131,253, -/* 0x0540 */ 3,119, 49, 76,137,238, 72,137,239,232,106,251,255,255,235, 36, -/* 0x0550 */ 77,133,246,117, 31,131,232, 4,131,248, 1,119, 23, 72,139, 68, -/* 0x0560 */ 36, 8, 73, 1,132, 36,144, 0, 0, 0, 73,141, 84, 36, 16, 72, -/* 0x0570 */ 137, 84, 36, 16, 65,139, 68, 36, 4, 72,139, 76, 36, 56,255, 68, -/* 0x0580 */ 36, 4,193,232, 2,137,192, 77,141, 36,132,139, 68, 36, 4, 59, -/* 0x0590 */ 65, 16,233,152,253,255,255, 72,139, 68, 36, 16, 72,131,196, 88, -/* 0x05a0 */ 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195, 65, 87, 73,137,207, -/* 0x05b0 */ 49,201, 65, 86, 69, 49,246, 65, 85, 69, 49,237, 65, 84, 77,137, -/* 0x05c0 */ 204, 85, 72,137,213, 72,141, 87, 24, 83, 76,137,195, 72,131,236, -/* 0x05d0 */ 88,139,127, 24, 72,137,116, 36, 72, 72,139, 68, 36, 72, 72,141, -/* 0x05e0 */ 116, 36, 32, 72,137, 84, 36, 56, 72,137, 84, 36, 24, 76,137,194, -/* 0x05f0 */ 72,137,108, 36, 40, 72,137,124, 36, 32, 72,141,124, 36, 48, 72, -/* 0x0600 */ 131,232, 24, 72,137, 68, 36, 48, 72,137, 68, 36, 16,232,132,251, -/* 0x0610 */ 255,255, 80,131,201,255, 49,246, 73,137,217, 72,137,239, 72,141, -/* 0x0620 */ 84, 36, 24, 65, 84, 76,139,132, 36,160, 0, 0, 0,232,162,252, -/* 0x0630 */ 255,255, 72,137, 68, 36, 16,139,117, 16, 72,141, 85, 32, 65, 90, -/* 0x0640 */ 65, 91, 49,201, 57,241, 15,131,226, 0, 0, 0,131, 58, 14, 15, -/* 0x0650 */ 133,204, 0, 0, 0,139,122, 8, 49,246, 49,192, 72,141, 60, 58, -/* 0x0660 */ 49,210,232, 93,250,255,255,133,192, 65,137,196,121, 10,191, 18, -/* 0x0670 */ 0, 0, 0,232, 24,251,255,255, 68,137,241, 76,137,250, 72,137, -/* 0x0680 */ 238, 68,137,231,232, 51,250,255,255, 73, 57,199,116, 10,191, 19, -/* 0x0690 */ 0, 0, 0,232,248,250,255,255,139, 69, 0, 61,202,254,186,190, -/* 0x06a0 */ 116, 7, 61,190,186,254,202,117, 49, 72, 15,182,117, 7, 72,137, -/* 0x06b0 */ 239, 72,141, 93, 8, 72,107,246, 20,131,198, 8,232,219,249,255, -/* 0x06c0 */ 255,139, 69, 4, 49,201, 57,193,115, 16,129, 59, 7, 0, 0, 1, -/* 0x06d0 */ 116, 70,255,193, 72,131,195, 20,235,236, 72,199, 68, 36, 8, 0, -/* 0x06e0 */ 0, 0, 0, 65, 81, 68,137,225, 69, 49,201, 49,210,106, 0, 68, -/* 0x06f0 */ 137,246, 72,137,239, 76,141, 68, 36, 24,232,213,251,255,255, 73, -/* 0x0700 */ 137,197, 72,139, 68, 36, 16, 68,137,231, 73,137, 69, 0,232,173, -/* 0x0710 */ 249,255,255, 95, 65, 88,235, 22, 68,139,115, 8,233, 87,255,255, -/* 0x0720 */ 255,139, 66, 4,255,193, 72, 1,194,233, 22,255,255,255, 72,131, -/* 0x0730 */ 196, 88, 76,137,232, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195 +/* 0x00c0 */ 176, 6,235, 2,176, 5,235, 2,176,197,235, 2,176, 3, 65, 81, +/* 0x00d0 */ 65, 80, 81, 82, 86, 87, 15,182,192, 80, 13, 0, 0, 0, 2, 73, +/* 0x00e0 */ 137,202, 15, 5,114, 5, 72,131,196, 56,195,156, 80, 87, 86, 85, +/* 0x00f0 */ 72,137,229,131,125, 40, 4, 15,132,143, 0, 0, 0, 72,129,236, +/* 0x0100 */ 0, 1, 0, 0, 72,137,231,176, 10,170,176, 42,170, 72,139, 69, +/* 0x0110 */ 24,232,135, 0, 0, 0,176, 61,170, 72,139, 69, 40,232,123, 0, +/* 0x0120 */ 0, 0,176, 40,170, 72,139, 69, 48,232,111, 0, 0, 0,176, 44, +/* 0x0130 */ 170, 72,139, 69, 56,232, 99, 0, 0, 0,176, 44,170, 72,139, 69, +/* 0x0140 */ 64,232, 87, 0, 0, 0,176, 44,170, 72,139, 69, 72,232, 75, 0, +/* 0x0150 */ 0, 0,176, 44,170, 72,139, 69, 80,232, 63, 0, 0, 0,176, 44, +/* 0x0160 */ 170, 72,139, 69, 88,232, 51, 0, 0, 0,176, 41,170,176, 10,170, +/* 0x0170 */ 72,137,250, 72, 41,226, 72,137,230,191, 2, 0, 0, 0,184, 4, +/* 0x0180 */ 0, 0, 2, 15, 5, 72,129,196, 0, 1, 0, 0, 93, 94, 95, 88, +/* 0x0190 */ 157, 72,141,100, 36, 56,115, 4, 72,131,200,255,195, 72,141, 53, +/* 0x01a0 */ 28, 0, 0, 0, 72,137,194,185, 16, 0, 0, 0, 72,193,194, 4, +/* 0x01b0 */ 137,208,131,224, 15, 15,182, 4, 6,170,131,233, 1,117,237,195, +/* 0x01c0 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99,100,101,102, +/* 0x01d0 */ 81, 72, 57, 23, 76,139, 71, 8, 72,141, 74,255,115, 10,191,127, +/* 0x01e0 */ 0, 0, 0,232,200,254,255,255, 72,131,249,255,116, 17, 65, 15, +/* 0x01f0 */ 182, 0, 72,255,201, 73,255,192,136, 6, 72,255,198,235,233, 72, +/* 0x0200 */ 1, 87, 8, 72, 41, 23, 88,195, 86,232,162,254,255,255, 65, 85, +/* 0x0210 */ 73,137,213, 65, 84, 73,137,204, 85, 72,137,253, 83, 72,137,243, +/* 0x0220 */ 72,131,236, 40, 72,131, 62, 0, 15,132, 19, 1, 0, 0, 72,141, +/* 0x0230 */ 116, 36, 16,186, 12, 0, 0, 0, 72,137,239,232,144,255,255,255, +/* 0x0240 */ 131,124, 36, 16, 0,139, 68, 36, 20,117, 43, 61, 85, 80, 88, 33, +/* 0x0250 */ 116, 10,191, 2, 0, 0, 0,232,172,255,255,255, 72,131,125, 0, +/* 0x0260 */ 0, 15,132,218, 0, 0, 0,191, 3, 0, 0, 0,232,151,255,255, +/* 0x0270 */ 255,233,203, 0, 0, 0,133,192,117, 10,191, 4, 0, 0, 0,232, +/* 0x0280 */ 132,255,255,255,139, 68, 36, 16, 57, 68, 36, 20,119, 7,137,192, +/* 0x0290 */ 72, 59, 3,118, 10,191, 5, 0, 0, 0,232,105,255,255,255,139, +/* 0x02a0 */ 116, 36, 20,139, 68, 36, 16, 76,139, 75, 8, 57,198,115,108,137, +/* 0x02b0 */ 192, 68, 15,182, 68, 36, 24, 72,139,125, 8, 72,137, 68, 36, 8, +/* 0x02c0 */ 72,141, 76, 36, 8, 76,137,202, 65,255,213,133,192,117, 11,139, +/* 0x02d0 */ 68, 36, 16, 72, 57, 68, 36, 8,116, 10,191, 7, 0, 0, 0,232, +/* 0x02e0 */ 36,255,255,255, 15,182, 76, 36, 25,132,201, 15,149,194, 49,192, +/* 0x02f0 */ 77,133,228, 15,149,192,133,194,116, 19, 15,182, 84, 36, 26, 15, +/* 0x0300 */ 182,201, 72,139,123, 8,139,116, 36, 8, 65,255,212,139, 68, 36, +/* 0x0310 */ 20, 72, 1, 69, 8, 72, 41, 69, 0,235, 13,137,242, 72,137,239, +/* 0x0320 */ 76,137,206,232,168,254,255,255,139, 84, 36, 16, 72,139, 3, 72, +/* 0x0330 */ 1, 83, 8, 72, 41,208, 72,133,192, 72,137, 3,233,231,254,255, +/* 0x0340 */ 255, 72,131,196, 40, 91, 93, 65, 92, 65, 93,195, 65, 87, 73,137, +/* 0x0350 */ 255, 65, 86, 73,137,214, 65, 85, 76,141,111, 32, 65, 84, 73,131, +/* 0x0360 */ 204,255, 85, 83, 49,219, 72,131,236,120, 76,137, 76, 36, 56, 68, +/* 0x0370 */ 139, 79, 12, 72,139,132, 36,176, 0, 0, 0,137,116, 36, 76, 76, +/* 0x0380 */ 137,238,137, 76, 36, 72, 76,137, 68, 36, 64, 65,131,249, 7, 72, +/* 0x0390 */ 199, 68, 36, 40, 0, 0, 0, 0, 72,199, 68, 36, 32, 0, 0, 0, +/* 0x03a0 */ 0, 72,137, 68, 36, 48,139, 71, 16,116, 11,246, 71, 26, 32,189, +/* 0x03b0 */ 16, 0, 0, 0,116, 2, 49,237,129,197, 2, 16, 0, 0,133,192, +/* 0x03c0 */ 126, 96,137,199,131, 62, 25,117, 73, 76,139, 70, 32, 77,133,192, +/* 0x03d0 */ 116, 64, 72,139, 78, 24, 72,133,201,117, 6, 64,246,197, 16,117, +/* 0x03e0 */ 49, 65,131,249, 7, 15,148,194, 49,192, 73,131,252,255, 15,148, +/* 0x03f0 */ 192,133,194,116, 11,137,232,131,200, 16, 72,133,201, 15, 69,232, +/* 0x0400 */ 73,141, 4, 8, 73, 57,204, 76, 15, 71,225, 72, 57,195, 72, 15, +/* 0x0410 */ 66,216,139, 70, 4,193,232, 2,255,207,137,192, 72,141, 52,134, +/* 0x0420 */ 117,162, 73,129,228, 0,240,255,255, 76, 41,227, 72,129,195,255, +/* 0x0430 */ 15, 0, 0, 72,129,227, 0,240,255,255, 64,246,197, 16,116, 16, +/* 0x0440 */ 72,137,222, 76,137,231, 76,137,100, 36, 32,232,104,252,255,255, +/* 0x0450 */ 72,139,124, 36, 32, 69, 49,201, 65,131,200,255, 49,210,137,233, +/* 0x0460 */ 72,137,222,232, 96,252,255,255,169,255, 15, 0, 0, 72,137, 68, +/* 0x0470 */ 36, 32,116, 10,191, 6, 0, 0, 0,232,138,253,255,255, 72,139, +/* 0x0480 */ 68, 36, 32,199, 68, 36, 20, 0, 0, 0, 0, 76, 41,224, 72,137, +/* 0x0490 */ 68, 36, 24, 49,192, 65, 59, 71, 16, 15,131, 67, 2, 0, 0, 65, +/* 0x04a0 */ 131,125, 0, 25,117, 33, 73,131,125, 32, 0,117, 26, 72,141,116, +/* 0x04b0 */ 36, 96,186, 12, 0, 0, 0, 76,137,247,232, 17,253,255,255,139, +/* 0x04c0 */ 68, 36,100, 73, 1, 70, 8, 65,139, 69, 0,131,248, 25, 15,133, +/* 0x04d0 */ 209, 1, 0, 0, 73,139, 85, 32, 72,133,210, 15,132,196, 1, 0, +/* 0x04e0 */ 0, 73,139, 69, 48, 72,139,124, 36, 24, 72,137, 68, 36, 80, 73, +/* 0x04f0 */ 3,125, 24, 73,137,196, 72,137,251, 72,137,253, 72, 1,250,129, +/* 0x0500 */ 227,255, 15, 0, 0, 72,137,124, 36, 88, 72,137, 84, 36, 8, 72, +/* 0x0510 */ 41,221, 73, 1,220,116,107, 77,133,246, 76,137,230,116, 7, 73, +/* 0x0520 */ 141,116, 36, 3,235, 10, 72,133,192,185, 18, 0, 0, 0,117, 10, +/* 0x0530 */ 77,133,246,185, 18, 16, 0, 0,117, 9, 72,133,192,139, 84, 36, +/* 0x0540 */ 72,117, 3,131,202,255, 68,139, 76, 36, 76, 69, 3, 77, 40, 65, +/* 0x0550 */ 137,208, 72,137,239,186, 3, 0, 0, 0,232,105,251,255,255, 72, +/* 0x0560 */ 57,232, 72,137,195,116, 10,191, 8, 0, 0, 0,232,151,252,255, +/* 0x0570 */ 255, 72,139, 68, 36, 64, 72,137,221, 72,131, 56, 0,117, 3, 72, +/* 0x0580 */ 137, 24, 77,133,246,116, 45, 73,131,125, 48, 0,116, 38, 73,131, +/* 0x0590 */ 125, 40, 0,117, 8, 72,139, 68, 36, 64, 72,137, 40, 72,139, 76, +/* 0x05a0 */ 36, 48, 72,139, 84, 36, 56, 72,141,116, 36, 80, 76,137,247,232, +/* 0x05b0 */ 90,252,255,255, 77,133,246, 15,149,194, 49,192, 77,133,228, 15, +/* 0x05c0 */ 149,192,133,194,116, 49, 73,131,125, 40, 0,117, 42, 65,131,125, +/* 0x05d0 */ 64, 0,116, 35, 76,137,232, 76, 41,248, 72,131,224,252,139, 68, +/* 0x05e0 */ 5,120,193,232, 2,255,200, 72,141, 68,133, 0,199, 0,144, 15, +/* 0x05f0 */ 5,195, 72,137, 68, 36, 40, 76,137,227, 73,141, 20, 44, 72,247, +/* 0x0600 */ 219,129,227,255, 15, 0, 0, 72,137,216, 72,133,219,116, 11,198, +/* 0x0610 */ 2, 0, 72,255,194, 72,255,200,235,243, 77,133,228,116, 29, 65, +/* 0x0620 */ 139, 85, 60, 76,137,230, 72,137,239,232,134,250,255,255,133,192, +/* 0x0630 */ 116, 10,191, 10, 0, 0, 0,232,204,251,255,255, 73,141, 4, 28, +/* 0x0640 */ 72, 1,197, 72, 59,108, 36, 8,115, 56, 72,133,237,116,120, 72, +/* 0x0650 */ 41,108, 36, 8, 65,139, 85, 60, 69, 49,201, 72,139,116, 36, 8, +/* 0x0660 */ 65,131,200,255,185, 18, 16, 0, 0, 72,137,239,232, 87,250,255, +/* 0x0670 */ 255, 72, 57,197,116, 81,191, 9, 0, 0, 0,232,136,251,255,255, +/* 0x0680 */ 235, 69, 77,133,246,116, 64, 73,131,196, 3, 65,129,228,255, 15, +/* 0x0690 */ 0, 0, 73,131,252, 3,119, 47, 76,137,230, 72,137,239,232, 21, +/* 0x06a0 */ 250,255,255,235, 34, 77,133,246,117, 29,131,232, 4,131,248, 1, +/* 0x06b0 */ 119, 21, 72,139, 68, 36, 24, 73, 1,133,144, 0, 0, 0, 73,141, +/* 0x06c0 */ 69, 16, 72,137, 68, 36, 40, 65,139, 69, 4,255, 68, 36, 20,193, +/* 0x06d0 */ 232, 2,137,192, 77,141,108,133, 0,139, 68, 36, 20,233,179,253, +/* 0x06e0 */ 255,255, 72,139, 68, 36, 40, 72,131,196,120, 91, 93, 65, 92, 65, +/* 0x06f0 */ 93, 65, 94, 65, 95,195, 65, 87, 73,137,207, 49,201, 65, 86, 69, +/* 0x0700 */ 49,246, 65, 85, 69, 49,237, 65, 84, 77,137,204, 85, 72,137,213, +/* 0x0710 */ 72,141, 87, 24, 83, 76,137,195, 72,131,236, 88,139,127, 24, 72, +/* 0x0720 */ 137,116, 36, 72, 72,139, 68, 36, 72, 72,141,116, 36, 32, 72,137, +/* 0x0730 */ 84, 36, 56, 72,137, 84, 36, 24, 76,137,194, 72,137,108, 36, 40, +/* 0x0740 */ 72,137,124, 36, 32, 72,141,124, 36, 48, 72,131,232, 24, 72,137, +/* 0x0750 */ 68, 36, 48, 72,137, 68, 36, 16,232,177,250,255,255, 80,131,201, +/* 0x0760 */ 255, 49,246, 73,137,217, 72,137,239, 72,141, 84, 36, 24, 65, 84, +/* 0x0770 */ 76,139,132, 36,160, 0, 0, 0,232,207,251,255,255, 72,137, 68, +/* 0x0780 */ 36, 16,139,117, 16, 72,141, 85, 32, 65, 90, 65, 91, 49,201, 57, +/* 0x0790 */ 241, 15,131,226, 0, 0, 0,131, 58, 14, 15,133,204, 0, 0, 0, +/* 0x07a0 */ 139,122, 8, 49,246, 49,192, 72,141, 60, 58, 49,210,232, 18,249, +/* 0x07b0 */ 255,255,133,192, 65,137,196,121, 10,191, 18, 0, 0, 0,232, 69, +/* 0x07c0 */ 250,255,255, 68,137,241, 76,137,250, 72,137,238, 68,137,231,232, +/* 0x07d0 */ 232,248,255,255, 73, 57,199,116, 10,191, 19, 0, 0, 0,232, 37, +/* 0x07e0 */ 250,255,255,139, 69, 0, 61,202,254,186,190,116, 7, 61,190,186, +/* 0x07f0 */ 254,202,117, 49, 72, 15,182,117, 7, 72,137,239, 72,141, 93, 8, +/* 0x0800 */ 72,107,246, 20,131,198, 8,232,144,248,255,255,139, 69, 4, 49, +/* 0x0810 */ 201, 57,193,115, 16,129, 59, 7, 0, 0, 1,116, 70,255,193, 72, +/* 0x0820 */ 131,195, 20,235,236, 72,199, 68, 36, 8, 0, 0, 0, 0, 65, 81, +/* 0x0830 */ 68,137,225, 69, 49,201, 49,210,106, 0, 68,137,246, 72,137,239, +/* 0x0840 */ 76,141, 68, 36, 24,232, 2,251,255,255, 73,137,197, 72,139, 68, +/* 0x0850 */ 36, 16, 68,137,231, 73,137, 69, 0,232, 98,248,255,255, 95, 65, +/* 0x0860 */ 88,235, 22, 68,139,115, 8,233, 87,255,255,255,139, 66, 4,255, +/* 0x0870 */ 193, 72, 1,194,233, 22,255,255,255, 72,131,196, 88, 76,137,232, +/* 0x0880 */ 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195 }; diff -Nru upx-ucl-3.95/src/stub/amd64-darwin.macho-upxmain.h upx-ucl-3.96/src/stub/amd64-darwin.macho-upxmain.h --- upx-ucl-3.95/src/stub/amd64-darwin.macho-upxmain.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-darwin.macho-upxmain.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/amd64-linux.elf-entry.h upx-ucl-3.96/src/stub/amd64-linux.elf-entry.h --- upx-ucl-3.95/src/stub/amd64-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* amd64-linux.elf-entry.h - created from amd64-linux.elf-entry.bin, 9523 (0x2533) bytes + created from amd64-linux.elf-entry.bin, 9547 (0x254b) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,14 +31,14 @@ */ -#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 9523 -#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0x5ae3adb6 -#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0xe78bfed8 +#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 9547 +#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0x2d4db3d3 +#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0x3ab292c4 -unsigned char stub_amd64_linux_elf_entry[9523] = { +unsigned char stub_amd64_linux_elf_entry[9547] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,200, 24, 0, 0, 0, 0, 0, 0, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,224, 24, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0040 */ 80, 82,232, 0, 0, 0, 0, 85, 83, 81, 82, 72, 1,254, 86, 72, /* 0x0050 */ 137,254, 72,137,215, 49,219, 49,201, 72,131,205,255,232, 80, 0, @@ -47,589 +47,590 @@ /* 0x0080 */ 131,253,252,119, 27,131,233, 4,139, 16, 72,131,192, 4,131,233, /* 0x0090 */ 4,137, 23, 72,141,127, 4,115,239,131,193, 4,138, 16,116, 16, /* 0x00a0 */ 72,255,192,136, 23,131,233, 1,138, 16, 72,141,127, 1,117,240, -/* 0x00b0 */ 243,195,252, 65, 91, 65,128,248, 8,116, 13,233,172, 0, 0, 0, -/* 0x00c0 */ 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, -/* 0x00d0 */ 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1,235, 7,255, -/* 0x00e0 */ 200, 65,255,211, 17,192, 65,255,211, 17,192, 1,219,117, 10,139, -/* 0x00f0 */ 30, 72,131,238,252, 17,219,138, 22,115,228,131,232, 3,114, 29, -/* 0x0100 */ 193,224, 8, 15,182,210, 9,208, 72,255,198,131,240,255, 15,132, -/* 0x0110 */ 0, 0, 0, 0,209,248, 72, 99,232,114, 56,235, 14, 1,219,117, -/* 0x0120 */ 8,139, 30, 72,131,238,252, 17,219,114, 40,255,193, 1,219,117, -/* 0x0130 */ 8,139, 30, 72,131,238,252, 17,219,114, 24, 65,255,211, 17,201, -/* 0x0140 */ 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115,237,131,193, -/* 0x0150 */ 2,235, 5, 65,255,211, 17,201, 72,129,253, 0,251,255,255,131, -/* 0x0160 */ 209, 2,232, 0, 0, 0, 0,233, 92,255,255,255, 65,128,248, 5, -/* 0x0170 */ 116, 13,233,147, 0, 0, 0, 72,255,198,136, 23, 72,255,199,138, -/* 0x0180 */ 22, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22,114, -/* 0x0190 */ 230,141, 65, 1,235, 7,255,200, 65,255,211, 17,192, 65,255,211, -/* 0x01a0 */ 17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22, -/* 0x01b0 */ 115,228,131,232, 3,114, 27,193,224, 8, 15,182,210, 9,208, 72, -/* 0x01c0 */ 255,198,131,240,255, 15,132, 0, 0, 0, 0,209,248, 72, 99,232, -/* 0x01d0 */ 235, 3, 65,255,211, 17,201, 65,255,211, 17,201,117, 24,255,193, -/* 0x01e0 */ 65,255,211, 17,201, 1,219,117, 8,139, 30, 72,131,238,252, 17, -/* 0x01f0 */ 219,115,237,131,193, 2, 72,129,253, 0,251,255,255,131,209, 1, -/* 0x0200 */ 232, 0, 0, 0, 0,233,117,255,255,255, 65,128,248, 2,116, 13, -/* 0x0210 */ 233,133, 0, 0, 0, 72,255,198,136, 23, 72,255,199,138, 22, 1, -/* 0x0220 */ 219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22,114,230,141, -/* 0x0230 */ 65, 1, 65,255,211, 17,192, 1,219,117, 10,139, 30, 72,131,238, -/* 0x0240 */ 252, 17,219,138, 22,115,235,131,232, 3,114, 23,193,224, 8, 15, -/* 0x0250 */ 182,210, 9,208, 72,255,198,131,240,255, 15,132, 0, 0, 0, 0, -/* 0x0260 */ 72, 99,232,141, 65, 1, 65,255,211, 17,201, 65,255,211, 17,201, -/* 0x0270 */ 117, 24,137,193,131,192, 2, 65,255,211, 17,201, 1,219,117, 8, -/* 0x0280 */ 139, 30, 72,131,238,252, 17,219,115,237, 72,129,253, 0,243,255, -/* 0x0290 */ 255, 17,193,232, 0, 0, 0, 0,235,131, 65,128,248, 14, 15,133, -/* 0x02a0 */ 0, 0, 0, 0, 85, 72,137,229, 68,139, 9, 73,137,208, 72,137, -/* 0x02b0 */ 242, 72,141,119, 2, 86,138, 7,255,202,136,193, 36, 7,192,233, -/* 0x02c0 */ 3, 72,199,195, 0,253,255,255, 72,211,227,136,193, 72,141,156, -/* 0x02d0 */ 92,136,241,255,255, 72,131,227,192,106, 0, 72, 57,220,117,249, -/* 0x02e0 */ 83, 72,141,123, 8,138, 78,255,255,202,136, 71, 2,136,200,192, -/* 0x02f0 */ 233, 4,136, 79, 1, 36, 15,136, 7, 72,141, 79,252, 80, 65, 87, -/* 0x0300 */ 72,141, 71, 4, 69, 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, -/* 0x0310 */ 85, 69, 49,237, 65, 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, -/* 0x0320 */ 36,216,184, 1, 0, 0, 0, 72,137,116, 36,248, 76,137, 68, 36, -/* 0x0330 */ 232,137,195, 68,137, 76, 36,228, 15,182, 79, 2,211,227,137,217, -/* 0x0340 */ 72,139, 92, 36, 56,255,201,137, 76, 36,212, 15,182, 79, 1,211, -/* 0x0350 */ 224, 72,139, 76, 36,240,255,200,137, 68, 36,208, 15,182, 7,199, -/* 0x0360 */ 1, 0, 0, 0, 0,199, 68, 36,200, 0, 0, 0, 0,199, 68, 36, -/* 0x0370 */ 196, 1, 0, 0, 0,199, 68, 36,192, 1, 0, 0, 0,199, 68, 36, -/* 0x0380 */ 188, 1, 0, 0, 0,199, 3, 0, 0, 0, 0,137, 68, 36,204, 15, -/* 0x0390 */ 182, 79, 1, 1,193,184, 0, 3, 0, 0,211,224, 49,201,141,184, -/* 0x03a0 */ 54, 7, 0, 0, 65, 57,255,115, 19, 72,139, 92, 36,216,137,200, -/* 0x03b0 */ 255,193, 57,249,102,199, 4, 67, 0, 4,235,235, 72,139,124, 36, -/* 0x03c0 */ 248,137,208, 69, 49,210, 65,131,203,255, 49,210, 73,137,252, 73, -/* 0x03d0 */ 1,196, 76, 57,231, 15,132,239, 8, 0, 0, 15,182, 7, 65,193, -/* 0x03e0 */ 226, 8,255,194, 72,255,199, 65, 9,194,131,250, 4,126,227, 68, -/* 0x03f0 */ 59,124, 36,228, 15,131,218, 8, 0, 0,139, 68, 36,212, 72, 99, -/* 0x0400 */ 92, 36,200, 72,139, 84, 36,216, 68, 33,248,137, 68, 36,184, 72, -/* 0x0410 */ 99,108, 36,184, 72,137,216, 72,193,224, 4, 72, 1,232, 65,129, -/* 0x0420 */ 251,255,255,255, 0, 76,141, 12, 66,119, 26, 76, 57,231, 15,132, -/* 0x0430 */ 150, 8, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, -/* 0x0440 */ 255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15, -/* 0x0450 */ 183,202, 15,175,193, 65, 57,194, 15,131,197, 1, 0, 0, 65,137, -/* 0x0460 */ 195,184, 0, 8, 0, 0, 72,139, 92, 36,216, 41,200, 15,182, 76, -/* 0x0470 */ 36,204,190, 1, 0, 0, 0,193,248, 5,141, 4, 2, 65, 15,182, -/* 0x0480 */ 213,102, 65,137, 1,139, 68, 36,208, 68, 33,248,211,224,185, 8, -/* 0x0490 */ 0, 0, 0, 43, 76, 36,204,211,250, 1,208,105,192, 0, 3, 0, -/* 0x04a0 */ 0,131,124, 36,200, 6,137,192, 76,141,140, 67,108, 14, 0, 0, -/* 0x04b0 */ 15,142,184, 0, 0, 0, 72,139, 84, 36,232, 68,137,248, 68, 41, -/* 0x04c0 */ 240, 15,182, 44, 2, 1,237, 72, 99,214,137,235,129,227, 0, 1, -/* 0x04d0 */ 0, 0, 65,129,251,255,255,255, 0, 72, 99,195, 73,141, 4, 65, -/* 0x04e0 */ 76,141, 4, 80,119, 26, 76, 57,231, 15,132,219, 7, 0, 0, 15, -/* 0x04f0 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x0500 */ 65, 15,183,144, 0, 2, 0, 0, 68,137,216,193,232, 11, 15,183, -/* 0x0510 */ 202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, -/* 0x0520 */ 0, 1,246, 41,200,193,248, 5,133,219,141, 4, 2,102, 65,137, -/* 0x0530 */ 128, 0, 2, 0, 0,116, 33,235, 45, 65, 41,195, 65, 41,194,137, -/* 0x0540 */ 208,102,193,232, 5,141,116, 54, 1,102, 41,194,133,219,102, 65, -/* 0x0550 */ 137,144, 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, 15,142, -/* 0x0560 */ 97,255,255,255,235,120,129,254,255, 0, 0, 0,127,112, 72, 99, -/* 0x0570 */ 198, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57, -/* 0x0580 */ 231, 15,132, 67, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, -/* 0x0590 */ 227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193, -/* 0x05a0 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195, -/* 0x05b0 */ 184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,141, 4, 2,102, -/* 0x05c0 */ 65,137, 0,235,161, 65, 41,195, 65, 41,194,137,208,102,193,232, -/* 0x05d0 */ 5,141,116, 54, 1,102, 41,194,102, 65,137, 16,235,136, 72,139, -/* 0x05e0 */ 76, 36,232, 68,137,248, 65,255,199, 65,137,245, 64,136, 52, 1, -/* 0x05f0 */ 131,124, 36,200, 3,127, 13,199, 68, 36,200, 0, 0, 0, 0,233, -/* 0x0600 */ 166, 6, 0, 0,139, 84, 36,200,139, 68, 36,200,131,234, 3,131, -/* 0x0610 */ 232, 6,131,124, 36,200, 9, 15, 79,208,137, 84, 36,200,233,135, -/* 0x0620 */ 6, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, -/* 0x0630 */ 41,194, 72,139, 68, 36,216, 65,129,251,255,255,255, 0,102, 65, -/* 0x0640 */ 137, 17, 72,141, 52, 88,119, 26, 76, 57,231, 15,132,121, 6, 0, -/* 0x0650 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x0660 */ 9,194, 15,183,150,128, 1, 0, 0, 68,137,216,193,232, 11, 15, -/* 0x0670 */ 183,202, 15,175,193, 65, 57,194,115, 78, 65,137,195,184, 0, 8, -/* 0x0680 */ 0, 0, 76,139, 76, 36,216, 41,200,139, 76, 36,196, 68,137,116, -/* 0x0690 */ 36,196,193,248, 5,141, 4, 2,139, 84, 36,192,137, 76, 36,192, -/* 0x06a0 */ 102,137,134,128, 1, 0, 0, 49,192,131,124, 36,200, 6,137, 84, -/* 0x06b0 */ 36,188, 15,159,192, 73,129,193,100, 6, 0, 0,141, 4, 64,137, -/* 0x06c0 */ 68, 36,200,233, 84, 2, 0, 0, 65, 41,195, 65, 41,194,137,208, -/* 0x06d0 */ 102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137, -/* 0x06e0 */ 150,128, 1, 0, 0,119, 26, 76, 57,231, 15,132,218, 5, 0, 0, -/* 0x06f0 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, -/* 0x0700 */ 194, 15,183,150,152, 1, 0, 0, 68,137,216,193,232, 11, 15,183, -/* 0x0710 */ 202, 15,175,193, 65, 57,194, 15,131,208, 0, 0, 0, 65,184, 0, -/* 0x0720 */ 8, 0, 0, 65,137,195, 72,193,227, 5, 68,137,192, 41,200,193, -/* 0x0730 */ 248, 5,141, 4, 2,102,137,134,152, 1, 0, 0, 72,139, 68, 36, -/* 0x0740 */ 216, 72, 1,216, 65,129,251,255,255,255, 0, 72,141, 52,104,119, -/* 0x0750 */ 26, 76, 57,231, 15,132,112, 5, 0, 0, 15,182, 7, 65,193,226, -/* 0x0760 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,224, 1, -/* 0x0770 */ 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, -/* 0x0780 */ 194,115, 79, 65, 41,200, 65,137,195, 65,193,248, 5, 69,133,255, -/* 0x0790 */ 66,141, 4, 2,102,137,134,224, 1, 0, 0, 15,132, 41, 5, 0, -/* 0x07a0 */ 0, 49,192,131,124, 36,200, 6, 72,139, 92, 36,232, 15,159,192, -/* 0x07b0 */ 141, 68, 0, 9,137, 68, 36,200, 68,137,248, 68, 41,240, 68, 15, -/* 0x07c0 */ 182, 44, 3, 68,137,248, 65,255,199, 68,136, 44, 3,233,216, 4, -/* 0x07d0 */ 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, -/* 0x07e0 */ 194,102,137,150,224, 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, -/* 0x07f0 */ 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255, -/* 0x0800 */ 255,255, 0,102,137,150,152, 1, 0, 0,119, 26, 76, 57,231, 15, -/* 0x0810 */ 132,181, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x0820 */ 72,255,199, 65, 9,194, 15,183,150,176, 1, 0, 0, 68,137,216, -/* 0x0830 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137, -/* 0x0840 */ 195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137, -/* 0x0850 */ 134,176, 1, 0, 0,139, 68, 36,196,233,152, 0, 0, 0, 65, 41, -/* 0x0860 */ 195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251, -/* 0x0870 */ 255,255,255, 0,102,137,150,176, 1, 0, 0,119, 26, 76, 57,231, -/* 0x0880 */ 15,132, 68, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, -/* 0x0890 */ 8, 72,255,199, 65, 9,194, 15,183,150,200, 1, 0, 0, 68,137, -/* 0x08a0 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 29, 65, -/* 0x08b0 */ 137,195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102, -/* 0x08c0 */ 137,134,200, 1, 0, 0,139, 68, 36,192,235, 34, 65, 41,195, 65, -/* 0x08d0 */ 41,194,137,208,102,193,232, 5,102, 41,194,139, 68, 36,188,102, -/* 0x08e0 */ 137,150,200, 1, 0, 0,139, 84, 36,192,137, 84, 36,188,139, 76, -/* 0x08f0 */ 36,196,137, 76, 36,192, 68,137,116, 36,196, 65,137,198, 49,192, -/* 0x0900 */ 131,124, 36,200, 6, 76,139, 76, 36,216, 15,159,192, 73,129,193, -/* 0x0910 */ 104, 10, 0, 0,141, 68, 64, 8,137, 68, 36,200, 65,129,251,255, -/* 0x0920 */ 255,255, 0,119, 26, 76, 57,231, 15,132,156, 3, 0, 0, 15,182, -/* 0x0930 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, -/* 0x0940 */ 15,183, 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, -/* 0x0950 */ 57,194,115, 39, 65,137,195,184, 0, 8, 0, 0, 69, 49,237, 41, -/* 0x0960 */ 200,193,248, 5,141, 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, -/* 0x0970 */ 72,193,224, 4, 77,141, 68, 1, 4,235,120, 65, 41,195, 65, 41, -/* 0x0980 */ 194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, -/* 0x0990 */ 0,102, 65,137, 17,119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, -/* 0x09a0 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, -/* 0x09b0 */ 194, 65, 15,183, 81, 2, 68,137,216,193,232, 11, 15,183,202, 15, -/* 0x09c0 */ 175,193, 65, 57,194,115, 52, 65,137,195,184, 0, 8, 0, 0, 65, -/* 0x09d0 */ 189, 8, 0, 0, 0, 41,200,193,248, 5,141, 4, 2,102, 65,137, -/* 0x09e0 */ 65, 2, 72, 99, 68, 36,184, 72,193,224, 4, 77,141,132, 1, 4, -/* 0x09f0 */ 1, 0, 0, 65,185, 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41, -/* 0x0a00 */ 194,137,208,102,193,232, 5, 77,141,129, 4, 2, 0, 0, 65,189, -/* 0x0a10 */ 16, 0, 0, 0,102, 41,194,102, 65,137, 81, 2, 65,185, 8, 0, -/* 0x0a20 */ 0, 0, 68,137,203,189, 1, 0, 0, 0, 72, 99,197, 65,129,251, -/* 0x0a30 */ 255,255,255, 0, 73,141, 52, 64,119, 26, 76, 57,231, 15,132,135, -/* 0x0a40 */ 2, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x0a50 */ 199, 65, 9,194, 15,183, 14, 68,137,216,193,232, 11, 15,183,209, -/* 0x0a60 */ 15,175,194, 65, 57,194,115, 23, 65,137,195,184, 0, 8, 0, 0, -/* 0x0a70 */ 1,237, 41,208,193,248, 5,141, 4, 1,102,137, 6,235, 22, 65, -/* 0x0a80 */ 41,195, 65, 41,194,137,200,102,193,232, 5,141,108, 45, 1,102, -/* 0x0a90 */ 41,193,102,137, 14,255,203,117,145,184, 1, 0, 0, 0, 68,137, -/* 0x0aa0 */ 201,211,224, 41,197, 68, 1,237,131,124, 36,200, 3, 15,143,194, -/* 0x0ab0 */ 1, 0, 0,131, 68, 36,200, 7,184, 3, 0, 0, 0,131,253, 4, -/* 0x0ac0 */ 15, 76,197, 72,139, 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, -/* 0x0ad0 */ 72,193,224, 7, 76,141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, -/* 0x0ae0 */ 0, 73, 99,192, 65,129,251,255,255,255, 0, 73,141, 52, 65,119, -/* 0x0af0 */ 26, 76, 57,231, 15,132,208, 1, 0, 0, 15,182, 7, 65,193,226, -/* 0x0b00 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 22, 68,137, -/* 0x0b10 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65, -/* 0x0b20 */ 137,195,184, 0, 8, 0, 0, 69, 1,192, 41,200,193,248, 5,141, -/* 0x0b30 */ 4, 2,102,137, 6,235, 23, 65, 41,195, 65, 41,194,137,208,102, -/* 0x0b40 */ 193,232, 5, 71,141, 68, 0, 1,102, 41,194,102,137, 22,255,203, -/* 0x0b50 */ 117,143, 65,131,232, 64, 65,131,248, 3, 69,137,198, 15,142, 13, -/* 0x0b60 */ 1, 0, 0, 65,131,230, 1, 68,137,192,209,248, 65,131,206, 2, -/* 0x0b70 */ 65,131,248, 13,141,112,255,127, 35,137,241, 72,139, 92, 36,216, -/* 0x0b80 */ 73, 99,192, 65,211,230, 72, 1,192, 68,137,242, 72,141, 20, 83, -/* 0x0b90 */ 72, 41,194, 76,141,138, 94, 5, 0, 0,235, 81,141,112,251, 65, -/* 0x0ba0 */ 129,251,255,255,255, 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, -/* 0x0bb0 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x0bc0 */ 9,194, 65,209,235, 69, 1,246, 69, 57,218,114, 7, 69, 41,218, -/* 0x0bd0 */ 65,131,206, 1,255,206,117,199, 76,139, 76, 36,216, 65,193,230, -/* 0x0be0 */ 4,190, 4, 0, 0, 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, -/* 0x0bf0 */ 0, 0, 0,187, 1, 0, 0, 0, 72, 99,195, 65,129,251,255,255, -/* 0x0c00 */ 255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132,185, 0, 0, -/* 0x0c10 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x0c20 */ 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15, -/* 0x0c30 */ 175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1, -/* 0x0c40 */ 219, 41,200,193,248, 5,141, 4, 2,102, 65,137, 0,235, 26, 65, -/* 0x0c50 */ 41,195, 65, 41,194,137,208,102,193,232, 5,141, 92, 27, 1, 69, -/* 0x0c60 */ 9,238,102, 41,194,102, 65,137, 16, 69, 1,237,255,206,117,136, -/* 0x0c70 */ 65,255,198,116, 64,131,197, 2, 69, 57,254,119, 77, 72,139, 84, -/* 0x0c80 */ 36,232, 68,137,248, 68, 41,240, 68, 15,182, 44, 2, 68,137,248, -/* 0x0c90 */ 65,255,199,255,205, 68,136, 44, 2, 15,149,194, 49,192, 68, 59, -/* 0x0ca0 */ 124, 36,228, 15,146,192,133,194,117,211, 68, 59,124, 36,228, 15, -/* 0x0cb0 */ 130, 69,247,255,255, 65,129,251,255,255,255, 0,119, 22, 76, 57, -/* 0x0cc0 */ 231,184, 1, 0, 0, 0,116, 35,235, 7,184, 1, 0, 0, 0,235, -/* 0x0cd0 */ 26, 72,255,199,137,248, 43, 68, 36,248, 72,139, 76, 36,240, 72, -/* 0x0ce0 */ 139, 92, 36, 56,137, 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, -/* 0x0cf0 */ 93, 65, 94, 65, 95, 65, 87, 72,141, 71, 4, 69, 49,255, 65, 86, -/* 0x0d00 */ 65,190, 1, 0, 0, 0, 65, 85, 69, 49,237, 65, 84, 85, 83, 72, -/* 0x0d10 */ 137, 76, 36,240, 72,137, 68, 36,216,184, 1, 0, 0, 0, 72,137, -/* 0x0d20 */ 116, 36,248, 76,137, 68, 36,232,137,195, 68,137, 76, 36,228, 15, -/* 0x0d30 */ 182, 79, 2,211,227,137,217, 72,139, 92, 36, 56,255,201,137, 76, -/* 0x0d40 */ 36,212, 15,182, 79, 1,211,224, 72,139, 76, 36,240,255,200,137, -/* 0x0d50 */ 68, 36,208, 15,182, 7,199, 1, 0, 0, 0, 0,199, 68, 36,200, -/* 0x0d60 */ 0, 0, 0, 0,199, 68, 36,196, 1, 0, 0, 0,199, 68, 36,192, -/* 0x0d70 */ 1, 0, 0, 0,199, 68, 36,188, 1, 0, 0, 0,199, 3, 0, 0, -/* 0x0d80 */ 0, 0,137, 68, 36,204, 15,182, 79, 1, 1,193,184, 0, 3, 0, -/* 0x0d90 */ 0,211,224, 49,201,141,184, 54, 7, 0, 0, 65, 57,255,115, 19, -/* 0x0da0 */ 72,139, 92, 36,216,137,200,255,193, 57,249,102,199, 4, 67, 0, -/* 0x0db0 */ 4,235,235, 72,139,124, 36,248,137,208, 69, 49,210, 65,131,203, -/* 0x0dc0 */ 255, 49,210, 73,137,252, 73, 1,196, 76, 57,231, 15,132,239, 8, -/* 0x0dd0 */ 0, 0, 15,182, 7, 65,193,226, 8,255,194, 72,255,199, 65, 9, -/* 0x0de0 */ 194,131,250, 4,126,227, 68, 59,124, 36,228, 15,131,218, 8, 0, -/* 0x0df0 */ 0,139, 68, 36,212, 72, 99, 92, 36,200, 72,139, 84, 36,216, 68, -/* 0x0e00 */ 33,248,137, 68, 36,184, 72, 99,108, 36,184, 72,137,216, 72,193, -/* 0x0e10 */ 224, 4, 72, 1,232, 65,129,251,255,255,255, 0, 76,141, 12, 66, -/* 0x0e20 */ 119, 26, 76, 57,231, 15,132,150, 8, 0, 0, 15,182, 7, 65,193, -/* 0x0e30 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, -/* 0x0e40 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15, -/* 0x0e50 */ 131,197, 1, 0, 0, 65,137,195,184, 0, 8, 0, 0, 72,139, 92, -/* 0x0e60 */ 36,216, 41,200, 15,182, 76, 36,204,190, 1, 0, 0, 0,193,248, -/* 0x0e70 */ 5,141, 4, 2, 65, 15,182,213,102, 65,137, 1,139, 68, 36,208, -/* 0x0e80 */ 68, 33,248,211,224,185, 8, 0, 0, 0, 43, 76, 36,204,211,250, -/* 0x0e90 */ 1,208,105,192, 0, 3, 0, 0,131,124, 36,200, 6,137,192, 76, -/* 0x0ea0 */ 141,140, 67,108, 14, 0, 0, 15,142,184, 0, 0, 0, 72,139, 84, -/* 0x0eb0 */ 36,232, 68,137,248, 68, 41,240, 15,182, 44, 2, 1,237, 72, 99, -/* 0x0ec0 */ 214,137,235,129,227, 0, 1, 0, 0, 65,129,251,255,255,255, 0, -/* 0x0ed0 */ 72, 99,195, 73,141, 4, 65, 76,141, 4, 80,119, 26, 76, 57,231, -/* 0x0ee0 */ 15,132,219, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, -/* 0x0ef0 */ 8, 72,255,199, 65, 9,194, 65, 15,183,144, 0, 2, 0, 0, 68, -/* 0x0f00 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, -/* 0x0f10 */ 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,133, -/* 0x0f20 */ 219,141, 4, 2,102, 65,137,128, 0, 2, 0, 0,116, 33,235, 45, -/* 0x0f30 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1, -/* 0x0f40 */ 102, 41,194,133,219,102, 65,137,144, 0, 2, 0, 0,116, 14,129, -/* 0x0f50 */ 254,255, 0, 0, 0, 15,142, 97,255,255,255,235,120,129,254,255, -/* 0x0f60 */ 0, 0, 0,127,112, 72, 99,198, 65,129,251,255,255,255, 0, 77, -/* 0x0f70 */ 141, 4, 65,119, 26, 76, 57,231, 15,132, 67, 7, 0, 0, 15,182, -/* 0x0f80 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, -/* 0x0f90 */ 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, -/* 0x0fa0 */ 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200, -/* 0x0fb0 */ 193,248, 5,141, 4, 2,102, 65,137, 0,235,161, 65, 41,195, 65, -/* 0x0fc0 */ 41,194,137,208,102,193,232, 5,141,116, 54, 1,102, 41,194,102, -/* 0x0fd0 */ 65,137, 16,235,136, 72,139, 76, 36,232, 68,137,248, 65,255,199, -/* 0x0fe0 */ 65,137,245, 64,136, 52, 1,131,124, 36,200, 3,127, 13,199, 68, -/* 0x0ff0 */ 36,200, 0, 0, 0, 0,233,166, 6, 0, 0,139, 84, 36,200,139, -/* 0x1000 */ 68, 36,200,131,234, 3,131,232, 6,131,124, 36,200, 9, 15, 79, -/* 0x1010 */ 208,137, 84, 36,200,233,135, 6, 0, 0, 65, 41,195, 65, 41,194, -/* 0x1020 */ 137,208,102,193,232, 5,102, 41,194, 72,139, 68, 36,216, 65,129, -/* 0x1030 */ 251,255,255,255, 0,102, 65,137, 17, 72,141, 52, 88,119, 26, 76, -/* 0x1040 */ 57,231, 15,132,121, 6, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x1050 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183,150,128, 1, 0, 0, -/* 0x1060 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, -/* 0x1070 */ 78, 65,137,195,184, 0, 8, 0, 0, 76,139, 76, 36,216, 41,200, -/* 0x1080 */ 139, 76, 36,196, 68,137,116, 36,196,193,248, 5,141, 4, 2,139, -/* 0x1090 */ 84, 36,192,137, 76, 36,192,102,137,134,128, 1, 0, 0, 49,192, -/* 0x10a0 */ 131,124, 36,200, 6,137, 84, 36,188, 15,159,192, 73,129,193,100, -/* 0x10b0 */ 6, 0, 0,141, 4, 64,137, 68, 36,200,233, 84, 2, 0, 0, 65, -/* 0x10c0 */ 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129, -/* 0x10d0 */ 251,255,255,255, 0,102,137,150,128, 1, 0, 0,119, 26, 76, 57, -/* 0x10e0 */ 231, 15,132,218, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, -/* 0x10f0 */ 227, 8, 72,255,199, 65, 9,194, 15,183,150,152, 1, 0, 0, 68, -/* 0x1100 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131, -/* 0x1110 */ 208, 0, 0, 0, 65,184, 0, 8, 0, 0, 65,137,195, 72,193,227, -/* 0x1120 */ 5, 68,137,192, 41,200,193,248, 5,141, 4, 2,102,137,134,152, -/* 0x1130 */ 1, 0, 0, 72,139, 68, 36,216, 72, 1,216, 65,129,251,255,255, -/* 0x1140 */ 255, 0, 72,141, 52,104,119, 26, 76, 57,231, 15,132,112, 5, 0, -/* 0x1150 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x1160 */ 9,194, 15,183,150,224, 1, 0, 0, 68,137,216,193,232, 11, 15, -/* 0x1170 */ 183,202, 15,175,193, 65, 57,194,115, 79, 65, 41,200, 65,137,195, -/* 0x1180 */ 65,193,248, 5, 69,133,255, 66,141, 4, 2,102,137,134,224, 1, -/* 0x1190 */ 0, 0, 15,132, 41, 5, 0, 0, 49,192,131,124, 36,200, 6, 72, -/* 0x11a0 */ 139, 92, 36,232, 15,159,192,141, 68, 0, 9,137, 68, 36,200, 68, -/* 0x11b0 */ 137,248, 68, 41,240, 68, 15,182, 44, 3, 68,137,248, 65,255,199, -/* 0x11c0 */ 68,136, 44, 3,233,216, 4, 0, 0, 65, 41,195, 65, 41,194,137, -/* 0x11d0 */ 208,102,193,232, 5,102, 41,194,102,137,150,224, 1, 0, 0,233, -/* 0x11e0 */ 17, 1, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, -/* 0x11f0 */ 102, 41,194, 65,129,251,255,255,255, 0,102,137,150,152, 1, 0, -/* 0x1200 */ 0,119, 26, 76, 57,231, 15,132,181, 4, 0, 0, 15,182, 7, 65, -/* 0x1210 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150, -/* 0x1220 */ 176, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x1230 */ 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 41,200,193, -/* 0x1240 */ 248, 5,141, 4, 2,102,137,134,176, 1, 0, 0,139, 68, 36,196, -/* 0x1250 */ 233,152, 0, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, -/* 0x1260 */ 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150,176, 1, -/* 0x1270 */ 0, 0,119, 26, 76, 57,231, 15,132, 68, 4, 0, 0, 15,182, 7, -/* 0x1280 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, -/* 0x1290 */ 150,200, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175, -/* 0x12a0 */ 193, 65, 57,194,115, 29, 65,137,195,184, 0, 8, 0, 0, 41,200, -/* 0x12b0 */ 193,248, 5,141, 4, 2,102,137,134,200, 1, 0, 0,139, 68, 36, -/* 0x12c0 */ 192,235, 34, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, -/* 0x12d0 */ 41,194,139, 68, 36,188,102,137,150,200, 1, 0, 0,139, 84, 36, -/* 0x12e0 */ 192,137, 84, 36,188,139, 76, 36,196,137, 76, 36,192, 68,137,116, -/* 0x12f0 */ 36,196, 65,137,198, 49,192,131,124, 36,200, 6, 76,139, 76, 36, -/* 0x1300 */ 216, 15,159,192, 73,129,193,104, 10, 0, 0,141, 68, 64, 8,137, -/* 0x1310 */ 68, 36,200, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15, -/* 0x1320 */ 132,156, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x1330 */ 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, -/* 0x1340 */ 15,183,202, 15,175,193, 65, 57,194,115, 39, 65,137,195,184, 0, -/* 0x1350 */ 8, 0, 0, 69, 49,237, 41,200,193,248, 5,141, 4, 2,102, 65, -/* 0x1360 */ 137, 1, 72, 99, 68, 36,184, 72,193,224, 4, 77,141, 68, 1, 4, -/* 0x1370 */ 235,120, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, -/* 0x1380 */ 194, 65,129,251,255,255,255, 0,102, 65,137, 17,119, 26, 76, 57, -/* 0x1390 */ 231, 15,132, 42, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, -/* 0x13a0 */ 227, 8, 72,255,199, 65, 9,194, 65, 15,183, 81, 2, 68,137,216, -/* 0x13b0 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 52, 65,137, -/* 0x13c0 */ 195,184, 0, 8, 0, 0, 65,189, 8, 0, 0, 0, 41,200,193,248, -/* 0x13d0 */ 5,141, 4, 2,102, 65,137, 65, 2, 72, 99, 68, 36,184, 72,193, -/* 0x13e0 */ 224, 4, 77,141,132, 1, 4, 1, 0, 0, 65,185, 3, 0, 0, 0, -/* 0x13f0 */ 235, 39, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, 77,141, -/* 0x1400 */ 129, 4, 2, 0, 0, 65,189, 16, 0, 0, 0,102, 41,194,102, 65, -/* 0x1410 */ 137, 81, 2, 65,185, 8, 0, 0, 0, 68,137,203,189, 1, 0, 0, -/* 0x1420 */ 0, 72, 99,197, 65,129,251,255,255,255, 0, 73,141, 52, 64,119, -/* 0x1430 */ 26, 76, 57,231, 15,132,135, 2, 0, 0, 15,182, 7, 65,193,226, -/* 0x1440 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 14, 68,137, -/* 0x1450 */ 216,193,232, 11, 15,183,209, 15,175,194, 65, 57,194,115, 23, 65, -/* 0x1460 */ 137,195,184, 0, 8, 0, 0, 1,237, 41,208,193,248, 5,141, 4, -/* 0x1470 */ 1,102,137, 6,235, 22, 65, 41,195, 65, 41,194,137,200,102,193, -/* 0x1480 */ 232, 5,141,108, 45, 1,102, 41,193,102,137, 14,255,203,117,145, -/* 0x1490 */ 184, 1, 0, 0, 0, 68,137,201,211,224, 41,197, 68, 1,237,131, -/* 0x14a0 */ 124, 36,200, 3, 15,143,194, 1, 0, 0,131, 68, 36,200, 7,184, -/* 0x14b0 */ 3, 0, 0, 0,131,253, 4, 15, 76,197, 72,139, 92, 36,216, 65, -/* 0x14c0 */ 184, 1, 0, 0, 0, 72,152, 72,193,224, 7, 76,141,140, 3, 96, -/* 0x14d0 */ 3, 0, 0,187, 6, 0, 0, 0, 73, 99,192, 65,129,251,255,255, -/* 0x14e0 */ 255, 0, 73,141, 52, 65,119, 26, 76, 57,231, 15,132,208, 1, 0, -/* 0x14f0 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x1500 */ 9,194, 15,183, 22, 68,137,216,193,232, 11, 15,183,202, 15,175, -/* 0x1510 */ 193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 69, 1, -/* 0x1520 */ 192, 41,200,193,248, 5,141, 4, 2,102,137, 6,235, 23, 65, 41, -/* 0x1530 */ 195, 65, 41,194,137,208,102,193,232, 5, 71,141, 68, 0, 1,102, -/* 0x1540 */ 41,194,102,137, 22,255,203,117,143, 65,131,232, 64, 65,131,248, -/* 0x1550 */ 3, 69,137,198, 15,142, 13, 1, 0, 0, 65,131,230, 1, 68,137, -/* 0x1560 */ 192,209,248, 65,131,206, 2, 65,131,248, 13,141,112,255,127, 35, -/* 0x1570 */ 137,241, 72,139, 92, 36,216, 73, 99,192, 65,211,230, 72, 1,192, -/* 0x1580 */ 68,137,242, 72,141, 20, 83, 72, 41,194, 76,141,138, 94, 5, 0, -/* 0x1590 */ 0,235, 81,141,112,251, 65,129,251,255,255,255, 0,119, 26, 76, -/* 0x15a0 */ 57,231, 15,132, 25, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x15b0 */ 193,227, 8, 72,255,199, 65, 9,194, 65,209,235, 69, 1,246, 69, -/* 0x15c0 */ 57,218,114, 7, 69, 41,218, 65,131,206, 1,255,206,117,199, 76, -/* 0x15d0 */ 139, 76, 36,216, 65,193,230, 4,190, 4, 0, 0, 0, 73,129,193, -/* 0x15e0 */ 68, 6, 0, 0, 65,189, 1, 0, 0, 0,187, 1, 0, 0, 0, 72, -/* 0x15f0 */ 99,195, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, -/* 0x1600 */ 57,231, 15,132,185, 0, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x1610 */ 193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216, -/* 0x1620 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137, -/* 0x1630 */ 195,184, 0, 8, 0, 0, 1,219, 41,200,193,248, 5,141, 4, 2, -/* 0x1640 */ 102, 65,137, 0,235, 26, 65, 41,195, 65, 41,194,137,208,102,193, -/* 0x1650 */ 232, 5,141, 92, 27, 1, 69, 9,238,102, 41,194,102, 65,137, 16, -/* 0x1660 */ 69, 1,237,255,206,117,136, 65,255,198,116, 64,131,197, 2, 69, -/* 0x1670 */ 57,254,119, 77, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 68, -/* 0x1680 */ 15,182, 44, 2, 68,137,248, 65,255,199,255,205, 68,136, 44, 2, -/* 0x1690 */ 15,149,194, 49,192, 68, 59,124, 36,228, 15,146,192,133,194,117, -/* 0x16a0 */ 211, 68, 59,124, 36,228, 15,130, 69,247,255,255, 65,129,251,255, -/* 0x16b0 */ 255,255, 0,119, 22, 76, 57,231,184, 1, 0, 0, 0,116, 35,235, -/* 0x16c0 */ 7,184, 1, 0, 0, 0,235, 26, 72,255,199,137,248, 43, 68, 36, -/* 0x16d0 */ 248, 72,139, 76, 36,240, 72,139, 92, 36, 56,137, 1, 68,137, 59, -/* 0x16e0 */ 49,192, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, 72,139,117,248, -/* 0x16f0 */ 72,139,125, 16,139, 75, 4, 72, 1,206,139, 19, 72, 1,215,201, -/* 0x1700 */ 89, 72,137,240, 72, 41,200, 90, 72, 41,215, 89,137, 57, 91, 93, -/* 0x1710 */ 195,104, 30, 0, 0, 0, 90,232, 0, 0, 0, 0, 80, 82, 79, 84, -/* 0x1720 */ 95, 69, 88, 69, 67,124, 80, 82, 79, 84, 95, 87, 82, 73, 84, 69, -/* 0x1730 */ 32,102, 97,105,108,101,100, 46, 10, 0, 94,106, 2, 95,106, 1, -/* 0x1740 */ 88, 15, 5,106,127, 95,106, 60, 88, 15, 5, 95, 41,246,106, 2, -/* 0x1750 */ 88, 15, 5, 80, 72,141,183, 15, 0, 0, 0,173,131,224,254, 65, -/* 0x1760 */ 137,198, 86, 91,173,146, 72, 1,218,173, 65,149,173, 73, 1,245, -/* 0x1770 */ 72,141,141,245,255,255,255, 68,139, 57, 76, 41,249, 69, 41,247, -/* 0x1780 */ 95, 72, 41,202, 82, 80, 73, 41,205, 87, 81, 77, 41,201, 65,131, -/* 0x1790 */ 200,255,106, 34, 65, 90, 82, 94,106, 3, 90, 41,255,106, 9, 88, -/* 0x17a0 */ 15, 5, 73, 1,198, 72,137, 68, 36, 16, 72,151, 68,139, 68, 36, -/* 0x17b0 */ 8,106, 18, 65, 90, 76,137,238,106, 9, 88, 15, 5, 72,139, 84, -/* 0x17c0 */ 36, 24, 89, 81, 72, 1,194, 72, 41,200, 73,137,196, 72, 1,232, -/* 0x17d0 */ 80, 72, 37, 0,240,255,255, 80, 72, 41,194, 82, 72,137,222,173, -/* 0x17e0 */ 80, 72,137,225, 74,141, 20, 35, 73,137,213,173, 80,173, 65,144, -/* 0x17f0 */ 72,137,247, 94,255,213, 89, 94, 95, 93,106, 5, 90,106, 10, 88, -/* 0x1800 */ 15, 5, 65,255,229, 93,232, 64,255,255,255, 47,112,114,111, 99, -/* 0x1810 */ 47,115,101,108,102, 47,101,120,101, 0, 0, 0, 0, 0,102,105, -/* 0x1820 */ 108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45, -/* 0x1830 */ 120, 56, 54, 45, 54, 52, 10, 10, 83,101, 99,116,105,111,110,115, -/* 0x1840 */ 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, -/* 0x1850 */ 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, -/* 0x1860 */ 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1870 */ 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1880 */ 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, -/* 0x1890 */ 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, -/* 0x18a0 */ 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x18b0 */ 48,102, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x18c0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x18d0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, -/* 0x18e0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x18f0 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x1900 */ 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, -/* 0x1910 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, 54, 32, 32, 48, 48, -/* 0x1920 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1930 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1940 */ 32, 32, 48, 48, 48, 48, 48, 48, 52,102, 32, 32, 50, 42, 42, 48, -/* 0x1950 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x1960 */ 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, -/* 0x1970 */ 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 98, 55, 32, -/* 0x1980 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1990 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x19a0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 98, 53, 32, 32, 50, -/* 0x19b0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x19c0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x19d0 */ 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x19e0 */ 32, 48, 48, 48, 48, 48, 48, 57,101, 32, 32, 48, 48, 48, 48, 48, -/* 0x19f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1a00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1a10 */ 48, 48, 48, 48, 49, 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1a20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x1a30 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, -/* 0x1a40 */ 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1a50 */ 48, 57, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a60 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a70 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 48, -/* 0x1a80 */ 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x1a90 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x1aa0 */ 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, -/* 0x1ab0 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, 52, 32, 32, 48, -/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1ad0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ae0 */ 48, 32, 32, 48, 48, 48, 48, 48, 50, 57, 97, 32, 32, 50, 42, 42, -/* 0x1af0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x1b00 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, -/* 0x1b10 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, -/* 0x1b20 */ 48, 48, 48, 48, 57,102, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1b50 */ 48, 48, 50,102,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1b60 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1b70 */ 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, -/* 0x1b80 */ 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48, 48, 48, 48, -/* 0x1b90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1ba0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1bb0 */ 48, 48, 48, 48, 48, 99,102, 53, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1bc0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x1bd0 */ 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, -/* 0x1be0 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 52, 32, 32, 48, -/* 0x1bf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1c00 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c10 */ 48, 32, 32, 48, 48, 48, 48, 49, 54,101, 99, 32, 32, 50, 42, 42, -/* 0x1c20 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x1c30 */ 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, -/* 0x1c40 */ 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c50 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c60 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c70 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 48, 48, 32, 32, -/* 0x1c80 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1c90 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 69, 76, 70, -/* 0x1ca0 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1cb0 */ 48, 51, 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1cc0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1cd0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 48, -/* 0x1ce0 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x1cf0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x1d00 */ 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, -/* 0x1d10 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,101, 52, 32, 32, 48, -/* 0x1d20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1d30 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d40 */ 48, 32, 32, 48, 48, 48, 48, 49, 55, 51, 97, 32, 32, 50, 42, 42, -/* 0x1d50 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x1d60 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, -/* 0x1d70 */ 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, -/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x1d90 */ 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, -/* 0x1da0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, -/* 0x1db0 */ 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1dc0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1dd0 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, -/* 0x1de0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, -/* 0x1df0 */ 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1e10 */ 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, -/* 0x1e30 */ 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e40 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, -/* 0x1e50 */ 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e60 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, -/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1e80 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, -/* 0x1e90 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ea0 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, -/* 0x1eb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x1ec0 */ 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, -/* 0x1ed0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, -/* 0x1ee0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ef0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, -/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f10 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1f30 */ 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, -/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1f60 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, -/* 0x1f70 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f80 */ 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, -/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1fa0 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x1fb0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fc0 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, -/* 0x1fd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1fe0 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x1ff0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2000 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2010 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x2020 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, -/* 0x2030 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2040 */ 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2050 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, -/* 0x2060 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, -/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97, -/* 0x2080 */ 114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2090 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, -/* 0x20a0 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20b0 */ 48, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, -/* 0x20c0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x20d0 */ 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, -/* 0x20e0 */ 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x20f0 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2100 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2110 */ 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 88, 56, 54, 95, 54, -/* 0x2120 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, -/* 0x2130 */ 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2140 */ 48, 48, 48, 48, 99, 55, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x2150 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x2160 */ 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x2170 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x2180 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x2190 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 97, -/* 0x21a0 */ 101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, -/* 0x21b0 */ 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, -/* 0x21c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, -/* 0x21d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, -/* 0x21e0 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, -/* 0x21f0 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102, -/* 0x2200 */ 102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, -/* 0x2210 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x2220 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, -/* 0x2230 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2240 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2250 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2260 */ 48, 48, 48, 48, 48, 48, 48, 57, 53, 32, 82, 95, 88, 56, 54, 95, -/* 0x2270 */ 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, -/* 0x2280 */ 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2290 */ 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x22a0 */ 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, -/* 0x22b0 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, -/* 0x22c0 */ 73, 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102, -/* 0x22d0 */ 102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x22e0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x22f0 */ 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x2300 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x2310 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x2320 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, -/* 0x2330 */ 97, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, -/* 0x2340 */ 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, -/* 0x2350 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, -/* 0x2360 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 50, -/* 0x2370 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, -/* 0x2380 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102, -/* 0x2390 */ 102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, -/* 0x23a0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x23b0 */ 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, -/* 0x23c0 */ 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, -/* 0x23d0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x23e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x23f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, -/* 0x2400 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, -/* 0x2410 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, -/* 0x2420 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 48, 10, 10, -/* 0x2430 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x2440 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 89, -/* 0x2450 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, -/* 0x2460 */ 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2470 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x2480 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 56, 32, 82, 95, 88, -/* 0x2490 */ 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, -/* 0x24a0 */ 76, 70, 77, 65, 73, 78, 90, 43, 48,120,102,102,102,102,102,102, -/* 0x24b0 */ 102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, -/* 0x24c0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x24d0 */ 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, -/* 0x24e0 */ 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x24f0 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2500 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2510 */ 48, 48, 48, 48, 48, 48,101, 48, 32, 82, 95, 88, 56, 54, 95, 54, -/* 0x2520 */ 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, -/* 0x2530 */ 70, 79, 10 +/* 0x00b0 */ 243,195,252, 65, 91, 65,128,248, 8, 15,133,174, 0, 0, 0,235, +/* 0x00c0 */ 8, 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10,139, +/* 0x00d0 */ 30, 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1,235, 7, +/* 0x00e0 */ 255,200, 65,255,211, 17,192, 65,255,211, 17,192, 1,219,117, 10, +/* 0x00f0 */ 139, 30, 72,131,238,252, 17,219,138, 22,115,228,131,232, 3,114, +/* 0x0100 */ 29,193,224, 8, 15,182,210, 9,208, 72,255,198,131,240,255, 15, +/* 0x0110 */ 132, 0, 0, 0, 0,209,248, 72, 99,232,114, 56,235, 14, 1,219, +/* 0x0120 */ 117, 8,139, 30, 72,131,238,252, 17,219,114, 40,255,193, 1,219, +/* 0x0130 */ 117, 8,139, 30, 72,131,238,252, 17,219,114, 24, 65,255,211, 17, +/* 0x0140 */ 201, 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115,237,131, +/* 0x0150 */ 193, 2,235, 5, 65,255,211, 17,201, 72,129,253, 0,251,255,255, +/* 0x0160 */ 131,209, 2,232, 0, 0, 0, 0,233, 92,255,255,255, 87, 94, 65, +/* 0x0170 */ 128,248, 5, 15,133,149, 0, 0, 0,235, 8, 72,255,198,136, 23, +/* 0x0180 */ 72,255,199,138, 22, 1,219,117, 10,139, 30, 72,131,238,252, 17, +/* 0x0190 */ 219,138, 22,114,230,141, 65, 1,235, 7,255,200, 65,255,211, 17, +/* 0x01a0 */ 192, 65,255,211, 17,192, 1,219,117, 10,139, 30, 72,131,238,252, +/* 0x01b0 */ 17,219,138, 22,115,228,131,232, 3,114, 27,193,224, 8, 15,182, +/* 0x01c0 */ 210, 9,208, 72,255,198,131,240,255, 15,132, 0, 0, 0, 0,209, +/* 0x01d0 */ 248, 72, 99,232,235, 3, 65,255,211, 17,201, 65,255,211, 17,201, +/* 0x01e0 */ 117, 24,255,193, 65,255,211, 17,201, 1,219,117, 8,139, 30, 72, +/* 0x01f0 */ 131,238,252, 17,219,115,237,131,193, 2, 72,129,253, 0,251,255, +/* 0x0200 */ 255,131,209, 1,232, 0, 0, 0, 0,233,117,255,255,255, 87, 94, +/* 0x0210 */ 65,128,248, 2, 15,133,135, 0, 0, 0,235, 8, 72,255,198,136, +/* 0x0220 */ 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, 72,131,238,252, +/* 0x0230 */ 17,219,138, 22,114,230,141, 65, 1, 65,255,211, 17,192, 1,219, +/* 0x0240 */ 117, 10,139, 30, 72,131,238,252, 17,219,138, 22,115,235,131,232, +/* 0x0250 */ 3,114, 23,193,224, 8, 15,182,210, 9,208, 72,255,198,131,240, +/* 0x0260 */ 255, 15,132, 0, 0, 0, 0, 72, 99,232,141, 65, 1, 65,255,211, +/* 0x0270 */ 17,201, 65,255,211, 17,201,117, 24,137,193,131,192, 2, 65,255, +/* 0x0280 */ 211, 17,201, 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115, +/* 0x0290 */ 237, 72,129,253, 0,243,255,255, 17,193,232, 0, 0, 0, 0,235, +/* 0x02a0 */ 131, 87, 94, 65,128,248, 14, 15,133, 0, 0, 0, 0, 85, 72,137, +/* 0x02b0 */ 229, 68,139, 9, 73,137,208, 72,137,242, 72,141,119, 2, 86,138, +/* 0x02c0 */ 7,255,202,136,193, 36, 7,192,233, 3, 72,199,195, 0,253,255, +/* 0x02d0 */ 255, 72,211,227,136,193, 72,141,156, 92,136,241,255,255, 72,131, +/* 0x02e0 */ 227,192,106, 0, 72, 57,220,117,249, 83, 72,141,123, 8,138, 78, +/* 0x02f0 */ 255,255,202,136, 71, 2,136,200,192,233, 4,136, 79, 1, 36, 15, +/* 0x0300 */ 136, 7, 72,141, 79,252, 80, 65, 87, 72,141, 71, 4, 69, 49,255, +/* 0x0310 */ 65, 86, 65,190, 1, 0, 0, 0, 65, 85, 69, 49,237, 65, 84, 85, +/* 0x0320 */ 83, 72,137, 76, 36,240, 72,137, 68, 36,216,184, 1, 0, 0, 0, +/* 0x0330 */ 72,137,116, 36,248, 76,137, 68, 36,232,137,195, 68,137, 76, 36, +/* 0x0340 */ 228, 15,182, 79, 2,211,227,137,217, 72,139, 92, 36, 56,255,201, +/* 0x0350 */ 137, 76, 36,212, 15,182, 79, 1,211,224, 72,139, 76, 36,240,255, +/* 0x0360 */ 200,137, 68, 36,208, 15,182, 7,199, 1, 0, 0, 0, 0,199, 68, +/* 0x0370 */ 36,200, 0, 0, 0, 0,199, 68, 36,196, 1, 0, 0, 0,199, 68, +/* 0x0380 */ 36,192, 1, 0, 0, 0,199, 68, 36,188, 1, 0, 0, 0,199, 3, +/* 0x0390 */ 0, 0, 0, 0,137, 68, 36,204, 15,182, 79, 1, 1,193,184, 0, +/* 0x03a0 */ 3, 0, 0,211,224, 49,201,141,184, 54, 7, 0, 0, 65, 57,255, +/* 0x03b0 */ 115, 19, 72,139, 92, 36,216,137,200,255,193, 57,249,102,199, 4, +/* 0x03c0 */ 67, 0, 4,235,235, 72,139,124, 36,248,137,208, 69, 49,210, 65, +/* 0x03d0 */ 131,203,255, 49,210, 73,137,252, 73, 1,196, 76, 57,231, 15,132, +/* 0x03e0 */ 239, 8, 0, 0, 15,182, 7, 65,193,226, 8,255,194, 72,255,199, +/* 0x03f0 */ 65, 9,194,131,250, 4,126,227, 68, 59,124, 36,228, 15,131,218, +/* 0x0400 */ 8, 0, 0,139, 68, 36,212, 72, 99, 92, 36,200, 72,139, 84, 36, +/* 0x0410 */ 216, 68, 33,248,137, 68, 36,184, 72, 99,108, 36,184, 72,137,216, +/* 0x0420 */ 72,193,224, 4, 72, 1,232, 65,129,251,255,255,255, 0, 76,141, +/* 0x0430 */ 12, 66,119, 26, 76, 57,231, 15,132,150, 8, 0, 0, 15,182, 7, +/* 0x0440 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15, +/* 0x0450 */ 183, 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, +/* 0x0460 */ 194, 15,131,197, 1, 0, 0, 65,137,195,184, 0, 8, 0, 0, 72, +/* 0x0470 */ 139, 92, 36,216, 41,200, 15,182, 76, 36,204,190, 1, 0, 0, 0, +/* 0x0480 */ 193,248, 5,141, 4, 2, 65, 15,182,213,102, 65,137, 1,139, 68, +/* 0x0490 */ 36,208, 68, 33,248,211,224,185, 8, 0, 0, 0, 43, 76, 36,204, +/* 0x04a0 */ 211,250, 1,208,105,192, 0, 3, 0, 0,131,124, 36,200, 6,137, +/* 0x04b0 */ 192, 76,141,140, 67,108, 14, 0, 0, 15,142,184, 0, 0, 0, 72, +/* 0x04c0 */ 139, 84, 36,232, 68,137,248, 68, 41,240, 15,182, 44, 2, 1,237, +/* 0x04d0 */ 72, 99,214,137,235,129,227, 0, 1, 0, 0, 65,129,251,255,255, +/* 0x04e0 */ 255, 0, 72, 99,195, 73,141, 4, 65, 76,141, 4, 80,119, 26, 76, +/* 0x04f0 */ 57,231, 15,132,219, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x0500 */ 193,227, 8, 72,255,199, 65, 9,194, 65, 15,183,144, 0, 2, 0, +/* 0x0510 */ 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, +/* 0x0520 */ 115, 32, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, +/* 0x0530 */ 5,133,219,141, 4, 2,102, 65,137,128, 0, 2, 0, 0,116, 33, +/* 0x0540 */ 235, 45, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141,116, +/* 0x0550 */ 54, 1,102, 41,194,133,219,102, 65,137,144, 0, 2, 0, 0,116, +/* 0x0560 */ 14,129,254,255, 0, 0, 0, 15,142, 97,255,255,255,235,120,129, +/* 0x0570 */ 254,255, 0, 0, 0,127,112, 72, 99,198, 65,129,251,255,255,255, +/* 0x0580 */ 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132, 67, 7, 0, 0, +/* 0x0590 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, +/* 0x05a0 */ 194, 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15,175, +/* 0x05b0 */ 193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1,246, +/* 0x05c0 */ 41,200,193,248, 5,141, 4, 2,102, 65,137, 0,235,161, 65, 41, +/* 0x05d0 */ 195, 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1,102, 41, +/* 0x05e0 */ 194,102, 65,137, 16,235,136, 72,139, 76, 36,232, 68,137,248, 65, +/* 0x05f0 */ 255,199, 65,137,245, 64,136, 52, 1,131,124, 36,200, 3,127, 13, +/* 0x0600 */ 199, 68, 36,200, 0, 0, 0, 0,233,166, 6, 0, 0,139, 84, 36, +/* 0x0610 */ 200,139, 68, 36,200,131,234, 3,131,232, 6,131,124, 36,200, 9, +/* 0x0620 */ 15, 79,208,137, 84, 36,200,233,135, 6, 0, 0, 65, 41,195, 65, +/* 0x0630 */ 41,194,137,208,102,193,232, 5,102, 41,194, 72,139, 68, 36,216, +/* 0x0640 */ 65,129,251,255,255,255, 0,102, 65,137, 17, 72,141, 52, 88,119, +/* 0x0650 */ 26, 76, 57,231, 15,132,121, 6, 0, 0, 15,182, 7, 65,193,226, +/* 0x0660 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,128, 1, +/* 0x0670 */ 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, +/* 0x0680 */ 194,115, 78, 65,137,195,184, 0, 8, 0, 0, 76,139, 76, 36,216, +/* 0x0690 */ 41,200,139, 76, 36,196, 68,137,116, 36,196,193,248, 5,141, 4, +/* 0x06a0 */ 2,139, 84, 36,192,137, 76, 36,192,102,137,134,128, 1, 0, 0, +/* 0x06b0 */ 49,192,131,124, 36,200, 6,137, 84, 36,188, 15,159,192, 73,129, +/* 0x06c0 */ 193,100, 6, 0, 0,141, 4, 64,137, 68, 36,200,233, 84, 2, 0, +/* 0x06d0 */ 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, +/* 0x06e0 */ 65,129,251,255,255,255, 0,102,137,150,128, 1, 0, 0,119, 26, +/* 0x06f0 */ 76, 57,231, 15,132,218, 5, 0, 0, 15,182, 7, 65,193,226, 8, +/* 0x0700 */ 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,152, 1, 0, +/* 0x0710 */ 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, +/* 0x0720 */ 15,131,208, 0, 0, 0, 65,184, 0, 8, 0, 0, 65,137,195, 72, +/* 0x0730 */ 193,227, 5, 68,137,192, 41,200,193,248, 5,141, 4, 2,102,137, +/* 0x0740 */ 134,152, 1, 0, 0, 72,139, 68, 36,216, 72, 1,216, 65,129,251, +/* 0x0750 */ 255,255,255, 0, 72,141, 52,104,119, 26, 76, 57,231, 15,132,112, +/* 0x0760 */ 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, +/* 0x0770 */ 199, 65, 9,194, 15,183,150,224, 1, 0, 0, 68,137,216,193,232, +/* 0x0780 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 79, 65, 41,200, 65, +/* 0x0790 */ 137,195, 65,193,248, 5, 69,133,255, 66,141, 4, 2,102,137,134, +/* 0x07a0 */ 224, 1, 0, 0, 15,132, 41, 5, 0, 0, 49,192,131,124, 36,200, +/* 0x07b0 */ 6, 72,139, 92, 36,232, 15,159,192,141, 68, 0, 9,137, 68, 36, +/* 0x07c0 */ 200, 68,137,248, 68, 41,240, 68, 15,182, 44, 3, 68,137,248, 65, +/* 0x07d0 */ 255,199, 68,136, 44, 3,233,216, 4, 0, 0, 65, 41,195, 65, 41, +/* 0x07e0 */ 194,137,208,102,193,232, 5,102, 41,194,102,137,150,224, 1, 0, +/* 0x07f0 */ 0,233, 17, 1, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193, +/* 0x0800 */ 232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150,152, +/* 0x0810 */ 1, 0, 0,119, 26, 76, 57,231, 15,132,181, 4, 0, 0, 15,182, +/* 0x0820 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, +/* 0x0830 */ 183,150,176, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x0840 */ 175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 41, +/* 0x0850 */ 200,193,248, 5,141, 4, 2,102,137,134,176, 1, 0, 0,139, 68, +/* 0x0860 */ 36,196,233,152, 0, 0, 0, 65, 41,195, 65, 41,194,137,208,102, +/* 0x0870 */ 193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150, +/* 0x0880 */ 176, 1, 0, 0,119, 26, 76, 57,231, 15,132, 68, 4, 0, 0, 15, +/* 0x0890 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, +/* 0x08a0 */ 15,183,150,200, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, +/* 0x08b0 */ 15,175,193, 65, 57,194,115, 29, 65,137,195,184, 0, 8, 0, 0, +/* 0x08c0 */ 41,200,193,248, 5,141, 4, 2,102,137,134,200, 1, 0, 0,139, +/* 0x08d0 */ 68, 36,192,235, 34, 65, 41,195, 65, 41,194,137,208,102,193,232, +/* 0x08e0 */ 5,102, 41,194,139, 68, 36,188,102,137,150,200, 1, 0, 0,139, +/* 0x08f0 */ 84, 36,192,137, 84, 36,188,139, 76, 36,196,137, 76, 36,192, 68, +/* 0x0900 */ 137,116, 36,196, 65,137,198, 49,192,131,124, 36,200, 6, 76,139, +/* 0x0910 */ 76, 36,216, 15,159,192, 73,129,193,104, 10, 0, 0,141, 68, 64, +/* 0x0920 */ 8,137, 68, 36,200, 65,129,251,255,255,255, 0,119, 26, 76, 57, +/* 0x0930 */ 231, 15,132,156, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x0940 */ 227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193, +/* 0x0950 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 39, 65,137,195, +/* 0x0960 */ 184, 0, 8, 0, 0, 69, 49,237, 41,200,193,248, 5,141, 4, 2, +/* 0x0970 */ 102, 65,137, 1, 72, 99, 68, 36,184, 72,193,224, 4, 77,141, 68, +/* 0x0980 */ 1, 4,235,120, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, +/* 0x0990 */ 102, 41,194, 65,129,251,255,255,255, 0,102, 65,137, 17,119, 26, +/* 0x09a0 */ 76, 57,231, 15,132, 42, 3, 0, 0, 15,182, 7, 65,193,226, 8, +/* 0x09b0 */ 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 81, 2, 68, +/* 0x09c0 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 52, +/* 0x09d0 */ 65,137,195,184, 0, 8, 0, 0, 65,189, 8, 0, 0, 0, 41,200, +/* 0x09e0 */ 193,248, 5,141, 4, 2,102, 65,137, 65, 2, 72, 99, 68, 36,184, +/* 0x09f0 */ 72,193,224, 4, 77,141,132, 1, 4, 1, 0, 0, 65,185, 3, 0, +/* 0x0a00 */ 0, 0,235, 39, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, +/* 0x0a10 */ 77,141,129, 4, 2, 0, 0, 65,189, 16, 0, 0, 0,102, 41,194, +/* 0x0a20 */ 102, 65,137, 81, 2, 65,185, 8, 0, 0, 0, 68,137,203,189, 1, +/* 0x0a30 */ 0, 0, 0, 72, 99,197, 65,129,251,255,255,255, 0, 73,141, 52, +/* 0x0a40 */ 64,119, 26, 76, 57,231, 15,132,135, 2, 0, 0, 15,182, 7, 65, +/* 0x0a50 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 14, +/* 0x0a60 */ 68,137,216,193,232, 11, 15,183,209, 15,175,194, 65, 57,194,115, +/* 0x0a70 */ 23, 65,137,195,184, 0, 8, 0, 0, 1,237, 41,208,193,248, 5, +/* 0x0a80 */ 141, 4, 1,102,137, 6,235, 22, 65, 41,195, 65, 41,194,137,200, +/* 0x0a90 */ 102,193,232, 5,141,108, 45, 1,102, 41,193,102,137, 14,255,203, +/* 0x0aa0 */ 117,145,184, 1, 0, 0, 0, 68,137,201,211,224, 41,197, 68, 1, +/* 0x0ab0 */ 237,131,124, 36,200, 3, 15,143,194, 1, 0, 0,131, 68, 36,200, +/* 0x0ac0 */ 7,184, 3, 0, 0, 0,131,253, 4, 15, 76,197, 72,139, 92, 36, +/* 0x0ad0 */ 216, 65,184, 1, 0, 0, 0, 72,152, 72,193,224, 7, 76,141,140, +/* 0x0ae0 */ 3, 96, 3, 0, 0,187, 6, 0, 0, 0, 73, 99,192, 65,129,251, +/* 0x0af0 */ 255,255,255, 0, 73,141, 52, 65,119, 26, 76, 57,231, 15,132,208, +/* 0x0b00 */ 1, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, +/* 0x0b10 */ 199, 65, 9,194, 15,183, 22, 68,137,216,193,232, 11, 15,183,202, +/* 0x0b20 */ 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, +/* 0x0b30 */ 69, 1,192, 41,200,193,248, 5,141, 4, 2,102,137, 6,235, 23, +/* 0x0b40 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5, 71,141, 68, 0, +/* 0x0b50 */ 1,102, 41,194,102,137, 22,255,203,117,143, 65,131,232, 64, 65, +/* 0x0b60 */ 131,248, 3, 69,137,198, 15,142, 13, 1, 0, 0, 65,131,230, 1, +/* 0x0b70 */ 68,137,192,209,248, 65,131,206, 2, 65,131,248, 13,141,112,255, +/* 0x0b80 */ 127, 35,137,241, 72,139, 92, 36,216, 73, 99,192, 65,211,230, 72, +/* 0x0b90 */ 1,192, 68,137,242, 72,141, 20, 83, 72, 41,194, 76,141,138, 94, +/* 0x0ba0 */ 5, 0, 0,235, 81,141,112,251, 65,129,251,255,255,255, 0,119, +/* 0x0bb0 */ 26, 76, 57,231, 15,132, 25, 1, 0, 0, 15,182, 7, 65,193,226, +/* 0x0bc0 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65,209,235, 69, 1, +/* 0x0bd0 */ 246, 69, 57,218,114, 7, 69, 41,218, 65,131,206, 1,255,206,117, +/* 0x0be0 */ 199, 76,139, 76, 36,216, 65,193,230, 4,190, 4, 0, 0, 0, 73, +/* 0x0bf0 */ 129,193, 68, 6, 0, 0, 65,189, 1, 0, 0, 0,187, 1, 0, 0, +/* 0x0c00 */ 0, 72, 99,195, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, +/* 0x0c10 */ 26, 76, 57,231, 15,132,185, 0, 0, 0, 15,182, 7, 65,193,226, +/* 0x0c20 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68, +/* 0x0c30 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, +/* 0x0c40 */ 65,137,195,184, 0, 8, 0, 0, 1,219, 41,200,193,248, 5,141, +/* 0x0c50 */ 4, 2,102, 65,137, 0,235, 26, 65, 41,195, 65, 41,194,137,208, +/* 0x0c60 */ 102,193,232, 5,141, 92, 27, 1, 69, 9,238,102, 41,194,102, 65, +/* 0x0c70 */ 137, 16, 69, 1,237,255,206,117,136, 65,255,198,116, 64,131,197, +/* 0x0c80 */ 2, 69, 57,254,119, 77, 72,139, 84, 36,232, 68,137,248, 68, 41, +/* 0x0c90 */ 240, 68, 15,182, 44, 2, 68,137,248, 65,255,199,255,205, 68,136, +/* 0x0ca0 */ 44, 2, 15,149,194, 49,192, 68, 59,124, 36,228, 15,146,192,133, +/* 0x0cb0 */ 194,117,211, 68, 59,124, 36,228, 15,130, 69,247,255,255, 65,129, +/* 0x0cc0 */ 251,255,255,255, 0,119, 22, 76, 57,231,184, 1, 0, 0, 0,116, +/* 0x0cd0 */ 35,235, 7,184, 1, 0, 0, 0,235, 26, 72,255,199,137,248, 43, +/* 0x0ce0 */ 68, 36,248, 72,139, 76, 36,240, 72,139, 92, 36, 56,137, 1, 68, +/* 0x0cf0 */ 137, 59, 49,192, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, 65, 87, +/* 0x0d00 */ 72,141, 71, 4, 69, 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, +/* 0x0d10 */ 85, 69, 49,237, 65, 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, +/* 0x0d20 */ 36,216,184, 1, 0, 0, 0, 72,137,116, 36,248, 76,137, 68, 36, +/* 0x0d30 */ 232,137,195, 68,137, 76, 36,228, 15,182, 79, 2,211,227,137,217, +/* 0x0d40 */ 72,139, 92, 36, 56,255,201,137, 76, 36,212, 15,182, 79, 1,211, +/* 0x0d50 */ 224, 72,139, 76, 36,240,255,200,137, 68, 36,208, 15,182, 7,199, +/* 0x0d60 */ 1, 0, 0, 0, 0,199, 68, 36,200, 0, 0, 0, 0,199, 68, 36, +/* 0x0d70 */ 196, 1, 0, 0, 0,199, 68, 36,192, 1, 0, 0, 0,199, 68, 36, +/* 0x0d80 */ 188, 1, 0, 0, 0,199, 3, 0, 0, 0, 0,137, 68, 36,204, 15, +/* 0x0d90 */ 182, 79, 1, 1,193,184, 0, 3, 0, 0,211,224, 49,201,141,184, +/* 0x0da0 */ 54, 7, 0, 0, 65, 57,255,115, 19, 72,139, 92, 36,216,137,200, +/* 0x0db0 */ 255,193, 57,249,102,199, 4, 67, 0, 4,235,235, 72,139,124, 36, +/* 0x0dc0 */ 248,137,208, 69, 49,210, 65,131,203,255, 49,210, 73,137,252, 73, +/* 0x0dd0 */ 1,196, 76, 57,231, 15,132,239, 8, 0, 0, 15,182, 7, 65,193, +/* 0x0de0 */ 226, 8,255,194, 72,255,199, 65, 9,194,131,250, 4,126,227, 68, +/* 0x0df0 */ 59,124, 36,228, 15,131,218, 8, 0, 0,139, 68, 36,212, 72, 99, +/* 0x0e00 */ 92, 36,200, 72,139, 84, 36,216, 68, 33,248,137, 68, 36,184, 72, +/* 0x0e10 */ 99,108, 36,184, 72,137,216, 72,193,224, 4, 72, 1,232, 65,129, +/* 0x0e20 */ 251,255,255,255, 0, 76,141, 12, 66,119, 26, 76, 57,231, 15,132, +/* 0x0e30 */ 150, 8, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, +/* 0x0e40 */ 255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15, +/* 0x0e50 */ 183,202, 15,175,193, 65, 57,194, 15,131,197, 1, 0, 0, 65,137, +/* 0x0e60 */ 195,184, 0, 8, 0, 0, 72,139, 92, 36,216, 41,200, 15,182, 76, +/* 0x0e70 */ 36,204,190, 1, 0, 0, 0,193,248, 5,141, 4, 2, 65, 15,182, +/* 0x0e80 */ 213,102, 65,137, 1,139, 68, 36,208, 68, 33,248,211,224,185, 8, +/* 0x0e90 */ 0, 0, 0, 43, 76, 36,204,211,250, 1,208,105,192, 0, 3, 0, +/* 0x0ea0 */ 0,131,124, 36,200, 6,137,192, 76,141,140, 67,108, 14, 0, 0, +/* 0x0eb0 */ 15,142,184, 0, 0, 0, 72,139, 84, 36,232, 68,137,248, 68, 41, +/* 0x0ec0 */ 240, 15,182, 44, 2, 1,237, 72, 99,214,137,235,129,227, 0, 1, +/* 0x0ed0 */ 0, 0, 65,129,251,255,255,255, 0, 72, 99,195, 73,141, 4, 65, +/* 0x0ee0 */ 76,141, 4, 80,119, 26, 76, 57,231, 15,132,219, 7, 0, 0, 15, +/* 0x0ef0 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, +/* 0x0f00 */ 65, 15,183,144, 0, 2, 0, 0, 68,137,216,193,232, 11, 15,183, +/* 0x0f10 */ 202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, +/* 0x0f20 */ 0, 1,246, 41,200,193,248, 5,133,219,141, 4, 2,102, 65,137, +/* 0x0f30 */ 128, 0, 2, 0, 0,116, 33,235, 45, 65, 41,195, 65, 41,194,137, +/* 0x0f40 */ 208,102,193,232, 5,141,116, 54, 1,102, 41,194,133,219,102, 65, +/* 0x0f50 */ 137,144, 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, 15,142, +/* 0x0f60 */ 97,255,255,255,235,120,129,254,255, 0, 0, 0,127,112, 72, 99, +/* 0x0f70 */ 198, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57, +/* 0x0f80 */ 231, 15,132, 67, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x0f90 */ 227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193, +/* 0x0fa0 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195, +/* 0x0fb0 */ 184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,141, 4, 2,102, +/* 0x0fc0 */ 65,137, 0,235,161, 65, 41,195, 65, 41,194,137,208,102,193,232, +/* 0x0fd0 */ 5,141,116, 54, 1,102, 41,194,102, 65,137, 16,235,136, 72,139, +/* 0x0fe0 */ 76, 36,232, 68,137,248, 65,255,199, 65,137,245, 64,136, 52, 1, +/* 0x0ff0 */ 131,124, 36,200, 3,127, 13,199, 68, 36,200, 0, 0, 0, 0,233, +/* 0x1000 */ 166, 6, 0, 0,139, 84, 36,200,139, 68, 36,200,131,234, 3,131, +/* 0x1010 */ 232, 6,131,124, 36,200, 9, 15, 79,208,137, 84, 36,200,233,135, +/* 0x1020 */ 6, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, +/* 0x1030 */ 41,194, 72,139, 68, 36,216, 65,129,251,255,255,255, 0,102, 65, +/* 0x1040 */ 137, 17, 72,141, 52, 88,119, 26, 76, 57,231, 15,132,121, 6, 0, +/* 0x1050 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x1060 */ 9,194, 15,183,150,128, 1, 0, 0, 68,137,216,193,232, 11, 15, +/* 0x1070 */ 183,202, 15,175,193, 65, 57,194,115, 78, 65,137,195,184, 0, 8, +/* 0x1080 */ 0, 0, 76,139, 76, 36,216, 41,200,139, 76, 36,196, 68,137,116, +/* 0x1090 */ 36,196,193,248, 5,141, 4, 2,139, 84, 36,192,137, 76, 36,192, +/* 0x10a0 */ 102,137,134,128, 1, 0, 0, 49,192,131,124, 36,200, 6,137, 84, +/* 0x10b0 */ 36,188, 15,159,192, 73,129,193,100, 6, 0, 0,141, 4, 64,137, +/* 0x10c0 */ 68, 36,200,233, 84, 2, 0, 0, 65, 41,195, 65, 41,194,137,208, +/* 0x10d0 */ 102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137, +/* 0x10e0 */ 150,128, 1, 0, 0,119, 26, 76, 57,231, 15,132,218, 5, 0, 0, +/* 0x10f0 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, +/* 0x1100 */ 194, 15,183,150,152, 1, 0, 0, 68,137,216,193,232, 11, 15,183, +/* 0x1110 */ 202, 15,175,193, 65, 57,194, 15,131,208, 0, 0, 0, 65,184, 0, +/* 0x1120 */ 8, 0, 0, 65,137,195, 72,193,227, 5, 68,137,192, 41,200,193, +/* 0x1130 */ 248, 5,141, 4, 2,102,137,134,152, 1, 0, 0, 72,139, 68, 36, +/* 0x1140 */ 216, 72, 1,216, 65,129,251,255,255,255, 0, 72,141, 52,104,119, +/* 0x1150 */ 26, 76, 57,231, 15,132,112, 5, 0, 0, 15,182, 7, 65,193,226, +/* 0x1160 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,224, 1, +/* 0x1170 */ 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, +/* 0x1180 */ 194,115, 79, 65, 41,200, 65,137,195, 65,193,248, 5, 69,133,255, +/* 0x1190 */ 66,141, 4, 2,102,137,134,224, 1, 0, 0, 15,132, 41, 5, 0, +/* 0x11a0 */ 0, 49,192,131,124, 36,200, 6, 72,139, 92, 36,232, 15,159,192, +/* 0x11b0 */ 141, 68, 0, 9,137, 68, 36,200, 68,137,248, 68, 41,240, 68, 15, +/* 0x11c0 */ 182, 44, 3, 68,137,248, 65,255,199, 68,136, 44, 3,233,216, 4, +/* 0x11d0 */ 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, +/* 0x11e0 */ 194,102,137,150,224, 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, +/* 0x11f0 */ 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255, +/* 0x1200 */ 255,255, 0,102,137,150,152, 1, 0, 0,119, 26, 76, 57,231, 15, +/* 0x1210 */ 132,181, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x1220 */ 72,255,199, 65, 9,194, 15,183,150,176, 1, 0, 0, 68,137,216, +/* 0x1230 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137, +/* 0x1240 */ 195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137, +/* 0x1250 */ 134,176, 1, 0, 0,139, 68, 36,196,233,152, 0, 0, 0, 65, 41, +/* 0x1260 */ 195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251, +/* 0x1270 */ 255,255,255, 0,102,137,150,176, 1, 0, 0,119, 26, 76, 57,231, +/* 0x1280 */ 15,132, 68, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, +/* 0x1290 */ 8, 72,255,199, 65, 9,194, 15,183,150,200, 1, 0, 0, 68,137, +/* 0x12a0 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 29, 65, +/* 0x12b0 */ 137,195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102, +/* 0x12c0 */ 137,134,200, 1, 0, 0,139, 68, 36,192,235, 34, 65, 41,195, 65, +/* 0x12d0 */ 41,194,137,208,102,193,232, 5,102, 41,194,139, 68, 36,188,102, +/* 0x12e0 */ 137,150,200, 1, 0, 0,139, 84, 36,192,137, 84, 36,188,139, 76, +/* 0x12f0 */ 36,196,137, 76, 36,192, 68,137,116, 36,196, 65,137,198, 49,192, +/* 0x1300 */ 131,124, 36,200, 6, 76,139, 76, 36,216, 15,159,192, 73,129,193, +/* 0x1310 */ 104, 10, 0, 0,141, 68, 64, 8,137, 68, 36,200, 65,129,251,255, +/* 0x1320 */ 255,255, 0,119, 26, 76, 57,231, 15,132,156, 3, 0, 0, 15,182, +/* 0x1330 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, +/* 0x1340 */ 15,183, 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, +/* 0x1350 */ 57,194,115, 39, 65,137,195,184, 0, 8, 0, 0, 69, 49,237, 41, +/* 0x1360 */ 200,193,248, 5,141, 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, +/* 0x1370 */ 72,193,224, 4, 77,141, 68, 1, 4,235,120, 65, 41,195, 65, 41, +/* 0x1380 */ 194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, +/* 0x1390 */ 0,102, 65,137, 17,119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, +/* 0x13a0 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, +/* 0x13b0 */ 194, 65, 15,183, 81, 2, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x13c0 */ 175,193, 65, 57,194,115, 52, 65,137,195,184, 0, 8, 0, 0, 65, +/* 0x13d0 */ 189, 8, 0, 0, 0, 41,200,193,248, 5,141, 4, 2,102, 65,137, +/* 0x13e0 */ 65, 2, 72, 99, 68, 36,184, 72,193,224, 4, 77,141,132, 1, 4, +/* 0x13f0 */ 1, 0, 0, 65,185, 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41, +/* 0x1400 */ 194,137,208,102,193,232, 5, 77,141,129, 4, 2, 0, 0, 65,189, +/* 0x1410 */ 16, 0, 0, 0,102, 41,194,102, 65,137, 81, 2, 65,185, 8, 0, +/* 0x1420 */ 0, 0, 68,137,203,189, 1, 0, 0, 0, 72, 99,197, 65,129,251, +/* 0x1430 */ 255,255,255, 0, 73,141, 52, 64,119, 26, 76, 57,231, 15,132,135, +/* 0x1440 */ 2, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, +/* 0x1450 */ 199, 65, 9,194, 15,183, 14, 68,137,216,193,232, 11, 15,183,209, +/* 0x1460 */ 15,175,194, 65, 57,194,115, 23, 65,137,195,184, 0, 8, 0, 0, +/* 0x1470 */ 1,237, 41,208,193,248, 5,141, 4, 1,102,137, 6,235, 22, 65, +/* 0x1480 */ 41,195, 65, 41,194,137,200,102,193,232, 5,141,108, 45, 1,102, +/* 0x1490 */ 41,193,102,137, 14,255,203,117,145,184, 1, 0, 0, 0, 68,137, +/* 0x14a0 */ 201,211,224, 41,197, 68, 1,237,131,124, 36,200, 3, 15,143,194, +/* 0x14b0 */ 1, 0, 0,131, 68, 36,200, 7,184, 3, 0, 0, 0,131,253, 4, +/* 0x14c0 */ 15, 76,197, 72,139, 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, +/* 0x14d0 */ 72,193,224, 7, 76,141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, +/* 0x14e0 */ 0, 73, 99,192, 65,129,251,255,255,255, 0, 73,141, 52, 65,119, +/* 0x14f0 */ 26, 76, 57,231, 15,132,208, 1, 0, 0, 15,182, 7, 65,193,226, +/* 0x1500 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 22, 68,137, +/* 0x1510 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65, +/* 0x1520 */ 137,195,184, 0, 8, 0, 0, 69, 1,192, 41,200,193,248, 5,141, +/* 0x1530 */ 4, 2,102,137, 6,235, 23, 65, 41,195, 65, 41,194,137,208,102, +/* 0x1540 */ 193,232, 5, 71,141, 68, 0, 1,102, 41,194,102,137, 22,255,203, +/* 0x1550 */ 117,143, 65,131,232, 64, 65,131,248, 3, 69,137,198, 15,142, 13, +/* 0x1560 */ 1, 0, 0, 65,131,230, 1, 68,137,192,209,248, 65,131,206, 2, +/* 0x1570 */ 65,131,248, 13,141,112,255,127, 35,137,241, 72,139, 92, 36,216, +/* 0x1580 */ 73, 99,192, 65,211,230, 72, 1,192, 68,137,242, 72,141, 20, 83, +/* 0x1590 */ 72, 41,194, 76,141,138, 94, 5, 0, 0,235, 81,141,112,251, 65, +/* 0x15a0 */ 129,251,255,255,255, 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, +/* 0x15b0 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x15c0 */ 9,194, 65,209,235, 69, 1,246, 69, 57,218,114, 7, 69, 41,218, +/* 0x15d0 */ 65,131,206, 1,255,206,117,199, 76,139, 76, 36,216, 65,193,230, +/* 0x15e0 */ 4,190, 4, 0, 0, 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, +/* 0x15f0 */ 0, 0, 0,187, 1, 0, 0, 0, 72, 99,195, 65,129,251,255,255, +/* 0x1600 */ 255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132,185, 0, 0, +/* 0x1610 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x1620 */ 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x1630 */ 175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1, +/* 0x1640 */ 219, 41,200,193,248, 5,141, 4, 2,102, 65,137, 0,235, 26, 65, +/* 0x1650 */ 41,195, 65, 41,194,137,208,102,193,232, 5,141, 92, 27, 1, 69, +/* 0x1660 */ 9,238,102, 41,194,102, 65,137, 16, 69, 1,237,255,206,117,136, +/* 0x1670 */ 65,255,198,116, 64,131,197, 2, 69, 57,254,119, 77, 72,139, 84, +/* 0x1680 */ 36,232, 68,137,248, 68, 41,240, 68, 15,182, 44, 2, 68,137,248, +/* 0x1690 */ 65,255,199,255,205, 68,136, 44, 2, 15,149,194, 49,192, 68, 59, +/* 0x16a0 */ 124, 36,228, 15,146,192,133,194,117,211, 68, 59,124, 36,228, 15, +/* 0x16b0 */ 130, 69,247,255,255, 65,129,251,255,255,255, 0,119, 22, 76, 57, +/* 0x16c0 */ 231,184, 1, 0, 0, 0,116, 35,235, 7,184, 1, 0, 0, 0,235, +/* 0x16d0 */ 26, 72,255,199,137,248, 43, 68, 36,248, 72,139, 76, 36,240, 72, +/* 0x16e0 */ 139, 92, 36, 56,137, 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, +/* 0x16f0 */ 93, 65, 94, 65, 95, 72,139,117,248, 72,139,125, 16,139, 75, 4, +/* 0x1700 */ 72, 1,206,139, 19, 72, 1,215,201,235, 2, 87, 94, 89, 72,137, +/* 0x1710 */ 240, 72, 41,200, 90, 72, 41,215, 89,137, 57, 91, 93,195,104, 30, +/* 0x1720 */ 0, 0, 0, 90,232, 0, 0, 0, 0, 80, 82, 79, 84, 95, 69, 88, +/* 0x1730 */ 69, 67,124, 80, 82, 79, 84, 95, 87, 82, 73, 84, 69, 32,102, 97, +/* 0x1740 */ 105,108,101,100, 46, 10, 0,106, 14, 90, 87, 94,235, 1, 94,106, +/* 0x1750 */ 2, 95,106, 1, 88, 15, 5,106,127, 95,106, 60, 88, 15, 5, 95, +/* 0x1760 */ 41,246,106, 2, 88, 15, 5,133,192,120,220, 80, 72,141,183, 15, +/* 0x1770 */ 0, 0, 0,173,131,224,254, 65,137,198, 86, 91,173,146, 72, 1, +/* 0x1780 */ 218,173, 65,149,173, 73, 1,245, 72,141,141,245,255,255,255, 68, +/* 0x1790 */ 139, 57, 76, 41,249, 69, 41,247, 95, 72, 41,202, 82, 80, 73, 41, +/* 0x17a0 */ 205, 87, 81, 77, 41,201, 65,131,200,255,106, 34, 65, 90, 82, 94, +/* 0x17b0 */ 106, 3, 90, 41,255,106, 9, 88, 15, 5, 73, 1,198, 72,137, 68, +/* 0x17c0 */ 36, 16, 72,151, 68,139, 68, 36, 8,106, 18, 65, 90, 76,137,238, +/* 0x17d0 */ 106, 9, 88, 15, 5, 72,139, 84, 36, 24, 89, 81, 72, 1,194, 72, +/* 0x17e0 */ 41,200, 73,137,196, 72, 1,232, 80, 72, 37, 0,240,255,255, 80, +/* 0x17f0 */ 72, 41,194, 82, 72,137,222,173, 80, 72,137,225, 74,141, 20, 35, +/* 0x1800 */ 73,137,213,173, 80,173, 65,144, 72,137,247, 94,255,213, 89, 94, +/* 0x1810 */ 95, 93,106, 5, 90,106, 10, 88, 15, 5, 65,255,229, 93,232, 60, +/* 0x1820 */ 255,255,255, 47,112,114,111, 99, 47,115,101,108,102, 47,101,120, +/* 0x1830 */ 101, 0, 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97, +/* 0x1840 */ 116, 32,101,108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, +/* 0x1850 */ 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97, +/* 0x1860 */ 109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, +/* 0x1870 */ 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, +/* 0x1880 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, +/* 0x1890 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111, +/* 0x18a0 */ 102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, +/* 0x18b0 */ 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, +/* 0x18c0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48,102, 32, 32, 48, 48, 48, 48, +/* 0x18d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x18e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x18f0 */ 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x1900 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, +/* 0x1910 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, +/* 0x1920 */ 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1930 */ 48, 48, 54, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1940 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1950 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1960 */ 52,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1970 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, +/* 0x1980 */ 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, +/* 0x1990 */ 48, 48, 48, 48, 48, 98, 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x19a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x19c0 */ 48, 48, 48, 98, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x19d0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, +/* 0x19e0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, +/* 0x19f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 97, +/* 0x1a00 */ 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a10 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a20 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 54,102, 32, +/* 0x1a30 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, +/* 0x1a40 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, +/* 0x1a50 */ 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, +/* 0x1a60 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 57, 51, 32, 32, 48, 48, 48, +/* 0x1a70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1a80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1a90 */ 32, 48, 48, 48, 48, 48, 50, 49, 48, 32, 32, 50, 42, 42, 48, 32, +/* 0x1aa0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, +/* 0x1ab0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, +/* 0x1ac0 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, +/* 0x1ad0 */ 48, 48, 48, 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ae0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1b00 */ 50, 97, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1b10 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x1b20 */ 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x1b30 */ 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, +/* 0x1b40 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b50 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b60 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 48, 55, 32, 32, 50, +/* 0x1b70 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1b80 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, +/* 0x1b90 */ 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, +/* 0x1ba0 */ 102, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bb0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 99,102,101, +/* 0x1bd0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1be0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, +/* 0x1bf0 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, +/* 0x1c00 */ 48, 48, 48, 49, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c10 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, +/* 0x1c30 */ 54,102, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1c40 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, +/* 0x1c50 */ 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, +/* 0x1c60 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1c70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1c80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1c90 */ 48, 48, 49, 55, 48,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1ca0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, +/* 0x1cb0 */ 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, +/* 0x1cc0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 51, 97, 32, 32, 48, 48, 48, +/* 0x1cd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1ce0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1cf0 */ 32, 48, 48, 48, 48, 49, 55, 48,100, 32, 32, 50, 42, 42, 48, 32, +/* 0x1d00 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, +/* 0x1d10 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, +/* 0x1d20 */ 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x1d30 */ 48, 48, 48,101,102, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d40 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, +/* 0x1d60 */ 55, 52, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1d70 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x1d80 */ 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, +/* 0x1d90 */ 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1da0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, +/* 0x1db0 */ 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1dc0 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, +/* 0x1dd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1de0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x1df0 */ 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e00 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, +/* 0x1e10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1e20 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, +/* 0x1e30 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e40 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, +/* 0x1e50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1e60 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, +/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, +/* 0x1e80 */ 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x1ea0 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1eb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, +/* 0x1ec0 */ 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ed0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, +/* 0x1ee0 */ 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ef0 */ 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1f10 */ 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, +/* 0x1f30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1f40 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, +/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, +/* 0x1f60 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f70 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x1f80 */ 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, +/* 0x1fa0 */ 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fb0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x1fc0 */ 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x1fe0 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ff0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x2000 */ 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x2010 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x2020 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2030 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, +/* 0x2040 */ 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2050 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, +/* 0x2060 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2070 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x2080 */ 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2090 */ 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, +/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, +/* 0x20b0 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, +/* 0x20c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, +/* 0x20d0 */ 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, +/* 0x20e0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, +/* 0x20f0 */ 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x2100 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x2110 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x2120 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 51, +/* 0x2130 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, +/* 0x2140 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, +/* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,100, 50, 10, 10, +/* 0x2160 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x2170 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, +/* 0x2180 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2190 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x21a0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x21b0 */ 48, 48, 48, 48, 48, 48, 48, 97,102, 32, 82, 95, 88, 56, 54, 95, +/* 0x21c0 */ 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, +/* 0x21d0 */ 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x21e0 */ 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x21f0 */ 48, 48, 48, 48, 48, 48, 53, 99, 32, 82, 95, 88, 56, 54, 95, 54, +/* 0x2200 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, +/* 0x2210 */ 73, 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102, +/* 0x2220 */ 102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x2230 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x2240 */ 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, +/* 0x2250 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, +/* 0x2260 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, +/* 0x2270 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, +/* 0x2280 */ 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, +/* 0x2290 */ 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, +/* 0x22a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, +/* 0x22b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 99, +/* 0x22c0 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, +/* 0x22d0 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102, +/* 0x22e0 */ 102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, +/* 0x22f0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x2300 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, +/* 0x2310 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2320 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2330 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2340 */ 48, 48, 48, 48, 48, 48, 48, 56, 98, 32, 82, 95, 88, 56, 54, 95, +/* 0x2350 */ 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, +/* 0x2360 */ 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2370 */ 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2380 */ 48, 48, 48, 48, 48, 48, 53, 51, 32, 82, 95, 88, 56, 54, 95, 54, +/* 0x2390 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, +/* 0x23a0 */ 73, 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102, +/* 0x23b0 */ 102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x23c0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x23d0 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, +/* 0x23e0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, +/* 0x23f0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2400 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2410 */ 48, 48, 48, 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, +/* 0x2420 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x2430 */ 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2440 */ 48, 48, 48, 48, 49, 50, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x2450 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x2460 */ 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x2470 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, +/* 0x2480 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, +/* 0x2490 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x24a0 */ 48, 48, 49, 56, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, +/* 0x24b0 */ 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, +/* 0x24c0 */ 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x24d0 */ 48, 51, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, +/* 0x24e0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, +/* 0x24f0 */ 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x2500 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x2510 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x2520 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,101, 98, +/* 0x2530 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, +/* 0x2540 */ 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 }; diff -Nru upx-ucl-3.95/src/stub/amd64-linux.elf-fold.h upx-ucl-3.96/src/stub/amd64-linux.elf-fold.h --- upx-ucl-3.95/src/stub/amd64-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* amd64-linux.elf-fold.h - created from amd64-linux.elf-fold.bin, 2159 (0x86f) bytes + created from amd64-linux.elf-fold.bin, 2251 (0x8cb) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,20 +31,20 @@ */ -#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2159 -#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0xcb832856 -#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0x2624f091 +#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2251 +#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x50e34b76 +#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0xba67b7de -unsigned char stub_amd64_linux_elf_fold[2159] = { +unsigned char stub_amd64_linux_elf_fold[2251] = { /* 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 */ 111, 8, 0, 0, 0, 0, 0, 0,112, 8, 0, 0, 0, 0, 0, 0, +/* 0x0060 */ 203, 8, 0, 0, 0, 0, 0, 0,204, 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 */ 111, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0080 */ 203, 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, 74, 0, 0, @@ -65,7 +65,7 @@ /* 0x01a0 */ 239, 8, 73,141,119,248, 72,193,233, 3,243, 72,165, 72,141,103, /* 0x01b0 */ 8,252, 75,141, 12, 38,139, 67,252,131,224, 1, 72, 1,193, 65, /* 0x01c0 */ 89, 94, 95, 88, 72,129,236, 0, 8, 0, 0, 72,137,226, 80, 73, -/* 0x01d0 */ 137,232,232, 80, 5, 0, 0, 72,129,196, 8, 8, 0, 0, 72,137, +/* 0x01d0 */ 137,232,232,172, 5, 0, 0, 72,129,196, 8, 8, 0, 0, 72,137, /* 0x01e0 */ 68, 36, 32, 91, 69, 41,201, 65,137,216,106, 2, 65, 90,106, 1, /* 0x01f0 */ 90,190, 0, 16, 0, 0,106, 0, 95,106, 9, 88, 15, 5,137,223, /* 0x0200 */ 106, 3, 88, 15, 5, 95, 94,106, 11, 88, 65,255,102,248,176, 9, @@ -97,12 +97,12 @@ /* 0x03a0 */ 139, 15, 65,137,240, 76, 57,193,116, 18, 72,131,249, 1, 15,148, /* 0x03b0 */ 194, 49,192,133,246, 15,149,192,133,194,116, 8, 76,137, 7, 76, /* 0x03c0 */ 137, 79, 8,195, 72,133,201,116, 6, 72,131,199, 16,235,208,195, -/* 0x03d0 */ 65, 87,184, 0, 0, 0, 0, 65, 86, 73,137,254, 65, 85, 65, 84, -/* 0x03e0 */ 73,137,252, 85, 83, 72,131,236, 88, 76, 3,103, 32,102,131,127, -/* 0x03f0 */ 16, 3, 72,137, 76, 36, 32,185, 16, 0, 0, 0, 76,137, 68, 36, -/* 0x0400 */ 24, 72,137,116, 36, 48,137, 84, 36, 44, 76,137, 76, 36, 16, 15, -/* 0x0410 */ 183, 87, 56, 15, 68,200, 72,139,132, 36,144, 0, 0, 0, 76,137, -/* 0x0420 */ 230, 72,131,205,255, 49,219, 49,255,131,193, 34, 76,139, 0,255, +/* 0x03d0 */ 65, 87,184, 0, 0, 0, 0, 73,137,255, 65, 86, 65, 85, 73,137, +/* 0x03e0 */ 253, 65, 84, 85, 83, 72,131,236,104, 76, 3,111, 32,102,131,127, +/* 0x03f0 */ 16, 3, 72,137, 76, 36, 48,185, 16, 0, 0, 0, 76,137, 68, 36, +/* 0x0400 */ 40, 72,137,116, 36, 64,137, 84, 36, 60, 76,137, 76, 36, 32, 15, +/* 0x0410 */ 183, 87, 56, 15, 68,200, 72,139,132, 36,160, 0, 0, 0, 76,137, +/* 0x0420 */ 238, 72,131,205,255, 49,219, 49,255,131,193, 34, 76,139, 0,255, /* 0x0430 */ 202,120, 33,131, 62, 1,117, 22, 72,139, 70, 16, 72, 57,232, 72, /* 0x0440 */ 15, 66,232, 72, 3, 70, 40, 72, 57,195, 72, 15, 66,216, 72,131, /* 0x0450 */ 198, 56,235,219, 72,129,229, 0,240,255,255, 72, 41,235, 72,129, @@ -110,65 +110,71 @@ /* 0x0470 */ 5, 72,137,239,235, 19, 72,133,237,117, 14,137,200, 76,137,199, /* 0x0480 */ 131,200, 16, 77,133,192, 15, 69,200, 69, 49,201, 65,131,200,255, /* 0x0490 */ 49,210, 72,137,222,232,116,253,255,255, 72,137,199, 72,141, 4, -/* 0x04a0 */ 3,199, 68, 36, 12, 0, 0, 0, 0, 73,137,253, 73, 41,237,102, -/* 0x04b0 */ 65,131,126, 56, 0, 72,137, 68, 36, 56, 15,132, 70, 2, 0, 0, -/* 0x04c0 */ 72,131,124, 36, 48, 0,116, 35, 65,131, 60, 36, 6,117, 28, 73, -/* 0x04d0 */ 139, 84, 36, 16, 72,139,124, 36, 32,190, 3, 0, 0, 0, 76, 1, -/* 0x04e0 */ 234,232,171,254,255,255,233, 4, 2, 0, 0, 65,131, 60, 36, 1, -/* 0x04f0 */ 15,133,249, 1, 0, 0, 72,131,124, 36, 48, 0,116, 75, 73,131, -/* 0x0500 */ 124, 36, 8, 0,117, 67, 73,139, 84, 36, 16, 72,139,124, 36, 32, -/* 0x0510 */ 190, 3, 0, 0, 0, 76, 1,234, 73, 3, 86, 32,232,112,254,255, -/* 0x0520 */ 255, 73, 15,183, 86, 56, 72,139,124, 36, 32,190, 5, 0, 0, 0, -/* 0x0530 */ 232, 92,254,255,255, 73, 15,183, 86, 54, 72,139,124, 36, 32,190, -/* 0x0540 */ 4, 0, 0, 0,232, 72,254,255,255, 73,139, 68, 36, 16, 65,139, -/* 0x0550 */ 76, 36, 4, 65,131,200,255,199, 68, 36, 8, 64, 98, 81,115, 73, -/* 0x0560 */ 139, 84, 36, 32, 76, 1,232,131,225, 7, 72,137,197, 72,137, 68, -/* 0x0570 */ 36, 72, 73,139, 68, 36, 40, 72,137,235,193,225, 2,211,108, 36, -/* 0x0580 */ 8,129,227,255, 15, 0, 0,131,100, 36, 8, 7, 72,137, 84, 36, -/* 0x0590 */ 64, 72, 1,232, 72, 41,221, 76,141, 60, 26, 72,137, 4, 36,185, -/* 0x05a0 */ 50, 0, 0, 0, 73,139, 68, 36, 8, 72, 41,216, 72,131,124, 36, -/* 0x05b0 */ 48, 0,117, 7, 68,139, 68, 36, 44,177, 18,139, 84, 36, 8, 73, -/* 0x05c0 */ 137,193, 76,137,254, 72,137,239,131,202, 2, 72,131,124, 36, 48, -/* 0x05d0 */ 0, 15, 68, 84, 36, 8,232, 51,252,255,255, 72, 57,197, 15,133, -/* 0x05e0 */ 207, 0, 0, 0, 72,131,124, 36, 48, 0,116, 25, 72,139, 76, 36, -/* 0x05f0 */ 16, 72,139, 84, 36, 24, 72,141,116, 36, 64, 72,139,124, 36, 48, -/* 0x0600 */ 232,123,252,255,255, 76,137,251, 72,247,219,129,227,255, 15, 0, -/* 0x0610 */ 0,246, 68, 36, 8, 2,116, 13, 74,141,124, 61, 0, 49,192, 72, -/* 0x0620 */ 137,217,252,243,170, 72,131,124, 36, 48, 0, 15,132,140, 0, 0, -/* 0x0630 */ 0, 72,184,255,255,255,255, 1, 0, 0, 0, 73, 35, 4, 36, 72, -/* 0x0640 */ 186, 1, 0, 0, 0, 1, 0, 0, 0, 72, 57,208,117, 82, 73,139, -/* 0x0650 */ 84, 36, 40, 73,139,116, 36, 16, 73, 59, 84, 36, 32, 72,141, 4, -/* 0x0660 */ 50, 74,141, 12, 40,117, 14,137,200,247,216, 37,255, 15, 0, 0, -/* 0x0670 */ 131,248, 3,119, 13, 73,131,124, 36, 8, 0, 74,141, 76, 46, 12, -/* 0x0680 */ 117, 30, 72,133,201,199, 1, 15, 5, 90,195,116, 19, 72,139,124, -/* 0x0690 */ 36, 32, 72,137,202, 49,246, 72,131,231,254,232,241,252,255,255, -/* 0x06a0 */ 139, 84, 36, 8, 76,137,254, 72,137,239,232,138,251,255,255,133, -/* 0x06b0 */ 192,116, 10,191,127, 0, 0, 0,232,104,251,255,255, 73,141, 4, -/* 0x06c0 */ 31, 72, 1,197, 72, 59, 44, 36,115, 37, 72, 41, 44, 36,139, 84, -/* 0x06d0 */ 36, 8, 69, 49,201, 72,139, 52, 36, 65,131,200,255,185, 50, 0, -/* 0x06e0 */ 0, 0, 72,137,239,232, 36,251,255,255, 72, 57,197,117,196,255, -/* 0x06f0 */ 68, 36, 12, 65, 15,183, 70, 56, 73,131,196, 56, 57, 68, 36, 12, -/* 0x0700 */ 15,140,186,253,255,255, 72,139,132, 36,144, 0, 0, 0, 76,137, -/* 0x0710 */ 40, 77, 3,110, 24, 72,131,196, 88, 91, 93, 65, 92, 76,137,232, -/* 0x0720 */ 65, 93, 65, 94, 65, 95,195, 65, 87, 65, 86, 73,137,206, 49,201, -/* 0x0730 */ 65, 85, 65, 84, 77,137,204, 85, 72,137,213, 76,141,109, 64, 83, -/* 0x0740 */ 76,137,195, 72,131,236, 72,139, 7, 72,137,124, 36, 24, 72,137, -/* 0x0750 */ 124, 36, 40, 76,141,188, 36,128, 0, 0, 0, 72,137,116, 36, 32, -/* 0x0760 */ 72,141,116, 36, 48, 72,137, 84, 36, 56, 76,137,194, 72,137, 68, -/* 0x0770 */ 36, 48,139, 71, 4, 72,141,124, 36, 16, 72,131,192, 12, 72,137, -/* 0x0780 */ 68, 36, 16,232,248,250,255,255, 65, 83, 77,137,225, 49,210, 73, -/* 0x0790 */ 137,216, 76,137,241, 72,137,239, 72,141,116, 36, 40, 65, 87,232, -/* 0x07a0 */ 44,252,255,255,190, 9, 0, 0, 0, 72,137,194, 76,137,247, 73, -/* 0x07b0 */ 137,196,232,218,251,255,255, 65, 89, 65, 90,102,131,125, 56, 0, -/* 0x07c0 */ 199, 68, 36, 12, 0, 0, 0, 0, 15,132,143, 0, 0, 0, 65,131, -/* 0x07d0 */ 125, 0, 3,117,114, 73,139, 63, 73, 3,125, 16, 49,210, 49,246, -/* 0x07e0 */ 232, 76,250,255,255,133,192,137,195,120, 23,186, 0, 4, 0, 0, -/* 0x07f0 */ 72,137,238,137,199,232, 71,250,255,255, 72, 61, 0, 4, 0, 0, -/* 0x0800 */ 116, 10,191,127, 0, 0, 0,232, 25,250,255,255, 73,199, 7, 0, -/* 0x0810 */ 0, 0, 0, 65, 80, 69, 49,201, 69, 49,192, 49,201, 65, 87,137, -/* 0x0820 */ 218, 49,246, 72,137,239,232,165,251,255,255, 73,139, 23,190, 7, -/* 0x0830 */ 0, 0, 0, 76,137,247, 73,137,196,232, 83,251,255,255,137,223, -/* 0x0840 */ 232,232,249,255,255, 94, 95,255, 68, 36, 12, 15,183, 69, 56, 73, -/* 0x0850 */ 131,197, 56, 57, 68, 36, 12, 15,130,113,255,255,255, 72,131,196, -/* 0x0860 */ 72, 76,137,224, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195 +/* 0x04a0 */ 3,199, 68, 36, 28, 0, 0, 0, 0, 73,137,254, 73, 41,238,102, +/* 0x04b0 */ 65,131,127, 56, 0, 72,137, 68, 36, 72, 15,132,162, 2, 0, 0, +/* 0x04c0 */ 72,131,124, 36, 64, 0,116, 34, 65,131,125, 0, 6,117, 27, 73, +/* 0x04d0 */ 139, 85, 16, 72,139,124, 36, 48,190, 3, 0, 0, 0, 76, 1,242, +/* 0x04e0 */ 232,172,254,255,255,233, 97, 2, 0, 0, 65,131,125, 0, 1, 15, +/* 0x04f0 */ 133, 86, 2, 0, 0, 72,131,124, 36, 64, 0,116, 73, 73,131,125, +/* 0x0500 */ 8, 0,117, 66, 73,139, 85, 16, 72,139,124, 36, 48,190, 3, 0, +/* 0x0510 */ 0, 0, 76, 1,242, 73, 3, 87, 32,232,115,254,255,255, 73, 15, +/* 0x0520 */ 183, 87, 56, 72,139,124, 36, 48,190, 5, 0, 0, 0,232, 95,254, +/* 0x0530 */ 255,255, 73, 15,183, 87, 54, 72,139,124, 36, 48,190, 4, 0, 0, +/* 0x0540 */ 0,232, 75,254,255,255, 73,139, 69, 16, 65,139, 77, 4, 65,131, +/* 0x0550 */ 200,255, 73,139, 85, 32,199, 68, 36, 24, 64, 98, 81,115, 76, 1, +/* 0x0560 */ 240,131,225, 7, 73,137,196, 72,137, 68, 36, 88, 73,139, 69, 40, +/* 0x0570 */ 76,137,229,193,225, 2,211,108, 36, 24,129,229,255, 15, 0, 0, +/* 0x0580 */ 131,100, 36, 24, 7, 72,137, 84, 36, 80, 76, 1,224, 72, 1,234, +/* 0x0590 */ 73, 41,236, 72,137, 68, 36, 8,185, 50, 0, 0, 0, 73,139, 69, +/* 0x05a0 */ 8, 72,137, 84, 36, 16, 72, 41,232, 72,131,124, 36, 64, 0,117, +/* 0x05b0 */ 7, 68,139, 68, 36, 60,177, 18,139, 84, 36, 24, 72,139,116, 36, +/* 0x05c0 */ 16, 73,137,193, 76,137,231,131,202, 2, 72,131,124, 36, 64, 0, +/* 0x05d0 */ 15, 68, 84, 36, 24,232, 52,252,255,255, 73, 57,196, 15,133, 37, +/* 0x05e0 */ 1, 0, 0, 72,131,124, 36, 64, 0,116, 25, 72,139, 76, 36, 32, +/* 0x05f0 */ 72,139, 84, 36, 40, 72,141,116, 36, 80, 72,139,124, 36, 64,232, +/* 0x0600 */ 124,252,255,255, 72,139,108, 36, 16, 72,247,221,129,229,255, 15, +/* 0x0610 */ 0, 0,246, 68, 36, 24, 2,116, 17, 72,139, 68, 36, 16, 72,137, +/* 0x0620 */ 233,252, 73,141, 60, 4, 49,192,243,170, 72,131,124, 36, 64, 0, +/* 0x0630 */ 15,132,220, 0, 0, 0,199, 68, 36, 4, 0, 0, 0, 0, 72,184, +/* 0x0640 */ 255,255,255,255, 1, 0, 0, 0, 73, 35, 69, 0, 72,186, 1, 0, +/* 0x0650 */ 0, 0, 1, 0, 0, 0, 72, 57,208, 15,133,148, 0, 0, 0, 73, +/* 0x0660 */ 139, 85, 40, 73,139, 77, 16, 73, 59, 85, 32, 72,141, 4, 10, 74, +/* 0x0670 */ 141, 28, 48,117, 14,137,216,247,216, 37,255, 15, 0, 0,131,248, +/* 0x0680 */ 3,119, 57, 73,131,125, 8, 0, 74,141, 92, 49, 12,116, 45, 69, +/* 0x0690 */ 49,201, 65,131,200,255, 49,255,185, 34, 0, 0, 0,186, 3, 0, +/* 0x06a0 */ 0, 0,190, 0, 16, 0, 0,199, 68, 36, 4, 1, 0, 0, 0,232, +/* 0x06b0 */ 90,251,255,255, 72,133,192, 72,137,195,116, 55,131,124, 36, 4, +/* 0x06c0 */ 0,199, 3, 15, 5, 90,195,116, 18,186, 5, 0, 0, 0,190, 4, +/* 0x06d0 */ 0, 0, 0, 72,137,223,232, 94,251,255,255, 72,133,219,116, 19, +/* 0x06e0 */ 72,139,124, 36, 48, 72,137,218, 49,246, 72,131,231,254,232,158, +/* 0x06f0 */ 252,255,255,139, 84, 36, 24, 72,139,116, 36, 16, 76,137,231,232, +/* 0x0700 */ 53,251,255,255,133,192,116, 10,191,127, 0, 0, 0,232, 19,251, +/* 0x0710 */ 255,255, 72,139, 68, 36, 16, 72, 1,232, 73, 1,196, 76, 59,100, +/* 0x0720 */ 36, 8,115, 39, 76, 41,100, 36, 8,139, 84, 36, 24, 69, 49,201, +/* 0x0730 */ 72,139,116, 36, 8, 65,131,200,255,185, 50, 0, 0, 0, 76,137, +/* 0x0740 */ 231,232,200,250,255,255, 73, 57,196,117,189,255, 68, 36, 28, 65, +/* 0x0750 */ 15,183, 71, 56, 73,131,197, 56, 57, 68, 36, 28, 15,140, 94,253, +/* 0x0760 */ 255,255, 72,139,132, 36,160, 0, 0, 0, 76,137, 48, 77, 3,119, +/* 0x0770 */ 24, 72,131,196,104, 91, 93, 65, 92, 65, 93, 76,137,240, 65, 94, +/* 0x0780 */ 65, 95,195, 65, 87, 65, 86, 73,137,206, 49,201, 65, 85, 65, 84, +/* 0x0790 */ 77,137,204, 85, 72,137,213, 76,141,109, 64, 83, 76,137,195, 72, +/* 0x07a0 */ 131,236, 72,139, 7, 72,137,124, 36, 24, 72,137,124, 36, 40, 76, +/* 0x07b0 */ 141,188, 36,128, 0, 0, 0, 72,137,116, 36, 32, 72,141,116, 36, +/* 0x07c0 */ 48, 72,137, 84, 36, 56, 76,137,194, 72,137, 68, 36, 48,139, 71, +/* 0x07d0 */ 4, 72,141,124, 36, 16, 72,131,192, 12, 72,137, 68, 36, 16,232, +/* 0x07e0 */ 156,250,255,255, 65, 83, 77,137,225, 49,210, 73,137,216, 76,137, +/* 0x07f0 */ 241, 72,137,239, 72,141,116, 36, 40, 65, 87,232,208,251,255,255, +/* 0x0800 */ 190, 9, 0, 0, 0, 72,137,194, 76,137,247, 73,137,196,232,126, +/* 0x0810 */ 251,255,255, 65, 89, 65, 90,102,131,125, 56, 0,199, 68, 36, 12, +/* 0x0820 */ 0, 0, 0, 0, 15,132,143, 0, 0, 0, 65,131,125, 0, 3,117, +/* 0x0830 */ 114, 73,139, 63, 73, 3,125, 16, 49,210, 49,246,232,240,249,255, +/* 0x0840 */ 255,133,192,137,195,120, 23,186, 0, 4, 0, 0, 72,137,238,137, +/* 0x0850 */ 199,232,235,249,255,255, 72, 61, 0, 4, 0, 0,116, 10,191,127, +/* 0x0860 */ 0, 0, 0,232,189,249,255,255, 73,199, 7, 0, 0, 0, 0, 65, +/* 0x0870 */ 80, 69, 49,201, 69, 49,192, 49,201, 65, 87,137,218, 49,246, 72, +/* 0x0880 */ 137,239,232, 73,251,255,255, 73,139, 23,190, 7, 0, 0, 0, 76, +/* 0x0890 */ 137,247, 73,137,196,232,247,250,255,255,137,223,232,140,249,255, +/* 0x08a0 */ 255, 94, 95,255, 68, 36, 12, 15,183, 69, 56, 73,131,197, 56, 57, +/* 0x08b0 */ 68, 36, 12, 15,130,113,255,255,255, 72,131,196, 72, 76,137,224, +/* 0x08c0 */ 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195 }; diff -Nru upx-ucl-3.95/src/stub/amd64-linux.kernel.vmlinux.h upx-ucl-3.96/src/stub/amd64-linux.kernel.vmlinux.h --- upx-ucl-3.95/src/stub/amd64-linux.kernel.vmlinux.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-linux.kernel.vmlinux.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/amd64-linux.kernel.vmlinux-head.h upx-ucl-3.96/src/stub/amd64-linux.kernel.vmlinux-head.h --- upx-ucl-3.95/src/stub/amd64-linux.kernel.vmlinux-head.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-linux.kernel.vmlinux-head.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/amd64-linux.shlib-init.h upx-ucl-3.96/src/stub/amd64-linux.shlib-init.h --- upx-ucl-3.95/src/stub/amd64-linux.shlib-init.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-linux.shlib-init.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* amd64-linux.shlib-init.h - created from amd64-linux.shlib-init.bin, 9556 (0x2554) bytes + created from amd64-linux.shlib-init.bin, 9569 (0x2561) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,14 +31,14 @@ */ -#define STUB_AMD64_LINUX_SHLIB_INIT_SIZE 9556 -#define STUB_AMD64_LINUX_SHLIB_INIT_ADLER32 0x2c34e74a -#define STUB_AMD64_LINUX_SHLIB_INIT_CRC32 0x5d1d4b5b +#define STUB_AMD64_LINUX_SHLIB_INIT_SIZE 9569 +#define STUB_AMD64_LINUX_SHLIB_INIT_ADLER32 0x5cfdec03 +#define STUB_AMD64_LINUX_SHLIB_INIT_CRC32 0x7b17ca0f -unsigned char stub_amd64_linux_shlib_init[9556] = { +unsigned char stub_amd64_linux_shlib_init[9569] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,160, 25, 0, 0, 0, 0, 0, 0, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,168, 25, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0040 */ 80, 86, 87, 80, 82, 85, 72,137,229,232, 0, 0, 0, 0, 85, 83, /* 0x0050 */ 81, 82, 72, 1,254, 86, 72,137,254, 72,137,215, 49,219, 49,201, @@ -48,590 +48,591 @@ /* 0x0090 */ 16, 72,131,192, 4,131,233, 4,137, 23, 72,141,127, 4,115,239, /* 0x00a0 */ 131,193, 4,138, 16,116, 16, 72,255,192,136, 23,131,233, 1,138, /* 0x00b0 */ 16, 72,141,127, 1,117,240,243,195,252, 65, 91, 65,128,248, 8, -/* 0x00c0 */ 116, 13,233,172, 0, 0, 0, 72,255,198,136, 23, 72,255,199,138, -/* 0x00d0 */ 22, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22,114, -/* 0x00e0 */ 230,141, 65, 1,235, 7,255,200, 65,255,211, 17,192, 65,255,211, -/* 0x00f0 */ 17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22, -/* 0x0100 */ 115,228,131,232, 3,114, 29,193,224, 8, 15,182,210, 9,208, 72, -/* 0x0110 */ 255,198,131,240,255, 15,132, 0, 0, 0, 0,209,248, 72, 99,232, -/* 0x0120 */ 114, 56,235, 14, 1,219,117, 8,139, 30, 72,131,238,252, 17,219, -/* 0x0130 */ 114, 40,255,193, 1,219,117, 8,139, 30, 72,131,238,252, 17,219, -/* 0x0140 */ 114, 24, 65,255,211, 17,201, 1,219,117, 8,139, 30, 72,131,238, -/* 0x0150 */ 252, 17,219,115,237,131,193, 2,235, 5, 65,255,211, 17,201, 72, -/* 0x0160 */ 129,253, 0,251,255,255,131,209, 2,232, 0, 0, 0, 0,233, 92, -/* 0x0170 */ 255,255,255, 65,128,248, 5,116, 13,233,147, 0, 0, 0, 72,255, -/* 0x0180 */ 198,136, 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, 72,131, -/* 0x0190 */ 238,252, 17,219,138, 22,114,230,141, 65, 1,235, 7,255,200, 65, -/* 0x01a0 */ 255,211, 17,192, 65,255,211, 17,192, 1,219,117, 10,139, 30, 72, -/* 0x01b0 */ 131,238,252, 17,219,138, 22,115,228,131,232, 3,114, 27,193,224, -/* 0x01c0 */ 8, 15,182,210, 9,208, 72,255,198,131,240,255, 15,132, 0, 0, -/* 0x01d0 */ 0, 0,209,248, 72, 99,232,235, 3, 65,255,211, 17,201, 65,255, -/* 0x01e0 */ 211, 17,201,117, 24,255,193, 65,255,211, 17,201, 1,219,117, 8, -/* 0x01f0 */ 139, 30, 72,131,238,252, 17,219,115,237,131,193, 2, 72,129,253, -/* 0x0200 */ 0,251,255,255,131,209, 1,232, 0, 0, 0, 0,233,117,255,255, -/* 0x0210 */ 255, 65,128,248, 2,116, 13,233,133, 0, 0, 0, 72,255,198,136, -/* 0x0220 */ 23, 72,255,199,138, 22, 1,219,117, 10,139, 30, 72,131,238,252, -/* 0x0230 */ 17,219,138, 22,114,230,141, 65, 1, 65,255,211, 17,192, 1,219, -/* 0x0240 */ 117, 10,139, 30, 72,131,238,252, 17,219,138, 22,115,235,131,232, -/* 0x0250 */ 3,114, 23,193,224, 8, 15,182,210, 9,208, 72,255,198,131,240, -/* 0x0260 */ 255, 15,132, 0, 0, 0, 0, 72, 99,232,141, 65, 1, 65,255,211, -/* 0x0270 */ 17,201, 65,255,211, 17,201,117, 24,137,193,131,192, 2, 65,255, -/* 0x0280 */ 211, 17,201, 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115, -/* 0x0290 */ 237, 72,129,253, 0,243,255,255, 17,193,232, 0, 0, 0, 0,235, -/* 0x02a0 */ 131, 65,128,248, 14, 15,133, 0, 0, 0, 0, 85, 72,137,229, 68, -/* 0x02b0 */ 139, 9, 73,137,208, 72,137,242, 72,141,119, 2, 86,138, 7,255, -/* 0x02c0 */ 202,136,193, 36, 7,192,233, 3, 72,199,195, 0,253,255,255, 72, -/* 0x02d0 */ 211,227,136,193, 72,141,156, 92,136,241,255,255, 72,131,227,192, -/* 0x02e0 */ 106, 0, 72, 57,220,117,249, 83, 72,141,123, 8,138, 78,255,255, -/* 0x02f0 */ 202,136, 71, 2,136,200,192,233, 4,136, 79, 1, 36, 15,136, 7, -/* 0x0300 */ 72,141, 79,252, 80, 65, 87, 72,141, 71, 4, 69, 49,255, 65, 86, -/* 0x0310 */ 65,190, 1, 0, 0, 0, 65, 85, 69, 49,237, 65, 84, 85, 83, 72, -/* 0x0320 */ 137, 76, 36,240, 72,137, 68, 36,216,184, 1, 0, 0, 0, 72,137, -/* 0x0330 */ 116, 36,248, 76,137, 68, 36,232,137,195, 68,137, 76, 36,228, 15, -/* 0x0340 */ 182, 79, 2,211,227,137,217, 72,139, 92, 36, 56,255,201,137, 76, -/* 0x0350 */ 36,212, 15,182, 79, 1,211,224, 72,139, 76, 36,240,255,200,137, -/* 0x0360 */ 68, 36,208, 15,182, 7,199, 1, 0, 0, 0, 0,199, 68, 36,200, -/* 0x0370 */ 0, 0, 0, 0,199, 68, 36,196, 1, 0, 0, 0,199, 68, 36,192, -/* 0x0380 */ 1, 0, 0, 0,199, 68, 36,188, 1, 0, 0, 0,199, 3, 0, 0, -/* 0x0390 */ 0, 0,137, 68, 36,204, 15,182, 79, 1, 1,193,184, 0, 3, 0, -/* 0x03a0 */ 0,211,224, 49,201,141,184, 54, 7, 0, 0, 65, 57,255,115, 19, -/* 0x03b0 */ 72,139, 92, 36,216,137,200,255,193, 57,249,102,199, 4, 67, 0, -/* 0x03c0 */ 4,235,235, 72,139,124, 36,248,137,208, 69, 49,210, 65,131,203, -/* 0x03d0 */ 255, 49,210, 73,137,252, 73, 1,196, 76, 57,231, 15,132,239, 8, -/* 0x03e0 */ 0, 0, 15,182, 7, 65,193,226, 8,255,194, 72,255,199, 65, 9, -/* 0x03f0 */ 194,131,250, 4,126,227, 68, 59,124, 36,228, 15,131,218, 8, 0, -/* 0x0400 */ 0,139, 68, 36,212, 72, 99, 92, 36,200, 72,139, 84, 36,216, 68, -/* 0x0410 */ 33,248,137, 68, 36,184, 72, 99,108, 36,184, 72,137,216, 72,193, -/* 0x0420 */ 224, 4, 72, 1,232, 65,129,251,255,255,255, 0, 76,141, 12, 66, -/* 0x0430 */ 119, 26, 76, 57,231, 15,132,150, 8, 0, 0, 15,182, 7, 65,193, -/* 0x0440 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, -/* 0x0450 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15, -/* 0x0460 */ 131,197, 1, 0, 0, 65,137,195,184, 0, 8, 0, 0, 72,139, 92, -/* 0x0470 */ 36,216, 41,200, 15,182, 76, 36,204,190, 1, 0, 0, 0,193,248, -/* 0x0480 */ 5,141, 4, 2, 65, 15,182,213,102, 65,137, 1,139, 68, 36,208, -/* 0x0490 */ 68, 33,248,211,224,185, 8, 0, 0, 0, 43, 76, 36,204,211,250, -/* 0x04a0 */ 1,208,105,192, 0, 3, 0, 0,131,124, 36,200, 6,137,192, 76, -/* 0x04b0 */ 141,140, 67,108, 14, 0, 0, 15,142,184, 0, 0, 0, 72,139, 84, -/* 0x04c0 */ 36,232, 68,137,248, 68, 41,240, 15,182, 44, 2, 1,237, 72, 99, -/* 0x04d0 */ 214,137,235,129,227, 0, 1, 0, 0, 65,129,251,255,255,255, 0, -/* 0x04e0 */ 72, 99,195, 73,141, 4, 65, 76,141, 4, 80,119, 26, 76, 57,231, -/* 0x04f0 */ 15,132,219, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, -/* 0x0500 */ 8, 72,255,199, 65, 9,194, 65, 15,183,144, 0, 2, 0, 0, 68, -/* 0x0510 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, -/* 0x0520 */ 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,133, -/* 0x0530 */ 219,141, 4, 2,102, 65,137,128, 0, 2, 0, 0,116, 33,235, 45, -/* 0x0540 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1, -/* 0x0550 */ 102, 41,194,133,219,102, 65,137,144, 0, 2, 0, 0,116, 14,129, -/* 0x0560 */ 254,255, 0, 0, 0, 15,142, 97,255,255,255,235,120,129,254,255, -/* 0x0570 */ 0, 0, 0,127,112, 72, 99,198, 65,129,251,255,255,255, 0, 77, -/* 0x0580 */ 141, 4, 65,119, 26, 76, 57,231, 15,132, 67, 7, 0, 0, 15,182, -/* 0x0590 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, -/* 0x05a0 */ 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, -/* 0x05b0 */ 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200, -/* 0x05c0 */ 193,248, 5,141, 4, 2,102, 65,137, 0,235,161, 65, 41,195, 65, -/* 0x05d0 */ 41,194,137,208,102,193,232, 5,141,116, 54, 1,102, 41,194,102, -/* 0x05e0 */ 65,137, 16,235,136, 72,139, 76, 36,232, 68,137,248, 65,255,199, -/* 0x05f0 */ 65,137,245, 64,136, 52, 1,131,124, 36,200, 3,127, 13,199, 68, -/* 0x0600 */ 36,200, 0, 0, 0, 0,233,166, 6, 0, 0,139, 84, 36,200,139, -/* 0x0610 */ 68, 36,200,131,234, 3,131,232, 6,131,124, 36,200, 9, 15, 79, -/* 0x0620 */ 208,137, 84, 36,200,233,135, 6, 0, 0, 65, 41,195, 65, 41,194, -/* 0x0630 */ 137,208,102,193,232, 5,102, 41,194, 72,139, 68, 36,216, 65,129, -/* 0x0640 */ 251,255,255,255, 0,102, 65,137, 17, 72,141, 52, 88,119, 26, 76, -/* 0x0650 */ 57,231, 15,132,121, 6, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x0660 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183,150,128, 1, 0, 0, -/* 0x0670 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, -/* 0x0680 */ 78, 65,137,195,184, 0, 8, 0, 0, 76,139, 76, 36,216, 41,200, -/* 0x0690 */ 139, 76, 36,196, 68,137,116, 36,196,193,248, 5,141, 4, 2,139, -/* 0x06a0 */ 84, 36,192,137, 76, 36,192,102,137,134,128, 1, 0, 0, 49,192, -/* 0x06b0 */ 131,124, 36,200, 6,137, 84, 36,188, 15,159,192, 73,129,193,100, -/* 0x06c0 */ 6, 0, 0,141, 4, 64,137, 68, 36,200,233, 84, 2, 0, 0, 65, -/* 0x06d0 */ 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129, -/* 0x06e0 */ 251,255,255,255, 0,102,137,150,128, 1, 0, 0,119, 26, 76, 57, -/* 0x06f0 */ 231, 15,132,218, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, -/* 0x0700 */ 227, 8, 72,255,199, 65, 9,194, 15,183,150,152, 1, 0, 0, 68, -/* 0x0710 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131, -/* 0x0720 */ 208, 0, 0, 0, 65,184, 0, 8, 0, 0, 65,137,195, 72,193,227, -/* 0x0730 */ 5, 68,137,192, 41,200,193,248, 5,141, 4, 2,102,137,134,152, -/* 0x0740 */ 1, 0, 0, 72,139, 68, 36,216, 72, 1,216, 65,129,251,255,255, -/* 0x0750 */ 255, 0, 72,141, 52,104,119, 26, 76, 57,231, 15,132,112, 5, 0, -/* 0x0760 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x0770 */ 9,194, 15,183,150,224, 1, 0, 0, 68,137,216,193,232, 11, 15, -/* 0x0780 */ 183,202, 15,175,193, 65, 57,194,115, 79, 65, 41,200, 65,137,195, -/* 0x0790 */ 65,193,248, 5, 69,133,255, 66,141, 4, 2,102,137,134,224, 1, -/* 0x07a0 */ 0, 0, 15,132, 41, 5, 0, 0, 49,192,131,124, 36,200, 6, 72, -/* 0x07b0 */ 139, 92, 36,232, 15,159,192,141, 68, 0, 9,137, 68, 36,200, 68, -/* 0x07c0 */ 137,248, 68, 41,240, 68, 15,182, 44, 3, 68,137,248, 65,255,199, -/* 0x07d0 */ 68,136, 44, 3,233,216, 4, 0, 0, 65, 41,195, 65, 41,194,137, -/* 0x07e0 */ 208,102,193,232, 5,102, 41,194,102,137,150,224, 1, 0, 0,233, -/* 0x07f0 */ 17, 1, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, -/* 0x0800 */ 102, 41,194, 65,129,251,255,255,255, 0,102,137,150,152, 1, 0, -/* 0x0810 */ 0,119, 26, 76, 57,231, 15,132,181, 4, 0, 0, 15,182, 7, 65, -/* 0x0820 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150, -/* 0x0830 */ 176, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x0840 */ 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 41,200,193, -/* 0x0850 */ 248, 5,141, 4, 2,102,137,134,176, 1, 0, 0,139, 68, 36,196, -/* 0x0860 */ 233,152, 0, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, -/* 0x0870 */ 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150,176, 1, -/* 0x0880 */ 0, 0,119, 26, 76, 57,231, 15,132, 68, 4, 0, 0, 15,182, 7, -/* 0x0890 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, -/* 0x08a0 */ 150,200, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175, -/* 0x08b0 */ 193, 65, 57,194,115, 29, 65,137,195,184, 0, 8, 0, 0, 41,200, -/* 0x08c0 */ 193,248, 5,141, 4, 2,102,137,134,200, 1, 0, 0,139, 68, 36, -/* 0x08d0 */ 192,235, 34, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, -/* 0x08e0 */ 41,194,139, 68, 36,188,102,137,150,200, 1, 0, 0,139, 84, 36, -/* 0x08f0 */ 192,137, 84, 36,188,139, 76, 36,196,137, 76, 36,192, 68,137,116, -/* 0x0900 */ 36,196, 65,137,198, 49,192,131,124, 36,200, 6, 76,139, 76, 36, -/* 0x0910 */ 216, 15,159,192, 73,129,193,104, 10, 0, 0,141, 68, 64, 8,137, -/* 0x0920 */ 68, 36,200, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15, -/* 0x0930 */ 132,156, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x0940 */ 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, -/* 0x0950 */ 15,183,202, 15,175,193, 65, 57,194,115, 39, 65,137,195,184, 0, -/* 0x0960 */ 8, 0, 0, 69, 49,237, 41,200,193,248, 5,141, 4, 2,102, 65, -/* 0x0970 */ 137, 1, 72, 99, 68, 36,184, 72,193,224, 4, 77,141, 68, 1, 4, -/* 0x0980 */ 235,120, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, -/* 0x0990 */ 194, 65,129,251,255,255,255, 0,102, 65,137, 17,119, 26, 76, 57, -/* 0x09a0 */ 231, 15,132, 42, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, -/* 0x09b0 */ 227, 8, 72,255,199, 65, 9,194, 65, 15,183, 81, 2, 68,137,216, -/* 0x09c0 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 52, 65,137, -/* 0x09d0 */ 195,184, 0, 8, 0, 0, 65,189, 8, 0, 0, 0, 41,200,193,248, -/* 0x09e0 */ 5,141, 4, 2,102, 65,137, 65, 2, 72, 99, 68, 36,184, 72,193, -/* 0x09f0 */ 224, 4, 77,141,132, 1, 4, 1, 0, 0, 65,185, 3, 0, 0, 0, -/* 0x0a00 */ 235, 39, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, 77,141, -/* 0x0a10 */ 129, 4, 2, 0, 0, 65,189, 16, 0, 0, 0,102, 41,194,102, 65, -/* 0x0a20 */ 137, 81, 2, 65,185, 8, 0, 0, 0, 68,137,203,189, 1, 0, 0, -/* 0x0a30 */ 0, 72, 99,197, 65,129,251,255,255,255, 0, 73,141, 52, 64,119, -/* 0x0a40 */ 26, 76, 57,231, 15,132,135, 2, 0, 0, 15,182, 7, 65,193,226, -/* 0x0a50 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 14, 68,137, -/* 0x0a60 */ 216,193,232, 11, 15,183,209, 15,175,194, 65, 57,194,115, 23, 65, -/* 0x0a70 */ 137,195,184, 0, 8, 0, 0, 1,237, 41,208,193,248, 5,141, 4, -/* 0x0a80 */ 1,102,137, 6,235, 22, 65, 41,195, 65, 41,194,137,200,102,193, -/* 0x0a90 */ 232, 5,141,108, 45, 1,102, 41,193,102,137, 14,255,203,117,145, -/* 0x0aa0 */ 184, 1, 0, 0, 0, 68,137,201,211,224, 41,197, 68, 1,237,131, -/* 0x0ab0 */ 124, 36,200, 3, 15,143,194, 1, 0, 0,131, 68, 36,200, 7,184, -/* 0x0ac0 */ 3, 0, 0, 0,131,253, 4, 15, 76,197, 72,139, 92, 36,216, 65, -/* 0x0ad0 */ 184, 1, 0, 0, 0, 72,152, 72,193,224, 7, 76,141,140, 3, 96, -/* 0x0ae0 */ 3, 0, 0,187, 6, 0, 0, 0, 73, 99,192, 65,129,251,255,255, -/* 0x0af0 */ 255, 0, 73,141, 52, 65,119, 26, 76, 57,231, 15,132,208, 1, 0, -/* 0x0b00 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x0b10 */ 9,194, 15,183, 22, 68,137,216,193,232, 11, 15,183,202, 15,175, -/* 0x0b20 */ 193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 69, 1, -/* 0x0b30 */ 192, 41,200,193,248, 5,141, 4, 2,102,137, 6,235, 23, 65, 41, -/* 0x0b40 */ 195, 65, 41,194,137,208,102,193,232, 5, 71,141, 68, 0, 1,102, -/* 0x0b50 */ 41,194,102,137, 22,255,203,117,143, 65,131,232, 64, 65,131,248, -/* 0x0b60 */ 3, 69,137,198, 15,142, 13, 1, 0, 0, 65,131,230, 1, 68,137, -/* 0x0b70 */ 192,209,248, 65,131,206, 2, 65,131,248, 13,141,112,255,127, 35, -/* 0x0b80 */ 137,241, 72,139, 92, 36,216, 73, 99,192, 65,211,230, 72, 1,192, -/* 0x0b90 */ 68,137,242, 72,141, 20, 83, 72, 41,194, 76,141,138, 94, 5, 0, -/* 0x0ba0 */ 0,235, 81,141,112,251, 65,129,251,255,255,255, 0,119, 26, 76, -/* 0x0bb0 */ 57,231, 15,132, 25, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x0bc0 */ 193,227, 8, 72,255,199, 65, 9,194, 65,209,235, 69, 1,246, 69, -/* 0x0bd0 */ 57,218,114, 7, 69, 41,218, 65,131,206, 1,255,206,117,199, 76, -/* 0x0be0 */ 139, 76, 36,216, 65,193,230, 4,190, 4, 0, 0, 0, 73,129,193, -/* 0x0bf0 */ 68, 6, 0, 0, 65,189, 1, 0, 0, 0,187, 1, 0, 0, 0, 72, -/* 0x0c00 */ 99,195, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, -/* 0x0c10 */ 57,231, 15,132,185, 0, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x0c20 */ 193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216, -/* 0x0c30 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137, -/* 0x0c40 */ 195,184, 0, 8, 0, 0, 1,219, 41,200,193,248, 5,141, 4, 2, -/* 0x0c50 */ 102, 65,137, 0,235, 26, 65, 41,195, 65, 41,194,137,208,102,193, -/* 0x0c60 */ 232, 5,141, 92, 27, 1, 69, 9,238,102, 41,194,102, 65,137, 16, -/* 0x0c70 */ 69, 1,237,255,206,117,136, 65,255,198,116, 64,131,197, 2, 69, -/* 0x0c80 */ 57,254,119, 77, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 68, -/* 0x0c90 */ 15,182, 44, 2, 68,137,248, 65,255,199,255,205, 68,136, 44, 2, -/* 0x0ca0 */ 15,149,194, 49,192, 68, 59,124, 36,228, 15,146,192,133,194,117, -/* 0x0cb0 */ 211, 68, 59,124, 36,228, 15,130, 69,247,255,255, 65,129,251,255, -/* 0x0cc0 */ 255,255, 0,119, 22, 76, 57,231,184, 1, 0, 0, 0,116, 35,235, -/* 0x0cd0 */ 7,184, 1, 0, 0, 0,235, 26, 72,255,199,137,248, 43, 68, 36, -/* 0x0ce0 */ 248, 72,139, 76, 36,240, 72,139, 92, 36, 56,137, 1, 68,137, 59, -/* 0x0cf0 */ 49,192, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, 65, 87, 72,141, -/* 0x0d00 */ 71, 4, 69, 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, 85, 69, -/* 0x0d10 */ 49,237, 65, 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, 36,216, -/* 0x0d20 */ 184, 1, 0, 0, 0, 72,137,116, 36,248, 76,137, 68, 36,232,137, -/* 0x0d30 */ 195, 68,137, 76, 36,228, 15,182, 79, 2,211,227,137,217, 72,139, -/* 0x0d40 */ 92, 36, 56,255,201,137, 76, 36,212, 15,182, 79, 1,211,224, 72, -/* 0x0d50 */ 139, 76, 36,240,255,200,137, 68, 36,208, 15,182, 7,199, 1, 0, -/* 0x0d60 */ 0, 0, 0,199, 68, 36,200, 0, 0, 0, 0,199, 68, 36,196, 1, -/* 0x0d70 */ 0, 0, 0,199, 68, 36,192, 1, 0, 0, 0,199, 68, 36,188, 1, -/* 0x0d80 */ 0, 0, 0,199, 3, 0, 0, 0, 0,137, 68, 36,204, 15,182, 79, -/* 0x0d90 */ 1, 1,193,184, 0, 3, 0, 0,211,224, 49,201,141,184, 54, 7, -/* 0x0da0 */ 0, 0, 65, 57,255,115, 19, 72,139, 92, 36,216,137,200,255,193, -/* 0x0db0 */ 57,249,102,199, 4, 67, 0, 4,235,235, 72,139,124, 36,248,137, -/* 0x0dc0 */ 208, 69, 49,210, 65,131,203,255, 49,210, 73,137,252, 73, 1,196, -/* 0x0dd0 */ 76, 57,231, 15,132,239, 8, 0, 0, 15,182, 7, 65,193,226, 8, -/* 0x0de0 */ 255,194, 72,255,199, 65, 9,194,131,250, 4,126,227, 68, 59,124, -/* 0x0df0 */ 36,228, 15,131,218, 8, 0, 0,139, 68, 36,212, 72, 99, 92, 36, -/* 0x0e00 */ 200, 72,139, 84, 36,216, 68, 33,248,137, 68, 36,184, 72, 99,108, -/* 0x0e10 */ 36,184, 72,137,216, 72,193,224, 4, 72, 1,232, 65,129,251,255, -/* 0x0e20 */ 255,255, 0, 76,141, 12, 66,119, 26, 76, 57,231, 15,132,150, 8, -/* 0x0e30 */ 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, -/* 0x0e40 */ 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15,183,202, -/* 0x0e50 */ 15,175,193, 65, 57,194, 15,131,197, 1, 0, 0, 65,137,195,184, -/* 0x0e60 */ 0, 8, 0, 0, 72,139, 92, 36,216, 41,200, 15,182, 76, 36,204, -/* 0x0e70 */ 190, 1, 0, 0, 0,193,248, 5,141, 4, 2, 65, 15,182,213,102, -/* 0x0e80 */ 65,137, 1,139, 68, 36,208, 68, 33,248,211,224,185, 8, 0, 0, -/* 0x0e90 */ 0, 43, 76, 36,204,211,250, 1,208,105,192, 0, 3, 0, 0,131, -/* 0x0ea0 */ 124, 36,200, 6,137,192, 76,141,140, 67,108, 14, 0, 0, 15,142, -/* 0x0eb0 */ 184, 0, 0, 0, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 15, -/* 0x0ec0 */ 182, 44, 2, 1,237, 72, 99,214,137,235,129,227, 0, 1, 0, 0, -/* 0x0ed0 */ 65,129,251,255,255,255, 0, 72, 99,195, 73,141, 4, 65, 76,141, -/* 0x0ee0 */ 4, 80,119, 26, 76, 57,231, 15,132,219, 7, 0, 0, 15,182, 7, -/* 0x0ef0 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15, -/* 0x0f00 */ 183,144, 0, 2, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, -/* 0x0f10 */ 175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 1, -/* 0x0f20 */ 246, 41,200,193,248, 5,133,219,141, 4, 2,102, 65,137,128, 0, -/* 0x0f30 */ 2, 0, 0,116, 33,235, 45, 65, 41,195, 65, 41,194,137,208,102, -/* 0x0f40 */ 193,232, 5,141,116, 54, 1,102, 41,194,133,219,102, 65,137,144, -/* 0x0f50 */ 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, 15,142, 97,255, -/* 0x0f60 */ 255,255,235,120,129,254,255, 0, 0, 0,127,112, 72, 99,198, 65, -/* 0x0f70 */ 129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15, -/* 0x0f80 */ 132, 67, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, -/* 0x0f90 */ 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, -/* 0x0fa0 */ 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195,184, 0, -/* 0x0fb0 */ 8, 0, 0, 1,246, 41,200,193,248, 5,141, 4, 2,102, 65,137, -/* 0x0fc0 */ 0,235,161, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141, -/* 0x0fd0 */ 116, 54, 1,102, 41,194,102, 65,137, 16,235,136, 72,139, 76, 36, -/* 0x0fe0 */ 232, 68,137,248, 65,255,199, 65,137,245, 64,136, 52, 1,131,124, -/* 0x0ff0 */ 36,200, 3,127, 13,199, 68, 36,200, 0, 0, 0, 0,233,166, 6, -/* 0x1000 */ 0, 0,139, 84, 36,200,139, 68, 36,200,131,234, 3,131,232, 6, -/* 0x1010 */ 131,124, 36,200, 9, 15, 79,208,137, 84, 36,200,233,135, 6, 0, -/* 0x1020 */ 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, -/* 0x1030 */ 72,139, 68, 36,216, 65,129,251,255,255,255, 0,102, 65,137, 17, -/* 0x1040 */ 72,141, 52, 88,119, 26, 76, 57,231, 15,132,121, 6, 0, 0, 15, -/* 0x1050 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x1060 */ 15,183,150,128, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, -/* 0x1070 */ 15,175,193, 65, 57,194,115, 78, 65,137,195,184, 0, 8, 0, 0, -/* 0x1080 */ 76,139, 76, 36,216, 41,200,139, 76, 36,196, 68,137,116, 36,196, -/* 0x1090 */ 193,248, 5,141, 4, 2,139, 84, 36,192,137, 76, 36,192,102,137, -/* 0x10a0 */ 134,128, 1, 0, 0, 49,192,131,124, 36,200, 6,137, 84, 36,188, -/* 0x10b0 */ 15,159,192, 73,129,193,100, 6, 0, 0,141, 4, 64,137, 68, 36, -/* 0x10c0 */ 200,233, 84, 2, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193, -/* 0x10d0 */ 232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150,128, -/* 0x10e0 */ 1, 0, 0,119, 26, 76, 57,231, 15,132,218, 5, 0, 0, 15,182, -/* 0x10f0 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15, -/* 0x1100 */ 183,150,152, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15, -/* 0x1110 */ 175,193, 65, 57,194, 15,131,208, 0, 0, 0, 65,184, 0, 8, 0, -/* 0x1120 */ 0, 65,137,195, 72,193,227, 5, 68,137,192, 41,200,193,248, 5, -/* 0x1130 */ 141, 4, 2,102,137,134,152, 1, 0, 0, 72,139, 68, 36,216, 72, -/* 0x1140 */ 1,216, 65,129,251,255,255,255, 0, 72,141, 52,104,119, 26, 76, -/* 0x1150 */ 57,231, 15,132,112, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x1160 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183,150,224, 1, 0, 0, -/* 0x1170 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, -/* 0x1180 */ 79, 65, 41,200, 65,137,195, 65,193,248, 5, 69,133,255, 66,141, -/* 0x1190 */ 4, 2,102,137,134,224, 1, 0, 0, 15,132, 41, 5, 0, 0, 49, -/* 0x11a0 */ 192,131,124, 36,200, 6, 72,139, 92, 36,232, 15,159,192,141, 68, -/* 0x11b0 */ 0, 9,137, 68, 36,200, 68,137,248, 68, 41,240, 68, 15,182, 44, -/* 0x11c0 */ 3, 68,137,248, 65,255,199, 68,136, 44, 3,233,216, 4, 0, 0, -/* 0x11d0 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194,102, -/* 0x11e0 */ 137,150,224, 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, 65, 41, -/* 0x11f0 */ 194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, -/* 0x1200 */ 0,102,137,150,152, 1, 0, 0,119, 26, 76, 57,231, 15,132,181, -/* 0x1210 */ 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, -/* 0x1220 */ 199, 65, 9,194, 15,183,150,176, 1, 0, 0, 68,137,216,193,232, -/* 0x1230 */ 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, -/* 0x1240 */ 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134,176, -/* 0x1250 */ 1, 0, 0,139, 68, 36,196,233,152, 0, 0, 0, 65, 41,195, 65, -/* 0x1260 */ 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255, -/* 0x1270 */ 255, 0,102,137,150,176, 1, 0, 0,119, 26, 76, 57,231, 15,132, -/* 0x1280 */ 68, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, -/* 0x1290 */ 255,199, 65, 9,194, 15,183,150,200, 1, 0, 0, 68,137,216,193, -/* 0x12a0 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 29, 65,137,195, -/* 0x12b0 */ 184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137,134, -/* 0x12c0 */ 200, 1, 0, 0,139, 68, 36,192,235, 34, 65, 41,195, 65, 41,194, -/* 0x12d0 */ 137,208,102,193,232, 5,102, 41,194,139, 68, 36,188,102,137,150, -/* 0x12e0 */ 200, 1, 0, 0,139, 84, 36,192,137, 84, 36,188,139, 76, 36,196, -/* 0x12f0 */ 137, 76, 36,192, 68,137,116, 36,196, 65,137,198, 49,192,131,124, -/* 0x1300 */ 36,200, 6, 76,139, 76, 36,216, 15,159,192, 73,129,193,104, 10, -/* 0x1310 */ 0, 0,141, 68, 64, 8,137, 68, 36,200, 65,129,251,255,255,255, -/* 0x1320 */ 0,119, 26, 76, 57,231, 15,132,156, 3, 0, 0, 15,182, 7, 65, -/* 0x1330 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, -/* 0x1340 */ 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, -/* 0x1350 */ 115, 39, 65,137,195,184, 0, 8, 0, 0, 69, 49,237, 41,200,193, -/* 0x1360 */ 248, 5,141, 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, 72,193, -/* 0x1370 */ 224, 4, 77,141, 68, 1, 4,235,120, 65, 41,195, 65, 41,194,137, -/* 0x1380 */ 208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102, -/* 0x1390 */ 65,137, 17,119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, 15,182, -/* 0x13a0 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, -/* 0x13b0 */ 15,183, 81, 2, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x13c0 */ 65, 57,194,115, 52, 65,137,195,184, 0, 8, 0, 0, 65,189, 8, -/* 0x13d0 */ 0, 0, 0, 41,200,193,248, 5,141, 4, 2,102, 65,137, 65, 2, -/* 0x13e0 */ 72, 99, 68, 36,184, 72,193,224, 4, 77,141,132, 1, 4, 1, 0, -/* 0x13f0 */ 0, 65,185, 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41,194,137, -/* 0x1400 */ 208,102,193,232, 5, 77,141,129, 4, 2, 0, 0, 65,189, 16, 0, -/* 0x1410 */ 0, 0,102, 41,194,102, 65,137, 81, 2, 65,185, 8, 0, 0, 0, -/* 0x1420 */ 68,137,203,189, 1, 0, 0, 0, 72, 99,197, 65,129,251,255,255, -/* 0x1430 */ 255, 0, 73,141, 52, 64,119, 26, 76, 57,231, 15,132,135, 2, 0, -/* 0x1440 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, -/* 0x1450 */ 9,194, 15,183, 14, 68,137,216,193,232, 11, 15,183,209, 15,175, -/* 0x1460 */ 194, 65, 57,194,115, 23, 65,137,195,184, 0, 8, 0, 0, 1,237, -/* 0x1470 */ 41,208,193,248, 5,141, 4, 1,102,137, 6,235, 22, 65, 41,195, -/* 0x1480 */ 65, 41,194,137,200,102,193,232, 5,141,108, 45, 1,102, 41,193, -/* 0x1490 */ 102,137, 14,255,203,117,145,184, 1, 0, 0, 0, 68,137,201,211, -/* 0x14a0 */ 224, 41,197, 68, 1,237,131,124, 36,200, 3, 15,143,194, 1, 0, -/* 0x14b0 */ 0,131, 68, 36,200, 7,184, 3, 0, 0, 0,131,253, 4, 15, 76, -/* 0x14c0 */ 197, 72,139, 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, 72,193, -/* 0x14d0 */ 224, 7, 76,141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, 0, 73, -/* 0x14e0 */ 99,192, 65,129,251,255,255,255, 0, 73,141, 52, 65,119, 26, 76, -/* 0x14f0 */ 57,231, 15,132,208, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65, -/* 0x1500 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183, 22, 68,137,216,193, -/* 0x1510 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195, -/* 0x1520 */ 184, 0, 8, 0, 0, 69, 1,192, 41,200,193,248, 5,141, 4, 2, -/* 0x1530 */ 102,137, 6,235, 23, 65, 41,195, 65, 41,194,137,208,102,193,232, -/* 0x1540 */ 5, 71,141, 68, 0, 1,102, 41,194,102,137, 22,255,203,117,143, -/* 0x1550 */ 65,131,232, 64, 65,131,248, 3, 69,137,198, 15,142, 13, 1, 0, -/* 0x1560 */ 0, 65,131,230, 1, 68,137,192,209,248, 65,131,206, 2, 65,131, -/* 0x1570 */ 248, 13,141,112,255,127, 35,137,241, 72,139, 92, 36,216, 73, 99, -/* 0x1580 */ 192, 65,211,230, 72, 1,192, 68,137,242, 72,141, 20, 83, 72, 41, -/* 0x1590 */ 194, 76,141,138, 94, 5, 0, 0,235, 81,141,112,251, 65,129,251, -/* 0x15a0 */ 255,255,255, 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, 0, 15, -/* 0x15b0 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x15c0 */ 65,209,235, 69, 1,246, 69, 57,218,114, 7, 69, 41,218, 65,131, -/* 0x15d0 */ 206, 1,255,206,117,199, 76,139, 76, 36,216, 65,193,230, 4,190, -/* 0x15e0 */ 4, 0, 0, 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, 0, 0, -/* 0x15f0 */ 0,187, 1, 0, 0, 0, 72, 99,195, 65,129,251,255,255,255, 0, -/* 0x1600 */ 77,141, 4, 65,119, 26, 76, 57,231, 15,132,185, 0, 0, 0, 15, -/* 0x1610 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, -/* 0x1620 */ 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, -/* 0x1630 */ 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1,219, 41, -/* 0x1640 */ 200,193,248, 5,141, 4, 2,102, 65,137, 0,235, 26, 65, 41,195, -/* 0x1650 */ 65, 41,194,137,208,102,193,232, 5,141, 92, 27, 1, 69, 9,238, -/* 0x1660 */ 102, 41,194,102, 65,137, 16, 69, 1,237,255,206,117,136, 65,255, -/* 0x1670 */ 198,116, 64,131,197, 2, 69, 57,254,119, 77, 72,139, 84, 36,232, -/* 0x1680 */ 68,137,248, 68, 41,240, 68, 15,182, 44, 2, 68,137,248, 65,255, -/* 0x1690 */ 199,255,205, 68,136, 44, 2, 15,149,194, 49,192, 68, 59,124, 36, -/* 0x16a0 */ 228, 15,146,192,133,194,117,211, 68, 59,124, 36,228, 15,130, 69, -/* 0x16b0 */ 247,255,255, 65,129,251,255,255,255, 0,119, 22, 76, 57,231,184, -/* 0x16c0 */ 1, 0, 0, 0,116, 35,235, 7,184, 1, 0, 0, 0,235, 26, 72, -/* 0x16d0 */ 255,199,137,248, 43, 68, 36,248, 72,139, 76, 36,240, 72,139, 92, -/* 0x16e0 */ 36, 56,137, 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, 93, 65, -/* 0x16f0 */ 94, 65, 95, 72,139,117,248, 72,139,125, 16,139, 75, 4, 72, 1, -/* 0x1700 */ 206,139, 19, 72, 1,215,201, 89, 72,137,240, 72, 41,200, 90, 72, -/* 0x1710 */ 41,215, 89,137, 57, 91, 93,195,104, 30, 0, 0, 0, 90,232, 0, -/* 0x1720 */ 0, 0, 0, 80, 82, 79, 84, 95, 69, 88, 69, 67,124, 80, 82, 79, -/* 0x1730 */ 84, 95, 87, 82, 73, 84, 69, 32,102, 97,105,108,101,100, 46, 10, -/* 0x1740 */ 0, 94,106, 2, 95,106, 1, 88, 15, 5,106,127, 95,106, 60, 88, -/* 0x1750 */ 15, 5, 90, 72,141,114,226, 72,137,241,173, 72, 41,193,173, 72, -/* 0x1760 */ 1,200, 72,137, 69, 40,173, 72, 1,200, 72,137, 69, 16,173, 72, -/* 0x1770 */ 141, 60, 1, 72,141,119, 24, 80, 80,173,173, 72, 1,198,173,173, -/* 0x1780 */ 72,137,249,129,225,255, 15, 0, 0, 72, 1,200, 80, 72, 41,207, -/* 0x1790 */ 87, 72, 41,200, 72, 1,207, 81,232, 74, 0, 0, 0,131,249, 73, -/* 0x17a0 */ 117, 68, 83, 87, 72,141, 76, 55,253, 94, 86, 91,235, 47, 72, 57, -/* 0x17b0 */ 206,115, 50, 86, 94,172, 60,128,114, 10, 60,143,119, 6,128,126, -/* 0x17c0 */ 254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,206,115, 22, 86, -/* 0x17d0 */ 173, 40,208,117,223, 95, 15,200, 41,248, 1,216,171, 72, 57,206, -/* 0x17e0 */ 115, 3,172,235,223, 91,195, 15,182, 78, 5, 81, 15,182, 78, 6, -/* 0x17f0 */ 81, 80, 72,137,225, 87, 82,173,137,194,173, 80, 81, 87, 82, 86, -/* 0x1800 */ 72,139, 69,168, 3, 80,252, 72,139, 69,208, 3, 80,252,232,110, -/* 0x1810 */ 0, 0, 0,106, 0, 65, 89,106, 0, 65, 88,106, 50, 65, 90,106, -/* 0x1820 */ 3, 90, 72,139,117,232, 72,139,125,224,106, 9, 88, 15, 5, 72, -/* 0x1830 */ 57,248,116, 1,244,139, 77,216, 72,137,199, 72,139,117,240,131, -/* 0x1840 */ 193, 3,193,233, 2,243,165, 95, 94, 90, 89, 65, 88, 88,255,208, -/* 0x1850 */ 95, 94, 72,141, 4, 55,199, 0, 15, 5, 95, 94,198, 64, 4,195, -/* 0x1860 */ 72,137, 69, 16, 90, 89, 88, 72,133,201,116, 2,255,208, 89, 95, -/* 0x1870 */ 94,106, 5, 90,106, 10, 88, 15, 5, 95, 94,106, 11, 88, 93, 90, -/* 0x1880 */ 195,139,117,216, 1,214, 88, 80, 3,112,252,106, 0, 65, 89,106, -/* 0x1890 */ 0, 65, 88,106, 34, 65, 90,106, 7, 90, 72,137,117,248,106, 0, -/* 0x18a0 */ 95,106, 9, 88, 15, 5, 72, 61, 0,240,255,255,114, 1,244, 72, -/* 0x18b0 */ 137, 69,240, 72,137,199, 88,139, 77,216, 72,139,117,224,131,193, -/* 0x18c0 */ 3,193,233, 2,243,165, 94, 89, 81, 87,131,193, 3,193,233, 2, -/* 0x18d0 */ 243,165, 72,139,117,168, 72,137,125,168,139, 78,252,243,164, 72, -/* 0x18e0 */ 139,117,208, 72,137,125,208,139, 78,252,243,164, 72,137,198, 87, -/* 0x18f0 */ 139, 78,252,243,164,195,102,105,108,101, 32,102,111,114,109, 97, -/* 0x1900 */ 116, 32,101,108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, -/* 0x1910 */ 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97, -/* 0x1920 */ 109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, -/* 0x1930 */ 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, -/* 0x1940 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, -/* 0x1950 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111, -/* 0x1960 */ 102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, -/* 0x1970 */ 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, -/* 0x1980 */ 32, 32, 48, 48, 48, 48, 48, 48, 49, 54, 32, 32, 48, 48, 48, 48, -/* 0x1990 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x19a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x19c0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x19d0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, -/* 0x19e0 */ 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x19f0 */ 48, 48, 54, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a00 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a10 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1a20 */ 53, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1a30 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, -/* 0x1a40 */ 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, -/* 0x1a50 */ 48, 48, 48, 48, 48, 98, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1a70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1a80 */ 48, 48, 48, 98, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1a90 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x1aa0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, -/* 0x1ab0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57, -/* 0x1ac0 */ 101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ad0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ae0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55, 51, 32, -/* 0x1af0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1b00 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1b10 */ 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, -/* 0x1b20 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, 48, -/* 0x1b30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1b50 */ 32, 48, 48, 48, 48, 48, 50, 49, 49, 32, 32, 50, 42, 42, 48, 32, -/* 0x1b60 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x1b70 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, -/* 0x1b80 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, -/* 0x1b90 */ 48, 48, 48, 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ba0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1bb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1bc0 */ 50, 97, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x1bd0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x1be0 */ 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x1bf0 */ 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, -/* 0x1c00 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c10 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c20 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 48, 53, 32, 32, 50, -/* 0x1c30 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x1c40 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, -/* 0x1c50 */ 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, -/* 0x1c60 */ 102, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c70 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c80 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 99,102, 99, -/* 0x1c90 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1ca0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, -/* 0x1cb0 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, -/* 0x1cc0 */ 48, 48, 48, 49, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1cd0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ce0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x1cf0 */ 54,102, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x1d00 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x1d10 */ 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, -/* 0x1d20 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1d30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1d40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1d50 */ 48, 48, 49, 55, 48, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1d60 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1d70 */ 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, -/* 0x1d80 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 51, 97, 32, 32, 48, 48, 48, -/* 0x1d90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1da0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1db0 */ 32, 48, 48, 48, 48, 49, 55, 48, 55, 32, 32, 50, 42, 42, 48, 32, -/* 0x1dc0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x1dd0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, -/* 0x1de0 */ 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x1df0 */ 48, 48, 49, 98, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x1e20 */ 55, 52, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x1e30 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, -/* 0x1e40 */ 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, -/* 0x1e50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, -/* 0x1e60 */ 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, -/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, -/* 0x1e80 */ 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, -/* 0x1ea0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, -/* 0x1eb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, -/* 0x1ec0 */ 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ed0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, -/* 0x1ee0 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, -/* 0x1ef0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, -/* 0x1f00 */ 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f10 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, -/* 0x1f20 */ 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f30 */ 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, -/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f50 */ 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, -/* 0x1f60 */ 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f70 */ 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, -/* 0x1f80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, -/* 0x1f90 */ 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, -/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, -/* 0x1fb0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fc0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, -/* 0x1fd0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fe0 */ 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ff0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, -/* 0x2000 */ 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2010 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, -/* 0x2020 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x2030 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, -/* 0x2040 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2050 */ 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, -/* 0x2060 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x2070 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x2080 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2090 */ 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x20b0 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x20c0 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x20d0 */ 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x20e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x20f0 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, -/* 0x2100 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2110 */ 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, -/* 0x2120 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, -/* 0x2130 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, -/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, -/* 0x2150 */ 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x2160 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, -/* 0x2170 */ 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x2180 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x2190 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x21a0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21b0 */ 97, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, -/* 0x21c0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, -/* 0x21d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,100, 10, -/* 0x21e0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x21f0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, -/* 0x2200 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2210 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2220 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x2230 */ 48, 48, 48, 48, 48, 48, 48, 48, 97,101, 32, 82, 95, 88, 56, 54, -/* 0x2240 */ 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x2250 */ 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2260 */ 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2270 */ 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, -/* 0x2280 */ 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, -/* 0x2290 */ 65, 73, 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102, -/* 0x22a0 */ 102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x22b0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x22c0 */ 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x22d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, -/* 0x22e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, -/* 0x22f0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2300 */ 57, 53, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, -/* 0x2310 */ 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, -/* 0x2320 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, -/* 0x2330 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, -/* 0x2340 */ 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, -/* 0x2350 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102, -/* 0x2360 */ 102,102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, -/* 0x2370 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x2380 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, -/* 0x2390 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x23a0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x23b0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 56, 97, 32, 82, 95, 88, 56, 54, -/* 0x23d0 */ 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x23e0 */ 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x23f0 */ 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x2400 */ 48, 48, 48, 48, 48, 48, 48, 53, 50, 32, 82, 95, 88, 56, 54, 95, -/* 0x2410 */ 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, -/* 0x2420 */ 65, 73, 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102, -/* 0x2430 */ 102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x2440 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x2450 */ 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, -/* 0x2460 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, -/* 0x2470 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2480 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2490 */ 48, 48, 48, 48, 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, -/* 0x24a0 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x24b0 */ 69, 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x24c0 */ 48, 48, 48, 48, 48, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x24d0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x24e0 */ 91, 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, -/* 0x24f0 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, -/* 0x2500 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x2510 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2520 */ 48, 48, 48, 49, 56, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, -/* 0x2530 */ 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, -/* 0x2540 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102, -/* 0x2550 */ 102,102, 99, 10 +/* 0x00c0 */ 15,133,174, 0, 0, 0,235, 8, 72,255,198,136, 23, 72,255,199, +/* 0x00d0 */ 138, 22, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, 22, +/* 0x00e0 */ 114,230,141, 65, 1,235, 7,255,200, 65,255,211, 17,192, 65,255, +/* 0x00f0 */ 211, 17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17,219,138, +/* 0x0100 */ 22,115,228,131,232, 3,114, 29,193,224, 8, 15,182,210, 9,208, +/* 0x0110 */ 72,255,198,131,240,255, 15,132, 0, 0, 0, 0,209,248, 72, 99, +/* 0x0120 */ 232,114, 56,235, 14, 1,219,117, 8,139, 30, 72,131,238,252, 17, +/* 0x0130 */ 219,114, 40,255,193, 1,219,117, 8,139, 30, 72,131,238,252, 17, +/* 0x0140 */ 219,114, 24, 65,255,211, 17,201, 1,219,117, 8,139, 30, 72,131, +/* 0x0150 */ 238,252, 17,219,115,237,131,193, 2,235, 5, 65,255,211, 17,201, +/* 0x0160 */ 72,129,253, 0,251,255,255,131,209, 2,232, 0, 0, 0, 0,233, +/* 0x0170 */ 92,255,255,255, 87, 94, 65,128,248, 5, 15,133,149, 0, 0, 0, +/* 0x0180 */ 235, 8, 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, 10, +/* 0x0190 */ 139, 30, 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1,235, +/* 0x01a0 */ 7,255,200, 65,255,211, 17,192, 65,255,211, 17,192, 1,219,117, +/* 0x01b0 */ 10,139, 30, 72,131,238,252, 17,219,138, 22,115,228,131,232, 3, +/* 0x01c0 */ 114, 27,193,224, 8, 15,182,210, 9,208, 72,255,198,131,240,255, +/* 0x01d0 */ 15,132, 0, 0, 0, 0,209,248, 72, 99,232,235, 3, 65,255,211, +/* 0x01e0 */ 17,201, 65,255,211, 17,201,117, 24,255,193, 65,255,211, 17,201, +/* 0x01f0 */ 1,219,117, 8,139, 30, 72,131,238,252, 17,219,115,237,131,193, +/* 0x0200 */ 2, 72,129,253, 0,251,255,255,131,209, 1,232, 0, 0, 0, 0, +/* 0x0210 */ 233,117,255,255,255, 87, 94, 65,128,248, 2, 15,133,135, 0, 0, +/* 0x0220 */ 0,235, 8, 72,255,198,136, 23, 72,255,199,138, 22, 1,219,117, +/* 0x0230 */ 10,139, 30, 72,131,238,252, 17,219,138, 22,114,230,141, 65, 1, +/* 0x0240 */ 65,255,211, 17,192, 1,219,117, 10,139, 30, 72,131,238,252, 17, +/* 0x0250 */ 219,138, 22,115,235,131,232, 3,114, 23,193,224, 8, 15,182,210, +/* 0x0260 */ 9,208, 72,255,198,131,240,255, 15,132, 0, 0, 0, 0, 72, 99, +/* 0x0270 */ 232,141, 65, 1, 65,255,211, 17,201, 65,255,211, 17,201,117, 24, +/* 0x0280 */ 137,193,131,192, 2, 65,255,211, 17,201, 1,219,117, 8,139, 30, +/* 0x0290 */ 72,131,238,252, 17,219,115,237, 72,129,253, 0,243,255,255, 17, +/* 0x02a0 */ 193,232, 0, 0, 0, 0,235,131, 87, 94, 65,128,248, 14, 15,133, +/* 0x02b0 */ 0, 0, 0, 0, 85, 72,137,229, 68,139, 9, 73,137,208, 72,137, +/* 0x02c0 */ 242, 72,141,119, 2, 86,138, 7,255,202,136,193, 36, 7,192,233, +/* 0x02d0 */ 3, 72,199,195, 0,253,255,255, 72,211,227,136,193, 72,141,156, +/* 0x02e0 */ 92,136,241,255,255, 72,131,227,192,106, 0, 72, 57,220,117,249, +/* 0x02f0 */ 83, 72,141,123, 8,138, 78,255,255,202,136, 71, 2,136,200,192, +/* 0x0300 */ 233, 4,136, 79, 1, 36, 15,136, 7, 72,141, 79,252, 80, 65, 87, +/* 0x0310 */ 72,141, 71, 4, 69, 49,255, 65, 86, 65,190, 1, 0, 0, 0, 65, +/* 0x0320 */ 85, 69, 49,237, 65, 84, 85, 83, 72,137, 76, 36,240, 72,137, 68, +/* 0x0330 */ 36,216,184, 1, 0, 0, 0, 72,137,116, 36,248, 76,137, 68, 36, +/* 0x0340 */ 232,137,195, 68,137, 76, 36,228, 15,182, 79, 2,211,227,137,217, +/* 0x0350 */ 72,139, 92, 36, 56,255,201,137, 76, 36,212, 15,182, 79, 1,211, +/* 0x0360 */ 224, 72,139, 76, 36,240,255,200,137, 68, 36,208, 15,182, 7,199, +/* 0x0370 */ 1, 0, 0, 0, 0,199, 68, 36,200, 0, 0, 0, 0,199, 68, 36, +/* 0x0380 */ 196, 1, 0, 0, 0,199, 68, 36,192, 1, 0, 0, 0,199, 68, 36, +/* 0x0390 */ 188, 1, 0, 0, 0,199, 3, 0, 0, 0, 0,137, 68, 36,204, 15, +/* 0x03a0 */ 182, 79, 1, 1,193,184, 0, 3, 0, 0,211,224, 49,201,141,184, +/* 0x03b0 */ 54, 7, 0, 0, 65, 57,255,115, 19, 72,139, 92, 36,216,137,200, +/* 0x03c0 */ 255,193, 57,249,102,199, 4, 67, 0, 4,235,235, 72,139,124, 36, +/* 0x03d0 */ 248,137,208, 69, 49,210, 65,131,203,255, 49,210, 73,137,252, 73, +/* 0x03e0 */ 1,196, 76, 57,231, 15,132,239, 8, 0, 0, 15,182, 7, 65,193, +/* 0x03f0 */ 226, 8,255,194, 72,255,199, 65, 9,194,131,250, 4,126,227, 68, +/* 0x0400 */ 59,124, 36,228, 15,131,218, 8, 0, 0,139, 68, 36,212, 72, 99, +/* 0x0410 */ 92, 36,200, 72,139, 84, 36,216, 68, 33,248,137, 68, 36,184, 72, +/* 0x0420 */ 99,108, 36,184, 72,137,216, 72,193,224, 4, 72, 1,232, 65,129, +/* 0x0430 */ 251,255,255,255, 0, 76,141, 12, 66,119, 26, 76, 57,231, 15,132, +/* 0x0440 */ 150, 8, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72, +/* 0x0450 */ 255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, 15, +/* 0x0460 */ 183,202, 15,175,193, 65, 57,194, 15,131,197, 1, 0, 0, 65,137, +/* 0x0470 */ 195,184, 0, 8, 0, 0, 72,139, 92, 36,216, 41,200, 15,182, 76, +/* 0x0480 */ 36,204,190, 1, 0, 0, 0,193,248, 5,141, 4, 2, 65, 15,182, +/* 0x0490 */ 213,102, 65,137, 1,139, 68, 36,208, 68, 33,248,211,224,185, 8, +/* 0x04a0 */ 0, 0, 0, 43, 76, 36,204,211,250, 1,208,105,192, 0, 3, 0, +/* 0x04b0 */ 0,131,124, 36,200, 6,137,192, 76,141,140, 67,108, 14, 0, 0, +/* 0x04c0 */ 15,142,184, 0, 0, 0, 72,139, 84, 36,232, 68,137,248, 68, 41, +/* 0x04d0 */ 240, 15,182, 44, 2, 1,237, 72, 99,214,137,235,129,227, 0, 1, +/* 0x04e0 */ 0, 0, 65,129,251,255,255,255, 0, 72, 99,195, 73,141, 4, 65, +/* 0x04f0 */ 76,141, 4, 80,119, 26, 76, 57,231, 15,132,219, 7, 0, 0, 15, +/* 0x0500 */ 182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, +/* 0x0510 */ 65, 15,183,144, 0, 2, 0, 0, 68,137,216,193,232, 11, 15,183, +/* 0x0520 */ 202, 15,175,193, 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, +/* 0x0530 */ 0, 1,246, 41,200,193,248, 5,133,219,141, 4, 2,102, 65,137, +/* 0x0540 */ 128, 0, 2, 0, 0,116, 33,235, 45, 65, 41,195, 65, 41,194,137, +/* 0x0550 */ 208,102,193,232, 5,141,116, 54, 1,102, 41,194,133,219,102, 65, +/* 0x0560 */ 137,144, 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, 15,142, +/* 0x0570 */ 97,255,255,255,235,120,129,254,255, 0, 0, 0,127,112, 72, 99, +/* 0x0580 */ 198, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, 57, +/* 0x0590 */ 231, 15,132, 67, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x05a0 */ 227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216,193, +/* 0x05b0 */ 232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137,195, +/* 0x05c0 */ 184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,141, 4, 2,102, +/* 0x05d0 */ 65,137, 0,235,161, 65, 41,195, 65, 41,194,137,208,102,193,232, +/* 0x05e0 */ 5,141,116, 54, 1,102, 41,194,102, 65,137, 16,235,136, 72,139, +/* 0x05f0 */ 76, 36,232, 68,137,248, 65,255,199, 65,137,245, 64,136, 52, 1, +/* 0x0600 */ 131,124, 36,200, 3,127, 13,199, 68, 36,200, 0, 0, 0, 0,233, +/* 0x0610 */ 166, 6, 0, 0,139, 84, 36,200,139, 68, 36,200,131,234, 3,131, +/* 0x0620 */ 232, 6,131,124, 36,200, 9, 15, 79,208,137, 84, 36,200,233,135, +/* 0x0630 */ 6, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, +/* 0x0640 */ 41,194, 72,139, 68, 36,216, 65,129,251,255,255,255, 0,102, 65, +/* 0x0650 */ 137, 17, 72,141, 52, 88,119, 26, 76, 57,231, 15,132,121, 6, 0, +/* 0x0660 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x0670 */ 9,194, 15,183,150,128, 1, 0, 0, 68,137,216,193,232, 11, 15, +/* 0x0680 */ 183,202, 15,175,193, 65, 57,194,115, 78, 65,137,195,184, 0, 8, +/* 0x0690 */ 0, 0, 76,139, 76, 36,216, 41,200,139, 76, 36,196, 68,137,116, +/* 0x06a0 */ 36,196,193,248, 5,141, 4, 2,139, 84, 36,192,137, 76, 36,192, +/* 0x06b0 */ 102,137,134,128, 1, 0, 0, 49,192,131,124, 36,200, 6,137, 84, +/* 0x06c0 */ 36,188, 15,159,192, 73,129,193,100, 6, 0, 0,141, 4, 64,137, +/* 0x06d0 */ 68, 36,200,233, 84, 2, 0, 0, 65, 41,195, 65, 41,194,137,208, +/* 0x06e0 */ 102,193,232, 5,102, 41,194, 65,129,251,255,255,255, 0,102,137, +/* 0x06f0 */ 150,128, 1, 0, 0,119, 26, 76, 57,231, 15,132,218, 5, 0, 0, +/* 0x0700 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, +/* 0x0710 */ 194, 15,183,150,152, 1, 0, 0, 68,137,216,193,232, 11, 15,183, +/* 0x0720 */ 202, 15,175,193, 65, 57,194, 15,131,208, 0, 0, 0, 65,184, 0, +/* 0x0730 */ 8, 0, 0, 65,137,195, 72,193,227, 5, 68,137,192, 41,200,193, +/* 0x0740 */ 248, 5,141, 4, 2,102,137,134,152, 1, 0, 0, 72,139, 68, 36, +/* 0x0750 */ 216, 72, 1,216, 65,129,251,255,255,255, 0, 72,141, 52,104,119, +/* 0x0760 */ 26, 76, 57,231, 15,132,112, 5, 0, 0, 15,182, 7, 65,193,226, +/* 0x0770 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150,224, 1, +/* 0x0780 */ 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57, +/* 0x0790 */ 194,115, 79, 65, 41,200, 65,137,195, 65,193,248, 5, 69,133,255, +/* 0x07a0 */ 66,141, 4, 2,102,137,134,224, 1, 0, 0, 15,132, 41, 5, 0, +/* 0x07b0 */ 0, 49,192,131,124, 36,200, 6, 72,139, 92, 36,232, 15,159,192, +/* 0x07c0 */ 141, 68, 0, 9,137, 68, 36,200, 68,137,248, 68, 41,240, 68, 15, +/* 0x07d0 */ 182, 44, 3, 68,137,248, 65,255,199, 68,136, 44, 3,233,216, 4, +/* 0x07e0 */ 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, +/* 0x07f0 */ 194,102,137,150,224, 1, 0, 0,233, 17, 1, 0, 0, 65, 41,195, +/* 0x0800 */ 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255, +/* 0x0810 */ 255,255, 0,102,137,150,152, 1, 0, 0,119, 26, 76, 57,231, 15, +/* 0x0820 */ 132,181, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x0830 */ 72,255,199, 65, 9,194, 15,183,150,176, 1, 0, 0, 68,137,216, +/* 0x0840 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, 65,137, +/* 0x0850 */ 195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102,137, +/* 0x0860 */ 134,176, 1, 0, 0,139, 68, 36,196,233,152, 0, 0, 0, 65, 41, +/* 0x0870 */ 195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129,251, +/* 0x0880 */ 255,255,255, 0,102,137,150,176, 1, 0, 0,119, 26, 76, 57,231, +/* 0x0890 */ 15,132, 68, 4, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, +/* 0x08a0 */ 8, 72,255,199, 65, 9,194, 15,183,150,200, 1, 0, 0, 68,137, +/* 0x08b0 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 29, 65, +/* 0x08c0 */ 137,195,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102, +/* 0x08d0 */ 137,134,200, 1, 0, 0,139, 68, 36,192,235, 34, 65, 41,195, 65, +/* 0x08e0 */ 41,194,137,208,102,193,232, 5,102, 41,194,139, 68, 36,188,102, +/* 0x08f0 */ 137,150,200, 1, 0, 0,139, 84, 36,192,137, 84, 36,188,139, 76, +/* 0x0900 */ 36,196,137, 76, 36,192, 68,137,116, 36,196, 65,137,198, 49,192, +/* 0x0910 */ 131,124, 36,200, 6, 76,139, 76, 36,216, 15,159,192, 73,129,193, +/* 0x0920 */ 104, 10, 0, 0,141, 68, 64, 8,137, 68, 36,200, 65,129,251,255, +/* 0x0930 */ 255,255, 0,119, 26, 76, 57,231, 15,132,156, 3, 0, 0, 15,182, +/* 0x0940 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, +/* 0x0950 */ 15,183, 17, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, +/* 0x0960 */ 57,194,115, 39, 65,137,195,184, 0, 8, 0, 0, 69, 49,237, 41, +/* 0x0970 */ 200,193,248, 5,141, 4, 2,102, 65,137, 1, 72, 99, 68, 36,184, +/* 0x0980 */ 72,193,224, 4, 77,141, 68, 1, 4,235,120, 65, 41,195, 65, 41, +/* 0x0990 */ 194,137,208,102,193,232, 5,102, 41,194, 65,129,251,255,255,255, +/* 0x09a0 */ 0,102, 65,137, 17,119, 26, 76, 57,231, 15,132, 42, 3, 0, 0, +/* 0x09b0 */ 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9, +/* 0x09c0 */ 194, 65, 15,183, 81, 2, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x09d0 */ 175,193, 65, 57,194,115, 52, 65,137,195,184, 0, 8, 0, 0, 65, +/* 0x09e0 */ 189, 8, 0, 0, 0, 41,200,193,248, 5,141, 4, 2,102, 65,137, +/* 0x09f0 */ 65, 2, 72, 99, 68, 36,184, 72,193,224, 4, 77,141,132, 1, 4, +/* 0x0a00 */ 1, 0, 0, 65,185, 3, 0, 0, 0,235, 39, 65, 41,195, 65, 41, +/* 0x0a10 */ 194,137,208,102,193,232, 5, 77,141,129, 4, 2, 0, 0, 65,189, +/* 0x0a20 */ 16, 0, 0, 0,102, 41,194,102, 65,137, 81, 2, 65,185, 8, 0, +/* 0x0a30 */ 0, 0, 68,137,203,189, 1, 0, 0, 0, 72, 99,197, 65,129,251, +/* 0x0a40 */ 255,255,255, 0, 73,141, 52, 64,119, 26, 76, 57,231, 15,132,135, +/* 0x0a50 */ 2, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255, +/* 0x0a60 */ 199, 65, 9,194, 15,183, 14, 68,137,216,193,232, 11, 15,183,209, +/* 0x0a70 */ 15,175,194, 65, 57,194,115, 23, 65,137,195,184, 0, 8, 0, 0, +/* 0x0a80 */ 1,237, 41,208,193,248, 5,141, 4, 1,102,137, 6,235, 22, 65, +/* 0x0a90 */ 41,195, 65, 41,194,137,200,102,193,232, 5,141,108, 45, 1,102, +/* 0x0aa0 */ 41,193,102,137, 14,255,203,117,145,184, 1, 0, 0, 0, 68,137, +/* 0x0ab0 */ 201,211,224, 41,197, 68, 1,237,131,124, 36,200, 3, 15,143,194, +/* 0x0ac0 */ 1, 0, 0,131, 68, 36,200, 7,184, 3, 0, 0, 0,131,253, 4, +/* 0x0ad0 */ 15, 76,197, 72,139, 92, 36,216, 65,184, 1, 0, 0, 0, 72,152, +/* 0x0ae0 */ 72,193,224, 7, 76,141,140, 3, 96, 3, 0, 0,187, 6, 0, 0, +/* 0x0af0 */ 0, 73, 99,192, 65,129,251,255,255,255, 0, 73,141, 52, 65,119, +/* 0x0b00 */ 26, 76, 57,231, 15,132,208, 1, 0, 0, 15,182, 7, 65,193,226, +/* 0x0b10 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 22, 68,137, +/* 0x0b20 */ 216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65, +/* 0x0b30 */ 137,195,184, 0, 8, 0, 0, 69, 1,192, 41,200,193,248, 5,141, +/* 0x0b40 */ 4, 2,102,137, 6,235, 23, 65, 41,195, 65, 41,194,137,208,102, +/* 0x0b50 */ 193,232, 5, 71,141, 68, 0, 1,102, 41,194,102,137, 22,255,203, +/* 0x0b60 */ 117,143, 65,131,232, 64, 65,131,248, 3, 69,137,198, 15,142, 13, +/* 0x0b70 */ 1, 0, 0, 65,131,230, 1, 68,137,192,209,248, 65,131,206, 2, +/* 0x0b80 */ 65,131,248, 13,141,112,255,127, 35,137,241, 72,139, 92, 36,216, +/* 0x0b90 */ 73, 99,192, 65,211,230, 72, 1,192, 68,137,242, 72,141, 20, 83, +/* 0x0ba0 */ 72, 41,194, 76,141,138, 94, 5, 0, 0,235, 81,141,112,251, 65, +/* 0x0bb0 */ 129,251,255,255,255, 0,119, 26, 76, 57,231, 15,132, 25, 1, 0, +/* 0x0bc0 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x0bd0 */ 9,194, 65,209,235, 69, 1,246, 69, 57,218,114, 7, 69, 41,218, +/* 0x0be0 */ 65,131,206, 1,255,206,117,199, 76,139, 76, 36,216, 65,193,230, +/* 0x0bf0 */ 4,190, 4, 0, 0, 0, 73,129,193, 68, 6, 0, 0, 65,189, 1, +/* 0x0c00 */ 0, 0, 0,187, 1, 0, 0, 0, 72, 99,195, 65,129,251,255,255, +/* 0x0c10 */ 255, 0, 77,141, 4, 65,119, 26, 76, 57,231, 15,132,185, 0, 0, +/* 0x0c20 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x0c30 */ 9,194, 65, 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15, +/* 0x0c40 */ 175,193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1, +/* 0x0c50 */ 219, 41,200,193,248, 5,141, 4, 2,102, 65,137, 0,235, 26, 65, +/* 0x0c60 */ 41,195, 65, 41,194,137,208,102,193,232, 5,141, 92, 27, 1, 69, +/* 0x0c70 */ 9,238,102, 41,194,102, 65,137, 16, 69, 1,237,255,206,117,136, +/* 0x0c80 */ 65,255,198,116, 64,131,197, 2, 69, 57,254,119, 77, 72,139, 84, +/* 0x0c90 */ 36,232, 68,137,248, 68, 41,240, 68, 15,182, 44, 2, 68,137,248, +/* 0x0ca0 */ 65,255,199,255,205, 68,136, 44, 2, 15,149,194, 49,192, 68, 59, +/* 0x0cb0 */ 124, 36,228, 15,146,192,133,194,117,211, 68, 59,124, 36,228, 15, +/* 0x0cc0 */ 130, 69,247,255,255, 65,129,251,255,255,255, 0,119, 22, 76, 57, +/* 0x0cd0 */ 231,184, 1, 0, 0, 0,116, 35,235, 7,184, 1, 0, 0, 0,235, +/* 0x0ce0 */ 26, 72,255,199,137,248, 43, 68, 36,248, 72,139, 76, 36,240, 72, +/* 0x0cf0 */ 139, 92, 36, 56,137, 1, 68,137, 59, 49,192, 91, 93, 65, 92, 65, +/* 0x0d00 */ 93, 65, 94, 65, 95, 65, 87, 72,141, 71, 4, 69, 49,255, 65, 86, +/* 0x0d10 */ 65,190, 1, 0, 0, 0, 65, 85, 69, 49,237, 65, 84, 85, 83, 72, +/* 0x0d20 */ 137, 76, 36,240, 72,137, 68, 36,216,184, 1, 0, 0, 0, 72,137, +/* 0x0d30 */ 116, 36,248, 76,137, 68, 36,232,137,195, 68,137, 76, 36,228, 15, +/* 0x0d40 */ 182, 79, 2,211,227,137,217, 72,139, 92, 36, 56,255,201,137, 76, +/* 0x0d50 */ 36,212, 15,182, 79, 1,211,224, 72,139, 76, 36,240,255,200,137, +/* 0x0d60 */ 68, 36,208, 15,182, 7,199, 1, 0, 0, 0, 0,199, 68, 36,200, +/* 0x0d70 */ 0, 0, 0, 0,199, 68, 36,196, 1, 0, 0, 0,199, 68, 36,192, +/* 0x0d80 */ 1, 0, 0, 0,199, 68, 36,188, 1, 0, 0, 0,199, 3, 0, 0, +/* 0x0d90 */ 0, 0,137, 68, 36,204, 15,182, 79, 1, 1,193,184, 0, 3, 0, +/* 0x0da0 */ 0,211,224, 49,201,141,184, 54, 7, 0, 0, 65, 57,255,115, 19, +/* 0x0db0 */ 72,139, 92, 36,216,137,200,255,193, 57,249,102,199, 4, 67, 0, +/* 0x0dc0 */ 4,235,235, 72,139,124, 36,248,137,208, 69, 49,210, 65,131,203, +/* 0x0dd0 */ 255, 49,210, 73,137,252, 73, 1,196, 76, 57,231, 15,132,239, 8, +/* 0x0de0 */ 0, 0, 15,182, 7, 65,193,226, 8,255,194, 72,255,199, 65, 9, +/* 0x0df0 */ 194,131,250, 4,126,227, 68, 59,124, 36,228, 15,131,218, 8, 0, +/* 0x0e00 */ 0,139, 68, 36,212, 72, 99, 92, 36,200, 72,139, 84, 36,216, 68, +/* 0x0e10 */ 33,248,137, 68, 36,184, 72, 99,108, 36,184, 72,137,216, 72,193, +/* 0x0e20 */ 224, 4, 72, 1,232, 65,129,251,255,255,255, 0, 76,141, 12, 66, +/* 0x0e30 */ 119, 26, 76, 57,231, 15,132,150, 8, 0, 0, 15,182, 7, 65,193, +/* 0x0e40 */ 226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 17, +/* 0x0e50 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15, +/* 0x0e60 */ 131,197, 1, 0, 0, 65,137,195,184, 0, 8, 0, 0, 72,139, 92, +/* 0x0e70 */ 36,216, 41,200, 15,182, 76, 36,204,190, 1, 0, 0, 0,193,248, +/* 0x0e80 */ 5,141, 4, 2, 65, 15,182,213,102, 65,137, 1,139, 68, 36,208, +/* 0x0e90 */ 68, 33,248,211,224,185, 8, 0, 0, 0, 43, 76, 36,204,211,250, +/* 0x0ea0 */ 1,208,105,192, 0, 3, 0, 0,131,124, 36,200, 6,137,192, 76, +/* 0x0eb0 */ 141,140, 67,108, 14, 0, 0, 15,142,184, 0, 0, 0, 72,139, 84, +/* 0x0ec0 */ 36,232, 68,137,248, 68, 41,240, 15,182, 44, 2, 1,237, 72, 99, +/* 0x0ed0 */ 214,137,235,129,227, 0, 1, 0, 0, 65,129,251,255,255,255, 0, +/* 0x0ee0 */ 72, 99,195, 73,141, 4, 65, 76,141, 4, 80,119, 26, 76, 57,231, +/* 0x0ef0 */ 15,132,219, 7, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, +/* 0x0f00 */ 8, 72,255,199, 65, 9,194, 65, 15,183,144, 0, 2, 0, 0, 68, +/* 0x0f10 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 32, +/* 0x0f20 */ 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200,193,248, 5,133, +/* 0x0f30 */ 219,141, 4, 2,102, 65,137,128, 0, 2, 0, 0,116, 33,235, 45, +/* 0x0f40 */ 65, 41,195, 65, 41,194,137,208,102,193,232, 5,141,116, 54, 1, +/* 0x0f50 */ 102, 41,194,133,219,102, 65,137,144, 0, 2, 0, 0,116, 14,129, +/* 0x0f60 */ 254,255, 0, 0, 0, 15,142, 97,255,255,255,235,120,129,254,255, +/* 0x0f70 */ 0, 0, 0,127,112, 72, 99,198, 65,129,251,255,255,255, 0, 77, +/* 0x0f80 */ 141, 4, 65,119, 26, 76, 57,231, 15,132, 67, 7, 0, 0, 15,182, +/* 0x0f90 */ 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 65, +/* 0x0fa0 */ 15,183, 16, 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, +/* 0x0fb0 */ 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 1,246, 41,200, +/* 0x0fc0 */ 193,248, 5,141, 4, 2,102, 65,137, 0,235,161, 65, 41,195, 65, +/* 0x0fd0 */ 41,194,137,208,102,193,232, 5,141,116, 54, 1,102, 41,194,102, +/* 0x0fe0 */ 65,137, 16,235,136, 72,139, 76, 36,232, 68,137,248, 65,255,199, +/* 0x0ff0 */ 65,137,245, 64,136, 52, 1,131,124, 36,200, 3,127, 13,199, 68, +/* 0x1000 */ 36,200, 0, 0, 0, 0,233,166, 6, 0, 0,139, 84, 36,200,139, +/* 0x1010 */ 68, 36,200,131,234, 3,131,232, 6,131,124, 36,200, 9, 15, 79, +/* 0x1020 */ 208,137, 84, 36,200,233,135, 6, 0, 0, 65, 41,195, 65, 41,194, +/* 0x1030 */ 137,208,102,193,232, 5,102, 41,194, 72,139, 68, 36,216, 65,129, +/* 0x1040 */ 251,255,255,255, 0,102, 65,137, 17, 72,141, 52, 88,119, 26, 76, +/* 0x1050 */ 57,231, 15,132,121, 6, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x1060 */ 193,227, 8, 72,255,199, 65, 9,194, 15,183,150,128, 1, 0, 0, +/* 0x1070 */ 68,137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, +/* 0x1080 */ 78, 65,137,195,184, 0, 8, 0, 0, 76,139, 76, 36,216, 41,200, +/* 0x1090 */ 139, 76, 36,196, 68,137,116, 36,196,193,248, 5,141, 4, 2,139, +/* 0x10a0 */ 84, 36,192,137, 76, 36,192,102,137,134,128, 1, 0, 0, 49,192, +/* 0x10b0 */ 131,124, 36,200, 6,137, 84, 36,188, 15,159,192, 73,129,193,100, +/* 0x10c0 */ 6, 0, 0,141, 4, 64,137, 68, 36,200,233, 84, 2, 0, 0, 65, +/* 0x10d0 */ 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41,194, 65,129, +/* 0x10e0 */ 251,255,255,255, 0,102,137,150,128, 1, 0, 0,119, 26, 76, 57, +/* 0x10f0 */ 231, 15,132,218, 5, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x1100 */ 227, 8, 72,255,199, 65, 9,194, 15,183,150,152, 1, 0, 0, 68, +/* 0x1110 */ 137,216,193,232, 11, 15,183,202, 15,175,193, 65, 57,194, 15,131, +/* 0x1120 */ 208, 0, 0, 0, 65,184, 0, 8, 0, 0, 65,137,195, 72,193,227, +/* 0x1130 */ 5, 68,137,192, 41,200,193,248, 5,141, 4, 2,102,137,134,152, +/* 0x1140 */ 1, 0, 0, 72,139, 68, 36,216, 72, 1,216, 65,129,251,255,255, +/* 0x1150 */ 255, 0, 72,141, 52,104,119, 26, 76, 57,231, 15,132,112, 5, 0, +/* 0x1160 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x1170 */ 9,194, 15,183,150,224, 1, 0, 0, 68,137,216,193,232, 11, 15, +/* 0x1180 */ 183,202, 15,175,193, 65, 57,194,115, 79, 65, 41,200, 65,137,195, +/* 0x1190 */ 65,193,248, 5, 69,133,255, 66,141, 4, 2,102,137,134,224, 1, +/* 0x11a0 */ 0, 0, 15,132, 41, 5, 0, 0, 49,192,131,124, 36,200, 6, 72, +/* 0x11b0 */ 139, 92, 36,232, 15,159,192,141, 68, 0, 9,137, 68, 36,200, 68, +/* 0x11c0 */ 137,248, 68, 41,240, 68, 15,182, 44, 3, 68,137,248, 65,255,199, +/* 0x11d0 */ 68,136, 44, 3,233,216, 4, 0, 0, 65, 41,195, 65, 41,194,137, +/* 0x11e0 */ 208,102,193,232, 5,102, 41,194,102,137,150,224, 1, 0, 0,233, +/* 0x11f0 */ 17, 1, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, +/* 0x1200 */ 102, 41,194, 65,129,251,255,255,255, 0,102,137,150,152, 1, 0, +/* 0x1210 */ 0,119, 26, 76, 57,231, 15,132,181, 4, 0, 0, 15,182, 7, 65, +/* 0x1220 */ 193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183,150, +/* 0x1230 */ 176, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175,193, +/* 0x1240 */ 65, 57,194,115, 32, 65,137,195,184, 0, 8, 0, 0, 41,200,193, +/* 0x1250 */ 248, 5,141, 4, 2,102,137,134,176, 1, 0, 0,139, 68, 36,196, +/* 0x1260 */ 233,152, 0, 0, 0, 65, 41,195, 65, 41,194,137,208,102,193,232, +/* 0x1270 */ 5,102, 41,194, 65,129,251,255,255,255, 0,102,137,150,176, 1, +/* 0x1280 */ 0, 0,119, 26, 76, 57,231, 15,132, 68, 4, 0, 0, 15,182, 7, +/* 0x1290 */ 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, +/* 0x12a0 */ 150,200, 1, 0, 0, 68,137,216,193,232, 11, 15,183,202, 15,175, +/* 0x12b0 */ 193, 65, 57,194,115, 29, 65,137,195,184, 0, 8, 0, 0, 41,200, +/* 0x12c0 */ 193,248, 5,141, 4, 2,102,137,134,200, 1, 0, 0,139, 68, 36, +/* 0x12d0 */ 192,235, 34, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, +/* 0x12e0 */ 41,194,139, 68, 36,188,102,137,150,200, 1, 0, 0,139, 84, 36, +/* 0x12f0 */ 192,137, 84, 36,188,139, 76, 36,196,137, 76, 36,192, 68,137,116, +/* 0x1300 */ 36,196, 65,137,198, 49,192,131,124, 36,200, 6, 76,139, 76, 36, +/* 0x1310 */ 216, 15,159,192, 73,129,193,104, 10, 0, 0,141, 68, 64, 8,137, +/* 0x1320 */ 68, 36,200, 65,129,251,255,255,255, 0,119, 26, 76, 57,231, 15, +/* 0x1330 */ 132,156, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, +/* 0x1340 */ 72,255,199, 65, 9,194, 65, 15,183, 17, 68,137,216,193,232, 11, +/* 0x1350 */ 15,183,202, 15,175,193, 65, 57,194,115, 39, 65,137,195,184, 0, +/* 0x1360 */ 8, 0, 0, 69, 49,237, 41,200,193,248, 5,141, 4, 2,102, 65, +/* 0x1370 */ 137, 1, 72, 99, 68, 36,184, 72,193,224, 4, 77,141, 68, 1, 4, +/* 0x1380 */ 235,120, 65, 41,195, 65, 41,194,137,208,102,193,232, 5,102, 41, +/* 0x1390 */ 194, 65,129,251,255,255,255, 0,102, 65,137, 17,119, 26, 76, 57, +/* 0x13a0 */ 231, 15,132, 42, 3, 0, 0, 15,182, 7, 65,193,226, 8, 65,193, +/* 0x13b0 */ 227, 8, 72,255,199, 65, 9,194, 65, 15,183, 81, 2, 68,137,216, +/* 0x13c0 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 52, 65,137, +/* 0x13d0 */ 195,184, 0, 8, 0, 0, 65,189, 8, 0, 0, 0, 41,200,193,248, +/* 0x13e0 */ 5,141, 4, 2,102, 65,137, 65, 2, 72, 99, 68, 36,184, 72,193, +/* 0x13f0 */ 224, 4, 77,141,132, 1, 4, 1, 0, 0, 65,185, 3, 0, 0, 0, +/* 0x1400 */ 235, 39, 65, 41,195, 65, 41,194,137,208,102,193,232, 5, 77,141, +/* 0x1410 */ 129, 4, 2, 0, 0, 65,189, 16, 0, 0, 0,102, 41,194,102, 65, +/* 0x1420 */ 137, 81, 2, 65,185, 8, 0, 0, 0, 68,137,203,189, 1, 0, 0, +/* 0x1430 */ 0, 72, 99,197, 65,129,251,255,255,255, 0, 73,141, 52, 64,119, +/* 0x1440 */ 26, 76, 57,231, 15,132,135, 2, 0, 0, 15,182, 7, 65,193,226, +/* 0x1450 */ 8, 65,193,227, 8, 72,255,199, 65, 9,194, 15,183, 14, 68,137, +/* 0x1460 */ 216,193,232, 11, 15,183,209, 15,175,194, 65, 57,194,115, 23, 65, +/* 0x1470 */ 137,195,184, 0, 8, 0, 0, 1,237, 41,208,193,248, 5,141, 4, +/* 0x1480 */ 1,102,137, 6,235, 22, 65, 41,195, 65, 41,194,137,200,102,193, +/* 0x1490 */ 232, 5,141,108, 45, 1,102, 41,193,102,137, 14,255,203,117,145, +/* 0x14a0 */ 184, 1, 0, 0, 0, 68,137,201,211,224, 41,197, 68, 1,237,131, +/* 0x14b0 */ 124, 36,200, 3, 15,143,194, 1, 0, 0,131, 68, 36,200, 7,184, +/* 0x14c0 */ 3, 0, 0, 0,131,253, 4, 15, 76,197, 72,139, 92, 36,216, 65, +/* 0x14d0 */ 184, 1, 0, 0, 0, 72,152, 72,193,224, 7, 76,141,140, 3, 96, +/* 0x14e0 */ 3, 0, 0,187, 6, 0, 0, 0, 73, 99,192, 65,129,251,255,255, +/* 0x14f0 */ 255, 0, 73,141, 52, 65,119, 26, 76, 57,231, 15,132,208, 1, 0, +/* 0x1500 */ 0, 15,182, 7, 65,193,226, 8, 65,193,227, 8, 72,255,199, 65, +/* 0x1510 */ 9,194, 15,183, 22, 68,137,216,193,232, 11, 15,183,202, 15,175, +/* 0x1520 */ 193, 65, 57,194,115, 24, 65,137,195,184, 0, 8, 0, 0, 69, 1, +/* 0x1530 */ 192, 41,200,193,248, 5,141, 4, 2,102,137, 6,235, 23, 65, 41, +/* 0x1540 */ 195, 65, 41,194,137,208,102,193,232, 5, 71,141, 68, 0, 1,102, +/* 0x1550 */ 41,194,102,137, 22,255,203,117,143, 65,131,232, 64, 65,131,248, +/* 0x1560 */ 3, 69,137,198, 15,142, 13, 1, 0, 0, 65,131,230, 1, 68,137, +/* 0x1570 */ 192,209,248, 65,131,206, 2, 65,131,248, 13,141,112,255,127, 35, +/* 0x1580 */ 137,241, 72,139, 92, 36,216, 73, 99,192, 65,211,230, 72, 1,192, +/* 0x1590 */ 68,137,242, 72,141, 20, 83, 72, 41,194, 76,141,138, 94, 5, 0, +/* 0x15a0 */ 0,235, 81,141,112,251, 65,129,251,255,255,255, 0,119, 26, 76, +/* 0x15b0 */ 57,231, 15,132, 25, 1, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x15c0 */ 193,227, 8, 72,255,199, 65, 9,194, 65,209,235, 69, 1,246, 69, +/* 0x15d0 */ 57,218,114, 7, 69, 41,218, 65,131,206, 1,255,206,117,199, 76, +/* 0x15e0 */ 139, 76, 36,216, 65,193,230, 4,190, 4, 0, 0, 0, 73,129,193, +/* 0x15f0 */ 68, 6, 0, 0, 65,189, 1, 0, 0, 0,187, 1, 0, 0, 0, 72, +/* 0x1600 */ 99,195, 65,129,251,255,255,255, 0, 77,141, 4, 65,119, 26, 76, +/* 0x1610 */ 57,231, 15,132,185, 0, 0, 0, 15,182, 7, 65,193,226, 8, 65, +/* 0x1620 */ 193,227, 8, 72,255,199, 65, 9,194, 65, 15,183, 16, 68,137,216, +/* 0x1630 */ 193,232, 11, 15,183,202, 15,175,193, 65, 57,194,115, 24, 65,137, +/* 0x1640 */ 195,184, 0, 8, 0, 0, 1,219, 41,200,193,248, 5,141, 4, 2, +/* 0x1650 */ 102, 65,137, 0,235, 26, 65, 41,195, 65, 41,194,137,208,102,193, +/* 0x1660 */ 232, 5,141, 92, 27, 1, 69, 9,238,102, 41,194,102, 65,137, 16, +/* 0x1670 */ 69, 1,237,255,206,117,136, 65,255,198,116, 64,131,197, 2, 69, +/* 0x1680 */ 57,254,119, 77, 72,139, 84, 36,232, 68,137,248, 68, 41,240, 68, +/* 0x1690 */ 15,182, 44, 2, 68,137,248, 65,255,199,255,205, 68,136, 44, 2, +/* 0x16a0 */ 15,149,194, 49,192, 68, 59,124, 36,228, 15,146,192,133,194,117, +/* 0x16b0 */ 211, 68, 59,124, 36,228, 15,130, 69,247,255,255, 65,129,251,255, +/* 0x16c0 */ 255,255, 0,119, 22, 76, 57,231,184, 1, 0, 0, 0,116, 35,235, +/* 0x16d0 */ 7,184, 1, 0, 0, 0,235, 26, 72,255,199,137,248, 43, 68, 36, +/* 0x16e0 */ 248, 72,139, 76, 36,240, 72,139, 92, 36, 56,137, 1, 68,137, 59, +/* 0x16f0 */ 49,192, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95, 72,139,117,248, +/* 0x1700 */ 72,139,125, 16,139, 75, 4, 72, 1,206,139, 19, 72, 1,215,201, +/* 0x1710 */ 235, 2, 87, 94, 89, 72,137,240, 72, 41,200, 90, 72, 41,215, 89, +/* 0x1720 */ 137, 57, 91, 93,195,104, 30, 0, 0, 0, 90,232, 0, 0, 0, 0, +/* 0x1730 */ 80, 82, 79, 84, 95, 69, 88, 69, 67,124, 80, 82, 79, 84, 95, 87, +/* 0x1740 */ 82, 73, 84, 69, 32,102, 97,105,108,101,100, 46, 10, 0, 94,106, +/* 0x1750 */ 2, 95,106, 1, 88, 15, 5,106,127, 95,106, 60, 88, 15, 5, 90, +/* 0x1760 */ 72,141,114,226, 72,137,241,173, 72, 41,193,173, 72, 1,200, 72, +/* 0x1770 */ 137, 69, 40,173, 72, 1,200, 72,137, 69, 16,173, 72,141, 60, 1, +/* 0x1780 */ 72,141,119, 24, 80, 80,173,173, 72, 1,198,173,173, 72,137,249, +/* 0x1790 */ 129,225,255, 15, 0, 0, 72, 1,200, 80, 72, 41,207, 87, 72, 41, +/* 0x17a0 */ 200, 72, 1,207, 81,232, 74, 0, 0, 0,131,249, 73,117, 68, 83, +/* 0x17b0 */ 87, 72,141, 76, 55,253, 94, 86, 91,235, 47, 72, 57,206,115, 50, +/* 0x17c0 */ 86, 94,172, 60,128,114, 10, 60,143,119, 6,128,126,254, 15,116, +/* 0x17d0 */ 6, 44,232, 60, 1,119,228, 72, 57,206,115, 22, 86,173, 40,208, +/* 0x17e0 */ 117,223, 95, 15,200, 41,248, 1,216,171, 72, 57,206,115, 3,172, +/* 0x17f0 */ 235,223, 91,195, 15,182, 78, 5, 81, 15,182, 78, 6, 81, 80, 72, +/* 0x1800 */ 137,225, 87, 82,173,137,194,173, 80, 81, 87, 82, 86, 72,139, 69, +/* 0x1810 */ 168, 3, 80,252, 72,139, 69,208, 3, 80,252,232,110, 0, 0, 0, +/* 0x1820 */ 106, 0, 65, 89,106, 0, 65, 88,106, 50, 65, 90,106, 3, 90, 72, +/* 0x1830 */ 139,117,232, 72,139,125,224,106, 9, 88, 15, 5, 72, 57,248,116, +/* 0x1840 */ 1,244,139, 77,216, 72,137,199, 72,139,117,240,131,193, 3,193, +/* 0x1850 */ 233, 2,243,165, 95, 94, 90, 89, 65, 88, 88,255,208, 95, 94, 72, +/* 0x1860 */ 141, 4, 55,199, 0, 15, 5, 95, 94,198, 64, 4,195, 72,137, 69, +/* 0x1870 */ 16, 90, 89, 88, 72,133,201,116, 2,255,208, 89, 95, 94,106, 5, +/* 0x1880 */ 90,106, 10, 88, 15, 5, 95, 94,106, 11, 88, 93, 90,195,139,117, +/* 0x1890 */ 216, 1,214, 88, 80, 3,112,252,106, 0, 65, 89,106, 0, 65, 88, +/* 0x18a0 */ 106, 34, 65, 90,106, 7, 90, 72,137,117,248,106, 0, 95,106, 9, +/* 0x18b0 */ 88, 15, 5, 72, 61, 0,240,255,255,114, 1,244, 72,137, 69,240, +/* 0x18c0 */ 72,137,199, 88,139, 77,216, 72,139,117,224,131,193, 3,193,233, +/* 0x18d0 */ 2,243,165, 94, 89, 81, 87,131,193, 3,193,233, 2,243,165, 72, +/* 0x18e0 */ 139,117,168, 72,137,125,168,139, 78,252,243,164, 72,139,117,208, +/* 0x18f0 */ 72,137,125,208,139, 78,252,243,164, 72,137,198, 87,139, 78,252, +/* 0x1900 */ 243,164,195,102,105,108,101, 32,102,111,114,109, 97,116, 32,101, +/* 0x1910 */ 108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101, 99, +/* 0x1920 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, +/* 0x1930 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, +/* 0x1940 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1950 */ 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1960 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, +/* 0x1970 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, +/* 0x1980 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, +/* 0x1990 */ 48, 48, 48, 48, 48, 49, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x19a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x19c0 */ 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x19d0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, +/* 0x19e0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, +/* 0x19f0 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, +/* 0x1a00 */ 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a10 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a20 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 54, 32, +/* 0x1a30 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, +/* 0x1a40 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, +/* 0x1a50 */ 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1a60 */ 48, 48, 98, 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a70 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a80 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1a90 */ 98, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1aa0 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, +/* 0x1ab0 */ 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, +/* 0x1ac0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 97, 49, 32, 32, +/* 0x1ad0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ae0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1af0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55, 54, 32, 32, 50, 42, +/* 0x1b00 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x1b10 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, +/* 0x1b20 */ 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1b30 */ 48, 48, 48, 48, 48, 48, 57, 51, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1b50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1b60 */ 48, 48, 48, 50, 49, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1b70 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, +/* 0x1b80 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, +/* 0x1b90 */ 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1ba0 */ 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bb0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 97, +/* 0x1bd0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1be0 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1bf0 */ 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x1c00 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48, 48, +/* 0x1c10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1c20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c30 */ 32, 32, 48, 48, 48, 48, 48, 51, 48,101, 32, 32, 50, 42, 42, 48, +/* 0x1c40 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, +/* 0x1c50 */ 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x1c60 */ 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, +/* 0x1c70 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c80 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c90 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 48, 53, 32, 32, 50, +/* 0x1ca0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1cb0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, +/* 0x1cc0 */ 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1cd0 */ 49, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ce0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 54,102, 99, +/* 0x1d00 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1d10 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, +/* 0x1d20 */ 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x1d30 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d40 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, +/* 0x1d60 */ 55, 49, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1d70 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, +/* 0x1d80 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, +/* 0x1d90 */ 48, 48, 48, 48, 48, 48, 51, 97, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1da0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1dc0 */ 48, 48, 49, 55, 49, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1dd0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, +/* 0x1de0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, +/* 0x1df0 */ 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, +/* 0x1e00 */ 98, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e10 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e20 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 52,101, +/* 0x1e30 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1e40 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, +/* 0x1e50 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1e70 */ 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, +/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, +/* 0x1e90 */ 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ea0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x1eb0 */ 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x1ed0 */ 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ee0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, +/* 0x1ef0 */ 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, +/* 0x1f10 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f20 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x1f30 */ 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f40 */ 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, +/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1f60 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, +/* 0x1f70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1f80 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1fa0 */ 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, +/* 0x1fc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1fd0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, +/* 0x1fe0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, +/* 0x1ff0 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2000 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, +/* 0x2010 */ 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2020 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, +/* 0x2030 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2040 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, +/* 0x2050 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x2060 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, +/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2080 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, +/* 0x2090 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x20a0 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, +/* 0x20b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x20c0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, +/* 0x20d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x20e0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2100 */ 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, +/* 0x2110 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, +/* 0x2120 */ 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2130 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, +/* 0x2140 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, +/* 0x2160 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, +/* 0x2170 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, +/* 0x2180 */ 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, +/* 0x2190 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x21a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x21b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 97, 32, 82, +/* 0x21c0 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, +/* 0x21d0 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, +/* 0x21e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,100, 10, 10, 82, 69, +/* 0x21f0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x2200 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, +/* 0x2210 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, +/* 0x2220 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2230 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2240 */ 48, 48, 48, 48, 48, 97,102, 32, 82, 95, 88, 56, 54, 95, 54, 52, +/* 0x2250 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, +/* 0x2260 */ 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2270 */ 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2280 */ 48, 48, 48, 48, 53, 99, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, +/* 0x2290 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x22a0 */ 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102, +/* 0x22b0 */ 102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x22c0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, +/* 0x22d0 */ 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, +/* 0x22e0 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, +/* 0x22f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, +/* 0x2300 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 54, 32, +/* 0x2310 */ 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, +/* 0x2320 */ 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, +/* 0x2330 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, +/* 0x2340 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 99, 32, 82, +/* 0x2350 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, +/* 0x2360 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102, +/* 0x2370 */ 102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, +/* 0x2380 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x2390 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, +/* 0x23a0 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, +/* 0x23b0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x23c0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x23d0 */ 48, 48, 48, 48, 48, 56, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, +/* 0x23e0 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, +/* 0x23f0 */ 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2400 */ 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2410 */ 48, 48, 48, 48, 53, 51, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, +/* 0x2420 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x2430 */ 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102, +/* 0x2440 */ 102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x2450 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, +/* 0x2460 */ 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x2470 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, +/* 0x2480 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, +/* 0x2490 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x24a0 */ 48, 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, +/* 0x24b0 */ 51, 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, +/* 0x24c0 */ 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x24d0 */ 48, 48, 49, 50, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x24e0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, +/* 0x24f0 */ 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, +/* 0x2500 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, +/* 0x2510 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, +/* 0x2520 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2530 */ 49, 56, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, +/* 0x2540 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, +/* 0x2550 */ 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102, 99, +/* 0x2560 */ 10 }; diff -Nru upx-ucl-3.95/src/stub/amd64-win64.pep.h upx-ucl-3.96/src/stub/amd64-win64.pep.h --- upx-ucl-3.95/src/stub/amd64-win64.pep.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/amd64-win64.pep.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm64-darwin.macho-entry.h upx-ucl-3.96/src/stub/arm64-darwin.macho-entry.h --- upx-ucl-3.95/src/stub/arm64-darwin.macho-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm64-darwin.macho-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -32,8 +32,8 @@ #define STUB_ARM64_DARWIN_MACHO_ENTRY_SIZE 7897 -#define STUB_ARM64_DARWIN_MACHO_ENTRY_ADLER32 0x48ce9f40 -#define STUB_ARM64_DARWIN_MACHO_ENTRY_CRC32 0x037d786a +#define STUB_ARM64_DARWIN_MACHO_ENTRY_ADLER32 0x49d29f40 +#define STUB_ARM64_DARWIN_MACHO_ENTRY_CRC32 0xe5a4355a unsigned char stub_arm64_darwin_macho_entry[7897] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -324,7 +324,7 @@ /* 0x11d0 */ 224, 3, 6, 42, 33, 68, 32,139, 0, 0,128, 82, 33, 68, 32,139, /* 0x11e0 */ 227,124, 24, 83,241, 3, 30,170, 94, 0, 0, 16, 99,254,255, 52, /* 0x11f0 */ 35, 0, 64,121,226,124, 11, 83, 98,124, 2, 27,159, 1, 2,107, -/* 0x1200 */ 2, 1, 0, 84, 2, 0,129, 82,231, 3, 2, 42, 66, 0, 3, 75, +/* 0x1200 */ 2, 1, 0, 84,231, 3, 2, 42, 2, 0,129, 82, 66, 0, 3, 75, /* 0x1210 */ 0, 0, 0, 58, 99, 20, 66, 11, 35, 0, 0,121, 32, 2, 95,214, /* 0x1220 */ 140, 1, 2, 75,231, 0, 2, 75, 99, 20, 67, 75, 0, 0, 0, 58, /* 0x1230 */ 35, 0, 0,121, 32, 2, 95,214,251, 3, 30,170,103, 3, 64,185, diff -Nru upx-ucl-3.95/src/stub/arm64-darwin.macho-fold.h upx-ucl-3.96/src/stub/arm64-darwin.macho-fold.h --- upx-ucl-3.95/src/stub/arm64-darwin.macho-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm64-darwin.macho-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* arm64-darwin.macho-fold.h - created from arm64-darwin.macho-fold.bin, 2280 (0x8e8) bytes + created from arm64-darwin.macho-fold.bin, 2536 (0x9e8) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,15 +31,15 @@ */ -#define STUB_ARM64_DARWIN_MACHO_FOLD_SIZE 2280 -#define STUB_ARM64_DARWIN_MACHO_FOLD_ADLER32 0x3b0a21fe -#define STUB_ARM64_DARWIN_MACHO_FOLD_CRC32 0xda8c36b4 +#define STUB_ARM64_DARWIN_MACHO_FOLD_SIZE 2536 +#define STUB_ARM64_DARWIN_MACHO_FOLD_ADLER32 0xae9ba614 +#define STUB_ARM64_DARWIN_MACHO_FOLD_CRC32 0x34f0eff2 -unsigned char stub_arm64_darwin_macho_fold[2280] = { +unsigned char stub_arm64_darwin_macho_fold[2536] = { /* 0x0000 */ 224, 3, 20,170,225, 3, 21,170,131, 26, 64,185, 9, 0,132, 82, /* 0x0010 */ 127, 0, 9,107, 99,128,137, 26, 99, 60, 0, 17, 99,108, 28, 18, /* 0x0020 */ 230,131, 0,145,243, 3, 0,145,255, 67, 35,203,226, 3, 0,145, -/* 0x0030 */ 228, 3, 28,170,165, 1, 0, 16,113, 1, 0,148, 20,128, 64,249, +/* 0x0030 */ 228, 3, 28,170,165, 1, 0, 16,177, 1, 0,148, 20,128, 64,249, /* 0x0040 */ 28, 0, 64,249,127, 2, 0,145,224, 3, 64,185, 38, 0, 0,148, /* 0x0050 */ 224, 7, 64,249,225, 19, 64,185, 40, 9,128, 82,254, 3, 20,170, /* 0x0060 */ 255,131, 0,145,128, 3, 31,214, 99, 28, 0, 18,127, 72, 1,113, @@ -84,99 +84,115 @@ /* 0x02d0 */ 162,255,255,151,163, 67, 64,185, 97, 6, 64,249, 96, 2, 64,249, /* 0x02e0 */ 33, 0, 3,139, 97, 6, 0,249, 0, 0, 3,203, 96, 2, 0,249, /* 0x02f0 */ 185,255,255, 23,243, 83, 65,169,245, 91, 66,169,253,123,197,168, -/* 0x0300 */ 192, 3, 95,214,253,123,181,169,253, 3, 0,145,232, 39, 6,109, -/* 0x0310 */ 236, 67, 0,253,234, 47, 7,109, 41, 0, 39, 30,106, 0, 39, 30, -/* 0x0320 */ 171, 0,103,158,204, 0,103,158,232, 3, 39, 30,247, 99, 3,169, -/* 0x0330 */ 23, 0,128,210,248, 3, 2,170,251,115, 5,169,243, 83, 1,169, -/* 0x0340 */ 249,107, 4,169,245, 91, 2,169,252, 3, 0,170,249, 3, 4,170, -/* 0x0350 */ 19,128, 0,145,251, 3, 23,170, 1, 1, 38, 30,128, 19, 64,185, -/* 0x0360 */ 63, 0, 0,107, 98, 19, 0, 84, 96, 2, 64,185, 31,100, 0,113, -/* 0x0370 */ 33, 17, 0, 84,122, 18, 64,249,250, 17, 0,180,101, 22, 64,249, -/* 0x0380 */ 98, 26, 64,249, 96, 14, 64,249, 37, 1, 0,181, 2, 1, 0,180, -/* 0x0390 */ 33, 3, 64,249,193, 0, 0,180, 35, 24, 64,185, 33, 0, 0,203, -/* 0x03a0 */ 99, 0, 11, 18,127, 0, 31,107, 55, 16,151,154,224, 2, 0,139, -/* 0x03b0 */ 162, 83, 0,249, 20, 44, 64,146,160, 87, 0,249, 22, 0, 20,203, -/* 0x03c0 */ 148, 2, 2,171, 26, 0, 26,139, 64, 4, 0, 84, 31, 3, 31,235, -/* 0x03d0 */ 96, 0,128,210, 1, 16,159,154, 32, 3, 64,249, 68, 0,128, 82, -/* 0x03e0 */ 33, 0, 20,139, 31, 0, 31,235, 64, 2,128, 82, 4, 16,132, 26, -/* 0x03f0 */ 31, 3, 31,235,227, 7,159, 26, 67, 0, 0, 53, 66, 0, 0,181, -/* 0x0400 */ 3, 0,130, 82, 99, 0, 4, 42, 95, 0, 31,235, 68, 1, 38, 30, -/* 0x0410 */ 224, 3, 22,170, 38, 1, 38, 30, 98, 0,128, 82,132, 16,159, 90, -/* 0x0420 */ 197, 0, 5, 11, 60,255,255,151,245, 3, 0,170, 32, 3, 64,249, -/* 0x0430 */ 128, 0, 0,181, 53, 3, 0,249,247, 3, 21,170, 6, 0, 0, 20, -/* 0x0440 */ 223, 2, 21,235,128, 0, 0, 84, 0, 1,128, 82, 57, 0, 0, 20, -/* 0x0450 */ 245, 3, 22,170,120, 1, 0,180, 96, 26, 64,249, 32, 1, 0,180, -/* 0x0460 */ 96, 22, 64,249, 64, 0, 0,181, 53, 3, 0,249, 98, 1,102,158, -/* 0x0470 */ 224, 3, 24,170,131, 1,102,158,161,131, 2,145, 78,255,255,151, -/* 0x0480 */ 31, 3, 31,235,227, 7,159, 26,159, 2, 31,235,225, 7,159, 26, -/* 0x0490 */ 129, 2, 0, 52, 99, 2, 0, 52, 96, 22, 64,249, 32, 2, 0,181, -/* 0x04a0 */ 96, 66, 64,185,224, 1, 0, 52, 96, 2, 28,203, 34, 0,128, 82, -/* 0x04b0 */ 0,244,126,146, 2,128,186,114,160, 2, 0,139, 0,120, 64,185, -/* 0x04c0 */ 0,124, 2, 83, 0, 8, 0, 81, 0,244,126,211,187, 2, 0,139, -/* 0x04d0 */ 162,106, 32,184, 0,120,128, 82,224,203,186,114, 96, 7, 0,185, -/* 0x04e0 */ 246, 3, 20,203,214, 46, 64,242, 97, 0, 0, 84, 65, 2, 0, 52, -/* 0x04f0 */ 8, 0, 0, 20,162, 2, 20,139, 0, 0,128,210, 95,104, 32, 56, -/* 0x0500 */ 0, 4, 0,145, 31, 0, 22,235,161,255,255, 84,248,255,255, 23, -/* 0x0510 */ 98, 62, 64,185,224, 3, 21,170,225, 3, 20,170,163, 79, 0,249, -/* 0x0520 */ 250,254,255,151,163, 79, 64,249, 96, 0, 0, 52, 64, 1,128, 82, -/* 0x0530 */ 226,254,255,151,214, 2, 20,139,181, 2, 22,139,191, 2, 26,235, -/* 0x0540 */ 162, 1, 0, 84,149, 3, 0,180, 98, 62, 64,185,224, 3, 21,170, -/* 0x0550 */ 65, 3, 21,203, 67, 2,130, 82, 4, 0,128, 18, 5, 0,128, 82, -/* 0x0560 */ 237,254,255,151,191, 2, 0,235, 96, 2, 0, 84, 32, 1,128, 82, -/* 0x0570 */ 240,255,255, 23, 3, 2, 0, 52,129, 14, 0,145, 33, 44, 64,146, -/* 0x0580 */ 63, 12, 0,241,136, 1, 0, 84,224, 3, 21,170,220,254,255,151, -/* 0x0590 */ 9, 0, 0, 20, 24, 1, 0,181, 0, 16, 0, 81, 31, 4, 0,113, -/* 0x05a0 */ 168, 0, 0, 84, 96,138, 64,249,123, 66, 0,145, 0, 0, 23,139, -/* 0x05b0 */ 96,138, 0,249, 0, 1, 38, 30, 0, 4, 0, 17, 8, 0, 39, 30, -/* 0x05c0 */ 96, 6, 64,185, 0,116,126,146,115, 2, 0,139, 99,255,255, 23, -/* 0x05d0 */ 224, 3, 27,170,232, 39, 70,109,243, 83, 65,169,234, 47, 71,109, -/* 0x05e0 */ 245, 91, 66,169,247, 99, 67,169,249,107, 68,169,251,115, 69,169, -/* 0x05f0 */ 236, 67, 64,253,253,123,203,168,192, 3, 95,214,253,123,182,169, -/* 0x0600 */ 253, 3, 0,145,243, 83, 1,169,244, 3, 4,170,243, 3, 2,170, -/* 0x0610 */ 161, 47, 0,249, 1, 96, 0,145,161, 63, 0,249,161, 47, 64,249, -/* 0x0620 */ 0, 24, 64,185, 33, 96, 0,209,161, 59, 0,249,160, 67, 0,249, -/* 0x0630 */ 160, 7, 71,169,247, 99, 3,169,160, 7, 9,169,162, 71, 0,249, -/* 0x0640 */ 160,195, 1,145,161, 3, 2,145,226, 3, 20,170,247, 3, 3,170, -/* 0x0650 */ 3, 0,128,210,245, 91, 2,169,166, 43, 0,249,245, 3, 5,170, -/* 0x0660 */ 249, 35, 0,249,212,254,255,151,164, 43, 64,249, 1, 0,128, 82, -/* 0x0670 */ 162, 67, 2,145,224, 3, 19,170, 3, 0,128, 18,229, 3, 20,170, -/* 0x0680 */ 230, 3, 21,170, 32,255,255,151,248, 3, 0,170, 98, 18, 64,185, -/* 0x0690 */ 97,130, 0,145, 4, 0,128, 82,159, 0, 2,107,224, 8, 0, 84, -/* 0x06a0 */ 32, 0, 64,185, 31, 56, 0,113, 1, 8, 0, 84, 32, 8, 64,185, -/* 0x06b0 */ 22, 0,128, 82,153, 2,128, 82, 32, 0, 0,139, 1, 0,128, 82, -/* 0x06c0 */ 226, 3, 1, 42,133,254,255,151,244, 3, 0, 42, 20, 3,248, 54, -/* 0x06d0 */ 64, 2,128, 82, 30, 0, 0, 20, 98, 2, 64,185, 65,217,159, 82, -/* 0x06e0 */ 65,215,183,114, 95, 0, 1,107, 65, 3, 0, 84, 97, 30, 64, 57, -/* 0x06f0 */ 224, 3, 19,170,117, 34, 0,145, 33,124, 25, 27, 33, 32, 0, 17, -/* 0x0700 */ 139,254,255,151, 96, 6, 64,185, 1, 0,128, 82, 63, 0, 0,107, -/* 0x0710 */ 0, 3, 0, 84,163, 2, 64,185,226, 0,128, 82, 2, 32,160,114, -/* 0x0720 */ 127, 0, 2,107, 1, 2, 0, 84,182, 10, 64,185,224, 3, 20, 42, -/* 0x0730 */ 225, 3, 19,170,226, 3, 23,170,227, 3, 22, 42,121,254,255,151, -/* 0x0740 */ 255, 2, 0,235,160,252,255, 84, 96, 2,128, 82, 91,254,255,151, -/* 0x0750 */ 193, 87,151, 82,193, 95,185,114, 95, 0, 1,107,128,252,255, 84, -/* 0x0760 */ 4, 0, 0, 20, 33, 4, 0, 17,181, 82, 0,145,232,255,255, 23, -/* 0x0770 */ 164,131, 2,145, 2, 0,128,210,224, 3, 19,170,225, 3, 22, 42, -/* 0x0780 */ 227, 3, 20, 42,229, 3, 2,170,159,140, 28,248,230, 3, 2,170, -/* 0x0790 */ 221,254,255,151,243, 3, 0,170, 24, 0, 0,249,224, 3, 20, 42, -/* 0x07a0 */ 81,254,255,151, 6, 0, 0, 20, 32, 4, 64,185,132, 4, 0, 17, -/* 0x07b0 */ 33, 0, 0,139,185,255,255, 23, 19, 0,128,210,224, 3, 19,170, -/* 0x07c0 */ 249, 35, 64,249,243, 83, 65,169,245, 91, 66,169,247, 99, 67,169, -/* 0x07d0 */ 253,123,202,168,192, 3, 95,214, 20, 0, 0, 0, 0, 0, 0, 0, -/* 0x07e0 */ 1,122, 82, 0, 4,120, 30, 1, 27, 12, 31, 0, 0, 0, 0, 0, -/* 0x07f0 */ 36, 0, 0, 0, 28, 0, 0, 0, 96,249,255,255, 92, 0, 0, 0, -/* 0x0800 */ 0, 65, 14, 16,157, 2,158, 1, 66, 13, 29, 83,222,221, 12, 31, -/* 0x0810 */ 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 68, 0, 0, 0, -/* 0x0820 */ 148,249,255,255, 80, 1, 0, 0, 0, 65, 14, 80,157, 10,158, 9, -/* 0x0830 */ 65, 13, 29, 66,147, 8,148, 7,149, 6,150, 5, 2, 79,222,221, -/* 0x0840 */ 214,213,212,211, 12, 31, 0, 0, 92, 0, 0, 0,116, 0, 0, 0, -/* 0x0850 */ 180,250,255,255,248, 2, 0, 0, 0, 65, 14,176, 1,157, 22,158, -/* 0x0860 */ 21, 65, 13, 29, 67, 5, 72, 10, 5, 73, 9, 5, 76, 6, 5, 74, -/* 0x0870 */ 8, 5, 75, 7, 70,151, 16,152, 15, 70,155, 12,156, 11,147, 20, -/* 0x0880 */ 148, 19,153, 14,154, 13,149, 18,150, 17, 2,172,222,221, 6, 76, -/* 0x0890 */ 6, 75, 6, 74, 6, 73, 6, 72,220,219,218,217,216,215,214,213, -/* 0x08a0 */ 212,211, 12, 31, 0, 0, 0, 0, 60, 0, 0, 0,212, 0, 0, 0, -/* 0x08b0 */ 76,253,255,255,220, 1, 0, 0, 0, 65, 14,160, 1,157, 20,158, -/* 0x08c0 */ 19, 65, 13, 29, 65,147, 18,148, 17, 81,151, 14,152, 13, 68,149, -/* 0x08d0 */ 16,150, 15, 66,153, 12, 2, 92,222,221,217,216,215,214,213,212, -/* 0x08e0 */ 211, 12, 31, 0, 0, 0, 0, 0 +/* 0x0300 */ 192, 3, 95,214,253,123,181,169,253, 3, 0,145,234, 47, 7,109, +/* 0x0310 */ 236, 67, 0,253,232, 39, 6,109,204, 0,103,158, 6, 12, 64,185, +/* 0x0320 */ 243, 83, 1,169,247, 99, 3,169,249,107, 4,169,251,115, 5,169, +/* 0x0330 */ 245, 91, 2,169,223, 28, 0,113,249, 3, 0,170,106, 0, 39, 30, +/* 0x0340 */ 247, 3, 2,170, 41, 0, 39, 30,252, 3, 4,170,171, 0,103,158, +/* 0x0350 */ 19,128, 0,145, 7, 16, 64,185, 3, 0,128, 82,192, 0, 0, 84, +/* 0x0360 */ 0, 24, 64,185, 0, 0, 11, 18, 31, 0, 3,107, 3, 2,128, 82, +/* 0x0370 */ 227, 19,131, 26, 99, 4, 64, 17,224, 3, 19,170, 99, 8, 0, 17, +/* 0x0380 */ 5, 0,128, 82, 1, 0,128,210, 26, 0,128,146,191, 0, 7,107, +/* 0x0390 */ 106, 3, 0, 84, 2, 0, 64,185, 95,100, 0,113, 97, 2, 0, 84, +/* 0x03a0 */ 4, 16, 64,249, 36, 2, 0,180, 2, 12, 64,249, 66, 0, 0,181, +/* 0x03b0 */ 195, 1, 32, 55, 95, 7, 0,177,161, 0, 0, 84,223, 28, 0,113, +/* 0x03c0 */ 97, 0, 0, 84,162, 0, 0,180, 67, 2,130, 82, 95, 3, 2,235, +/* 0x03d0 */ 90,147,130,154, 2, 0, 0, 20,250, 3, 2,170, 66, 0, 4,139, +/* 0x03e0 */ 63, 0, 2,235, 33, 32,130,154, 2, 4, 64,185,165, 4, 0, 17, +/* 0x03f0 */ 66,116,126,146, 0, 0, 2,139,229,255,255, 23, 90,207,116,146, +/* 0x0400 */ 52,252, 63,145,148, 2, 26,203, 0, 0,128,210,148,206,116,146, +/* 0x0410 */ 227, 0, 32, 54,224, 3, 26,170,225, 3, 20,170,163, 79, 0,249, +/* 0x0420 */ 55,255,255,151,163, 79, 64,249,224, 3, 26,170, 2, 0,128, 82, +/* 0x0430 */ 225, 3, 20,170, 4, 0,128, 18,229, 3, 2, 42, 54,255,255,151, +/* 0x0440 */ 24, 44, 64,242, 96, 0, 0, 84,192, 0,128, 82, 68, 0, 0, 20, +/* 0x0450 */ 26, 0, 26,203,251, 3, 24, 42, 24, 0, 0, 20,128, 3, 64,249, +/* 0x0460 */ 64, 0, 0,181,150, 3, 0,249,215, 9, 0,181,255, 2, 31,235, +/* 0x0470 */ 227, 7,159, 26,159, 2, 31,235,225, 7,159, 26,129, 10, 0, 53, +/* 0x0480 */ 246, 3, 20,203,214, 46, 64,242,161, 12, 0, 84, 97, 13, 0, 53, +/* 0x0490 */ 0, 1,102,158,214, 2, 20,139,213, 2, 21,139,191, 2, 0,235, +/* 0x04a0 */ 98, 15, 0, 84,213, 13, 0,181, 96, 6, 64,185,123, 7, 0, 17, +/* 0x04b0 */ 0,116,126,146,115, 2, 0,139, 32, 19, 64,185,127, 3, 0,107, +/* 0x04c0 */ 130, 16, 0, 84, 96, 2, 64,185, 31,100, 0,113,160, 4, 0, 84, +/* 0x04d0 */ 96, 2, 64,185, 31,100, 0,113,161, 14, 0, 84, 97, 18, 64,249, +/* 0x04e0 */ 65,254,255,180,118, 14, 64,249, 96, 26, 64,249, 86, 3, 22,139, +/* 0x04f0 */ 160, 83, 0,249,212, 46, 64,146,193, 2, 1,139,182, 87, 0,249, +/* 0x0500 */ 214, 2, 20,203,148, 2, 0,171, 40, 0,103,158, 96, 4, 0, 84, +/* 0x0510 */ 247, 3, 0,181, 31, 0, 31,235, 67, 2,130, 82, 65, 2,128, 82, +/* 0x0520 */ 35, 16,131, 26, 31, 0, 31,235, 64, 1, 38, 30, 4, 16,159, 90, +/* 0x0530 */ 38, 1, 38, 30,101, 22, 64,249,224, 3, 22,170,225, 3, 20,170, +/* 0x0540 */ 98, 0,128, 82,197, 0, 5, 11,243,254,255,151, 31, 0, 22,235, +/* 0x0550 */ 245, 3, 0,170, 64,248,255, 84, 0, 1,128, 82,215,254,255,151, +/* 0x0560 */ 96, 18, 64,249, 96,251,255,181,224, 3, 23,170,161,131, 2,145, +/* 0x0570 */ 130, 1,128,210,249,254,255,151,225, 6, 64,249,160,167, 64,185, +/* 0x0580 */ 32, 0, 0,139,224, 6, 0,249,210,255,255, 23, 67, 2,130, 82, +/* 0x0590 */ 4, 0,128, 18,231,255,255, 23,245, 3, 22,170,179,255,255, 23, +/* 0x05a0 */ 96, 26, 64,249, 64,246,255,180, 96, 22, 64,249, 64, 0, 0,181, +/* 0x05b0 */ 149, 3, 0,249, 98, 1,102,158,224, 3, 23,170,131, 1,102,158, +/* 0x05c0 */ 161,131, 2,145,252,254,255,151,169,255,255, 23,163,245,255, 52, +/* 0x05d0 */ 96, 22, 64,249, 96,245,255,181, 96, 66, 64,185, 32,245,255, 52, +/* 0x05e0 */ 96, 2, 25,203, 34, 0,128, 82, 0,244,126,146, 2,128,186,114, +/* 0x05f0 */ 160, 2, 0,139, 0,120, 64,185, 0,124, 2, 83, 0, 8, 0, 81, +/* 0x0600 */ 0,244,126,211,184, 2, 0,139,162,106, 32,184, 0,120,128, 82, +/* 0x0610 */ 224,203,186,114, 0, 7, 0,185,154,255,255, 23,162, 2, 20,139, +/* 0x0620 */ 0, 0,128,210, 31,104, 34, 56, 0, 4, 0,145, 31, 0, 22,235, +/* 0x0630 */ 161,255,255, 84,150,255,255, 23, 98, 62, 64,185,224, 3, 21,170, +/* 0x0640 */ 225, 3, 20,170,163, 79, 0,249,176,254,255,151,163, 79, 64,249, +/* 0x0650 */ 0,242,255, 52, 64, 1,128, 82,193,255,255, 23, 1, 1,102,158, +/* 0x0660 */ 98, 62, 64,185,224, 3, 21,170, 67, 2,130, 82, 4, 0,128, 18, +/* 0x0670 */ 5, 0,128, 82, 33, 0, 21,203,167,254,255,151, 31, 0, 21,235, +/* 0x0680 */ 64,241,255, 84, 32, 1,128, 82,181,255,255, 23,227,240,255, 52, +/* 0x0690 */ 148, 14, 0,145,129, 46, 64,146, 63, 12, 0,241,104,240,255, 84, +/* 0x06a0 */ 224, 3, 21,170,150,254,255,151,128,255,255, 23,247,239,255,181, +/* 0x06b0 */ 0, 16, 0, 81, 31, 4, 0,113,136,239,255, 84, 96,138, 64,249, +/* 0x06c0 */ 120, 66, 0,145, 0, 0, 26,139, 96,138, 0,249,119,255,255, 23, +/* 0x06d0 */ 224, 3, 24,170,232, 39, 70,109,243, 83, 65,169,234, 47, 71,109, +/* 0x06e0 */ 245, 91, 66,169,247, 99, 67,169,249,107, 68,169,251,115, 69,169, +/* 0x06f0 */ 236, 67, 64,253,253,123,203,168,192, 3, 95,214,253,123,182,169, +/* 0x0700 */ 253, 3, 0,145,243, 83, 1,169,244, 3, 4,170,243, 3, 2,170, +/* 0x0710 */ 161, 47, 0,249, 1, 96, 0,145,161, 63, 0,249,161, 47, 64,249, +/* 0x0720 */ 0, 24, 64,185, 33, 96, 0,209,161, 59, 0,249,160, 67, 0,249, +/* 0x0730 */ 160, 7, 71,169,247, 99, 3,169,160, 7, 9,169,162, 71, 0,249, +/* 0x0740 */ 160,195, 1,145,161, 3, 2,145,226, 3, 20,170,247, 3, 3,170, +/* 0x0750 */ 3, 0,128,210,245, 91, 2,169,166, 43, 0,249,245, 3, 5,170, +/* 0x0760 */ 249, 35, 0,249,148,254,255,151,164, 43, 64,249, 1, 0,128, 82, +/* 0x0770 */ 162, 67, 2,145,224, 3, 19,170, 3, 0,128, 18,229, 3, 20,170, +/* 0x0780 */ 230, 3, 21,170,224,254,255,151,248, 3, 0,170, 98, 18, 64,185, +/* 0x0790 */ 97,130, 0,145, 4, 0,128, 82,159, 0, 2,107,224, 8, 0, 84, +/* 0x07a0 */ 32, 0, 64,185, 31, 56, 0,113, 1, 8, 0, 84, 32, 8, 64,185, +/* 0x07b0 */ 22, 0,128, 82,153, 2,128, 82, 32, 0, 0,139, 1, 0,128, 82, +/* 0x07c0 */ 226, 3, 1, 42, 69,254,255,151,244, 3, 0, 42, 20, 3,248, 54, +/* 0x07d0 */ 64, 2,128, 82, 30, 0, 0, 20, 98, 2, 64,185, 65,217,159, 82, +/* 0x07e0 */ 65,215,183,114, 95, 0, 1,107, 65, 3, 0, 84, 97, 30, 64, 57, +/* 0x07f0 */ 224, 3, 19,170,117, 34, 0,145, 33,124, 25, 27, 33, 32, 0, 17, +/* 0x0800 */ 75,254,255,151, 96, 6, 64,185, 1, 0,128, 82, 63, 0, 0,107, +/* 0x0810 */ 0, 3, 0, 84,163, 2, 64,185,226, 0,128, 82, 2, 32,160,114, +/* 0x0820 */ 127, 0, 2,107, 1, 2, 0, 84,182, 10, 64,185,224, 3, 20, 42, +/* 0x0830 */ 225, 3, 19,170,226, 3, 23,170,227, 3, 22, 42, 57,254,255,151, +/* 0x0840 */ 255, 2, 0,235,160,252,255, 84, 96, 2,128, 82, 27,254,255,151, +/* 0x0850 */ 193, 87,151, 82,193, 95,185,114, 95, 0, 1,107,128,252,255, 84, +/* 0x0860 */ 4, 0, 0, 20, 33, 4, 0, 17,181, 82, 0,145,232,255,255, 23, +/* 0x0870 */ 164,131, 2,145, 2, 0,128,210,224, 3, 19,170,225, 3, 22, 42, +/* 0x0880 */ 227, 3, 20, 42,229, 3, 2,170,159,140, 28,248,230, 3, 2,170, +/* 0x0890 */ 157,254,255,151,243, 3, 0,170, 24, 0, 0,249,224, 3, 20, 42, +/* 0x08a0 */ 17,254,255,151, 6, 0, 0, 20, 32, 4, 64,185,132, 4, 0, 17, +/* 0x08b0 */ 33, 0, 0,139,185,255,255, 23, 19, 0,128,210,224, 3, 19,170, +/* 0x08c0 */ 249, 35, 64,249,243, 83, 65,169,245, 91, 66,169,247, 99, 67,169, +/* 0x08d0 */ 253,123,202,168,192, 3, 95,214, 20, 0, 0, 0, 0, 0, 0, 0, +/* 0x08e0 */ 1,122, 82, 0, 4,120, 30, 1, 27, 12, 31, 0, 0, 0, 0, 0, +/* 0x08f0 */ 36, 0, 0, 0, 28, 0, 0, 0, 96,248,255,255, 92, 0, 0, 0, +/* 0x0900 */ 0, 65, 14, 16,157, 2,158, 1, 66, 13, 29, 83,222,221, 12, 31, +/* 0x0910 */ 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 68, 0, 0, 0, +/* 0x0920 */ 148,248,255,255, 80, 1, 0, 0, 0, 65, 14, 80,157, 10,158, 9, +/* 0x0930 */ 65, 13, 29, 66,147, 8,148, 7,149, 6,150, 5, 2, 79,222,221, +/* 0x0940 */ 214,213,212,211, 12, 31, 0, 0, 92, 0, 0, 0,116, 0, 0, 0, +/* 0x0950 */ 180,249,255,255,248, 3, 0, 0, 0, 65, 14,176, 1,157, 22,158, +/* 0x0960 */ 21, 65, 13, 29, 67, 5, 74, 8, 5, 75, 7, 5, 76, 6, 5, 72, +/* 0x0970 */ 10, 5, 73, 9, 71,147, 20,148, 19,151, 16,152, 15,153, 14,154, +/* 0x0980 */ 13,155, 12,156, 11,149, 18,150, 17, 2,241,222,221, 6, 76, 6, +/* 0x0990 */ 75, 6, 74, 6, 73, 6, 72,220,219,218,217,216,215,214,213,212, +/* 0x09a0 */ 211, 12, 31, 0, 0, 0, 0, 0, 60, 0, 0, 0,212, 0, 0, 0, +/* 0x09b0 */ 76,253,255,255,220, 1, 0, 0, 0, 65, 14,160, 1,157, 20,158, +/* 0x09c0 */ 19, 65, 13, 29, 65,147, 18,148, 17, 81,151, 14,152, 13, 68,149, +/* 0x09d0 */ 16,150, 15, 66,153, 12, 2, 92,222,221,217,216,215,214,213,212, +/* 0x09e0 */ 211, 12, 31, 0, 0, 0, 0, 0 }; diff -Nru upx-ucl-3.95/src/stub/arm64-linux.elf-entry.h upx-ucl-3.96/src/stub/arm64-linux.elf-entry.h --- upx-ucl-3.95/src/stub/arm64-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm64-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* arm64-linux.elf-entry.h - created from arm64-linux.elf-entry.bin, 8070 (0x1f86) bytes + created from arm64-linux.elf-entry.bin, 8110 (0x1fae) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,14 +31,14 @@ */ -#define STUB_ARM64_LINUX_ELF_ENTRY_SIZE 8070 -#define STUB_ARM64_LINUX_ELF_ENTRY_ADLER32 0xa40dc0a5 -#define STUB_ARM64_LINUX_ELF_ENTRY_CRC32 0x6b658537 +#define STUB_ARM64_LINUX_ELF_ENTRY_SIZE 8110 +#define STUB_ARM64_LINUX_ELF_ENTRY_ADLER32 0xaf20ceb5 +#define STUB_ARM64_LINUX_ELF_ENTRY_CRC32 0x1c7b1387 -unsigned char stub_arm64_linux_elf_entry[8070] = { +unsigned char stub_arm64_linux_elf_entry[8110] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0,183, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 48, 23, 0, 0, 0, 0, 0, 0, +/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 88, 23, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0040 */ 0, 0, 0, 0, 0, 0, 0,148,254, 15, 31,248,226, 15,191,169, /* 0x0050 */ 7, 64, 33,139, 5, 0,128, 18, 4, 0,176, 82, 24, 0, 0, 20, @@ -324,7 +324,7 @@ /* 0x11d0 */ 224, 3, 6, 42, 33, 68, 32,139, 0, 0,128, 82, 33, 68, 32,139, /* 0x11e0 */ 227,124, 24, 83,241, 3, 30,170, 94, 0, 0, 16, 99,254,255, 52, /* 0x11f0 */ 35, 0, 64,121,226,124, 11, 83, 98,124, 2, 27,159, 1, 2,107, -/* 0x1200 */ 2, 1, 0, 84, 2, 0,129, 82,231, 3, 2, 42, 66, 0, 3, 75, +/* 0x1200 */ 2, 1, 0, 84,231, 3, 2, 42, 2, 0,129, 82, 66, 0, 3, 75, /* 0x1210 */ 0, 0, 0, 58, 99, 20, 66, 11, 35, 0, 0,121, 32, 2, 95,214, /* 0x1220 */ 140, 1, 2, 75,231, 0, 2, 75, 99, 20, 67, 75, 0, 0, 0, 58, /* 0x1230 */ 35, 0, 0,121, 32, 2, 95,214,194, 3,128, 82,225, 0, 0, 16, @@ -347,198 +347,200 @@ /* 0x1340 */ 72, 28,128, 82, 1, 0, 0,212, 29, 67, 95,184, 60, 67, 59,139, /* 0x1350 */ 156, 3, 23,139,128, 66, 0,145, 0, 0, 31,214, 47,112,114,111, /* 0x1360 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0, 1,132, 64,248, -/* 0x1370 */ 225,255,255,181,192, 3, 95,214,248, 3, 30,170,224, 3, 0,145, -/* 0x1380 */ 251,255,255,151,250,255,255,151,246, 3, 0,170, 1,136,192,168, -/* 0x1390 */ 63, 24, 0,113, 96, 0, 0, 84,161,255,255, 53, 34, 0,160,210, -/* 0x13a0 */ 250, 3, 2,203, 96, 12,128, 18,161,253,255, 16, 2, 0,128, 82, -/* 0x13b0 */ 8, 7,128, 82, 1, 0, 0,212,251, 3, 0, 42,180,255,255,151, -/* 0x13c0 */ 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32, -/* 0x13d0 */ 101,108,102, 54, 52, 45,108,105,116,116,108,101, 97, 97,114, 99, -/* 0x13e0 */ 104, 54, 52, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73, -/* 0x13f0 */ 100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1400 */ 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, -/* 0x1410 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, -/* 0x1420 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, -/* 0x1430 */ 105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70, -/* 0x1440 */ 108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, -/* 0x1450 */ 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, 32, -/* 0x1460 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1470 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1480 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, -/* 0x1490 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x14a0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x14b0 */ 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, -/* 0x14c0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x14d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x14e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x14f0 */ 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1500 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x1510 */ 89, 10, 32, 32, 50, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, -/* 0x1520 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1530 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1540 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1550 */ 32, 32, 48, 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, -/* 0x1560 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x1570 */ 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 69, 32, 32, -/* 0x1580 */ 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 50, 56, 32, -/* 0x1590 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x15a0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x15b0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, -/* 0x15c0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x15d0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, -/* 0x15e0 */ 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, -/* 0x15f0 */ 49, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1600 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1610 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55, 48, -/* 0x1620 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1630 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 78, -/* 0x1640 */ 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x1650 */ 48, 48, 48,102, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1660 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1670 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1680 */ 50, 56, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x1690 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x16a0 */ 54, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, -/* 0x16b0 */ 48, 48, 48, 48, 48, 48, 98, 56, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x16c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x16d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x16e0 */ 48, 48, 48, 51, 55, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x16f0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x1700 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, -/* 0x1710 */ 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, -/* 0x1720 */ 54, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1730 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1740 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 51, 52, -/* 0x1750 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1760 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, -/* 0x1770 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, -/* 0x1780 */ 48, 48, 52, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1790 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x17a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x17b0 */ 100, 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x17c0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x17d0 */ 57, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, -/* 0x17e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x17f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1800 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1810 */ 48, 48, 49, 50, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1820 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1830 */ 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, -/* 0x1840 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 51,101, 32, 32, 48, 48, 48, -/* 0x1850 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1860 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1870 */ 32, 48, 48, 48, 48, 49, 50, 51, 56, 32, 32, 50, 42, 42, 48, 32, -/* 0x1880 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, -/* 0x1890 */ 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, -/* 0x18a0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 99, 32, 32, -/* 0x18b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x18c0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x18d0 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 50, 55, 56, 32, 32, 50, 42, -/* 0x18e0 */ 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x18f0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, -/* 0x1900 */ 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, -/* 0x1910 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, -/* 0x1920 */ 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, -/* 0x1930 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1940 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, -/* 0x1950 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, -/* 0x1960 */ 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, -/* 0x1970 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, -/* 0x1980 */ 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1990 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, -/* 0x19a0 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, -/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, -/* 0x19c0 */ 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x19d0 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, -/* 0x19e0 */ 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x19f0 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, -/* 0x1a00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a10 */ 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, -/* 0x1a20 */ 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a30 */ 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, -/* 0x1a40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, -/* 0x1a50 */ 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, -/* 0x1a60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, -/* 0x1a70 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a80 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, -/* 0x1a90 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1aa0 */ 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, -/* 0x1ac0 */ 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ad0 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, -/* 0x1ae0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x1af0 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, -/* 0x1b00 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b10 */ 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, -/* 0x1b20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x1b30 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x1b40 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b50 */ 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x1b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x1b70 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x1b80 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1b90 */ 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x1ba0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x1bb0 */ 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, -/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1bd0 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, -/* 0x1be0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, -/* 0x1bf0 */ 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 70, 76, 71, 10, 48, -/* 0x1c10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32, -/* 0x1c20 */ 103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, -/* 0x1c30 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c40 */ 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, -/* 0x1c60 */ 70, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c70 */ 48, 48, 48, 48, 48, 49, 50, 56, 32,117, 99,108, 95,110,114,118, -/* 0x1c80 */ 50,101, 95,100,101, 99,111,109,112,114,101,115,115, 95, 51, 50, -/* 0x1c90 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ca0 */ 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 68, 9, -/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 99, -/* 0x1cc0 */ 32,117, 99,108, 95,110,114,118, 50,100, 95,100,101, 99,111,109, -/* 0x1cd0 */ 112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ce0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, -/* 0x1cf0 */ 70, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d00 */ 48, 48, 48, 48, 48, 48,102, 48, 32,117, 99,108, 95,110,114,118, -/* 0x1d10 */ 50, 98, 95,100,101, 99,111,109,112,114,101,115,115, 95, 51, 50, -/* 0x1d20 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d30 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x1d40 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d50 */ 48, 48, 48, 48, 48, 32, 76,122,109, 97, 68,101, 99,111,100,101, -/* 0x1d60 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d70 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x1d80 */ 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d90 */ 48, 48, 48, 32,101,110,100, 95,100,101, 99,111,109,112,114,101, -/* 0x1da0 */ 115,115, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1db0 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, -/* 0x1dc0 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1dd0 */ 48, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, -/* 0x1de0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x1df0 */ 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, -/* 0x1e00 */ 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1e10 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1e20 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e30 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 65, 65, 82, 67, 72, -/* 0x1e40 */ 54, 52, 95, 65, 66, 83, 51, 50, 32, 32, 32, 77, 70, 76, 71, 10, -/* 0x1e50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, -/* 0x1e60 */ 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 67, 65, 76, 76, 50, -/* 0x1e70 */ 54, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, -/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 48, 48, 10, 10, -/* 0x1e90 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x1ea0 */ 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, -/* 0x1eb0 */ 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, -/* 0x1ec0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x1ed0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, -/* 0x1ef0 */ 95, 65, 65, 82, 67, 72, 54, 52, 95, 67, 79, 78, 68, 66, 82, 49, -/* 0x1f00 */ 57, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 10, 82, -/* 0x1f10 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x1f20 */ 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, -/* 0x1f30 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1f40 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1f50 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, -/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 48, 48, 49, 52, 56, 32, 82, 95, 65, 65, -/* 0x1f70 */ 82, 67, 72, 54, 52, 95, 65, 66, 83, 51, 50, 32, 32, 32, 79, 95, -/* 0x1f80 */ 66, 73, 78, 70, 79, 10 +/* 0x1370 */ 225,255,255,181,192, 3, 95,214,194, 1,128, 82, 1,255,255, 16, +/* 0x1380 */ 64, 0,128, 82, 8, 8,128, 82, 1, 0, 0,212,224, 15,128, 82, +/* 0x1390 */ 168, 11,128, 82, 1, 0, 0,212,248, 3, 30,170,224, 3, 0,145, +/* 0x13a0 */ 243,255,255,151,242,255,255,151,246, 3, 0,170, 1,136,192,168, +/* 0x13b0 */ 63, 24, 0,113, 96, 0, 0, 84,161,255,255, 53, 34, 0,160,210, +/* 0x13c0 */ 250, 3, 2,203, 96, 12,128, 18,161,252,255, 16, 2, 0,128, 82, +/* 0x13d0 */ 8, 7,128, 82, 1, 0, 0,212,251, 3, 0, 42, 31, 0, 0,113, +/* 0x13e0 */ 203,252,255, 84,170,255,255,151, 0, 0, 0, 0,102,105,108,101, +/* 0x13f0 */ 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45,108,105, +/* 0x1400 */ 116,116,108,101, 97, 97,114, 99,104, 54, 52, 10, 10, 83,101, 99, +/* 0x1410 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, +/* 0x1420 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, +/* 0x1430 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1440 */ 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1450 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, +/* 0x1460 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, +/* 0x1470 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, +/* 0x1480 */ 48, 48, 48, 48, 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1490 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x14a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x14b0 */ 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x14c0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, +/* 0x14d0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, +/* 0x14e0 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x14f0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1500 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1510 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 56, 32, +/* 0x1520 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, +/* 0x1530 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, +/* 0x1540 */ 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1550 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1560 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1570 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1580 */ 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1590 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, +/* 0x15a0 */ 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, +/* 0x15b0 */ 48, 48, 48, 48, 49, 50, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x15c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x15d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x15e0 */ 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x15f0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x1600 */ 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, +/* 0x1610 */ 32, 32, 48, 48, 48, 48, 48, 49, 49, 99, 32, 32, 48, 48, 48, 48, +/* 0x1620 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1630 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1640 */ 48, 48, 48, 48, 48, 49, 55, 48, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x1650 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1660 */ 76, 89, 10, 32, 32, 53, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, +/* 0x1670 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 48, 32, 32, 48, +/* 0x1680 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1690 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x16a0 */ 48, 32, 32, 48, 48, 48, 48, 48, 50, 56, 99, 32, 32, 50, 42, 42, +/* 0x16b0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x16c0 */ 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 69, +/* 0x16d0 */ 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 98, 56, +/* 0x16e0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x16f0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1700 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 55, 99, 32, 32, +/* 0x1710 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1720 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x1730 */ 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, +/* 0x1740 */ 32, 32, 48, 48, 48, 48, 48, 57, 54, 56, 32, 32, 48, 48, 48, 48, +/* 0x1750 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1760 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1770 */ 48, 48, 48, 48, 48, 52, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x1780 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1790 */ 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x17a0 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 52, 57, 99, 32, 32, 48, +/* 0x17b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x17c0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x17d0 */ 48, 32, 32, 48, 48, 48, 48, 48,100, 57, 99, 32, 32, 50, 42, 42, +/* 0x17e0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x17f0 */ 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, +/* 0x1800 */ 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1810 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1820 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1830 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 50, 51, 56, 32, 32, +/* 0x1840 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1850 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 69, 76, 70, +/* 0x1860 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1870 */ 48, 51,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1880 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1890 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 50, 51, +/* 0x18a0 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x18b0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, +/* 0x18c0 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, +/* 0x18d0 */ 48, 48, 48, 49, 55, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x18e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x18f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1900 */ 49, 50, 55, 56, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, +/* 0x1910 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, +/* 0x1920 */ 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, +/* 0x1930 */ 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1940 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, +/* 0x1950 */ 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1960 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x1970 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1980 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, +/* 0x1990 */ 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x19a0 */ 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, +/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x19c0 */ 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x19d0 */ 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x19e0 */ 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, +/* 0x19f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, +/* 0x1a00 */ 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, +/* 0x1a10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, +/* 0x1a20 */ 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, +/* 0x1a40 */ 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, +/* 0x1a50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, +/* 0x1a60 */ 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a70 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, +/* 0x1a80 */ 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a90 */ 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, +/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x1ab0 */ 100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, +/* 0x1ad0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ae0 */ 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, +/* 0x1af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1b00 */ 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b10 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, +/* 0x1b20 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, +/* 0x1b30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, +/* 0x1b40 */ 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b50 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, +/* 0x1b60 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, +/* 0x1b70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, +/* 0x1b80 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b90 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, +/* 0x1ba0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, +/* 0x1bb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, +/* 0x1bc0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bd0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, +/* 0x1be0 */ 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x1c00 */ 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c10 */ 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, +/* 0x1c20 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c30 */ 48, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c40 */ 48, 48, 48, 48, 48, 48, 52, 32,103, 32, 32, 32, 32, 32, 32, 32, +/* 0x1c50 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, +/* 0x1c70 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c80 */ 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 69, 9, +/* 0x1c90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 50, 56, +/* 0x1ca0 */ 32,117, 99,108, 95,110,114,118, 50,101, 95,100,101, 99,111,109, +/* 0x1cb0 */ 112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1cc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, +/* 0x1cd0 */ 70, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ce0 */ 48, 48, 48, 48, 48, 49, 49, 99, 32,117, 99,108, 95,110,114,118, +/* 0x1cf0 */ 50,100, 95,100,101, 99,111,109,112,114,101,115,115, 95, 51, 50, +/* 0x1d00 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d10 */ 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 66, 9, +/* 0x1d20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,102, 48, +/* 0x1d30 */ 32,117, 99,108, 95,110,114,118, 50, 98, 95,100,101, 99,111,109, +/* 0x1d40 */ 112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, +/* 0x1d60 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, +/* 0x1d70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,122, +/* 0x1d80 */ 109, 97, 68,101, 99,111,100,101, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, +/* 0x1da0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, +/* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95, +/* 0x1dc0 */ 100,101, 99,111,109,112,114,101,115,115, 10, 48, 48, 48, 48, 48, +/* 0x1dd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, +/* 0x1de0 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, +/* 0x1df0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, +/* 0x1e00 */ 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, +/* 0x1e10 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, +/* 0x1e20 */ 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x1e30 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x1e40 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x1e50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e60 */ 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 65, 66, 83, 51, 50, +/* 0x1e70 */ 32, 32, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 65, 65, 82, 67, 72, +/* 0x1e90 */ 54, 52, 95, 67, 65, 76, 76, 50, 54, 32, 32, 69, 76, 70, 77, 65, +/* 0x1ea0 */ 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1eb0 */ 48, 48, 48, 49, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x1ec0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x1ed0 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, +/* 0x1ee0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, +/* 0x1ef0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1f00 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f10 */ 48, 48, 48, 48, 48, 52, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, +/* 0x1f20 */ 95, 67, 79, 78, 68, 66, 82, 49, 57, 32, 32, 76, 90, 77, 65, 95, +/* 0x1f30 */ 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, +/* 0x1f40 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, +/* 0x1f50 */ 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, +/* 0x1f60 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, +/* 0x1f70 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, +/* 0x1f80 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f90 */ 49, 55, 48, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 65, 66, +/* 0x1fa0 */ 83, 51, 50, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 }; diff -Nru upx-ucl-3.95/src/stub/arm64-linux.elf-fold.h upx-ucl-3.96/src/stub/arm64-linux.elf-fold.h --- upx-ucl-3.95/src/stub/arm64-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm64-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* arm64-linux.elf-fold.h - created from arm64-linux.elf-fold.bin, 2532 (0x9e4) bytes + created from arm64-linux.elf-fold.bin, 2608 (0xa30) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,20 +31,20 @@ */ -#define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2532 -#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0x4b7f7dbe -#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0x3fc812b9 +#define STUB_ARM64_LINUX_ELF_FOLD_SIZE 2608 +#define STUB_ARM64_LINUX_ELF_FOLD_ADLER32 0xe9f98e42 +#define STUB_ARM64_LINUX_ELF_FOLD_CRC32 0x309ddfb4 -unsigned char stub_arm64_linux_elf_fold[2532] = { +unsigned char stub_arm64_linux_elf_fold[2608] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0,183, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0, /* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, -/* 0x0060 */ 228, 9, 0, 0, 0, 0, 0, 0,228, 9, 0, 0, 0, 0, 0, 0, +/* 0x0060 */ 48, 10, 0, 0, 0, 0, 0, 0, 48, 10, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -/* 0x0080 */ 228, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0080 */ 48, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,146, @@ -61,7 +61,7 @@ /* 0x0160 */ 31, 4, 64,177, 66, 0, 0, 84, 95,104, 32, 56,231, 3, 20,170, /* 0x0170 */ 230, 3, 25,170,255, 3, 40,209,165, 3, 0, 16,228, 3, 24,170, /* 0x0180 */ 227, 3, 22,170,226, 3, 0,145,225, 3, 29, 42,224, 3, 28,170, -/* 0x0190 */ 187, 1, 0,148,255, 3, 40,145,248, 3, 0,170, 5, 0,128,210, +/* 0x0190 */ 206, 1, 0,148,255, 3, 40,145,248, 3, 0,170, 5, 0,128,210, /* 0x01a0 */ 228, 3, 21, 42, 67, 0,128, 82, 34, 0,128, 82, 1, 0,130,210, /* 0x01b0 */ 0, 0,128,210, 58, 0, 0,148,224, 3, 21, 42, 37, 0, 0,148, /* 0x01c0 */ 254, 3, 24,170,224, 3, 26,170,225, 3, 27, 42,226,130, 95,248, @@ -114,85 +114,89 @@ /* 0x04b0 */ 4, 0, 0,249, 2, 4, 0,249, 8, 0, 0, 20,127, 4, 0,241, /* 0x04c0 */ 97, 0, 0, 84, 97, 0, 0, 52,250,255,255, 23, 99, 0, 0,180, /* 0x04d0 */ 0, 64, 0,145,244,255,255, 23,192, 3, 95,214,253,123,181,169, -/* 0x04e0 */ 253, 3, 0,145,234, 47, 7,109,202, 0,103,158, 6, 16, 64,249, -/* 0x04f0 */ 236, 55, 8,109,245, 91, 2,169,232, 39, 6,109,245, 3, 0,170, -/* 0x0500 */ 249,107, 4,169, 26, 0, 6,139, 0, 32, 64,121,247, 99, 3,169, -/* 0x0510 */ 31, 12, 0,113,248, 3, 3,170, 64, 1,102,158, 3, 2,128, 82, -/* 0x0520 */ 140, 0,103,158, 99, 16,159, 26,173, 0,103,158,165,114, 64,121, -/* 0x0530 */ 243, 83, 1,169, 0, 0, 64,249,247, 3, 1,170,251,115, 5,169, -/* 0x0540 */ 75, 0, 39, 30,251, 3, 7,170, 99,136, 0, 17,226, 3, 26,170, -/* 0x0550 */ 1, 0,128,210, 19, 0,128,146,165, 4, 0, 81,191, 4, 0, 49, -/* 0x0560 */ 160, 1, 0, 84, 68, 0, 64,185,159, 4, 0,113, 1, 1, 0, 84, -/* 0x0570 */ 71, 8, 64,249, 68, 20, 64,249,127, 2, 7,235,228, 0, 4,139, -/* 0x0580 */ 115,146,135,154, 63, 0, 4,235, 33, 32,132,154, 66,224, 0,145, -/* 0x0590 */ 242,255,255, 23,226, 3, 59,170,115, 2, 27,138, 65, 0, 1,139, -/* 0x05a0 */ 33, 0, 19,203, 72, 0,103,158, 33, 0, 27,138,163, 0, 32, 55, -/* 0x05b0 */ 83, 0, 0,181,160, 0, 0,181, 0, 0,128,210, 4, 0, 0, 20, -/* 0x05c0 */ 224, 3, 19,170, 2, 0, 0, 20, 67, 6,128, 82, 2, 0,128, 82, -/* 0x05d0 */ 4, 0,128, 18, 5, 0,128,210, 28, 0,128, 82, 48,255,255,151, -/* 0x05e0 */ 19, 0, 19,203,160,114, 64,121,159, 3, 0,107,202, 18, 0, 84, -/* 0x05f0 */ 64, 3, 64,185, 55, 1, 0,180, 31, 24, 0,113,225, 0, 0, 84, -/* 0x0600 */ 66, 11, 64,249,224, 3, 24,170, 97, 0,128, 82, 98, 2, 2,139, -/* 0x0610 */ 162,255,255,151,132, 0, 0, 20, 31, 4, 0,113, 65, 16, 0, 84, -/* 0x0620 */ 87, 2, 0,180, 64, 7, 64,249, 0, 2, 0,181,162, 18, 64,249, -/* 0x0630 */ 224, 3, 24,170, 67, 11, 64,249, 97, 0,128, 82, 98, 2, 2,139, -/* 0x0640 */ 66, 0, 3,139,149,255,255,151,162,114, 64,121,224, 3, 24,170, -/* 0x0650 */ 161, 0,128, 82,145,255,255,151,162,110, 64,121,224, 3, 24,170, -/* 0x0660 */ 129, 0,128, 82,141,255,255,151, 89, 7, 64,185, 0, 72,140, 82, -/* 0x0670 */ 32,106,174,114, 84, 11, 64,249, 57, 11, 30, 83,255, 2, 31,235, -/* 0x0680 */ 0, 36,217, 26,160,147, 0,185, 25, 8, 0, 18, 64, 23, 64,249, -/* 0x0690 */ 116, 2, 20,139, 86, 19, 64,249,128, 2, 0,139, 71, 7, 64,249, -/* 0x06a0 */ 182, 83, 0,249, 70, 6,128, 82, 9, 0,103,158,180, 87, 0,249, -/* 0x06b0 */ 0, 1,102,158, 67, 2,128, 82,133, 2, 0,138, 64, 0,128, 82, -/* 0x06c0 */ 2, 16,159, 26,255, 2, 31,235, 96, 1, 38, 30,148, 2, 5,203, -/* 0x06d0 */ 182, 0, 22,139, 66, 0, 25, 42,225, 3, 22,170,229, 0, 5,203, -/* 0x06e0 */ 4, 0,159, 90,255, 2, 31,235,195, 16,131, 26,224, 3, 20,170, -/* 0x06f0 */ 235,254,255,151,159, 2, 0,235, 96, 0, 0, 84,224, 15,128, 82, -/* 0x0700 */ 204,254,255,151,215, 0, 0,180,130, 1,102,158,224, 3, 23,170, -/* 0x0710 */ 163, 1,102,158,161,131, 2,145, 14,255,255,151, 0, 1,102,158, -/* 0x0720 */ 227, 3, 22,203, 99, 0, 0,138,160, 75, 64,249, 96, 0, 8, 55, -/* 0x0730 */ 87, 1, 0,181, 45, 0, 0, 20,195,255,255,180,129, 2, 22,139, -/* 0x0740 */ 0, 0,128,210, 63,104, 32, 56, 0, 4, 0,145, 31, 0, 3,235, -/* 0x0750 */ 161,255,255, 84,247,255,255, 23, 64, 3, 64,249,225, 3, 0,178, -/* 0x0760 */ 0,128, 64,146, 31, 0, 1,235, 33, 3, 0, 84, 65, 23, 64,249, -/* 0x0770 */ 66, 19, 64,249, 64, 11, 64,249, 63, 0, 2,235,161, 5, 0, 84, -/* 0x0780 */ 98, 14, 0,145, 66, 0, 1,139, 66, 0, 0,139, 66,244,126,146, -/* 0x0790 */ 225, 3, 2, 75, 33, 0, 59, 10, 63, 28, 0,113,169, 4, 0, 84, -/* 0x07a0 */ 32, 0,128, 82, 1, 0,128, 82, 0,128,186,114, 64, 0, 0,185, -/* 0x07b0 */ 0,120,128, 82,163, 75, 0,249,224,203,186,114, 64, 4, 0,185, -/* 0x07c0 */ 0,251,127,146, 53,255,255,151,163, 75, 64,249,224, 3, 20,170, -/* 0x07d0 */ 225, 3, 22,170,226, 3, 25, 42,163, 75, 0,249,169,254,255,151, -/* 0x07e0 */ 163, 75, 64,249,192,248,255, 53, 32, 1,102,158,118, 0, 22,139, -/* 0x07f0 */ 148, 2, 22,139,159, 2, 0,235, 98, 1, 0, 84, 33, 1,102,158, -/* 0x0800 */ 224, 3, 20,170,226, 3, 25, 42, 67, 6,128, 82, 4, 0,128, 18, -/* 0x0810 */ 5, 0,128,210, 33, 0, 20,203,161,254,255,151,159, 2, 0,235, -/* 0x0820 */ 225,246,255, 84, 90,227, 0,145,156, 7, 0, 17,110,255,255, 23, -/* 0x0830 */ 2, 0, 19,139, 64, 7, 64,249, 66, 32, 0,145, 32,251,255,180, -/* 0x0840 */ 227,255,255, 23, 64, 1,102,158,232, 39, 70,109,247, 99, 67,169, -/* 0x0850 */ 234, 47, 71,109,249,107, 68,169,236, 55, 72,109,251,115, 69,169, -/* 0x0860 */ 19, 0, 0,249,160, 14, 64,249,245, 91, 66,169, 96, 2, 0,139, -/* 0x0870 */ 243, 83, 65,169,253,123,203,168,192, 3, 95,214,253,123,182,169, -/* 0x0880 */ 253, 3, 0,145,247, 99, 3,169,247, 3, 3,170, 3, 4, 64,185, -/* 0x0890 */ 243, 83, 1,169,162, 63, 0,249,243, 3, 2,170, 99, 48, 0,145, -/* 0x08a0 */ 2, 0, 64,185,162, 59, 0,249,226, 3, 4,170,160, 79, 0,249, -/* 0x08b0 */ 116, 2, 1,145,163, 75, 0,249, 3, 0,128,210,160, 71, 0,249, -/* 0x08c0 */ 160, 67, 2,145,161, 67, 0,249,161,195, 1,145,245, 91, 2,169, -/* 0x08d0 */ 249, 35, 0,249,249, 3, 7,170,165, 47, 0,249, 22, 0,128, 82, -/* 0x08e0 */ 166, 55, 0,249,164, 51, 0,249,154,254,255,151,164, 51, 64,249, -/* 0x08f0 */ 161, 3, 2,145,165, 47, 64,249, 2, 0,128, 82,227, 3, 23,170, -/* 0x0900 */ 166,163, 1,145,231, 3, 25,170,224, 3, 19,170,244,254,255,151, -/* 0x0910 */ 245, 3, 0,170, 33, 1,128, 82,224, 3, 23,170,226, 3, 21,170, -/* 0x0920 */ 222,254,255,151, 96,114, 64,121,223, 2, 0,107,226, 4, 0, 84, -/* 0x0930 */ 128, 2, 64,185, 31, 12, 0,113, 33, 4, 0, 84,129, 10, 64,249, -/* 0x0940 */ 160, 55, 64,249, 32, 0, 0,139, 1, 0,128, 82,226, 3, 1, 42, -/* 0x0950 */ 93,254,255,151,248, 3, 0, 42, 96, 0,248, 54,224, 15,128, 82, -/* 0x0960 */ 52,254,255,151,225, 3, 19,170, 2,128,128,210, 51,254,255,151, -/* 0x0970 */ 31, 0, 16,241, 65,255,255, 84, 1, 0,128,210,226, 3, 24, 42, -/* 0x0980 */ 227, 3, 1,170,228, 3, 1,170,229, 3, 1,170,166,163, 1,145, -/* 0x0990 */ 231, 3, 25,170,224, 3, 19,170,191, 55, 0,249,208,254,255,151, -/* 0x09a0 */ 245, 3, 0,170,162, 55, 64,249,224, 3, 23,170,225, 0,128, 82, -/* 0x09b0 */ 186,254,255,151,224, 3, 24, 42, 38,254,255,151,148,226, 0,145, -/* 0x09c0 */ 214, 6, 0, 17,216,255,255, 23,224, 3, 21,170,249, 35, 64,249, -/* 0x09d0 */ 243, 83, 65,169,245, 91, 66,169,247, 99, 67,169,253,123,202,168, -/* 0x09e0 */ 192, 3, 95,214 +/* 0x04e0 */ 253, 3, 0,145,236, 55, 8,109,204, 0,103,158, 6, 16, 64,249, +/* 0x04f0 */ 238, 63, 9,109,251,115, 5,169,232, 39, 6,109, 27, 0, 6,139, +/* 0x0500 */ 234, 47, 7,109,245, 91, 2,169,246, 3, 0,170, 0, 32, 64,121, +/* 0x0510 */ 247, 99, 3,169, 31, 12, 0,113,248, 3, 3,170,128, 1,102,158, +/* 0x0520 */ 3, 2,128, 82,142, 0,103,158, 99, 16,159, 26,175, 0,103,158, +/* 0x0530 */ 197,114, 64,121,243, 83, 1,169, 0, 0, 64,249,247, 3, 1,170, +/* 0x0540 */ 77, 0, 39, 30,252, 3, 7,170,249,107, 4,169, 99,136, 0, 17, +/* 0x0550 */ 226, 3, 27,170, 1, 0,128,210, 19, 0,128,146,165, 4, 0, 81, +/* 0x0560 */ 191, 4, 0, 49,160, 1, 0, 84, 68, 0, 64,185,159, 4, 0,113, +/* 0x0570 */ 1, 1, 0, 84, 71, 8, 64,249, 68, 20, 64,249,127, 2, 7,235, +/* 0x0580 */ 228, 0, 4,139,115,146,135,154, 63, 0, 4,235, 33, 32,132,154, +/* 0x0590 */ 66,224, 0,145,242,255,255, 23,226, 3, 60,170,115, 2, 28,138, +/* 0x05a0 */ 65, 0, 1,139, 33, 0, 19,203, 74, 0,103,158, 33, 0, 28,138, +/* 0x05b0 */ 163, 0, 32, 55, 83, 0, 0,181,160, 0, 0,181, 0, 0,128,210, +/* 0x05c0 */ 4, 0, 0, 20,224, 3, 19,170, 2, 0, 0, 20, 67, 6,128, 82, +/* 0x05d0 */ 2, 0,128, 82, 4, 0,128, 18, 5, 0,128,210, 48,255,255,151, +/* 0x05e0 */ 19, 0, 19,203,232, 3, 39, 30, 1, 1, 38, 30,192,114, 64,121, +/* 0x05f0 */ 63, 0, 0,107,202, 20, 0, 84, 96, 3, 64,185, 55, 1, 0,180, +/* 0x0600 */ 31, 24, 0,113,225, 0, 0, 84, 98, 11, 64,249,224, 3, 24,170, +/* 0x0610 */ 97, 0,128, 82, 98, 2, 2,139,160,255,255,151,148, 0, 0, 20, +/* 0x0620 */ 31, 4, 0,113, 65, 18, 0, 84, 87, 2, 0,180, 96, 7, 64,249, +/* 0x0630 */ 0, 2, 0,181,194, 18, 64,249,224, 3, 24,170, 99, 11, 64,249, +/* 0x0640 */ 97, 0,128, 82, 98, 2, 2,139, 66, 0, 3,139,147,255,255,151, +/* 0x0650 */ 194,114, 64,121,224, 3, 24,170,161, 0,128, 82,143,255,255,151, +/* 0x0660 */ 194,110, 64,121,224, 3, 24,170,129, 0,128, 82,139,255,255,151, +/* 0x0670 */ 122, 7, 64,185, 0, 72,140, 82, 32,106,174,114,117, 11, 64,249, +/* 0x0680 */ 90, 11, 30, 83,255, 2, 31,235, 26, 36,218, 26,117, 2, 21,139, +/* 0x0690 */ 64, 11, 0, 18,116, 19, 64,249,103, 7, 64,249, 70, 6,128, 82, +/* 0x06a0 */ 9, 0, 39, 30, 96, 23, 64,249,180, 83, 0,249,160, 2, 0,139, +/* 0x06b0 */ 181, 87, 0,249, 11, 0,103,158, 64, 1,102,158, 35, 1, 38, 30, +/* 0x06c0 */ 165, 2, 0,138, 64, 0,128, 82, 2, 16,159, 26,255, 2, 31,235, +/* 0x06d0 */ 160, 1, 38, 30,181, 2, 5,203,180, 0, 20,139, 66, 0, 3, 42, +/* 0x06e0 */ 67, 2,128, 82,225, 3, 20,170,229, 0, 5,203, 4, 0,159, 90, +/* 0x06f0 */ 255, 2, 31,235,195, 16,131, 26,224, 3, 21,170,232,254,255,151, +/* 0x0700 */ 191, 2, 0,235, 96, 0, 0, 84,224, 15,128, 82,201,254,255,151, +/* 0x0710 */ 215, 0, 0,180,194, 1,102,158,224, 3, 23,170,227, 1,102,158, +/* 0x0720 */ 161,131, 2,145, 11,255,255,151, 64, 1,102,158,249, 3, 20,203, +/* 0x0730 */ 57, 3, 0,138,122, 0, 8, 55, 87, 1, 0,181, 61, 0, 0, 20, +/* 0x0740 */ 217,255,255,180,161, 2, 20,139, 0, 0,128,210, 63,104, 32, 56, +/* 0x0750 */ 0, 4, 0,145, 31, 0, 25,235,161,255,255, 84,247,255,255, 23, +/* 0x0760 */ 96, 3, 64,249,225, 3, 0,178, 0,128, 64,146, 31, 0, 1,235, +/* 0x0770 */ 97, 5, 0, 84, 96, 23, 64,249, 98, 19, 64,249, 97, 11, 64,249, +/* 0x0780 */ 31, 0, 2,235, 97, 1, 0, 84,122, 14, 0,145, 90, 3, 0,139, +/* 0x0790 */ 90, 3, 1,139, 90,247,126,146,224, 3, 26, 75, 0, 0, 60, 10, +/* 0x07a0 */ 31, 28, 0,113,105, 0, 0, 84, 0, 0,128, 82, 13, 0, 0, 20, +/* 0x07b0 */ 96, 7, 64,249, 96, 6, 0,180, 0, 0,128,210, 1, 0,130,210, +/* 0x07c0 */ 98, 0,128, 82, 67, 4,128, 82, 4, 0,128, 18,229, 3, 0,170, +/* 0x07d0 */ 179,254,255,151,250, 3, 0,170, 32, 2, 0,180, 32, 0,128, 82, +/* 0x07e0 */ 33, 0,128, 82, 1,128,186,114, 65, 3, 0,185, 1,120,128, 82, +/* 0x07f0 */ 225,203,186,114, 65, 7, 0,185,160, 0, 0, 52,224, 3, 26,170, +/* 0x0800 */ 1, 1,128,210,162, 0,128, 82,158,254,255,151, 0,251,127,146, +/* 0x0810 */ 1, 0,128, 82,226, 3, 26,170, 32,255,255,151, 34, 1, 38, 30, +/* 0x0820 */ 224, 3, 21,170,225, 3, 20,170,150,254,255,151,224,246,255, 53, +/* 0x0830 */ 96, 1,102,158, 52, 3, 20,139,181, 2, 20,139,191, 2, 0,235, +/* 0x0840 */ 98, 1, 0, 84, 97, 1,102,158,224, 3, 21,170, 34, 1, 38, 30, +/* 0x0850 */ 67, 6,128, 82, 4, 0,128, 18, 5, 0,128,210, 33, 0, 21,203, +/* 0x0860 */ 143,254,255,151,191, 2, 0,235, 1,245,255, 84, 0, 1, 38, 30, +/* 0x0870 */ 123,227, 0,145, 0, 4, 0, 17, 8, 0, 39, 30, 91,255,255, 23, +/* 0x0880 */ 58, 0, 19,139, 90, 35, 0,145,214,255,255, 23,128, 1,102,158, +/* 0x0890 */ 232, 39, 70,109,247, 99, 67,169,234, 47, 71,109,249,107, 68,169, +/* 0x08a0 */ 236, 55, 72,109,251,115, 69,169,238, 63, 73,109, 19, 0, 0,249, +/* 0x08b0 */ 192, 14, 64,249,245, 91, 66,169, 96, 2, 0,139,243, 83, 65,169, +/* 0x08c0 */ 253,123,203,168,192, 3, 95,214,253,123,182,169,253, 3, 0,145, +/* 0x08d0 */ 247, 99, 3,169,247, 3, 3,170, 3, 4, 64,185,243, 83, 1,169, +/* 0x08e0 */ 162, 63, 0,249,243, 3, 2,170, 99, 48, 0,145, 2, 0, 64,185, +/* 0x08f0 */ 162, 59, 0,249,226, 3, 4,170,160, 79, 0,249,116, 2, 1,145, +/* 0x0900 */ 163, 75, 0,249, 3, 0,128,210,160, 71, 0,249,160, 67, 2,145, +/* 0x0910 */ 161, 67, 0,249,161,195, 1,145,245, 91, 2,169,249, 35, 0,249, +/* 0x0920 */ 249, 3, 7,170,165, 47, 0,249, 22, 0,128, 82,166, 55, 0,249, +/* 0x0930 */ 164, 51, 0,249,135,254,255,151,164, 51, 64,249,161, 3, 2,145, +/* 0x0940 */ 165, 47, 64,249, 2, 0,128, 82,227, 3, 23,170,166,163, 1,145, +/* 0x0950 */ 231, 3, 25,170,224, 3, 19,170,225,254,255,151,245, 3, 0,170, +/* 0x0960 */ 33, 1,128, 82,224, 3, 23,170,226, 3, 21,170,203,254,255,151, +/* 0x0970 */ 96,114, 64,121,223, 2, 0,107,226, 4, 0, 84,128, 2, 64,185, +/* 0x0980 */ 31, 12, 0,113, 33, 4, 0, 84,129, 10, 64,249,160, 55, 64,249, +/* 0x0990 */ 32, 0, 0,139, 1, 0,128, 82,226, 3, 1, 42, 74,254,255,151, +/* 0x09a0 */ 248, 3, 0, 42, 96, 0,248, 54,224, 15,128, 82, 33,254,255,151, +/* 0x09b0 */ 225, 3, 19,170, 2,128,128,210, 32,254,255,151, 31, 0, 16,241, +/* 0x09c0 */ 65,255,255, 84, 1, 0,128,210,226, 3, 24, 42,227, 3, 1,170, +/* 0x09d0 */ 228, 3, 1,170,229, 3, 1,170,166,163, 1,145,231, 3, 25,170, +/* 0x09e0 */ 224, 3, 19,170,191, 55, 0,249,189,254,255,151,245, 3, 0,170, +/* 0x09f0 */ 162, 55, 64,249,224, 3, 23,170,225, 0,128, 82,167,254,255,151, +/* 0x0a00 */ 224, 3, 24, 42, 19,254,255,151,148,226, 0,145,214, 6, 0, 17, +/* 0x0a10 */ 216,255,255, 23,224, 3, 21,170,249, 35, 64,249,243, 83, 65,169, +/* 0x0a20 */ 245, 91, 66,169,247, 99, 67,169,253,123,202,168,192, 3, 95,214 }; diff -Nru upx-ucl-3.95/src/stub/arm64-linux.shlib-init.h upx-ucl-3.96/src/stub/arm64-linux.shlib-init.h --- upx-ucl-3.95/src/stub/arm64-linux.shlib-init.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm64-linux.shlib-init.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -32,8 +32,8 @@ #define STUB_ARM64_LINUX_SHLIB_INIT_SIZE 8638 -#define STUB_ARM64_LINUX_SHLIB_INIT_ADLER32 0xf3528368 -#define STUB_ARM64_LINUX_SHLIB_INIT_CRC32 0xe1c61a89 +#define STUB_ARM64_LINUX_SHLIB_INIT_ADLER32 0xf4568368 +#define STUB_ARM64_LINUX_SHLIB_INIT_CRC32 0x356b7479 unsigned char stub_arm64_linux_shlib_init[8638] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -324,8 +324,8 @@ /* 0x11d0 */ 108, 32, 12, 42,192, 3, 95,214,224, 3, 6, 42, 33, 68, 32,139, /* 0x11e0 */ 0, 0,128, 82, 33, 68, 32,139,227,124, 24, 83,241, 3, 30,170, /* 0x11f0 */ 94, 0, 0, 16, 99,254,255, 52, 35, 0, 64,121,226,124, 11, 83, -/* 0x1200 */ 98,124, 2, 27,159, 1, 2,107, 2, 1, 0, 84, 2, 0,129, 82, -/* 0x1210 */ 231, 3, 2, 42, 66, 0, 3, 75, 0, 0, 0, 58, 99, 20, 66, 11, +/* 0x1200 */ 98,124, 2, 27,159, 1, 2,107, 2, 1, 0, 84,231, 3, 2, 42, +/* 0x1210 */ 2, 0,129, 82, 66, 0, 3, 75, 0, 0, 0, 58, 99, 20, 66, 11, /* 0x1220 */ 35, 0, 0,121, 32, 2, 95,214,140, 1, 2, 75,231, 0, 2, 75, /* 0x1230 */ 99, 20, 67, 75, 0, 0, 0, 58, 35, 0, 0,121, 32, 2, 95,214, /* 0x1240 */ 194, 3,128, 82,225, 0, 0, 16, 64, 0,128, 82, 8, 8,128, 82, diff -Nru upx-ucl-3.95/src/stub/armeb.v4a-linux.elf-entry.h upx-ucl-3.96/src/stub/armeb.v4a-linux.elf-entry.h --- upx-ucl-3.95/src/stub/armeb.v4a-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/armeb.v4a-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* armeb.v4a-linux.elf-entry.h - created from armeb.v4a-linux.elf-entry.bin, 14445 (0x386d) bytes + created from armeb.v4a-linux.elf-entry.bin, 14509 (0x38ad) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,15 +31,15 @@ */ -#define STUB_ARMEB_V4A_LINUX_ELF_ENTRY_SIZE 14445 -#define STUB_ARMEB_V4A_LINUX_ELF_ENTRY_ADLER32 0xaefbc4fb -#define STUB_ARMEB_V4A_LINUX_ELF_ENTRY_CRC32 0x587130c1 +#define STUB_ARMEB_V4A_LINUX_ELF_ENTRY_SIZE 14509 +#define STUB_ARMEB_V4A_LINUX_ELF_ENTRY_ADLER32 0xd677d80a +#define STUB_ARMEB_V4A_LINUX_ELF_ENTRY_CRC32 0xa093c785 -unsigned char stub_armeb_v4a_linux_elf_entry[14445] = { +unsigned char stub_armeb_v4a_linux_elf_entry[14509] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 1, 0, 40, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 19,120, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, -/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 0,226, 77,208, 24,235, 0, 0, 55, +/* 0x0020 */ 0, 0, 19,148, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, +/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 0,226, 77,208, 24,235, 0, 0, 60, /* 0x0040 */ 233, 45, 64,252,224,129,112, 0,227,224, 80, 0,227,160, 65, 2, /* 0x0050 */ 234, 0, 0, 20,232,189, 0, 24,224, 64, 0, 7,224, 66, 32, 3, /* 0x0060 */ 229,132, 32, 0,225,160, 64, 0,225,160, 0, 3,224,131, 16, 2, @@ -319,8 +319,8 @@ /* 0x1180 */ 59, 0, 1, 1,225,209, 48,176,225,160,229,167,224, 14, 14,147, /* 0x1190 */ 225, 92, 0, 14, 49,160,112, 14, 32, 71,112, 14, 50, 99,235, 2, /* 0x11a0 */ 32, 76,192, 14, 48,131, 50,174, 32, 67, 50,163,224,176, 0, 0, -/* 0x11b0 */ 225,193, 48,176,225,160,240, 2,229,141, 48, 20,225,224,160, 6, -/* 0x11c0 */ 226,138,160, 1,226,142, 96, 4,224,134,224, 10,229,150, 16, 0, +/* 0x11b0 */ 225,193, 48,176,225,160,240, 2,229,141, 48, 20,227,160,160, 0, +/* 0x11c0 */ 224, 74,160, 6,226,142, 96, 4,224,134,224, 10,229,150, 16, 0, /* 0x11d0 */ 227,160, 80, 0,227,224, 64, 0,227,160, 32, 3,224,129, 16, 14, /* 0x11e0 */ 227,160, 0, 0,229,141, 16, 12,239,144, 0,192,229,141, 0, 8, /* 0x11f0 */ 229,150, 16, 4,229,157, 64, 4,227,160, 48, 18,224,129, 16, 14, @@ -328,615 +328,619 @@ /* 0x1210 */ 225,160, 48, 13,229,214, 0, 8,229, 45, 0, 4,224,134, 32, 10, /* 0x1220 */ 229,150, 16, 4,226,134, 0, 12,225,160, 64, 2,225,160,224, 15, /* 0x1230 */ 229,157,240, 24,226,141,208, 4,228,157, 48, 4,229,157, 16, 20, -/* 0x1240 */ 229,148, 0, 0,225,128, 0, 1,229,132, 0, 0,229,157, 0, 16, -/* 0x1250 */ 224,131, 16, 6,224,128, 0, 10,224,129, 16, 10,229,141, 0, 16, -/* 0x1260 */ 225,160, 6, 32,227,160, 32, 5,225,160, 6, 0,224, 65, 16, 0, -/* 0x1270 */ 239,144, 0,125,229, 22, 16, 4,229,157, 0, 8,224, 73, 64, 1, -/* 0x1280 */ 224,128, 80, 1,226,134, 96, 8,224,134,240, 10, 47,112,114,111, -/* 0x1290 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0,229, 30, 0, 16, -/* 0x12a0 */ 226, 78, 96, 16,229,141,224, 16,224, 70, 96, 0,229,141, 96, 0, -/* 0x12b0 */ 225,160,144, 0,226, 79, 0, 48,227,160, 16, 0,239,144, 0, 5, -/* 0x12c0 */ 229,141, 0, 4,229, 30, 48, 12,235,255,255,254, 0, 0, 0, 0, -/* 0x12d0 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, -/* 0x12e0 */ 50, 45, 98,105,103, 97,114,109, 10, 10, 83,101, 99,116,105,111, -/* 0x12f0 */ 110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, -/* 0x1300 */ 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, -/* 0x1310 */ 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, -/* 0x1320 */ 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108, -/* 0x1330 */ 103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, -/* 0x1340 */ 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1350 */ 48, 48, 48, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1360 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1370 */ 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1380 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x1390 */ 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, -/* 0x13a0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x13b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x13c0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, -/* 0x13d0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x13e0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 95, 84, -/* 0x13f0 */ 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1400 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1410 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, -/* 0x1420 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1430 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, -/* 0x1440 */ 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1450 */ 48, 49, 50, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1460 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1470 */ 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1480 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x1490 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32, -/* 0x14a0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 49, 56, 32, 32, -/* 0x14b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x14c0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 54, 99, 32, 32, 50, 42, -/* 0x14d0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x14e0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x14f0 */ 53, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1500 */ 48, 48, 48, 48, 48, 48,100, 99, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1510 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1520 */ 48, 48, 48, 50, 56, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1530 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x1540 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, -/* 0x1550 */ 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1560 */ 97, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1570 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 54, 48, -/* 0x1580 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x1590 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x15a0 */ 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x15b0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 51, 56, 32, 32, 48, 48, -/* 0x15c0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x15d0 */ 32, 32, 48, 48, 48, 48, 48, 52, 48, 56, 32, 32, 50, 42, 42, 48, -/* 0x15e0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x15f0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, -/* 0x1600 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, -/* 0x1610 */ 48, 48, 48, 52, 55, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1620 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1630 */ 48,100, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1640 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x1650 */ 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, -/* 0x1660 */ 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1670 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1680 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 98, 56, 32, 32, -/* 0x1690 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x16a0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 69, 76, 70, -/* 0x16b0 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x16c0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x16d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 98, -/* 0x16e0 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x16f0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, -/* 0x1700 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x1710 */ 48, 48, 48, 49, 49, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1720 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1730 */ 49, 49, 98, 56, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, -/* 0x1740 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x1750 */ 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, -/* 0x1760 */ 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, -/* 0x1770 */ 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, -/* 0x1780 */ 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x1790 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, -/* 0x17a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, -/* 0x17b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, -/* 0x17c0 */ 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x17d0 */ 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x17e0 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, -/* 0x17f0 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, -/* 0x1800 */ 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x1810 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x1820 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, -/* 0x1830 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x1840 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x1850 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, -/* 0x1860 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x1870 */ 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, -/* 0x1880 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, -/* 0x1890 */ 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x18a0 */ 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, -/* 0x18b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, -/* 0x18c0 */ 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, -/* 0x18d0 */ 100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, -/* 0x18e0 */ 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, -/* 0x18f0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, -/* 0x1900 */ 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1910 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, -/* 0x1920 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, -/* 0x1930 */ 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, -/* 0x1940 */ 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, -/* 0x1950 */ 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, -/* 0x1960 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, -/* 0x1970 */ 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, -/* 0x1980 */ 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1990 */ 48, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, -/* 0x19a0 */ 103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, -/* 0x19b0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, -/* 0x19c0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, -/* 0x19d0 */ 70, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 49, 50, 99, -/* 0x19e0 */ 32,117, 99,108, 95,110,114,118, 50,101, 95,100,101, 99,111,109, -/* 0x19f0 */ 112,114,101,115,115, 95, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a00 */ 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 68, 9, 48, -/* 0x1a10 */ 48, 48, 48, 48, 49, 49, 56, 32,117, 99,108, 95,110,114,118, 50, -/* 0x1a20 */ 100, 95,100,101, 99,111,109,112,114,101,115,115, 95, 56, 10, 48, -/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, -/* 0x1a40 */ 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48,100, 99, 32,117, -/* 0x1a50 */ 99,108, 95,110,114,118, 50, 98, 95,100,101, 99,111,109,112,114, -/* 0x1a60 */ 101,115,115, 95, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, -/* 0x1a70 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x1a80 */ 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,122,109, 97, 68, -/* 0x1a90 */ 101, 99,111,100,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, -/* 0x1aa0 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, -/* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95,100,101, 99, -/* 0x1ac0 */ 111,109,112,114,101,115,115, 10, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ad0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, -/* 0x1ae0 */ 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, -/* 0x1af0 */ 48, 48, 48, 48, 48, 49, 49, 56, 32,103, 32, 32, 32, 32, 32, 32, -/* 0x1b00 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, -/* 0x1b10 */ 48, 48, 32, 99,112,114, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x1b20 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x1b30 */ 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, -/* 0x1b40 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x1b50 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x1b60 */ 48, 48, 48, 48, 48, 32, 82, 95, 65, 82, 77, 95, 65, 66, 83, 51, -/* 0x1b70 */ 50, 32, 32, 32, 32, 32, 32, 32, 77, 70, 76, 71, 10, 48, 48, 48, -/* 0x1b80 */ 48, 48, 48, 48, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x1b90 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, -/* 0x1ba0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x1bb0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, -/* 0x1bc0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x1bd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x1be0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, -/* 0x1bf0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, -/* 0x1c00 */ 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 53, 99, 32, 82, 95, 65, -/* 0x1c10 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x1c20 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 54, 48, 32, 82, 95, -/* 0x1c30 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1c40 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, 82, -/* 0x1c50 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x1c60 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 55, 52, 32, -/* 0x1c70 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x1c80 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 56, 48, -/* 0x1c90 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x1ca0 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 56, -/* 0x1cb0 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x1cc0 */ 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x1cd0 */ 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x1ce0 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, -/* 0x1cf0 */ 48, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x1d00 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, -/* 0x1d10 */ 48, 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x1d20 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, -/* 0x1d30 */ 48, 48, 48, 98, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x1d40 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, -/* 0x1d50 */ 48, 48, 48, 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x1d60 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, -/* 0x1d70 */ 48, 48, 48, 48, 48, 99, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x1d80 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, -/* 0x1d90 */ 48, 48, 48, 48, 48, 48, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x1da0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, -/* 0x1db0 */ 10, 48, 48, 48, 48, 48, 48,100, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x1dc0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x1dd0 */ 69, 10, 48, 48, 48, 48, 48, 48,100, 52, 32, 82, 95, 65, 82, 77, -/* 0x1de0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x1df0 */ 50, 69, 10, 48, 48, 48, 48, 48, 48,100, 99, 32, 82, 95, 65, 82, -/* 0x1e00 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, -/* 0x1e10 */ 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 56, 32, 82, 95, 65, -/* 0x1e20 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x1e30 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 99, 32, 82, 95, -/* 0x1e40 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1e50 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,102, 52, 32, 82, -/* 0x1e60 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x1e70 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,102, 99, 32, -/* 0x1e80 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x1e90 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 49, 50, 52, -/* 0x1ea0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x1eb0 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 49, 50, -/* 0x1ec0 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x1ed0 */ 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 10, 82, 69, 76, 79, 67, -/* 0x1ee0 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, -/* 0x1ef0 */ 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x1f00 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1f10 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x1f20 */ 48, 48, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x1f30 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, -/* 0x1f40 */ 48, 48, 48, 53, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x1f50 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, -/* 0x1f60 */ 48, 48, 48, 48, 54, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x1f70 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, -/* 0x1f80 */ 48, 48, 48, 48, 48, 54, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x1f90 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, -/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x1fb0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, -/* 0x1fc0 */ 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x1fd0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x1fe0 */ 68, 10, 48, 48, 48, 48, 48, 48, 56, 99, 32, 82, 95, 65, 82, 77, -/* 0x1ff0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x2000 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 65, 82, -/* 0x2010 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, -/* 0x2020 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 57, 99, 32, 82, 95, 65, -/* 0x2030 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x2040 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 97, 99, 32, 82, 95, -/* 0x2050 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2060 */ 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, -/* 0x2070 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2080 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 98, 99, 32, -/* 0x2090 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x20a0 */ 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 99, 56, -/* 0x20b0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x20c0 */ 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48,100, -/* 0x20d0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x20e0 */ 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, -/* 0x20f0 */ 100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2100 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, -/* 0x2110 */ 48,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2120 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, -/* 0x2130 */ 48, 48,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2140 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, -/* 0x2150 */ 48, 48, 49, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2160 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, -/* 0x2170 */ 48, 48, 48, 49, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2180 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 10, -/* 0x2190 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x21a0 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, -/* 0x21b0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x21c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x21d0 */ 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x21e0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x21f0 */ 66, 10, 48, 48, 48, 48, 48, 48, 54, 48, 32, 82, 95, 65, 82, 77, -/* 0x2200 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x2210 */ 50, 66, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, 82, 95, 65, 82, -/* 0x2220 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, -/* 0x2230 */ 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 54, 99, 32, 82, 95, 65, -/* 0x2240 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x2250 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 55, 99, 32, 82, 95, -/* 0x2260 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2270 */ 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, -/* 0x2280 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2290 */ 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 56, 52, 32, -/* 0x22a0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x22b0 */ 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 57, 48, -/* 0x22c0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x22d0 */ 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 97, -/* 0x22e0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x22f0 */ 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, -/* 0x2300 */ 97, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2310 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, -/* 0x2320 */ 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2330 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, -/* 0x2340 */ 48, 48, 98, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2350 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, -/* 0x2360 */ 48, 48, 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2370 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, -/* 0x2380 */ 48, 48, 48, 48,100, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2390 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, -/* 0x23a0 */ 48, 48, 48, 48, 48,100, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x23b0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, -/* 0x23c0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x23d0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, -/* 0x23e0 */ 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x23f0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2400 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 56, 32, -/* 0x2410 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2420 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, -/* 0x2430 */ 48, 48, 48, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2440 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, -/* 0x2450 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, -/* 0x2460 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2470 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x2480 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x2490 */ 32, 91, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 93, 58, 10, 79, -/* 0x24a0 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x24b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x24c0 */ 48, 48, 48, 48, 48, 48, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x24d0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x24e0 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, -/* 0x24f0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2500 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, -/* 0x2510 */ 48, 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2520 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x2530 */ 48, 10, 48, 48, 48, 48, 48, 48, 99, 99, 32, 82, 95, 65, 82, 77, -/* 0x2540 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x2550 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48,102, 52, -/* 0x2560 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x2570 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x2580 */ 48, 48, 48, 49, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2590 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x25a0 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 48, 56, 32, 82, 95, 65, -/* 0x25b0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x25c0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, -/* 0x25d0 */ 52, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x25e0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, -/* 0x25f0 */ 48, 48, 48, 48, 48, 49, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2600 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x2610 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 99, 99, 32, 82, -/* 0x2620 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2630 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, -/* 0x2640 */ 48, 49,100, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2650 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x2660 */ 48, 10, 48, 48, 48, 48, 48, 50, 48, 52, 32, 82, 95, 65, 82, 77, -/* 0x2670 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x2680 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 49, 56, -/* 0x2690 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x26a0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x26b0 */ 48, 48, 48, 50, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x26c0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x26d0 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 51, 52, 32, 82, 95, 65, -/* 0x26e0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x26f0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, -/* 0x2700 */ 51, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2710 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, -/* 0x2720 */ 48, 48, 48, 48, 48, 50, 52, 48, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2730 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x2740 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 52, 99, 32, 82, -/* 0x2750 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2760 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, -/* 0x2770 */ 48, 50, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2780 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x2790 */ 48, 10, 48, 48, 48, 48, 48, 50, 97, 52, 32, 82, 95, 65, 82, 77, -/* 0x27a0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x27b0 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 99, 56, -/* 0x27c0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x27d0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x27e0 */ 48, 48, 48, 50,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x27f0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x2800 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 48, 52, 32, 82, 95, 65, -/* 0x2810 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x2820 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, -/* 0x2830 */ 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2840 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, -/* 0x2850 */ 48, 48, 48, 48, 48, 51, 51, 99, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2860 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x2870 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 56, 56, 32, 82, -/* 0x2880 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2890 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, -/* 0x28a0 */ 48, 51, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x28b0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x28c0 */ 48, 10, 48, 48, 48, 48, 48, 51, 97, 56, 32, 82, 95, 65, 82, 77, -/* 0x28d0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x28e0 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 99, 99, -/* 0x28f0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x2900 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x2910 */ 48, 48, 48, 51,101, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2920 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x2930 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 51,101, 56, 32, 82, 95, 65, -/* 0x2940 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x2950 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, -/* 0x2960 */ 50, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2970 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, -/* 0x2980 */ 48, 48, 48, 48, 48, 52, 51, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2990 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x29a0 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 54, 99, 32, 82, -/* 0x29b0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x29c0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, -/* 0x29d0 */ 48, 52, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x29e0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x29f0 */ 48, 10, 48, 48, 48, 48, 48, 52, 56, 99, 32, 82, 95, 65, 82, 77, -/* 0x2a00 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x2a10 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 98, 48, -/* 0x2a20 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x2a30 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x2a40 */ 48, 48, 48, 52,100, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2a50 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x2a60 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 52,101, 99, 32, 82, 95, 65, -/* 0x2a70 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x2a80 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, -/* 0x2a90 */ 102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2aa0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, -/* 0x2ab0 */ 48, 48, 48, 48, 48, 53, 49, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2ac0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x2ad0 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 51, 99, 32, 82, -/* 0x2ae0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2af0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, -/* 0x2b00 */ 48, 53, 57, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2b10 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x2b20 */ 48, 10, 48, 48, 48, 48, 48, 53, 97, 48, 32, 82, 95, 65, 82, 77, -/* 0x2b30 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x2b40 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 99, 48, -/* 0x2b50 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x2b60 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x2b70 */ 48, 48, 48, 53,101, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2b80 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x2b90 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 53,102, 99, 32, 82, 95, 65, -/* 0x2ba0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x2bb0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, -/* 0x2bc0 */ 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2bd0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, -/* 0x2be0 */ 48, 48, 48, 48, 48, 54, 50, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2bf0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x2c00 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 52, 56, 32, 82, -/* 0x2c10 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2c20 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, -/* 0x2c30 */ 48, 54, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2c40 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x2c50 */ 48, 10, 48, 48, 48, 48, 48, 54, 56, 99, 32, 82, 95, 65, 82, 77, -/* 0x2c60 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x2c70 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54,100, 48, -/* 0x2c80 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x2c90 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x2ca0 */ 48, 48, 48, 54,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2cb0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x2cc0 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 49, 99, 32, 82, 95, 65, -/* 0x2cd0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x2ce0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, -/* 0x2cf0 */ 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2d00 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, -/* 0x2d10 */ 48, 48, 48, 48, 48, 55, 54, 99, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2d20 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x2d30 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 55, 99, 32, 82, -/* 0x2d40 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2d50 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, -/* 0x2d60 */ 48, 55, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2d70 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x2d80 */ 48, 10, 48, 48, 48, 48, 48, 55, 98, 56, 32, 82, 95, 65, 82, 77, -/* 0x2d90 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x2da0 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 99, 52, -/* 0x2db0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x2dc0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x2dd0 */ 48, 48, 48, 55,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2de0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x2df0 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 55,102, 52, 32, 82, 95, 65, -/* 0x2e00 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x2e10 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, -/* 0x2e20 */ 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2e30 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, -/* 0x2e40 */ 48, 48, 48, 48, 48, 56, 50, 99, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2e50 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x2e60 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 55, 99, 32, 82, -/* 0x2e70 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2e80 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, -/* 0x2e90 */ 48, 56, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2ea0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x2eb0 */ 48, 10, 48, 48, 48, 48, 48, 56, 97, 48, 32, 82, 95, 65, 82, 77, -/* 0x2ec0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x2ed0 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56,101, 56, -/* 0x2ee0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x2ef0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, -/* 0x2f00 */ 48, 48, 48, 56,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2f10 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x2f20 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 56,102, 99, 32, 82, 95, 65, -/* 0x2f30 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x2f40 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 57, -/* 0x2f50 */ 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2f60 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, -/* 0x2f70 */ 48, 48, 48, 48, 48, 57, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2f80 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x2f90 */ 68, 69, 67, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x2fa0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, -/* 0x2fb0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 93, 58, 10, 79, 70, 70, 83, -/* 0x2fc0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x2fd0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x2fe0 */ 48, 48, 48, 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2ff0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x3000 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, -/* 0x3010 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x3020 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 56, -/* 0x3030 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x3040 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, -/* 0x3050 */ 48, 48, 48, 48, 48, 97, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x3060 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x3070 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 97, 99, 32, 82, 95, -/* 0x3080 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x3090 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x30a0 */ 48,101, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x30b0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x30c0 */ 10, 48, 48, 48, 48, 48, 49, 48, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x30d0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x30e0 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 48, 99, 32, -/* 0x30f0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x3100 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, -/* 0x3110 */ 48, 48, 49, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x3120 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x3130 */ 49, 48, 10, 48, 48, 48, 48, 48, 49, 49, 56, 32, 82, 95, 65, 82, -/* 0x3140 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x3150 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 50, -/* 0x3160 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x3170 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, -/* 0x3180 */ 48, 48, 48, 48, 49, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x3190 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x31a0 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 52, 52, 32, 82, 95, -/* 0x31b0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x31c0 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x31d0 */ 49, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x31e0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x31f0 */ 10, 48, 48, 48, 48, 48, 49, 53, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x3200 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x3210 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 56, 48, 32, -/* 0x3220 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x3230 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, -/* 0x3240 */ 48, 48, 49, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x3250 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x3260 */ 49, 48, 10, 48, 48, 48, 48, 48, 49, 56, 99, 32, 82, 95, 65, 82, -/* 0x3270 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x3280 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 57, -/* 0x3290 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x32a0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, -/* 0x32b0 */ 48, 48, 48, 48, 49, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x32c0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x32d0 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 99, 48, 32, 82, 95, -/* 0x32e0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x32f0 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x3300 */ 49, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x3310 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x3320 */ 10, 48, 48, 48, 48, 48, 49,100, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x3330 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x3340 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49,100, 99, 32, -/* 0x3350 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x3360 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, -/* 0x3370 */ 48, 48, 49,101, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x3380 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x3390 */ 49, 48, 10, 48, 48, 48, 48, 48, 49,101, 99, 32, 82, 95, 65, 82, -/* 0x33a0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x33b0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 50, -/* 0x33c0 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x33d0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, -/* 0x33e0 */ 48, 48, 48, 48, 50, 50, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x33f0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x3400 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 52, 52, 32, 82, 95, -/* 0x3410 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x3420 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x3430 */ 50, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x3440 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x3450 */ 10, 48, 48, 48, 48, 48, 50, 53, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x3460 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x3470 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 54, 56, 32, -/* 0x3480 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x3490 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, -/* 0x34a0 */ 48, 48, 50, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x34b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x34c0 */ 49, 48, 10, 48, 48, 48, 48, 48, 50, 56, 99, 32, 82, 95, 65, 82, -/* 0x34d0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x34e0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 97, -/* 0x34f0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x3500 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, -/* 0x3510 */ 48, 48, 48, 48, 50, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x3520 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x3530 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50,100, 48, 32, 82, 95, -/* 0x3540 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x3550 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x3560 */ 50,100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x3570 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x3580 */ 10, 48, 48, 48, 48, 48, 50,102, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x3590 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x35a0 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 48, 99, 32, -/* 0x35b0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x35c0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, -/* 0x35d0 */ 48, 48, 51, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x35e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x35f0 */ 49, 48, 10, 48, 48, 48, 48, 48, 51, 50, 99, 32, 82, 95, 65, 82, -/* 0x3600 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x3610 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 53, -/* 0x3620 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x3630 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, -/* 0x3640 */ 48, 48, 48, 48, 51, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x3650 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x3660 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 55, 48, 32, 82, 95, -/* 0x3670 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x3680 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x3690 */ 51, 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x36a0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x36b0 */ 10, 48, 48, 48, 48, 48, 51, 57, 99, 32, 82, 95, 65, 82, 77, 95, -/* 0x36c0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x36d0 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 98, 48, 32, -/* 0x36e0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x36f0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, -/* 0x3700 */ 48, 48, 51, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x3710 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x3720 */ 49, 48, 10, 48, 48, 48, 48, 48, 51, 99, 56, 32, 82, 95, 65, 82, -/* 0x3730 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x3740 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 99, -/* 0x3750 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x3760 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, -/* 0x3770 */ 48, 48, 48, 48, 52, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x3780 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x3790 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 52, 49, 56, 32, 82, 95, -/* 0x37a0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x37b0 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x37c0 */ 52, 52, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x37d0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, -/* 0x37e0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x37f0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, -/* 0x3800 */ 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x3810 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x3820 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, 48, 32, 82, -/* 0x3830 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3840 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, -/* 0x3850 */ 49, 52, 32, 82, 95, 65, 82, 77, 95, 65, 66, 83, 51, 50, 32, 32, -/* 0x3860 */ 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 +/* 0x1240 */ 229,132, 16, 0,229,157, 0, 16,224,131, 16, 6,224,128, 0, 10, +/* 0x1250 */ 224,129, 16, 10,229,141, 0, 16,225,160, 6, 32,227,160, 32, 5, +/* 0x1260 */ 225,160, 6, 0,224, 65, 16, 0,239,144, 0,125,229, 22, 16, 4, +/* 0x1270 */ 229,157, 0, 8,224, 73, 64, 1,224,128, 80, 1,226,134, 96, 4, +/* 0x1280 */ 226,143,224, 0,224,134,240, 10, 47,112,114,111, 99, 47,115,101, +/* 0x1290 */ 108,102, 47,101,120,101, 0, 0,227,160, 32, 14,226, 79, 16, 28, +/* 0x12a0 */ 227,160, 0, 2,239,144, 0, 4,227,160, 0,127,239,144, 0, 1, +/* 0x12b0 */ 229, 30, 0, 16,226, 78, 96, 16,229,141,224, 16,224, 70, 96, 0, +/* 0x12c0 */ 229,141, 96, 0,225,160,144, 0,226, 79, 0, 72,227,160, 16, 0, +/* 0x12d0 */ 239,144, 0, 5,227, 80, 0, 0,186, 0, 0, 54,229,141, 0, 4, +/* 0x12e0 */ 229, 30, 48, 12,235,255,255,254, 0, 0, 0, 0,102,105,108,101, +/* 0x12f0 */ 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45, 98,105, +/* 0x1300 */ 103, 97,114,109, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, +/* 0x1310 */ 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1320 */ 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, +/* 0x1330 */ 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, +/* 0x1340 */ 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, +/* 0x1350 */ 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, +/* 0x1360 */ 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 99, +/* 0x1370 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1380 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, +/* 0x1390 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x13a0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x13b0 */ 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, +/* 0x13c0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x13d0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x13e0 */ 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x13f0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1400 */ 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, +/* 0x1410 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1420 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1430 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, +/* 0x1440 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x1450 */ 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 69, 32, +/* 0x1460 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 50, 99, +/* 0x1470 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1480 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, +/* 0x1490 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x14a0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x14b0 */ 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, +/* 0x14c0 */ 32, 32, 48, 48, 48, 48, 48, 49, 49, 56, 32, 32, 48, 48, 48, 48, +/* 0x14d0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x14e0 */ 48, 48, 48, 48, 48, 49, 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x14f0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, +/* 0x1500 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 78, 82, +/* 0x1510 */ 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1520 */ 48, 48,100, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1530 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, +/* 0x1540 */ 56, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1550 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, +/* 0x1560 */ 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 69, 76, 70, +/* 0x1570 */ 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 97, 56, 32, 32, +/* 0x1580 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1590 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 54, 48, 32, 32, 50, 42, +/* 0x15a0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x15b0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, +/* 0x15c0 */ 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, +/* 0x15d0 */ 48, 48, 48, 48, 48, 57, 51, 56, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x15e0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x15f0 */ 48, 48, 48, 52, 48, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1600 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, +/* 0x1610 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, +/* 0x1620 */ 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 52, +/* 0x1630 */ 55, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1640 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 52, 48, +/* 0x1650 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1660 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1670 */ 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, +/* 0x1680 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1690 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x16a0 */ 32, 32, 48, 48, 48, 48, 49, 49, 98, 56, 32, 32, 50, 42, 42, 48, +/* 0x16b0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, +/* 0x16c0 */ 79, 78, 76, 89, 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x16d0 */ 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x16e0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x16f0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 98, 56, 32, 32, 50, +/* 0x1700 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1710 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, +/* 0x1720 */ 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, +/* 0x1730 */ 51, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1740 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 98, 56, +/* 0x1750 */ 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1760 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1770 */ 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, +/* 0x1780 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, +/* 0x1790 */ 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x17a0 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, +/* 0x17b0 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, +/* 0x17c0 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, +/* 0x17d0 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, +/* 0x17e0 */ 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, +/* 0x17f0 */ 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x1800 */ 100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, +/* 0x1810 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, +/* 0x1820 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x1830 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, +/* 0x1840 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x1850 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x1860 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, +/* 0x1870 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x1880 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x1890 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, +/* 0x18a0 */ 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, +/* 0x18b0 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x18c0 */ 100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, +/* 0x18d0 */ 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, +/* 0x18e0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, +/* 0x18f0 */ 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1900 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, +/* 0x1910 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, +/* 0x1920 */ 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, +/* 0x1930 */ 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, +/* 0x1940 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, +/* 0x1950 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, +/* 0x1960 */ 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, +/* 0x1970 */ 100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, +/* 0x1980 */ 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, +/* 0x1990 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, +/* 0x19a0 */ 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 70, +/* 0x19b0 */ 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32,103, 32, 32, 32, +/* 0x19c0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, +/* 0x19d0 */ 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, +/* 0x19e0 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, +/* 0x19f0 */ 86, 50, 69, 9, 48, 48, 48, 48, 48, 49, 50, 99, 32,117, 99,108, +/* 0x1a00 */ 95,110,114,118, 50,101, 95,100,101, 99,111,109,112,114,101,115, +/* 0x1a10 */ 115, 95, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, +/* 0x1a20 */ 32, 32, 32, 70, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, +/* 0x1a30 */ 49, 49, 56, 32,117, 99,108, 95,110,114,118, 50,100, 95,100,101, +/* 0x1a40 */ 99,111,109,112,114,101,115,115, 95, 56, 10, 48, 48, 48, 48, 48, +/* 0x1a50 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, +/* 0x1a60 */ 66, 9, 48, 48, 48, 48, 48, 48,100, 99, 32,117, 99,108, 95,110, +/* 0x1a70 */ 114,118, 50, 98, 95,100,101, 99,111,109,112,114,101,115,115, 95, +/* 0x1a80 */ 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, +/* 0x1a90 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, +/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 32, 76,122,109, 97, 68,101, 99,111,100, +/* 0x1ab0 */ 101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, +/* 0x1ac0 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, +/* 0x1ad0 */ 48, 48, 48, 48, 32,101,110,100, 95,100,101, 99,111,109,112,114, +/* 0x1ae0 */ 101,115,115, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, +/* 0x1af0 */ 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, +/* 0x1b00 */ 48, 48, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 48, 48, 48, 48, +/* 0x1b10 */ 48, 49, 51, 52, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, +/* 0x1b20 */ 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 99, +/* 0x1b30 */ 112,114, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, +/* 0x1b40 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, +/* 0x1b50 */ 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, +/* 0x1b60 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1b70 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b80 */ 48, 32, 82, 95, 65, 82, 77, 95, 65, 66, 83, 51, 50, 32, 32, 32, +/* 0x1b90 */ 32, 32, 32, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ba0 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x1bb0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, +/* 0x1bc0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x1bd0 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, +/* 0x1be0 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, +/* 0x1bf0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, +/* 0x1c00 */ 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x1c10 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, +/* 0x1c20 */ 48, 48, 48, 48, 48, 48, 53, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x1c30 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, +/* 0x1c40 */ 10, 48, 48, 48, 48, 48, 48, 54, 48, 32, 82, 95, 65, 82, 77, 95, +/* 0x1c50 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x1c60 */ 69, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, 82, 95, 65, 82, 77, +/* 0x1c70 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x1c80 */ 50, 69, 10, 48, 48, 48, 48, 48, 48, 55, 52, 32, 82, 95, 65, 82, +/* 0x1c90 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x1ca0 */ 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, +/* 0x1cb0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x1cc0 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 56, 99, 32, 82, 95, +/* 0x1cd0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1ce0 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, +/* 0x1cf0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x1d00 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 57, 99, 32, +/* 0x1d10 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x1d20 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 97, 99, +/* 0x1d30 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x1d40 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 98, +/* 0x1d50 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x1d60 */ 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, +/* 0x1d70 */ 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x1d80 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, +/* 0x1d90 */ 48, 99, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x1da0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, +/* 0x1db0 */ 48, 48, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x1dc0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, +/* 0x1dd0 */ 48, 48, 48,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x1de0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, +/* 0x1df0 */ 48, 48, 48, 48,100, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x1e00 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, +/* 0x1e10 */ 48, 48, 48, 48, 48,100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x1e20 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, +/* 0x1e30 */ 48, 48, 48, 48, 48, 48,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x1e40 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, +/* 0x1e50 */ 10, 48, 48, 48, 48, 48, 48,101, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x1e60 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x1e70 */ 69, 10, 48, 48, 48, 48, 48, 48,102, 52, 32, 82, 95, 65, 82, 77, +/* 0x1e80 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x1e90 */ 50, 69, 10, 48, 48, 48, 48, 48, 48,102, 99, 32, 82, 95, 65, 82, +/* 0x1ea0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x1eb0 */ 86, 50, 69, 10, 48, 48, 48, 48, 48, 49, 50, 52, 32, 82, 95, 65, +/* 0x1ec0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x1ed0 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 49, 50, 56, 32, 82, 95, +/* 0x1ee0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1ef0 */ 78, 82, 86, 50, 69, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, +/* 0x1f00 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, +/* 0x1f10 */ 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x1f20 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1f30 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 48, +/* 0x1f40 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x1f50 */ 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 53, +/* 0x1f60 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x1f70 */ 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, +/* 0x1f80 */ 54, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x1f90 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, +/* 0x1fa0 */ 48, 54, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x1fb0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, +/* 0x1fc0 */ 48, 48, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x1fd0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, +/* 0x1fe0 */ 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x1ff0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, +/* 0x2000 */ 48, 48, 48, 48, 56, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2010 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, +/* 0x2020 */ 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2030 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, +/* 0x2040 */ 48, 48, 48, 48, 48, 48, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2050 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, +/* 0x2060 */ 10, 48, 48, 48, 48, 48, 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x2070 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x2080 */ 68, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 65, 82, 77, +/* 0x2090 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x20a0 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 98, 99, 32, 82, 95, 65, 82, +/* 0x20b0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x20c0 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 99, 56, 32, 82, 95, 65, +/* 0x20d0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x20e0 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48,100, 48, 32, 82, 95, +/* 0x20f0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2100 */ 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48,100, 99, 32, 82, +/* 0x2110 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2120 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48,101, 56, 32, +/* 0x2130 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2140 */ 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48,101, 99, +/* 0x2150 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2160 */ 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 49, 49, +/* 0x2170 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2180 */ 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 49, +/* 0x2190 */ 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x21a0 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 10, 82, 69, 76, 79, +/* 0x21b0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, +/* 0x21c0 */ 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, +/* 0x21d0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, +/* 0x21e0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, +/* 0x21f0 */ 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2200 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, +/* 0x2210 */ 48, 48, 48, 48, 54, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2220 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, +/* 0x2230 */ 48, 48, 48, 48, 48, 54, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2240 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, +/* 0x2250 */ 48, 48, 48, 48, 48, 48, 54, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2260 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, +/* 0x2270 */ 10, 48, 48, 48, 48, 48, 48, 55, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x2280 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x2290 */ 66, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, 77, +/* 0x22a0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x22b0 */ 50, 66, 10, 48, 48, 48, 48, 48, 48, 56, 52, 32, 82, 95, 65, 82, +/* 0x22c0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x22d0 */ 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 65, +/* 0x22e0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x22f0 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 97, 48, 32, 82, 95, +/* 0x2300 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2310 */ 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 97, 52, 32, 82, +/* 0x2320 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2330 */ 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 97, 99, 32, +/* 0x2340 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2350 */ 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 98, 52, +/* 0x2360 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2370 */ 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 98, +/* 0x2380 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2390 */ 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, +/* 0x23a0 */ 100, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x23b0 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, +/* 0x23c0 */ 48,100, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x23d0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 10, 82, 69, 76, +/* 0x23e0 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, +/* 0x23f0 */ 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, +/* 0x2400 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, +/* 0x2410 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, +/* 0x2420 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 56, 32, 82, 95, 65, 82, +/* 0x2430 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2440 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 52, +/* 0x2450 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2460 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, +/* 0x2470 */ 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2480 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 69, +/* 0x2490 */ 76, 70, 48, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x24a0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, +/* 0x24b0 */ 77, 65, 95, 68, 69, 67, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x24c0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x24d0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, +/* 0x24e0 */ 48, 48, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x24f0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2500 */ 48, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 65, 82, 77, +/* 0x2510 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x2520 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 98, 56, +/* 0x2530 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2540 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, +/* 0x2550 */ 48, 48, 48, 48, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2560 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x2570 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 48,102, 52, 32, 82, 95, 65, +/* 0x2580 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x2590 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, +/* 0x25a0 */ 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x25b0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, +/* 0x25c0 */ 48, 48, 48, 48, 48, 49, 48, 56, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x25d0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x25e0 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 52, 52, 32, 82, +/* 0x25f0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2600 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x2610 */ 48, 49, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2620 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2630 */ 48, 10, 48, 48, 48, 48, 48, 49, 99, 99, 32, 82, 95, 65, 82, 77, +/* 0x2640 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x2650 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49,100, 56, +/* 0x2660 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2670 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, +/* 0x2680 */ 48, 48, 48, 50, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2690 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x26a0 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 49, 56, 32, 82, 95, 65, +/* 0x26b0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x26c0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, +/* 0x26d0 */ 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x26e0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, +/* 0x26f0 */ 48, 48, 48, 48, 48, 50, 51, 52, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2700 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x2710 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 51, 99, 32, 82, +/* 0x2720 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2730 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x2740 */ 48, 50, 52, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2750 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2760 */ 48, 10, 48, 48, 48, 48, 48, 50, 52, 99, 32, 82, 95, 65, 82, 77, +/* 0x2770 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x2780 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 53, 56, +/* 0x2790 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x27a0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, +/* 0x27b0 */ 48, 48, 48, 50, 97, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x27c0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x27d0 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 99, 56, 32, 82, 95, 65, +/* 0x27e0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x27f0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, +/* 0x2800 */ 101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2810 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, +/* 0x2820 */ 48, 48, 48, 48, 48, 51, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2830 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x2840 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 48, 99, 32, 82, +/* 0x2850 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2860 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x2870 */ 48, 51, 51, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2880 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2890 */ 48, 10, 48, 48, 48, 48, 48, 51, 56, 56, 32, 82, 95, 65, 82, 77, +/* 0x28a0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x28b0 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 97, 48, +/* 0x28c0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x28d0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, +/* 0x28e0 */ 48, 48, 48, 51, 97, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x28f0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x2900 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 99, 99, 32, 82, 95, 65, +/* 0x2910 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x2920 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, +/* 0x2930 */ 101, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2940 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, +/* 0x2950 */ 48, 48, 48, 48, 48, 51,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2960 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x2970 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 50, 52, 32, 82, +/* 0x2980 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2990 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x29a0 */ 48, 52, 51, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x29b0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x29c0 */ 48, 10, 48, 48, 48, 48, 48, 52, 54, 99, 32, 82, 95, 65, 82, 77, +/* 0x29d0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x29e0 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 56, 52, +/* 0x29f0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2a00 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, +/* 0x2a10 */ 48, 48, 48, 52, 56, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2a20 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x2a30 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 98, 48, 32, 82, 95, 65, +/* 0x2a40 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x2a50 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, +/* 0x2a60 */ 100, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2a70 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, +/* 0x2a80 */ 48, 48, 48, 48, 48, 52,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2a90 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x2aa0 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52,102, 52, 32, 82, +/* 0x2ab0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2ac0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x2ad0 */ 48, 53, 49, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2ae0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2af0 */ 48, 10, 48, 48, 48, 48, 48, 53, 51, 99, 32, 82, 95, 65, 82, 77, +/* 0x2b00 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x2b10 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 57, 56, +/* 0x2b20 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2b30 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, +/* 0x2b40 */ 48, 48, 48, 53, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2b50 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x2b60 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 99, 48, 32, 82, 95, 65, +/* 0x2b70 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x2b80 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, +/* 0x2b90 */ 101, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2ba0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, +/* 0x2bb0 */ 48, 48, 48, 48, 48, 53,102, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2bc0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x2bd0 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 48, 52, 32, 82, +/* 0x2be0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2bf0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x2c00 */ 48, 54, 50, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2c10 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2c20 */ 48, 10, 48, 48, 48, 48, 48, 54, 52, 56, 32, 82, 95, 65, 82, 77, +/* 0x2c30 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x2c40 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 56, 48, +/* 0x2c50 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2c60 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, +/* 0x2c70 */ 48, 48, 48, 54, 56, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2c80 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x2c90 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 54,100, 48, 32, 82, 95, 65, +/* 0x2ca0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x2cb0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, +/* 0x2cc0 */ 101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2cd0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, +/* 0x2ce0 */ 48, 48, 48, 48, 48, 55, 49, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2cf0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x2d00 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 50, 56, 32, 82, +/* 0x2d10 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2d20 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x2d30 */ 48, 55, 54, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2d40 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2d50 */ 48, 10, 48, 48, 48, 48, 48, 55, 55, 99, 32, 82, 95, 65, 82, 77, +/* 0x2d60 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x2d70 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 57, 99, +/* 0x2d80 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2d90 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, +/* 0x2da0 */ 48, 48, 48, 55, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2db0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x2dc0 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 99, 52, 32, 82, 95, 65, +/* 0x2dd0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x2de0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, +/* 0x2df0 */ 100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2e00 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, +/* 0x2e10 */ 48, 48, 48, 48, 48, 55,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2e20 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x2e30 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 50, 48, 32, 82, +/* 0x2e40 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2e50 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x2e60 */ 48, 56, 50, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2e70 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2e80 */ 48, 10, 48, 48, 48, 48, 48, 56, 55, 99, 32, 82, 95, 65, 82, 77, +/* 0x2e90 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x2ea0 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 56, 56, +/* 0x2eb0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2ec0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, +/* 0x2ed0 */ 48, 48, 48, 56, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2ee0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x2ef0 */ 67, 50, 48, 10, 48, 48, 48, 48, 48, 56,101, 56, 32, 82, 95, 65, +/* 0x2f00 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x2f10 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, +/* 0x2f20 */ 102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2f30 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, +/* 0x2f40 */ 48, 48, 48, 48, 48, 56,102, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2f50 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x2f60 */ 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 57, 48, 52, 32, 82, +/* 0x2f70 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2f80 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, +/* 0x2f90 */ 48, 57, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2fa0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, +/* 0x2fb0 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, +/* 0x2fc0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, +/* 0x2fd0 */ 68, 69, 67, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, +/* 0x2fe0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2ff0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 55, +/* 0x3000 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x3010 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, +/* 0x3020 */ 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x3030 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x3040 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 56, 56, 32, 82, 95, +/* 0x3050 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x3060 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, +/* 0x3070 */ 48, 97, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x3080 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x3090 */ 10, 48, 48, 48, 48, 48, 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x30a0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x30b0 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48,101, 52, 32, +/* 0x30c0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x30d0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, +/* 0x30e0 */ 48, 48, 49, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x30f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x3100 */ 49, 48, 10, 48, 48, 48, 48, 48, 49, 48, 99, 32, 82, 95, 65, 82, +/* 0x3110 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x3120 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 49, +/* 0x3130 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x3140 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, +/* 0x3150 */ 48, 48, 48, 48, 49, 49, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x3160 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x3170 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 50, 48, 32, 82, 95, +/* 0x3180 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x3190 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, +/* 0x31a0 */ 49, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x31b0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x31c0 */ 10, 48, 48, 48, 48, 48, 49, 52, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x31d0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x31e0 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 52, 99, 32, +/* 0x31f0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x3200 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, +/* 0x3210 */ 48, 48, 49, 53, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x3220 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x3230 */ 49, 48, 10, 48, 48, 48, 48, 48, 49, 56, 48, 32, 82, 95, 65, 82, +/* 0x3240 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x3250 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 56, +/* 0x3260 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x3270 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, +/* 0x3280 */ 48, 48, 48, 48, 49, 56, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x3290 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x32a0 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 57, 99, 32, 82, 95, +/* 0x32b0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x32c0 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, +/* 0x32d0 */ 49, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x32e0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x32f0 */ 10, 48, 48, 48, 48, 48, 49, 99, 48, 32, 82, 95, 65, 82, 77, 95, +/* 0x3300 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x3310 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 99, 99, 32, +/* 0x3320 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x3330 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, +/* 0x3340 */ 48, 48, 49,100, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x3350 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x3360 */ 49, 48, 10, 48, 48, 48, 48, 48, 49,100, 99, 32, 82, 95, 65, 82, +/* 0x3370 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x3380 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49,101, +/* 0x3390 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x33a0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, +/* 0x33b0 */ 48, 48, 48, 48, 49,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x33c0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x33d0 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 50, 56, 32, 82, 95, +/* 0x33e0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x33f0 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, +/* 0x3400 */ 50, 50, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x3410 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x3420 */ 10, 48, 48, 48, 48, 48, 50, 52, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x3430 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x3440 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 52, 99, 32, +/* 0x3450 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x3460 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, +/* 0x3470 */ 48, 48, 50, 53, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x3480 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x3490 */ 49, 48, 10, 48, 48, 48, 48, 48, 50, 54, 56, 32, 82, 95, 65, 82, +/* 0x34a0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x34b0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 56, +/* 0x34c0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x34d0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, +/* 0x34e0 */ 48, 48, 48, 48, 50, 56, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x34f0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x3500 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 97, 52, 32, 82, 95, +/* 0x3510 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x3520 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, +/* 0x3530 */ 50, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x3540 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x3550 */ 10, 48, 48, 48, 48, 48, 50,100, 48, 32, 82, 95, 65, 82, 77, 95, +/* 0x3560 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x3570 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50,100, 99, 32, +/* 0x3580 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x3590 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, +/* 0x35a0 */ 48, 48, 50,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x35b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x35c0 */ 49, 48, 10, 48, 48, 48, 48, 48, 51, 48, 99, 32, 82, 95, 65, 82, +/* 0x35d0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x35e0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 49, +/* 0x35f0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x3600 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, +/* 0x3610 */ 48, 48, 48, 48, 51, 50, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x3620 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x3630 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 53, 48, 32, 82, 95, +/* 0x3640 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x3650 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, +/* 0x3660 */ 51, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x3670 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x3680 */ 10, 48, 48, 48, 48, 48, 51, 55, 48, 32, 82, 95, 65, 82, 77, 95, +/* 0x3690 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x36a0 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 55, 56, 32, +/* 0x36b0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x36c0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, +/* 0x36d0 */ 48, 48, 51, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x36e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x36f0 */ 49, 48, 10, 48, 48, 48, 48, 48, 51, 98, 48, 32, 82, 95, 65, 82, +/* 0x3700 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x3710 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 98, +/* 0x3720 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x3730 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, +/* 0x3740 */ 48, 48, 48, 48, 51, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x3750 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x3760 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 99, 99, 32, 82, 95, +/* 0x3770 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x3780 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, +/* 0x3790 */ 52, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x37a0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x37b0 */ 10, 48, 48, 48, 48, 48, 52, 49, 56, 32, 82, 95, 65, 82, 77, 95, +/* 0x37c0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x37d0 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 52, 52, 48, 32, +/* 0x37e0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x37f0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 10, 82, 69, +/* 0x3800 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x3810 */ 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, +/* 0x3820 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, +/* 0x3830 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, +/* 0x3840 */ 69, 10, 48, 48, 48, 48, 48, 49, 50, 48, 32, 82, 95, 65, 82, 77, +/* 0x3850 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, +/* 0x3860 */ 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, 50, 99, 32, 82, +/* 0x3870 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x3880 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, +/* 0x3890 */ 51, 48, 32, 82, 95, 65, 82, 77, 95, 65, 66, 83, 51, 50, 32, 32, +/* 0x38a0 */ 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 }; diff -Nru upx-ucl-3.95/src/stub/armeb.v4a-linux.elf-fold.h upx-ucl-3.96/src/stub/armeb.v4a-linux.elf-fold.h --- upx-ucl-3.95/src/stub/armeb.v4a-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/armeb.v4a-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* armeb.v4a-linux.elf-fold.h - created from armeb.v4a-linux.elf-fold.bin, 2624 (0xa40) bytes + created from armeb.v4a-linux.elf-fold.bin, 2756 (0xac4) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,173 +31,182 @@ */ -#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_SIZE 2624 -#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_ADLER32 0xcc973aff -#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_CRC32 0x479eb830 +#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_SIZE 2756 +#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_ADLER32 0x2e627849 +#define STUB_ARMEB_V4A_LINUX_ELF_FOLD_CRC32 0x39f2519d -unsigned char stub_armeb_v4a_linux_elf_fold[2624] = { +unsigned char stub_armeb_v4a_linux_elf_fold[2756] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 2, 0, 40, 0, 0, 0, 1, 0, 0,128,128, 0, 0, 0, 52, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 2, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,128, 0, -/* 0x0040 */ 0, 0,128, 0, 0, 0, 10, 64, 0, 0, 10, 64, 0, 0, 0, 5, -/* 0x0050 */ 0, 0,128, 0, 0, 0, 0, 1, 0, 0, 10, 64, 0, 0, 0, 0, +/* 0x0040 */ 0, 0,128, 0, 0, 0, 10,196, 0, 0, 10,196, 0, 0, 0, 5, +/* 0x0050 */ 0, 0,128, 0, 0, 0, 0, 1, 0, 0, 10,196, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0080 */ 227,131, 48, 0,225,160,240, 14,232,189, 31,192,225,160, 16, 13, -/* 0x0090 */ 226, 77,218, 1,225,160, 0, 13,233, 45, 31,240,228,145, 48, 4, -/* 0x00a0 */ 227, 83, 0, 0,228,128, 48, 4, 26,255,255,251,225,160, 64, 0, -/* 0x00b0 */ 228,128, 48, 4,228,145, 48, 4,227, 83, 0, 0,228,128, 48, 4, -/* 0x00c0 */ 26,255,255,251,225,160, 80, 1,232,177, 0, 12,227, 82, 0, 0, -/* 0x00d0 */ 232,160, 0, 12, 26,255,255,251,225,160, 96, 1,225,160,144, 0, -/* 0x00e0 */ 227,160, 42, 1,225,160, 16, 0,226,143, 15, 70,226, 66, 32, 1, -/* 0x00f0 */ 235, 0, 0,108,224,129, 32, 0,227,112, 10, 1, 58, 0, 0, 1, -/* 0x0100 */ 226,143, 28, 1,226,129, 32, 14,225,160, 0, 6,227,160, 48, 0, -/* 0x0110 */ 229, 96, 48, 1,229,114, 48, 1,229, 96, 48, 1,225, 81, 0, 2, -/* 0x0120 */ 26,255,255,251,227,160, 48, 61,229, 96, 48, 1,227,160, 48, 32, -/* 0x0130 */ 229, 96, 48, 1,229, 96, 48, 1,229, 96, 48, 1,229,132, 0, 0, -/* 0x0140 */ 225,160, 1, 32,225,160, 1, 0,224, 38, 48, 0,226, 3, 48, 4, -/* 0x0150 */ 226, 35, 48, 4,224, 64, 0, 3,224, 64, 48, 6,224,131, 48, 5, -/* 0x0160 */ 225,160, 16, 9,229,157, 80, 24,229,141, 0, 24,229, 49, 32, 4, -/* 0x0170 */ 225, 81, 0, 13,229, 32, 32, 4, 26,255,255,251,225,160,208, 0, -/* 0x0180 */ 232,189, 12, 16,226, 77,220, 10,229,154,144, 4,225,160,128, 13, -/* 0x0190 */ 229,154,112, 0,226,143, 96,124,226,137,144, 12,233, 45, 15,248, -/* 0x01a0 */ 232,189, 0, 15,235, 0, 1,216,226,141,208, 20,226,141,220, 10, -/* 0x01b0 */ 229,141, 0, 16,227,160, 80, 0,229,189, 64, 0,227,160, 48, 2, -/* 0x01c0 */ 227,160, 32, 1,227,160, 26, 1,227,160, 0, 0,235, 0, 0, 62, -/* 0x01d0 */ 228,157, 0, 4,235, 0, 0, 43,232,189, 64, 7,227,160, 48, 0, -/* 0x01e0 */ 227,160, 64, 0,227,160, 80, 0,227,160, 96, 0,227,160,128, 0, -/* 0x01f0 */ 227,160,144, 0,227,160,160, 0,227,160,176, 0,227,160,112, 0, -/* 0x0200 */ 227,160,192, 0,229, 18,240, 4, 47,112,114,111, 99, 47,115,101, -/* 0x0210 */ 108,102, 47,101,120,101, 0, 0,226, 3, 48,255,227, 83, 0, 81, -/* 0x0220 */ 17,160,240, 14,225,176, 17, 33, 19, 80, 0, 0, 1,160,240, 14, -/* 0x0230 */ 226, 65, 16, 1,231,144, 33, 1,226, 2, 52, 15,227, 83, 4, 11, -/* 0x0240 */ 26, 0, 0, 4,226, 2, 52,255,224, 66, 32, 1,227,194, 36,255, -/* 0x0250 */ 225,130, 32, 3,231,128, 33, 1,227, 81, 0, 0, 26,255,255,243, -/* 0x0260 */ 225,160,240, 14,231,240, 1,240,225,160,240, 14,239,144, 0, 1, -/* 0x0270 */ 239,144, 0, 3,225,160,240, 14,239,144, 0, 4,225,160,240, 14, -/* 0x0280 */ 239,144, 0, 5,225,160,240, 14,239,144, 0, 6,225,160,240, 14, -/* 0x0290 */ 239,144, 0, 10,225,160,240, 14,239,144, 0, 20,225,160,240, 14, -/* 0x02a0 */ 239,144, 0, 45,225,160,240, 14,239,144, 0, 85,225,160,240, 14, -/* 0x02b0 */ 239,144, 0, 91,225,160,240, 14,239,144, 0,125,225,160,240, 14, -/* 0x02c0 */ 227,160, 32, 0,239,159, 0, 2,225,160,240, 14,233, 45, 64, 48, -/* 0x02d0 */ 229,157, 80, 16,229,157, 64, 12,225,160, 86, 37,239,144, 0,192, -/* 0x02e0 */ 232,189,128, 48,229, 31, 0, 60,225,160,240, 14,233, 45, 64, 48, -/* 0x02f0 */ 227,160, 80, 0,227,224, 64, 0,226, 79,224, 36,234,255,255, 95, -/* 0x0300 */ 225,160,192, 0,224, 65, 16, 1,225,160, 32, 0,224,144, 1,128, -/* 0x0310 */ 224,161, 17,129,224,129, 30,162,225,160, 32, 0,224,144, 2, 0, -/* 0x0320 */ 224,161, 18, 1,224,129, 30, 34,225,160, 32, 0,224,144, 4, 0, -/* 0x0330 */ 224,161, 20, 1,224,129, 28, 34,225,160, 32, 0,224,144, 8, 0, -/* 0x0340 */ 224,161, 24, 1,224,129, 24, 34,224, 80, 15,140,224,193, 16,172, -/* 0x0350 */ 224,144, 0, 12,226,161, 0, 0,225,160,240, 14,227, 80, 0, 0, -/* 0x0360 */ 1,160,240, 14,229,144, 48, 0,225, 83, 0, 1, 18,128, 0, 8, -/* 0x0370 */ 26,255,255,251,229,128, 32, 4,225,160,240, 14,229,159, 0, 0, -/* 0x0380 */ 225,160,240, 14,255,255,240, 0,229,144, 48, 0,225, 83, 0, 2, -/* 0x0390 */ 229,144, 48, 4,229, 45,224, 4, 33,160,192, 3,225,160,224, 2, -/* 0x03a0 */ 33,160, 32, 2, 42, 0, 0, 3,227,160, 0,127,235,255,255,174, -/* 0x03b0 */ 229, 92, 48, 1,229, 65, 48, 1,226, 66, 32, 1,227,114, 0, 1, -/* 0x03c0 */ 226,140,192, 1,226,129, 16, 1, 26,255,255,248,229,144, 32, 4, -/* 0x03d0 */ 229,144, 48, 0,224,130, 32, 14,224,110, 48, 3,229,128, 48, 0, -/* 0x03e0 */ 229,128, 32, 4,228,157,240, 4,233, 45, 64,240,225,160, 80, 0, -/* 0x03f0 */ 226, 77,208, 20,225,160, 64, 1,225,160,112, 2,225,160, 96, 3, -/* 0x0400 */ 234, 0, 0, 68,226,141, 16, 4,225,160, 0, 5,227,160, 32, 12, -/* 0x0410 */ 235,255,255,220,229,157,224, 4,227, 94, 0, 0,229,157, 16, 8, -/* 0x0420 */ 26, 0, 0, 6,229,159, 49, 0,225, 81, 0, 3, 26, 0, 0, 5, -/* 0x0430 */ 229,149, 48, 0,227, 83, 0, 0, 26, 0, 0, 2,234, 0, 0, 56, -/* 0x0440 */ 227, 81, 0, 0, 26, 0, 0, 1,227,160, 0,127,235,255,255,134, -/* 0x0450 */ 225, 81, 0, 14,138,255,255,251,229,148, 48, 0,225, 94, 0, 3, -/* 0x0460 */ 138,255,255,248,225, 81, 0, 14, 42, 0, 0, 33,229,221,192, 12, -/* 0x0470 */ 229,149, 0, 4,229,148, 32, 4,226,141, 48, 16,229,141,224, 16, -/* 0x0480 */ 229,141,192, 0,225,160,224, 15,225,160,240, 7,227, 80, 0, 0, -/* 0x0490 */ 26,255,255,236,229,157, 16, 16,229,157, 48, 4,225, 81, 0, 3, -/* 0x04a0 */ 26,255,255,232,229,221, 32, 13,227, 82, 0, 0, 19, 86, 0, 0, -/* 0x04b0 */ 10, 0, 0, 9,227, 81, 12, 2,138, 0, 0, 2,229,148, 48, 0, -/* 0x04c0 */ 225, 83, 0, 1, 26, 0, 0, 4,225,160, 48, 2,229,148, 0, 4, -/* 0x04d0 */ 229,221, 32, 14,225,160,224, 15,225,160,240, 6,229,157, 48, 8, -/* 0x04e0 */ 232,149, 0, 6,224,130, 32, 3,224, 99, 16, 1,232,133, 0, 6, -/* 0x04f0 */ 234, 0, 0, 3,225,160, 32, 1,225,160, 0, 5,229,148, 16, 4, -/* 0x0500 */ 235,255,255,160,229,157, 48, 4,232,148, 0, 6,224,130, 32, 3, -/* 0x0510 */ 224, 99, 16, 1,232,132, 0, 6,229,148, 48, 0,227, 83, 0, 0, -/* 0x0520 */ 26,255,255,183,226,141,208, 20,232,189,128,240, 33, 88, 80, 85, -/* 0x0530 */ 233, 45, 79,240,225,160,160, 1,225,218,193,176,229,145, 16, 28, -/* 0x0540 */ 225,218,226,188,226, 77,208, 52,227, 92, 0, 2,224,138, 80, 1, -/* 0x0550 */ 229,141, 0, 16, 3,160,192, 16, 19,160,192, 0,226, 78,224, 1, -/* 0x0560 */ 225,160, 16, 5,227,224, 64, 0,227,160, 0, 0,229,141, 32, 12, -/* 0x0570 */ 229,141, 48, 8,234, 0, 0, 13,229,145, 48, 0,227, 83, 0, 1, -/* 0x0580 */ 26, 0, 0, 8,229,145, 48, 20,227, 83, 0, 0, 10, 0, 0, 5, -/* 0x0590 */ 229,145, 32, 8,224,131, 48, 2,225, 80, 0, 3, 49,160, 0, 3, -/* 0x05a0 */ 225, 84, 0, 2, 33,160, 64, 2,226,129, 16, 32,226, 78,224, 1, -/* 0x05b0 */ 227, 94, 0, 0,170,255,255,239,227,196, 78,255,227,196, 64, 15, -/* 0x05c0 */ 224,100, 48, 0,226,131, 62,255,226,131, 48, 15,227,195, 62,255, -/* 0x05d0 */ 227,195, 48, 15,229,141, 48, 36,225,160, 0, 4,225,160, 48, 12, -/* 0x05e0 */ 229,157, 16, 36,227,160, 32, 0,235,255,255, 63,227,160, 48, 52, -/* 0x05f0 */ 224,100,144, 0,224, 3, 3,153,229,141, 0, 28,226,133, 80, 32, -/* 0x0600 */ 227,160, 0, 0,229,141, 48, 32,229,141, 0, 24,234, 0, 0,161, -/* 0x0610 */ 229,157, 16, 12,227, 81, 0, 0, 10, 0, 0, 8,229, 21, 48, 32, -/* 0x0620 */ 227, 83, 0, 6, 26, 0, 0, 5,229, 21, 32, 24,229,157, 0, 8, -/* 0x0630 */ 224,137, 32, 2,227,160, 16, 3,235,255,255, 71,234, 0, 0,145, -/* 0x0640 */ 229, 21, 48, 32,227, 83, 0, 1, 26, 0, 0,142,229, 21, 48, 12, -/* 0x0650 */ 227, 83, 0, 0, 10, 0, 0,139,229,157, 32, 12,227, 82, 0, 0, -/* 0x0660 */ 10, 0, 0, 17,229, 21, 48, 28,227, 83, 0, 0, 26, 0, 0, 14, -/* 0x0670 */ 229,154, 48, 28,229, 21, 32, 24,224,130, 32, 3,224,137, 32, 2, -/* 0x0680 */ 227,160, 16, 3,229,157, 0, 8,235,255,255, 51,229,157, 0, 8, -/* 0x0690 */ 227,160, 16, 5,225,218, 34,188,235,255,255, 47,229,157, 0, 8, -/* 0x06a0 */ 227,160, 16, 4,225,218, 34,186,235,255,255, 43,229, 21, 48, 8, -/* 0x06b0 */ 229,159, 34, 76,226, 3, 48, 7,225,160, 49, 3,225,160, 67, 50, -/* 0x06c0 */ 229, 21, 48, 24,224,137, 48, 3,229,141, 48, 20,229,157,192, 20, -/* 0x06d0 */ 229,157, 0, 12,229, 21, 48, 16,225,160, 42, 12,229, 21, 16, 12, -/* 0x06e0 */ 225,160, 42, 34,227, 80, 0, 0,229,141, 48, 44,229,141,192, 48, -/* 0x06f0 */ 224,131,128, 2,226, 4,176, 7,229,141, 16, 40,224, 98, 96, 12, -/* 0x0700 */ 10, 0, 0, 14,225,160, 0, 6,225,160, 16, 8,227,160, 32, 3, -/* 0x0710 */ 227,160, 48, 16,235,255,254,244,225, 86, 0, 0, 26, 0, 0, 72, -/* 0x0720 */ 229,157, 32, 92,226, 20, 48, 4, 17,160, 48, 2,229,157, 0, 12, -/* 0x0730 */ 226,141, 16, 44,229,157, 32, 16,235,255,255, 42,234, 0, 0, 11, -/* 0x0740 */ 229, 21,192, 28,224, 98,192, 12,229,141,192, 4,229,157,192, 16, -/* 0x0750 */ 225,160, 0, 6,225,160, 16, 8,225,160, 32, 11,227,160, 48, 18, -/* 0x0760 */ 229,141,192, 0,235,255,254,216,225, 86, 0, 0, 26, 0, 0, 52, -/* 0x0770 */ 226,104, 48, 0,225,160,122, 3,227, 27, 0, 2,225,160,122, 39, -/* 0x0780 */ 10, 0, 0, 7,227, 87, 0, 0, 10, 0, 0, 5,224,134, 16, 8, -/* 0x0790 */ 225,160, 32, 7,227,160, 48, 0,226, 82, 32, 1,228,193, 48, 1, -/* 0x07a0 */ 26,255,255,251,229,157, 0, 12,227, 80, 0, 0, 10, 0, 0, 38, -/* 0x07b0 */ 235,255,254,203,229, 21, 48, 32,227, 83, 0, 1, 26, 0, 0, 26, -/* 0x07c0 */ 229, 21, 48, 8,227, 19, 0, 1, 10, 0, 0, 23,229, 21, 32, 12, -/* 0x07d0 */ 229, 21, 48, 16,225, 82, 0, 3,229, 21, 16, 24, 26, 0, 0, 65, -/* 0x07e0 */ 224,130, 48, 1,226,131, 48, 3,224,137, 48, 3,227,195, 64, 3, -/* 0x07f0 */ 226,100, 48, 0,225,160, 58, 3,225,160, 58, 35,227, 83, 0, 7, -/* 0x0800 */ 154, 0, 0, 56,229,159, 48,252,229,132, 0, 0,226,132, 16, 8, -/* 0x0810 */ 225,160, 0, 4,229,132, 48, 4,235,255,254,168,229,157, 0, 8, -/* 0x0820 */ 225,160, 32, 4,227,160, 16, 0,235,255,254,203,225,160, 0, 6, -/* 0x0830 */ 225,160, 16, 8,225,160, 32, 11,235,255,254,158,227, 80, 0, 0, -/* 0x0840 */ 10, 0, 0, 1,227,160, 0,127,235,255,254,135,229,157, 32, 20, -/* 0x0850 */ 229,157,192, 40,224,136, 48, 7,224,130, 16, 12,224,134, 64, 3, -/* 0x0860 */ 225, 84, 0, 1, 42, 0, 0, 7,224,100, 16, 1,225,160, 32, 11, -/* 0x0870 */ 225,160, 0, 4,227,160, 48, 16,235,255,254,155,225, 84, 0, 0, -/* 0x0880 */ 10, 0, 0, 0,234,255,255,254,229,157, 0, 24,226,128, 0, 1, -/* 0x0890 */ 229,141, 0, 24,226,133, 80, 32,225,218, 50,188,229,157, 16, 24, -/* 0x08a0 */ 225, 81, 0, 3,186,255,255, 89,229,157, 32, 12,227, 82, 0, 0, -/* 0x08b0 */ 10, 0, 0, 5,225,218, 49,176,227, 83, 0, 3, 21,157, 48, 36, -/* 0x08c0 */ 21,157,192, 28, 16,131, 0, 12, 27,255,254,116,229,157, 0, 88, -/* 0x08d0 */ 227, 80, 0, 0, 21,128,144, 0,229,154, 0, 24,224,137, 0, 0, -/* 0x08e0 */ 226,141,208, 52,232,189,143,240,229, 21, 48, 28,227, 83, 0, 0, -/* 0x08f0 */ 5,157, 32, 32, 0,129, 48, 2, 2,131, 64, 8, 10,255,255,192, -/* 0x0900 */ 234,255,255,201,115, 81, 98, 64,225,160,240, 14,233, 45, 71,240, -/* 0x0910 */ 226, 77,208, 12,226,141, 96, 52,225,160,144, 0,225,160,112, 1, -/* 0x0920 */ 225,160,128, 3,225,160, 0, 6,226,141, 16, 44,227,160, 48, 0, -/* 0x0930 */ 229,157,160, 48,225,160, 80, 2,229,157, 64, 52,235,255,254,169, -/* 0x0940 */ 229,157, 48, 60,226,141,224, 12,229,157,192, 56,229, 46, 48, 4, -/* 0x0950 */ 224,100,192, 12,225,160, 32, 6,225,160, 16, 10,225,160, 48, 9, -/* 0x0960 */ 225,160, 0, 5,229,141,192, 56,229,141,224, 0,229,141,112, 52, -/* 0x0970 */ 229,141,128, 4,235,255,254,237,225,160, 64, 0,227,160, 16, 9, -/* 0x0980 */ 225,160, 0, 9,225,160, 32, 4,235,255,254,115,225,218, 2,188, -/* 0x0990 */ 226,138, 32, 52,227,160, 16, 0,234, 0, 0, 35,229,146, 48, 0, -/* 0x09a0 */ 227, 83, 0, 3, 26, 0, 0, 30,229,146, 48, 8,229,157, 0, 8, -/* 0x09b0 */ 227,160, 16, 0,224,131, 0, 0,225,160, 32, 1,235,255,254, 47, -/* 0x09c0 */ 226, 80, 80, 0,186, 0, 0, 4,225,160, 16, 10,227,160, 44, 2, -/* 0x09d0 */ 235,255,254, 38,227, 80, 12, 2, 10, 0, 0, 1,227,160, 0,127, -/* 0x09e0 */ 235,255,254, 33,227,160,224, 0,225,160, 32, 14,226,141,192, 8, -/* 0x09f0 */ 225,160, 16, 10,225,160, 48, 9,225,160, 0, 5,232,141, 80, 0, -/* 0x0a00 */ 235,255,254,202,227,160, 16, 7,225,160, 64, 0,229,157, 32, 8, -/* 0x0a10 */ 225,160, 0, 9,235,255,254, 80,225,160, 0, 5,235,255,254, 25, -/* 0x0a20 */ 234, 0, 0, 3,226,130, 32, 32,226,129, 16, 1,225, 81, 0, 0, -/* 0x0a30 */ 186,255,255,217,225,160, 0, 4,226,141,208, 12,232,189,135,240 +/* 0x0080 */ 0, 0, 0, 34,232,189, 31,192,225,160, 16, 13,226, 77,218, 1, +/* 0x0090 */ 225,160, 0, 13,233, 45, 31,240,228,145, 48, 4,227, 83, 0, 0, +/* 0x00a0 */ 228,128, 48, 4, 26,255,255,251,225,160, 64, 0,228,128, 48, 4, +/* 0x00b0 */ 228,145, 48, 4,227, 83, 0, 0,228,128, 48, 4, 26,255,255,251, +/* 0x00c0 */ 225,160, 80, 1,232,177, 0, 12,227, 82, 0, 0,232,160, 0, 12, +/* 0x00d0 */ 26,255,255,251,225,160, 96, 1,225,160,144, 0,227,160, 42, 1, +/* 0x00e0 */ 225,160, 16, 0,225,160, 0, 14,226, 66, 32, 1,235, 0, 0,115, +/* 0x00f0 */ 227,112, 10, 1, 33,160, 16, 14, 35,160, 0, 14,224,129, 32, 0, +/* 0x0100 */ 225,160, 0, 6,227,160, 48, 0,229, 96, 48, 1,229,114, 48, 1, +/* 0x0110 */ 229, 96, 48, 1,225, 81, 0, 2, 26,255,255,251,227,160, 48, 61, +/* 0x0120 */ 229, 96, 48, 1,227,160, 48, 32,229, 96, 48, 1,229, 96, 48, 1, +/* 0x0130 */ 229, 96, 48, 1,229,132, 0, 0,225,160, 1, 32,225,160, 1, 0, +/* 0x0140 */ 224, 38, 48, 0,226, 3, 48, 4,226, 35, 48, 4,224, 64, 0, 3, +/* 0x0150 */ 224, 64, 48, 6,224,131, 48, 5,225,160, 16, 9,229,157, 80, 24, +/* 0x0160 */ 229,141, 0, 24,229, 49, 32, 4,225, 81, 0, 13,229, 32, 32, 4, +/* 0x0170 */ 26,255,255,251,225,160,208, 0,232,189, 12, 16,226, 77,220, 10, +/* 0x0180 */ 229,154,144, 4,225,160,128, 13,229,154,112, 0,226,143, 96,156, +/* 0x0190 */ 226,137,144, 12,233, 45, 15,248,232,189, 0, 15,235, 0, 1,251, +/* 0x01a0 */ 226,141,208, 20,226,141,220, 10,229,141, 0, 16,228,157, 64, 4, +/* 0x01b0 */ 227,160, 80, 0,233, 45, 0, 48,227,160, 48, 2,227,160, 32, 1, +/* 0x01c0 */ 227,160, 26, 1,227,160, 0, 0,235, 0, 0, 69,232,189, 0, 3, +/* 0x01d0 */ 235, 0, 0, 50,232,189, 64, 7,227,160, 48, 0,227,160, 64, 0, +/* 0x01e0 */ 227,160, 80, 0,227,160, 96, 0,227,160,128, 0,227,160,144, 0, +/* 0x01f0 */ 227,160,160, 0,227,160,176, 0,226, 77,199, 1,228, 29,112, 32, +/* 0x0200 */ 229,141,112, 0,229,157,112, 0,225, 92, 0, 13, 58,255,255,250, +/* 0x0210 */ 226,141,215, 1,227,160,112, 0,227,160,192, 0,229, 18,240, 4, +/* 0x0220 */ 47,112,114,111, 99, 47,115,101,108,102, 47,101,120,101, 0, 0, +/* 0x0230 */ 226, 3, 48,255,227, 83, 0, 81, 17,160,240, 14,225,176, 17, 33, +/* 0x0240 */ 19, 80, 0, 0, 1,160,240, 14,226, 65, 16, 1,231,144, 33, 1, +/* 0x0250 */ 226, 2, 52, 15,227, 83, 4, 11, 26, 0, 0, 4,226, 2, 52,255, +/* 0x0260 */ 224, 66, 32, 1,227,194, 36,255,225,130, 32, 3,231,128, 33, 1, +/* 0x0270 */ 227, 81, 0, 0, 26,255,255,243,225,160,240, 14,231,240, 1,240, +/* 0x0280 */ 225,160,240, 14,239,144, 0, 1,239,144, 0, 3,225,160,240, 14, +/* 0x0290 */ 239,144, 0, 4,225,160,240, 14,239,144, 0, 5,225,160,240, 14, +/* 0x02a0 */ 239,144, 0, 6,225,160,240, 14,239,144, 0, 10,225,160,240, 14, +/* 0x02b0 */ 239,144, 0, 20,225,160,240, 14,239,144, 0, 45,225,160,240, 14, +/* 0x02c0 */ 239,144, 0, 85,225,160,240, 14,239,144, 0, 91,225,160,240, 14, +/* 0x02d0 */ 239,144, 0,125,225,160,240, 14,227,160, 32, 0,239,159, 0, 2, +/* 0x02e0 */ 225,160,240, 14,233, 45, 64, 48,229,157, 80, 16,229,157, 64, 12, +/* 0x02f0 */ 225,160, 86, 37,239,144, 0,192,232,189,128, 48,229, 31, 0, 60, +/* 0x0300 */ 225,160,240, 14,233, 45, 64, 48,229, 31, 66,144,227,160, 80, 0, +/* 0x0310 */ 225,131, 48, 4,227,224, 64, 0,234,255,255,245,225,160,192, 0, +/* 0x0320 */ 224, 65, 16, 1,225,160, 32, 0,224,144, 1,128,224,161, 17,129, +/* 0x0330 */ 224,129, 30,162,225,160, 32, 0,224,144, 2, 0,224,161, 18, 1, +/* 0x0340 */ 224,129, 30, 34,225,160, 32, 0,224,144, 4, 0,224,161, 20, 1, +/* 0x0350 */ 224,129, 28, 34,225,160, 32, 0,224,144, 8, 0,224,161, 24, 1, +/* 0x0360 */ 224,129, 24, 34,224, 80, 15,140,224,193, 16,172,224,144, 0, 12, +/* 0x0370 */ 226,161, 0, 0,225,160,240, 14,227, 80, 0, 0, 1,160,240, 14, +/* 0x0380 */ 229,144, 48, 0,225, 83, 0, 1, 18,128, 0, 8, 26,255,255,251, +/* 0x0390 */ 229,128, 32, 4,225,160,240, 14,229,159, 0, 0,225,160,240, 14, +/* 0x03a0 */ 255,255,240, 0,229,144, 48, 0,225, 83, 0, 2,229,144, 48, 4, +/* 0x03b0 */ 229, 45,224, 4, 33,160,192, 3,225,160,224, 2, 33,160, 32, 2, +/* 0x03c0 */ 42, 0, 0, 3,227,160, 0,127,235,255,255,173,229, 92, 48, 1, +/* 0x03d0 */ 229, 65, 48, 1,226, 66, 32, 1,227,114, 0, 1,226,140,192, 1, +/* 0x03e0 */ 226,129, 16, 1, 26,255,255,248,229,144, 32, 4,229,144, 48, 0, +/* 0x03f0 */ 224,130, 32, 14,224,110, 48, 3,229,128, 48, 0,229,128, 32, 4, +/* 0x0400 */ 228,157,240, 4,233, 45, 64,240,225,160, 80, 0,226, 77,208, 20, +/* 0x0410 */ 225,160, 64, 1,225,160,112, 2,225,160, 96, 3,234, 0, 0, 68, +/* 0x0420 */ 226,141, 16, 4,225,160, 0, 5,227,160, 32, 12,235,255,255,220, +/* 0x0430 */ 229,157,224, 4,227, 94, 0, 0,229,157, 16, 8, 26, 0, 0, 6, +/* 0x0440 */ 229,159, 49, 0,225, 81, 0, 3, 26, 0, 0, 5,229,149, 48, 0, +/* 0x0450 */ 227, 83, 0, 0, 26, 0, 0, 2,234, 0, 0, 56,227, 81, 0, 0, +/* 0x0460 */ 26, 0, 0, 1,227,160, 0,127,235,255,255,133,225, 81, 0, 14, +/* 0x0470 */ 138,255,255,251,229,148, 48, 0,225, 94, 0, 3,138,255,255,248, +/* 0x0480 */ 225, 81, 0, 14, 42, 0, 0, 33,229,221,192, 12,229,149, 0, 4, +/* 0x0490 */ 229,148, 32, 4,226,141, 48, 16,229,141,224, 16,229,141,192, 0, +/* 0x04a0 */ 225,160,224, 15,225,160,240, 7,227, 80, 0, 0, 26,255,255,236, +/* 0x04b0 */ 229,157, 16, 16,229,157, 48, 4,225, 81, 0, 3, 26,255,255,232, +/* 0x04c0 */ 229,221, 32, 13,227, 82, 0, 0, 19, 86, 0, 0, 10, 0, 0, 9, +/* 0x04d0 */ 227, 81, 12, 2,138, 0, 0, 2,229,148, 48, 0,225, 83, 0, 1, +/* 0x04e0 */ 26, 0, 0, 4,225,160, 48, 2,229,148, 0, 4,229,221, 32, 14, +/* 0x04f0 */ 225,160,224, 15,225,160,240, 6,229,157, 48, 8,232,149, 0, 6, +/* 0x0500 */ 224,130, 32, 3,224, 99, 16, 1,232,133, 0, 6,234, 0, 0, 3, +/* 0x0510 */ 225,160, 32, 1,225,160, 0, 5,229,148, 16, 4,235,255,255,160, +/* 0x0520 */ 229,157, 48, 4,232,148, 0, 6,224,130, 32, 3,224, 99, 16, 1, +/* 0x0530 */ 232,132, 0, 6,229,148, 48, 0,227, 83, 0, 0, 26,255,255,183, +/* 0x0540 */ 226,141,208, 20,232,189,128,240, 33, 88, 80, 85,233, 45, 79,240, +/* 0x0550 */ 225,160,128, 1,225,216,193,176,229,145, 16, 28,225,216,226,188, +/* 0x0560 */ 226, 77,208, 56,227, 92, 0, 2,224,136, 80, 1,229,141, 0, 16, +/* 0x0570 */ 3,160,192, 16, 19,160,192, 0,226, 78,224, 1,225,160, 16, 5, +/* 0x0580 */ 227,224, 64, 0,227,160, 0, 0,229,141, 32, 12,229,141, 48, 8, +/* 0x0590 */ 234, 0, 0, 13,229,145, 48, 0,227, 83, 0, 1, 26, 0, 0, 8, +/* 0x05a0 */ 229,145, 48, 20,227, 83, 0, 0, 10, 0, 0, 5,229,145, 32, 8, +/* 0x05b0 */ 224,131, 48, 2,225, 80, 0, 3, 49,160, 0, 3,225, 84, 0, 2, +/* 0x05c0 */ 33,160, 64, 2,226,129, 16, 32,226, 78,224, 1,227, 94, 0, 0, +/* 0x05d0 */ 170,255,255,239,227,196, 78,255,227,196, 64, 15,224,100, 48, 0, +/* 0x05e0 */ 226,131, 62,255,226,131, 48, 15,227,195, 62,255,227,195, 48, 15, +/* 0x05f0 */ 229,141, 48, 40,225,160, 0, 4,225,160, 48, 12,229,157, 16, 40, +/* 0x0600 */ 227,160, 32, 0,235,255,255, 62,227,160, 48, 52,224,100,144, 0, +/* 0x0610 */ 224, 3, 3,153,229,141, 0, 28,226,133, 80, 32,227,160, 0, 0, +/* 0x0620 */ 229,141, 48, 36,229,141, 0, 24,234, 0, 0,171,229,157, 16, 12, +/* 0x0630 */ 227, 81, 0, 0, 10, 0, 0, 8,229, 21, 48, 32,227, 83, 0, 6, +/* 0x0640 */ 26, 0, 0, 5,229, 21, 32, 24,229,157, 0, 8,224,137, 32, 2, +/* 0x0650 */ 227,160, 16, 3,235,255,255, 71,234, 0, 0,155,229, 21, 48, 32, +/* 0x0660 */ 227, 83, 0, 1, 26, 0, 0,152,229, 21, 48, 12,227, 83, 0, 0, +/* 0x0670 */ 10, 0, 0,149,229,157, 32, 12,227, 82, 0, 0, 10, 0, 0, 17, +/* 0x0680 */ 229, 21, 48, 28,227, 83, 0, 0, 26, 0, 0, 14,229,152, 48, 28, +/* 0x0690 */ 229, 21, 32, 24,224,130, 32, 3,224,137, 32, 2,227,160, 16, 3, +/* 0x06a0 */ 229,157, 0, 8,235,255,255, 51,229,157, 0, 8,227,160, 16, 5, +/* 0x06b0 */ 225,216, 34,188,235,255,255, 47,229,157, 0, 8,227,160, 16, 4, +/* 0x06c0 */ 225,216, 34,186,235,255,255, 43,229, 21, 48, 8,229,159, 34,180, +/* 0x06d0 */ 226, 3, 48, 7,225,160, 49, 3,225,160, 67, 50,229, 21, 48, 24, +/* 0x06e0 */ 224,137, 48, 3,229,141, 48, 20,229,157,192, 20,229,157, 0, 12, +/* 0x06f0 */ 229, 21, 48, 16,225,160, 42, 12,229, 21, 16, 12,225,160, 42, 34, +/* 0x0700 */ 227, 80, 0, 0,229,141, 48, 48,229,141,192, 52,224,131,160, 2, +/* 0x0710 */ 226, 4,176, 7,229,141, 16, 44,224, 98, 96, 12, 10, 0, 0, 14, +/* 0x0720 */ 225,160, 0, 6,225,160, 16, 10,227,160, 32, 3,227,160, 48, 16, +/* 0x0730 */ 235,255,254,243,225, 86, 0, 0, 26, 0, 0, 82,229,157, 32, 96, +/* 0x0740 */ 226, 20, 48, 4, 17,160, 48, 2,229,157, 0, 12,226,141, 16, 48, +/* 0x0750 */ 229,157, 32, 16,235,255,255, 42,234, 0, 0, 11,229, 21,192, 28, +/* 0x0760 */ 224, 98,192, 12,229,141,192, 4,229,157,192, 16,225,160, 0, 6, +/* 0x0770 */ 225,160, 16, 10,225,160, 32, 11,227,160, 48, 18,229,141,192, 0, +/* 0x0780 */ 235,255,254,215,225, 86, 0, 0, 26, 0, 0, 62,226,106, 48, 0, +/* 0x0790 */ 225,160,122, 3,227, 27, 0, 2,225,160,122, 39, 10, 0, 0, 7, +/* 0x07a0 */ 227, 87, 0, 0, 10, 0, 0, 5,224,134, 16, 10,225,160, 32, 7, +/* 0x07b0 */ 227,160, 48, 0,226, 82, 32, 1,228,193, 48, 1, 26,255,255,251, +/* 0x07c0 */ 229,157, 0, 12,227, 80, 0, 0, 10, 0, 0, 48,235,255,254,202, +/* 0x07d0 */ 229, 21, 48, 32,227, 83, 0, 1,229,141, 0, 32, 26, 0, 0, 35, +/* 0x07e0 */ 229, 21, 48, 8,227, 19, 0, 1, 10, 0, 0, 32,229, 21, 32, 12, +/* 0x07f0 */ 229, 21, 48, 16,225, 82, 0, 3,229, 21, 16, 24, 26, 0, 0, 74, +/* 0x0800 */ 224,130, 48, 1,226,131, 48, 3,224,137, 48, 3,227,195, 64, 3, +/* 0x0810 */ 226,100, 48, 0,225,160, 58, 3,225,160, 58, 35,227, 83, 0, 7, +/* 0x0820 */ 154, 0, 0, 65,234, 0, 0, 10,227,160,224, 0,227,160, 32, 3, +/* 0x0830 */ 227,224,192, 0,225,160, 0, 14,227,160, 26, 1,227,160, 48, 34, +/* 0x0840 */ 232,141, 80, 0,235,255,254,166,226, 80, 32, 0, 26, 0, 0, 61, +/* 0x0850 */ 234, 0, 0, 6,229,157, 16, 32,229,159, 49, 44,232,132, 0, 10, +/* 0x0860 */ 225,160, 0, 4,226,132, 16, 8,235,255,254,154,234, 0, 0, 64, +/* 0x0870 */ 225,160, 0, 6,225,160, 16, 10,225,160, 32, 11,235,255,254,147, +/* 0x0880 */ 227, 80, 0, 0, 10, 0, 0, 1,227,160, 0,127,235,255,254,124, +/* 0x0890 */ 229,157, 32, 20,229,157,192, 44,224,138, 48, 7,224,130, 16, 12, +/* 0x08a0 */ 224,134, 64, 3,225, 84, 0, 1, 42, 0, 0, 7,224,100, 16, 1, +/* 0x08b0 */ 225,160, 32, 11,225,160, 0, 4,227,160, 48, 16,235,255,254,144, +/* 0x08c0 */ 225, 84, 0, 0, 10, 0, 0, 0,234,255,255,254,229,157, 0, 24, +/* 0x08d0 */ 226,128, 0, 1,229,141, 0, 24,226,133, 80, 32,225,216, 50,188, +/* 0x08e0 */ 229,157, 16, 24,225, 81, 0, 3,186,255,255, 79,229,157, 32, 12, +/* 0x08f0 */ 227, 82, 0, 0, 10, 0, 0, 5,225,216, 49,176,227, 83, 0, 3, +/* 0x0900 */ 21,157, 48, 40, 21,157,192, 28, 16,131, 0, 12, 27,255,254,105, +/* 0x0910 */ 229,157, 0, 92,227, 80, 0, 0, 21,128,144, 0,229,152, 0, 24, +/* 0x0920 */ 224,137, 0, 0,226,141,208, 56,232,189,143,240,229, 21, 48, 28, +/* 0x0930 */ 227, 83, 0, 0, 5,157, 32, 36, 0,129, 48, 2, 2,131, 64, 8, +/* 0x0940 */ 10,255,255,195,234,255,255,183,229,157, 48, 32,229,130, 48, 0, +/* 0x0950 */ 229,159, 48, 52,225,160, 64, 2,226,130, 16, 8,229,130, 48, 4, +/* 0x0960 */ 235,255,254, 92,225,160, 0, 4,227,160, 16, 8,227,160, 32, 5, +/* 0x0970 */ 235,255,254, 86,225,160, 32, 4,229,157, 0, 8,227,160, 16, 0, +/* 0x0980 */ 235,255,254,124,234,255,255,185,115, 81, 98, 64,225,160,240, 14, +/* 0x0990 */ 233, 45, 71,240,226, 77,208, 12,226,141, 96, 52,225,160,144, 0, +/* 0x09a0 */ 225,160,112, 1,225,160,128, 3,225,160, 0, 6,226,141, 16, 44, +/* 0x09b0 */ 227,160, 48, 0,229,157,160, 48,225,160, 80, 2,229,157, 64, 52, +/* 0x09c0 */ 235,255,254,143,229,157, 48, 60,226,141,224, 12,229,157,192, 56, +/* 0x09d0 */ 229, 46, 48, 4,224,100,192, 12,225,160, 32, 6,225,160, 16, 10, +/* 0x09e0 */ 225,160, 48, 9,225,160, 0, 5,229,141,192, 56,229,141,224, 0, +/* 0x09f0 */ 229,141,112, 52,229,141,128, 4,235,255,254,211,225,160, 64, 0, +/* 0x0a00 */ 227,160, 16, 9,225,160, 0, 9,225,160, 32, 4,235,255,254, 89, +/* 0x0a10 */ 225,218, 2,188,226,138, 32, 52,227,160, 16, 0,234, 0, 0, 35, +/* 0x0a20 */ 229,146, 48, 0,227, 83, 0, 3, 26, 0, 0, 30,229,146, 48, 8, +/* 0x0a30 */ 229,157, 0, 8,227,160, 16, 0,224,131, 0, 0,225,160, 32, 1, +/* 0x0a40 */ 235,255,254, 20,226, 80, 80, 0,186, 0, 0, 4,225,160, 16, 10, +/* 0x0a50 */ 227,160, 44, 2,235,255,254, 11,227, 80, 12, 2, 10, 0, 0, 1, +/* 0x0a60 */ 227,160, 0,127,235,255,254, 6,227,160,224, 0,225,160, 32, 14, +/* 0x0a70 */ 226,141,192, 8,225,160, 16, 10,225,160, 48, 9,225,160, 0, 5, +/* 0x0a80 */ 232,141, 80, 0,235,255,254,176,227,160, 16, 7,225,160, 64, 0, +/* 0x0a90 */ 229,157, 32, 8,225,160, 0, 9,235,255,254, 54,225,160, 0, 5, +/* 0x0aa0 */ 235,255,253,254,234, 0, 0, 3,226,130, 32, 32,226,129, 16, 1, +/* 0x0ab0 */ 225, 81, 0, 0,186,255,255,217,225,160, 0, 4,226,141,208, 12, +/* 0x0ac0 */ 232,189,135,240 }; diff -Nru upx-ucl-3.95/src/stub/armeb.v5a-linux.kernel.vmlinux.h upx-ucl-3.96/src/stub/armeb.v5a-linux.kernel.vmlinux.h --- upx-ucl-3.95/src/stub/armeb.v5a-linux.kernel.vmlinux.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/armeb.v5a-linux.kernel.vmlinux.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/armeb.v5a-linux.kernel.vmlinux-head.h upx-ucl-3.96/src/stub/armeb.v5a-linux.kernel.vmlinux-head.h --- upx-ucl-3.95/src/stub/armeb.v5a-linux.kernel.vmlinux-head.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/armeb.v5a-linux.kernel.vmlinux-head.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm.v4a-linux.elf-entry.h upx-ucl-3.96/src/stub/arm.v4a-linux.elf-entry.h --- upx-ucl-3.95/src/stub/arm.v4a-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v4a-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* arm.v4a-linux.elf-entry.h - created from arm.v4a-linux.elf-entry.bin, 14448 (0x3870) bytes + created from arm.v4a-linux.elf-entry.bin, 14512 (0x38b0) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,15 +31,15 @@ */ -#define STUB_ARM_V4A_LINUX_ELF_ENTRY_SIZE 14448 -#define STUB_ARM_V4A_LINUX_ELF_ENTRY_ADLER32 0x3ceac656 -#define STUB_ARM_V4A_LINUX_ELF_ENTRY_CRC32 0xe2d47692 +#define STUB_ARM_V4A_LINUX_ELF_ENTRY_SIZE 14512 +#define STUB_ARM_V4A_LINUX_ELF_ENTRY_ADLER32 0xa560d965 +#define STUB_ARM_V4A_LINUX_ELF_ENTRY_CRC32 0x036aba87 -unsigned char stub_arm_v4a_linux_elf_entry[14448] = { +unsigned char stub_arm_v4a_linux_elf_entry[14512] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 40, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 120, 19, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, -/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 0, 24,208, 77,226, 55, 0, 0,235, +/* 0x0020 */ 148, 19, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, +/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 0, 24,208, 77,226, 60, 0, 0,235, /* 0x0040 */ 252, 64, 45,233, 0,112,129,224, 0, 80,224,227, 2, 65,160,227, /* 0x0050 */ 20, 0, 0,234, 24, 0,189,232, 7, 0, 64,224, 3, 32, 66,224, /* 0x0060 */ 0, 32,132,229, 0, 64,160,225, 3, 0,160,225, 2, 16,131,224, @@ -319,8 +319,8 @@ /* 0x1180 */ 1, 1, 0, 59,176, 48,209,225,167,229,160,225,147, 14, 14,224, /* 0x1190 */ 14, 0, 92,225, 14,112,160, 49, 14,112, 71, 32, 2,235, 99, 50, /* 0x11a0 */ 14,192, 76, 32,174, 50,131, 48,163, 50, 67, 32, 0, 0,176,224, -/* 0x11b0 */ 176, 48,193,225, 2,240,160,225, 20, 48,141,229, 6,160,224,225, -/* 0x11c0 */ 1,160,138,226, 4, 96,142,226, 10,224,134,224, 0, 16,150,229, +/* 0x11b0 */ 176, 48,193,225, 2,240,160,225, 20, 48,141,229, 0,160,160,227, +/* 0x11c0 */ 6,160, 74,224, 4, 96,142,226, 10,224,134,224, 0, 16,150,229, /* 0x11d0 */ 0, 80,160,227, 0, 64,224,227, 3, 32,160,227, 14, 16,129,224, /* 0x11e0 */ 0, 0,160,227, 12, 16,141,229,192, 0,144,239, 8, 0,141,229, /* 0x11f0 */ 4, 16,150,229, 4, 64,157,229, 18, 48,160,227, 14, 16,129,224, @@ -328,615 +328,619 @@ /* 0x1210 */ 13, 48,160,225, 8, 0,214,229, 4, 0, 45,229, 10, 32,134,224, /* 0x1220 */ 4, 16,150,229, 12, 0,134,226, 2, 64,160,225, 15,224,160,225, /* 0x1230 */ 24,240,157,229, 4,208,141,226, 4, 48,157,228, 20, 16,157,229, -/* 0x1240 */ 0, 0,148,229, 1, 0,128,225, 0, 0,132,229, 16, 0,157,229, -/* 0x1250 */ 6, 16,131,224, 10, 0,128,224, 10, 16,129,224, 16, 0,141,229, -/* 0x1260 */ 32, 6,160,225, 5, 32,160,227, 0, 6,160,225, 0, 16, 65,224, -/* 0x1270 */ 125, 0,144,239, 4, 16, 22,229, 8, 0,157,229, 1, 64, 73,224, -/* 0x1280 */ 1, 80,128,224, 8, 96,134,226, 10,240,134,224, 47,112,114,111, -/* 0x1290 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0, 16, 0, 30,229, -/* 0x12a0 */ 16, 96, 78,226, 16,224,141,229, 0, 96, 70,224, 0, 96,141,229, -/* 0x12b0 */ 0,144,160,225, 48, 0, 79,226, 0, 16,160,227, 5, 0,144,239, -/* 0x12c0 */ 4, 0,141,229, 12, 48, 30,229,254,255,255,235, 0, 0, 0, 0, -/* 0x12d0 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, -/* 0x12e0 */ 50, 45,108,105,116,116,108,101, 97,114,109, 10, 10, 83,101, 99, -/* 0x12f0 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, -/* 0x1300 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, -/* 0x1310 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, -/* 0x1320 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, -/* 0x1330 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, -/* 0x1340 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, -/* 0x1350 */ 48, 48, 48, 48, 48, 48, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1360 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1370 */ 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1380 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x1390 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, -/* 0x13a0 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x13b0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x13c0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, -/* 0x13d0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x13e0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, -/* 0x13f0 */ 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1400 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1410 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1420 */ 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1430 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, -/* 0x1440 */ 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, -/* 0x1450 */ 48, 48, 48, 48, 49, 50, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1460 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1470 */ 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1480 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x1490 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, -/* 0x14a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 49, -/* 0x14b0 */ 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x14c0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 54, 99, 32, -/* 0x14d0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x14e0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x14f0 */ 10, 32, 32, 53, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, -/* 0x1500 */ 32, 32, 32, 48, 48, 48, 48, 48, 48,100, 99, 32, 32, 48, 48, 48, -/* 0x1510 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1520 */ 32, 48, 48, 48, 48, 48, 50, 56, 52, 32, 32, 50, 42, 42, 48, 32, -/* 0x1530 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x1540 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, -/* 0x1550 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, -/* 0x1560 */ 48, 48, 48, 97, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1570 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1580 */ 51, 54, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x1590 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x15a0 */ 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x15b0 */ 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 51, 56, 32, -/* 0x15c0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x15d0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 48, 56, 32, 32, 50, -/* 0x15e0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x15f0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x1600 */ 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, -/* 0x1610 */ 32, 48, 48, 48, 48, 48, 52, 55, 56, 32, 32, 48, 48, 48, 48, 48, -/* 0x1620 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1630 */ 48, 48, 48, 48,100, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1640 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x1650 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, -/* 0x1660 */ 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1670 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1680 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 98, -/* 0x1690 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x16a0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, -/* 0x16b0 */ 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x16c0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x16d0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x16e0 */ 49, 49, 98, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x16f0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x1700 */ 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, -/* 0x1710 */ 32, 48, 48, 48, 48, 48, 49, 49, 56, 32, 32, 48, 48, 48, 48, 48, -/* 0x1720 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1730 */ 48, 48, 48, 49, 49, 98, 56, 32, 32, 50, 42, 42, 50, 32, 32, 67, -/* 0x1740 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x1750 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, -/* 0x1760 */ 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1770 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, -/* 0x1780 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, -/* 0x1790 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, -/* 0x17a0 */ 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, -/* 0x17b0 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x17c0 */ 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, -/* 0x17d0 */ 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x17e0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, -/* 0x17f0 */ 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1800 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1810 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x1820 */ 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1830 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1840 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x1850 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1860 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1870 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x1880 */ 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1890 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x18a0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x18b0 */ 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, -/* 0x18c0 */ 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x18d0 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, -/* 0x18e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, -/* 0x18f0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1900 */ 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, -/* 0x1910 */ 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, -/* 0x1920 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, -/* 0x1930 */ 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1940 */ 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1950 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x1960 */ 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, -/* 0x1970 */ 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, -/* 0x1980 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, -/* 0x1990 */ 48, 48, 48, 48, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, -/* 0x19a0 */ 48, 52, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, -/* 0x19b0 */ 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, -/* 0x19c0 */ 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, -/* 0x19d0 */ 32, 32, 32, 70, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, -/* 0x19e0 */ 49, 50, 99, 32,117, 99,108, 95,110,114,118, 50,101, 95,100,101, -/* 0x19f0 */ 99,111,109,112,114,101,115,115, 95, 56, 10, 48, 48, 48, 48, 48, -/* 0x1a00 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, -/* 0x1a10 */ 68, 9, 48, 48, 48, 48, 48, 49, 49, 56, 32,117, 99,108, 95,110, -/* 0x1a20 */ 114,118, 50,100, 95,100,101, 99,111,109,112,114,101,115,115, 95, -/* 0x1a30 */ 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, -/* 0x1a40 */ 32, 70, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48,100, -/* 0x1a50 */ 99, 32,117, 99,108, 95,110,114,118, 50, 98, 95,100,101, 99,111, -/* 0x1a60 */ 109,112,114,101,115,115, 95, 56, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a70 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x1a80 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,122, -/* 0x1a90 */ 109, 97, 68,101, 99,111,100,101, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1aa0 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x1ab0 */ 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95, -/* 0x1ac0 */ 100,101, 99,111,109,112,114,101,115,115, 10, 48, 48, 48, 48, 48, -/* 0x1ad0 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, -/* 0x1ae0 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, -/* 0x1af0 */ 70, 79, 10, 48, 48, 48, 48, 48, 49, 49, 56, 32,103, 32, 32, 32, -/* 0x1b00 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, -/* 0x1b10 */ 48, 48, 48, 48, 48, 32, 99,112,114, 48, 10, 10, 82, 69, 76, 79, -/* 0x1b20 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x1b30 */ 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, -/* 0x1b40 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x1b50 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x1b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 65, 82, 77, 95, 65, -/* 0x1b70 */ 66, 83, 51, 50, 32, 32, 32, 32, 32, 32, 32, 77, 70, 76, 71, 10, -/* 0x1b80 */ 48, 48, 48, 48, 48, 48, 48, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x1b90 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, -/* 0x1ba0 */ 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x1bb0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, -/* 0x1bc0 */ 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x1bd0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1be0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, -/* 0x1bf0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x1c00 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 53, 99, 32, -/* 0x1c10 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x1c20 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 54, 48, -/* 0x1c30 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x1c40 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 54, -/* 0x1c50 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x1c60 */ 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x1c70 */ 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x1c80 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, -/* 0x1c90 */ 48, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x1ca0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, -/* 0x1cb0 */ 48, 48, 56, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x1cc0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, -/* 0x1cd0 */ 48, 48, 48, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x1ce0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, -/* 0x1cf0 */ 48, 48, 48, 48, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x1d00 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, -/* 0x1d10 */ 48, 48, 48, 48, 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x1d20 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, -/* 0x1d30 */ 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x1d40 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, -/* 0x1d50 */ 10, 48, 48, 48, 48, 48, 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, -/* 0x1d60 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x1d70 */ 69, 10, 48, 48, 48, 48, 48, 48, 99, 48, 32, 82, 95, 65, 82, 77, -/* 0x1d80 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x1d90 */ 50, 69, 10, 48, 48, 48, 48, 48, 48, 99, 52, 32, 82, 95, 65, 82, -/* 0x1da0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, -/* 0x1db0 */ 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,100, 48, 32, 82, 95, 65, -/* 0x1dc0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x1dd0 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,100, 52, 32, 82, 95, -/* 0x1de0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1df0 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,100, 99, 32, 82, -/* 0x1e00 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x1e10 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 56, 32, -/* 0x1e20 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x1e30 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 99, -/* 0x1e40 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x1e50 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,102, -/* 0x1e60 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x1e70 */ 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x1e80 */ 102, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x1e90 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, -/* 0x1ea0 */ 49, 50, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x1eb0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, -/* 0x1ec0 */ 48, 49, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x1ed0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 10, 82, 69, -/* 0x1ee0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x1ef0 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, -/* 0x1f00 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, -/* 0x1f10 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, -/* 0x1f20 */ 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x1f30 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, -/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 53, 99, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x1f50 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, -/* 0x1f60 */ 10, 48, 48, 48, 48, 48, 48, 54, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x1f70 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x1f80 */ 68, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, 82, 95, 65, 82, 77, -/* 0x1f90 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x1fa0 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 55, 52, 32, 82, 95, 65, 82, -/* 0x1fb0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, -/* 0x1fc0 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, -/* 0x1fd0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x1fe0 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 56, 99, 32, 82, 95, -/* 0x1ff0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2000 */ 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, -/* 0x2010 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2020 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 57, 99, 32, -/* 0x2030 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2040 */ 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 97, 99, -/* 0x2050 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x2060 */ 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 98, -/* 0x2070 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2080 */ 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, -/* 0x2090 */ 98, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x20a0 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, -/* 0x20b0 */ 48, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x20c0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, -/* 0x20d0 */ 48, 48,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x20e0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, -/* 0x20f0 */ 48, 48, 48,100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2100 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, -/* 0x2110 */ 48, 48, 48, 48,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2120 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, -/* 0x2130 */ 48, 48, 48, 48, 48,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2140 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, -/* 0x2150 */ 48, 48, 48, 48, 48, 49, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2160 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, -/* 0x2170 */ 10, 48, 48, 48, 48, 48, 49, 49, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x2180 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x2190 */ 68, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x21a0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, -/* 0x21b0 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x21c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x21d0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, -/* 0x21e0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x21f0 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 54, 48, 32, 82, 95, -/* 0x2200 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2210 */ 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, 82, -/* 0x2220 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2230 */ 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 54, 99, 32, -/* 0x2240 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2250 */ 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 55, 99, -/* 0x2260 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x2270 */ 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 56, -/* 0x2280 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2290 */ 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, -/* 0x22a0 */ 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x22b0 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, -/* 0x22c0 */ 48, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x22d0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, -/* 0x22e0 */ 48, 48, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x22f0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, -/* 0x2300 */ 48, 48, 48, 97, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2310 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, -/* 0x2320 */ 48, 48, 48, 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2330 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, -/* 0x2340 */ 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2350 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, -/* 0x2360 */ 48, 48, 48, 48, 48, 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2370 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, -/* 0x2380 */ 10, 48, 48, 48, 48, 48, 48,100, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x2390 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x23a0 */ 66, 10, 48, 48, 48, 48, 48, 48,100, 56, 32, 82, 95, 65, 82, 77, -/* 0x23b0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x23c0 */ 50, 66, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, -/* 0x23d0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, -/* 0x23e0 */ 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x23f0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2400 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x2410 */ 48, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2420 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, -/* 0x2430 */ 48, 48, 48, 48, 48, 48, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2440 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x2450 */ 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, -/* 0x2460 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2470 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 10, 82, 69, 76, -/* 0x2480 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, -/* 0x2490 */ 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 93, -/* 0x24a0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x24b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x24c0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 55, 52, 32, 82, 95, 65, 82, -/* 0x24d0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x24e0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 57, -/* 0x24f0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2500 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2510 */ 48, 48, 48, 48, 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2520 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2530 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 99, 99, 32, 82, 95, -/* 0x2540 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2550 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2560 */ 48,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2570 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2580 */ 10, 48, 48, 48, 48, 48, 49, 48, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x2590 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x25a0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 48, 56, 32, -/* 0x25b0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x25c0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x25d0 */ 48, 48, 49, 52, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x25e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x25f0 */ 50, 48, 10, 48, 48, 48, 48, 48, 49, 57, 48, 32, 82, 95, 65, 82, -/* 0x2600 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2610 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 99, -/* 0x2620 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2630 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2640 */ 48, 48, 48, 48, 49,100, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2650 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2660 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 48, 52, 32, 82, 95, -/* 0x2670 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2680 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2690 */ 50, 49, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x26a0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x26b0 */ 10, 48, 48, 48, 48, 48, 50, 50, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x26c0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x26d0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 51, 52, 32, -/* 0x26e0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x26f0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2700 */ 48, 48, 50, 51, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2710 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2720 */ 50, 48, 10, 48, 48, 48, 48, 48, 50, 52, 48, 32, 82, 95, 65, 82, -/* 0x2730 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2740 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 52, -/* 0x2750 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2760 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2770 */ 48, 48, 48, 48, 50, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2780 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2790 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 97, 52, 32, 82, 95, -/* 0x27a0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x27b0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x27c0 */ 50, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x27d0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x27e0 */ 10, 48, 48, 48, 48, 48, 50,101, 56, 32, 82, 95, 65, 82, 77, 95, -/* 0x27f0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2800 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 48, 52, 32, -/* 0x2810 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2820 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2830 */ 48, 48, 51, 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2840 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2850 */ 50, 48, 10, 48, 48, 48, 48, 48, 51, 51, 99, 32, 82, 95, 65, 82, -/* 0x2860 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2870 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 56, -/* 0x2880 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2890 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x28a0 */ 48, 48, 48, 48, 51, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x28b0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x28c0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 97, 56, 32, 82, 95, -/* 0x28d0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x28e0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x28f0 */ 51, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2900 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2910 */ 10, 48, 48, 48, 48, 48, 51,101, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x2920 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2930 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51,101, 56, 32, -/* 0x2940 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2950 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2960 */ 48, 48, 52, 50, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2970 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2980 */ 50, 48, 10, 48, 48, 48, 48, 48, 52, 51, 56, 32, 82, 95, 65, 82, -/* 0x2990 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x29a0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 54, -/* 0x29b0 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x29c0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x29d0 */ 48, 48, 48, 48, 52, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x29e0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x29f0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 56, 99, 32, 82, 95, -/* 0x2a00 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2a10 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2a20 */ 52, 98, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2a30 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2a40 */ 10, 48, 48, 48, 48, 48, 52,100, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x2a50 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2a60 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52,101, 99, 32, -/* 0x2a70 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2a80 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2a90 */ 48, 48, 52,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2aa0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2ab0 */ 50, 48, 10, 48, 48, 48, 48, 48, 53, 49, 56, 32, 82, 95, 65, 82, -/* 0x2ac0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2ad0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 51, -/* 0x2ae0 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2af0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2b00 */ 48, 48, 48, 48, 53, 57, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2b10 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2b20 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 97, 48, 32, 82, 95, -/* 0x2b30 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2b40 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2b50 */ 53, 99, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2b60 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2b70 */ 10, 48, 48, 48, 48, 48, 53,101, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x2b80 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2b90 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53,102, 99, 32, -/* 0x2ba0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2bb0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2bc0 */ 48, 48, 54, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2bd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2be0 */ 50, 48, 10, 48, 48, 48, 48, 48, 54, 50, 52, 32, 82, 95, 65, 82, -/* 0x2bf0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2c00 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 52, -/* 0x2c10 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2c20 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2c30 */ 48, 48, 48, 48, 54, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2c40 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2c50 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 56, 99, 32, 82, 95, -/* 0x2c60 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2c70 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2c80 */ 54,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2c90 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2ca0 */ 10, 48, 48, 48, 48, 48, 54,101, 99, 32, 82, 95, 65, 82, 77, 95, -/* 0x2cb0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2cc0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 49, 99, 32, -/* 0x2cd0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2ce0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2cf0 */ 48, 48, 55, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2d00 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2d10 */ 50, 48, 10, 48, 48, 48, 48, 48, 55, 54, 99, 32, 82, 95, 65, 82, -/* 0x2d20 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2d30 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 55, -/* 0x2d40 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2d50 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2d60 */ 48, 48, 48, 48, 55, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2d70 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2d80 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 98, 56, 32, 82, 95, -/* 0x2d90 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2da0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2db0 */ 55, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2dc0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2dd0 */ 10, 48, 48, 48, 48, 48, 55,100, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x2de0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2df0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55,102, 52, 32, -/* 0x2e00 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2e10 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2e20 */ 48, 48, 56, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2e30 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2e40 */ 50, 48, 10, 48, 48, 48, 48, 48, 56, 50, 99, 32, 82, 95, 65, 82, -/* 0x2e50 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2e60 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 55, -/* 0x2e70 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2e80 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2e90 */ 48, 48, 48, 48, 56, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2ea0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2eb0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 97, 48, 32, 82, 95, -/* 0x2ec0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2ed0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2ee0 */ 56,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2ef0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2f00 */ 10, 48, 48, 48, 48, 48, 56,102, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x2f10 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2f20 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56,102, 99, 32, -/* 0x2f30 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2f40 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2f50 */ 48, 48, 57, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2f60 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2f70 */ 50, 48, 10, 48, 48, 48, 48, 48, 57, 50, 56, 32, 82, 95, 65, 82, -/* 0x2f80 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2f90 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x2fa0 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x2fb0 */ 32, 91, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 93, 58, 10, 79, -/* 0x2fc0 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x2fd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x2fe0 */ 48, 48, 48, 48, 48, 48, 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2ff0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3000 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, -/* 0x3010 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3020 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x3030 */ 48, 48, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x3040 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x3050 */ 48, 10, 48, 48, 48, 48, 48, 48, 97, 56, 32, 82, 95, 65, 82, 77, -/* 0x3060 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x3070 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 97, 99, -/* 0x3080 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x3090 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x30a0 */ 48, 48, 48, 48,101, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x30b0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x30c0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 48, 48, 32, 82, 95, 65, -/* 0x30d0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x30e0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, -/* 0x30f0 */ 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x3100 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x3110 */ 48, 48, 48, 48, 48, 49, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x3120 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3130 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 49, 56, 32, 82, -/* 0x3140 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3150 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x3160 */ 48, 49, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x3170 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x3180 */ 48, 10, 48, 48, 48, 48, 48, 49, 50, 56, 32, 82, 95, 65, 82, 77, -/* 0x3190 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x31a0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 52, 52, -/* 0x31b0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x31c0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x31d0 */ 48, 48, 48, 49, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x31e0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x31f0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 53, 48, 32, 82, 95, 65, -/* 0x3200 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x3210 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, -/* 0x3220 */ 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x3230 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x3240 */ 48, 48, 48, 48, 48, 49, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x3250 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3260 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 56, 99, 32, 82, -/* 0x3270 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3280 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x3290 */ 48, 49, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x32a0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x32b0 */ 48, 10, 48, 48, 48, 48, 48, 49, 97, 48, 32, 82, 95, 65, 82, 77, -/* 0x32c0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x32d0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 99, 48, -/* 0x32e0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x32f0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x3300 */ 48, 48, 48, 49, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x3310 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x3320 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49,100, 52, 32, 82, 95, 65, -/* 0x3330 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x3340 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, -/* 0x3350 */ 100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x3360 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x3370 */ 48, 48, 48, 48, 48, 49,101, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x3380 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3390 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49,101, 99, 32, 82, -/* 0x33a0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x33b0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x33c0 */ 48, 50, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x33d0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x33e0 */ 48, 10, 48, 48, 48, 48, 48, 50, 50, 99, 32, 82, 95, 65, 82, 77, -/* 0x33f0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x3400 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 52, 52, -/* 0x3410 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x3420 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x3430 */ 48, 48, 48, 50, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x3440 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x3450 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 53, 48, 32, 82, 95, 65, -/* 0x3460 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x3470 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, -/* 0x3480 */ 54, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x3490 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x34a0 */ 48, 48, 48, 48, 48, 50, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x34b0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x34c0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 56, 99, 32, 82, -/* 0x34d0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x34e0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x34f0 */ 48, 50, 97, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x3500 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x3510 */ 48, 10, 48, 48, 48, 48, 48, 50, 99, 56, 32, 82, 95, 65, 82, 77, -/* 0x3520 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x3530 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50,100, 48, -/* 0x3540 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x3550 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x3560 */ 48, 48, 48, 50,100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x3570 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x3580 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 50,102, 52, 32, 82, 95, 65, -/* 0x3590 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x35a0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, -/* 0x35b0 */ 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x35c0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x35d0 */ 48, 48, 48, 48, 48, 51, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x35e0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x35f0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 50, 99, 32, 82, -/* 0x3600 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3610 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x3620 */ 48, 51, 53, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x3630 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x3640 */ 48, 10, 48, 48, 48, 48, 48, 51, 53, 56, 32, 82, 95, 65, 82, 77, -/* 0x3650 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x3660 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 55, 48, -/* 0x3670 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x3680 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x3690 */ 48, 48, 48, 51, 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x36a0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x36b0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 57, 99, 32, 82, 95, 65, -/* 0x36c0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x36d0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, -/* 0x36e0 */ 98, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x36f0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x3700 */ 48, 48, 48, 48, 48, 51, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x3710 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3720 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 99, 56, 32, 82, -/* 0x3730 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3740 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x3750 */ 48, 51, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x3760 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x3770 */ 48, 10, 48, 48, 48, 48, 48, 52, 48, 48, 32, 82, 95, 65, 82, 77, -/* 0x3780 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x3790 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 52, 49, 56, -/* 0x37a0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x37b0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x37c0 */ 48, 48, 48, 52, 52, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x37d0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x37e0 */ 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x37f0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, -/* 0x3800 */ 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x3810 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x3820 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, -/* 0x3830 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x3840 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, -/* 0x3850 */ 48, 48, 49, 49, 52, 32, 82, 95, 65, 82, 77, 95, 65, 66, 83, 51, -/* 0x3860 */ 50, 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 +/* 0x1240 */ 0, 16,132,229, 16, 0,157,229, 6, 16,131,224, 10, 0,128,224, +/* 0x1250 */ 10, 16,129,224, 16, 0,141,229, 32, 6,160,225, 5, 32,160,227, +/* 0x1260 */ 0, 6,160,225, 0, 16, 65,224,125, 0,144,239, 4, 16, 22,229, +/* 0x1270 */ 8, 0,157,229, 1, 64, 73,224, 1, 80,128,224, 4, 96,134,226, +/* 0x1280 */ 0,224,143,226, 10,240,134,224, 47,112,114,111, 99, 47,115,101, +/* 0x1290 */ 108,102, 47,101,120,101, 0, 0, 14, 32,160,227, 28, 16, 79,226, +/* 0x12a0 */ 2, 0,160,227, 4, 0,144,239,127, 0,160,227, 1, 0,144,239, +/* 0x12b0 */ 16, 0, 30,229, 16, 96, 78,226, 16,224,141,229, 0, 96, 70,224, +/* 0x12c0 */ 0, 96,141,229, 0,144,160,225, 72, 0, 79,226, 0, 16,160,227, +/* 0x12d0 */ 5, 0,144,239, 0, 0, 80,227, 54, 0, 0,186, 4, 0,141,229, +/* 0x12e0 */ 12, 48, 30,229,254,255,255,235, 0, 0, 0, 0,102,105,108,101, +/* 0x12f0 */ 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45,108,105, +/* 0x1300 */ 116,116,108,101, 97,114,109, 10, 10, 83,101, 99,116,105,111,110, +/* 0x1310 */ 115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, +/* 0x1320 */ 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, +/* 0x1330 */ 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, +/* 0x1340 */ 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103, +/* 0x1350 */ 110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, +/* 0x1360 */ 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1370 */ 48, 48, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1380 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, +/* 0x1390 */ 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x13a0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x13b0 */ 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, +/* 0x13c0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x13d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x13e0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, +/* 0x13f0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x1400 */ 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 95, 84, 65, +/* 0x1410 */ 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1420 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1430 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, +/* 0x1440 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1450 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, +/* 0x1460 */ 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1470 */ 49, 50, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1480 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, +/* 0x1490 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x14a0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x14b0 */ 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, +/* 0x14c0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 49, 56, 32, 32, 48, +/* 0x14d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x14e0 */ 48, 32, 32, 48, 48, 48, 48, 48, 49, 54, 99, 32, 32, 50, 42, 42, +/* 0x14f0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, +/* 0x1500 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, +/* 0x1510 */ 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, +/* 0x1520 */ 48, 48, 48, 48, 48,100, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1530 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1540 */ 48, 48, 50, 56, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x1550 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, +/* 0x1560 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, +/* 0x1570 */ 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 97, +/* 0x1580 */ 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1590 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 54, 48, 32, +/* 0x15a0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, +/* 0x15b0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, +/* 0x15c0 */ 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, +/* 0x15d0 */ 32, 32, 32, 48, 48, 48, 48, 48, 57, 51, 56, 32, 32, 48, 48, 48, +/* 0x15e0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x15f0 */ 32, 48, 48, 48, 48, 48, 52, 48, 56, 32, 32, 50, 42, 42, 48, 32, +/* 0x1600 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, +/* 0x1610 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, +/* 0x1620 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, +/* 0x1630 */ 48, 48, 52, 55, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1640 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1650 */ 100, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1660 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x1670 */ 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x1680 */ 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1690 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x16a0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 98, 56, 32, 32, 50, +/* 0x16b0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x16c0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 69, 76, 70, 77, +/* 0x16d0 */ 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x16e0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x16f0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 98, 56, +/* 0x1700 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1710 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, +/* 0x1720 */ 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x1730 */ 48, 48, 49, 51, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1740 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, +/* 0x1750 */ 49, 98, 56, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, +/* 0x1760 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x1770 */ 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, +/* 0x1780 */ 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1790 */ 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, +/* 0x17a0 */ 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x17b0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, +/* 0x17c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, +/* 0x17d0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x17e0 */ 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, +/* 0x17f0 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1800 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, +/* 0x1810 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, +/* 0x1820 */ 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1830 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x1840 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x1850 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1860 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x1870 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x1880 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1890 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, +/* 0x18a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, +/* 0x18b0 */ 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x18c0 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, +/* 0x18d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, +/* 0x18e0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x18f0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, +/* 0x1900 */ 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, +/* 0x1910 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, +/* 0x1920 */ 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1930 */ 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1940 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, +/* 0x1950 */ 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, +/* 0x1960 */ 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1970 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, +/* 0x1980 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, +/* 0x1990 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, +/* 0x19a0 */ 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x19b0 */ 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32,103, +/* 0x19c0 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, +/* 0x19d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, +/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, +/* 0x19f0 */ 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 49, 50, 99, 32, +/* 0x1a00 */ 117, 99,108, 95,110,114,118, 50,101, 95,100,101, 99,111,109,112, +/* 0x1a10 */ 114,101,115,115, 95, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1a20 */ 103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 68, 9, 48, 48, +/* 0x1a30 */ 48, 48, 48, 49, 49, 56, 32,117, 99,108, 95,110,114,118, 50,100, +/* 0x1a40 */ 95,100,101, 99,111,109,112,114,101,115,115, 95, 56, 10, 48, 48, +/* 0x1a50 */ 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, +/* 0x1a60 */ 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48,100, 99, 32,117, 99, +/* 0x1a70 */ 108, 95,110,114,118, 50, 98, 95,100,101, 99,111,109,112,114,101, +/* 0x1a80 */ 115,115, 95, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, +/* 0x1a90 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x1aa0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,122,109, 97, 68,101, +/* 0x1ab0 */ 99,111,100,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, +/* 0x1ac0 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, +/* 0x1ad0 */ 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95,100,101, 99,111, +/* 0x1ae0 */ 109,112,114,101,115,115, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1af0 */ 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, +/* 0x1b00 */ 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 48, +/* 0x1b10 */ 48, 48, 48, 48, 49, 51, 52, 32,103, 32, 32, 32, 32, 32, 32, 32, +/* 0x1b20 */ 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b30 */ 48, 32, 99,112,114, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x1b40 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x1b50 */ 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x1b60 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1b70 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, +/* 0x1b80 */ 48, 48, 48, 48, 32, 82, 95, 65, 82, 77, 95, 65, 66, 83, 51, 50, +/* 0x1b90 */ 32, 32, 32, 32, 32, 32, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, +/* 0x1ba0 */ 48, 48, 48, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x1bb0 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, +/* 0x1bc0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, +/* 0x1bd0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, +/* 0x1be0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, +/* 0x1bf0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, +/* 0x1c00 */ 69, 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, 77, +/* 0x1c10 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x1c20 */ 50, 69, 10, 48, 48, 48, 48, 48, 48, 53, 99, 32, 82, 95, 65, 82, +/* 0x1c30 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x1c40 */ 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 54, 48, 32, 82, 95, 65, +/* 0x1c50 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x1c60 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, 82, 95, +/* 0x1c70 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1c80 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 55, 52, 32, 82, +/* 0x1c90 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x1ca0 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, +/* 0x1cb0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x1cc0 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 56, 99, +/* 0x1cd0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x1ce0 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 57, +/* 0x1cf0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x1d00 */ 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, +/* 0x1d10 */ 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x1d20 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, +/* 0x1d30 */ 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x1d40 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, +/* 0x1d50 */ 48, 48, 98, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x1d60 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, +/* 0x1d70 */ 48, 48, 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x1d80 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, +/* 0x1d90 */ 48, 48, 48, 48, 99, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x1da0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, +/* 0x1db0 */ 48, 48, 48, 48, 48, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x1dc0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, +/* 0x1dd0 */ 48, 48, 48, 48, 48, 48,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x1de0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, +/* 0x1df0 */ 10, 48, 48, 48, 48, 48, 48,100, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x1e00 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x1e10 */ 69, 10, 48, 48, 48, 48, 48, 48,100, 99, 32, 82, 95, 65, 82, 77, +/* 0x1e20 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x1e30 */ 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 56, 32, 82, 95, 65, 82, +/* 0x1e40 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x1e50 */ 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 99, 32, 82, 95, 65, +/* 0x1e60 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x1e70 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,102, 52, 32, 82, 95, +/* 0x1e80 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1e90 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,102, 99, 32, 82, +/* 0x1ea0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x1eb0 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 49, 50, 52, 32, +/* 0x1ec0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x1ed0 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 49, 50, 56, +/* 0x1ee0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x1ef0 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 10, 82, 69, 76, 79, 67, 65, +/* 0x1f00 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, +/* 0x1f10 */ 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, +/* 0x1f20 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1f30 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, +/* 0x1f40 */ 48, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x1f50 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, +/* 0x1f60 */ 48, 48, 53, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x1f70 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, +/* 0x1f80 */ 48, 48, 48, 54, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x1f90 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, +/* 0x1fa0 */ 48, 48, 48, 48, 54, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x1fb0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, +/* 0x1fc0 */ 48, 48, 48, 48, 48, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x1fd0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, +/* 0x1fe0 */ 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x1ff0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, +/* 0x2000 */ 10, 48, 48, 48, 48, 48, 48, 56, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x2010 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x2020 */ 68, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 65, 82, 77, +/* 0x2030 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x2040 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 57, 99, 32, 82, 95, 65, 82, +/* 0x2050 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x2060 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 97, 99, 32, 82, 95, 65, +/* 0x2070 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x2080 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, +/* 0x2090 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x20a0 */ 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 98, 99, 32, 82, +/* 0x20b0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x20c0 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 99, 56, 32, +/* 0x20d0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x20e0 */ 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48,100, 48, +/* 0x20f0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2100 */ 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48,100, +/* 0x2110 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2120 */ 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, +/* 0x2130 */ 101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2140 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, +/* 0x2150 */ 48,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2160 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, +/* 0x2170 */ 48, 49, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2180 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, +/* 0x2190 */ 48, 48, 49, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x21a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 10, 82, +/* 0x21b0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, +/* 0x21c0 */ 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, +/* 0x21d0 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x21e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x21f0 */ 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2200 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, +/* 0x2210 */ 10, 48, 48, 48, 48, 48, 48, 54, 48, 32, 82, 95, 65, 82, 77, 95, +/* 0x2220 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x2230 */ 66, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, 82, 95, 65, 82, 77, +/* 0x2240 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x2250 */ 50, 66, 10, 48, 48, 48, 48, 48, 48, 54, 99, 32, 82, 95, 65, 82, +/* 0x2260 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x2270 */ 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 55, 99, 32, 82, 95, 65, +/* 0x2280 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x2290 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, +/* 0x22a0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x22b0 */ 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 56, 52, 32, 82, +/* 0x22c0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x22d0 */ 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, +/* 0x22e0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x22f0 */ 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 97, 48, +/* 0x2300 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2310 */ 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 97, +/* 0x2320 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2330 */ 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, +/* 0x2340 */ 97, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2350 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, +/* 0x2360 */ 48, 98, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2370 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, +/* 0x2380 */ 48, 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2390 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, +/* 0x23a0 */ 48, 48, 48,100, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x23b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, +/* 0x23c0 */ 48, 48, 48, 48,100, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x23d0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 10, +/* 0x23e0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x23f0 */ 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, +/* 0x2400 */ 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, +/* 0x2410 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2420 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 56, 32, 82, +/* 0x2430 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2440 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, +/* 0x2450 */ 48, 48, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x2460 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, +/* 0x2470 */ 48, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, 77, +/* 0x2480 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x2490 */ 65, 95, 69, 76, 70, 48, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, +/* 0x24a0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, +/* 0x24b0 */ 91, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 93, 58, 10, 79, 70, +/* 0x24c0 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, +/* 0x24d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, +/* 0x24e0 */ 48, 48, 48, 48, 48, 55, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x24f0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2500 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, +/* 0x2510 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2520 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2530 */ 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2540 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2550 */ 10, 48, 48, 48, 48, 48, 48, 99, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x2560 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2570 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48,102, 52, 32, +/* 0x2580 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2590 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x25a0 */ 48, 48, 49, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x25b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x25c0 */ 50, 48, 10, 48, 48, 48, 48, 48, 49, 48, 56, 32, 82, 95, 65, 82, +/* 0x25d0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x25e0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 52, +/* 0x25f0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2600 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2610 */ 48, 48, 48, 48, 49, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2620 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2630 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 99, 99, 32, 82, 95, +/* 0x2640 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2650 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2660 */ 49,100, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2670 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2680 */ 10, 48, 48, 48, 48, 48, 50, 48, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x2690 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x26a0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 49, 56, 32, +/* 0x26b0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x26c0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x26d0 */ 48, 48, 50, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x26e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x26f0 */ 50, 48, 10, 48, 48, 48, 48, 48, 50, 51, 52, 32, 82, 95, 65, 82, +/* 0x2700 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2710 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 51, +/* 0x2720 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2730 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2740 */ 48, 48, 48, 48, 50, 52, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2750 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2760 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 52, 99, 32, 82, 95, +/* 0x2770 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2780 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2790 */ 50, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x27a0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x27b0 */ 10, 48, 48, 48, 48, 48, 50, 97, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x27c0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x27d0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 99, 56, 32, +/* 0x27e0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x27f0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2800 */ 48, 48, 50,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2810 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2820 */ 50, 48, 10, 48, 48, 48, 48, 48, 51, 48, 52, 32, 82, 95, 65, 82, +/* 0x2830 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2840 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 48, +/* 0x2850 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2860 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2870 */ 48, 48, 48, 48, 51, 51, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2880 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2890 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 56, 56, 32, 82, 95, +/* 0x28a0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x28b0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x28c0 */ 51, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x28d0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x28e0 */ 10, 48, 48, 48, 48, 48, 51, 97, 56, 32, 82, 95, 65, 82, 77, 95, +/* 0x28f0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2900 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 99, 99, 32, +/* 0x2910 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2920 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2930 */ 48, 48, 51,101, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2940 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2950 */ 50, 48, 10, 48, 48, 48, 48, 48, 51,101, 56, 32, 82, 95, 65, 82, +/* 0x2960 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2970 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 50, +/* 0x2980 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2990 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x29a0 */ 48, 48, 48, 48, 52, 51, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x29b0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x29c0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 54, 99, 32, 82, 95, +/* 0x29d0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x29e0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x29f0 */ 52, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2a00 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2a10 */ 10, 48, 48, 48, 48, 48, 52, 56, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x2a20 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2a30 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 98, 48, 32, +/* 0x2a40 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2a50 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2a60 */ 48, 48, 52,100, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2a70 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2a80 */ 50, 48, 10, 48, 48, 48, 48, 48, 52,101, 99, 32, 82, 95, 65, 82, +/* 0x2a90 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2aa0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52,102, +/* 0x2ab0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2ac0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2ad0 */ 48, 48, 48, 48, 53, 49, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2ae0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2af0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 51, 99, 32, 82, 95, +/* 0x2b00 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2b10 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2b20 */ 53, 57, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2b30 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2b40 */ 10, 48, 48, 48, 48, 48, 53, 97, 48, 32, 82, 95, 65, 82, 77, 95, +/* 0x2b50 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2b60 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 99, 48, 32, +/* 0x2b70 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2b80 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2b90 */ 48, 48, 53,101, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2ba0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2bb0 */ 50, 48, 10, 48, 48, 48, 48, 48, 53,102, 99, 32, 82, 95, 65, 82, +/* 0x2bc0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2bd0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 48, +/* 0x2be0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2bf0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2c00 */ 48, 48, 48, 48, 54, 50, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2c10 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2c20 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 52, 56, 32, 82, 95, +/* 0x2c30 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2c40 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2c50 */ 54, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2c60 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2c70 */ 10, 48, 48, 48, 48, 48, 54, 56, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x2c80 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2c90 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54,100, 48, 32, +/* 0x2ca0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2cb0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2cc0 */ 48, 48, 54,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2cd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2ce0 */ 50, 48, 10, 48, 48, 48, 48, 48, 55, 49, 99, 32, 82, 95, 65, 82, +/* 0x2cf0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2d00 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 50, +/* 0x2d10 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2d20 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2d30 */ 48, 48, 48, 48, 55, 54, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2d40 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2d50 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 55, 99, 32, 82, 95, +/* 0x2d60 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2d70 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2d80 */ 55, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2d90 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2da0 */ 10, 48, 48, 48, 48, 48, 55, 98, 56, 32, 82, 95, 65, 82, 77, 95, +/* 0x2db0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2dc0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 99, 52, 32, +/* 0x2dd0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2de0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2df0 */ 48, 48, 55,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2e00 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2e10 */ 50, 48, 10, 48, 48, 48, 48, 48, 55,102, 52, 32, 82, 95, 65, 82, +/* 0x2e20 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2e30 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 50, +/* 0x2e40 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2e50 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2e60 */ 48, 48, 48, 48, 56, 50, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2e70 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2e80 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 55, 99, 32, 82, 95, +/* 0x2e90 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2ea0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2eb0 */ 56, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2ec0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2ed0 */ 10, 48, 48, 48, 48, 48, 56, 97, 48, 32, 82, 95, 65, 82, 77, 95, +/* 0x2ee0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2ef0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56,101, 56, 32, +/* 0x2f00 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2f10 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2f20 */ 48, 48, 56,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2f30 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2f40 */ 50, 48, 10, 48, 48, 48, 48, 48, 56,102, 99, 32, 82, 95, 65, 82, +/* 0x2f50 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2f60 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 57, 48, +/* 0x2f70 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2f80 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2f90 */ 48, 48, 48, 48, 57, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2fa0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2fb0 */ 69, 67, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x2fc0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, +/* 0x2fd0 */ 77, 65, 95, 68, 69, 67, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, +/* 0x2fe0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2ff0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, +/* 0x3000 */ 48, 48, 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3010 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3020 */ 48, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 65, 82, 77, +/* 0x3030 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3040 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 56, 56, +/* 0x3050 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x3060 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x3070 */ 48, 48, 48, 48, 97, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x3080 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x3090 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 97, 99, 32, 82, 95, 65, +/* 0x30a0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x30b0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, +/* 0x30c0 */ 101, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x30d0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x30e0 */ 48, 48, 48, 48, 48, 49, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x30f0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x3100 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 48, 99, 32, 82, +/* 0x3110 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x3120 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x3130 */ 48, 49, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3140 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3150 */ 48, 10, 48, 48, 48, 48, 48, 49, 49, 56, 32, 82, 95, 65, 82, 77, +/* 0x3160 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3170 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 50, 48, +/* 0x3180 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x3190 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x31a0 */ 48, 48, 48, 49, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x31b0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x31c0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 52, 52, 32, 82, 95, 65, +/* 0x31d0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x31e0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, +/* 0x31f0 */ 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x3200 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x3210 */ 48, 48, 48, 48, 48, 49, 53, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x3220 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x3230 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 56, 48, 32, 82, +/* 0x3240 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x3250 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x3260 */ 48, 49, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3270 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3280 */ 48, 10, 48, 48, 48, 48, 48, 49, 56, 99, 32, 82, 95, 65, 82, 77, +/* 0x3290 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x32a0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 57, 99, +/* 0x32b0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x32c0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x32d0 */ 48, 48, 48, 49, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x32e0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x32f0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 99, 48, 32, 82, 95, 65, +/* 0x3300 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x3310 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, +/* 0x3320 */ 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x3330 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x3340 */ 48, 48, 48, 48, 48, 49,100, 52, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x3350 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x3360 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49,100, 99, 32, 82, +/* 0x3370 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x3380 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x3390 */ 48, 49,101, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x33a0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x33b0 */ 48, 10, 48, 48, 48, 48, 48, 49,101, 99, 32, 82, 95, 65, 82, 77, +/* 0x33c0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x33d0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 50, 56, +/* 0x33e0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x33f0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x3400 */ 48, 48, 48, 50, 50, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x3410 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x3420 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 52, 52, 32, 82, 95, 65, +/* 0x3430 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x3440 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, +/* 0x3450 */ 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x3460 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x3470 */ 48, 48, 48, 48, 48, 50, 53, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x3480 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x3490 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 54, 56, 32, 82, +/* 0x34a0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x34b0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x34c0 */ 48, 50, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x34d0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x34e0 */ 48, 10, 48, 48, 48, 48, 48, 50, 56, 99, 32, 82, 95, 65, 82, 77, +/* 0x34f0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3500 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 97, 52, +/* 0x3510 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x3520 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x3530 */ 48, 48, 48, 50, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x3540 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x3550 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 50,100, 48, 32, 82, 95, 65, +/* 0x3560 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x3570 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, +/* 0x3580 */ 100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x3590 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x35a0 */ 48, 48, 48, 48, 48, 50,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x35b0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x35c0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 48, 99, 32, 82, +/* 0x35d0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x35e0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x35f0 */ 48, 51, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3600 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3610 */ 48, 10, 48, 48, 48, 48, 48, 51, 50, 99, 32, 82, 95, 65, 82, 77, +/* 0x3620 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3630 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 53, 48, +/* 0x3640 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x3650 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x3660 */ 48, 48, 48, 51, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x3670 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x3680 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 55, 48, 32, 82, 95, 65, +/* 0x3690 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x36a0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, +/* 0x36b0 */ 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x36c0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x36d0 */ 48, 48, 48, 48, 48, 51, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x36e0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x36f0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 98, 48, 32, 82, +/* 0x3700 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x3710 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x3720 */ 48, 51, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3730 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3740 */ 48, 10, 48, 48, 48, 48, 48, 51, 99, 56, 32, 82, 95, 65, 82, 77, +/* 0x3750 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3760 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 99, 99, +/* 0x3770 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x3780 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x3790 */ 48, 48, 48, 52, 48, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x37a0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x37b0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 52, 49, 56, 32, 82, 95, 65, +/* 0x37c0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x37d0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 52, +/* 0x37e0 */ 52, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x37f0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x3800 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, +/* 0x3810 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, +/* 0x3820 */ 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, +/* 0x3830 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, +/* 0x3840 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 50, 48, 32, 82, 95, +/* 0x3850 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x3860 */ 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, 50, +/* 0x3870 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x3880 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, +/* 0x3890 */ 48, 48, 49, 51, 48, 32, 82, 95, 65, 82, 77, 95, 65, 66, 83, 51, +/* 0x38a0 */ 50, 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 }; diff -Nru upx-ucl-3.95/src/stub/arm.v4a-linux.elf-fold.h upx-ucl-3.96/src/stub/arm.v4a-linux.elf-fold.h --- upx-ucl-3.95/src/stub/arm.v4a-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v4a-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* arm.v4a-linux.elf-fold.h - created from arm.v4a-linux.elf-fold.bin, 2624 (0xa40) bytes + created from arm.v4a-linux.elf-fold.bin, 2756 (0xac4) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,173 +31,182 @@ */ -#define STUB_ARM_V4A_LINUX_ELF_FOLD_SIZE 2624 -#define STUB_ARM_V4A_LINUX_ELF_FOLD_ADLER32 0x6cab3afd -#define STUB_ARM_V4A_LINUX_ELF_FOLD_CRC32 0x6d067dc7 +#define STUB_ARM_V4A_LINUX_ELF_FOLD_SIZE 2756 +#define STUB_ARM_V4A_LINUX_ELF_FOLD_ADLER32 0x8c6d7847 +#define STUB_ARM_V4A_LINUX_ELF_FOLD_CRC32 0x5883eed1 -unsigned char stub_arm_v4a_linux_elf_fold[2624] = { +unsigned char stub_arm_v4a_linux_elf_fold[2756] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 40, 0, 1, 0, 0, 0,128,128, 0, 0, 52, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 2, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, -/* 0x0040 */ 0,128, 0, 0, 64, 10, 0, 0, 64, 10, 0, 0, 5, 0, 0, 0, -/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0, 64, 10, 0, 0, 0, 0, 0, 0, +/* 0x0040 */ 0,128, 0, 0,196, 10, 0, 0,196, 10, 0, 0, 5, 0, 0, 0, +/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0,196, 10, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0080 */ 0, 48,131,227, 14,240,160,225,192, 31,189,232, 13, 16,160,225, -/* 0x0090 */ 1,218, 77,226, 13, 0,160,225,240, 31, 45,233, 4, 48,145,228, -/* 0x00a0 */ 0, 0, 83,227, 4, 48,128,228,251,255,255, 26, 0, 64,160,225, -/* 0x00b0 */ 4, 48,128,228, 4, 48,145,228, 0, 0, 83,227, 4, 48,128,228, -/* 0x00c0 */ 251,255,255, 26, 1, 80,160,225, 12, 0,177,232, 0, 0, 82,227, -/* 0x00d0 */ 12, 0,160,232,251,255,255, 26, 1, 96,160,225, 0,144,160,225, -/* 0x00e0 */ 1, 42,160,227, 0, 16,160,225, 70, 15,143,226, 1, 32, 66,226, -/* 0x00f0 */ 108, 0, 0,235, 0, 32,129,224, 1, 10,112,227, 1, 0, 0, 58, -/* 0x0100 */ 1, 28,143,226, 14, 32,129,226, 6, 0,160,225, 0, 48,160,227, -/* 0x0110 */ 1, 48, 96,229, 1, 48,114,229, 1, 48, 96,229, 2, 0, 81,225, -/* 0x0120 */ 251,255,255, 26, 61, 48,160,227, 1, 48, 96,229, 32, 48,160,227, -/* 0x0130 */ 1, 48, 96,229, 1, 48, 96,229, 1, 48, 96,229, 0, 0,132,229, -/* 0x0140 */ 32, 1,160,225, 0, 1,160,225, 0, 48, 38,224, 4, 48, 3,226, -/* 0x0150 */ 4, 48, 35,226, 3, 0, 64,224, 6, 48, 64,224, 5, 48,131,224, -/* 0x0160 */ 9, 16,160,225, 24, 80,157,229, 24, 0,141,229, 4, 32, 49,229, -/* 0x0170 */ 13, 0, 81,225, 4, 32, 32,229,251,255,255, 26, 0,208,160,225, -/* 0x0180 */ 16, 12,189,232, 10,220, 77,226, 4,144,154,229, 13,128,160,225, -/* 0x0190 */ 0,112,154,229,124, 96,143,226, 12,144,137,226,248, 15, 45,233, -/* 0x01a0 */ 15, 0,189,232,216, 1, 0,235, 20,208,141,226, 10,220,141,226, -/* 0x01b0 */ 16, 0,141,229, 0, 80,160,227, 0, 64,189,229, 2, 48,160,227, -/* 0x01c0 */ 1, 32,160,227, 1, 26,160,227, 0, 0,160,227, 62, 0, 0,235, -/* 0x01d0 */ 4, 0,157,228, 43, 0, 0,235, 7, 64,189,232, 0, 48,160,227, -/* 0x01e0 */ 0, 64,160,227, 0, 80,160,227, 0, 96,160,227, 0,128,160,227, -/* 0x01f0 */ 0,144,160,227, 0,160,160,227, 0,176,160,227, 0,112,160,227, -/* 0x0200 */ 0,192,160,227, 4,240, 18,229, 47,112,114,111, 99, 47,115,101, -/* 0x0210 */ 108,102, 47,101,120,101, 0, 0,255, 48, 3,226, 80, 0, 83,227, -/* 0x0220 */ 14,240,160, 17, 33, 17,176,225, 0, 0, 80, 19, 14,240,160, 1, -/* 0x0230 */ 1, 16, 65,226, 1, 33,144,231, 15, 52, 2,226, 11, 4, 83,227, -/* 0x0240 */ 4, 0, 0, 26,255, 52, 2,226, 1, 32, 66,224,255, 36,194,227, -/* 0x0250 */ 3, 32,130,225, 1, 33,128,231, 0, 0, 81,227,243,255,255, 26, -/* 0x0260 */ 14,240,160,225,240, 1,240,231, 14,240,160,225, 1, 0,144,239, -/* 0x0270 */ 3, 0,144,239, 14,240,160,225, 4, 0,144,239, 14,240,160,225, -/* 0x0280 */ 5, 0,144,239, 14,240,160,225, 6, 0,144,239, 14,240,160,225, -/* 0x0290 */ 10, 0,144,239, 14,240,160,225, 20, 0,144,239, 14,240,160,225, -/* 0x02a0 */ 45, 0,144,239, 14,240,160,225, 85, 0,144,239, 14,240,160,225, -/* 0x02b0 */ 91, 0,144,239, 14,240,160,225,125, 0,144,239, 14,240,160,225, -/* 0x02c0 */ 0, 32,160,227, 2, 0,159,239, 14,240,160,225, 48, 64, 45,233, -/* 0x02d0 */ 16, 80,157,229, 12, 64,157,229, 37, 86,160,225,192, 0,144,239, -/* 0x02e0 */ 48,128,189,232, 60, 0, 31,229, 14,240,160,225, 48, 64, 45,233, -/* 0x02f0 */ 0, 80,160,227, 0, 64,224,227, 36,224, 79,226, 95,255,255,234, -/* 0x0300 */ 0,192,160,225, 1, 16, 65,224, 0, 32,160,225,128, 1,144,224, -/* 0x0310 */ 129, 17,161,224,162, 30,129,224, 0, 32,160,225, 0, 2,144,224, -/* 0x0320 */ 1, 18,161,224, 34, 30,129,224, 0, 32,160,225, 0, 4,144,224, -/* 0x0330 */ 1, 20,161,224, 34, 28,129,224, 0, 32,160,225, 0, 8,144,224, -/* 0x0340 */ 1, 24,161,224, 34, 24,129,224,140, 15, 80,224,172, 16,193,224, -/* 0x0350 */ 12, 0,144,224, 0, 0,161,226, 14,240,160,225, 0, 0, 80,227, -/* 0x0360 */ 14,240,160, 1, 0, 48,144,229, 1, 0, 83,225, 8, 0,128, 18, -/* 0x0370 */ 251,255,255, 26, 4, 32,128,229, 14,240,160,225, 0, 0,159,229, -/* 0x0380 */ 14,240,160,225, 0,240,255,255, 0, 48,144,229, 2, 0, 83,225, -/* 0x0390 */ 4, 48,144,229, 4,224, 45,229, 3,192,160, 33, 2,224,160,225, -/* 0x03a0 */ 2, 32,160, 33, 3, 0, 0, 42,127, 0,160,227,174,255,255,235, -/* 0x03b0 */ 1, 48, 92,229, 1, 48, 65,229, 1, 32, 66,226, 1, 0,114,227, -/* 0x03c0 */ 1,192,140,226, 1, 16,129,226,248,255,255, 26, 4, 32,144,229, -/* 0x03d0 */ 0, 48,144,229, 14, 32,130,224, 3, 48,110,224, 0, 48,128,229, -/* 0x03e0 */ 4, 32,128,229, 4,240,157,228,240, 64, 45,233, 0, 80,160,225, -/* 0x03f0 */ 20,208, 77,226, 1, 64,160,225, 2,112,160,225, 3, 96,160,225, -/* 0x0400 */ 68, 0, 0,234, 4, 16,141,226, 5, 0,160,225, 12, 32,160,227, -/* 0x0410 */ 220,255,255,235, 4,224,157,229, 0, 0, 94,227, 8, 16,157,229, -/* 0x0420 */ 6, 0, 0, 26, 0, 49,159,229, 3, 0, 81,225, 5, 0, 0, 26, -/* 0x0430 */ 0, 48,149,229, 0, 0, 83,227, 2, 0, 0, 26, 56, 0, 0,234, -/* 0x0440 */ 0, 0, 81,227, 1, 0, 0, 26,127, 0,160,227,134,255,255,235, -/* 0x0450 */ 14, 0, 81,225,251,255,255,138, 0, 48,148,229, 3, 0, 94,225, -/* 0x0460 */ 248,255,255,138, 14, 0, 81,225, 33, 0, 0, 42, 12,192,221,229, -/* 0x0470 */ 4, 0,149,229, 4, 32,148,229, 16, 48,141,226, 16,224,141,229, -/* 0x0480 */ 0,192,141,229, 15,224,160,225, 7,240,160,225, 0, 0, 80,227, -/* 0x0490 */ 236,255,255, 26, 16, 16,157,229, 4, 48,157,229, 3, 0, 81,225, -/* 0x04a0 */ 232,255,255, 26, 13, 32,221,229, 0, 0, 82,227, 0, 0, 86, 19, -/* 0x04b0 */ 9, 0, 0, 10, 2, 12, 81,227, 2, 0, 0,138, 0, 48,148,229, -/* 0x04c0 */ 1, 0, 83,225, 4, 0, 0, 26, 2, 48,160,225, 4, 0,148,229, -/* 0x04d0 */ 14, 32,221,229, 15,224,160,225, 6,240,160,225, 8, 48,157,229, -/* 0x04e0 */ 6, 0,149,232, 3, 32,130,224, 1, 16, 99,224, 6, 0,133,232, -/* 0x04f0 */ 3, 0, 0,234, 1, 32,160,225, 5, 0,160,225, 4, 16,148,229, -/* 0x0500 */ 160,255,255,235, 4, 48,157,229, 6, 0,148,232, 3, 32,130,224, -/* 0x0510 */ 1, 16, 99,224, 6, 0,132,232, 0, 48,148,229, 0, 0, 83,227, -/* 0x0520 */ 183,255,255, 26, 20,208,141,226,240,128,189,232, 85, 80, 88, 33, -/* 0x0530 */ 240, 79, 45,233, 1,160,160,225,176,193,218,225, 28, 16,145,229, -/* 0x0540 */ 188,226,218,225, 52,208, 77,226, 2, 0, 92,227, 1, 80,138,224, -/* 0x0550 */ 16, 0,141,229, 16,192,160, 3, 0,192,160, 19, 1,224, 78,226, -/* 0x0560 */ 5, 16,160,225, 0, 64,224,227, 0, 0,160,227, 12, 32,141,229, -/* 0x0570 */ 8, 48,141,229, 13, 0, 0,234, 0, 48,145,229, 1, 0, 83,227, -/* 0x0580 */ 8, 0, 0, 26, 20, 48,145,229, 0, 0, 83,227, 5, 0, 0, 10, -/* 0x0590 */ 8, 32,145,229, 2, 48,131,224, 3, 0, 80,225, 3, 0,160, 49, -/* 0x05a0 */ 2, 0, 84,225, 2, 64,160, 33, 32, 16,129,226, 1,224, 78,226, -/* 0x05b0 */ 0, 0, 94,227,239,255,255,170,255, 78,196,227, 15, 64,196,227, -/* 0x05c0 */ 0, 48,100,224,255, 62,131,226, 15, 48,131,226,255, 62,195,227, -/* 0x05d0 */ 15, 48,195,227, 36, 48,141,229, 4, 0,160,225, 12, 48,160,225, -/* 0x05e0 */ 36, 16,157,229, 0, 32,160,227, 63,255,255,235, 52, 48,160,227, -/* 0x05f0 */ 0,144,100,224,153, 3, 3,224, 28, 0,141,229, 32, 80,133,226, -/* 0x0600 */ 0, 0,160,227, 32, 48,141,229, 24, 0,141,229,161, 0, 0,234, -/* 0x0610 */ 12, 16,157,229, 0, 0, 81,227, 8, 0, 0, 10, 32, 48, 21,229, -/* 0x0620 */ 6, 0, 83,227, 5, 0, 0, 26, 24, 32, 21,229, 8, 0,157,229, -/* 0x0630 */ 2, 32,137,224, 3, 16,160,227, 71,255,255,235,145, 0, 0,234, -/* 0x0640 */ 32, 48, 21,229, 1, 0, 83,227,142, 0, 0, 26, 12, 48, 21,229, -/* 0x0650 */ 0, 0, 83,227,139, 0, 0, 10, 12, 32,157,229, 0, 0, 82,227, -/* 0x0660 */ 17, 0, 0, 10, 28, 48, 21,229, 0, 0, 83,227, 14, 0, 0, 26, -/* 0x0670 */ 28, 48,154,229, 24, 32, 21,229, 3, 32,130,224, 2, 32,137,224, -/* 0x0680 */ 3, 16,160,227, 8, 0,157,229, 51,255,255,235, 8, 0,157,229, -/* 0x0690 */ 5, 16,160,227,188, 34,218,225, 47,255,255,235, 8, 0,157,229, -/* 0x06a0 */ 4, 16,160,227,186, 34,218,225, 43,255,255,235, 8, 48, 21,229, -/* 0x06b0 */ 76, 34,159,229, 7, 48, 3,226, 3, 49,160,225, 50, 67,160,225, -/* 0x06c0 */ 24, 48, 21,229, 3, 48,137,224, 20, 48,141,229, 20,192,157,229, -/* 0x06d0 */ 12, 0,157,229, 16, 48, 21,229, 12, 42,160,225, 12, 16, 21,229, -/* 0x06e0 */ 34, 42,160,225, 0, 0, 80,227, 44, 48,141,229, 48,192,141,229, -/* 0x06f0 */ 2,128,131,224, 7,176, 4,226, 40, 16,141,229, 12, 96, 98,224, -/* 0x0700 */ 14, 0, 0, 10, 6, 0,160,225, 8, 16,160,225, 3, 32,160,227, -/* 0x0710 */ 16, 48,160,227,244,254,255,235, 0, 0, 86,225, 72, 0, 0, 26, -/* 0x0720 */ 92, 32,157,229, 4, 48, 20,226, 2, 48,160, 17, 12, 0,157,229, -/* 0x0730 */ 44, 16,141,226, 16, 32,157,229, 42,255,255,235, 11, 0, 0,234, -/* 0x0740 */ 28,192, 21,229, 12,192, 98,224, 4,192,141,229, 16,192,157,229, -/* 0x0750 */ 6, 0,160,225, 8, 16,160,225, 11, 32,160,225, 18, 48,160,227, -/* 0x0760 */ 0,192,141,229,216,254,255,235, 0, 0, 86,225, 52, 0, 0, 26, -/* 0x0770 */ 0, 48,104,226, 3,122,160,225, 2, 0, 27,227, 39,122,160,225, -/* 0x0780 */ 7, 0, 0, 10, 0, 0, 87,227, 5, 0, 0, 10, 8, 16,134,224, -/* 0x0790 */ 7, 32,160,225, 0, 48,160,227, 1, 32, 82,226, 1, 48,193,228, -/* 0x07a0 */ 251,255,255, 26, 12, 0,157,229, 0, 0, 80,227, 38, 0, 0, 10, -/* 0x07b0 */ 203,254,255,235, 32, 48, 21,229, 1, 0, 83,227, 26, 0, 0, 26, -/* 0x07c0 */ 8, 48, 21,229, 1, 0, 19,227, 23, 0, 0, 10, 12, 32, 21,229, -/* 0x07d0 */ 16, 48, 21,229, 3, 0, 82,225, 24, 16, 21,229, 65, 0, 0, 26, -/* 0x07e0 */ 1, 48,130,224, 3, 48,131,226, 3, 48,137,224, 3, 64,195,227, -/* 0x07f0 */ 0, 48,100,226, 3, 58,160,225, 35, 58,160,225, 7, 0, 83,227, -/* 0x0800 */ 56, 0, 0,154,252, 48,159,229, 0, 0,132,229, 8, 16,132,226, -/* 0x0810 */ 4, 0,160,225, 4, 48,132,229,168,254,255,235, 8, 0,157,229, -/* 0x0820 */ 4, 32,160,225, 0, 16,160,227,203,254,255,235, 6, 0,160,225, -/* 0x0830 */ 8, 16,160,225, 11, 32,160,225,158,254,255,235, 0, 0, 80,227, -/* 0x0840 */ 1, 0, 0, 10,127, 0,160,227,135,254,255,235, 20, 32,157,229, -/* 0x0850 */ 40,192,157,229, 7, 48,136,224, 12, 16,130,224, 3, 64,134,224, -/* 0x0860 */ 1, 0, 84,225, 7, 0, 0, 42, 1, 16,100,224, 11, 32,160,225, -/* 0x0870 */ 4, 0,160,225, 16, 48,160,227,155,254,255,235, 0, 0, 84,225, -/* 0x0880 */ 0, 0, 0, 10,254,255,255,234, 24, 0,157,229, 1, 0,128,226, -/* 0x0890 */ 24, 0,141,229, 32, 80,133,226,188, 50,218,225, 24, 16,157,229, -/* 0x08a0 */ 3, 0, 81,225, 89,255,255,186, 12, 32,157,229, 0, 0, 82,227, -/* 0x08b0 */ 5, 0, 0, 10,176, 49,218,225, 3, 0, 83,227, 36, 48,157, 21, -/* 0x08c0 */ 28,192,157, 21, 12, 0,131, 16,116,254,255, 27, 88, 0,157,229, -/* 0x08d0 */ 0, 0, 80,227, 0,144,128, 21, 24, 0,154,229, 0, 0,137,224, -/* 0x08e0 */ 52,208,141,226,240,143,189,232, 28, 48, 21,229, 0, 0, 83,227, -/* 0x08f0 */ 32, 32,157, 5, 2, 48,129, 0, 8, 64,131, 2,192,255,255, 10, -/* 0x0900 */ 201,255,255,234, 64, 98, 81,115, 14,240,160,225,240, 71, 45,233, -/* 0x0910 */ 12,208, 77,226, 52, 96,141,226, 0,144,160,225, 1,112,160,225, -/* 0x0920 */ 3,128,160,225, 6, 0,160,225, 44, 16,141,226, 0, 48,160,227, -/* 0x0930 */ 48,160,157,229, 2, 80,160,225, 52, 64,157,229,169,254,255,235, -/* 0x0940 */ 60, 48,157,229, 12,224,141,226, 56,192,157,229, 4, 48, 46,229, -/* 0x0950 */ 12,192,100,224, 6, 32,160,225, 10, 16,160,225, 9, 48,160,225, -/* 0x0960 */ 5, 0,160,225, 56,192,141,229, 0,224,141,229, 52,112,141,229, -/* 0x0970 */ 4,128,141,229,237,254,255,235, 0, 64,160,225, 9, 16,160,227, -/* 0x0980 */ 9, 0,160,225, 4, 32,160,225,115,254,255,235,188, 2,218,225, -/* 0x0990 */ 52, 32,138,226, 0, 16,160,227, 35, 0, 0,234, 0, 48,146,229, -/* 0x09a0 */ 3, 0, 83,227, 30, 0, 0, 26, 8, 48,146,229, 8, 0,157,229, -/* 0x09b0 */ 0, 16,160,227, 0, 0,131,224, 1, 32,160,225, 47,254,255,235, -/* 0x09c0 */ 0, 80, 80,226, 4, 0, 0,186, 10, 16,160,225, 2, 44,160,227, -/* 0x09d0 */ 38,254,255,235, 2, 12, 80,227, 1, 0, 0, 10,127, 0,160,227, -/* 0x09e0 */ 33,254,255,235, 0,224,160,227, 14, 32,160,225, 8,192,141,226, -/* 0x09f0 */ 10, 16,160,225, 9, 48,160,225, 5, 0,160,225, 0, 80,141,232, -/* 0x0a00 */ 202,254,255,235, 7, 16,160,227, 0, 64,160,225, 8, 32,157,229, -/* 0x0a10 */ 9, 0,160,225, 80,254,255,235, 5, 0,160,225, 25,254,255,235, -/* 0x0a20 */ 3, 0, 0,234, 32, 32,130,226, 1, 16,129,226, 0, 0, 81,225, -/* 0x0a30 */ 217,255,255,186, 4, 0,160,225, 12,208,141,226,240,135,189,232 +/* 0x0080 */ 34, 0, 0, 0,192, 31,189,232, 13, 16,160,225, 1,218, 77,226, +/* 0x0090 */ 13, 0,160,225,240, 31, 45,233, 4, 48,145,228, 0, 0, 83,227, +/* 0x00a0 */ 4, 48,128,228,251,255,255, 26, 0, 64,160,225, 4, 48,128,228, +/* 0x00b0 */ 4, 48,145,228, 0, 0, 83,227, 4, 48,128,228,251,255,255, 26, +/* 0x00c0 */ 1, 80,160,225, 12, 0,177,232, 0, 0, 82,227, 12, 0,160,232, +/* 0x00d0 */ 251,255,255, 26, 1, 96,160,225, 0,144,160,225, 1, 42,160,227, +/* 0x00e0 */ 0, 16,160,225, 14, 0,160,225, 1, 32, 66,226,115, 0, 0,235, +/* 0x00f0 */ 1, 10,112,227, 14, 16,160, 33, 14, 0,160, 35, 0, 32,129,224, +/* 0x0100 */ 6, 0,160,225, 0, 48,160,227, 1, 48, 96,229, 1, 48,114,229, +/* 0x0110 */ 1, 48, 96,229, 2, 0, 81,225,251,255,255, 26, 61, 48,160,227, +/* 0x0120 */ 1, 48, 96,229, 32, 48,160,227, 1, 48, 96,229, 1, 48, 96,229, +/* 0x0130 */ 1, 48, 96,229, 0, 0,132,229, 32, 1,160,225, 0, 1,160,225, +/* 0x0140 */ 0, 48, 38,224, 4, 48, 3,226, 4, 48, 35,226, 3, 0, 64,224, +/* 0x0150 */ 6, 48, 64,224, 5, 48,131,224, 9, 16,160,225, 24, 80,157,229, +/* 0x0160 */ 24, 0,141,229, 4, 32, 49,229, 13, 0, 81,225, 4, 32, 32,229, +/* 0x0170 */ 251,255,255, 26, 0,208,160,225, 16, 12,189,232, 10,220, 77,226, +/* 0x0180 */ 4,144,154,229, 13,128,160,225, 0,112,154,229,156, 96,143,226, +/* 0x0190 */ 12,144,137,226,248, 15, 45,233, 15, 0,189,232,251, 1, 0,235, +/* 0x01a0 */ 20,208,141,226, 10,220,141,226, 16, 0,141,229, 4, 64,157,228, +/* 0x01b0 */ 0, 80,160,227, 48, 0, 45,233, 2, 48,160,227, 1, 32,160,227, +/* 0x01c0 */ 1, 26,160,227, 0, 0,160,227, 69, 0, 0,235, 3, 0,189,232, +/* 0x01d0 */ 50, 0, 0,235, 7, 64,189,232, 0, 48,160,227, 0, 64,160,227, +/* 0x01e0 */ 0, 80,160,227, 0, 96,160,227, 0,128,160,227, 0,144,160,227, +/* 0x01f0 */ 0,160,160,227, 0,176,160,227, 1,199, 77,226, 32,112, 29,228, +/* 0x0200 */ 0,112,141,229, 0,112,157,229, 13, 0, 92,225,250,255,255, 58, +/* 0x0210 */ 1,215,141,226, 0,112,160,227, 0,192,160,227, 4,240, 18,229, +/* 0x0220 */ 47,112,114,111, 99, 47,115,101,108,102, 47,101,120,101, 0, 0, +/* 0x0230 */ 255, 48, 3,226, 80, 0, 83,227, 14,240,160, 17, 33, 17,176,225, +/* 0x0240 */ 0, 0, 80, 19, 14,240,160, 1, 1, 16, 65,226, 1, 33,144,231, +/* 0x0250 */ 15, 52, 2,226, 11, 4, 83,227, 4, 0, 0, 26,255, 52, 2,226, +/* 0x0260 */ 1, 32, 66,224,255, 36,194,227, 3, 32,130,225, 1, 33,128,231, +/* 0x0270 */ 0, 0, 81,227,243,255,255, 26, 14,240,160,225,240, 1,240,231, +/* 0x0280 */ 14,240,160,225, 1, 0,144,239, 3, 0,144,239, 14,240,160,225, +/* 0x0290 */ 4, 0,144,239, 14,240,160,225, 5, 0,144,239, 14,240,160,225, +/* 0x02a0 */ 6, 0,144,239, 14,240,160,225, 10, 0,144,239, 14,240,160,225, +/* 0x02b0 */ 20, 0,144,239, 14,240,160,225, 45, 0,144,239, 14,240,160,225, +/* 0x02c0 */ 85, 0,144,239, 14,240,160,225, 91, 0,144,239, 14,240,160,225, +/* 0x02d0 */ 125, 0,144,239, 14,240,160,225, 0, 32,160,227, 2, 0,159,239, +/* 0x02e0 */ 14,240,160,225, 48, 64, 45,233, 16, 80,157,229, 12, 64,157,229, +/* 0x02f0 */ 37, 86,160,225,192, 0,144,239, 48,128,189,232, 60, 0, 31,229, +/* 0x0300 */ 14,240,160,225, 48, 64, 45,233,144, 66, 31,229, 0, 80,160,227, +/* 0x0310 */ 4, 48,131,225, 0, 64,224,227,245,255,255,234, 0,192,160,225, +/* 0x0320 */ 1, 16, 65,224, 0, 32,160,225,128, 1,144,224,129, 17,161,224, +/* 0x0330 */ 162, 30,129,224, 0, 32,160,225, 0, 2,144,224, 1, 18,161,224, +/* 0x0340 */ 34, 30,129,224, 0, 32,160,225, 0, 4,144,224, 1, 20,161,224, +/* 0x0350 */ 34, 28,129,224, 0, 32,160,225, 0, 8,144,224, 1, 24,161,224, +/* 0x0360 */ 34, 24,129,224,140, 15, 80,224,172, 16,193,224, 12, 0,144,224, +/* 0x0370 */ 0, 0,161,226, 14,240,160,225, 0, 0, 80,227, 14,240,160, 1, +/* 0x0380 */ 0, 48,144,229, 1, 0, 83,225, 8, 0,128, 18,251,255,255, 26, +/* 0x0390 */ 4, 32,128,229, 14,240,160,225, 0, 0,159,229, 14,240,160,225, +/* 0x03a0 */ 0,240,255,255, 0, 48,144,229, 2, 0, 83,225, 4, 48,144,229, +/* 0x03b0 */ 4,224, 45,229, 3,192,160, 33, 2,224,160,225, 2, 32,160, 33, +/* 0x03c0 */ 3, 0, 0, 42,127, 0,160,227,173,255,255,235, 1, 48, 92,229, +/* 0x03d0 */ 1, 48, 65,229, 1, 32, 66,226, 1, 0,114,227, 1,192,140,226, +/* 0x03e0 */ 1, 16,129,226,248,255,255, 26, 4, 32,144,229, 0, 48,144,229, +/* 0x03f0 */ 14, 32,130,224, 3, 48,110,224, 0, 48,128,229, 4, 32,128,229, +/* 0x0400 */ 4,240,157,228,240, 64, 45,233, 0, 80,160,225, 20,208, 77,226, +/* 0x0410 */ 1, 64,160,225, 2,112,160,225, 3, 96,160,225, 68, 0, 0,234, +/* 0x0420 */ 4, 16,141,226, 5, 0,160,225, 12, 32,160,227,220,255,255,235, +/* 0x0430 */ 4,224,157,229, 0, 0, 94,227, 8, 16,157,229, 6, 0, 0, 26, +/* 0x0440 */ 0, 49,159,229, 3, 0, 81,225, 5, 0, 0, 26, 0, 48,149,229, +/* 0x0450 */ 0, 0, 83,227, 2, 0, 0, 26, 56, 0, 0,234, 0, 0, 81,227, +/* 0x0460 */ 1, 0, 0, 26,127, 0,160,227,133,255,255,235, 14, 0, 81,225, +/* 0x0470 */ 251,255,255,138, 0, 48,148,229, 3, 0, 94,225,248,255,255,138, +/* 0x0480 */ 14, 0, 81,225, 33, 0, 0, 42, 12,192,221,229, 4, 0,149,229, +/* 0x0490 */ 4, 32,148,229, 16, 48,141,226, 16,224,141,229, 0,192,141,229, +/* 0x04a0 */ 15,224,160,225, 7,240,160,225, 0, 0, 80,227,236,255,255, 26, +/* 0x04b0 */ 16, 16,157,229, 4, 48,157,229, 3, 0, 81,225,232,255,255, 26, +/* 0x04c0 */ 13, 32,221,229, 0, 0, 82,227, 0, 0, 86, 19, 9, 0, 0, 10, +/* 0x04d0 */ 2, 12, 81,227, 2, 0, 0,138, 0, 48,148,229, 1, 0, 83,225, +/* 0x04e0 */ 4, 0, 0, 26, 2, 48,160,225, 4, 0,148,229, 14, 32,221,229, +/* 0x04f0 */ 15,224,160,225, 6,240,160,225, 8, 48,157,229, 6, 0,149,232, +/* 0x0500 */ 3, 32,130,224, 1, 16, 99,224, 6, 0,133,232, 3, 0, 0,234, +/* 0x0510 */ 1, 32,160,225, 5, 0,160,225, 4, 16,148,229,160,255,255,235, +/* 0x0520 */ 4, 48,157,229, 6, 0,148,232, 3, 32,130,224, 1, 16, 99,224, +/* 0x0530 */ 6, 0,132,232, 0, 48,148,229, 0, 0, 83,227,183,255,255, 26, +/* 0x0540 */ 20,208,141,226,240,128,189,232, 85, 80, 88, 33,240, 79, 45,233, +/* 0x0550 */ 1,128,160,225,176,193,216,225, 28, 16,145,229,188,226,216,225, +/* 0x0560 */ 56,208, 77,226, 2, 0, 92,227, 1, 80,136,224, 16, 0,141,229, +/* 0x0570 */ 16,192,160, 3, 0,192,160, 19, 1,224, 78,226, 5, 16,160,225, +/* 0x0580 */ 0, 64,224,227, 0, 0,160,227, 12, 32,141,229, 8, 48,141,229, +/* 0x0590 */ 13, 0, 0,234, 0, 48,145,229, 1, 0, 83,227, 8, 0, 0, 26, +/* 0x05a0 */ 20, 48,145,229, 0, 0, 83,227, 5, 0, 0, 10, 8, 32,145,229, +/* 0x05b0 */ 2, 48,131,224, 3, 0, 80,225, 3, 0,160, 49, 2, 0, 84,225, +/* 0x05c0 */ 2, 64,160, 33, 32, 16,129,226, 1,224, 78,226, 0, 0, 94,227, +/* 0x05d0 */ 239,255,255,170,255, 78,196,227, 15, 64,196,227, 0, 48,100,224, +/* 0x05e0 */ 255, 62,131,226, 15, 48,131,226,255, 62,195,227, 15, 48,195,227, +/* 0x05f0 */ 40, 48,141,229, 4, 0,160,225, 12, 48,160,225, 40, 16,157,229, +/* 0x0600 */ 0, 32,160,227, 62,255,255,235, 52, 48,160,227, 0,144,100,224, +/* 0x0610 */ 153, 3, 3,224, 28, 0,141,229, 32, 80,133,226, 0, 0,160,227, +/* 0x0620 */ 36, 48,141,229, 24, 0,141,229,171, 0, 0,234, 12, 16,157,229, +/* 0x0630 */ 0, 0, 81,227, 8, 0, 0, 10, 32, 48, 21,229, 6, 0, 83,227, +/* 0x0640 */ 5, 0, 0, 26, 24, 32, 21,229, 8, 0,157,229, 2, 32,137,224, +/* 0x0650 */ 3, 16,160,227, 71,255,255,235,155, 0, 0,234, 32, 48, 21,229, +/* 0x0660 */ 1, 0, 83,227,152, 0, 0, 26, 12, 48, 21,229, 0, 0, 83,227, +/* 0x0670 */ 149, 0, 0, 10, 12, 32,157,229, 0, 0, 82,227, 17, 0, 0, 10, +/* 0x0680 */ 28, 48, 21,229, 0, 0, 83,227, 14, 0, 0, 26, 28, 48,152,229, +/* 0x0690 */ 24, 32, 21,229, 3, 32,130,224, 2, 32,137,224, 3, 16,160,227, +/* 0x06a0 */ 8, 0,157,229, 51,255,255,235, 8, 0,157,229, 5, 16,160,227, +/* 0x06b0 */ 188, 34,216,225, 47,255,255,235, 8, 0,157,229, 4, 16,160,227, +/* 0x06c0 */ 186, 34,216,225, 43,255,255,235, 8, 48, 21,229,180, 34,159,229, +/* 0x06d0 */ 7, 48, 3,226, 3, 49,160,225, 50, 67,160,225, 24, 48, 21,229, +/* 0x06e0 */ 3, 48,137,224, 20, 48,141,229, 20,192,157,229, 12, 0,157,229, +/* 0x06f0 */ 16, 48, 21,229, 12, 42,160,225, 12, 16, 21,229, 34, 42,160,225, +/* 0x0700 */ 0, 0, 80,227, 48, 48,141,229, 52,192,141,229, 2,160,131,224, +/* 0x0710 */ 7,176, 4,226, 44, 16,141,229, 12, 96, 98,224, 14, 0, 0, 10, +/* 0x0720 */ 6, 0,160,225, 10, 16,160,225, 3, 32,160,227, 16, 48,160,227, +/* 0x0730 */ 243,254,255,235, 0, 0, 86,225, 82, 0, 0, 26, 96, 32,157,229, +/* 0x0740 */ 4, 48, 20,226, 2, 48,160, 17, 12, 0,157,229, 48, 16,141,226, +/* 0x0750 */ 16, 32,157,229, 42,255,255,235, 11, 0, 0,234, 28,192, 21,229, +/* 0x0760 */ 12,192, 98,224, 4,192,141,229, 16,192,157,229, 6, 0,160,225, +/* 0x0770 */ 10, 16,160,225, 11, 32,160,225, 18, 48,160,227, 0,192,141,229, +/* 0x0780 */ 215,254,255,235, 0, 0, 86,225, 62, 0, 0, 26, 0, 48,106,226, +/* 0x0790 */ 3,122,160,225, 2, 0, 27,227, 39,122,160,225, 7, 0, 0, 10, +/* 0x07a0 */ 0, 0, 87,227, 5, 0, 0, 10, 10, 16,134,224, 7, 32,160,225, +/* 0x07b0 */ 0, 48,160,227, 1, 32, 82,226, 1, 48,193,228,251,255,255, 26, +/* 0x07c0 */ 12, 0,157,229, 0, 0, 80,227, 48, 0, 0, 10,202,254,255,235, +/* 0x07d0 */ 32, 48, 21,229, 1, 0, 83,227, 32, 0,141,229, 35, 0, 0, 26, +/* 0x07e0 */ 8, 48, 21,229, 1, 0, 19,227, 32, 0, 0, 10, 12, 32, 21,229, +/* 0x07f0 */ 16, 48, 21,229, 3, 0, 82,225, 24, 16, 21,229, 74, 0, 0, 26, +/* 0x0800 */ 1, 48,130,224, 3, 48,131,226, 3, 48,137,224, 3, 64,195,227, +/* 0x0810 */ 0, 48,100,226, 3, 58,160,225, 35, 58,160,225, 7, 0, 83,227, +/* 0x0820 */ 65, 0, 0,154, 10, 0, 0,234, 0,224,160,227, 3, 32,160,227, +/* 0x0830 */ 0,192,224,227, 14, 0,160,225, 1, 26,160,227, 34, 48,160,227, +/* 0x0840 */ 0, 80,141,232,166,254,255,235, 0, 32, 80,226, 61, 0, 0, 26, +/* 0x0850 */ 6, 0, 0,234, 32, 16,157,229, 44, 49,159,229, 10, 0,132,232, +/* 0x0860 */ 4, 0,160,225, 8, 16,132,226,154,254,255,235, 64, 0, 0,234, +/* 0x0870 */ 6, 0,160,225, 10, 16,160,225, 11, 32,160,225,147,254,255,235, +/* 0x0880 */ 0, 0, 80,227, 1, 0, 0, 10,127, 0,160,227,124,254,255,235, +/* 0x0890 */ 20, 32,157,229, 44,192,157,229, 7, 48,138,224, 12, 16,130,224, +/* 0x08a0 */ 3, 64,134,224, 1, 0, 84,225, 7, 0, 0, 42, 1, 16,100,224, +/* 0x08b0 */ 11, 32,160,225, 4, 0,160,225, 16, 48,160,227,144,254,255,235, +/* 0x08c0 */ 0, 0, 84,225, 0, 0, 0, 10,254,255,255,234, 24, 0,157,229, +/* 0x08d0 */ 1, 0,128,226, 24, 0,141,229, 32, 80,133,226,188, 50,216,225, +/* 0x08e0 */ 24, 16,157,229, 3, 0, 81,225, 79,255,255,186, 12, 32,157,229, +/* 0x08f0 */ 0, 0, 82,227, 5, 0, 0, 10,176, 49,216,225, 3, 0, 83,227, +/* 0x0900 */ 40, 48,157, 21, 28,192,157, 21, 12, 0,131, 16,105,254,255, 27, +/* 0x0910 */ 92, 0,157,229, 0, 0, 80,227, 0,144,128, 21, 24, 0,152,229, +/* 0x0920 */ 0, 0,137,224, 56,208,141,226,240,143,189,232, 28, 48, 21,229, +/* 0x0930 */ 0, 0, 83,227, 36, 32,157, 5, 2, 48,129, 0, 8, 64,131, 2, +/* 0x0940 */ 195,255,255, 10,183,255,255,234, 32, 48,157,229, 0, 48,130,229, +/* 0x0950 */ 52, 48,159,229, 2, 64,160,225, 8, 16,130,226, 4, 48,130,229, +/* 0x0960 */ 92,254,255,235, 4, 0,160,225, 8, 16,160,227, 5, 32,160,227, +/* 0x0970 */ 86,254,255,235, 4, 32,160,225, 8, 0,157,229, 0, 16,160,227, +/* 0x0980 */ 124,254,255,235,185,255,255,234, 64, 98, 81,115, 14,240,160,225, +/* 0x0990 */ 240, 71, 45,233, 12,208, 77,226, 52, 96,141,226, 0,144,160,225, +/* 0x09a0 */ 1,112,160,225, 3,128,160,225, 6, 0,160,225, 44, 16,141,226, +/* 0x09b0 */ 0, 48,160,227, 48,160,157,229, 2, 80,160,225, 52, 64,157,229, +/* 0x09c0 */ 143,254,255,235, 60, 48,157,229, 12,224,141,226, 56,192,157,229, +/* 0x09d0 */ 4, 48, 46,229, 12,192,100,224, 6, 32,160,225, 10, 16,160,225, +/* 0x09e0 */ 9, 48,160,225, 5, 0,160,225, 56,192,141,229, 0,224,141,229, +/* 0x09f0 */ 52,112,141,229, 4,128,141,229,211,254,255,235, 0, 64,160,225, +/* 0x0a00 */ 9, 16,160,227, 9, 0,160,225, 4, 32,160,225, 89,254,255,235, +/* 0x0a10 */ 188, 2,218,225, 52, 32,138,226, 0, 16,160,227, 35, 0, 0,234, +/* 0x0a20 */ 0, 48,146,229, 3, 0, 83,227, 30, 0, 0, 26, 8, 48,146,229, +/* 0x0a30 */ 8, 0,157,229, 0, 16,160,227, 0, 0,131,224, 1, 32,160,225, +/* 0x0a40 */ 20,254,255,235, 0, 80, 80,226, 4, 0, 0,186, 10, 16,160,225, +/* 0x0a50 */ 2, 44,160,227, 11,254,255,235, 2, 12, 80,227, 1, 0, 0, 10, +/* 0x0a60 */ 127, 0,160,227, 6,254,255,235, 0,224,160,227, 14, 32,160,225, +/* 0x0a70 */ 8,192,141,226, 10, 16,160,225, 9, 48,160,225, 5, 0,160,225, +/* 0x0a80 */ 0, 80,141,232,176,254,255,235, 7, 16,160,227, 0, 64,160,225, +/* 0x0a90 */ 8, 32,157,229, 9, 0,160,225, 54,254,255,235, 5, 0,160,225, +/* 0x0aa0 */ 254,253,255,235, 3, 0, 0,234, 32, 32,130,226, 1, 16,129,226, +/* 0x0ab0 */ 0, 0, 81,225,217,255,255,186, 4, 0,160,225, 12,208,141,226, +/* 0x0ac0 */ 240,135,189,232 }; diff -Nru upx-ucl-3.95/src/stub/arm.v4a-wince.pe.h upx-ucl-3.96/src/stub/arm.v4a-wince.pe.h --- upx-ucl-3.95/src/stub/arm.v4a-wince.pe.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v4a-wince.pe.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm.v4t-wince.pe.h upx-ucl-3.96/src/stub/arm.v4t-wince.pe.h --- upx-ucl-3.95/src/stub/arm.v4t-wince.pe.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v4t-wince.pe.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm.v5a-darwin.macho-entry.h upx-ucl-3.96/src/stub/arm.v5a-darwin.macho-entry.h --- upx-ucl-3.95/src/stub/arm.v5a-darwin.macho-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5a-darwin.macho-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm.v5a-darwin.macho-fold.h upx-ucl-3.96/src/stub/arm.v5a-darwin.macho-fold.h --- upx-ucl-3.95/src/stub/arm.v5a-darwin.macho-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5a-darwin.macho-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* arm.v5a-darwin.macho-fold.h - created from arm.v5a-darwin.macho-fold.bin, 2248 (0x8c8) bytes + created from arm.v5a-darwin.macho-fold.bin, 2488 (0x9b8) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,15 +31,15 @@ */ -#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_SIZE 2248 -#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_ADLER32 0x83ada740 -#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_CRC32 0x9fb78407 +#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_SIZE 2488 +#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_ADLER32 0xac8114ab +#define STUB_ARM_V5A_DARWIN_MACHO_FOLD_CRC32 0x5aed6310 -unsigned char stub_arm_v5a_darwin_macho_fold[2248] = { +unsigned char stub_arm_v5a_darwin_macho_fold[2488] = { /* 0x0000 */ 24, 48,154,229, 2,202,160,227, 12, 0, 83,225, 12, 48,160, 49, /* 0x0010 */ 13,128,160,225, 3,208, 77,224, 13, 32,160,225, 11, 16,160,225, /* 0x0020 */ 10, 0,160,225, 16, 96,136,226, 52, 80,143,226, 9, 64,160,225, -/* 0x0030 */ 112, 0, 45,233,181, 1, 0,235, 56,160,144,229, 0,144,144,229, +/* 0x0030 */ 112, 0, 45,233,241, 1, 0,235, 56,160,144,229, 0,144,144,229, /* 0x0040 */ 8,208,160,225, 0, 0,157,229, 44, 0, 0,235, 4, 0,157,229, /* 0x0050 */ 8, 16,157,229, 73,112,160,227, 10,224,160,225, 16,208,141,226, /* 0x0060 */ 25,255, 47,225,255, 48, 3,226, 80, 0, 83,227, 14,240,160, 17, @@ -98,83 +98,98 @@ /* 0x03b0 */ 4, 16,148,229,158,255,255,235, 4, 48,157,229, 6, 0,148,232, /* 0x03c0 */ 3, 32,130,224, 1, 16, 99,224, 6, 0,132,232, 0, 48,148,229, /* 0x03d0 */ 0, 0, 83,227,180,255,255, 26, 20,208,141,226,240,128,189,232, -/* 0x03e0 */ 85, 80, 88, 33,240, 79, 45,233, 0,144,160,225, 0, 0,160,227, -/* 0x03f0 */ 36,208, 77,226, 2,128,160,225, 28, 80,137,226, 0,176,160,225, -/* 0x0400 */ 16, 0,141,229, 12, 16,141,229, 8, 48,141,229, 20, 0,141,229, -/* 0x0410 */ 174, 0, 0,234, 0, 32,149,229, 1, 0, 82,227,156, 0, 0, 26, -/* 0x0420 */ 28, 48,149,229, 0, 0, 83,227,153, 0, 0, 10, 32, 48,149,229, -/* 0x0430 */ 0, 0, 83,227, 10, 0, 0, 26, 36, 48,149,229, 0, 0, 83,227, -/* 0x0440 */ 7, 0, 0, 10, 72, 48,157,229, 0, 32,147,229, 0, 0, 82,227, -/* 0x0450 */ 3, 0, 0, 10, 24, 48,146,229, 2, 6, 19,227, 24, 48,149, 21, -/* 0x0460 */ 2,176, 99, 16, 24, 48,149,229, 3, 48,139,224, 36, 0,149,229, -/* 0x0470 */ 28, 16,149,229, 3, 42,160,225, 34, 42,160,225, 1, 16,131,224, -/* 0x0480 */ 2,112,144,224, 28, 0,141,229, 32, 48,141,229, 24, 16,141,229, -/* 0x0490 */ 3, 96, 98,224, 36, 0, 0, 10, 72, 32,157,229, 0, 48,146,229, -/* 0x04a0 */ 0, 0, 83,227, 2, 48,160, 3, 18, 48,160, 19, 0, 0, 88,227, -/* 0x04b0 */ 3, 16,160, 19, 0, 16,160, 3, 0, 0, 88,227, 3, 0, 0, 26, -/* 0x04c0 */ 0, 0, 80,227, 1, 58,131, 3,137, 0, 0, 10, 2, 0, 0,234, -/* 0x04d0 */ 0, 0, 80,227, 1, 58,131,227,133, 0, 0, 10, 8,224,157,229, -/* 0x04e0 */ 32,192,149,229, 12, 0,157,229, 3, 32,160,227, 12,192,128,224, -/* 0x04f0 */ 1, 16,135,224, 6, 0,160,225, 0,224,141,229, 4,192,141,229, -/* 0x0500 */ 18,255,255,235, 72, 32,157,229, 0, 48,146,229, 0, 0, 83,227, -/* 0x0510 */ 0,176,160, 1, 11, 96,160, 1, 0, 0,130, 5, 2, 0, 0, 10, -/* 0x0520 */ 0, 0, 86,225, 8, 0,160, 19, 63,255,255, 27, 0, 0, 88,227, -/* 0x0530 */ 107, 0, 0, 10, 36, 48,149,229, 0, 0, 83,227, 8, 0, 0, 10, -/* 0x0540 */ 32, 48,149,229, 0, 0, 83,227, 72, 48,157, 5, 8, 0,160,225, -/* 0x0550 */ 0, 96,131, 5, 28, 16,141,226, 76, 32,141,226, 12, 0,146,232, -/* 0x0560 */ 74,255,255,235, 0, 0, 87,226, 1, 0,160, 19, 0, 0, 80,227, -/* 0x0570 */ 19, 0, 0, 10, 32, 48,149,229, 0, 0, 83,227, 16, 0, 0, 26, -/* 0x0580 */ 48, 48,149,229, 0, 0, 83,227, 13, 0, 0, 10, 5, 48,105,224, -/* 0x0590 */ 3, 48,195,227, 6, 48,131,224, 96, 48,147,229, 3, 48,195,227, -/* 0x05a0 */ 3, 48,134,224, 8, 32, 67,226, 16, 32,141,229,239, 36,160,227, -/* 0x05b0 */ 8, 32, 3,229, 76, 33,159,229, 1,160,160,227, 4, 32, 3,229, -/* 0x05c0 */ 0, 0, 0,234, 1,160,160,227, 0, 48,103,226, 3, 74,160,225, -/* 0x05d0 */ 36, 74,160,225, 0, 0, 84,227, 5, 0, 0, 10, 7, 16,134,224, -/* 0x05e0 */ 4, 32,160,225, 0, 48,160,227, 1, 32, 82,226, 1, 48,193,228, -/* 0x05f0 */ 251,255,255, 26, 0, 0, 80,227, 6, 0, 0, 10, 6, 0,160,225, -/* 0x0600 */ 7, 16,160,225, 44, 32,149,229,203,254,255,235, 0, 0, 80,227, -/* 0x0610 */ 10, 0,160, 19, 4,255,255, 27, 4, 48,135,224, 3, 64,134,224, -/* 0x0620 */ 24, 48,157,229, 3, 0, 84,225, 15, 0, 0, 42, 0, 0, 84,227, -/* 0x0630 */ 32, 0, 0, 10, 0,192,224,227, 44, 32,149,229, 3, 16,100,224, -/* 0x0640 */ 0,192,141,229, 4, 0,160,225, 1,192,140,226,184, 48,159,229, -/* 0x0650 */ 4,192,141,229,189,254,255,235, 0, 0, 84,225, 21, 0, 0, 10, -/* 0x0660 */ 9, 0,160,227,240,254,255,235, 18, 0, 0,234, 0, 0, 90,227, -/* 0x0670 */ 16, 0, 0, 10, 3, 48,135,226, 3, 26,160,225, 33, 26,160,225, -/* 0x0680 */ 3, 0, 81,227, 11, 0, 0,138, 4, 0,160,225,165,254,255,235, -/* 0x0690 */ 8, 0, 0,234, 0, 0, 88,227, 6, 0, 0, 26, 4, 48, 66,226, -/* 0x06a0 */ 1, 0, 83,227, 76, 48,149,149, 16, 0,133,146, 11, 48,131,144, -/* 0x06b0 */ 76, 48,133,149, 16, 0,141,149, 20, 32,157,229, 4, 48,149,229, -/* 0x06c0 */ 1, 32,130,226, 3, 48,195,227, 20, 32,141,229, 3, 80,133,224, -/* 0x06d0 */ 16, 48,153,229, 20, 0,157,229, 3, 0, 80,225, 76,255,255, 58, -/* 0x06e0 */ 5, 0, 0,234, 0, 0, 87,226, 1, 0,160, 19, 8,160,160,225, -/* 0x06f0 */ 180,255,255,234, 0,224,224,227,120,255,255,234, 16, 0,157,229, -/* 0x0700 */ 36,208,141,226,240,143,189,232, 30,255, 47,225, 18, 16, 0, 0, -/* 0x0710 */ 240, 67, 45,233, 44,208, 77,226, 12, 16,141,229, 12, 16,157,229, -/* 0x0720 */ 24,192,144,229, 24, 16, 65,226, 24, 0,128,226, 72, 64,157,229, -/* 0x0730 */ 36, 0,141,229, 32, 16,141,229, 32,128,141,226, 0, 3,152,232, -/* 0x0740 */ 2, 80,160,225, 32, 0,141,226, 24, 16,141,226, 4, 32,160,225, -/* 0x0750 */ 3,112,160,225, 0, 48,160,227, 24,192,141,229, 16,128,141,229, -/* 0x0760 */ 20,144,141,229, 28, 80,141,229,200,254,255,235, 80,192,157,229, -/* 0x0770 */ 0,192,141,229, 76,192,157,229, 0, 16,160,227, 16, 32,141,226, -/* 0x0780 */ 5, 0,160,225, 0, 48,224,227, 16, 16,141,233, 20,255,255,235, -/* 0x0790 */ 0,128,160,225, 16, 0,149,229, 28, 32,133,226, 0, 16,160,227, -/* 0x07a0 */ 62, 0, 0,234, 0, 48,146,229, 14, 0, 83,227, 57, 0, 0, 26, -/* 0x07b0 */ 8, 0,146,229, 0, 16,160,227, 0, 0,130,224, 1, 32,160,225, -/* 0x07c0 */ 73,254,255,235, 0, 96, 80,226, 18, 0,160,179,150,254,255,187, -/* 0x07d0 */ 0, 64,160,227, 6, 0,160,225, 5, 16,160,225, 7, 32,160,225, -/* 0x07e0 */ 4, 48,160,225, 99,254,255,235, 0, 0, 87,225, 19, 0,160, 19, -/* 0x07f0 */ 141,254,255, 27, 0, 32,149,229,188, 48,159,229, 3, 0, 82,225, -/* 0x0800 */ 2, 0, 0, 10,180, 48,159,229, 3, 0, 82,225, 18, 0, 0, 26, -/* 0x0810 */ 7, 48,213,229, 20, 32,160,227,147, 2, 1,224, 5, 0,160,225, -/* 0x0820 */ 8, 16,129,226, 91,254,255,235, 4,192,149,229, 8, 16,133,226, -/* 0x0830 */ 0, 0,160,227, 5, 0, 0,234, 0, 32,145,229,128, 48,159,229, -/* 0x0840 */ 3, 0, 82,225, 8, 64,145, 5,225,255,255, 10, 20, 16,129,226, -/* 0x0850 */ 12, 0, 80,225, 1, 0,128,226,246,255,255, 26, 0,224,160,227, -/* 0x0860 */ 44,192,141,226, 4,224, 44,229, 4, 16,160,225, 5, 0,160,225, -/* 0x0870 */ 14, 32,160,225, 6, 48,160,225, 0, 80,141,232, 8,224,141,229, -/* 0x0880 */ 215,254,255,235, 0, 64,160,225, 0,128,128,229, 6, 0,160,225, -/* 0x0890 */ 26,254,255,235, 5, 0, 0,234, 4, 48,146,229, 3, 32,130,224, -/* 0x08a0 */ 0, 0, 81,225, 1, 16,129,226,189,255,255, 26, 0, 64,160,227, -/* 0x08b0 */ 4, 0,160,225, 44,208,141,226,240,131,189,232,202,254,186,190, -/* 0x08c0 */ 190,186,254,202, 7, 0, 0, 1 +/* 0x03e0 */ 85, 80, 88, 33,240, 79, 45,233, 12, 64,144,229, 48,208, 77,226, +/* 0x03f0 */ 7, 0, 84,227, 0,144,160,225, 12, 16,141,229, 2,160,160,225, +/* 0x0400 */ 8, 48,141,229, 28,112,128,226, 16, 96,144,229, 3, 0, 0, 10, +/* 0x0410 */ 24, 48,144,229, 2, 6, 19,227, 16, 48,160, 3, 0, 0, 0, 10, +/* 0x0420 */ 0, 48,160,227, 1, 90,131,226, 0,192,160,227, 2, 80,133,226, +/* 0x0430 */ 7, 16,160,225, 0, 0,224,227, 12,224,160,225, 23, 0, 0,234, +/* 0x0440 */ 0, 48,145,229, 1, 0, 83,227, 17, 0, 0, 26, 28, 32,145,229, +/* 0x0450 */ 0, 0, 82,227, 14, 0, 0, 10, 24, 48,145,229, 0, 0, 83,227, +/* 0x0460 */ 3, 32,130,224, 1, 0, 0, 26, 16, 0, 21,227, 8, 0, 0, 26, +/* 0x0470 */ 7, 0, 84,227, 1, 0,112, 3, 1, 0, 0, 26, 0, 0, 83,227, +/* 0x0480 */ 16, 80,133, 19, 2, 0, 92,225, 2,192,160, 49, 3, 0, 80,225, +/* 0x0490 */ 3, 0,160, 33, 4, 48,145,229, 3, 48,195,227, 3, 16,129,224, +/* 0x04a0 */ 6, 0, 94,225, 1,224,142,226,228,255,255,186,255,110,192,227, +/* 0x04b0 */ 15, 96,198,227, 12, 48,102,224,255, 62,131,226, 15, 48,131,226, +/* 0x04c0 */ 255, 78,195,227, 16, 0, 21,226, 15, 64,196,227, 3, 0, 0, 10, +/* 0x04d0 */ 6, 0,160,225, 4, 16,160,225, 18,255,255,235, 6, 0,160,225, +/* 0x04e0 */ 0,128,160,227, 4, 16,160,225, 5, 48,160,225, 0,192,224,227, +/* 0x04f0 */ 8, 32,160,225, 0,192,141,229, 4,128,141,229, 19,255,255,235, +/* 0x0500 */ 0, 58,160,225, 35, 58,160,225, 8, 0, 83,225, 0, 64,160,225, +/* 0x0510 */ 6, 0,160, 19, 68,255,255, 27, 4, 64,102,224, 8,176,160,225, +/* 0x0520 */ 16, 64,141,229, 20,128,141,229,163, 0, 0,234, 0, 48,151,229, +/* 0x0530 */ 1, 0, 83,227,165, 0, 0, 26, 28, 48,151,229, 0, 0, 83,227, +/* 0x0540 */ 13, 0, 0, 26, 28, 16,141,226, 12, 32,160,227, 10, 0,160,225, +/* 0x0550 */ 55,255,255,235, 4, 48,154,229, 0, 16,151,229, 32, 32,157,229, +/* 0x0560 */ 1, 0, 81,227, 2, 48,131,224, 4, 48,138,229,140, 0, 0, 26, +/* 0x0570 */ 28, 48,151,229, 0, 0, 83,227,137, 0, 0, 10, 24, 48,151,229, +/* 0x0580 */ 16, 32,157,229, 3, 48,130,224, 36, 0,151,229, 28, 16,151,229, +/* 0x0590 */ 3, 42,160,225, 34, 42,160,225, 1, 16,131,224, 2, 96,144,224, +/* 0x05a0 */ 40, 0,141,229, 44, 48,141,229, 24, 16,141,229, 3, 80, 98,224, +/* 0x05b0 */ 26, 0, 0, 10, 0, 0, 90,227, 3, 0, 0, 26, 0, 0, 80,227, +/* 0x05c0 */ 8,224,157, 21, 18, 48,160, 19, 1, 0, 0, 26, 36, 50,159,229, +/* 0x05d0 */ 0,224,224,227, 32,192,151,229, 12, 32,157,229, 5, 0,160,225, +/* 0x05e0 */ 12,192,130,224, 6, 16,160,225, 3, 32,160,227, 0,224,141,229, +/* 0x05f0 */ 4,192,141,229,213,254,255,235, 5, 0, 80,225, 0, 64,160,225, +/* 0x0600 */ 8, 0,160, 19, 8,255,255, 27, 84, 32,157,229, 0, 48,146,229, +/* 0x0610 */ 0, 0, 83,227, 84, 48,157, 5, 0, 64,131, 5, 4, 80,160,225, +/* 0x0620 */ 0, 0, 90,227,108, 0, 0, 10, 36, 48,151,229, 0, 0, 83,227, +/* 0x0630 */ 8, 0, 0, 10, 32, 48,151,229, 0, 0, 83,227, 84, 32,157, 5, +/* 0x0640 */ 10, 0,160,225, 0, 80,130, 5, 40, 16,141,226, 88, 32,141,226, +/* 0x0650 */ 12, 0,146,232, 13,255,255,235, 0, 0, 86,226, 1, 0,160, 19, +/* 0x0660 */ 0, 0, 80,227, 18, 0, 0, 10, 32, 48,151,229, 0, 0, 83,227, +/* 0x0670 */ 15, 0, 0, 26, 48, 48,151,229, 0, 0, 83,227, 12, 0, 0, 10, +/* 0x0680 */ 7, 48,105,224, 3, 48,195,227, 5, 48,131,224, 96, 48,147,229, +/* 0x0690 */ 3, 48,195,227, 3, 48,133,224,239, 36,160,227, 8, 32, 3,229, +/* 0x06a0 */ 84, 33,159,229, 8,176, 67,226, 1,128,160,227, 4, 32, 3,229, +/* 0x06b0 */ 0, 0, 0,234, 1,128,160,227, 0, 48,102,226, 3, 74,160,225, +/* 0x06c0 */ 36, 74,160,225, 0, 0, 84,227, 6, 0, 0, 10, 5, 16,134,224, +/* 0x06d0 */ 0, 32,160,227, 0, 48,160,227, 1, 48,194,231, 1, 32,130,226, +/* 0x06e0 */ 4, 0, 82,225,250,255,255, 26, 0, 0, 80,227, 6, 0, 0, 10, +/* 0x06f0 */ 5, 0,160,225, 6, 16,160,225, 44, 32,151,229,142,254,255,235, +/* 0x0700 */ 0, 0, 80,227, 10, 0,160, 19,199,254,255, 27, 5, 48,134,224, +/* 0x0710 */ 3, 64,132,224, 24, 48,157,229, 3, 0, 84,225, 15, 0, 0, 42, +/* 0x0720 */ 0, 0, 84,227, 30, 0, 0, 10, 0,192,224,227, 44, 32,151,229, +/* 0x0730 */ 3, 16,100,224, 0,192,141,229, 4, 0,160,225, 1,192,140,226, +/* 0x0740 */ 176, 48,159,229, 4,192,141,229,128,254,255,235, 0, 0, 84,225, +/* 0x0750 */ 19, 0, 0, 10, 9, 0,160,227,179,254,255,235, 16, 0, 0,234, +/* 0x0760 */ 0, 0, 88,227, 14, 0, 0, 10, 3, 48,134,226, 3, 26,160,225, +/* 0x0770 */ 33, 26,160,225, 3, 0, 81,227, 9, 0, 0,138, 4, 0,160,225, +/* 0x0780 */ 104,254,255,235, 6, 0, 0,234, 4, 48, 67,226, 1, 0, 83,227, +/* 0x0790 */ 76, 48,151,149, 16, 32,157,149, 2, 48,131,144, 76, 48,135,149, +/* 0x07a0 */ 16,176,135,146, 4, 48,151,229, 3, 48,195,227, 3,112,135,224, +/* 0x07b0 */ 20, 48,157,229, 1, 48,131,226, 20, 48,141,229, 16, 48,153,229, +/* 0x07c0 */ 20, 32,157,229, 3, 0, 82,225, 87,255,255, 58, 6, 0, 0,234, +/* 0x07d0 */ 0, 0, 90,227,242,255,255, 26,234,255,255,234, 0, 0, 86,226, +/* 0x07e0 */ 1, 0,160, 19, 10,128,160,225,178,255,255,234, 11, 0,160,225, +/* 0x07f0 */ 48,208,141,226,240,143,189,232, 18, 16, 0, 0, 30,255, 47,225, +/* 0x0800 */ 240, 67, 45,233, 44,208, 77,226, 12, 16,141,229, 12, 16,157,229, +/* 0x0810 */ 24,192,144,229, 24, 16, 65,226, 24, 0,128,226, 72, 64,157,229, +/* 0x0820 */ 36, 0,141,229, 32, 16,141,229, 32,128,141,226, 0, 3,152,232, +/* 0x0830 */ 2, 80,160,225, 32, 0,141,226, 24, 16,141,226, 4, 32,160,225, +/* 0x0840 */ 3,112,160,225, 0, 48,160,227, 24,192,141,229, 16,128,141,229, +/* 0x0850 */ 20,144,141,229, 28, 80,141,229,140,254,255,235, 80,192,157,229, +/* 0x0860 */ 0,192,141,229, 76,192,157,229, 0, 16,160,227, 16, 32,141,226, +/* 0x0870 */ 5, 0,160,225, 0, 48,224,227, 16, 16,141,233,216,254,255,235, +/* 0x0880 */ 0,128,160,225, 16, 0,149,229, 28, 32,133,226, 0, 16,160,227, +/* 0x0890 */ 62, 0, 0,234, 0, 48,146,229, 14, 0, 83,227, 57, 0, 0, 26, +/* 0x08a0 */ 8, 0,146,229, 0, 16,160,227, 0, 0,130,224, 1, 32,160,225, +/* 0x08b0 */ 13,254,255,235, 0, 96, 80,226, 18, 0,160,179, 90,254,255,187, +/* 0x08c0 */ 0, 64,160,227, 6, 0,160,225, 5, 16,160,225, 7, 32,160,225, +/* 0x08d0 */ 4, 48,160,225, 39,254,255,235, 0, 0, 87,225, 19, 0,160, 19, +/* 0x08e0 */ 81,254,255, 27, 0, 32,149,229,188, 48,159,229, 3, 0, 82,225, +/* 0x08f0 */ 2, 0, 0, 10,180, 48,159,229, 3, 0, 82,225, 18, 0, 0, 26, +/* 0x0900 */ 7, 48,213,229, 20, 32,160,227,147, 2, 1,224, 5, 0,160,225, +/* 0x0910 */ 8, 16,129,226, 31,254,255,235, 4,192,149,229, 8, 16,133,226, +/* 0x0920 */ 0, 0,160,227, 5, 0, 0,234, 0, 32,145,229,128, 48,159,229, +/* 0x0930 */ 3, 0, 82,225, 8, 64,145, 5,225,255,255, 10, 20, 16,129,226, +/* 0x0940 */ 12, 0, 80,225, 1, 0,128,226,246,255,255, 26, 0,224,160,227, +/* 0x0950 */ 44,192,141,226, 4,224, 44,229, 4, 16,160,225, 5, 0,160,225, +/* 0x0960 */ 14, 32,160,225, 6, 48,160,225, 0, 80,141,232, 8,224,141,229, +/* 0x0970 */ 155,254,255,235, 0, 64,160,225, 0,128,128,229, 6, 0,160,225, +/* 0x0980 */ 222,253,255,235, 5, 0, 0,234, 4, 48,146,229, 3, 32,130,224, +/* 0x0990 */ 0, 0, 81,225, 1, 16,129,226,189,255,255, 26, 0, 64,160,227, +/* 0x09a0 */ 4, 0,160,225, 44,208,141,226,240,131,189,232,202,254,186,190, +/* 0x09b0 */ 190,186,254,202, 7, 0, 0, 1 }; diff -Nru upx-ucl-3.95/src/stub/arm.v5a-linux.elf-entry.h upx-ucl-3.96/src/stub/arm.v5a-linux.elf-entry.h --- upx-ucl-3.95/src/stub/arm.v5a-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5a-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* arm.v5a-linux.elf-entry.h - created from arm.v5a-linux.elf-entry.bin, 14528 (0x38c0) bytes + created from arm.v5a-linux.elf-entry.bin, 14600 (0x3908) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,15 +31,15 @@ */ -#define STUB_ARM_V5A_LINUX_ELF_ENTRY_SIZE 14528 -#define STUB_ARM_V5A_LINUX_ELF_ENTRY_ADLER32 0x2578ec12 -#define STUB_ARM_V5A_LINUX_ELF_ENTRY_CRC32 0x08552b22 +#define STUB_ARM_V5A_LINUX_ELF_ENTRY_SIZE 14600 +#define STUB_ARM_V5A_LINUX_ELF_ENTRY_ADLER32 0xe766024c +#define STUB_ARM_V5A_LINUX_ELF_ENTRY_CRC32 0xb2412397 -unsigned char stub_arm_v5a_linux_elf_entry[14528] = { +unsigned char stub_arm_v5a_linux_elf_entry[14600] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 40, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 200, 19, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, -/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 0, 24,208, 77,226, 58, 0, 0,235, +/* 0x0020 */ 236, 19, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, +/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 0, 24,208, 77,226, 65, 0, 0,235, /* 0x0040 */ 252, 64, 45,233, 0,112,129,224, 0, 80,224,227, 2, 65,160,227, /* 0x0050 */ 24, 0, 0,234, 24, 0,189,232, 7, 0, 64,224, 3, 32, 66,224, /* 0x0060 */ 0, 32,132,229, 0, 64,160,225, 3, 0,160,225, 2, 16,131,224, @@ -323,8 +323,8 @@ /* 0x11c0 */ 1, 1, 0, 59,176, 48,209,225,167,229,160,225,147, 14, 14,224, /* 0x11d0 */ 14, 0, 92,225, 14,112,160, 49, 14,112, 71, 32, 2,235, 99, 50, /* 0x11e0 */ 14,192, 76, 32,174, 50,131, 48,163, 50, 67, 32, 0, 0,176,224, -/* 0x11f0 */ 176, 48,193,225, 2,240,160,225, 20, 48,141,229, 6,160,224,225, -/* 0x1200 */ 1,160,138,226, 4, 96,142,226, 10,224,134,224, 0, 16,150,229, +/* 0x11f0 */ 176, 48,193,225, 2,240,160,225, 20, 48,141,229, 0,160,160,227, +/* 0x1200 */ 6,160, 74,224, 4, 96,142,226, 10,224,134,224, 0, 16,150,229, /* 0x1210 */ 0, 80,160,227, 0, 64,224,227, 3, 32,160,227, 14, 16,129,224, /* 0x1220 */ 0, 0,160,227, 12, 16,141,229,192,112,160,227, 0, 0, 0,239, /* 0x1230 */ 8, 0,141,229, 4, 16,150,229, 4, 64,157,229, 18, 48,160,227, @@ -332,616 +332,621 @@ /* 0x1250 */ 0, 48,150,229, 4, 48, 45,229, 13, 48,160,225, 8, 0,214,229, /* 0x1260 */ 4, 0, 45,229, 10, 32,134,224, 4, 16,150,229, 12, 0,134,226, /* 0x1270 */ 2, 64,160,225, 15,224,160,225, 24,240,157,229, 4,208,141,226, -/* 0x1280 */ 4, 48,157,228, 20, 16,157,229, 0, 0,148,229, 1, 0,128,225, -/* 0x1290 */ 0, 0,132,229, 16, 0,157,229, 6, 16,131,224, 10, 0,128,224, -/* 0x12a0 */ 10, 16,129,224, 16, 0,141,229, 32, 6,160,225, 5, 32,160,227, -/* 0x12b0 */ 0, 6,160,225, 0, 16, 65,224,125,112,160,227, 0, 0, 0,239, -/* 0x12c0 */ 4, 16, 22,229, 8, 0,157,229, 1, 64, 73,224, 1, 80,128,224, -/* 0x12d0 */ 8, 96,134,226, 10,240,134,224, 47,112,114,111, 99, 47,115,101, -/* 0x12e0 */ 108,102, 47,101,120,101, 0, 0, 16, 0, 30,229, 16, 96, 78,226, -/* 0x12f0 */ 16,224,141,229, 0, 96, 70,224, 0, 96,141,229, 0,144,160,225, -/* 0x1300 */ 48, 0, 79,226, 0, 16,160,227, 5,112,160,227, 0, 0, 0,239, -/* 0x1310 */ 4, 0,141,229, 12, 48, 30,229,254,255,255,235, 0, 0, 0, 0, -/* 0x1320 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, -/* 0x1330 */ 50, 45,108,105,116,116,108,101, 97,114,109, 10, 10, 83,101, 99, -/* 0x1340 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, -/* 0x1350 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, -/* 0x1360 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, -/* 0x1370 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, -/* 0x1380 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, -/* 0x1390 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, -/* 0x13a0 */ 48, 48, 48, 48, 48, 48, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x13b0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x13c0 */ 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x13d0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x13e0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, -/* 0x13f0 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1400 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1410 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, -/* 0x1420 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1430 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, -/* 0x1440 */ 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1450 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1460 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1470 */ 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1480 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, -/* 0x1490 */ 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, -/* 0x14a0 */ 48, 48, 48, 48, 49, 51, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x14b0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x14c0 */ 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x14d0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x14e0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, -/* 0x14f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 50, -/* 0x1500 */ 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1510 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55, 99, 32, -/* 0x1520 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1530 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1540 */ 10, 32, 32, 53, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, -/* 0x1550 */ 32, 32, 32, 48, 48, 48, 48, 48, 48,101, 99, 32, 32, 48, 48, 48, -/* 0x1560 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1570 */ 32, 48, 48, 48, 48, 48, 50, 97, 52, 32, 32, 50, 42, 42, 48, 32, -/* 0x1580 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x1590 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, -/* 0x15a0 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, -/* 0x15b0 */ 48, 48, 48, 98, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x15c0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x15d0 */ 51, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x15e0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x15f0 */ 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x1600 */ 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 51, 56, 32, -/* 0x1610 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x1620 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 52, 56, 32, 32, 50, -/* 0x1630 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x1640 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x1650 */ 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, -/* 0x1660 */ 32, 48, 48, 48, 48, 48, 52, 55, 56, 32, 32, 48, 48, 48, 48, 48, -/* 0x1670 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1680 */ 48, 48, 48, 48,100, 56, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1690 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x16a0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, -/* 0x16b0 */ 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x16c0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x16d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49,102, -/* 0x16e0 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x16f0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, -/* 0x1700 */ 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x1710 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1720 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1730 */ 49, 49,102, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1740 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x1750 */ 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, -/* 0x1760 */ 32, 48, 48, 48, 48, 48, 49, 50, 56, 32, 32, 48, 48, 48, 48, 48, -/* 0x1770 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1780 */ 48, 48, 48, 49, 49,102, 56, 32, 32, 50, 42, 42, 50, 32, 32, 67, -/* 0x1790 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x17a0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, -/* 0x17b0 */ 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x17c0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, -/* 0x17d0 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, -/* 0x17e0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, -/* 0x17f0 */ 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, -/* 0x1800 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x1810 */ 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, -/* 0x1820 */ 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1830 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, -/* 0x1840 */ 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1850 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1860 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x1870 */ 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x1880 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1890 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x18a0 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x18b0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x18c0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x18d0 */ 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, -/* 0x18e0 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x18f0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x1900 */ 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, -/* 0x1910 */ 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x1920 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, -/* 0x1930 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, -/* 0x1940 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1950 */ 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, -/* 0x1960 */ 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, -/* 0x1970 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, -/* 0x1980 */ 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1990 */ 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x19a0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x19b0 */ 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, -/* 0x19c0 */ 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, -/* 0x19d0 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, -/* 0x19e0 */ 48, 48, 48, 48, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, -/* 0x19f0 */ 48, 52, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, -/* 0x1a00 */ 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, -/* 0x1a10 */ 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, -/* 0x1a20 */ 32, 32, 32, 70, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, -/* 0x1a30 */ 49, 51, 99, 32,117, 99,108, 95,110,114,118, 50,101, 95,100,101, -/* 0x1a40 */ 99,111,109,112,114,101,115,115, 95, 56, 10, 48, 48, 48, 48, 48, -/* 0x1a50 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, -/* 0x1a60 */ 68, 9, 48, 48, 48, 48, 48, 49, 50, 56, 32,117, 99,108, 95,110, -/* 0x1a70 */ 114,118, 50,100, 95,100,101, 99,111,109,112,114,101,115,115, 95, -/* 0x1a80 */ 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, -/* 0x1a90 */ 32, 70, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48,101, -/* 0x1aa0 */ 99, 32,117, 99,108, 95,110,114,118, 50, 98, 95,100,101, 99,111, -/* 0x1ab0 */ 109,112,114,101,115,115, 95, 56, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ac0 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x1ad0 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,122, -/* 0x1ae0 */ 109, 97, 68,101, 99,111,100,101, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x1af0 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x1b00 */ 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95, -/* 0x1b10 */ 100,101, 99,111,109,112,114,101,115,115, 10, 48, 48, 48, 48, 48, -/* 0x1b20 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, -/* 0x1b30 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, -/* 0x1b40 */ 70, 79, 10, 48, 48, 48, 48, 48, 49, 50, 56, 32,103, 32, 32, 32, -/* 0x1b50 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, -/* 0x1b60 */ 48, 48, 48, 48, 48, 32, 99,112,114, 48, 10, 10, 82, 69, 76, 79, -/* 0x1b70 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x1b80 */ 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, -/* 0x1b90 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x1ba0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x1bb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 65, 82, 77, 95, 65, -/* 0x1bc0 */ 66, 83, 51, 50, 32, 32, 32, 32, 32, 32, 32, 77, 70, 76, 71, 10, -/* 0x1bd0 */ 48, 48, 48, 48, 48, 48, 48, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x1be0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, -/* 0x1bf0 */ 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x1c00 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, -/* 0x1c10 */ 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x1c20 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1c30 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, -/* 0x1c40 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x1c50 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 54, 99, 32, -/* 0x1c60 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x1c70 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 55, 48, -/* 0x1c80 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x1c90 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 55, -/* 0x1ca0 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x1cb0 */ 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x1cc0 */ 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x1cd0 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, -/* 0x1ce0 */ 48, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x1cf0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, -/* 0x1d00 */ 48, 48, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x1d10 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, -/* 0x1d20 */ 48, 48, 48, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x1d30 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, -/* 0x1d40 */ 48, 48, 48, 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x1d50 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, -/* 0x1d60 */ 48, 48, 48, 48, 48, 98, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x1d70 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, -/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x1d90 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, -/* 0x1da0 */ 10, 48, 48, 48, 48, 48, 48, 99, 56, 32, 82, 95, 65, 82, 77, 95, -/* 0x1db0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x1dc0 */ 69, 10, 48, 48, 48, 48, 48, 48,100, 48, 32, 82, 95, 65, 82, 77, -/* 0x1dd0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x1de0 */ 50, 69, 10, 48, 48, 48, 48, 48, 48,100, 52, 32, 82, 95, 65, 82, -/* 0x1df0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, -/* 0x1e00 */ 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 48, 32, 82, 95, 65, -/* 0x1e10 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x1e20 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 52, 32, 82, 95, -/* 0x1e30 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x1e40 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 99, 32, 82, -/* 0x1e50 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x1e60 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,102, 56, 32, -/* 0x1e70 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x1e80 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,102, 99, -/* 0x1e90 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x1ea0 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 49, 48, -/* 0x1eb0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x1ec0 */ 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 49, -/* 0x1ed0 */ 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x1ee0 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, -/* 0x1ef0 */ 49, 51, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x1f00 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, -/* 0x1f10 */ 48, 49, 51, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x1f20 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 10, 82, 69, -/* 0x1f30 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x1f40 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, -/* 0x1f50 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, -/* 0x1f60 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, -/* 0x1f70 */ 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x1f80 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, -/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 54, 99, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x1fa0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, -/* 0x1fb0 */ 10, 48, 48, 48, 48, 48, 48, 55, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x1fc0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x1fd0 */ 68, 10, 48, 48, 48, 48, 48, 48, 55, 56, 32, 82, 95, 65, 82, 77, -/* 0x1fe0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x1ff0 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 56, 52, 32, 82, 95, 65, 82, -/* 0x2000 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, -/* 0x2010 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 65, -/* 0x2020 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x2030 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 57, 99, 32, 82, 95, -/* 0x2040 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2050 */ 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 97, 48, 32, 82, -/* 0x2060 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2070 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 97, 99, 32, -/* 0x2080 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2090 */ 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 98, 99, -/* 0x20a0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x20b0 */ 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 99, -/* 0x20c0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x20d0 */ 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, -/* 0x20e0 */ 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x20f0 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, -/* 0x2100 */ 48,100, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2110 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, -/* 0x2120 */ 48, 48,101, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2130 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, -/* 0x2140 */ 48, 48, 48,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2150 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, -/* 0x2160 */ 48, 48, 48, 48,102, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2170 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, -/* 0x2180 */ 48, 48, 48, 48, 48,102, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2190 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, -/* 0x21a0 */ 48, 48, 48, 48, 48, 49, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x21b0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, -/* 0x21c0 */ 10, 48, 48, 48, 48, 48, 49, 50, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x21d0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x21e0 */ 68, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x21f0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, -/* 0x2200 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x2210 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x2220 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, -/* 0x2230 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x2240 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 55, 48, 32, 82, 95, -/* 0x2250 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2260 */ 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 55, 56, 32, 82, -/* 0x2270 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2280 */ 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 55, 99, 32, -/* 0x2290 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x22a0 */ 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 56, 99, -/* 0x22b0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x22c0 */ 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 57, -/* 0x22d0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x22e0 */ 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, -/* 0x22f0 */ 57, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2300 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, -/* 0x2310 */ 48, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2320 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, -/* 0x2330 */ 48, 48, 98, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x2340 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, -/* 0x2350 */ 48, 48, 48, 98, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2360 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, -/* 0x2370 */ 48, 48, 48, 48, 98, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x2380 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, -/* 0x2390 */ 48, 48, 48, 48, 48, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x23a0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, -/* 0x23b0 */ 48, 48, 48, 48, 48, 48, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x23c0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, -/* 0x23d0 */ 10, 48, 48, 48, 48, 48, 48,101, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x23e0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, -/* 0x23f0 */ 66, 10, 48, 48, 48, 48, 48, 48,101, 56, 32, 82, 95, 65, 82, 77, -/* 0x2400 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, -/* 0x2410 */ 50, 66, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, -/* 0x2420 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, -/* 0x2430 */ 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x2440 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2450 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x2460 */ 48, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x2470 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, -/* 0x2480 */ 48, 48, 48, 48, 48, 48, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x2490 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x24a0 */ 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, -/* 0x24b0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x24c0 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 10, 82, 69, 76, -/* 0x24d0 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, -/* 0x24e0 */ 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 93, -/* 0x24f0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x2500 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x2510 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 55, 52, 32, 82, 95, 65, 82, -/* 0x2520 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2530 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 57, -/* 0x2540 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2550 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2560 */ 48, 48, 48, 48, 48, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2570 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2580 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 99, 99, 32, 82, 95, -/* 0x2590 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x25a0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x25b0 */ 48,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x25c0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x25d0 */ 10, 48, 48, 48, 48, 48, 49, 48, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x25e0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x25f0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 48, 56, 32, -/* 0x2600 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2610 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2620 */ 48, 48, 49, 52, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2630 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2640 */ 50, 48, 10, 48, 48, 48, 48, 48, 49, 57, 48, 32, 82, 95, 65, 82, -/* 0x2650 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2660 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 99, -/* 0x2670 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2680 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2690 */ 48, 48, 48, 48, 49,100, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x26a0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x26b0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 48, 52, 32, 82, 95, -/* 0x26c0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x26d0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x26e0 */ 50, 49, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x26f0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2700 */ 10, 48, 48, 48, 48, 48, 50, 50, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x2710 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2720 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 51, 52, 32, -/* 0x2730 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2740 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2750 */ 48, 48, 50, 51, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2760 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2770 */ 50, 48, 10, 48, 48, 48, 48, 48, 50, 52, 48, 32, 82, 95, 65, 82, -/* 0x2780 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2790 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 52, -/* 0x27a0 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x27b0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x27c0 */ 48, 48, 48, 48, 50, 53, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x27d0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x27e0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 97, 52, 32, 82, 95, -/* 0x27f0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2800 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2810 */ 50, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2820 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2830 */ 10, 48, 48, 48, 48, 48, 50,101, 56, 32, 82, 95, 65, 82, 77, 95, -/* 0x2840 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2850 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 48, 52, 32, -/* 0x2860 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2870 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2880 */ 48, 48, 51, 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2890 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x28a0 */ 50, 48, 10, 48, 48, 48, 48, 48, 51, 51, 99, 32, 82, 95, 65, 82, -/* 0x28b0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x28c0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 56, -/* 0x28d0 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x28e0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x28f0 */ 48, 48, 48, 48, 51, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2900 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2910 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 97, 56, 32, 82, 95, -/* 0x2920 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2930 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2940 */ 51, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2950 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2960 */ 10, 48, 48, 48, 48, 48, 51,101, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x2970 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2980 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51,101, 56, 32, -/* 0x2990 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x29a0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x29b0 */ 48, 48, 52, 50, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x29c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x29d0 */ 50, 48, 10, 48, 48, 48, 48, 48, 52, 51, 56, 32, 82, 95, 65, 82, -/* 0x29e0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x29f0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 54, -/* 0x2a00 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2a10 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2a20 */ 48, 48, 48, 48, 52, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2a30 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2a40 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 56, 99, 32, 82, 95, -/* 0x2a50 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2a60 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2a70 */ 52, 98, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2a80 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2a90 */ 10, 48, 48, 48, 48, 48, 52,100, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x2aa0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2ab0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52,101, 99, 32, -/* 0x2ac0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2ad0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2ae0 */ 48, 48, 52,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2af0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2b00 */ 50, 48, 10, 48, 48, 48, 48, 48, 53, 49, 56, 32, 82, 95, 65, 82, -/* 0x2b10 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2b20 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 51, -/* 0x2b30 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2b40 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2b50 */ 48, 48, 48, 48, 53, 57, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2b60 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2b70 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 97, 48, 32, 82, 95, -/* 0x2b80 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2b90 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2ba0 */ 53, 99, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2bb0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2bc0 */ 10, 48, 48, 48, 48, 48, 53,101, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x2bd0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2be0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53,102, 99, 32, -/* 0x2bf0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2c00 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2c10 */ 48, 48, 54, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2c20 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2c30 */ 50, 48, 10, 48, 48, 48, 48, 48, 54, 50, 52, 32, 82, 95, 65, 82, -/* 0x2c40 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2c50 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 52, -/* 0x2c60 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2c70 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2c80 */ 48, 48, 48, 48, 54, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2c90 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2ca0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 56, 99, 32, 82, 95, -/* 0x2cb0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2cc0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2cd0 */ 54,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2ce0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2cf0 */ 10, 48, 48, 48, 48, 48, 54,101, 99, 32, 82, 95, 65, 82, 77, 95, -/* 0x2d00 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2d10 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 49, 99, 32, -/* 0x2d20 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2d30 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2d40 */ 48, 48, 55, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2d50 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2d60 */ 50, 48, 10, 48, 48, 48, 48, 48, 55, 54, 99, 32, 82, 95, 65, 82, -/* 0x2d70 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2d80 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 55, -/* 0x2d90 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2da0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2db0 */ 48, 48, 48, 48, 55, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2dc0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2dd0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 98, 56, 32, 82, 95, -/* 0x2de0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2df0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2e00 */ 55, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2e10 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2e20 */ 10, 48, 48, 48, 48, 48, 55,100, 48, 32, 82, 95, 65, 82, 77, 95, -/* 0x2e30 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2e40 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55,102, 52, 32, -/* 0x2e50 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2e60 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2e70 */ 48, 48, 56, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2e80 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2e90 */ 50, 48, 10, 48, 48, 48, 48, 48, 56, 50, 99, 32, 82, 95, 65, 82, -/* 0x2ea0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2eb0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 55, -/* 0x2ec0 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x2ed0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, -/* 0x2ee0 */ 48, 48, 48, 48, 56, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, -/* 0x2ef0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, -/* 0x2f00 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 97, 48, 32, 82, 95, -/* 0x2f10 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2f20 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x2f30 */ 56,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, -/* 0x2f40 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, -/* 0x2f50 */ 10, 48, 48, 48, 48, 48, 56,102, 52, 32, 82, 95, 65, 82, 77, 95, -/* 0x2f60 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, -/* 0x2f70 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56,102, 99, 32, -/* 0x2f80 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, -/* 0x2f90 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2fa0 */ 48, 48, 57, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, -/* 0x2fb0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x2fc0 */ 50, 48, 10, 48, 48, 48, 48, 48, 57, 50, 56, 32, 82, 95, 65, 82, -/* 0x2fd0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, -/* 0x2fe0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x2ff0 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x3000 */ 32, 91, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 93, 58, 10, 79, -/* 0x3010 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x3020 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x3030 */ 48, 48, 48, 48, 48, 48, 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x3040 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3050 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, -/* 0x3060 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3070 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x3080 */ 48, 48, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x3090 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x30a0 */ 48, 10, 48, 48, 48, 48, 48, 48, 97, 56, 32, 82, 95, 65, 82, 77, -/* 0x30b0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x30c0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 97, 99, -/* 0x30d0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x30e0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x30f0 */ 48, 48, 48, 48,101, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x3100 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x3110 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 48, 48, 32, 82, 95, 65, -/* 0x3120 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x3130 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, -/* 0x3140 */ 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x3150 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x3160 */ 48, 48, 48, 48, 48, 49, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x3170 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3180 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 49, 56, 32, 82, -/* 0x3190 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x31a0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x31b0 */ 48, 49, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x31c0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x31d0 */ 48, 10, 48, 48, 48, 48, 48, 49, 50, 56, 32, 82, 95, 65, 82, 77, -/* 0x31e0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x31f0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 52, 52, -/* 0x3200 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x3210 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x3220 */ 48, 48, 48, 49, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x3230 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x3240 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 53, 48, 32, 82, 95, 65, -/* 0x3250 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x3260 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, -/* 0x3270 */ 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x3280 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x3290 */ 48, 48, 48, 48, 48, 49, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x32a0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x32b0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 56, 99, 32, 82, -/* 0x32c0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x32d0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x32e0 */ 48, 49, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x32f0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x3300 */ 48, 10, 48, 48, 48, 48, 48, 49, 97, 48, 32, 82, 95, 65, 82, 77, -/* 0x3310 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x3320 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 99, 48, -/* 0x3330 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x3340 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x3350 */ 48, 48, 48, 49, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x3360 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x3370 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49,100, 52, 32, 82, 95, 65, -/* 0x3380 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x3390 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, -/* 0x33a0 */ 100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x33b0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x33c0 */ 48, 48, 48, 48, 48, 49,101, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x33d0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x33e0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49,101, 99, 32, 82, -/* 0x33f0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3400 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x3410 */ 48, 50, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x3420 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x3430 */ 48, 10, 48, 48, 48, 48, 48, 50, 50, 99, 32, 82, 95, 65, 82, 77, -/* 0x3440 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x3450 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 52, 52, -/* 0x3460 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x3470 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x3480 */ 48, 48, 48, 50, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x3490 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x34a0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 53, 48, 32, 82, 95, 65, -/* 0x34b0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x34c0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, -/* 0x34d0 */ 54, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x34e0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x34f0 */ 48, 48, 48, 48, 48, 50, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x3500 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3510 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 56, 99, 32, 82, -/* 0x3520 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3530 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x3540 */ 48, 50, 97, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x3550 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x3560 */ 48, 10, 48, 48, 48, 48, 48, 50, 99, 56, 32, 82, 95, 65, 82, 77, -/* 0x3570 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x3580 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50,100, 48, -/* 0x3590 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x35a0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x35b0 */ 48, 48, 48, 50,100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x35c0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x35d0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 50,102, 52, 32, 82, 95, 65, -/* 0x35e0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x35f0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, -/* 0x3600 */ 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x3610 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x3620 */ 48, 48, 48, 48, 48, 51, 49, 52, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x3630 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3640 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 50, 99, 32, 82, -/* 0x3650 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3660 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x3670 */ 48, 51, 53, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x3680 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x3690 */ 48, 10, 48, 48, 48, 48, 48, 51, 53, 56, 32, 82, 95, 65, 82, 77, -/* 0x36a0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x36b0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 55, 48, -/* 0x36c0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x36d0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x36e0 */ 48, 48, 48, 51, 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x36f0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x3700 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 57, 99, 32, 82, 95, 65, -/* 0x3710 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x3720 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, -/* 0x3730 */ 98, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, -/* 0x3740 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, -/* 0x3750 */ 48, 48, 48, 48, 48, 51, 98, 56, 32, 82, 95, 65, 82, 77, 95, 80, -/* 0x3760 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, -/* 0x3770 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 99, 56, 32, 82, -/* 0x3780 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x3790 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, -/* 0x37a0 */ 48, 51, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, -/* 0x37b0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, -/* 0x37c0 */ 48, 10, 48, 48, 48, 48, 48, 52, 48, 48, 32, 82, 95, 65, 82, 77, -/* 0x37d0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, -/* 0x37e0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 52, 49, 56, -/* 0x37f0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, -/* 0x3800 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, -/* 0x3810 */ 48, 48, 48, 52, 52, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, -/* 0x3820 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, -/* 0x3830 */ 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x3840 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, -/* 0x3850 */ 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x3860 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x3870 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 50, -/* 0x3880 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, -/* 0x3890 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, -/* 0x38a0 */ 48, 48, 49, 50, 52, 32, 82, 95, 65, 82, 77, 95, 65, 66, 83, 51, -/* 0x38b0 */ 50, 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10 +/* 0x1280 */ 4, 48,157,228, 20, 16,157,229, 0, 16,132,229, 16, 0,157,229, +/* 0x1290 */ 6, 16,131,224, 10, 0,128,224, 10, 16,129,224, 16, 0,141,229, +/* 0x12a0 */ 32, 6,160,225, 5, 32,160,227, 0, 6,160,225, 0, 16, 65,224, +/* 0x12b0 */ 125,112,160,227, 0, 0, 0,239, 4, 16, 22,229, 8, 0,157,229, +/* 0x12c0 */ 1, 64, 73,224, 1, 80,128,224, 4, 96,134,226, 0,224,143,226, +/* 0x12d0 */ 10,240,134,224, 47,112,114,111, 99, 47,115,101,108,102, 47,101, +/* 0x12e0 */ 120,101, 0, 0, 14, 32,160,227, 28, 16, 79,226, 2, 0,160,227, +/* 0x12f0 */ 4,112,160,227, 0, 0, 0,239,127, 0,160,227, 1,112,160,227, +/* 0x1300 */ 0, 0, 0,239, 16, 0, 30,229, 16, 96, 78,226, 16,224,141,229, +/* 0x1310 */ 0, 96, 70,224, 0, 96,141,229, 0,144,160,225, 80, 0, 79,226, +/* 0x1320 */ 0, 16,160,227, 5,112,160,227, 0, 0, 0,239, 0, 0, 80,227, +/* 0x1330 */ 57, 0, 0,186, 4, 0,141,229, 12, 48, 30,229,254,255,255,235, +/* 0x1340 */ 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32, +/* 0x1350 */ 101,108,102, 51, 50, 45,108,105,116,116,108,101, 97,114,109, 10, +/* 0x1360 */ 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, +/* 0x1370 */ 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122, +/* 0x1380 */ 101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, +/* 0x1390 */ 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32, +/* 0x13a0 */ 111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, +/* 0x13b0 */ 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, +/* 0x13c0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 99, 32, 32, 48, 48, 48, +/* 0x13d0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x13e0 */ 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, +/* 0x13f0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, +/* 0x1400 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, +/* 0x1410 */ 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x1420 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1430 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1440 */ 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1450 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, +/* 0x1460 */ 50, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, +/* 0x1470 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1480 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1490 */ 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x14a0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, +/* 0x14b0 */ 10, 32, 32, 51, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, +/* 0x14c0 */ 32, 32, 32, 48, 48, 48, 48, 48, 49, 51, 99, 32, 32, 48, 48, 48, +/* 0x14d0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x14e0 */ 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, +/* 0x14f0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, +/* 0x1500 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, +/* 0x1510 */ 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, +/* 0x1520 */ 48, 48, 49, 50, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1530 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1540 */ 49, 55, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1550 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, +/* 0x1560 */ 79, 78, 76, 89, 10, 32, 32, 53, 32, 78, 82, 86, 50, 66, 32, 32, +/* 0x1570 */ 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,101, 99, 32, +/* 0x1580 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1590 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 52, 32, 32, 50, +/* 0x15a0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x15b0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x15c0 */ 32, 54, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, +/* 0x15d0 */ 32, 48, 48, 48, 48, 48, 48, 98, 56, 32, 32, 48, 48, 48, 48, 48, +/* 0x15e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x15f0 */ 48, 48, 48, 48, 51, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x1600 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, +/* 0x1610 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, +/* 0x1620 */ 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1630 */ 57, 51, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1640 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 52, +/* 0x1650 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1660 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1670 */ 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x1680 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 52, 55, 56, 32, 32, 48, +/* 0x1690 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x16a0 */ 48, 32, 32, 48, 48, 48, 48, 48,100, 56, 48, 32, 32, 50, 42, 42, +/* 0x16b0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, +/* 0x16c0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, +/* 0x16d0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, +/* 0x16e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x16f0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1700 */ 48, 49, 49,102, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x1710 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x1720 */ 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, +/* 0x1730 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1740 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1750 */ 48, 48, 48, 48, 49, 49,102, 56, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x1760 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1770 */ 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, +/* 0x1780 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 99, 32, 32, 48, +/* 0x1790 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x17a0 */ 48, 32, 32, 48, 48, 48, 48, 49, 49,102, 56, 32, 32, 50, 42, 42, +/* 0x17b0 */ 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, +/* 0x17c0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, +/* 0x17d0 */ 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, +/* 0x17e0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, +/* 0x17f0 */ 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, +/* 0x1800 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1810 */ 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1820 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1830 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, +/* 0x1840 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, +/* 0x1850 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x1860 */ 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1870 */ 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, +/* 0x1880 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x1890 */ 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x18a0 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x18b0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x18c0 */ 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x18d0 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, +/* 0x18e0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, +/* 0x18f0 */ 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1900 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, +/* 0x1910 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, +/* 0x1920 */ 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1930 */ 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1940 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, +/* 0x1950 */ 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, +/* 0x1960 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1970 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, +/* 0x1980 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, +/* 0x1990 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x19a0 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, +/* 0x19b0 */ 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, +/* 0x19c0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, +/* 0x19d0 */ 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x19e0 */ 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x19f0 */ 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, +/* 0x1a00 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 70, 76, 71, 10, 48, 48, +/* 0x1a10 */ 48, 48, 48, 48, 48, 52, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, +/* 0x1a20 */ 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a30 */ 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a40 */ 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 69, 9, 48, +/* 0x1a50 */ 48, 48, 48, 48, 49, 51, 99, 32,117, 99,108, 95,110,114,118, 50, +/* 0x1a60 */ 101, 95,100,101, 99,111,109,112,114,101,115,115, 95, 56, 10, 48, +/* 0x1a70 */ 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 70, 32, +/* 0x1a80 */ 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 49, 50, 56, 32,117, +/* 0x1a90 */ 99,108, 95,110,114,118, 50,100, 95,100,101, 99,111,109,112,114, +/* 0x1aa0 */ 101,115,115, 95, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, +/* 0x1ab0 */ 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, +/* 0x1ac0 */ 48, 48, 48,101, 99, 32,117, 99,108, 95,110,114,118, 50, 98, 95, +/* 0x1ad0 */ 100,101, 99,111,109,112,114,101,115,115, 95, 56, 10, 48, 48, 48, +/* 0x1ae0 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x1af0 */ 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1b00 */ 48, 32, 76,122,109, 97, 68,101, 99,111,100,101, 10, 48, 48, 48, +/* 0x1b10 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, +/* 0x1b20 */ 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1b30 */ 101,110,100, 95,100,101, 99,111,109,112,114,101,115,115, 10, 48, +/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1b50 */ 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, +/* 0x1b60 */ 95, 66, 73, 78, 70, 79, 10, 48, 48, 48, 48, 48, 49, 52, 99, 32, +/* 0x1b70 */ 103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, +/* 0x1b80 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 99,112,114, 48, 10, 10, +/* 0x1b90 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x1ba0 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, +/* 0x1bb0 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, +/* 0x1bc0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, +/* 0x1bd0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 65, +/* 0x1be0 */ 82, 77, 95, 65, 66, 83, 51, 50, 32, 32, 32, 32, 32, 32, 32, 77, +/* 0x1bf0 */ 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 56, 32, 82, 95, 65, +/* 0x1c00 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, +/* 0x1c10 */ 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, +/* 0x1c20 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, +/* 0x1c30 */ 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, +/* 0x1c40 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1c50 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, +/* 0x1c60 */ 49, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x1c70 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, +/* 0x1c80 */ 48, 54, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x1c90 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, +/* 0x1ca0 */ 48, 48, 55, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x1cb0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, +/* 0x1cc0 */ 48, 48, 48, 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x1cd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, +/* 0x1ce0 */ 48, 48, 48, 48, 56, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x1cf0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, +/* 0x1d00 */ 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x1d10 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, +/* 0x1d20 */ 48, 48, 48, 48, 48, 48, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x1d30 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, +/* 0x1d40 */ 10, 48, 48, 48, 48, 48, 48, 97, 48, 32, 82, 95, 65, 82, 77, 95, +/* 0x1d50 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x1d60 */ 69, 10, 48, 48, 48, 48, 48, 48, 97, 99, 32, 82, 95, 65, 82, 77, +/* 0x1d70 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x1d80 */ 50, 69, 10, 48, 48, 48, 48, 48, 48, 98, 99, 32, 82, 95, 65, 82, +/* 0x1d90 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x1da0 */ 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 99, 52, 32, 82, 95, 65, +/* 0x1db0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x1dc0 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 99, 56, 32, 82, 95, +/* 0x1dd0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1de0 */ 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,100, 48, 32, 82, +/* 0x1df0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x1e00 */ 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,100, 52, 32, +/* 0x1e10 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x1e20 */ 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, 48, +/* 0x1e30 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x1e40 */ 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48,101, +/* 0x1e50 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x1e60 */ 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, +/* 0x1e70 */ 101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x1e80 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, +/* 0x1e90 */ 48,102, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x1ea0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, +/* 0x1eb0 */ 48, 48,102, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x1ec0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, +/* 0x1ed0 */ 48, 48, 49, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x1ee0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, 48, +/* 0x1ef0 */ 48, 48, 48, 49, 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x1f00 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, 48, +/* 0x1f10 */ 48, 48, 48, 48, 49, 51, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x1f20 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, 10, +/* 0x1f30 */ 48, 48, 48, 48, 48, 49, 51, 56, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x1f40 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 69, +/* 0x1f50 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, +/* 0x1f60 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, +/* 0x1f70 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, +/* 0x1f80 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, +/* 0x1f90 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 65, 82, +/* 0x1fa0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x1fb0 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 54, 99, 32, 82, 95, 65, +/* 0x1fc0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x1fd0 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 55, 48, 32, 82, 95, +/* 0x1fe0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1ff0 */ 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 55, 56, 32, 82, +/* 0x2000 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2010 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 56, 52, 32, +/* 0x2020 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2030 */ 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 57, 48, +/* 0x2040 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2050 */ 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 57, +/* 0x2060 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2070 */ 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, +/* 0x2080 */ 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x2090 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, +/* 0x20a0 */ 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x20b0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, +/* 0x20c0 */ 48, 48, 98, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x20d0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, +/* 0x20e0 */ 48, 48, 48, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x20f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, 48, +/* 0x2100 */ 48, 48, 48, 48, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2110 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, 48, +/* 0x2120 */ 48, 48, 48, 48, 48,100, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2130 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, 10, +/* 0x2140 */ 48, 48, 48, 48, 48, 48,101, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2150 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 68, +/* 0x2160 */ 10, 48, 48, 48, 48, 48, 48,101, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x2170 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x2180 */ 68, 10, 48, 48, 48, 48, 48, 48,102, 56, 32, 82, 95, 65, 82, 77, +/* 0x2190 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x21a0 */ 50, 68, 10, 48, 48, 48, 48, 48, 48,102, 99, 32, 82, 95, 65, 82, +/* 0x21b0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x21c0 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 49, 50, 48, 32, 82, 95, 65, +/* 0x21d0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x21e0 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 49, 50, 52, 32, 82, 95, +/* 0x21f0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2200 */ 78, 82, 86, 50, 68, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, +/* 0x2210 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, +/* 0x2220 */ 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x2230 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2240 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 48, +/* 0x2250 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x2260 */ 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 55, +/* 0x2270 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2280 */ 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, +/* 0x2290 */ 55, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x22a0 */ 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, +/* 0x22b0 */ 48, 55, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x22c0 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, +/* 0x22d0 */ 48, 48, 56, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x22e0 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, +/* 0x22f0 */ 48, 48, 48, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2300 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, 48, +/* 0x2310 */ 48, 48, 48, 48, 57, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2320 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, 48, +/* 0x2330 */ 48, 48, 48, 48, 48, 97, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2340 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, 10, +/* 0x2350 */ 48, 48, 48, 48, 48, 48, 98, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x2360 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, 66, +/* 0x2370 */ 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x2380 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 50, +/* 0x2390 */ 66, 10, 48, 48, 48, 48, 48, 48, 98, 99, 32, 82, 95, 65, 82, 77, +/* 0x23a0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, +/* 0x23b0 */ 50, 66, 10, 48, 48, 48, 48, 48, 48, 99, 52, 32, 82, 95, 65, 82, +/* 0x23c0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x23d0 */ 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 99, 56, 32, 82, 95, 65, +/* 0x23e0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 78, +/* 0x23f0 */ 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48,101, 52, 32, 82, 95, +/* 0x2400 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2410 */ 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48,101, 56, 32, 82, +/* 0x2420 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x2430 */ 32, 78, 82, 86, 50, 66, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x2440 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x2450 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, +/* 0x2460 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x2470 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2480 */ 48, 48, 48, 48, 48, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x2490 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x24a0 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 52, 99, 32, 82, 95, 65, +/* 0x24b0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x24c0 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, +/* 0x24d0 */ 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x24e0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, +/* 0x24f0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, +/* 0x2500 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 68, 69, +/* 0x2510 */ 67, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, +/* 0x2520 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2530 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 55, 52, 32, +/* 0x2540 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2550 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2560 */ 48, 48, 48, 57, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2570 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2580 */ 50, 48, 10, 48, 48, 48, 48, 48, 48, 98, 56, 32, 82, 95, 65, 82, +/* 0x2590 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x25a0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 99, +/* 0x25b0 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x25c0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x25d0 */ 48, 48, 48, 48, 48,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x25e0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x25f0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 48, 48, 32, 82, 95, +/* 0x2600 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2610 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2620 */ 49, 48, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2630 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2640 */ 10, 48, 48, 48, 48, 48, 49, 52, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x2650 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2660 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 49, 57, 48, 32, +/* 0x2670 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2680 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2690 */ 48, 48, 49, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x26a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x26b0 */ 50, 48, 10, 48, 48, 48, 48, 48, 49,100, 56, 32, 82, 95, 65, 82, +/* 0x26c0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x26d0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 48, +/* 0x26e0 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x26f0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2700 */ 48, 48, 48, 48, 50, 49, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2710 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2720 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 50, 48, 32, 82, 95, +/* 0x2730 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2740 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2750 */ 50, 51, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2760 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2770 */ 10, 48, 48, 48, 48, 48, 50, 51, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x2780 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2790 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 52, 48, 32, +/* 0x27a0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x27b0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x27c0 */ 48, 48, 50, 52, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x27d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x27e0 */ 50, 48, 10, 48, 48, 48, 48, 48, 50, 53, 56, 32, 82, 95, 65, 82, +/* 0x27f0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2800 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50, 97, +/* 0x2810 */ 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2820 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2830 */ 48, 48, 48, 48, 50, 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2840 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2850 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 50,101, 56, 32, 82, 95, +/* 0x2860 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2870 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2880 */ 51, 48, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2890 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x28a0 */ 10, 48, 48, 48, 48, 48, 51, 48, 99, 32, 82, 95, 65, 82, 77, 95, +/* 0x28b0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x28c0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 51, 99, 32, +/* 0x28d0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x28e0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x28f0 */ 48, 48, 51, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2900 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2910 */ 50, 48, 10, 48, 48, 48, 48, 48, 51, 97, 48, 32, 82, 95, 65, 82, +/* 0x2920 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2930 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51, 97, +/* 0x2940 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2950 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2960 */ 48, 48, 48, 48, 51, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2970 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2980 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 51,101, 48, 32, 82, 95, +/* 0x2990 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x29a0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x29b0 */ 51,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x29c0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x29d0 */ 10, 48, 48, 48, 48, 48, 52, 50, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x29e0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x29f0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 51, 56, 32, +/* 0x2a00 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2a10 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2a20 */ 48, 48, 52, 54, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2a30 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2a40 */ 50, 48, 10, 48, 48, 48, 48, 48, 52, 56, 52, 32, 82, 95, 65, 82, +/* 0x2a50 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2a60 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52, 56, +/* 0x2a70 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2a80 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2a90 */ 48, 48, 48, 48, 52, 98, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2aa0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2ab0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 52,100, 52, 32, 82, 95, +/* 0x2ac0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2ad0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2ae0 */ 52,101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2af0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2b00 */ 10, 48, 48, 48, 48, 48, 52,102, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x2b10 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2b20 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 49, 56, 32, +/* 0x2b30 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2b40 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2b50 */ 48, 48, 53, 51, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2b60 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2b70 */ 50, 48, 10, 48, 48, 48, 48, 48, 53, 57, 56, 32, 82, 95, 65, 82, +/* 0x2b80 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2b90 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53, 97, +/* 0x2ba0 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2bb0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2bc0 */ 48, 48, 48, 48, 53, 99, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2bd0 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2be0 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 53,101, 52, 32, 82, 95, +/* 0x2bf0 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2c00 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2c10 */ 53,102, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2c20 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2c30 */ 10, 48, 48, 48, 48, 48, 54, 48, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x2c40 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2c50 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 50, 52, 32, +/* 0x2c60 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2c70 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2c80 */ 48, 48, 54, 52, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2c90 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2ca0 */ 50, 48, 10, 48, 48, 48, 48, 48, 54, 56, 48, 32, 82, 95, 65, 82, +/* 0x2cb0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2cc0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54, 56, +/* 0x2cd0 */ 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2ce0 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2cf0 */ 48, 48, 48, 48, 54,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2d00 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2d10 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 54,101, 99, 32, 82, 95, +/* 0x2d20 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2d30 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2d40 */ 55, 49, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2d50 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2d60 */ 10, 48, 48, 48, 48, 48, 55, 50, 56, 32, 82, 95, 65, 82, 77, 95, +/* 0x2d70 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2d80 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 54, 99, 32, +/* 0x2d90 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2da0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2db0 */ 48, 48, 55, 55, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2dc0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2dd0 */ 50, 48, 10, 48, 48, 48, 48, 48, 55, 57, 99, 32, 82, 95, 65, 82, +/* 0x2de0 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2df0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55, 98, +/* 0x2e00 */ 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2e10 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2e20 */ 48, 48, 48, 48, 55, 99, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2e30 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2e40 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 55,100, 48, 32, 82, 95, +/* 0x2e50 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2e60 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2e70 */ 55,102, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2e80 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2e90 */ 10, 48, 48, 48, 48, 48, 56, 50, 48, 32, 82, 95, 65, 82, 77, 95, +/* 0x2ea0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2eb0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 50, 99, 32, +/* 0x2ec0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x2ed0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, +/* 0x2ee0 */ 48, 48, 56, 55, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x2ef0 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, +/* 0x2f00 */ 50, 48, 10, 48, 48, 48, 48, 48, 56, 56, 56, 32, 82, 95, 65, 82, +/* 0x2f10 */ 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, +/* 0x2f20 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56, 97, +/* 0x2f30 */ 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, +/* 0x2f40 */ 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, +/* 0x2f50 */ 48, 48, 48, 48, 56,101, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, +/* 0x2f60 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2f70 */ 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 56,102, 52, 32, 82, 95, +/* 0x2f80 */ 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2f90 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, +/* 0x2fa0 */ 56,102, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, +/* 0x2fb0 */ 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, +/* 0x2fc0 */ 10, 48, 48, 48, 48, 48, 57, 48, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x2fd0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, +/* 0x2fe0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 57, 50, 56, 32, +/* 0x2ff0 */ 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, +/* 0x3000 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 10, 82, 69, +/* 0x3010 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, +/* 0x3020 */ 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, +/* 0x3030 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, +/* 0x3040 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, +/* 0x3050 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 55, 56, 32, 82, 95, 65, +/* 0x3060 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x3070 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, +/* 0x3080 */ 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x3090 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x30a0 */ 48, 48, 48, 48, 48, 48, 56, 56, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x30b0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x30c0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 97, 56, 32, 82, +/* 0x30d0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x30e0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x30f0 */ 48, 48, 97, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3100 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3110 */ 48, 10, 48, 48, 48, 48, 48, 48,101, 52, 32, 82, 95, 65, 82, 77, +/* 0x3120 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3130 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 48, 48, +/* 0x3140 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x3150 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x3160 */ 48, 48, 48, 49, 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x3170 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x3180 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 49, 52, 32, 82, 95, 65, +/* 0x3190 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x31a0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, +/* 0x31b0 */ 49, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x31c0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x31d0 */ 48, 48, 48, 48, 48, 49, 50, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x31e0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x31f0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 50, 56, 32, 82, +/* 0x3200 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x3210 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x3220 */ 48, 49, 52, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3230 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3240 */ 48, 10, 48, 48, 48, 48, 48, 49, 52, 99, 32, 82, 95, 65, 82, 77, +/* 0x3250 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3260 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 53, 48, +/* 0x3270 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x3280 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x3290 */ 48, 48, 48, 49, 56, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x32a0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x32b0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 56, 56, 32, 82, 95, 65, +/* 0x32c0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x32d0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, +/* 0x32e0 */ 56, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x32f0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x3300 */ 48, 48, 48, 48, 48, 49, 57, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x3310 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x3320 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, 97, 48, 32, 82, +/* 0x3330 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x3340 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x3350 */ 48, 49, 99, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3360 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3370 */ 48, 10, 48, 48, 48, 48, 48, 49, 99, 99, 32, 82, 95, 65, 82, 77, +/* 0x3380 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3390 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49,100, 52, +/* 0x33a0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x33b0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x33c0 */ 48, 48, 48, 49,100, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x33d0 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x33e0 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 49,101, 52, 32, 82, 95, 65, +/* 0x33f0 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x3400 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 49, +/* 0x3410 */ 101, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x3420 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x3430 */ 48, 48, 48, 48, 48, 50, 50, 56, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x3440 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x3450 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 50, 99, 32, 82, +/* 0x3460 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x3470 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x3480 */ 48, 50, 52, 52, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3490 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x34a0 */ 48, 10, 48, 48, 48, 48, 48, 50, 52, 99, 32, 82, 95, 65, 82, 77, +/* 0x34b0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x34c0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 53, 48, +/* 0x34d0 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x34e0 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x34f0 */ 48, 48, 48, 50, 54, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x3500 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x3510 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 56, 52, 32, 82, 95, 65, +/* 0x3520 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x3530 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, +/* 0x3540 */ 56, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x3550 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x3560 */ 48, 48, 48, 48, 48, 50, 97, 52, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x3570 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x3580 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50, 99, 56, 32, 82, +/* 0x3590 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x35a0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x35b0 */ 48, 50,100, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x35c0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x35d0 */ 48, 10, 48, 48, 48, 48, 48, 50,100, 99, 32, 82, 95, 65, 82, 77, +/* 0x35e0 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x35f0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 50,102, 52, +/* 0x3600 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x3610 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x3620 */ 48, 48, 48, 51, 48, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x3630 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x3640 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 49, 52, 32, 82, 95, 65, +/* 0x3650 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x3660 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, +/* 0x3670 */ 50, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x3680 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x3690 */ 48, 48, 48, 48, 48, 51, 53, 48, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x36a0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x36b0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 53, 56, 32, 82, +/* 0x36c0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x36d0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x36e0 */ 48, 51, 55, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x36f0 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3700 */ 48, 10, 48, 48, 48, 48, 48, 51, 55, 56, 32, 82, 95, 65, 82, 77, +/* 0x3710 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3720 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 57, 99, +/* 0x3730 */ 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, +/* 0x3740 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, +/* 0x3750 */ 48, 48, 48, 51, 98, 48, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, +/* 0x3760 */ 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x3770 */ 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, 98, 56, 32, 82, 95, 65, +/* 0x3780 */ 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, +/* 0x3790 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 51, +/* 0x37a0 */ 99, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, +/* 0x37b0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, +/* 0x37c0 */ 48, 48, 48, 48, 48, 51, 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, +/* 0x37d0 */ 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, +/* 0x37e0 */ 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 52, 48, 48, 32, 82, +/* 0x37f0 */ 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, +/* 0x3800 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, +/* 0x3810 */ 48, 52, 49, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, +/* 0x3820 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, +/* 0x3830 */ 48, 10, 48, 48, 48, 48, 48, 52, 52, 48, 32, 82, 95, 65, 82, 77, +/* 0x3840 */ 95, 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, +/* 0x3850 */ 65, 95, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, +/* 0x3860 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, +/* 0x3870 */ 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, +/* 0x3880 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, +/* 0x3890 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, +/* 0x38a0 */ 48, 48, 49, 51, 56, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, +/* 0x38b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, +/* 0x38c0 */ 10, 48, 48, 48, 48, 48, 49, 52, 52, 32, 82, 95, 65, 82, 77, 95, +/* 0x38d0 */ 80, 67, 50, 52, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, +/* 0x38e0 */ 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, 52, 56, 32, 82, 95, +/* 0x38f0 */ 65, 82, 77, 95, 65, 66, 83, 51, 50, 32, 32, 32, 32, 32, 32, 32, +/* 0x3900 */ 79, 95, 66, 73, 78, 70, 79, 10 }; diff -Nru upx-ucl-3.95/src/stub/arm.v5a-linux.elf-fold.h upx-ucl-3.96/src/stub/arm.v5a-linux.elf-fold.h --- upx-ucl-3.95/src/stub/arm.v5a-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5a-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* arm.v5a-linux.elf-fold.h - created from arm.v5a-linux.elf-fold.bin, 2780 (0xadc) bytes + created from arm.v5a-linux.elf-fold.bin, 2912 (0xb60) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,183 +31,191 @@ */ -#define STUB_ARM_V5A_LINUX_ELF_FOLD_SIZE 2780 -#define STUB_ARM_V5A_LINUX_ELF_FOLD_ADLER32 0xec52865b -#define STUB_ARM_V5A_LINUX_ELF_FOLD_CRC32 0x280ff661 +#define STUB_ARM_V5A_LINUX_ELF_FOLD_SIZE 2912 +#define STUB_ARM_V5A_LINUX_ELF_FOLD_ADLER32 0xa0a0c14d +#define STUB_ARM_V5A_LINUX_ELF_FOLD_CRC32 0xa16b2ee2 -unsigned char stub_arm_v5a_linux_elf_fold[2780] = { +unsigned char stub_arm_v5a_linux_elf_fold[2912] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 40, 0, 1, 0, 0, 0,128,128, 0, 0, 52, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 2, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, -/* 0x0040 */ 0,128, 0, 0,220, 10, 0, 0,220, 10, 0, 0, 5, 0, 0, 0, -/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0,220, 10, 0, 0, 0, 0, 0, 0, +/* 0x0040 */ 0,128, 0, 0, 96, 11, 0, 0, 96, 11, 0, 0, 5, 0, 0, 0, +/* 0x0050 */ 0,128, 0, 0, 1, 0, 0, 0, 96, 11, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0080 */ 0, 48,131,227, 14,240,160,225,192, 31,189,232, 13, 16,160,225, -/* 0x0090 */ 1,218, 77,226, 13, 0,160,225,240, 31, 45,233, 4, 48,145,228, -/* 0x00a0 */ 0, 0, 83,227, 4, 48,128,228,251,255,255, 26, 0, 64,160,225, -/* 0x00b0 */ 4, 48,128,228, 4, 48,145,228, 0, 0, 83,227, 4, 48,128,228, -/* 0x00c0 */ 251,255,255, 26, 1, 80,160,225, 12, 0,177,232, 0, 0, 82,227, -/* 0x00d0 */ 12, 0,160,232,251,255,255, 26, 1, 96,160,225, 0,144,160,225, -/* 0x00e0 */ 1, 42,160,227, 0, 16,160,225, 70, 15,143,226, 1, 32, 66,226, -/* 0x00f0 */ 132, 0, 0,235, 0, 32,129,224, 1, 10,112,227, 1, 0, 0, 58, -/* 0x0100 */ 1, 28,143,226, 14, 32,129,226, 6, 0,160,225, 0, 48,160,227, -/* 0x0110 */ 1, 48, 96,229, 1, 48,114,229, 1, 48, 96,229, 2, 0, 81,225, -/* 0x0120 */ 251,255,255, 26, 61, 48,160,227, 1, 48, 96,229, 32, 48,160,227, -/* 0x0130 */ 1, 48, 96,229, 1, 48, 96,229, 1, 48, 96,229, 0, 0,132,229, -/* 0x0140 */ 32, 1,160,225, 0, 1,160,225, 0, 48, 38,224, 4, 48, 3,226, -/* 0x0150 */ 4, 48, 35,226, 3, 0, 64,224, 6, 48, 64,224, 5, 48,131,224, -/* 0x0160 */ 9, 16,160,225, 24, 80,157,229, 24, 0,141,229, 4, 32, 49,229, -/* 0x0170 */ 13, 0, 81,225, 4, 32, 32,229,251,255,255, 26, 0,208,160,225, -/* 0x0180 */ 16, 12,189,232, 10,220, 77,226, 4,144,154,229, 13,128,160,225, -/* 0x0190 */ 0,112,154,229,124, 96,143,226, 12,144,137,226,248, 15, 45,233, -/* 0x01a0 */ 15, 0,189,232,255, 1, 0,235, 20,208,141,226, 10,220,141,226, -/* 0x01b0 */ 16, 0,141,229, 0, 80,160,227, 0, 64,189,229, 2, 48,160,227, -/* 0x01c0 */ 1, 32,160,227, 1, 26,160,227, 0, 0,160,227, 99, 0, 0,235, -/* 0x01d0 */ 4, 0,157,228, 55, 0, 0,235, 7, 64,189,232, 0, 48,160,227, -/* 0x01e0 */ 0, 64,160,227, 0, 80,160,227, 0, 96,160,227, 0,128,160,227, -/* 0x01f0 */ 0,144,160,227, 0,160,160,227, 0,176,160,227, 0,192,160,227, -/* 0x0200 */ 91,112,160,227, 4,240, 18,229, 47,112,114,111, 99, 47,115,101, -/* 0x0210 */ 108,102, 47,101,120,101, 0, 0,255, 48, 3,226, 80, 0, 83,227, -/* 0x0220 */ 14,240,160, 17, 33, 17,176,225, 0, 0, 80, 19, 14,240,160, 1, -/* 0x0230 */ 1, 16, 65,226, 1, 33,144,231, 15, 52, 2,226, 11, 4, 83,227, -/* 0x0240 */ 4, 0, 0, 26,255, 52, 2,226, 1, 32, 66,224,255, 36,194,227, -/* 0x0250 */ 3, 32,130,225, 1, 33,128,231, 0, 0, 81,227,243,255,255, 26, -/* 0x0260 */ 14,240,160,225,240, 1,240,231, 14,240,160,225, 7,192,160,225, -/* 0x0270 */ 1,112,160,227, 0, 0, 0,239, 12,112,160,225, 7,192,160,225, -/* 0x0280 */ 3,112,160,227, 0, 0, 0,239, 12,112,160,225, 14,240,160,225, -/* 0x0290 */ 7,192,160,225, 4,112,160,227, 0, 0, 0,239, 12,112,160,225, -/* 0x02a0 */ 14,240,160,225, 7,192,160,225, 5,112,160,227, 0, 0, 0,239, -/* 0x02b0 */ 12,112,160,225, 14,240,160,225, 7,192,160,225, 6,112,160,227, -/* 0x02c0 */ 0, 0, 0,239, 12,112,160,225, 14,240,160,225, 7,192,160,225, -/* 0x02d0 */ 10,112,160,227, 0, 0, 0,239, 12,112,160,225, 14,240,160,225, -/* 0x02e0 */ 7,192,160,225, 20,112,160,227, 0, 0, 0,239, 12,112,160,225, -/* 0x02f0 */ 14,240,160,225, 7,192,160,225, 45,112,160,227, 0, 0, 0,239, -/* 0x0300 */ 12,112,160,225, 14,240,160,225, 7,192,160,225, 85,112,160,227, -/* 0x0310 */ 0, 0, 0,239, 12,112,160,225, 14,240,160,225, 7,192,160,225, -/* 0x0320 */ 91,112,160,227, 0, 0, 0,239, 12,112,160,225, 14,240,160,225, -/* 0x0330 */ 7,192,160,225,125,112,160,227, 0, 0, 0,239, 12,112,160,225, -/* 0x0340 */ 14,240,160,225, 0, 32,160,227, 7,192,160,225, 2,112,160,227, -/* 0x0350 */ 15,120,135,227, 0, 0, 0,239, 12,112,160,225, 14,240,160,225, -/* 0x0360 */ 48, 64, 45,233, 16, 80,157,229, 12, 64,157,229, 37, 86,160,225, -/* 0x0370 */ 7,192,160,225,192,112,160,227, 0, 0, 0,239, 12,112,160,225, -/* 0x0380 */ 48,128,189,232,104, 0, 31,229, 14,240,160,225, 48, 64, 45,233, -/* 0x0390 */ 0, 80,160,227, 0, 64,224,227, 48,224, 79,226, 55,255,255,234, -/* 0x03a0 */ 0,192,160,225, 1, 16, 65,224, 0, 32,160,225,128, 1,144,224, -/* 0x03b0 */ 129, 17,161,224,162, 30,129,224, 0, 32,160,225, 0, 2,144,224, -/* 0x03c0 */ 1, 18,161,224, 34, 30,129,224, 0, 32,160,225, 0, 4,144,224, -/* 0x03d0 */ 1, 20,161,224, 34, 28,129,224, 0, 32,160,225, 0, 8,144,224, -/* 0x03e0 */ 1, 24,161,224, 34, 24,129,224,140, 15, 80,224,172, 16,193,224, -/* 0x03f0 */ 12, 0,144,224, 0, 0,161,226, 14,240,160,225, 0, 0, 80,227, -/* 0x0400 */ 30,255, 47, 1, 0, 48,144,229, 1, 0, 83,225, 8, 0,128, 18, -/* 0x0410 */ 251,255,255, 26, 4, 32,128,229, 30,255, 47,225, 0, 0,159,229, -/* 0x0420 */ 30,255, 47,225, 0,240,255,255, 0, 48,144,229, 4,224, 45,229, -/* 0x0430 */ 2, 0, 83,225, 4, 48,144,229, 2,224,160,225, 3,192,160, 33, -/* 0x0440 */ 2, 32,160, 33, 3, 0, 0, 42,127, 0,160,227,134,255,255,235, -/* 0x0450 */ 1, 48, 92,229, 1, 48, 65,229, 1, 32, 66,226, 1, 0,114,227, -/* 0x0460 */ 1,192,140,226, 1, 16,129,226,248,255,255, 26, 4, 32,144,229, -/* 0x0470 */ 0, 48,144,229, 14, 32,130,224, 3, 48,110,224, 0, 48,128,229, -/* 0x0480 */ 4, 32,128,229, 4,240,157,228,240, 64, 45,233, 0, 80,160,225, -/* 0x0490 */ 20,208, 77,226, 1, 64,160,225, 2,112,160,225, 3, 96,160,225, -/* 0x04a0 */ 66, 0, 0,234, 4, 16,141,226, 5, 0,160,225, 12, 32,160,227, -/* 0x04b0 */ 220,255,255,235, 4,224,157,229, 8, 16,157,229, 0, 0, 94,227, -/* 0x04c0 */ 6, 0, 0, 26,248, 48,159,229, 3, 0, 81,225, 5, 0, 0, 26, -/* 0x04d0 */ 0, 48,149,229, 0, 0, 83,227, 2, 0, 0, 26, 54, 0, 0,234, -/* 0x04e0 */ 0, 0, 81,227, 1, 0, 0, 26,127, 0,160,227, 94,255,255,235, -/* 0x04f0 */ 14, 0, 81,225,251,255,255,138, 0, 48,148,229, 3, 0, 94,225, -/* 0x0500 */ 248,255,255,138, 14, 0, 81,225, 31, 0, 0, 42, 12,192,221,229, -/* 0x0510 */ 4, 0,149,229, 4, 32,148,229, 16, 48,141,226, 16,224,141,229, -/* 0x0520 */ 0,192,141,229, 55,255, 47,225, 0, 0, 80,227,237,255,255, 26, -/* 0x0530 */ 16, 16,157,229, 4, 48,157,229, 3, 0, 81,225,233,255,255, 26, -/* 0x0540 */ 13, 32,221,229, 0, 0, 82,227, 0, 0, 86, 19, 8, 0, 0, 10, -/* 0x0550 */ 2, 12, 81,227, 2, 0, 0,138, 0, 48,148,229, 1, 0, 83,225, -/* 0x0560 */ 3, 0, 0, 26, 2, 48,160,225, 4, 0,148,229, 14, 32,221,229, -/* 0x0570 */ 54,255, 47,225, 8, 48,157,229, 6, 0,149,232, 3, 32,130,224, -/* 0x0580 */ 1, 16, 99,224, 6, 0,133,232, 3, 0, 0,234, 1, 32,160,225, -/* 0x0590 */ 5, 0,160,225, 4, 16,148,229,162,255,255,235, 4, 48,157,229, -/* 0x05a0 */ 6, 0,148,232, 3, 32,130,224, 1, 16, 99,224, 6, 0,132,232, -/* 0x05b0 */ 0, 48,148,229, 0, 0, 83,227,185,255,255, 26, 20,208,141,226, -/* 0x05c0 */ 240,128,189,232, 85, 80, 88, 33,240, 79, 45,233, 1,160,160,225, -/* 0x05d0 */ 176,193,218,225, 28, 16,145,229,188,226,218,225, 52,208, 77,226, -/* 0x05e0 */ 2, 0, 92,227, 1, 80,138,224, 16, 0,141,229, 16,192,160, 3, -/* 0x05f0 */ 0,192,160, 19, 1,224, 78,226, 5, 16,160,225, 0, 64,224,227, -/* 0x0600 */ 0, 0,160,227, 12, 32,141,229, 8, 48,141,229, 13, 0, 0,234, -/* 0x0610 */ 0, 48,145,229, 1, 0, 83,227, 8, 0, 0, 26, 20, 48,145,229, -/* 0x0620 */ 0, 0, 83,227, 5, 0, 0, 10, 8, 32,145,229, 2, 48,131,224, -/* 0x0630 */ 3, 0, 80,225, 3, 0,160, 49, 2, 0, 84,225, 2, 64,160, 33, -/* 0x0640 */ 32, 16,129,226, 1,224, 78,226, 0, 0, 94,227,239,255,255,170, -/* 0x0650 */ 255, 78,196,227, 15, 64,196,227, 0, 48,100,224,255, 62,131,226, -/* 0x0660 */ 15, 48,131,226,255, 62,195,227, 15, 48,195,227, 36, 48,141,229, -/* 0x0670 */ 4, 0,160,225, 12, 48,160,225, 36, 16,157,229, 0, 32,160,227, -/* 0x0680 */ 65,255,255,235, 52, 48,160,227, 0,144,100,224,153, 3, 3,224, -/* 0x0690 */ 28, 0,141,229, 32, 80,133,226, 0, 0,160,227, 32, 48,141,229, -/* 0x06a0 */ 24, 0,141,229,161, 0, 0,234, 12, 16,157,229, 0, 0, 81,227, -/* 0x06b0 */ 8, 0, 0, 10, 32, 48, 21,229, 6, 0, 83,227, 5, 0, 0, 26, -/* 0x06c0 */ 24, 32, 21,229, 8, 0,157,229, 2, 32,137,224, 3, 16,160,227, -/* 0x06d0 */ 73,255,255,235,145, 0, 0,234, 32, 48, 21,229, 1, 0, 83,227, -/* 0x06e0 */ 142, 0, 0, 26, 12, 48, 21,229, 0, 0, 83,227,139, 0, 0, 10, -/* 0x06f0 */ 12, 32,157,229, 0, 0, 82,227, 17, 0, 0, 10, 28, 48, 21,229, -/* 0x0700 */ 0, 0, 83,227, 14, 0, 0, 26, 28, 48,154,229, 24, 32, 21,229, -/* 0x0710 */ 3, 16,160,227, 3, 32,130,224, 2, 32,137,224, 8, 0,157,229, -/* 0x0720 */ 53,255,255,235, 8, 0,157,229, 5, 16,160,227,188, 34,218,225, -/* 0x0730 */ 49,255,255,235, 8, 0,157,229, 4, 16,160,227,186, 34,218,225, -/* 0x0740 */ 45,255,255,235, 8, 48, 21,229, 80, 34,159,229, 7, 48, 3,226, -/* 0x0750 */ 3, 49,160,225, 50, 67,160,225, 24, 48, 21,229, 12,192,157,229, -/* 0x0760 */ 3, 48,137,224, 20, 48,141,229, 16, 32, 21,229, 20, 0,157,229, -/* 0x0770 */ 3, 58,160,225, 12, 16, 21,229, 35, 58,160,225, 0, 0, 92,227, -/* 0x0780 */ 44, 32,141,229, 48, 0,141,229, 3,128,130,224, 7,176, 4,226, -/* 0x0790 */ 40, 16,141,229, 0, 96, 99,224, 14, 0, 0, 10, 6, 0,160,225, -/* 0x07a0 */ 8, 16,160,225, 3, 32,160,227, 16, 48,160,227,246,254,255,235, -/* 0x07b0 */ 0, 0, 86,225, 72, 0, 0, 26, 92, 32,157,229, 4, 48, 20,226, -/* 0x07c0 */ 2, 48,160, 17, 12, 0,157,229, 44, 16,141,226, 16, 32,157,229, -/* 0x07d0 */ 44,255,255,235, 11, 0, 0,234, 28,192, 21,229, 6, 0,160,225, -/* 0x07e0 */ 12,192, 99,224, 4,192,141,229, 16,192,157,229, 8, 16,160,225, -/* 0x07f0 */ 11, 32,160,225, 18, 48,160,227, 0,192,141,229,215,254,255,235, -/* 0x0800 */ 0, 0, 86,225, 52, 0, 0, 26, 0, 48,104,226, 3,122,160,225, -/* 0x0810 */ 2, 0, 27,227, 39,122,160,225, 7, 0, 0, 10, 0, 0, 87,227, -/* 0x0820 */ 5, 0, 0, 10, 8, 16,134,224, 7, 32,160,225, 0, 48,160,227, -/* 0x0830 */ 1, 32, 82,226, 1, 48,193,228,251,255,255, 26, 12, 0,157,229, -/* 0x0840 */ 0, 0, 80,227, 38, 0, 0, 10,205,254,255,235, 32, 48, 21,229, -/* 0x0850 */ 1, 0, 83,227, 26, 0, 0, 26, 8, 48, 21,229, 1, 0, 19,227, -/* 0x0860 */ 23, 0, 0, 10, 12, 32, 21,229, 16, 48, 21,229, 24, 16, 21,229, -/* 0x0870 */ 3, 0, 82,225, 66, 0, 0, 26, 1, 48,130,224, 3, 48,131,226, -/* 0x0880 */ 3, 48,137,224, 3, 64,195,227, 0, 48,100,226, 3, 58,160,225, -/* 0x0890 */ 35, 58,160,225, 7, 0, 83,227, 57, 0, 0,154, 0, 49,159,229, -/* 0x08a0 */ 0, 0,132,229, 8, 16,132,226, 4, 0,160,225, 4, 48,132,229, -/* 0x08b0 */ 163,254,255,235, 8, 0,157,229, 4, 32,160,225, 0, 16,160,227, -/* 0x08c0 */ 205,254,255,235, 6, 0,160,225, 8, 16,160,225, 11, 32,160,225, -/* 0x08d0 */ 150,254,255,235, 0, 0, 80,227, 1, 0, 0, 10,127, 0,160,227, -/* 0x08e0 */ 97,254,255,235, 20, 32,157,229, 40,192,157,229, 7, 48,136,224, -/* 0x08f0 */ 12, 16,130,224, 3, 64,134,224, 1, 0, 84,225, 7, 0, 0, 42, -/* 0x0900 */ 1, 16,100,224, 11, 32,160,225, 4, 0,160,225, 16, 48,160,227, -/* 0x0910 */ 157,254,255,235, 0, 0, 84,225, 0, 0, 0, 10,254,255,255,234, -/* 0x0920 */ 24, 0,157,229, 32, 80,133,226, 1, 0,128,226, 24, 0,141,229, -/* 0x0930 */ 188, 50,218,225, 24, 16,157,229, 3, 0, 81,225, 89,255,255,186, -/* 0x0940 */ 12, 32,157,229, 0, 0, 82,227, 6, 0, 0, 10,176, 49,218,225, -/* 0x0950 */ 3, 0, 83,227, 3, 0, 0, 10, 36, 48,157,229, 28,192,157,229, -/* 0x0960 */ 12, 0,131,224, 98,254,255,235, 88, 0,157,229, 0, 0, 80,227, -/* 0x0970 */ 0,144,128, 21, 24, 0,154,229, 0, 0,137,224, 52,208,141,226, -/* 0x0980 */ 240,143,189,232, 28, 48, 21,229, 0, 0, 83,227, 32, 32,157, 5, -/* 0x0990 */ 2, 48,129, 0, 8, 64,131, 2,191,255,255, 10,200,255,255,234, -/* 0x09a0 */ 64, 98, 81,115, 14,240,160,225,240, 71, 45,233, 12,208, 77,226, -/* 0x09b0 */ 52, 96,141,226, 0,144,160,225, 1,112,160,225, 3,128,160,225, -/* 0x09c0 */ 6, 0,160,225, 44, 16,141,226, 0, 48,160,227, 48,160,157,229, -/* 0x09d0 */ 2, 80,160,225, 52, 64,157,229,170,254,255,235, 60, 48,157,229, -/* 0x09e0 */ 56,192,157,229, 12,224,141,226, 4, 48, 46,229, 12,192,100,224, -/* 0x09f0 */ 6, 32,160,225, 10, 16,160,225, 9, 48,160,225, 5, 0,160,225, -/* 0x0a00 */ 56,192,141,229, 0,224,141,229, 52,112,141,229, 4,128,141,229, -/* 0x0a10 */ 236,254,255,235, 0, 64,160,225, 9, 16,160,227, 9, 0,160,225, -/* 0x0a20 */ 4, 32,160,225,116,254,255,235,188, 2,218,225, 52, 32,138,226, -/* 0x0a30 */ 0, 16,160,227, 35, 0, 0,234, 0, 48,146,229, 3, 0, 83,227, -/* 0x0a40 */ 30, 0, 0, 26, 8, 48,146,229, 8, 0,157,229, 0, 16,160,227, -/* 0x0a50 */ 0, 0,131,224, 1, 32,160,225, 17,254,255,235, 0, 80, 80,226, -/* 0x0a60 */ 4, 0, 0,186, 10, 16,160,225, 2, 44,160,227, 2,254,255,235, -/* 0x0a70 */ 2, 12, 80,227, 1, 0, 0, 10,127, 0,160,227,250,253,255,235, -/* 0x0a80 */ 0,224,160,227, 14, 32,160,225, 8,192,141,226, 10, 16,160,225, -/* 0x0a90 */ 9, 48,160,225, 5, 0,160,225, 0, 80,141,232,201,254,255,235, -/* 0x0aa0 */ 7, 16,160,227, 0, 64,160,225, 8, 32,157,229, 9, 0,160,225, -/* 0x0ab0 */ 81,254,255,235, 5, 0,160,225,254,253,255,235, 3, 0, 0,234, -/* 0x0ac0 */ 32, 32,130,226, 1, 16,129,226, 0, 0, 81,225,217,255,255,186, -/* 0x0ad0 */ 4, 0,160,225, 12,208,141,226,240,135,189,232 +/* 0x0080 */ 34, 0, 0, 0,192, 31,189,232, 13, 16,160,225, 1,218, 77,226, +/* 0x0090 */ 13, 0,160,225,240, 31, 45,233, 4, 48,145,228, 0, 0, 83,227, +/* 0x00a0 */ 4, 48,128,228,251,255,255, 26, 0, 64,160,225, 4, 48,128,228, +/* 0x00b0 */ 4, 48,145,228, 0, 0, 83,227, 4, 48,128,228,251,255,255, 26, +/* 0x00c0 */ 1, 80,160,225, 12, 0,177,232, 0, 0, 82,227, 12, 0,160,232, +/* 0x00d0 */ 251,255,255, 26, 1, 96,160,225, 0,144,160,225, 1, 42,160,227, +/* 0x00e0 */ 0, 16,160,225, 14, 0,160,225, 1, 32, 66,226,139, 0, 0,235, +/* 0x00f0 */ 1, 10,112,227, 14, 16,160, 33, 14, 0,160, 35, 0, 32,129,224, +/* 0x0100 */ 6, 0,160,225, 0, 48,160,227, 1, 48, 96,229, 1, 48,114,229, +/* 0x0110 */ 1, 48, 96,229, 2, 0, 81,225,251,255,255, 26, 61, 48,160,227, +/* 0x0120 */ 1, 48, 96,229, 32, 48,160,227, 1, 48, 96,229, 1, 48, 96,229, +/* 0x0130 */ 1, 48, 96,229, 0, 0,132,229, 32, 1,160,225, 0, 1,160,225, +/* 0x0140 */ 0, 48, 38,224, 4, 48, 3,226, 4, 48, 35,226, 3, 0, 64,224, +/* 0x0150 */ 6, 48, 64,224, 5, 48,131,224, 9, 16,160,225, 24, 80,157,229, +/* 0x0160 */ 24, 0,141,229, 4, 32, 49,229, 13, 0, 81,225, 4, 32, 32,229, +/* 0x0170 */ 251,255,255, 26, 0,208,160,225, 16, 12,189,232, 10,220, 77,226, +/* 0x0180 */ 4,144,154,229, 13,128,160,225, 0,112,154,229,156, 96,143,226, +/* 0x0190 */ 12,144,137,226,248, 15, 45,233, 15, 0,189,232, 34, 2, 0,235, +/* 0x01a0 */ 20,208,141,226, 10,220,141,226, 16, 0,141,229, 4, 64,157,228, +/* 0x01b0 */ 0, 80,160,227, 48, 0, 45,233, 2, 48,160,227, 1, 32,160,227, +/* 0x01c0 */ 1, 26,160,227, 0, 0,160,227,106, 0, 0,235, 3, 0,189,232, +/* 0x01d0 */ 62, 0, 0,235, 7, 64,189,232, 0, 48,160,227, 0, 64,160,227, +/* 0x01e0 */ 0, 80,160,227, 0, 96,160,227, 0,128,160,227, 0,144,160,227, +/* 0x01f0 */ 0,160,160,227, 0,176,160,227, 1,199, 77,226, 32,112, 29,228, +/* 0x0200 */ 0,112,141,229, 0,112,157,229, 13, 0, 92,225,250,255,255, 58, +/* 0x0210 */ 1,215,141,226, 0,192,160,227, 91,112,160,227, 4,240, 18,229, +/* 0x0220 */ 47,112,114,111, 99, 47,115,101,108,102, 47,101,120,101, 0, 0, +/* 0x0230 */ 255, 48, 3,226, 80, 0, 83,227, 14,240,160, 17, 33, 17,176,225, +/* 0x0240 */ 0, 0, 80, 19, 14,240,160, 1, 1, 16, 65,226, 1, 33,144,231, +/* 0x0250 */ 15, 52, 2,226, 11, 4, 83,227, 4, 0, 0, 26,255, 52, 2,226, +/* 0x0260 */ 1, 32, 66,224,255, 36,194,227, 3, 32,130,225, 1, 33,128,231, +/* 0x0270 */ 0, 0, 81,227,243,255,255, 26, 14,240,160,225,240, 1,240,231, +/* 0x0280 */ 14,240,160,225, 7,192,160,225, 1,112,160,227, 0, 0, 0,239, +/* 0x0290 */ 12,112,160,225, 7,192,160,225, 3,112,160,227, 0, 0, 0,239, +/* 0x02a0 */ 12,112,160,225, 14,240,160,225, 7,192,160,225, 4,112,160,227, +/* 0x02b0 */ 0, 0, 0,239, 12,112,160,225, 14,240,160,225, 7,192,160,225, +/* 0x02c0 */ 5,112,160,227, 0, 0, 0,239, 12,112,160,225, 14,240,160,225, +/* 0x02d0 */ 7,192,160,225, 6,112,160,227, 0, 0, 0,239, 12,112,160,225, +/* 0x02e0 */ 14,240,160,225, 7,192,160,225, 10,112,160,227, 0, 0, 0,239, +/* 0x02f0 */ 12,112,160,225, 14,240,160,225, 7,192,160,225, 20,112,160,227, +/* 0x0300 */ 0, 0, 0,239, 12,112,160,225, 14,240,160,225, 7,192,160,225, +/* 0x0310 */ 45,112,160,227, 0, 0, 0,239, 12,112,160,225, 14,240,160,225, +/* 0x0320 */ 7,192,160,225, 85,112,160,227, 0, 0, 0,239, 12,112,160,225, +/* 0x0330 */ 14,240,160,225, 7,192,160,225, 91,112,160,227, 0, 0, 0,239, +/* 0x0340 */ 12,112,160,225, 14,240,160,225, 7,192,160,225,125,112,160,227, +/* 0x0350 */ 0, 0, 0,239, 12,112,160,225, 14,240,160,225, 0, 32,160,227, +/* 0x0360 */ 7,192,160,225, 2,112,160,227, 15,120,135,227, 0, 0, 0,239, +/* 0x0370 */ 12,112,160,225, 14,240,160,225, 48, 64, 45,233, 16, 80,157,229, +/* 0x0380 */ 12, 64,157,229, 37, 86,160,225, 7,192,160,225,192,112,160,227, +/* 0x0390 */ 0, 0, 0,239, 12,112,160,225, 48,128,189,232,104, 0, 31,229, +/* 0x03a0 */ 14,240,160,225, 48, 64, 45,233, 48, 67, 31,229, 0, 80,160,227, +/* 0x03b0 */ 4, 48,131,225, 0, 64,224,227,242,255,255,234, 0,192,160,225, +/* 0x03c0 */ 1, 16, 65,224, 0, 32,160,225,128, 1,144,224,129, 17,161,224, +/* 0x03d0 */ 162, 30,129,224, 0, 32,160,225, 0, 2,144,224, 1, 18,161,224, +/* 0x03e0 */ 34, 30,129,224, 0, 32,160,225, 0, 4,144,224, 1, 20,161,224, +/* 0x03f0 */ 34, 28,129,224, 0, 32,160,225, 0, 8,144,224, 1, 24,161,224, +/* 0x0400 */ 34, 24,129,224,140, 15, 80,224,172, 16,193,224, 12, 0,144,224, +/* 0x0410 */ 0, 0,161,226, 14,240,160,225, 0, 0, 80,227, 30,255, 47, 1, +/* 0x0420 */ 0, 48,144,229, 1, 0, 83,225, 8, 0,128, 18,251,255,255, 26, +/* 0x0430 */ 4, 32,128,229, 30,255, 47,225, 0, 0,159,229, 30,255, 47,225, +/* 0x0440 */ 0,240,255,255, 0, 48,144,229, 4,224, 45,229, 2, 0, 83,225, +/* 0x0450 */ 4, 48,144,229, 2,224,160,225, 3,192,160, 33, 2, 32,160, 33, +/* 0x0460 */ 3, 0, 0, 42,127, 0,160,227,133,255,255,235, 1, 48, 92,229, +/* 0x0470 */ 1, 48, 65,229, 1, 32, 66,226, 1, 0,114,227, 1,192,140,226, +/* 0x0480 */ 1, 16,129,226,248,255,255, 26, 4, 32,144,229, 0, 48,144,229, +/* 0x0490 */ 14, 32,130,224, 3, 48,110,224, 0, 48,128,229, 4, 32,128,229, +/* 0x04a0 */ 4,240,157,228,240, 64, 45,233, 0, 80,160,225, 20,208, 77,226, +/* 0x04b0 */ 1, 64,160,225, 2,112,160,225, 3, 96,160,225, 66, 0, 0,234, +/* 0x04c0 */ 4, 16,141,226, 5, 0,160,225, 12, 32,160,227,220,255,255,235, +/* 0x04d0 */ 4,224,157,229, 8, 16,157,229, 0, 0, 94,227, 6, 0, 0, 26, +/* 0x04e0 */ 248, 48,159,229, 3, 0, 81,225, 5, 0, 0, 26, 0, 48,149,229, +/* 0x04f0 */ 0, 0, 83,227, 2, 0, 0, 26, 54, 0, 0,234, 0, 0, 81,227, +/* 0x0500 */ 1, 0, 0, 26,127, 0,160,227, 93,255,255,235, 14, 0, 81,225, +/* 0x0510 */ 251,255,255,138, 0, 48,148,229, 3, 0, 94,225,248,255,255,138, +/* 0x0520 */ 14, 0, 81,225, 31, 0, 0, 42, 12,192,221,229, 4, 0,149,229, +/* 0x0530 */ 4, 32,148,229, 16, 48,141,226, 16,224,141,229, 0,192,141,229, +/* 0x0540 */ 55,255, 47,225, 0, 0, 80,227,237,255,255, 26, 16, 16,157,229, +/* 0x0550 */ 4, 48,157,229, 3, 0, 81,225,233,255,255, 26, 13, 32,221,229, +/* 0x0560 */ 0, 0, 82,227, 0, 0, 86, 19, 8, 0, 0, 10, 2, 12, 81,227, +/* 0x0570 */ 2, 0, 0,138, 0, 48,148,229, 1, 0, 83,225, 3, 0, 0, 26, +/* 0x0580 */ 2, 48,160,225, 4, 0,148,229, 14, 32,221,229, 54,255, 47,225, +/* 0x0590 */ 8, 48,157,229, 6, 0,149,232, 3, 32,130,224, 1, 16, 99,224, +/* 0x05a0 */ 6, 0,133,232, 3, 0, 0,234, 1, 32,160,225, 5, 0,160,225, +/* 0x05b0 */ 4, 16,148,229,162,255,255,235, 4, 48,157,229, 6, 0,148,232, +/* 0x05c0 */ 3, 32,130,224, 1, 16, 99,224, 6, 0,132,232, 0, 48,148,229, +/* 0x05d0 */ 0, 0, 83,227,185,255,255, 26, 20,208,141,226,240,128,189,232, +/* 0x05e0 */ 85, 80, 88, 33,240, 79, 45,233, 1,128,160,225,176,193,216,225, +/* 0x05f0 */ 28, 16,145,229,188,226,216,225, 56,208, 77,226, 2, 0, 92,227, +/* 0x0600 */ 1, 80,136,224, 16, 0,141,229, 16,192,160, 3, 0,192,160, 19, +/* 0x0610 */ 1,224, 78,226, 5, 16,160,225, 0, 64,224,227, 0, 0,160,227, +/* 0x0620 */ 12, 32,141,229, 8, 48,141,229, 13, 0, 0,234, 0, 48,145,229, +/* 0x0630 */ 1, 0, 83,227, 8, 0, 0, 26, 20, 48,145,229, 0, 0, 83,227, +/* 0x0640 */ 5, 0, 0, 10, 8, 32,145,229, 2, 48,131,224, 3, 0, 80,225, +/* 0x0650 */ 3, 0,160, 49, 2, 0, 84,225, 2, 64,160, 33, 32, 16,129,226, +/* 0x0660 */ 1,224, 78,226, 0, 0, 94,227,239,255,255,170,255, 78,196,227, +/* 0x0670 */ 15, 64,196,227, 0, 48,100,224,255, 62,131,226, 15, 48,131,226, +/* 0x0680 */ 255, 62,195,227, 15, 48,195,227, 40, 48,141,229, 4, 0,160,225, +/* 0x0690 */ 12, 48,160,225, 40, 16,157,229, 0, 32,160,227, 64,255,255,235, +/* 0x06a0 */ 52, 48,160,227, 0,144,100,224,153, 3, 3,224, 28, 0,141,229, +/* 0x06b0 */ 32, 80,133,226, 0, 0,160,227, 36, 48,141,229, 24, 0,141,229, +/* 0x06c0 */ 171, 0, 0,234, 12, 16,157,229, 0, 0, 81,227, 8, 0, 0, 10, +/* 0x06d0 */ 32, 48, 21,229, 6, 0, 83,227, 5, 0, 0, 26, 24, 32, 21,229, +/* 0x06e0 */ 8, 0,157,229, 2, 32,137,224, 3, 16,160,227, 73,255,255,235, +/* 0x06f0 */ 155, 0, 0,234, 32, 48, 21,229, 1, 0, 83,227,152, 0, 0, 26, +/* 0x0700 */ 12, 48, 21,229, 0, 0, 83,227,149, 0, 0, 10, 12, 32,157,229, +/* 0x0710 */ 0, 0, 82,227, 17, 0, 0, 10, 28, 48, 21,229, 0, 0, 83,227, +/* 0x0720 */ 14, 0, 0, 26, 28, 48,152,229, 24, 32, 21,229, 3, 16,160,227, +/* 0x0730 */ 3, 32,130,224, 2, 32,137,224, 8, 0,157,229, 53,255,255,235, +/* 0x0740 */ 8, 0,157,229, 5, 16,160,227,188, 34,216,225, 49,255,255,235, +/* 0x0750 */ 8, 0,157,229, 4, 16,160,227,186, 34,216,225, 45,255,255,235, +/* 0x0760 */ 8, 48, 21,229,184, 34,159,229, 7, 48, 3,226, 3, 49,160,225, +/* 0x0770 */ 50, 67,160,225, 24, 48, 21,229, 12,192,157,229, 3, 48,137,224, +/* 0x0780 */ 20, 48,141,229, 16, 32, 21,229, 20, 0,157,229, 3, 58,160,225, +/* 0x0790 */ 12, 16, 21,229, 35, 58,160,225, 0, 0, 92,227, 48, 32,141,229, +/* 0x07a0 */ 52, 0,141,229, 3,160,130,224, 7,176, 4,226, 44, 16,141,229, +/* 0x07b0 */ 0, 96, 99,224, 14, 0, 0, 10, 6, 0,160,225, 10, 16,160,225, +/* 0x07c0 */ 3, 32,160,227, 16, 48,160,227,245,254,255,235, 0, 0, 86,225, +/* 0x07d0 */ 82, 0, 0, 26, 96, 32,157,229, 4, 48, 20,226, 2, 48,160, 17, +/* 0x07e0 */ 12, 0,157,229, 48, 16,141,226, 16, 32,157,229, 44,255,255,235, +/* 0x07f0 */ 11, 0, 0,234, 28,192, 21,229, 6, 0,160,225, 12,192, 99,224, +/* 0x0800 */ 4,192,141,229, 16,192,157,229, 10, 16,160,225, 11, 32,160,225, +/* 0x0810 */ 18, 48,160,227, 0,192,141,229,214,254,255,235, 0, 0, 86,225, +/* 0x0820 */ 62, 0, 0, 26, 0, 48,106,226, 3,122,160,225, 2, 0, 27,227, +/* 0x0830 */ 39,122,160,225, 7, 0, 0, 10, 0, 0, 87,227, 5, 0, 0, 10, +/* 0x0840 */ 10, 16,134,224, 7, 32,160,225, 0, 48,160,227, 1, 32, 82,226, +/* 0x0850 */ 1, 48,193,228,251,255,255, 26, 12, 0,157,229, 0, 0, 80,227, +/* 0x0860 */ 48, 0, 0, 10,204,254,255,235, 32, 48, 21,229, 32, 0,141,229, +/* 0x0870 */ 1, 0, 83,227, 35, 0, 0, 26, 8, 48, 21,229, 1, 0, 19,227, +/* 0x0880 */ 32, 0, 0, 10, 12, 32, 21,229, 16, 48, 21,229, 24, 16, 21,229, +/* 0x0890 */ 3, 0, 82,225, 75, 0, 0, 26, 1, 48,130,224, 3, 48,131,226, +/* 0x08a0 */ 3, 48,137,224, 3, 64,195,227, 0, 48,100,226, 3, 58,160,225, +/* 0x08b0 */ 35, 58,160,225, 7, 0, 83,227, 66, 0, 0,154, 10, 0, 0,234, +/* 0x08c0 */ 0,224,160,227, 3, 32,160,227, 0,192,224,227, 14, 0,160,225, +/* 0x08d0 */ 1, 26,160,227, 34, 48,160,227, 0, 80,141,232,165,254,255,235, +/* 0x08e0 */ 0, 32, 80,226, 62, 0, 0, 26, 6, 0, 0,234, 32, 16,157,229, +/* 0x08f0 */ 48, 49,159,229, 10, 0,132,232, 4, 0,160,225, 8, 16,132,226, +/* 0x0900 */ 149,254,255,235, 65, 0, 0,234, 6, 0,160,225, 10, 16,160,225, +/* 0x0910 */ 11, 32,160,225,139,254,255,235, 0, 0, 80,227, 1, 0, 0, 10, +/* 0x0920 */ 127, 0,160,227, 86,254,255,235, 20, 32,157,229, 44,192,157,229, +/* 0x0930 */ 7, 48,138,224, 12, 16,130,224, 3, 64,134,224, 1, 0, 84,225, +/* 0x0940 */ 7, 0, 0, 42, 1, 16,100,224, 11, 32,160,225, 4, 0,160,225, +/* 0x0950 */ 16, 48,160,227,146,254,255,235, 0, 0, 84,225, 0, 0, 0, 10, +/* 0x0960 */ 254,255,255,234, 24, 0,157,229, 32, 80,133,226, 1, 0,128,226, +/* 0x0970 */ 24, 0,141,229,188, 50,216,225, 24, 16,157,229, 3, 0, 81,225, +/* 0x0980 */ 79,255,255,186, 12, 32,157,229, 0, 0, 82,227, 6, 0, 0, 10, +/* 0x0990 */ 176, 49,216,225, 3, 0, 83,227, 3, 0, 0, 10, 40, 48,157,229, +/* 0x09a0 */ 28,192,157,229, 12, 0,131,224, 87,254,255,235, 92, 0,157,229, +/* 0x09b0 */ 0, 0, 80,227, 0,144,128, 21, 24, 0,152,229, 0, 0,137,224, +/* 0x09c0 */ 56,208,141,226,240,143,189,232, 28, 48, 21,229, 0, 0, 83,227, +/* 0x09d0 */ 36, 32,157, 5, 2, 48,129, 0, 8, 64,131, 2,194,255,255, 10, +/* 0x09e0 */ 182,255,255,234, 32, 48,157,229, 2, 64,160,225, 0, 48,130,229, +/* 0x09f0 */ 48, 48,159,229, 8, 16,130,226, 4, 48,130,229, 86,254,255,235, +/* 0x0a00 */ 4, 0,160,225, 8, 16,160,227, 5, 32,160,227, 77,254,255,235, +/* 0x0a10 */ 4, 32,160,225, 8, 0,157,229, 0, 16,160,227,125,254,255,235, +/* 0x0a20 */ 184,255,255,234, 64, 98, 81,115, 14,240,160,225,240, 71, 45,233, +/* 0x0a30 */ 12,208, 77,226, 52, 96,141,226, 0,144,160,225, 1,112,160,225, +/* 0x0a40 */ 3,128,160,225, 6, 0,160,225, 44, 16,141,226, 0, 48,160,227, +/* 0x0a50 */ 48,160,157,229, 2, 80,160,225, 52, 64,157,229,144,254,255,235, +/* 0x0a60 */ 60, 48,157,229, 56,192,157,229, 12,224,141,226, 4, 48, 46,229, +/* 0x0a70 */ 12,192,100,224, 6, 32,160,225, 10, 16,160,225, 9, 48,160,225, +/* 0x0a80 */ 5, 0,160,225, 56,192,141,229, 0,224,141,229, 52,112,141,229, +/* 0x0a90 */ 4,128,141,229,210,254,255,235, 0, 64,160,225, 9, 16,160,227, +/* 0x0aa0 */ 9, 0,160,225, 4, 32,160,225, 90,254,255,235,188, 2,218,225, +/* 0x0ab0 */ 52, 32,138,226, 0, 16,160,227, 35, 0, 0,234, 0, 48,146,229, +/* 0x0ac0 */ 3, 0, 83,227, 30, 0, 0, 26, 8, 48,146,229, 8, 0,157,229, +/* 0x0ad0 */ 0, 16,160,227, 0, 0,131,224, 1, 32,160,225,246,253,255,235, +/* 0x0ae0 */ 0, 80, 80,226, 4, 0, 0,186, 10, 16,160,225, 2, 44,160,227, +/* 0x0af0 */ 231,253,255,235, 2, 12, 80,227, 1, 0, 0, 10,127, 0,160,227, +/* 0x0b00 */ 223,253,255,235, 0,224,160,227, 14, 32,160,225, 8,192,141,226, +/* 0x0b10 */ 10, 16,160,225, 9, 48,160,225, 5, 0,160,225, 0, 80,141,232, +/* 0x0b20 */ 175,254,255,235, 7, 16,160,227, 0, 64,160,225, 8, 32,157,229, +/* 0x0b30 */ 9, 0,160,225, 55,254,255,235, 5, 0,160,225,227,253,255,235, +/* 0x0b40 */ 3, 0, 0,234, 32, 32,130,226, 1, 16,129,226, 0, 0, 81,225, +/* 0x0b50 */ 217,255,255,186, 4, 0,160,225, 12,208,141,226,240,135,189,232 }; diff -Nru upx-ucl-3.95/src/stub/arm.v5a-linux.kernel.vmlinux.h upx-ucl-3.96/src/stub/arm.v5a-linux.kernel.vmlinux.h --- upx-ucl-3.95/src/stub/arm.v5a-linux.kernel.vmlinux.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5a-linux.kernel.vmlinux.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm.v5a-linux.kernel.vmlinux-head.h upx-ucl-3.96/src/stub/arm.v5a-linux.kernel.vmlinux-head.h --- upx-ucl-3.95/src/stub/arm.v5a-linux.kernel.vmlinux-head.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5a-linux.kernel.vmlinux-head.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm.v5a-linux.kernel.vmlinuz.h upx-ucl-3.96/src/stub/arm.v5a-linux.kernel.vmlinuz.h --- upx-ucl-3.95/src/stub/arm.v5a-linux.kernel.vmlinuz.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5a-linux.kernel.vmlinuz.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm.v5a-linux.kernel.vmlinuz-head.h upx-ucl-3.96/src/stub/arm.v5a-linux.kernel.vmlinuz-head.h --- upx-ucl-3.95/src/stub/arm.v5a-linux.kernel.vmlinuz-head.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5a-linux.kernel.vmlinuz-head.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm.v5a-linux.shlib-init.h upx-ucl-3.96/src/stub/arm.v5a-linux.shlib-init.h --- upx-ucl-3.95/src/stub/arm.v5a-linux.shlib-init.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5a-linux.shlib-init.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/arm.v5t-linux.shlib-init.h upx-ucl-3.96/src/stub/arm.v5t-linux.shlib-init.h --- upx-ucl-3.95/src/stub/arm.v5t-linux.shlib-init.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/arm.v5t-linux.shlib-init.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -32,8 +32,8 @@ #define STUB_ARM_V5T_LINUX_SHLIB_INIT_SIZE 15578 -#define STUB_ARM_V5T_LINUX_SHLIB_INIT_ADLER32 0x9621224f -#define STUB_ARM_V5T_LINUX_SHLIB_INIT_CRC32 0x76d0f39b +#define STUB_ARM_V5T_LINUX_SHLIB_INIT_ADLER32 0xca642344 +#define STUB_ARM_V5T_LINUX_SHLIB_INIT_CRC32 0x44e5965c unsigned char stub_arm_v5t_linux_shlib_init[15578] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, @@ -42,13 +42,13 @@ /* 0x0030 */ 0, 0, 0, 0,192, 70,255,181, 0,161, 28, 57, 11,104, 1, 32, /* 0x0040 */ 13, 29, 76,104, 24, 64, 27, 26, 45, 27, 0, 3,140,104, 0, 44, /* 0x0050 */ 2,208,100, 25, 36, 24, 8,148, 8,105, 64, 25, 89, 25,131,176, -/* 0x0060 */ 0,181, 76,104, 12, 49, 9, 25, 0,240,166,248, 3, 5, 27, 13, +/* 0x0060 */ 0,181, 76,104, 12, 49, 9, 25, 0,240,167,248, 3, 5, 27, 13, /* 0x0070 */ 228, 24, 16,180,192, 26, 1,180,228, 26,192, 24,155, 8, 8,180, /* 0x0080 */ 0,240, 63,248, 27, 6,137, 8, 27, 14,137, 0, 80, 43, 17,209, /* 0x0090 */ 14,224, 4, 57, 66, 88, 19, 1, 27, 15, 11, 43, 8,209,137, 8, /* 0x00a0 */ 83, 26,137, 0, 18, 14, 27, 2, 18, 6, 27, 10, 26, 67, 66, 80, /* 0x00b0 */ 0, 41,238,209,112, 71, 0,181, 75,121, 8,180,139,121, 8,180, -/* 0x00c0 */ 16,180, 1,180, 0,240,166,248, 37, 28, 0,240,166,248, 16,180, +/* 0x00c0 */ 16,180, 1,180, 0,240,167,248, 37, 28, 0,240,167,248, 16,180, /* 0x00d0 */ 255,247,254,255,252, 64, 45,233, 0,112,129,224, 0, 80,224,227, /* 0x00e0 */ 2, 65,160,227, 24, 0, 0,234, 24, 0,189,232, 7, 0, 64,224, /* 0x00f0 */ 3, 32, 66,224, 0, 32,132,229, 0, 64,160,225, 3, 0,160,225, @@ -338,29 +338,29 @@ /* 0x12b0 */ 95, 69, 88, 69, 67,124, 80, 82, 79, 84, 95, 87, 82, 73, 84, 69, /* 0x12c0 */ 32,102, 97,105,108,101,100, 46, 10, 0, 0, 0,115, 70, 1, 59, /* 0x12d0 */ 8,180, 3,171, 8,180, 1,180, 32,180, 2,180, 3, 35, 11, 64, -/* 0x12e0 */ 3, 53,237, 24,173, 8, 11,155, 90, 25, 4,155, 0,240,178,248, -/* 0x12f0 */ 82, 25, 10,155, 0,240,178,248, 82, 25, 0, 0, 0,240,112,248, +/* 0x12e0 */ 3, 53,237, 24,173, 8, 11,155, 90, 25, 4,155, 0,240,179,248, +/* 0x12f0 */ 82, 25, 10,155, 0,240,179,248, 82, 25, 0, 0, 0,240,113,248, /* 0x1300 */ 0, 36,228, 67, 50, 35, 3, 34, 13,153, 12,152, 6, 28,192, 39, /* 0x1310 */ 0,223,176, 66, 0,208, 1,222, 11,157, 15,153, 0,240, 85,248, /* 0x1320 */ 31,188,160, 71, 8,188, 3,188, 1, 35, 3,180, 64, 24, 1, 48, /* 0x1330 */ 152, 67, 10, 75, 3, 96, 1, 48, 11,144, 63,188, 27, 66, 0,208, -/* 0x1340 */ 160, 71, 0,152, 1,153, 9, 24, 0,240,106,248, 11,188,158, 70, +/* 0x1340 */ 160, 71, 0,152, 1,153, 9, 24, 0,240,107,248, 11,188,158, 70, /* 0x1350 */ 5, 34,125, 39, 0,223, 91, 39, 3,189, 0, 0, 0,223,255,189, -/* 0x1360 */ 137, 8,137, 0, 0,181, 11, 28, 0,240,178,248, 8,188,158, 70, +/* 0x1360 */ 137, 8,137, 0, 0,181, 11, 28, 0,240,179,248, 8,188,158, 70, /* 0x1370 */ 11,104, 4, 49, 3, 96, 4, 48, 1, 61, 7, 35, 29, 66,247,209, -/* 0x1380 */ 237, 8, 13,208,120, 71,192, 70,212, 3, 45,233,220, 19,177,232, +/* 0x1380 */ 237, 8, 15,208,120, 71,192, 70,212, 3, 45,233,220, 19,177,232, /* 0x1390 */ 1, 80, 85,226,220, 19,160,232, 46, 0, 0, 26,212, 3,189,232, -/* 0x13a0 */ 30,255, 47,225, 0, 34, 15, 39, 63, 4, 2, 55, 0,223,112, 71, -/* 0x13b0 */ 115, 70, 1, 59, 8,180, 0,240,178,248, 82, 25,145, 0, 0, 36, -/* 0x13c0 */ 228, 67, 34, 35, 7, 34, 17,145, 0, 32,192, 39, 0,223, 3, 19, -/* 0x13d0 */ 1, 51, 0,209, 1,222, 16,144, 13,153, 12,157, 0,240, 85,248, -/* 0x13e0 */ 1,153, 2,157, 3, 35, 11, 64,201, 26,237, 24, 27, 24, 1,147, -/* 0x13f0 */ 3, 53,173, 8, 0,240, 85,248, 2, 28, 5,153, 5,144, 0,240, -/* 0x1400 */ 72,248, 67, 28, 11,153, 11,147, 0,240, 72,248, 2,188, 71, 28, -/* 0x1410 */ 0,240, 72,248, 1, 28, 16, 28,190, 70,195,231,204,120,139,120, -/* 0x1420 */ 36, 2, 28, 67, 75,120, 36, 2, 28, 67, 11,120, 36, 2, 28, 67, -/* 0x1430 */ 4, 49,112, 71,155, 8,155, 0, 4, 59, 29,136,109, 5,173, 10, -/* 0x1440 */ 91,136, 91, 5, 91, 13,237, 24, 2, 53,109, 8,112, 71, 0, 0, +/* 0x13a0 */ 30,255, 47,225,112, 71, 0, 34, 15, 39, 63, 4, 2, 55, 0,223, +/* 0x13b0 */ 112, 71,115, 70, 1, 59, 8,180, 0,240,179,248, 82, 25,145, 0, +/* 0x13c0 */ 0, 36,228, 67, 34, 35, 7, 34, 17,145, 0, 32,192, 39, 0,223, +/* 0x13d0 */ 3, 19, 1, 51, 0,209, 1,222, 16,144, 13,153, 12,157, 0,240, +/* 0x13e0 */ 85,248, 1,153, 2,157, 3, 35, 11, 64,201, 26,237, 24, 27, 24, +/* 0x13f0 */ 1,147, 3, 53,173, 8, 0,240, 85,248, 2, 28, 5,153, 5,144, +/* 0x1400 */ 0,240, 72,248, 67, 28, 11,153, 11,147, 0,240, 72,248, 2,188, +/* 0x1410 */ 71, 28, 0,240, 72,248, 1, 28, 16, 28,190, 70,195,231,204,120, +/* 0x1420 */ 139,120, 36, 2, 28, 67, 75,120, 36, 2, 28, 67, 11,120, 36, 2, +/* 0x1430 */ 28, 67, 4, 49,112, 71,155, 8,155, 0, 4, 59, 29,136,109, 5, +/* 0x1440 */ 173, 10, 91,136, 91, 5, 91, 13,237, 24, 2, 53,109, 8,112, 71, /* 0x1450 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, /* 0x1460 */ 50, 45,108,105,116,116,108,101, 97,114,109, 10, 10, 83,101, 99, /* 0x1470 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, @@ -991,22 +991,22 @@ /* 0x3b80 */ 102, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, /* 0x3b90 */ 99, 99, 32, 82, 95, 65, 82, 77, 95, 80, 67, 50, 52, 32, 32, 32, /* 0x3ba0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, -/* 0x3bb0 */ 48, 48, 48, 48,101, 97, 32, 82, 95, 65, 82, 77, 95, 84, 72, 77, +/* 0x3bb0 */ 48, 48, 48, 48,101, 99, 32, 82, 95, 65, 82, 77, 95, 84, 72, 77, /* 0x3bc0 */ 95, 67, 65, 76, 76, 32, 32, 32, 32, 46,114,101, 97,108, 95,115, /* 0x3bd0 */ 116, 97,114,116, 95,111,102, 69, 76, 70, 77, 65, 73, 78, 90, 10, -/* 0x3be0 */ 48, 48, 48, 48, 48, 49, 49, 48, 32, 82, 95, 65, 82, 77, 95, 84, +/* 0x3be0 */ 48, 48, 48, 48, 48, 49, 49, 50, 32, 82, 95, 65, 82, 77, 95, 84, /* 0x3bf0 */ 72, 77, 95, 67, 65, 76, 76, 32, 32, 32, 32, 46,114,101, 97,108, /* 0x3c00 */ 95,115,116, 97,114,116, 95,111,102, 69, 76, 70, 77, 65, 73, 78, -/* 0x3c10 */ 90, 10, 48, 48, 48, 48, 48, 49, 50, 56, 32, 82, 95, 65, 82, 77, +/* 0x3c10 */ 90, 10, 48, 48, 48, 48, 48, 49, 50, 97, 32, 82, 95, 65, 82, 77, /* 0x3c20 */ 95, 84, 72, 77, 95, 67, 65, 76, 76, 32, 32, 32, 32, 46,114,101, /* 0x3c30 */ 97,108, 95,115,116, 97,114,116, 95,111,102, 69, 76, 70, 77, 65, -/* 0x3c40 */ 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, 51, 50, 32, 82, 95, 65, +/* 0x3c40 */ 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, 51, 52, 32, 82, 95, 65, /* 0x3c50 */ 82, 77, 95, 84, 72, 77, 95, 67, 65, 76, 76, 32, 32, 32, 32, 46, /* 0x3c60 */ 114,101, 97,108, 95,115,116, 97,114,116, 95,111,102, 69, 76, 70, -/* 0x3c70 */ 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, 51, 99, 32, 82, +/* 0x3c70 */ 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, 51,101, 32, 82, /* 0x3c80 */ 95, 65, 82, 77, 95, 84, 72, 77, 95, 67, 65, 76, 76, 32, 32, 32, /* 0x3c90 */ 32, 46,114,101, 97,108, 95,115,116, 97,114,116, 95,111,102, 69, -/* 0x3ca0 */ 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, 52, 52, +/* 0x3ca0 */ 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 49, 52, 54, /* 0x3cb0 */ 32, 82, 95, 65, 82, 77, 95, 84, 72, 77, 95, 67, 65, 76, 76, 32, /* 0x3cc0 */ 32, 32, 32, 46,114,101, 97,108, 95,115,116, 97,114,116, 95,111, /* 0x3cd0 */ 102, 69, 76, 70, 77, 65, 73, 78, 90, 10 diff -Nru upx-ucl-3.95/src/stub/i086-dos16.com.h upx-ucl-3.96/src/stub/i086-dos16.com.h --- upx-ucl-3.95/src/stub/i086-dos16.com.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i086-dos16.com.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i086-dos16.exe.h upx-ucl-3.96/src/stub/i086-dos16.exe.h --- upx-ucl-3.95/src/stub/i086-dos16.exe.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i086-dos16.exe.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i086-dos16.sys.h upx-ucl-3.96/src/stub/i086-dos16.sys.h --- upx-ucl-3.95/src/stub/i086-dos16.sys.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i086-dos16.sys.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-bsd.elf-entry.h upx-ucl-3.96/src/stub/i386-bsd.elf-entry.h --- upx-ucl-3.95/src/stub/i386-bsd.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-bsd.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-bsd.elf.execve-entry.h upx-ucl-3.96/src/stub/i386-bsd.elf.execve-entry.h --- upx-ucl-3.95/src/stub/i386-bsd.elf.execve-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-bsd.elf.execve-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-bsd.elf.execve-fold.h upx-ucl-3.96/src/stub/i386-bsd.elf.execve-fold.h --- upx-ucl-3.95/src/stub/i386-bsd.elf.execve-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-bsd.elf.execve-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-bsd.elf-fold.h upx-ucl-3.96/src/stub/i386-bsd.elf-fold.h --- upx-ucl-3.95/src/stub/i386-bsd.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-bsd.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-darwin.dylib-entry.h upx-ucl-3.96/src/stub/i386-darwin.dylib-entry.h --- upx-ucl-3.95/src/stub/i386-darwin.dylib-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-darwin.dylib-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-darwin.macho-entry.h upx-ucl-3.96/src/stub/i386-darwin.macho-entry.h --- upx-ucl-3.95/src/stub/i386-darwin.macho-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-darwin.macho-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* i386-darwin.macho-entry.h - created from i386-darwin.macho-entry.bin, 37910 (0x9416) bytes + created from i386-darwin.macho-entry.bin, 9602 (0x2582) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,2379 +31,610 @@ */ -#define STUB_I386_DARWIN_MACHO_ENTRY_SIZE 37910 -#define STUB_I386_DARWIN_MACHO_ENTRY_ADLER32 0xe65cca98 -#define STUB_I386_DARWIN_MACHO_ENTRY_CRC32 0x923d966b +#define STUB_I386_DARWIN_MACHO_ENTRY_SIZE 9602 +#define STUB_I386_DARWIN_MACHO_ENTRY_ADLER32 0x867b2295 +#define STUB_I386_DARWIN_MACHO_ENTRY_CRC32 0x46196242 -unsigned char stub_i386_darwin_macho_entry[37910] = { +unsigned char stub_i386_darwin_macho_entry[9602] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 76, 34, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, -/* 0x0030 */ 0, 0, 0, 0, 1, 0,195,232, 56, 0, 0, 0, 96,139,116, 36, -/* 0x0040 */ 36,139,124, 36, 44,131,205,255,235, 3,164,235, 3,138, 6, 70, -/* 0x0050 */ 136, 7, 71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 1, -/* 0x0060 */ 49,192, 64,138, 7,114,255,184, 1, 0, 0, 0, 1,219,117, 7, -/* 0x0070 */ 139, 30,131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131, -/* 0x0080 */ 238,252, 17,219,115,255, 1,219,115,255,117, 9,139, 30,131,238, -/* 0x0090 */ 252, 17,219,115,255, 49,201,131,232, 3,114, 13,193,224, 8,138, -/* 0x00a0 */ 6, 70,131,240,255,116,255,137,197, 1,219,117, 7,139, 30,131, -/* 0x00b0 */ 238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17, -/* 0x00c0 */ 219, 17,201,117,255, 65, 1,219,117, 7,139, 30,131,238,252, 17, -/* 0x00d0 */ 219, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115, 48, -/* 0x00e0 */ 1,219,115, 48,117, 9,139, 30,131,238,252, 17,219,115, 48, 65, -/* 0x00f0 */ 65,131,193, 2,129,253, 0,243,255,255,131,209, 1, 86,141, 52, -/* 0x0100 */ 47,243,164, 94,233,252,255,255,255,141, 20, 47,131,253,252,138, -/* 0x0110 */ 4, 15,118,255,138, 2, 66,136, 7, 71, 73,117,247,233,252,255, -/* 0x0120 */ 255,255,139, 2,131,194, 4,137, 7,131,199, 4,131,233, 4,119, -/* 0x0130 */ 241, 1,207,233,252,255,255,255,235, 3,164,235, 3,138, 6, 70, -/* 0x0140 */ 136, 7, 71, 1,219,117, 7,139, 30,131,238,252, 17,219,114, 1, -/* 0x0150 */ 49,192, 64,138, 7,114,255,184, 1, 0, 0, 0, 1,219,117, 7, -/* 0x0160 */ 139, 30,131,238,252, 17,219, 17,192, 1,219,117, 7,139, 30,131, -/* 0x0170 */ 238,252, 17,219,114, 15, 1,219,115, 11,117, 15,139, 30,131,238, -/* 0x0180 */ 252, 17,219,114, 15, 72, 1,219,117, 7,139, 30,131,238,252, 17, -/* 0x0190 */ 219, 17,192,235,255, 49,201,131,232, 3,114, 17,193,224, 8,138, -/* 0x01a0 */ 6, 70,131,240,255,116,255,209,248,137,197,235, 11, 1,219,117, -/* 0x01b0 */ 7,139, 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30, -/* 0x01c0 */ 131,238,252, 17,219, 17,201,117,255, 65, 1,219,117, 7,139, 30, -/* 0x01d0 */ 131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238,252, -/* 0x01e0 */ 17,219,115, 68, 1,219,115, 68,117, 9,139, 30,131,238,252, 17, -/* 0x01f0 */ 219,115, 68, 65, 65,131,193, 2,129,253, 0,251,255,255,131,209, -/* 0x0200 */ 1, 86,141, 52, 47,243,164, 94,233,252,255,255,255,141, 20, 47, -/* 0x0210 */ 131,253,252,138, 4, 15,118,255,138, 2, 66,136, 7, 71, 73,117, -/* 0x0220 */ 247,233,252,255,255,255,139, 2,131,194, 4,137, 7,131,199, 4, -/* 0x0230 */ 131,233, 4,119,241, 1,207,233,252,255,255,255,235, 3,164,235, -/* 0x0240 */ 3,138, 6, 70,136, 7, 71, 1,219,117, 7,139, 30,131,238,252, -/* 0x0250 */ 17,219,114, 1, 49,192, 64,138, 7,114,255,184, 1, 0, 0, 0, -/* 0x0260 */ 1,219,117, 7,139, 30,131,238,252, 17,219, 17,192, 1,219,117, -/* 0x0270 */ 7,139, 30,131,238,252, 17,219,114, 30, 1,219,115, 11,117, 30, -/* 0x0280 */ 139, 30,131,238,252, 17,219,114, 30, 72, 1,219,117, 7,139, 30, -/* 0x0290 */ 131,238,252, 17,219, 17,192,235,255, 1,219,117, 7,139, 30,131, -/* 0x02a0 */ 238,252, 17,219, 17,201,235,255, 49,201,131,232, 3,114, 17,193, -/* 0x02b0 */ 224, 8,138, 6, 70,131,240,255,116,255,209,248,137,197,235, 11, -/* 0x02c0 */ 1,219,117, 7,139, 30,131,238,252, 17,219,114,204, 65, 1,219, -/* 0x02d0 */ 117, 7,139, 30,131,238,252, 17,219,114,190, 1,219,117, 7,139, -/* 0x02e0 */ 30,131,238,252, 17,219, 17,201, 1,219,117, 7,139, 30,131,238, -/* 0x02f0 */ 252, 17,219,115, 81, 1,219,115, 81,117, 9,139, 30,131,238,252, -/* 0x0300 */ 17,219,115, 81, 65, 65,131,193, 2,129,253, 0,251,255,255,131, -/* 0x0310 */ 209, 2, 86,141, 52, 47,243,164, 94,233,252,255,255,255,141, 20, -/* 0x0320 */ 47,131,253,252,138, 4, 15,118,255,138, 2, 66,136, 7, 71, 73, -/* 0x0330 */ 117,247,233,252,255,255,255,139, 2,131,194, 4,137, 7,131,199, -/* 0x0340 */ 4,131,233, 4,119,241, 1,207,233,252,255,255,255,137,229,141, -/* 0x0350 */ 156, 36, 0, 0, 0, 0, 49,192, 80, 57,220,117,251, 70, 70, 83, -/* 0x0360 */ 104, 0, 0, 0, 0, 87,131,195, 4, 83,104, 0, 0, 0, 0, 86, -/* 0x0370 */ 131,195, 4, 83, 80,199, 3, 0, 0, 0, 0,137,229,139, 85, 40, -/* 0x0380 */ 172, 74,136,193, 36, 7,192,233, 3,187, 0,253,255,255,211,227, -/* 0x0390 */ 141,164, 92,144,241,255,255,131,228,224,106, 0,106, 0,137,227, -/* 0x03a0 */ 83,131,195, 4,139, 77, 48,255, 49, 87, 83,131,195, 4,136, 67, -/* 0x03b0 */ 2,172, 74,136,193, 36, 15,136, 3,192,233, 4,136, 75, 1, 82, -/* 0x03c0 */ 86, 83, 80, 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, -/* 0x03d0 */ 0,199, 68, 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, -/* 0x03e0 */ 36,156, 0, 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, -/* 0x03f0 */ 0, 15,182, 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, -/* 0x0400 */ 15,182, 74, 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, -/* 0x0410 */ 0, 0, 15,182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, -/* 0x0420 */ 0, 0, 0, 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137, -/* 0x0430 */ 116, 36,100,199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, -/* 0x0440 */ 0, 0, 0,199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, -/* 0x0450 */ 0, 0, 0, 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, -/* 0x0460 */ 0, 57, 76, 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4, -/* 0x0470 */ 131,192, 2,226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, -/* 0x0480 */ 36, 72,255,255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, -/* 0x0490 */ 84, 36, 76, 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15, -/* 0x04a0 */ 182, 3,193,231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, -/* 0x04b0 */ 36,164, 0, 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139, -/* 0x04c0 */ 116, 36,116, 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193, -/* 0x04d0 */ 224, 4,137,116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0, -/* 0x04e0 */ 141, 44, 66,119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193, -/* 0x04f0 */ 100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, -/* 0x0500 */ 72,102,139, 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, -/* 0x0510 */ 15,131,221, 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41, -/* 0x0520 */ 200,138, 76, 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, -/* 0x0530 */ 15,182, 84, 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36, -/* 0x0540 */ 104,139,108, 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100, -/* 0x0550 */ 211,250, 1,208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141, -/* 0x0560 */ 132, 5,108, 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0, -/* 0x0570 */ 139, 68, 36,116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15, -/* 0x0580 */ 182, 4, 2,137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, -/* 0x0590 */ 20, 54,139,108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72, -/* 0x05a0 */ 255,255,255, 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, -/* 0x05b0 */ 24, 59, 92, 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, -/* 0x05c0 */ 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, -/* 0x05d0 */ 0, 2, 0, 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, -/* 0x05e0 */ 35,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, -/* 0x05f0 */ 5,131,124, 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0, -/* 0x0600 */ 116, 34,235, 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102, -/* 0x0610 */ 193,232, 5,102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, -/* 0x0620 */ 0, 0,116, 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255, -/* 0x0630 */ 235,121,129,254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, -/* 0x0640 */ 20, 1,213,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, -/* 0x0650 */ 76, 15,132,196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193, -/* 0x0660 */ 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, -/* 0x0670 */ 15,183,241, 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, -/* 0x0680 */ 8, 0, 0, 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, -/* 0x0690 */ 0,235,159, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193, -/* 0x06a0 */ 232, 5,102, 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137, -/* 0x06b0 */ 240,139,140, 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66, -/* 0x06c0 */ 131,124, 36, 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, -/* 0x06d0 */ 0, 0, 0,233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131, -/* 0x06e0 */ 108, 36, 96, 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, -/* 0x06f0 */ 7, 0, 0,139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137, -/* 0x0700 */ 208,102,193,232, 5,102, 41,194,129,249,255,255,255, 0,102,137, -/* 0x0710 */ 85, 0,139,108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, -/* 0x0720 */ 59, 92, 36, 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8, -/* 0x0730 */ 193,225, 8, 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102, -/* 0x0740 */ 139,149,128, 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82, -/* 0x0750 */ 137,198,184, 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5, -/* 0x0760 */ 139, 76, 36, 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, -/* 0x0770 */ 76, 36,120,102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, -/* 0x0780 */ 36, 84,137, 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192, -/* 0x0790 */ 129,193,100, 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, -/* 0x07a0 */ 0, 0,137,206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, -/* 0x07b0 */ 36, 56,102, 41,194,129,254,255,255,255, 0,102,137,145,128, 1, -/* 0x07c0 */ 0, 0,119, 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, -/* 0x07d0 */ 3,193,231, 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242, -/* 0x07e0 */ 193,234, 11,102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, -/* 0x07f0 */ 57,215, 15,131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41, -/* 0x0800 */ 197,199, 68, 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, -/* 0x0810 */ 1,139, 76, 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96, -/* 0x0820 */ 139, 76, 36, 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, -/* 0x0830 */ 0,141, 44, 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, -/* 0x0840 */ 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, -/* 0x0850 */ 1, 0, 0,137,240,193,232, 11, 15,183,202, 15,175,193, 57,199, -/* 0x0860 */ 115, 96, 41, 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, -/* 0x0870 */ 68, 36, 72,131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, -/* 0x0880 */ 0, 0, 15,132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139, -/* 0x0890 */ 172, 36,160, 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, -/* 0x08a0 */ 9,137, 68, 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, -/* 0x08b0 */ 0,136, 68, 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, -/* 0x08c0 */ 0, 0, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,102, -/* 0x08d0 */ 137,149,224, 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102, -/* 0x08e0 */ 193,232, 5,139,108, 36, 56,102, 41,193, 41,215,129,254,255,255, -/* 0x08f0 */ 255, 0,102,137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15, -/* 0x0900 */ 132, 22, 5, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9, -/* 0x0910 */ 199,139, 76, 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, -/* 0x0920 */ 0, 15,183,202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, -/* 0x0930 */ 0, 0, 41,200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137, -/* 0x0940 */ 133,176, 1, 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, -/* 0x0950 */ 41,199, 41,193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, -/* 0x0960 */ 56,129,249,255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, -/* 0x0970 */ 59, 92, 36, 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8, -/* 0x0980 */ 193,225, 8, 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102, -/* 0x0990 */ 139,150,200, 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32, -/* 0x09a0 */ 137,198,184, 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5, -/* 0x09b0 */ 141, 4, 2,102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38, -/* 0x09c0 */ 137,206, 41,199, 41,198,137,208,102,193,232, 5,102, 41,194,139, -/* 0x09d0 */ 68, 36, 56,102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, -/* 0x09e0 */ 36, 80,137, 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, -/* 0x09f0 */ 36, 92,137, 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, -/* 0x0a00 */ 6,139, 76, 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, -/* 0x0a10 */ 64, 8,137, 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, -/* 0x0a20 */ 36, 76, 15,132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, -/* 0x0a30 */ 8, 67, 9,199,102,139, 17,137,240,193,232, 11, 15,183,234, 15, -/* 0x0a40 */ 175,197, 57,199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41, -/* 0x0a50 */ 232,193,100, 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, -/* 0x0a60 */ 0,141, 4, 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, -/* 0x0a70 */ 76, 36, 16,235,114, 41,198, 41,199,137,208,102,193,232, 5,102, -/* 0x0a80 */ 41,194,129,254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, -/* 0x0a90 */ 76, 15,132,132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, -/* 0x0aa0 */ 67, 9,199,102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15, -/* 0x0ab0 */ 175,197, 57,199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41, -/* 0x0ac0 */ 232,193,100, 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, -/* 0x0ad0 */ 0,141, 4, 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, -/* 0x0ae0 */ 1, 0, 0,137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, -/* 0x0af0 */ 47, 41,198, 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, -/* 0x0b00 */ 68, 36, 44, 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, -/* 0x0b10 */ 0, 0,102,137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16, -/* 0x0b20 */ 139, 76, 36, 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18, -/* 0x0b30 */ 139,116, 36, 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, -/* 0x0b40 */ 59, 92, 36, 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15, -/* 0x0b50 */ 182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193, -/* 0x0b60 */ 232, 11, 15,183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72, -/* 0x0b70 */ 184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102, -/* 0x0b80 */ 137, 6,235, 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5, -/* 0x0b90 */ 102, 41,194,102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, -/* 0x0ba0 */ 36, 40,117,137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41, -/* 0x0bb0 */ 194, 3, 84, 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143, -/* 0x0bc0 */ 231, 1, 0, 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5, -/* 0x0bd0 */ 184, 3, 0, 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, -/* 0x0be0 */ 6, 0, 0, 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, -/* 0x0bf0 */ 1, 0, 0, 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, -/* 0x0c00 */ 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, -/* 0x0c10 */ 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, -/* 0x0c20 */ 68, 36, 72,102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57, -/* 0x0c30 */ 199,115, 24,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, -/* 0x0c40 */ 5,141, 4, 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41, -/* 0x0c50 */ 199,137,208,102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22, -/* 0x0c60 */ 139,108, 36, 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, -/* 0x0c70 */ 3,137, 20, 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248, -/* 0x0c80 */ 131,230, 1,141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32, -/* 0x0c90 */ 127, 28,139,108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, -/* 0x0ca0 */ 0, 41,208, 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80, -/* 0x0cb0 */ 251,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15, -/* 0x0cc0 */ 132, 86, 1, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, -/* 0x0cd0 */ 67, 9,199,209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43, -/* 0x0ce0 */ 124, 36, 72,131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4, -/* 0x0cf0 */ 137, 52, 36, 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0, -/* 0x0d00 */ 137, 68, 36, 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, -/* 0x0d10 */ 0,139,108, 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, -/* 0x0d20 */ 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, -/* 0x0d30 */ 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, -/* 0x0d40 */ 68, 36, 72,102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, -/* 0x0d50 */ 57,199,115, 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193, -/* 0x0d60 */ 248, 5,141, 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, -/* 0x0d70 */ 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, -/* 0x0d80 */ 36, 24,102,137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, -/* 0x0d90 */ 36, 32,209,100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255, -/* 0x0da0 */ 255,139, 52, 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139, -/* 0x0db0 */ 108, 36,116,131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, -/* 0x0dc0 */ 0, 0, 0,137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0, -/* 0x0dd0 */ 141, 52, 40,138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36, -/* 0x0de0 */ 116, 73,116, 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114, -/* 0x0df0 */ 226,235, 17,139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130, -/* 0x0e00 */ 187,246,255,255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, -/* 0x0e10 */ 36, 76,184, 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0, -/* 0x0e20 */ 235, 32, 67, 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, -/* 0x0e30 */ 0, 0, 0,139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0, -/* 0x0e40 */ 137, 11,131,196,124, 91, 94, 95, 93, 85, 87, 86, 83,131,236,124, -/* 0x0e50 */ 139,148, 36,144, 0, 0, 0,199, 68, 36,116, 0, 0, 0, 0,198, -/* 0x0e60 */ 68, 36,115, 0,139,172, 36,156, 0, 0, 0,141, 66, 4,137, 68, -/* 0x0e70 */ 36,120,184, 1, 0, 0, 0, 15,182, 74, 2,137,195,211,227,137, -/* 0x0e80 */ 217, 73,137, 76, 36,108, 15,182, 74, 1,211,224, 72,137, 68, 36, -/* 0x0e90 */ 104,139,132, 36,168, 0, 0, 0, 15,182, 50,199, 69, 0, 0, 0, -/* 0x0ea0 */ 0, 0,199, 68, 36, 96, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, -/* 0x0eb0 */ 184, 0, 3, 0, 0,137,116, 36,100,199, 68, 36, 92, 1, 0, 0, -/* 0x0ec0 */ 0,199, 68, 36, 88, 1, 0, 0, 0,199, 68, 36, 84, 1, 0, 0, -/* 0x0ed0 */ 0,199, 68, 36, 80, 1, 0, 0, 0, 15,182, 74, 1, 1,241,211, -/* 0x0ee0 */ 224,141,136, 54, 7, 0, 0, 57, 76, 36,116,115, 14,139, 68, 36, -/* 0x0ef0 */ 120,102,199, 0, 0, 4,131,192, 2,226,246,139,156, 36,148, 0, -/* 0x0f00 */ 0, 0, 49,255,199, 68, 36, 72,255,255,255,255,137,218, 3,148, -/* 0x0f10 */ 36,152, 0, 0, 0,137, 84, 36, 76, 49,210, 59, 92, 36, 76, 15, -/* 0x0f20 */ 132,124, 9, 0, 0, 15,182, 3,193,231, 8, 66, 67, 9,199,131, -/* 0x0f30 */ 250, 4,126,231,139,140, 36,164, 0, 0, 0, 57, 76, 36,116, 15, -/* 0x0f40 */ 131,100, 9, 0, 0,139,116, 36,116, 35,116, 36,108,139, 68, 36, -/* 0x0f50 */ 96,139, 84, 36,120,193,224, 4,137,116, 36, 68, 1,240,129,124, -/* 0x0f60 */ 36, 72,255,255,255, 0,141, 44, 66,119, 24, 59, 92, 36, 76, 15, -/* 0x0f70 */ 132, 44, 9, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, -/* 0x0f80 */ 67, 9,199,139, 68, 36, 72,102,139, 85, 0,193,232, 11, 15,183, -/* 0x0f90 */ 202, 15,175,193, 57,199, 15,131,221, 1, 0, 0,137, 68, 36, 72, -/* 0x0fa0 */ 184, 0, 8, 0, 0, 41,200,138, 76, 36,100,193,248, 5,190, 1, -/* 0x0fb0 */ 0, 0, 0,141, 4, 2, 15,182, 84, 36,115,102,137, 69, 0,139, -/* 0x0fc0 */ 68, 36,116, 35, 68, 36,104,139,108, 36,120,211,224,185, 8, 0, -/* 0x0fd0 */ 0, 0, 43, 76, 36,100,211,250, 1,208,105,192, 0, 6, 0, 0, -/* 0x0fe0 */ 131,124, 36, 96, 6,141,132, 5,108, 14, 0, 0,137, 68, 36, 20, -/* 0x0ff0 */ 15,142,202, 0, 0, 0,139, 68, 36,116, 43, 68, 36, 92,139,148, -/* 0x1000 */ 36,160, 0, 0, 0, 15,182, 4, 2,137, 68, 36, 64,209,100, 36, -/* 0x1010 */ 64,139, 76, 36, 64,141, 20, 54,139,108, 36, 20,129,225, 0, 1, -/* 0x1020 */ 0, 0,129,124, 36, 72,255,255,255, 0,141, 68, 77, 0,137, 76, -/* 0x1030 */ 36, 60,141, 44, 16,119, 24, 59, 92, 36, 76, 15,132, 96, 8, 0, -/* 0x1040 */ 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, -/* 0x1050 */ 68, 36, 72,102,139,141, 0, 2, 0, 0,193,232, 11, 15,183,241, -/* 0x1060 */ 15,175,198, 57,199,115, 35,137, 68, 36, 72,184, 0, 8, 0, 0, -/* 0x1070 */ 41,240,137,214,193,248, 5,131,124, 36, 60, 0,141, 4, 1,102, -/* 0x1080 */ 137,133, 0, 2, 0, 0,116, 34,235, 46, 41, 68, 36, 72, 41,199, -/* 0x1090 */ 137,200,141,114, 1,102,193,232, 5,102, 41,193,131,124, 36, 60, -/* 0x10a0 */ 0,102,137,141, 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, -/* 0x10b0 */ 15,142, 87,255,255,255,235,121,129,254,255, 0, 0, 0,127,113, -/* 0x10c0 */ 141, 20, 54,139,108, 36, 20, 1,213,129,124, 36, 72,255,255,255, -/* 0x10d0 */ 0,119, 24, 59, 92, 36, 76, 15,132,196, 7, 0, 0,193,100, 36, -/* 0x10e0 */ 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102, -/* 0x10f0 */ 139, 77, 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 25, -/* 0x1100 */ 137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5, -/* 0x1110 */ 141, 4, 1,102,137, 69, 0,235,159, 41, 68, 36, 72, 41,199,137, -/* 0x1120 */ 200,141,114, 1,102,193,232, 5,102, 41,193,102,137, 77, 0,235, -/* 0x1130 */ 135,139, 84, 36,116,137,240,139,140, 36,160, 0, 0, 0,136, 68, -/* 0x1140 */ 36,115,136, 4, 10, 66,131,124, 36, 96, 3,137, 84, 36,116,127, -/* 0x1150 */ 13,199, 68, 36, 96, 0, 0, 0, 0,233, 27, 7, 0, 0,131,124, -/* 0x1160 */ 36, 96, 9,127, 10,131,108, 36, 96, 3,233, 10, 7, 0, 0,131, -/* 0x1170 */ 108, 36, 96, 6,233, 0, 7, 0, 0,139, 76, 36, 72, 41,199,139, -/* 0x1180 */ 116, 36, 96, 41,193,137,208,102,193,232, 5,102, 41,194,129,249, -/* 0x1190 */ 255,255,255, 0,102,137, 85, 0,139,108, 36,120,141,116,117, 0, -/* 0x11a0 */ 137,116, 36, 56,119, 22, 59, 92, 36, 76, 15,132,241, 6, 0, 0, -/* 0x11b0 */ 15,182, 3,193,231, 8,193,225, 8, 67, 9,199,139,108, 36, 56, -/* 0x11c0 */ 137,200,193,232, 11,102,139,149,128, 1, 0, 0, 15,183,234, 15, -/* 0x11d0 */ 175,197, 57,199,115, 82,137,198,184, 0, 8, 0, 0, 41,232,139, -/* 0x11e0 */ 108, 36, 88,193,248, 5,139, 76, 36, 84,141, 4, 2,139, 84, 36, -/* 0x11f0 */ 56,137, 76, 36, 80,139, 76, 36,120,102,137,130,128, 1, 0, 0, -/* 0x1200 */ 139, 68, 36, 92,137,108, 36, 84,137, 68, 36, 88, 49,192,131,124, -/* 0x1210 */ 36, 96, 6, 15,159,192,129,193,100, 6, 0, 0,141, 4, 64,137, -/* 0x1220 */ 68, 36, 96,233,116, 2, 0, 0,137,206, 41,199, 41,198,137,208, -/* 0x1230 */ 102,193,232, 5,139, 76, 36, 56,102, 41,194,129,254,255,255,255, -/* 0x1240 */ 0,102,137,145,128, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, -/* 0x1250 */ 77, 6, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199, -/* 0x1260 */ 139,108, 36, 56,137,242,193,234, 11,102,139,141,152, 1, 0, 0, -/* 0x1270 */ 15,183,193, 15,175,208, 57,215, 15,131,227, 0, 0, 0,189, 0, -/* 0x1280 */ 8, 0, 0,137,214, 41,197,199, 68, 36, 52, 0, 8, 0, 0,137, -/* 0x1290 */ 232,193,248, 5,141, 4, 1,139, 76, 36, 56,102,137,129,152, 1, -/* 0x12a0 */ 0, 0,139, 68, 36, 96,139, 76, 36, 68,193,224, 5, 3, 68, 36, -/* 0x12b0 */ 120,129,250,255,255,255, 0,141, 44, 72,119, 22, 59, 92, 36, 76, -/* 0x12c0 */ 15,132,219, 5, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, -/* 0x12d0 */ 9,199,102,139,149,224, 1, 0, 0,137,240,193,232, 11, 15,183, -/* 0x12e0 */ 202, 15,175,193, 57,199,115, 96, 41, 76, 36, 52,193,124, 36, 52, -/* 0x12f0 */ 5,139,116, 36, 52,137, 68, 36, 72,131,124, 36,116, 0,141, 4, -/* 0x1300 */ 50,102,137,133,224, 1, 0, 0, 15,132,147, 5, 0, 0, 49,192, -/* 0x1310 */ 131,124, 36, 96, 6,139,172, 36,160, 0, 0, 0,139, 84, 36,116, -/* 0x1320 */ 15,159,192,141, 68, 0, 9,137, 68, 36, 96,139, 68, 36,116, 43, -/* 0x1330 */ 68, 36, 92,138, 68, 5, 0,136, 68, 36,115,136, 4, 42, 66,137, -/* 0x1340 */ 84, 36,116,233, 49, 5, 0, 0, 41,198, 41,199,137,208,102,193, -/* 0x1350 */ 232, 5,102, 41,194,102,137,149,224, 1, 0, 0,233, 31, 1, 0, -/* 0x1360 */ 0,137,200, 41,214,102,193,232, 5,139,108, 36, 56,102, 41,193, -/* 0x1370 */ 41,215,129,254,255,255,255, 0,102,137,141,152, 1, 0, 0,119, -/* 0x1380 */ 22, 59, 92, 36, 76, 15,132, 22, 5, 0, 0, 15,182, 3,193,231, -/* 0x1390 */ 8,193,230, 8, 67, 9,199,139, 76, 36, 56,137,240,193,232, 11, -/* 0x13a0 */ 102,139,145,176, 1, 0, 0, 15,183,202, 15,175,193, 57,199,115, -/* 0x13b0 */ 35,137,198,184, 0, 8, 0, 0, 41,200,139,108, 36, 56,193,248, -/* 0x13c0 */ 5,141, 4, 2,102,137,133,176, 1, 0, 0,139, 68, 36, 88,233, -/* 0x13d0 */ 160, 0, 0, 0,137,241, 41,199, 41,193,137,208,102,193,232, 5, -/* 0x13e0 */ 102, 41,194,139, 68, 36, 56,129,249,255,255,255, 0,102,137,144, -/* 0x13f0 */ 176, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132,161, 4, 0, 0, -/* 0x1400 */ 15,182, 3,193,231, 8,193,225, 8, 67, 9,199,139,116, 36, 56, -/* 0x1410 */ 137,200,193,232, 11,102,139,150,200, 1, 0, 0, 15,183,234, 15, -/* 0x1420 */ 175,197, 57,199,115, 32,137,198,184, 0, 8, 0, 0, 41,232,139, -/* 0x1430 */ 108, 36, 56,193,248, 5,141, 4, 2,102,137,133,200, 1, 0, 0, -/* 0x1440 */ 139, 68, 36, 84,235, 38,137,206, 41,199, 41,198,137,208,102,193, -/* 0x1450 */ 232, 5,102, 41,194,139, 68, 36, 56,102,137,144,200, 1, 0, 0, -/* 0x1460 */ 139, 84, 36, 84,139, 68, 36, 80,137, 84, 36, 80,139, 76, 36, 88, -/* 0x1470 */ 137, 76, 36, 84,139,108, 36, 92,137, 68, 36, 92,137,108, 36, 88, -/* 0x1480 */ 49,192,131,124, 36, 96, 6,139, 76, 36,120, 15,159,192,129,193, -/* 0x1490 */ 104, 10, 0, 0,141, 68, 64, 8,137, 68, 36, 96,129,254,255,255, -/* 0x14a0 */ 255, 0,119, 22, 59, 92, 36, 76, 15,132,243, 3, 0, 0, 15,182, -/* 0x14b0 */ 3,193,231, 8,193,230, 8, 67, 9,199,102,139, 17,137,240,193, -/* 0x14c0 */ 232, 11, 15,183,234, 15,175,197, 57,199,115, 47,137, 68, 36, 72, -/* 0x14d0 */ 184, 0, 8, 0, 0, 41,232,193,100, 36, 68, 4,193,248, 5,199, -/* 0x14e0 */ 68, 36, 44, 0, 0, 0, 0,141, 4, 2,102,137, 1,139, 68, 36, -/* 0x14f0 */ 68,141, 76, 1, 4,137, 76, 36, 16,235,114, 41,198, 41,199,137, -/* 0x1500 */ 208,102,193,232, 5,102, 41,194,129,254,255,255,255, 0,102,137, -/* 0x1510 */ 17,119, 22, 59, 92, 36, 76, 15,132,132, 3, 0, 0, 15,182, 3, -/* 0x1520 */ 193,231, 8,193,230, 8, 67, 9,199,102,139, 81, 2,137,240,193, -/* 0x1530 */ 232, 11, 15,183,234, 15,175,197, 57,199,115, 59,137, 68, 36, 72, -/* 0x1540 */ 184, 0, 8, 0, 0, 41,232,193,100, 36, 68, 4,193,248, 5,199, -/* 0x1550 */ 68, 36, 44, 8, 0, 0, 0,141, 4, 2,139, 84, 36, 68,102,137, -/* 0x1560 */ 65, 2,141,140, 17, 4, 1, 0, 0,137, 76, 36, 16,199, 68, 36, -/* 0x1570 */ 48, 3, 0, 0, 0,235, 47, 41,198, 41,199,137,208,137,116, 36, -/* 0x1580 */ 72,102,193,232, 5,199, 68, 36, 44, 16, 0, 0, 0,102, 41,194, -/* 0x1590 */ 199, 68, 36, 48, 8, 0, 0, 0,102,137, 81, 2,129,193, 4, 2, -/* 0x15a0 */ 0, 0,137, 76, 36, 16,139, 76, 36, 48,186, 1, 0, 0, 0,137, -/* 0x15b0 */ 76, 36, 40,141, 44, 18,139,116, 36, 16, 1,238,129,124, 36, 72, -/* 0x15c0 */ 255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132,209, 2, 0, 0, -/* 0x15d0 */ 193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, -/* 0x15e0 */ 36, 72,102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199, -/* 0x15f0 */ 115, 24,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5, -/* 0x1600 */ 141, 4, 2,137,234,102,137, 6,235, 21, 41, 68, 36, 72, 41,199, -/* 0x1610 */ 137,208,102,193,232, 5,102, 41,194,102,137, 22,141, 85, 1,139, -/* 0x1620 */ 116, 36, 40, 78,137,116, 36, 40,117,137,138, 76, 36, 48,184, 1, -/* 0x1630 */ 0, 0, 0,211,224, 41,194, 3, 84, 36, 44,131,124, 36, 96, 3, -/* 0x1640 */ 137, 84, 36, 12, 15,143,231, 1, 0, 0,131, 68, 36, 96, 7,131, -/* 0x1650 */ 250, 3,137,208,126, 5,184, 3, 0, 0, 0,139,116, 36,120,193, -/* 0x1660 */ 224, 7,199, 68, 36, 36, 6, 0, 0, 0,141,132, 6, 96, 3, 0, -/* 0x1670 */ 0,137, 68, 36, 8,184, 1, 0, 0, 0,141, 44, 0,139,116, 36, -/* 0x1680 */ 8, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, -/* 0x1690 */ 76, 15,132, 10, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193, -/* 0x16a0 */ 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15, -/* 0x16b0 */ 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8, -/* 0x16c0 */ 0, 0, 41,200,193,248, 5,141, 4, 2,102,137, 6,137,232,235, -/* 0x16d0 */ 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194, -/* 0x16e0 */ 141, 69, 1,102,137, 22,139,108, 36, 36, 77,137,108, 36, 36,117, -/* 0x16f0 */ 137,141, 80,192,131,250, 3,137, 20, 36, 15,142, 39, 1, 0, 0, -/* 0x1700 */ 137,208,137,214,209,248,131,230, 1,141, 72,255,131,206, 2,131, -/* 0x1710 */ 250, 13,137, 76, 36, 32,127, 28,139,108, 36,120,211,230, 1,210, -/* 0x1720 */ 137, 52, 36,141, 68,117, 0, 41,208, 5, 94, 5, 0, 0,137, 68, -/* 0x1730 */ 36, 4,235, 86,141, 80,251,129,124, 36, 72,255,255,255, 0,119, -/* 0x1740 */ 24, 59, 92, 36, 76, 15,132, 86, 1, 0, 0,193,100, 36, 72, 8, -/* 0x1750 */ 15,182, 3,193,231, 8, 67, 9,199,209,108, 36, 72, 1,246, 59, -/* 0x1760 */ 124, 36, 72,114, 7, 43,124, 36, 72,131,206, 1, 74,117,200,139, -/* 0x1770 */ 68, 36,120,193,230, 4,137, 52, 36, 5, 68, 6, 0, 0,199, 68, -/* 0x1780 */ 36, 32, 4, 0, 0, 0,137, 68, 36, 4,199, 68, 36, 28, 1, 0, -/* 0x1790 */ 0, 0,184, 1, 0, 0, 0,139,108, 36, 4, 1,192,137, 68, 36, -/* 0x17a0 */ 24, 1,197,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, -/* 0x17b0 */ 76, 15,132,234, 0, 0, 0,193,100, 36, 72, 8, 15,182, 3,193, -/* 0x17c0 */ 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 85, 0,193,232, 11, -/* 0x17d0 */ 15,183,242, 15,175,198, 57,199,115, 27,137, 68, 36, 72,184, 0, -/* 0x17e0 */ 8, 0, 0, 41,240,193,248, 5,141, 4, 2,102,137, 69, 0,139, -/* 0x17f0 */ 68, 36, 24,235, 31, 41, 68, 36, 72, 41,199,137,208,102,193,232, -/* 0x1800 */ 5,102, 41,194,139, 68, 36, 24,102,137, 85, 0,139, 84, 36, 28, -/* 0x1810 */ 64, 9, 20, 36,139, 76, 36, 32,209,100, 36, 28, 73,137, 76, 36, -/* 0x1820 */ 32, 15,133,112,255,255,255,139, 52, 36, 70,137,116, 36, 92,116, -/* 0x1830 */ 89,139, 76, 36, 12,139,108, 36,116,131,193, 2, 57,108, 36, 92, -/* 0x1840 */ 119, 95,139,132, 36,160, 0, 0, 0,137,234, 43, 68, 36, 92, 3, -/* 0x1850 */ 148, 36,160, 0, 0, 0,141, 52, 40,138, 6, 70,136, 68, 36,115, -/* 0x1860 */ 136, 2, 66,255, 68, 36,116, 73,116, 15,139,172, 36,164, 0, 0, -/* 0x1870 */ 0, 57,108, 36,116,114,226,235, 17,139,132, 36,164, 0, 0, 0, -/* 0x1880 */ 57, 68, 36,116, 15,130,187,246,255,255,129,124, 36, 72,255,255, -/* 0x1890 */ 255, 0,119, 21, 59, 92, 36, 76,184, 1, 0, 0, 0,116, 41,235, -/* 0x18a0 */ 7,184, 1, 0, 0, 0,235, 32, 67, 43,156, 36,148, 0, 0, 0, -/* 0x18b0 */ 49,192,139,148, 36,156, 0, 0, 0,139, 76, 36,116,137, 26,139, -/* 0x18c0 */ 156, 36,168, 0, 0, 0,137, 11,131,196,124, 91, 94, 95, 93, 3, -/* 0x18d0 */ 115,252, 3,123,248, 49,192,141,140, 36, 0,255,255,255,137,236, -/* 0x18e0 */ 80, 57,204,117,251,137,236, 49,201,139, 84, 36, 36, 3, 84, 36, -/* 0x18f0 */ 40, 57,214,116, 1, 72, 43,124, 36, 44,139, 84, 36, 48,137, 58, -/* 0x1900 */ 137, 68, 36, 28, 97,195,235, 4, 90, 88, 89,151, 96, 49,219,187, -/* 0x1910 */ 0, 0, 0, 0,106, 15, 88,138,100, 36, 32,106, 15, 91,138,124, -/* 0x1920 */ 36, 32,138, 84, 36, 32,233,252,255,255,255, 15,183, 47, 43,110, -/* 0x1930 */ 12, 41,221,117,255,131,237, 1,115,255,136, 95,255, 73,136, 7, -/* 0x1940 */ 71,139, 7,156,102,193,232, 8,193,192, 16,134,196,157,115,255, -/* 0x1950 */ 176, 0, 15,200,115,255,193,232, 1,115, 4,254,203, 75, 35, 30, -/* 0x1960 */ 125, 2, 3, 30,137, 4,156,235,255,141, 20, 24, 15,182,210, 35, -/* 0x1970 */ 22, 59, 22,114, 2, 43, 22,139, 4,148,254,203, 75, 35, 30,125, -/* 0x1980 */ 2, 3, 30,139, 44,156,133,237,117, 9, 80,139, 70, 4,254,200, -/* 0x1990 */ 72, 35, 6,125, 2, 3, 6, 49,237,137, 70, 4,135,108,132, 4, -/* 0x19a0 */ 88,137, 44,148,137, 4,156, 41,248,131,233, 4, 3, 70, 16, 1, -/* 0x19b0 */ 240,137, 7,131,199, 4,235,255,233,252,255,255,255, 80,176,233, -/* 0x19c0 */ 176,232, 80,106, 0, 83,137,230, 94,137,218,178,233,178,232, 67, -/* 0x19d0 */ 106, 0,254,203, 75,117,255, 15,183, 7,131,199, 1, 60,128,114, -/* 0x19e0 */ 4, 60,143,118,255, 41,208, 43, 70, 8,131,232, 2,116,255,131, -/* 0x19f0 */ 232, 1,114,255,115,255,122, 0,123, 0,248,235,255,131,233, 1, -/* 0x1a00 */ 127,255,137,231,185, 4, 1, 0, 0,139, 14,131,193, 5,139, 14, -/* 0x1a10 */ 131,193, 4, 49,192,243,171,137,252, 86, 97,151, 81, 80, 82,195, -/* 0x1a20 */ 137,254,235, 31,138, 7, 71, 60,128,114, 10, 60,143,119, 6,128, -/* 0x1a30 */ 127,254, 15,116, 5, 44,232, 60, 1,119,255,131,249, 4,114, 4, -/* 0x1a40 */ 139, 7, 40,208,117,255,134,196,193,192, 16,134,196, 41,248, 1, -/* 0x1a50 */ 240,131,233, 4,171,131,233, 1,114, 4,138, 7, 71,235, 13,131, -/* 0x1a60 */ 233, 1,115, 3,185, 0, 0, 0, 0,137,254,138, 7, 71, 44,232, -/* 0x1a70 */ 60, 1,119,247,128, 63, 0,117, 6,139, 7,138, 95, 4,102,193, -/* 0x1a80 */ 232, 8,134,196,193,192, 16,134,196, 41,248,128,235,232, 1,240, -/* 0x1a90 */ 137, 7,131,199, 5,136,216,226, 11,185, 0, 0, 0, 0,176,232, -/* 0x1aa0 */ 176,233,242,174,117, 6,128, 63, 0,117,255,139, 7,102,193,232, -/* 0x1ab0 */ 8,134,196,193,192, 16,134,196, 41,248, 1,240,171,235, 4, 97, -/* 0x1ac0 */ 195, 94,173, 86, 91,139, 75, 4,141,116, 25, 11,139, 59,141,188, -/* 0x1ad0 */ 31,203, 0, 0, 0,253,243,164,141,147,128, 0, 0, 0,137,222, -/* 0x1ae0 */ 141, 95, 1, 82,252,173, 80,137,225, 80, 81, 82,173, 80,173,137, -/* 0x1af0 */ 68, 36, 12, 83,255,213,131,196, 24,141, 93,247,195, 93,232,190, -/* 0x1b00 */ 255,255,255, 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, -/* 0x1b10 */ 97,116, 32,101,108,102, 51, 50, 45,105, 51, 56, 54, 10, 10, 83, -/* 0x1b20 */ 101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109, -/* 0x1b30 */ 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, -/* 0x1b40 */ 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x1b50 */ 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102, -/* 0x1b60 */ 102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, -/* 0x1b70 */ 32, 48, 32, 73, 51, 56, 54, 66, 88, 88, 48, 32, 32, 32, 32, 32, -/* 0x1b80 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x1b90 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1ba0 */ 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x1bb0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x1bc0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 73, 51, 56, -/* 0x1bd0 */ 54, 66, 88, 88, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1be0 */ 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1bf0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, -/* 0x1c00 */ 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x1c10 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, -/* 0x1c20 */ 76, 69, 88, 69, 67, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x1c30 */ 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c40 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1c50 */ 48, 48, 51, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1c60 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x1c70 */ 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 76, 69, 88, 69, 67, 48, -/* 0x1c80 */ 48, 57, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1c90 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1ca0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 99, 32, 32, -/* 0x1cb0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1cc0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 76, 69, 88, -/* 0x1cd0 */ 69, 67, 48, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x1ce0 */ 48, 48, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, -/* 0x1d00 */ 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x1d10 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, -/* 0x1d20 */ 78, 50, 66, 83, 77, 65, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x1d30 */ 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d40 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1d50 */ 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x1d60 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x1d70 */ 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 78, 50, 66, 70, 65, 83, -/* 0x1d80 */ 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, -/* 0x1d90 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1da0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 98, 32, 32, -/* 0x1db0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1dc0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1dd0 */ 32, 32, 55, 32, 78, 50, 66, 70, 65, 83, 49, 49, 32, 32, 32, 32, -/* 0x1de0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, -/* 0x1df0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 52,100, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1e10 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x1e20 */ 76, 89, 10, 32, 32, 56, 32, 78, 50, 66, 68, 69, 67, 49, 48, 32, -/* 0x1e30 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, -/* 0x1e40 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e50 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 51, 32, 32, 50, 42, 42, -/* 0x1e60 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x1e70 */ 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 50, 66, 83, 77, 65, -/* 0x1e80 */ 50, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, -/* 0x1e90 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1ea0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 53,101, 32, 32, -/* 0x1eb0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1ec0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1ed0 */ 32, 49, 48, 32, 78, 50, 66, 70, 65, 83, 50, 48, 32, 32, 32, 32, -/* 0x1ee0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, -/* 0x1ef0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 54, 51, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1f10 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x1f20 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 78, 50, -/* 0x1f30 */ 66, 68, 69, 67, 50, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1f40 */ 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1f60 */ 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1f70 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, -/* 0x1f80 */ 32, 78, 50, 66, 83, 77, 65, 51, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x1f90 */ 48, 48, 48, 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fa0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1fb0 */ 48, 48, 48, 55, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1fc0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x1fd0 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 51, 32, 78, 50, 66, 70, 65, -/* 0x1fe0 */ 83, 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1ff0 */ 102, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2000 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 56, 54, 32, -/* 0x2010 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x2020 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x2030 */ 10, 32, 49, 52, 32, 78, 50, 66, 68, 69, 67, 51, 48, 32, 32, 32, -/* 0x2040 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 51,101, 32, 32, 48, 48, 48, -/* 0x2050 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2060 */ 32, 48, 48, 48, 48, 48, 48, 57, 53, 32, 32, 50, 42, 42, 48, 32, -/* 0x2070 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x2080 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 53, 32, 78, -/* 0x2090 */ 50, 66, 83, 77, 65, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x20a0 */ 48, 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x20b0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x20c0 */ 48,100, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x20d0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x20e0 */ 79, 78, 76, 89, 10, 32, 49, 54, 32, 78, 50, 66, 70, 65, 83, 52, -/* 0x20f0 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,102, 32, -/* 0x2100 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2110 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,101, 48, 32, 32, 50, -/* 0x2120 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x2130 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2140 */ 49, 55, 32, 78, 50, 66, 83, 77, 65, 53, 48, 32, 32, 32, 32, 32, -/* 0x2150 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x2160 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2170 */ 48, 48, 48, 48, 48,101,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2180 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2190 */ 89, 10, 32, 49, 56, 32, 78, 50, 66, 70, 65, 83, 53, 48, 32, 32, -/* 0x21a0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, -/* 0x21b0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x21c0 */ 32, 32, 48, 48, 48, 48, 48, 48,102, 49, 32, 32, 50, 42, 42, 48, -/* 0x21d0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x21e0 */ 79, 78, 76, 89, 10, 32, 49, 57, 32, 78, 50, 66, 68, 69, 67, 53, -/* 0x21f0 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, -/* 0x2200 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2210 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,102, 52, 32, 32, 50, -/* 0x2220 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x2230 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 48, 32, 78, 50, 66, 83, -/* 0x2240 */ 77, 65, 54, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2250 */ 48, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x2260 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,102,100, -/* 0x2270 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x2280 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2290 */ 89, 10, 32, 50, 49, 32, 78, 50, 66, 70, 65, 83, 54, 48, 32, 32, -/* 0x22a0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 57, 32, 32, 48, 48, -/* 0x22b0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x22c0 */ 32, 32, 48, 48, 48, 48, 48, 49, 48, 57, 32, 32, 50, 42, 42, 48, -/* 0x22d0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x22e0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 50, 32, -/* 0x22f0 */ 78, 50, 66, 70, 65, 83, 54, 49, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x2300 */ 48, 48, 48, 48, 49, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2310 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2320 */ 48, 49, 50, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x2330 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x2340 */ 68, 79, 78, 76, 89, 10, 32, 50, 51, 32, 78, 50, 66, 68, 69, 67, -/* 0x2350 */ 54, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2360 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2370 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 51, 56, 32, 32, -/* 0x2380 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x2390 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 52, 32, 78, 50, 68, -/* 0x23a0 */ 83, 77, 65, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x23b0 */ 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 51, -/* 0x23d0 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x23e0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x23f0 */ 76, 89, 10, 32, 50, 53, 32, 78, 50, 68, 70, 65, 83, 49, 48, 32, -/* 0x2400 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, -/* 0x2410 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2420 */ 48, 32, 32, 48, 48, 48, 48, 48, 49, 51, 98, 32, 32, 50, 42, 42, -/* 0x2430 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x2440 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 54, -/* 0x2450 */ 32, 78, 50, 68, 70, 65, 83, 49, 49, 32, 32, 32, 32, 32, 32, 48, -/* 0x2460 */ 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2470 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2480 */ 48, 48, 49, 51,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x2490 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x24a0 */ 32, 50, 55, 32, 78, 50, 68, 68, 69, 67, 49, 48, 32, 32, 32, 32, -/* 0x24b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, 48, -/* 0x24c0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x24d0 */ 48, 48, 48, 48, 48, 49, 52, 51, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x24e0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x24f0 */ 76, 89, 10, 32, 50, 56, 32, 78, 50, 68, 83, 77, 65, 50, 48, 32, -/* 0x2500 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, -/* 0x2510 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2520 */ 48, 32, 32, 48, 48, 48, 48, 48, 49, 52,101, 32, 32, 50, 42, 42, -/* 0x2530 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x2540 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 57, -/* 0x2550 */ 32, 78, 50, 68, 70, 65, 83, 50, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x2560 */ 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2570 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2580 */ 48, 48, 49, 53, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x2590 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x25a0 */ 65, 68, 79, 78, 76, 89, 10, 32, 51, 48, 32, 78, 50, 68, 68, 69, -/* 0x25b0 */ 67, 50, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x25c0 */ 100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x25d0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 53, 99, 32, -/* 0x25e0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x25f0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 49, 32, 78, 50, -/* 0x2600 */ 68, 83, 77, 65, 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x2610 */ 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2620 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, -/* 0x2630 */ 54, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x2640 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x2650 */ 78, 76, 89, 10, 32, 51, 50, 32, 78, 50, 68, 70, 65, 83, 51, 48, -/* 0x2660 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,102, 32, 32, -/* 0x2670 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2680 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 55, 54, 32, 32, 50, 42, -/* 0x2690 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x26a0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, -/* 0x26b0 */ 51, 32, 78, 50, 68, 68, 69, 67, 51, 48, 32, 32, 32, 32, 32, 32, -/* 0x26c0 */ 48, 48, 48, 48, 48, 48, 53, 50, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x26d0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x26e0 */ 48, 48, 48, 49, 56, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x26f0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, -/* 0x2700 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 52, 32, 78, 50, 68, 83, -/* 0x2710 */ 77, 65, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2720 */ 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x2730 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49,100, 55, -/* 0x2740 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x2750 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2760 */ 89, 10, 32, 51, 53, 32, 78, 50, 68, 70, 65, 83, 52, 48, 32, 32, -/* 0x2770 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,102, 32, 32, 48, 48, -/* 0x2780 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2790 */ 32, 32, 48, 48, 48, 48, 48, 49,101, 52, 32, 32, 50, 42, 42, 48, -/* 0x27a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x27b0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 54, 32, -/* 0x27c0 */ 78, 50, 68, 83, 77, 65, 53, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x27d0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x27e0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x27f0 */ 48, 49,102, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x2800 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2810 */ 51, 55, 32, 78, 50, 68, 70, 65, 83, 53, 48, 32, 32, 32, 32, 32, -/* 0x2820 */ 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, -/* 0x2830 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2840 */ 48, 48, 48, 48, 49,102, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2850 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2860 */ 89, 10, 32, 51, 56, 32, 78, 50, 68, 68, 69, 67, 53, 48, 32, 32, -/* 0x2870 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, -/* 0x2880 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2890 */ 32, 32, 48, 48, 48, 48, 48, 49,102, 56, 32, 32, 50, 42, 42, 48, -/* 0x28a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x28b0 */ 79, 78, 76, 89, 10, 32, 51, 57, 32, 78, 50, 68, 83, 77, 65, 54, -/* 0x28c0 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 99, 32, -/* 0x28d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x28e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 48, 49, 32, 32, 50, -/* 0x28f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x2900 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2910 */ 52, 48, 32, 78, 50, 68, 70, 65, 83, 54, 48, 32, 32, 32, 32, 32, -/* 0x2920 */ 32, 48, 48, 48, 48, 48, 48, 49, 57, 32, 32, 48, 48, 48, 48, 48, -/* 0x2930 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2940 */ 48, 48, 48, 48, 50, 48,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2950 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x2960 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 49, 32, 78, 50, 68, -/* 0x2970 */ 70, 65, 83, 54, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x2980 */ 48, 49, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2990 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 50, -/* 0x29a0 */ 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x29b0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x29c0 */ 76, 89, 10, 32, 52, 50, 32, 78, 50, 68, 68, 69, 67, 54, 48, 32, -/* 0x29d0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x29e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x29f0 */ 48, 32, 32, 48, 48, 48, 48, 48, 50, 51, 99, 32, 32, 50, 42, 42, -/* 0x2a00 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x2a10 */ 68, 79, 78, 76, 89, 10, 32, 52, 51, 32, 78, 50, 69, 83, 77, 65, -/* 0x2a20 */ 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, -/* 0x2a30 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2a40 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 51, 99, 32, 32, -/* 0x2a50 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x2a60 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x2a70 */ 32, 52, 52, 32, 78, 50, 69, 70, 65, 83, 49, 48, 32, 32, 32, 32, -/* 0x2a80 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, -/* 0x2a90 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2aa0 */ 48, 48, 48, 48, 48, 50, 51,102, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x2ab0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x2ac0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 53, 32, 78, 50, -/* 0x2ad0 */ 69, 70, 65, 83, 49, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x2ae0 */ 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, -/* 0x2b00 */ 52, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x2b10 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 54, -/* 0x2b20 */ 32, 78, 50, 69, 68, 69, 67, 49, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x2b30 */ 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2b40 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2b50 */ 48, 48, 50, 52, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x2b60 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x2b70 */ 32, 52, 55, 32, 78, 50, 69, 83, 77, 65, 50, 48, 32, 32, 32, 32, -/* 0x2b80 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, -/* 0x2b90 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2ba0 */ 48, 48, 48, 48, 48, 50, 53, 50, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x2bb0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x2bc0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 56, 32, 78, 50, -/* 0x2bd0 */ 69, 70, 65, 83, 50, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x2be0 */ 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x2bf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, -/* 0x2c00 */ 53, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x2c10 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x2c20 */ 78, 76, 89, 10, 32, 52, 57, 32, 78, 50, 69, 68, 69, 67, 50, 48, -/* 0x2c30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,100, 32, 32, -/* 0x2c40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x2c50 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 54, 48, 32, 32, 50, 42, -/* 0x2c60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x2c70 */ 65, 68, 79, 78, 76, 89, 10, 32, 53, 48, 32, 78, 50, 69, 83, 77, -/* 0x2c80 */ 65, 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x2c90 */ 100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x2ca0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 54,100, 32, -/* 0x2cb0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x2cc0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x2cd0 */ 10, 32, 53, 49, 32, 78, 50, 69, 70, 65, 83, 51, 48, 32, 32, 32, -/* 0x2ce0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,102, 32, 32, 48, 48, 48, -/* 0x2cf0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2d00 */ 32, 48, 48, 48, 48, 48, 50, 55, 97, 32, 32, 50, 42, 42, 48, 32, -/* 0x2d10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x2d20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 50, 32, 78, -/* 0x2d30 */ 50, 69, 68, 69, 67, 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x2d40 */ 48, 48, 48, 53,102, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x2d50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2d60 */ 50, 56, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x2d70 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x2d80 */ 79, 78, 76, 89, 10, 32, 53, 51, 32, 78, 50, 69, 83, 77, 65, 52, -/* 0x2d90 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,100, 32, -/* 0x2da0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x2db0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,101, 56, 32, 32, 50, -/* 0x2dc0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x2dd0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2de0 */ 53, 52, 32, 78, 50, 69, 70, 65, 83, 52, 48, 32, 32, 32, 32, 32, -/* 0x2df0 */ 32, 48, 48, 48, 48, 48, 48, 48,102, 32, 32, 48, 48, 48, 48, 48, -/* 0x2e00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2e10 */ 48, 48, 48, 48, 50,102, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2e20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x2e30 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 53, 32, 78, 50, 69, -/* 0x2e40 */ 83, 77, 65, 53, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x2e50 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2e60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 48, -/* 0x2e70 */ 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x2e80 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 54, 32, -/* 0x2e90 */ 78, 50, 69, 70, 65, 83, 53, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x2ea0 */ 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2eb0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2ec0 */ 48, 51, 48, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x2ed0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x2ee0 */ 53, 55, 32, 78, 50, 69, 68, 69, 67, 53, 48, 32, 32, 32, 32, 32, -/* 0x2ef0 */ 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, 48, -/* 0x2f00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x2f10 */ 48, 48, 48, 48, 51, 48, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x2f20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x2f30 */ 89, 10, 32, 53, 56, 32, 78, 50, 69, 83, 77, 65, 54, 48, 32, 32, -/* 0x2f40 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 99, 32, 32, 48, 48, -/* 0x2f50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2f60 */ 32, 32, 48, 48, 48, 48, 48, 51, 49, 50, 32, 32, 50, 42, 42, 48, -/* 0x2f70 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x2f80 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 57, 32, -/* 0x2f90 */ 78, 50, 69, 70, 65, 83, 54, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x2fa0 */ 48, 48, 48, 48, 49, 57, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x2fb0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x2fc0 */ 48, 51, 49,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x2fd0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x2fe0 */ 68, 79, 78, 76, 89, 10, 32, 54, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x2ff0 */ 54, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 54, -/* 0x3000 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3010 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 51, 55, 32, 32, -/* 0x3020 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3030 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x3040 */ 32, 54, 49, 32, 78, 50, 69, 68, 69, 67, 54, 48, 32, 32, 32, 32, -/* 0x3050 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3060 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x3070 */ 48, 48, 48, 48, 48, 51, 52,100, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x3080 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x3090 */ 76, 89, 10, 32, 54, 50, 32, 76, 90, 77, 65, 95, 68, 69, 67, 48, -/* 0x30a0 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50,101, 32, 32, 48, -/* 0x30b0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x30c0 */ 48, 32, 32, 48, 48, 48, 48, 48, 51, 52,100, 32, 32, 50, 42, 42, -/* 0x30d0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x30e0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 54, 51, -/* 0x30f0 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, -/* 0x3100 */ 48, 48, 48, 48, 48, 52, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x3110 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x3120 */ 48, 48, 51, 55, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x3130 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x3140 */ 32, 54, 52, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, -/* 0x3150 */ 32, 32, 48, 48, 48, 48, 48, 97, 56, 54, 32, 32, 48, 48, 48, 48, -/* 0x3160 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x3170 */ 48, 48, 48, 48, 48, 51, 99, 51, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x3180 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x3190 */ 76, 89, 10, 32, 54, 53, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, -/* 0x31a0 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97, 56, 54, 32, 32, 48, -/* 0x31b0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x31c0 */ 48, 32, 32, 48, 48, 48, 48, 48,101, 52, 57, 32, 32, 50, 42, 42, -/* 0x31d0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x31e0 */ 68, 79, 78, 76, 89, 10, 32, 54, 54, 32, 76, 90, 77, 65, 95, 68, -/* 0x31f0 */ 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 97, -/* 0x3200 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3210 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 56, 99,102, 32, 32, -/* 0x3220 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3230 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 54, 55, 32, 76, 69, 88, -/* 0x3240 */ 69, 67, 48, 49, 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3250 */ 48, 49,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3260 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 56,101, -/* 0x3270 */ 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3280 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 54, 56, 32, -/* 0x3290 */ 76, 88, 85, 78, 70, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x32a0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x32b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x32c0 */ 49, 57, 48, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x32d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x32e0 */ 68, 79, 78, 76, 89, 10, 32, 54, 57, 32, 76, 88, 85, 78, 70, 48, -/* 0x32f0 */ 48, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, -/* 0x3300 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3310 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 48, 56, 32, 32, -/* 0x3320 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3330 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 48, 32, 77, 82, 85, -/* 0x3340 */ 66, 89, 84, 69, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3350 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3360 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 48, -/* 0x3370 */ 100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3380 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 49, 32, -/* 0x3390 */ 76, 88, 77, 82, 85, 48, 48, 53, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x33a0 */ 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x33b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x33c0 */ 49, 57, 48,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x33d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x33e0 */ 68, 79, 78, 76, 89, 10, 32, 55, 50, 32, 76, 88, 77, 82, 85, 48, -/* 0x33f0 */ 48, 54, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 55, -/* 0x3400 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3410 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 49, 52, 32, 32, -/* 0x3420 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3430 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 51, 32, 76, 88, 77, -/* 0x3440 */ 82, 85, 48, 48, 55, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3450 */ 48, 48, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3460 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 49, -/* 0x3470 */ 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3480 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 52, 32, -/* 0x3490 */ 76, 88, 85, 78, 70, 48, 48, 56, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x34a0 */ 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x34b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x34c0 */ 49, 57, 50, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x34d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x34e0 */ 55, 53, 32, 76, 88, 85, 78, 70, 48, 49, 48, 32, 32, 32, 32, 32, -/* 0x34f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, -/* 0x3500 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3510 */ 48, 48, 48, 49, 57, 50, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3520 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x3530 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 54, 32, 76, 88, 74, -/* 0x3540 */ 67, 67, 48, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3550 */ 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3560 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 50, -/* 0x3570 */ 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3580 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 55, 55, 32, -/* 0x3590 */ 76, 88, 77, 82, 85, 48, 52, 53, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x35a0 */ 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x35b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x35c0 */ 49, 57, 50,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x35d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x35e0 */ 55, 56, 32, 76, 88, 77, 82, 85, 48, 52, 54, 32, 32, 32, 32, 32, -/* 0x35f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x3600 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3610 */ 48, 48, 48, 49, 57, 51, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3620 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x3630 */ 89, 10, 32, 55, 57, 32, 76, 88, 74, 67, 67, 48, 50, 48, 32, 32, -/* 0x3640 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x3650 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3660 */ 32, 32, 48, 48, 48, 48, 49, 57, 51, 51, 32, 32, 50, 42, 42, 48, -/* 0x3670 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x3680 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 48, 32, -/* 0x3690 */ 76, 88, 74, 67, 67, 48, 50, 49, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x36a0 */ 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x36b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x36c0 */ 49, 57, 51, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x36d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x36e0 */ 68, 79, 78, 76, 89, 10, 32, 56, 49, 32, 76, 88, 74, 67, 67, 48, -/* 0x36f0 */ 50, 51, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 55, -/* 0x3700 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3710 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 51, 97, 32, 32, -/* 0x3720 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3730 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 50, 32, 76, 88, 85, -/* 0x3740 */ 78, 70, 48, 51, 55, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3750 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3760 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 52, -/* 0x3770 */ 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3780 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 51, 32, -/* 0x3790 */ 76, 88, 85, 78, 70, 51, 56, 54, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x37a0 */ 48, 48, 48, 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x37b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x37c0 */ 49, 57, 52, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x37d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x37e0 */ 56, 52, 32, 76, 88, 85, 78, 70, 51, 56, 55, 32, 32, 32, 32, 32, -/* 0x37f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 57, 32, 32, 48, 48, 48, 48, 48, -/* 0x3800 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3810 */ 48, 48, 48, 49, 57, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3820 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x3830 */ 89, 10, 32, 56, 53, 32, 76, 88, 85, 78, 70, 51, 56, 56, 32, 32, -/* 0x3840 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, -/* 0x3850 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3860 */ 32, 32, 48, 48, 48, 48, 49, 57, 52,100, 32, 32, 50, 42, 42, 48, -/* 0x3870 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x3880 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 54, 32, -/* 0x3890 */ 76, 88, 85, 78, 70, 52, 56, 54, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x38a0 */ 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x38b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x38c0 */ 49, 57, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x38d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x38e0 */ 56, 55, 32, 76, 88, 85, 78, 70, 52, 56, 55, 32, 32, 32, 32, 32, -/* 0x38f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x3900 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3910 */ 48, 48, 48, 49, 57, 53, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3920 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x3930 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 56, 56, 32, 76, 88, 77, -/* 0x3940 */ 82, 85, 48, 54, 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3950 */ 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3960 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 53, -/* 0x3970 */ 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3980 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x3990 */ 76, 89, 10, 32, 56, 57, 32, 77, 82, 85, 66, 89, 84, 69, 51, 32, -/* 0x39a0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, -/* 0x39b0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x39c0 */ 48, 32, 32, 48, 48, 48, 48, 49, 57, 53, 98, 32, 32, 50, 42, 42, -/* 0x39d0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x39e0 */ 68, 79, 78, 76, 89, 10, 32, 57, 48, 32, 77, 82, 85, 65, 82, 66, -/* 0x39f0 */ 51, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 49, -/* 0x3a00 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3a10 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 53,100, 32, 32, -/* 0x3a20 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x3a30 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 49, 32, 77, 82, 85, -/* 0x3a40 */ 66, 73, 84, 83, 51, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3a50 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3a60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 53, -/* 0x3a70 */ 101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3a80 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 50, 32, -/* 0x3a90 */ 77, 82, 85, 65, 82, 66, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x3aa0 */ 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3ab0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3ac0 */ 49, 57, 54, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x3ad0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x3ae0 */ 57, 51, 32, 76, 88, 77, 82, 85, 48, 55, 48, 32, 32, 32, 32, 32, -/* 0x3af0 */ 32, 48, 48, 48, 48, 48, 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, -/* 0x3b00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3b10 */ 48, 48, 48, 49, 57, 54, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3b20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x3b30 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 52, 32, 77, 82, 85, -/* 0x3b40 */ 66, 89, 84, 69, 52, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x3b50 */ 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3b60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 54, -/* 0x3b70 */ 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x3b80 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 53, 32, -/* 0x3b90 */ 77, 82, 85, 66, 73, 84, 83, 52, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x3ba0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3bb0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x3bc0 */ 49, 57, 54,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x3bd0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, -/* 0x3be0 */ 57, 54, 32, 77, 82, 85, 65, 82, 66, 53, 48, 32, 32, 32, 32, 32, -/* 0x3bf0 */ 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, -/* 0x3c00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x3c10 */ 48, 48, 48, 49, 57, 55, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x3c20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x3c30 */ 89, 10, 32, 57, 55, 32, 76, 88, 77, 82, 85, 48, 56, 48, 32, 32, -/* 0x3c40 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, -/* 0x3c50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x3c60 */ 32, 32, 48, 48, 48, 48, 49, 57, 55, 55, 32, 32, 50, 42, 42, 48, -/* 0x3c70 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x3c80 */ 79, 78, 76, 89, 10, 32, 57, 56, 32, 77, 82, 85, 66, 89, 84, 69, -/* 0x3c90 */ 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, -/* 0x3ca0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x3cb0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 55, 97, 32, 32, 50, -/* 0x3cc0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x3cd0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 57, 57, 32, 77, 82, 85, 65, -/* 0x3ce0 */ 82, 66, 54, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x3cf0 */ 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x3d00 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 55, 99, -/* 0x3d10 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x3d20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, 48, 32, 77, -/* 0x3d30 */ 82, 85, 66, 73, 84, 83, 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x3d40 */ 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x3d50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x3d60 */ 57, 55,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x3d70 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, -/* 0x3d80 */ 49, 32, 77, 82, 85, 65, 82, 66, 55, 48, 32, 32, 32, 32, 32, 32, -/* 0x3d90 */ 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x3da0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x3db0 */ 48, 48, 49, 57, 55,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x3dc0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x3dd0 */ 10, 49, 48, 50, 32, 76, 88, 77, 82, 85, 48, 57, 48, 32, 32, 32, -/* 0x3de0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, -/* 0x3df0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x3e00 */ 32, 48, 48, 48, 48, 49, 57, 56, 51, 32, 32, 50, 42, 42, 48, 32, -/* 0x3e10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x3e20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, 51, 32, 77, -/* 0x3e30 */ 82, 85, 66, 89, 84, 69, 54, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x3e40 */ 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x3e50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x3e60 */ 57, 56,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x3e70 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, -/* 0x3e80 */ 52, 32, 77, 82, 85, 65, 82, 66, 56, 48, 32, 32, 32, 32, 32, 32, -/* 0x3e90 */ 48, 48, 48, 48, 48, 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x3ea0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x3eb0 */ 48, 48, 49, 57, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x3ec0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x3ed0 */ 10, 49, 48, 53, 32, 77, 82, 85, 66, 73, 84, 83, 54, 32, 32, 32, -/* 0x3ee0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, -/* 0x3ef0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x3f00 */ 32, 48, 48, 48, 48, 49, 57, 57, 49, 32, 32, 50, 42, 42, 48, 32, -/* 0x3f10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, -/* 0x3f20 */ 78, 76, 89, 10, 49, 48, 54, 32, 77, 82, 85, 65, 82, 66, 57, 48, -/* 0x3f30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, -/* 0x3f40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x3f50 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 57, 51, 32, 32, 50, 42, -/* 0x3f60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x3f70 */ 65, 68, 79, 78, 76, 89, 10, 49, 48, 55, 32, 76, 88, 77, 82, 85, -/* 0x3f80 */ 49, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, -/* 0x3f90 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x3fa0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 57, 55, 32, -/* 0x3fb0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x3fc0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, 56, 32, 76, 88, -/* 0x3fd0 */ 85, 78, 70, 48, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x3fe0 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x3ff0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, -/* 0x4000 */ 97, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x4010 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 48, 57, -/* 0x4020 */ 32, 76, 88, 77, 82, 85, 49, 49, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x4030 */ 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4040 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4050 */ 48, 49, 57, 97, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4060 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4070 */ 49, 49, 48, 32, 76, 88, 77, 82, 85, 49, 49, 49, 32, 32, 32, 32, -/* 0x4080 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, -/* 0x4090 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x40a0 */ 48, 48, 48, 48, 49, 57, 97,102, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x40b0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x40c0 */ 76, 89, 10, 49, 49, 49, 32, 76, 88, 85, 78, 70, 48, 52, 49, 32, -/* 0x40d0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 55, 32, 32, 48, -/* 0x40e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x40f0 */ 48, 32, 32, 48, 48, 48, 48, 49, 57, 98, 49, 32, 32, 50, 42, 42, -/* 0x4100 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x4110 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 49, 50, -/* 0x4120 */ 32, 76, 88, 85, 78, 70, 48, 52, 50, 32, 32, 32, 32, 32, 32, 48, -/* 0x4130 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4140 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4150 */ 48, 49, 57, 98, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4160 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4170 */ 49, 49, 51, 32, 76, 69, 88, 69, 67, 48, 49, 54, 32, 32, 32, 32, -/* 0x4180 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, -/* 0x4190 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x41a0 */ 48, 48, 48, 48, 49, 57, 98, 56, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x41b0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x41c0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 49, 52, 32, 76, 88, -/* 0x41d0 */ 77, 82, 85, 48, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x41e0 */ 48, 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x41f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, -/* 0x4200 */ 98,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x4210 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 49, 53, -/* 0x4220 */ 32, 76, 88, 74, 77, 80, 65, 48, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x4230 */ 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4240 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4250 */ 48, 49, 57, 98,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4260 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4270 */ 49, 49, 54, 32, 76, 88, 67, 65, 76, 76, 66, 48, 32, 32, 32, 32, -/* 0x4280 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, -/* 0x4290 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x42a0 */ 48, 48, 48, 48, 49, 57, 99, 48, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x42b0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x42c0 */ 76, 89, 10, 49, 49, 55, 32, 76, 88, 85, 78, 70, 48, 50, 49, 32, -/* 0x42d0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, -/* 0x42e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x42f0 */ 48, 32, 32, 48, 48, 48, 48, 49, 57, 99, 50, 32, 32, 50, 42, 42, -/* 0x4300 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x4310 */ 68, 79, 78, 76, 89, 10, 49, 49, 56, 32, 76, 88, 77, 82, 85, 48, -/* 0x4320 */ 50, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, -/* 0x4330 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x4340 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 99, 56, 32, 32, -/* 0x4350 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x4360 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 49, 57, 32, 76, 88, 74, -/* 0x4370 */ 77, 80, 65, 48, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x4380 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x4390 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, 99, -/* 0x43a0 */ 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x43b0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 50, 48, 32, -/* 0x43c0 */ 76, 88, 67, 65, 76, 76, 66, 49, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x43d0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x43e0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x43f0 */ 49, 57, 99,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x4400 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x4410 */ 50, 49, 32, 77, 82, 85, 66, 73, 84, 83, 49, 32, 32, 32, 32, 32, -/* 0x4420 */ 32, 48, 48, 48, 48, 48, 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, -/* 0x4430 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x4440 */ 48, 48, 48, 49, 57, 99,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x4450 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x4460 */ 89, 10, 49, 50, 50, 32, 76, 88, 77, 82, 85, 48, 51, 48, 32, 32, -/* 0x4470 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x4480 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x4490 */ 32, 32, 48, 48, 48, 48, 49, 57,100, 48, 32, 32, 50, 42, 42, 48, -/* 0x44a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x44b0 */ 79, 78, 76, 89, 10, 49, 50, 51, 32, 77, 82, 85, 66, 89, 84, 69, -/* 0x44c0 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, -/* 0x44d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x44e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,100, 50, 32, 32, 50, -/* 0x44f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4500 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 50, 52, 32, 77, 82, 85, 65, -/* 0x4510 */ 82, 66, 49, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4520 */ 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x4530 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,100, 52, -/* 0x4540 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x4550 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 50, 53, 32, 76, -/* 0x4560 */ 88, 77, 82, 85, 48, 52, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x4570 */ 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x4580 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x4590 */ 57,100, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x45a0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x45b0 */ 79, 78, 76, 89, 10, 49, 50, 54, 32, 76, 88, 85, 78, 70, 48, 51, -/* 0x45c0 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, -/* 0x45d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x45e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,100, 55, 32, 32, 50, -/* 0x45f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4600 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 50, 55, 32, 76, 88, 74, 67, -/* 0x4610 */ 67, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4620 */ 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x4630 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,100,100, -/* 0x4640 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x4650 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x4660 */ 89, 10, 49, 50, 56, 32, 76, 88, 67, 74, 48, 77, 82, 85, 32, 32, -/* 0x4670 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x4680 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x4690 */ 32, 32, 48, 48, 48, 48, 49, 57,101, 53, 32, 32, 50, 42, 42, 48, -/* 0x46a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x46b0 */ 79, 78, 76, 89, 10, 49, 50, 57, 32, 76, 88, 67, 74, 49, 77, 82, -/* 0x46c0 */ 85, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, -/* 0x46d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x46e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,101, 55, 32, 32, 50, -/* 0x46f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4700 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 48, 32, 76, 88, 67, 65, -/* 0x4710 */ 76, 74, 77, 80, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4720 */ 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x4730 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,101, 97, -/* 0x4740 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x4750 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 49, 32, 76, -/* 0x4760 */ 88, 67, 65, 76, 76, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x4770 */ 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x4780 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x4790 */ 57,101,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x47a0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x47b0 */ 79, 78, 76, 89, 10, 49, 51, 50, 32, 76, 88, 67, 65, 76, 76, 48, -/* 0x47c0 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, -/* 0x47d0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x47e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,101,102, 32, 32, 50, -/* 0x47f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4800 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 51, 32, 76, 88, 67, 74, -/* 0x4810 */ 50, 77, 82, 85, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4820 */ 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x4830 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,102, 50, -/* 0x4840 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x4850 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x4860 */ 89, 10, 49, 51, 52, 32, 76, 88, 67, 74, 52, 77, 82, 85, 32, 32, -/* 0x4870 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x4880 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x4890 */ 32, 32, 48, 48, 48, 48, 49, 57,102, 52, 32, 32, 50, 42, 42, 48, -/* 0x48a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, -/* 0x48b0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 53, 32, -/* 0x48c0 */ 76, 88, 67, 74, 54, 77, 82, 85, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x48d0 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x48e0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x48f0 */ 49, 57,102, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x4900 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, -/* 0x4910 */ 68, 79, 78, 76, 89, 10, 49, 51, 54, 32, 76, 88, 67, 74, 55, 77, -/* 0x4920 */ 82, 85, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, -/* 0x4930 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x4940 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57,102, 56, 32, 32, -/* 0x4950 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x4960 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4970 */ 49, 51, 55, 32, 76, 88, 67, 74, 56, 77, 82, 85, 32, 32, 32, 32, -/* 0x4980 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, -/* 0x4990 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x49a0 */ 48, 48, 48, 48, 49, 57,102, 97, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x49b0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x49c0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 51, 56, 32, 76, 88, -/* 0x49d0 */ 85, 78, 70, 48, 51, 52, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x49e0 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x49f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 57, -/* 0x4a00 */ 102,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x4a10 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x4a20 */ 78, 76, 89, 10, 49, 51, 57, 32, 76, 88, 77, 82, 85, 48, 53, 53, -/* 0x4a30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, -/* 0x4a40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4a50 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 48, 50, 32, 32, 50, 42, -/* 0x4a60 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x4a70 */ 65, 68, 79, 78, 76, 89, 10, 49, 52, 48, 32, 77, 82, 85, 66, 89, -/* 0x4a80 */ 84, 69, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4a90 */ 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4aa0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 48, 52, 32, -/* 0x4ab0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x4ac0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 52, 49, 32, 77, 82, -/* 0x4ad0 */ 85, 66, 73, 84, 83, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x4ae0 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x4af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, -/* 0x4b00 */ 48, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x4b10 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 52, 50, -/* 0x4b20 */ 32, 77, 82, 85, 65, 82, 66, 50, 48, 32, 32, 32, 32, 32, 32, 48, -/* 0x4b30 */ 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4b40 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4b50 */ 48, 49, 97, 48,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4b60 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x4b70 */ 49, 52, 51, 32, 76, 88, 77, 82, 85, 48, 53, 55, 32, 32, 32, 32, -/* 0x4b80 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, -/* 0x4b90 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x4ba0 */ 48, 48, 48, 48, 49, 97, 49, 51, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x4bb0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x4bc0 */ 76, 89, 10, 49, 52, 52, 32, 76, 88, 77, 82, 85, 48, 53, 56, 32, -/* 0x4bd0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 49, 32, 32, 48, -/* 0x4be0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4bf0 */ 48, 32, 32, 48, 48, 48, 48, 49, 97, 49, 57, 32, 32, 50, 42, 42, -/* 0x4c00 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x4c10 */ 68, 79, 78, 76, 89, 10, 49, 52, 53, 32, 76, 88, 85, 78, 70, 48, -/* 0x4c20 */ 51, 53, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, -/* 0x4c30 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x4c40 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 49, 97, 32, 32, -/* 0x4c50 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x4c60 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 52, 54, 32, 99,116,111, -/* 0x4c70 */ 107, 51, 50, 46, 48, 48, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x4c80 */ 48, 48, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x4c90 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 50, -/* 0x4ca0 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x4cb0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x4cc0 */ 76, 89, 10, 49, 52, 55, 32, 99,116,111,107, 51, 50, 46, 49, 48, -/* 0x4cd0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,101, 32, 32, 48, -/* 0x4ce0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4cf0 */ 48, 32, 32, 48, 48, 48, 48, 49, 97, 50, 55, 32, 32, 50, 42, 42, -/* 0x4d00 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, -/* 0x4d10 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 52, 56, -/* 0x4d20 */ 32, 99,116,111,107, 51, 50, 46, 50, 48, 32, 32, 32, 32, 32, 48, -/* 0x4d30 */ 48, 48, 48, 48, 48, 50, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4d40 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4d50 */ 48, 49, 97, 51, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x4d60 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x4d70 */ 65, 68, 79, 78, 76, 89, 10, 49, 52, 57, 32, 99,116,111,107, 51, -/* 0x4d80 */ 50, 46, 51, 48, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x4d90 */ 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x4da0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 53, 53, 32, -/* 0x4db0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x4dc0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x4dd0 */ 10, 49, 53, 48, 32, 99,116,111,107, 51, 50, 46, 52, 48, 32, 32, -/* 0x4de0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, -/* 0x4df0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x4e00 */ 32, 48, 48, 48, 48, 49, 97, 53,102, 32, 32, 50, 42, 42, 48, 32, -/* 0x4e10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, -/* 0x4e20 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 53, 49, 32, 67, -/* 0x4e30 */ 65, 76, 76, 84, 82, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x4e40 */ 48, 48, 48, 49, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x4e50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x4e60 */ 97, 54, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x4e70 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x4e80 */ 79, 78, 76, 89, 10, 49, 53, 50, 32, 67, 84, 67, 76, 69, 86, 69, -/* 0x4e90 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, -/* 0x4ea0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x4eb0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 55, 52, 32, 32, 50, -/* 0x4ec0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4ed0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x4ee0 */ 53, 51, 32, 67, 65, 76, 76, 84, 82, 48, 49, 32, 32, 32, 32, 32, -/* 0x4ef0 */ 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, -/* 0x4f00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x4f10 */ 48, 48, 48, 49, 97, 55, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x4f20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x4f30 */ 89, 10, 49, 53, 52, 32, 67, 84, 66, 83, 72, 82, 48, 49, 32, 32, -/* 0x4f40 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, -/* 0x4f50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x4f60 */ 32, 32, 48, 48, 48, 48, 49, 97, 55,101, 32, 32, 50, 42, 42, 48, -/* 0x4f70 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x4f80 */ 79, 78, 76, 89, 10, 49, 53, 53, 32, 67, 84, 66, 82, 79, 82, 48, -/* 0x4f90 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, -/* 0x4fa0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x4fb0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 56, 50, 32, 32, 50, -/* 0x4fc0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x4fd0 */ 69, 65, 68, 79, 78, 76, 89, 10, 49, 53, 54, 32, 67, 84, 66, 83, -/* 0x4fe0 */ 87, 65, 48, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x4ff0 */ 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x5000 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 56, 52, -/* 0x5010 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, -/* 0x5020 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 53, 55, 32, 67, -/* 0x5030 */ 65, 76, 76, 84, 82, 48, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, -/* 0x5040 */ 48, 48, 48, 49, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5050 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, -/* 0x5060 */ 97, 56, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, -/* 0x5070 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, -/* 0x5080 */ 79, 78, 76, 89, 10, 49, 53, 56, 32, 67, 65, 76, 76, 84, 82, 49, -/* 0x5090 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, -/* 0x50a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x50b0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 57, 57, 32, 32, 50, -/* 0x50c0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x50d0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x50e0 */ 53, 57, 32, 67, 65, 76, 76, 84, 82, 69, 56, 32, 32, 32, 32, 32, -/* 0x50f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x5100 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5110 */ 48, 48, 48, 49, 97, 57,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x5120 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x5130 */ 89, 10, 49, 54, 48, 32, 67, 65, 76, 76, 84, 82, 69, 57, 32, 32, -/* 0x5140 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, -/* 0x5150 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x5160 */ 32, 32, 48, 48, 48, 48, 49, 97, 97, 48, 32, 32, 50, 42, 42, 48, -/* 0x5170 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x5180 */ 79, 78, 76, 89, 10, 49, 54, 49, 32, 67, 65, 76, 76, 84, 82, 49, -/* 0x5190 */ 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, -/* 0x51a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x51b0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 97, 50, 32, 32, 50, -/* 0x51c0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x51d0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x51e0 */ 54, 50, 32, 67, 84, 67, 76, 69, 86, 69, 50, 32, 32, 32, 32, 32, -/* 0x51f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, -/* 0x5200 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5210 */ 48, 48, 48, 49, 97, 97, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x5220 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, -/* 0x5230 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 54, 51, 32, 67, 65, 76, -/* 0x5240 */ 76, 84, 82, 49, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x5250 */ 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5260 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 97, -/* 0x5270 */ 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x5280 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, 54, 52, 32, -/* 0x5290 */ 67, 84, 66, 83, 72, 82, 49, 49, 32, 32, 32, 32, 32, 32, 48, 48, -/* 0x52a0 */ 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x52b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x52c0 */ 49, 97, 97,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, -/* 0x52d0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x52e0 */ 54, 53, 32, 67, 84, 66, 82, 79, 82, 49, 49, 32, 32, 32, 32, 32, -/* 0x52f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x5300 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5310 */ 48, 48, 48, 49, 97, 98, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x5320 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x5330 */ 89, 10, 49, 54, 54, 32, 67, 84, 66, 83, 87, 65, 49, 49, 32, 32, -/* 0x5340 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, -/* 0x5350 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x5360 */ 32, 32, 48, 48, 48, 48, 49, 97, 98, 51, 32, 32, 50, 42, 42, 48, -/* 0x5370 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x5380 */ 79, 78, 76, 89, 10, 49, 54, 55, 32, 67, 65, 76, 76, 84, 82, 49, -/* 0x5390 */ 51, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 55, 32, -/* 0x53a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, -/* 0x53b0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 97, 98, 56, 32, 32, 50, -/* 0x53c0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, -/* 0x53d0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 49, -/* 0x53e0 */ 54, 56, 32, 76, 69, 88, 69, 67, 48, 49, 55, 32, 32, 32, 32, 32, -/* 0x53f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, -/* 0x5400 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x5410 */ 48, 48, 48, 49, 97, 98,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, -/* 0x5420 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, -/* 0x5430 */ 89, 10, 49, 54, 57, 32, 76, 69, 88, 69, 67, 48, 50, 48, 32, 32, -/* 0x5440 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 52, 54, 32, 32, 48, 48, -/* 0x5450 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x5460 */ 32, 32, 48, 48, 48, 48, 49, 97, 99, 49, 32, 32, 50, 42, 42, 48, -/* 0x5470 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, -/* 0x5480 */ 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, -/* 0x5490 */ 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x54a0 */ 32,100, 32, 32, 73, 51, 56, 54, 66, 88, 88, 49, 9, 48, 48, 48, -/* 0x54b0 */ 48, 48, 48, 48, 48, 32, 73, 51, 56, 54, 66, 88, 88, 49, 10, 48, -/* 0x54c0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x54d0 */ 78, 50, 66, 83, 77, 65, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x54e0 */ 48, 32, 78, 50, 66, 83, 77, 65, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x54f0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, -/* 0x5500 */ 65, 83, 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5510 */ 66, 70, 65, 83, 49, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5520 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 68, 69, 67, 49, 48, -/* 0x5530 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 68, 69, 67, -/* 0x5540 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5550 */ 32,100, 32, 32, 78, 50, 66, 68, 69, 67, 50, 48, 9, 48, 48, 48, -/* 0x5560 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 68, 69, 67, 50, 48, 10, 48, -/* 0x5570 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5580 */ 78, 50, 66, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5590 */ 48, 32, 78, 50, 66, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x55a0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 68, -/* 0x55b0 */ 69, 67, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x55c0 */ 66, 68, 69, 67, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x55d0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, 65, 83, 54, 49, -/* 0x55e0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 70, 65, 83, -/* 0x55f0 */ 54, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5600 */ 32,100, 32, 32, 78, 50, 66, 68, 69, 67, 54, 48, 9, 48, 48, 48, -/* 0x5610 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 68, 69, 67, 54, 48, 10, 48, -/* 0x5620 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5630 */ 78, 50, 68, 83, 77, 65, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5640 */ 48, 32, 78, 50, 68, 83, 77, 65, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x5650 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, -/* 0x5660 */ 65, 83, 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5670 */ 68, 70, 65, 83, 49, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5680 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 68, 69, 67, 49, 48, -/* 0x5690 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 68, 69, 67, -/* 0x56a0 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x56b0 */ 32,100, 32, 32, 78, 50, 68, 68, 69, 67, 50, 48, 9, 48, 48, 48, -/* 0x56c0 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 68, 69, 67, 50, 48, 10, 48, -/* 0x56d0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x56e0 */ 78, 50, 68, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x56f0 */ 48, 32, 78, 50, 68, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x5700 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 68, -/* 0x5710 */ 69, 67, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5720 */ 68, 68, 69, 67, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5730 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, 65, 83, 54, 49, -/* 0x5740 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 70, 65, 83, -/* 0x5750 */ 54, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5760 */ 32,100, 32, 32, 78, 50, 68, 68, 69, 67, 54, 48, 9, 48, 48, 48, -/* 0x5770 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 68, 69, 67, 54, 48, 10, 48, -/* 0x5780 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5790 */ 78, 50, 69, 83, 77, 65, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x57a0 */ 48, 32, 78, 50, 69, 83, 77, 65, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x57b0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, -/* 0x57c0 */ 65, 83, 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x57d0 */ 69, 70, 65, 83, 49, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x57e0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 68, 69, 67, 49, 48, -/* 0x57f0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 68, 69, 67, -/* 0x5800 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5810 */ 32,100, 32, 32, 78, 50, 69, 68, 69, 67, 50, 48, 9, 48, 48, 48, -/* 0x5820 */ 48, 48, 48, 48, 48, 32, 78, 50, 69, 68, 69, 67, 50, 48, 10, 48, -/* 0x5830 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5840 */ 78, 50, 69, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5850 */ 48, 32, 78, 50, 69, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x5860 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 68, -/* 0x5870 */ 69, 67, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5880 */ 69, 68, 69, 67, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5890 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, 65, 83, 54, 49, -/* 0x58a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x58b0 */ 54, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x58c0 */ 32,100, 32, 32, 78, 50, 69, 68, 69, 67, 54, 48, 9, 48, 48, 48, -/* 0x58d0 */ 48, 48, 48, 48, 48, 32, 78, 50, 69, 68, 69, 67, 54, 48, 10, 48, -/* 0x58e0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x58f0 */ 76, 88, 85, 78, 70, 48, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5900 */ 48, 32, 76, 88, 85, 78, 70, 48, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x5910 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 74, 67, -/* 0x5920 */ 67, 48, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x5930 */ 74, 67, 67, 48, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5940 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 51, 55, -/* 0x5950 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x5960 */ 51, 55, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5970 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 55, 48, 9, 48, 48, 48, -/* 0x5980 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 55, 48, 10, 48, -/* 0x5990 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x59a0 */ 76, 88, 77, 82, 85, 49, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x59b0 */ 48, 32, 76, 88, 77, 82, 85, 49, 48, 48, 10, 48, 48, 48, 48, 48, -/* 0x59c0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, -/* 0x59d0 */ 70, 48, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x59e0 */ 85, 78, 70, 48, 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x59f0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 52, 50, -/* 0x5a00 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x5a10 */ 52, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5a20 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 51, 48, 9, 48, 48, 48, -/* 0x5a30 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 51, 48, 10, 48, -/* 0x5a40 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5a50 */ 76, 88, 85, 78, 70, 48, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5a60 */ 48, 32, 76, 88, 85, 78, 70, 48, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x5a70 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 74, -/* 0x5a80 */ 56, 77, 82, 85, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x5a90 */ 67, 74, 56, 77, 82, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5aa0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 51, 52, -/* 0x5ab0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x5ac0 */ 51, 52, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5ad0 */ 32,100, 32, 32, 99,116,111,107, 51, 50, 46, 48, 48, 9, 48, 48, -/* 0x5ae0 */ 48, 48, 48, 48, 48, 48, 32, 99,116,111,107, 51, 50, 46, 48, 48, -/* 0x5af0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x5b00 */ 32, 32, 99,116,111,107, 51, 50, 46, 49, 48, 9, 48, 48, 48, 48, -/* 0x5b10 */ 48, 48, 48, 48, 32, 99,116,111,107, 51, 50, 46, 49, 48, 10, 48, -/* 0x5b20 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5b30 */ 99,116,111,107, 51, 50, 46, 50, 48, 9, 48, 48, 48, 48, 48, 48, -/* 0x5b40 */ 48, 48, 32, 99,116,111,107, 51, 50, 46, 50, 48, 10, 48, 48, 48, -/* 0x5b50 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 99,116, -/* 0x5b60 */ 111,107, 51, 50, 46, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x5b70 */ 32, 99,116,111,107, 51, 50, 46, 52, 48, 10, 48, 48, 48, 48, 48, -/* 0x5b80 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, 76, 76, -/* 0x5b90 */ 84, 82, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 65, -/* 0x5ba0 */ 76, 76, 84, 82, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5bb0 */ 108, 32, 32, 32, 32,100, 32, 32, 67, 65, 76, 76, 84, 82, 49, 48, -/* 0x5bc0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 65, 76, 76, 84, 82, -/* 0x5bd0 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5be0 */ 32,100, 32, 32, 67, 65, 76, 76, 84, 82, 49, 49, 9, 48, 48, 48, -/* 0x5bf0 */ 48, 48, 48, 48, 48, 32, 67, 65, 76, 76, 84, 82, 49, 49, 10, 48, -/* 0x5c00 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5c10 */ 67, 65, 76, 76, 84, 82, 49, 51, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5c20 */ 48, 32, 67, 65, 76, 76, 84, 82, 49, 51, 10, 48, 48, 48, 48, 48, -/* 0x5c30 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 69, 88, 69, -/* 0x5c40 */ 67, 48, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, -/* 0x5c50 */ 88, 69, 67, 48, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5c60 */ 108, 32, 32, 32, 32,100, 32, 32, 73, 51, 56, 54, 66, 88, 88, 48, -/* 0x5c70 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 73, 51, 56, 54, 66, 88, -/* 0x5c80 */ 88, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5c90 */ 32,100, 32, 32, 76, 69, 88, 69, 67, 48, 48, 48, 9, 48, 48, 48, -/* 0x5ca0 */ 48, 48, 48, 48, 48, 32, 76, 69, 88, 69, 67, 48, 48, 48, 10, 48, -/* 0x5cb0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5cc0 */ 76, 69, 88, 69, 67, 48, 48, 57, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5cd0 */ 48, 32, 76, 69, 88, 69, 67, 48, 48, 57, 10, 48, 48, 48, 48, 48, -/* 0x5ce0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 69, 88, 69, -/* 0x5cf0 */ 67, 48, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, -/* 0x5d00 */ 88, 69, 67, 48, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5d10 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, 65, 83, 49, 48, -/* 0x5d20 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 70, 65, 83, -/* 0x5d30 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5d40 */ 32,100, 32, 32, 78, 50, 66, 83, 77, 65, 50, 48, 9, 48, 48, 48, -/* 0x5d50 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 83, 77, 65, 50, 48, 10, 48, -/* 0x5d60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5d70 */ 78, 50, 66, 70, 65, 83, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5d80 */ 48, 32, 78, 50, 66, 70, 65, 83, 50, 48, 10, 48, 48, 48, 48, 48, -/* 0x5d90 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 83, -/* 0x5da0 */ 77, 65, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5db0 */ 66, 83, 77, 65, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5dc0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, 65, 83, 51, 48, -/* 0x5dd0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 70, 65, 83, -/* 0x5de0 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5df0 */ 32,100, 32, 32, 78, 50, 66, 83, 77, 65, 52, 48, 9, 48, 48, 48, -/* 0x5e00 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 83, 77, 65, 52, 48, 10, 48, -/* 0x5e10 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5e20 */ 78, 50, 66, 70, 65, 83, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5e30 */ 48, 32, 78, 50, 66, 70, 65, 83, 52, 48, 10, 48, 48, 48, 48, 48, -/* 0x5e40 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 83, -/* 0x5e50 */ 77, 65, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5e60 */ 66, 83, 77, 65, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5e70 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 66, 70, 65, 83, 53, 48, -/* 0x5e80 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 66, 70, 65, 83, -/* 0x5e90 */ 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5ea0 */ 32,100, 32, 32, 78, 50, 66, 83, 77, 65, 54, 48, 9, 48, 48, 48, -/* 0x5eb0 */ 48, 48, 48, 48, 48, 32, 78, 50, 66, 83, 77, 65, 54, 48, 10, 48, -/* 0x5ec0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5ed0 */ 78, 50, 66, 70, 65, 83, 54, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5ee0 */ 48, 32, 78, 50, 66, 70, 65, 83, 54, 48, 10, 48, 48, 48, 48, 48, -/* 0x5ef0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, -/* 0x5f00 */ 65, 83, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5f10 */ 68, 70, 65, 83, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5f20 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 83, 77, 65, 50, 48, -/* 0x5f30 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 83, 77, 65, -/* 0x5f40 */ 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x5f50 */ 32,100, 32, 32, 78, 50, 68, 70, 65, 83, 50, 48, 9, 48, 48, 48, -/* 0x5f60 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 70, 65, 83, 50, 48, 10, 48, -/* 0x5f70 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x5f80 */ 78, 50, 68, 83, 77, 65, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x5f90 */ 48, 32, 78, 50, 68, 83, 77, 65, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x5fa0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, -/* 0x5fb0 */ 65, 83, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x5fc0 */ 68, 70, 65, 83, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x5fd0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 83, 77, 65, 52, 48, -/* 0x5fe0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 83, 77, 65, -/* 0x5ff0 */ 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6000 */ 32,100, 32, 32, 78, 50, 68, 70, 65, 83, 52, 48, 9, 48, 48, 48, -/* 0x6010 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 70, 65, 83, 52, 48, 10, 48, -/* 0x6020 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6030 */ 78, 50, 68, 83, 77, 65, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6040 */ 48, 32, 78, 50, 68, 83, 77, 65, 53, 48, 10, 48, 48, 48, 48, 48, -/* 0x6050 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 70, -/* 0x6060 */ 65, 83, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x6070 */ 68, 70, 65, 83, 53, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6080 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 68, 83, 77, 65, 54, 48, -/* 0x6090 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 68, 83, 77, 65, -/* 0x60a0 */ 54, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x60b0 */ 32,100, 32, 32, 78, 50, 68, 70, 65, 83, 54, 48, 9, 48, 48, 48, -/* 0x60c0 */ 48, 48, 48, 48, 48, 32, 78, 50, 68, 70, 65, 83, 54, 48, 10, 48, -/* 0x60d0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x60e0 */ 78, 50, 69, 70, 65, 83, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x60f0 */ 48, 32, 78, 50, 69, 70, 65, 83, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x6100 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 83, -/* 0x6110 */ 77, 65, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x6120 */ 69, 83, 77, 65, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6130 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, 65, 83, 50, 48, -/* 0x6140 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x6150 */ 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6160 */ 32,100, 32, 32, 78, 50, 69, 83, 77, 65, 51, 48, 9, 48, 48, 48, -/* 0x6170 */ 48, 48, 48, 48, 48, 32, 78, 50, 69, 83, 77, 65, 51, 48, 10, 48, -/* 0x6180 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6190 */ 78, 50, 69, 70, 65, 83, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x61a0 */ 48, 32, 78, 50, 69, 70, 65, 83, 51, 48, 10, 48, 48, 48, 48, 48, -/* 0x61b0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 83, -/* 0x61c0 */ 77, 65, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x61d0 */ 69, 83, 77, 65, 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x61e0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, 65, 83, 52, 48, -/* 0x61f0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x6200 */ 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6210 */ 32,100, 32, 32, 78, 50, 69, 83, 77, 65, 53, 48, 9, 48, 48, 48, -/* 0x6220 */ 48, 48, 48, 48, 48, 32, 78, 50, 69, 83, 77, 65, 53, 48, 10, 48, -/* 0x6230 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6240 */ 78, 50, 69, 70, 65, 83, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6250 */ 48, 32, 78, 50, 69, 70, 65, 83, 53, 48, 10, 48, 48, 48, 48, 48, -/* 0x6260 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 83, -/* 0x6270 */ 77, 65, 54, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, -/* 0x6280 */ 69, 83, 77, 65, 54, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6290 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 50, 69, 70, 65, 83, 54, 48, -/* 0x62a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 50, 69, 70, 65, 83, -/* 0x62b0 */ 54, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x62c0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 48, 48, 9, 48, -/* 0x62d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x62e0 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x62f0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, -/* 0x6300 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, -/* 0x6310 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6320 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, -/* 0x6330 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x6340 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6350 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, -/* 0x6360 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x6370 */ 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6380 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, -/* 0x6390 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x63a0 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x63b0 */ 32,100, 32, 32, 76, 69, 88, 69, 67, 48, 49, 53, 9, 48, 48, 48, -/* 0x63c0 */ 48, 48, 48, 48, 48, 32, 76, 69, 88, 69, 67, 48, 49, 53, 10, 48, -/* 0x63d0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x63e0 */ 76, 88, 85, 78, 70, 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x63f0 */ 48, 32, 76, 88, 85, 78, 70, 48, 48, 48, 10, 48, 48, 48, 48, 48, -/* 0x6400 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, -/* 0x6410 */ 70, 48, 48, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6420 */ 85, 78, 70, 48, 48, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6430 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 48, -/* 0x6440 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, -/* 0x6450 */ 69, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6460 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 48, 53, 9, 48, 48, 48, -/* 0x6470 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 48, 53, 10, 48, -/* 0x6480 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6490 */ 76, 88, 77, 82, 85, 48, 48, 54, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x64a0 */ 48, 32, 76, 88, 77, 82, 85, 48, 48, 54, 10, 48, 48, 48, 48, 48, -/* 0x64b0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x64c0 */ 85, 48, 48, 55, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x64d0 */ 77, 82, 85, 48, 48, 55, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x64e0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 48, 56, -/* 0x64f0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x6500 */ 48, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6510 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 52, 53, 9, 48, 48, 48, -/* 0x6520 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 52, 53, 10, 48, -/* 0x6530 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6540 */ 76, 88, 77, 82, 85, 48, 52, 54, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6550 */ 48, 32, 76, 88, 77, 82, 85, 48, 52, 54, 10, 48, 48, 48, 48, 48, -/* 0x6560 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 74, 67, -/* 0x6570 */ 67, 48, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6580 */ 74, 67, 67, 48, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6590 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 74, 67, 67, 48, 50, 49, -/* 0x65a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 74, 67, 67, 48, -/* 0x65b0 */ 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x65c0 */ 32,100, 32, 32, 76, 88, 74, 67, 67, 48, 50, 51, 9, 48, 48, 48, -/* 0x65d0 */ 48, 48, 48, 48, 48, 32, 76, 88, 74, 67, 67, 48, 50, 51, 10, 48, -/* 0x65e0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x65f0 */ 76, 88, 85, 78, 70, 51, 56, 54, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6600 */ 48, 32, 76, 88, 85, 78, 70, 51, 56, 54, 10, 48, 48, 48, 48, 48, -/* 0x6610 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, -/* 0x6620 */ 70, 51, 56, 55, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6630 */ 85, 78, 70, 51, 56, 55, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6640 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 51, 56, 56, -/* 0x6650 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 51, -/* 0x6660 */ 56, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6670 */ 32,100, 32, 32, 76, 88, 85, 78, 70, 52, 56, 54, 9, 48, 48, 48, -/* 0x6680 */ 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 52, 56, 54, 10, 48, -/* 0x6690 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x66a0 */ 76, 88, 85, 78, 70, 52, 56, 55, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x66b0 */ 48, 32, 76, 88, 85, 78, 70, 52, 56, 55, 10, 48, 48, 48, 48, 48, -/* 0x66c0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x66d0 */ 85, 48, 54, 53, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x66e0 */ 77, 82, 85, 48, 54, 53, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x66f0 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 51, -/* 0x6700 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, -/* 0x6710 */ 69, 51, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6720 */ 32,100, 32, 32, 77, 82, 85, 65, 82, 66, 51, 48, 9, 48, 48, 48, -/* 0x6730 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 65, 82, 66, 51, 48, 10, 48, -/* 0x6740 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6750 */ 77, 82, 85, 66, 73, 84, 83, 51, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6760 */ 48, 32, 77, 82, 85, 66, 73, 84, 83, 51, 10, 48, 48, 48, 48, 48, -/* 0x6770 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 65, -/* 0x6780 */ 82, 66, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, -/* 0x6790 */ 85, 65, 82, 66, 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x67a0 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 52, -/* 0x67b0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, -/* 0x67c0 */ 69, 52, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x67d0 */ 32,100, 32, 32, 77, 82, 85, 66, 73, 84, 83, 52, 9, 48, 48, 48, -/* 0x67e0 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 73, 84, 83, 52, 10, 48, -/* 0x67f0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6800 */ 77, 82, 85, 65, 82, 66, 53, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6810 */ 48, 32, 77, 82, 85, 65, 82, 66, 53, 48, 10, 48, 48, 48, 48, 48, -/* 0x6820 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x6830 */ 85, 48, 56, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6840 */ 77, 82, 85, 48, 56, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6850 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 53, -/* 0x6860 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, -/* 0x6870 */ 69, 53, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6880 */ 32,100, 32, 32, 77, 82, 85, 65, 82, 66, 54, 48, 9, 48, 48, 48, -/* 0x6890 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 65, 82, 66, 54, 48, 10, 48, -/* 0x68a0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x68b0 */ 77, 82, 85, 66, 73, 84, 83, 53, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x68c0 */ 48, 32, 77, 82, 85, 66, 73, 84, 83, 53, 10, 48, 48, 48, 48, 48, -/* 0x68d0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 65, -/* 0x68e0 */ 82, 66, 55, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, -/* 0x68f0 */ 85, 65, 82, 66, 55, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6900 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 57, 48, -/* 0x6910 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, -/* 0x6920 */ 57, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6930 */ 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 54, 9, 48, 48, 48, -/* 0x6940 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, 69, 54, 10, 48, -/* 0x6950 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6960 */ 77, 82, 85, 65, 82, 66, 56, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6970 */ 48, 32, 77, 82, 85, 65, 82, 66, 56, 48, 10, 48, 48, 48, 48, 48, -/* 0x6980 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, -/* 0x6990 */ 73, 84, 83, 54, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, -/* 0x69a0 */ 85, 66, 73, 84, 83, 54, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x69b0 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 65, 82, 66, 57, 48, -/* 0x69c0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 65, 82, 66, -/* 0x69d0 */ 57, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x69e0 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 49, 49, 48, 9, 48, 48, 48, -/* 0x69f0 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 49, 49, 48, 10, 48, -/* 0x6a00 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6a10 */ 76, 88, 77, 82, 85, 49, 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6a20 */ 48, 32, 76, 88, 77, 82, 85, 49, 49, 49, 10, 48, 48, 48, 48, 48, -/* 0x6a30 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, -/* 0x6a40 */ 70, 48, 52, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6a50 */ 85, 78, 70, 48, 52, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6a60 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 69, 88, 69, 67, 48, 49, 54, -/* 0x6a70 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 88, 69, 67, 48, -/* 0x6a80 */ 49, 54, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6a90 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 49, 48, 9, 48, 48, 48, -/* 0x6aa0 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 49, 48, 10, 48, -/* 0x6ab0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6ac0 */ 76, 88, 74, 77, 80, 65, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6ad0 */ 48, 32, 76, 88, 74, 77, 80, 65, 48, 48, 10, 48, 48, 48, 48, 48, -/* 0x6ae0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 65, -/* 0x6af0 */ 76, 76, 66, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6b00 */ 67, 65, 76, 76, 66, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6b10 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 50, 49, -/* 0x6b20 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x6b30 */ 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6b40 */ 32,100, 32, 32, 76, 88, 77, 82, 85, 48, 50, 50, 9, 48, 48, 48, -/* 0x6b50 */ 48, 48, 48, 48, 48, 32, 76, 88, 77, 82, 85, 48, 50, 50, 10, 48, -/* 0x6b60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6b70 */ 76, 88, 74, 77, 80, 65, 48, 49, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6b80 */ 48, 32, 76, 88, 74, 77, 80, 65, 48, 49, 10, 48, 48, 48, 48, 48, -/* 0x6b90 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 65, -/* 0x6ba0 */ 76, 76, 66, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6bb0 */ 67, 65, 76, 76, 66, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6bc0 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 73, 84, 83, 49, -/* 0x6bd0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 73, 84, -/* 0x6be0 */ 83, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6bf0 */ 32,100, 32, 32, 77, 82, 85, 66, 89, 84, 69, 49, 9, 48, 48, 48, -/* 0x6c00 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 89, 84, 69, 49, 10, 48, -/* 0x6c10 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6c20 */ 77, 82, 85, 65, 82, 66, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6c30 */ 48, 32, 77, 82, 85, 65, 82, 66, 49, 48, 10, 48, 48, 48, 48, 48, -/* 0x6c40 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x6c50 */ 85, 48, 52, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6c60 */ 77, 82, 85, 48, 52, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6c70 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 74, 67, 67, 48, 48, 48, -/* 0x6c80 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 74, 67, 67, 48, -/* 0x6c90 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6ca0 */ 32,100, 32, 32, 76, 88, 67, 74, 48, 77, 82, 85, 9, 48, 48, 48, -/* 0x6cb0 */ 48, 48, 48, 48, 48, 32, 76, 88, 67, 74, 48, 77, 82, 85, 10, 48, -/* 0x6cc0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6cd0 */ 76, 88, 67, 74, 49, 77, 82, 85, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6ce0 */ 48, 32, 76, 88, 67, 74, 49, 77, 82, 85, 10, 48, 48, 48, 48, 48, -/* 0x6cf0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 65, -/* 0x6d00 */ 76, 74, 77, 80, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6d10 */ 67, 65, 76, 74, 77, 80, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6d20 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 65, 76, 76, 48, 48, -/* 0x6d30 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 67, 65, 76, 76, -/* 0x6d40 */ 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6d50 */ 32,100, 32, 32, 76, 88, 67, 65, 76, 76, 48, 49, 9, 48, 48, 48, -/* 0x6d60 */ 48, 48, 48, 48, 48, 32, 76, 88, 67, 65, 76, 76, 48, 49, 10, 48, -/* 0x6d70 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6d80 */ 76, 88, 67, 74, 50, 77, 82, 85, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6d90 */ 48, 32, 76, 88, 67, 74, 50, 77, 82, 85, 10, 48, 48, 48, 48, 48, -/* 0x6da0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 74, -/* 0x6db0 */ 52, 77, 82, 85, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6dc0 */ 67, 74, 52, 77, 82, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6dd0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 67, 74, 54, 77, 82, 85, -/* 0x6de0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 67, 74, 54, 77, -/* 0x6df0 */ 82, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6e00 */ 32,100, 32, 32, 76, 88, 67, 74, 55, 77, 82, 85, 9, 48, 48, 48, -/* 0x6e10 */ 48, 48, 48, 48, 48, 32, 76, 88, 67, 74, 55, 77, 82, 85, 10, 48, -/* 0x6e20 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6e30 */ 76, 88, 77, 82, 85, 48, 53, 53, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6e40 */ 48, 32, 76, 88, 77, 82, 85, 48, 53, 53, 10, 48, 48, 48, 48, 48, -/* 0x6e50 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, -/* 0x6e60 */ 89, 84, 69, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, -/* 0x6e70 */ 85, 66, 89, 84, 69, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6e80 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 82, 85, 66, 73, 84, 83, 50, -/* 0x6e90 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 82, 85, 66, 73, 84, -/* 0x6ea0 */ 83, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6eb0 */ 32,100, 32, 32, 77, 82, 85, 65, 82, 66, 50, 48, 9, 48, 48, 48, -/* 0x6ec0 */ 48, 48, 48, 48, 48, 32, 77, 82, 85, 65, 82, 66, 50, 48, 10, 48, -/* 0x6ed0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x6ee0 */ 76, 88, 77, 82, 85, 48, 53, 55, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x6ef0 */ 48, 32, 76, 88, 77, 82, 85, 48, 53, 55, 10, 48, 48, 48, 48, 48, -/* 0x6f00 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 88, 77, 82, -/* 0x6f10 */ 85, 48, 53, 56, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, -/* 0x6f20 */ 77, 82, 85, 48, 53, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6f30 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 88, 85, 78, 70, 48, 51, 53, -/* 0x6f40 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 88, 85, 78, 70, 48, -/* 0x6f50 */ 51, 53, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x6f60 */ 32,100, 32, 32, 99,116,111,107, 51, 50, 46, 51, 48, 9, 48, 48, -/* 0x6f70 */ 48, 48, 48, 48, 48, 48, 32, 99,116,111,107, 51, 50, 46, 51, 48, -/* 0x6f80 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x6f90 */ 32, 32, 67, 84, 67, 76, 69, 86, 69, 49, 9, 48, 48, 48, 48, 48, -/* 0x6fa0 */ 48, 48, 48, 32, 67, 84, 67, 76, 69, 86, 69, 49, 10, 48, 48, 48, -/* 0x6fb0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, -/* 0x6fc0 */ 76, 76, 84, 82, 48, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x6fd0 */ 67, 65, 76, 76, 84, 82, 48, 49, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x6fe0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 84, 66, 83, 72, 82, -/* 0x6ff0 */ 48, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 84, 66, 83, -/* 0x7000 */ 72, 82, 48, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x7010 */ 32, 32, 32,100, 32, 32, 67, 84, 66, 82, 79, 82, 48, 49, 9, 48, -/* 0x7020 */ 48, 48, 48, 48, 48, 48, 48, 32, 67, 84, 66, 82, 79, 82, 48, 49, -/* 0x7030 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x7040 */ 32, 32, 67, 84, 66, 83, 87, 65, 48, 49, 9, 48, 48, 48, 48, 48, -/* 0x7050 */ 48, 48, 48, 32, 67, 84, 66, 83, 87, 65, 48, 49, 10, 48, 48, 48, -/* 0x7060 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, -/* 0x7070 */ 76, 76, 84, 82, 48, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x7080 */ 67, 65, 76, 76, 84, 82, 48, 50, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x7090 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, 76, 76, 84, 82, -/* 0x70a0 */ 69, 56, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 65, 76, 76, -/* 0x70b0 */ 84, 82, 69, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x70c0 */ 32, 32, 32,100, 32, 32, 67, 65, 76, 76, 84, 82, 69, 57, 9, 48, -/* 0x70d0 */ 48, 48, 48, 48, 48, 48, 48, 32, 67, 65, 76, 76, 84, 82, 69, 57, -/* 0x70e0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x70f0 */ 32, 32, 67, 84, 67, 76, 69, 86, 69, 50, 9, 48, 48, 48, 48, 48, -/* 0x7100 */ 48, 48, 48, 32, 67, 84, 67, 76, 69, 86, 69, 50, 10, 48, 48, 48, -/* 0x7110 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 65, -/* 0x7120 */ 76, 76, 84, 82, 49, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x7130 */ 67, 65, 76, 76, 84, 82, 49, 50, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x7140 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 84, 66, 83, 72, 82, -/* 0x7150 */ 49, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 84, 66, 83, -/* 0x7160 */ 72, 82, 49, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, -/* 0x7170 */ 32, 32, 32,100, 32, 32, 67, 84, 66, 82, 79, 82, 49, 49, 9, 48, -/* 0x7180 */ 48, 48, 48, 48, 48, 48, 48, 32, 67, 84, 66, 82, 79, 82, 49, 49, -/* 0x7190 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x71a0 */ 32, 32, 67, 84, 66, 83, 87, 65, 49, 49, 9, 48, 48, 48, 48, 48, -/* 0x71b0 */ 48, 48, 48, 32, 67, 84, 66, 83, 87, 65, 49, 49, 10, 48, 48, 48, -/* 0x71c0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 69, -/* 0x71d0 */ 88, 69, 67, 48, 49, 55, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x71e0 */ 76, 69, 88, 69, 67, 48, 49, 55, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x71f0 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 76, 69, 88, 69, 67, 48, -/* 0x7200 */ 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97, -/* 0x7210 */ 114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, -/* 0x7220 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, -/* 0x7230 */ 48, 48, 32,108,122,109, 97, 95,115,116, 97, 99,107, 95, 97,100, -/* 0x7240 */ 106,117,115,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, -/* 0x7250 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, -/* 0x7260 */ 48, 48, 48, 48, 32,108,122,109, 97, 95,117, 95,108,101,110, 10, -/* 0x7270 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7280 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x7290 */ 108,122,109, 97, 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, -/* 0x72a0 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, -/* 0x72b0 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,122,109, 97, 95, -/* 0x72c0 */ 112,114,111,112,101,114,116,105,101,115, 10, 48, 48, 48, 48, 48, -/* 0x72d0 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, -/* 0x72e0 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 77, 82, 85, 10, -/* 0x72f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7300 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x7310 */ 102,105,108,116,101,114, 95,108,101,110,103,116,104, 10, 48, 48, -/* 0x7320 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, -/* 0x7330 */ 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,102,105, -/* 0x7340 */ 108,116,101,114, 95, 99,116,111, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x7350 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x7360 */ 32, 91, 73, 51, 56, 54, 66, 88, 88, 48, 93, 58, 10, 79, 70, 70, -/* 0x7370 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x7380 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x7390 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 51, 56, 54, 95, 49, 54, 32, -/* 0x73a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 73, 51, 56, 54, 66, 88, 88, -/* 0x73b0 */ 49, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x73c0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 69, 88, 69, 67, -/* 0x73d0 */ 48, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x73e0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x73f0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, -/* 0x7400 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, -/* 0x7410 */ 32, 32, 76, 69, 88, 69, 67, 48, 50, 48, 10, 10, 82, 69, 76, 79, -/* 0x7420 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x7430 */ 79, 82, 32, 91, 78, 50, 66, 83, 77, 65, 49, 48, 93, 58, 10, 79, -/* 0x7440 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x7450 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x7460 */ 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x7470 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, -/* 0x7480 */ 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x7490 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, -/* 0x74a0 */ 70, 65, 83, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x74b0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x74c0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x74d0 */ 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x74e0 */ 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 49, 48, 10, 10, 82, 69, -/* 0x74f0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x7500 */ 32, 70, 79, 82, 32, 91, 78, 50, 66, 83, 77, 65, 50, 48, 93, 58, -/* 0x7510 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, -/* 0x7520 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, -/* 0x7530 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, -/* 0x7540 */ 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, -/* 0x7550 */ 83, 77, 65, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x7560 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, -/* 0x7570 */ 50, 66, 70, 65, 83, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x7580 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7590 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, -/* 0x75a0 */ 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, -/* 0x75b0 */ 32, 32, 32, 32, 32, 32, 78, 50, 66, 70, 65, 83, 49, 49, 10, 10, -/* 0x75c0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x75d0 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, 83, 77, 65, 51, 48, -/* 0x75e0 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x75f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x7600 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 99, 32, 82, 95, 51, -/* 0x7610 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x7620 */ 50, 66, 68, 69, 67, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x7630 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x7640 */ 91, 78, 50, 66, 70, 65, 83, 51, 48, 93, 58, 10, 79, 70, 70, 83, -/* 0x7650 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x7660 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x7670 */ 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, -/* 0x7680 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 50, 48, -/* 0x7690 */ 10, 48, 48, 48, 48, 48, 48, 48,101, 32, 82, 95, 51, 56, 54, 95, -/* 0x76a0 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, -/* 0x76b0 */ 69, 67, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x76c0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, -/* 0x76d0 */ 66, 68, 69, 67, 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x76e0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x76f0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x7700 */ 49, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x7710 */ 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 54, 48, 10, 48, 48, -/* 0x7720 */ 48, 48, 48, 48, 50,102, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x7730 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 53, -/* 0x7740 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x7750 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, 83, 77, -/* 0x7760 */ 65, 52, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x7770 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7780 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 99, 32, -/* 0x7790 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x77a0 */ 32, 32, 78, 50, 66, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, -/* 0x77b0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x77c0 */ 79, 82, 32, 91, 78, 50, 66, 70, 65, 83, 52, 48, 93, 58, 10, 79, -/* 0x77d0 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x77e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x77f0 */ 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x7800 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, -/* 0x7810 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48,101, 32, 82, 95, 51, -/* 0x7820 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x7830 */ 50, 66, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x7840 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x7850 */ 91, 78, 50, 66, 83, 77, 65, 54, 48, 93, 58, 10, 79, 70, 70, 83, -/* 0x7860 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x7870 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x7880 */ 48, 48, 48, 48, 56, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, -/* 0x7890 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 49, 48, -/* 0x78a0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x78b0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, 70, 65, 83, -/* 0x78c0 */ 54, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x78d0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x78e0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 97, 32, 82, -/* 0x78f0 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7900 */ 32, 78, 50, 66, 70, 65, 83, 54, 49, 10, 48, 48, 48, 48, 48, 48, -/* 0x7910 */ 49, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, -/* 0x7920 */ 32, 32, 32, 32, 32, 78, 50, 66, 68, 69, 67, 49, 48, 10, 10, 82, -/* 0x7930 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x7940 */ 83, 32, 70, 79, 82, 32, 91, 78, 50, 66, 70, 65, 83, 54, 49, 93, -/* 0x7950 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x7960 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x7970 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 50, 32, 82, 95, 51, 56, -/* 0x7980 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, -/* 0x7990 */ 66, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x79a0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x79b0 */ 78, 50, 68, 83, 77, 65, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x79c0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x79d0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x79e0 */ 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x79f0 */ 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 49, 48, 10, -/* 0x7a00 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x7a10 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 70, 65, 83, 49, -/* 0x7a20 */ 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, -/* 0x7a30 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x7a40 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, -/* 0x7a50 */ 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7a60 */ 78, 50, 68, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x7a70 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x7a80 */ 32, 91, 78, 50, 68, 83, 77, 65, 50, 48, 93, 58, 10, 79, 70, 70, -/* 0x7a90 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x7aa0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x7ab0 */ 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x7ac0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 83, 77, 65, 49, -/* 0x7ad0 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x7ae0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 70, 65, -/* 0x7af0 */ 83, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x7b00 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7b10 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 51, 32, -/* 0x7b20 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x7b30 */ 32, 32, 78, 50, 68, 70, 65, 83, 49, 49, 10, 10, 82, 69, 76, 79, -/* 0x7b40 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x7b50 */ 79, 82, 32, 91, 78, 50, 68, 83, 77, 65, 51, 48, 93, 58, 10, 79, -/* 0x7b60 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x7b70 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x7b80 */ 48, 48, 48, 48, 48, 48, 48, 99, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x7b90 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, -/* 0x7ba0 */ 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x7bb0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, -/* 0x7bc0 */ 70, 65, 83, 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x7bd0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7be0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x7bf0 */ 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x7c00 */ 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 51, 48, 10, 48, 48, 48, -/* 0x7c10 */ 48, 48, 48, 48,101, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, -/* 0x7c20 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 51, 48, -/* 0x7c30 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x7c40 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 68, 69, 67, -/* 0x7c50 */ 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x7c60 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7c70 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,102, 32, 82, -/* 0x7c80 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7c90 */ 32, 78, 50, 68, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, -/* 0x7ca0 */ 50, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x7cb0 */ 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 54, 48, 10, 48, 48, -/* 0x7cc0 */ 48, 48, 48, 48, 52, 51, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x7cd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 53, -/* 0x7ce0 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x7cf0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 83, 77, -/* 0x7d00 */ 65, 52, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x7d10 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7d20 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 99, 32, -/* 0x7d30 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x7d40 */ 32, 32, 78, 50, 68, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, -/* 0x7d50 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x7d60 */ 79, 82, 32, 91, 78, 50, 68, 70, 65, 83, 52, 48, 93, 58, 10, 79, -/* 0x7d70 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x7d80 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x7d90 */ 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x7da0 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, -/* 0x7db0 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48,101, 32, 82, 95, 51, -/* 0x7dc0 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x7dd0 */ 50, 68, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x7de0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x7df0 */ 91, 78, 50, 68, 83, 77, 65, 54, 48, 93, 58, 10, 79, 70, 70, 83, -/* 0x7e00 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x7e10 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x7e20 */ 48, 48, 48, 48, 56, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, -/* 0x7e30 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 49, 48, -/* 0x7e40 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x7e50 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 70, 65, 83, -/* 0x7e60 */ 54, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x7e70 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7e80 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 97, 32, 82, -/* 0x7e90 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7ea0 */ 32, 78, 50, 68, 70, 65, 83, 54, 49, 10, 48, 48, 48, 48, 48, 48, -/* 0x7eb0 */ 49, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, -/* 0x7ec0 */ 32, 32, 32, 32, 32, 78, 50, 68, 68, 69, 67, 49, 48, 10, 10, 82, -/* 0x7ed0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x7ee0 */ 83, 32, 70, 79, 82, 32, 91, 78, 50, 68, 70, 65, 83, 54, 49, 93, -/* 0x7ef0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x7f00 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x7f10 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 50, 32, 82, 95, 51, 56, -/* 0x7f20 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, -/* 0x7f30 */ 68, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x7f40 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x7f50 */ 78, 50, 69, 83, 77, 65, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x7f60 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x7f70 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x7f80 */ 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x7f90 */ 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 49, 48, 10, -/* 0x7fa0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x7fb0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 70, 65, 83, 49, -/* 0x7fc0 */ 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, -/* 0x7fd0 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x7fe0 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, -/* 0x7ff0 */ 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8000 */ 78, 50, 69, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x8010 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x8020 */ 32, 91, 78, 50, 69, 83, 77, 65, 50, 48, 93, 58, 10, 79, 70, 70, -/* 0x8030 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x8040 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x8050 */ 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x8060 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 83, 77, 65, 49, -/* 0x8070 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x8080 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 70, 65, -/* 0x8090 */ 83, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x80a0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x80b0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 51, 32, -/* 0x80c0 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x80d0 */ 32, 32, 78, 50, 69, 70, 65, 83, 49, 49, 10, 10, 82, 69, 76, 79, -/* 0x80e0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x80f0 */ 79, 82, 32, 91, 78, 50, 69, 83, 77, 65, 51, 48, 93, 58, 10, 79, -/* 0x8100 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x8110 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x8120 */ 48, 48, 48, 48, 48, 48, 48, 99, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x8130 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, -/* 0x8140 */ 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x8150 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, -/* 0x8160 */ 70, 65, 83, 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x8170 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8180 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x8190 */ 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x81a0 */ 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 51, 48, 10, 48, 48, 48, -/* 0x81b0 */ 48, 48, 48, 48,101, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, -/* 0x81c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 51, 48, -/* 0x81d0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x81e0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 68, 69, 67, -/* 0x81f0 */ 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x8200 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8210 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,102, 32, 82, -/* 0x8220 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8230 */ 32, 78, 50, 69, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, -/* 0x8240 */ 49,101, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x8250 */ 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 53, 48, 10, 48, 48, -/* 0x8260 */ 48, 48, 48, 48, 51, 48, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x8270 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 54, -/* 0x8280 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x8290 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 83, 77, -/* 0x82a0 */ 65, 52, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x82b0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x82c0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 99, 32, -/* 0x82d0 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x82e0 */ 32, 32, 78, 50, 69, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, -/* 0x82f0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x8300 */ 79, 82, 32, 91, 78, 50, 69, 70, 65, 83, 52, 48, 93, 58, 10, 79, -/* 0x8310 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x8320 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x8330 */ 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x8340 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, -/* 0x8350 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48,101, 32, 82, 95, 51, -/* 0x8360 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, -/* 0x8370 */ 50, 69, 68, 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x8380 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x8390 */ 91, 78, 50, 69, 83, 77, 65, 54, 48, 93, 58, 10, 79, 70, 70, 83, -/* 0x83a0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x83b0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x83c0 */ 48, 48, 48, 48, 56, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, -/* 0x83d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 49, 48, -/* 0x83e0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x83f0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 70, 65, 83, -/* 0x8400 */ 54, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x8410 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8420 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 97, 32, 82, -/* 0x8430 */ 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8440 */ 32, 78, 50, 69, 70, 65, 83, 54, 49, 10, 48, 48, 48, 48, 48, 48, -/* 0x8450 */ 49, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, -/* 0x8460 */ 32, 32, 32, 32, 32, 78, 50, 69, 68, 69, 67, 49, 48, 10, 10, 82, -/* 0x8470 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x8480 */ 83, 32, 70, 79, 82, 32, 91, 78, 50, 69, 70, 65, 83, 54, 49, 93, -/* 0x8490 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x84a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x84b0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 49, 50, 32, 82, 95, 51, 56, -/* 0x84c0 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 50, -/* 0x84d0 */ 69, 68, 69, 67, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x84e0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x84f0 */ 76, 90, 77, 65, 95, 68, 69, 67, 48, 48, 93, 58, 10, 79, 70, 70, -/* 0x8500 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x8510 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x8520 */ 48, 48, 48, 48, 48, 53, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, -/* 0x8530 */ 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,115,116, -/* 0x8540 */ 97, 99,107, 95, 97,100,106,117,115,116, 10, 48, 48, 48, 48, 48, -/* 0x8550 */ 48, 49, 52, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, -/* 0x8560 */ 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,117, 95,108,101,110, -/* 0x8570 */ 10, 48, 48, 48, 48, 48, 48, 49,101, 32, 82, 95, 51, 56, 54, 95, -/* 0x8580 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, -/* 0x8590 */ 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, 48, 50, 97, 32, -/* 0x85a0 */ 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x85b0 */ 32, 32,108,122,109, 97, 95,112,114,111,112,101,114,116,105,101, -/* 0x85c0 */ 115, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x85d0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 85, 78, 70, -/* 0x85e0 */ 48, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x85f0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8600 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, -/* 0x8610 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x8620 */ 32, 32, 76, 88, 85, 78, 70, 48, 49, 48, 10, 10, 82, 69, 76, 79, -/* 0x8630 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x8640 */ 79, 82, 32, 91, 76, 88, 77, 82, 85, 48, 48, 53, 93, 58, 10, 79, -/* 0x8650 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x8660 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x8670 */ 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 51, -/* 0x8680 */ 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 78, 77, 82, 85, 10, -/* 0x8690 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x86a0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 85, 78, 70, 48, 49, -/* 0x86b0 */ 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, -/* 0x86c0 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x86d0 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, -/* 0x86e0 */ 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x86f0 */ 76, 88, 85, 78, 70, 48, 52, 50, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x8700 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x8710 */ 32, 91, 76, 88, 74, 67, 67, 48, 50, 48, 93, 58, 10, 79, 70, 70, -/* 0x8720 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x8730 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x8740 */ 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x8750 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 51, -/* 0x8760 */ 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x8770 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 74, 67, 67, -/* 0x8780 */ 48, 50, 49, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x8790 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x87a0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, -/* 0x87b0 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x87c0 */ 32, 32, 76, 88, 85, 78, 70, 48, 51, 52, 10, 10, 82, 69, 76, 79, -/* 0x87d0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x87e0 */ 79, 82, 32, 91, 76, 88, 85, 78, 70, 51, 56, 56, 93, 58, 10, 79, -/* 0x87f0 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, -/* 0x8800 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, -/* 0x8810 */ 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95, 51, 56, 54, 95, 80, -/* 0x8820 */ 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, -/* 0x8830 */ 48, 52, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, -/* 0x8840 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 85, -/* 0x8850 */ 78, 70, 52, 56, 55, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, -/* 0x8860 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8870 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x8880 */ 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x8890 */ 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 52, 48, 10, 10, 82, 69, -/* 0x88a0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x88b0 */ 32, 70, 79, 82, 32, 91, 76, 88, 77, 82, 85, 48, 54, 53, 93, 58, -/* 0x88c0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, -/* 0x88d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, -/* 0x88e0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 51, 56, 54, -/* 0x88f0 */ 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 77, -/* 0x8900 */ 82, 85, 48, 55, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x8910 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, -/* 0x8920 */ 88, 77, 82, 85, 48, 55, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x8930 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8940 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, -/* 0x8950 */ 48, 48, 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, -/* 0x8960 */ 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 52, 48, 10, 10, -/* 0x8970 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x8980 */ 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 77, 82, 85, 48, 57, 48, -/* 0x8990 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x89a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x89b0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, 95, 51, -/* 0x89c0 */ 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, -/* 0x89d0 */ 88, 77, 82, 85, 49, 48, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, -/* 0x89e0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, -/* 0x89f0 */ 91, 76, 88, 85, 78, 70, 48, 52, 49, 93, 58, 10, 79, 70, 70, 83, -/* 0x8a00 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, -/* 0x8a10 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, -/* 0x8a20 */ 48, 48, 48, 48, 54, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, -/* 0x8a30 */ 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 51, 52, -/* 0x8a40 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x8a50 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 69, 88, 69, 67, 48, -/* 0x8a60 */ 49, 54, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x8a70 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8a80 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, -/* 0x8a90 */ 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, -/* 0x8aa0 */ 32, 76, 88, 85, 78, 70, 48, 52, 50, 10, 10, 82, 69, 76, 79, 67, -/* 0x8ab0 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, -/* 0x8ac0 */ 82, 32, 91, 76, 88, 77, 82, 85, 48, 52, 48, 93, 58, 10, 79, 70, -/* 0x8ad0 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, -/* 0x8ae0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, -/* 0x8af0 */ 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, -/* 0x8b00 */ 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 77, 82, 85, 48, -/* 0x8b10 */ 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, -/* 0x8b20 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 74, 67, -/* 0x8b30 */ 67, 48, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, -/* 0x8b40 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8b50 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 55, -/* 0x8b60 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, -/* 0x8b70 */ 32, 32, 32, 76, 88, 74, 67, 67, 48, 49, 48, 10, 10, 82, 69, 76, -/* 0x8b80 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, -/* 0x8b90 */ 70, 79, 82, 32, 91, 76, 88, 67, 65, 76, 76, 48, 48, 93, 58, 10, -/* 0x8ba0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x8bb0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x8bc0 */ 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, -/* 0x8bd0 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, -/* 0x8be0 */ 70, 48, 51, 55, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x8bf0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, -/* 0x8c00 */ 67, 74, 50, 77, 82, 85, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x8c10 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8c20 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x8c30 */ 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x8c40 */ 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 51, 55, 10, 10, 82, -/* 0x8c50 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x8c60 */ 83, 32, 70, 79, 82, 32, 91, 76, 88, 67, 74, 52, 77, 82, 85, 93, -/* 0x8c70 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x8c80 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x8c90 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, -/* 0x8ca0 */ 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, -/* 0x8cb0 */ 85, 78, 70, 48, 51, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x8cc0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x8cd0 */ 76, 88, 67, 74, 54, 77, 82, 85, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x8ce0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8cf0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x8d00 */ 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x8d10 */ 32, 32, 32, 32, 32, 32, 32, 76, 88, 67, 74, 56, 77, 82, 85, 10, -/* 0x8d20 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, -/* 0x8d30 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 67, 74, 55, 77, 82, -/* 0x8d40 */ 85, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, -/* 0x8d50 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x8d60 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, -/* 0x8d70 */ 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8d80 */ 76, 88, 67, 74, 56, 77, 82, 85, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x8d90 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x8da0 */ 32, 91, 76, 88, 67, 74, 56, 77, 82, 85, 93, 58, 10, 79, 70, 70, -/* 0x8db0 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, -/* 0x8dc0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, -/* 0x8dd0 */ 48, 48, 48, 48, 48, 50, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, -/* 0x8de0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 88, 85, 78, 70, 48, 51, -/* 0x8df0 */ 55, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, -/* 0x8e00 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 88, 85, 78, 70, -/* 0x8e10 */ 48, 51, 52, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x8e20 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8e30 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, -/* 0x8e40 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x8e50 */ 32, 32, 76, 88, 85, 78, 70, 48, 51, 48, 10, 10, 82, 69, 76, 79, -/* 0x8e60 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, -/* 0x8e70 */ 79, 82, 32, 91, 99,116,111,107, 51, 50, 46, 48, 48, 93, 58, 10, -/* 0x8e80 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x8e90 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x8ea0 */ 10, 48, 48, 48, 48, 48, 48, 48, 51, 32, 82, 95, 51, 56, 54, 95, -/* 0x8eb0 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, -/* 0x8ec0 */ 51, 50, 46, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x8ed0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 99, -/* 0x8ee0 */ 116,111,107, 51, 50, 46, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x8ef0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8f00 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x8f10 */ 48, 48, 48,100, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x8f20 */ 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, 51, 50, 46, 50, 48, -/* 0x8f30 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x8f40 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 99,116,111,107, 51, 50, -/* 0x8f50 */ 46, 50, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, -/* 0x8f60 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x8f70 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 53, 32, -/* 0x8f80 */ 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, -/* 0x8f90 */ 32, 32, 99,116,111,107, 51, 50, 46, 52, 48, 10, 48, 48, 48, 48, -/* 0x8fa0 */ 48, 48, 48, 97, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x8fb0 */ 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, 51, 50, 46, 52, 48, -/* 0x8fc0 */ 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 51, 56, 54, 95, -/* 0x8fd0 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, -/* 0x8fe0 */ 51, 50, 46, 52, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x8ff0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 99, -/* 0x9000 */ 116,111,107, 51, 50, 46, 51, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x9010 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x9020 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x9030 */ 48, 48, 48, 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x9040 */ 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, 51, 50, 46, 52, 48, -/* 0x9050 */ 10, 48, 48, 48, 48, 48, 48, 48, 57, 32, 82, 95, 51, 56, 54, 95, -/* 0x9060 */ 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, -/* 0x9070 */ 51, 50, 46, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x9080 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 99, -/* 0x9090 */ 116,111,107, 51, 50, 46, 52, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x90a0 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x90b0 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x90c0 */ 48, 48, 48, 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, -/* 0x90d0 */ 32, 32, 32, 32, 32, 32, 32, 99,116,111,107, 51, 50, 46, 48, 48, -/* 0x90e0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, -/* 0x90f0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 67, 65, 76, 76, 84, 82, -/* 0x9100 */ 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, -/* 0x9110 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x9120 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, -/* 0x9130 */ 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x9140 */ 32,102,105,108,116,101,114, 95,108,101,110,103,116,104, 10, 10, -/* 0x9150 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x9160 */ 68, 83, 32, 70, 79, 82, 32, 91, 67, 84, 67, 76, 69, 86, 69, 49, -/* 0x9170 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x9180 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x9190 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95, 51, -/* 0x91a0 */ 56, 54, 95, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102, -/* 0x91b0 */ 105,108,116,101,114, 95, 99,116,111, 10, 48, 48, 48, 48, 48, 48, -/* 0x91c0 */ 48, 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x91d0 */ 32, 32, 32, 32, 32, 67, 65, 76, 76, 84, 82, 48, 48, 10, 10, 82, -/* 0x91e0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x91f0 */ 83, 32, 70, 79, 82, 32, 91, 67, 65, 76, 76, 84, 82, 48, 50, 93, -/* 0x9200 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x9210 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x9220 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,102, 32, 82, 95, 51, 56, -/* 0x9230 */ 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 65, -/* 0x9240 */ 76, 76, 84, 82, 48, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, -/* 0x9250 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, -/* 0x9260 */ 67, 65, 76, 76, 84, 82, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x9270 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x9280 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x9290 */ 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, -/* 0x92a0 */ 32, 32, 32, 32, 32, 32, 32,102,105,108,116,101,114, 95,108,101, -/* 0x92b0 */ 110,103,116,104, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x92c0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 67, 65, -/* 0x92d0 */ 76, 76, 84, 82, 49, 49, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, -/* 0x92e0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x92f0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, -/* 0x9300 */ 48, 51, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, -/* 0x9310 */ 32, 32, 32, 32, 32, 67, 65, 76, 76, 84, 82, 49, 51, 10, 10, 82, -/* 0x9320 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, -/* 0x9330 */ 83, 32, 70, 79, 82, 32, 91, 67, 84, 67, 76, 69, 86, 69, 50, 93, -/* 0x9340 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, -/* 0x9350 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, -/* 0x9360 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95, 51, 56, -/* 0x9370 */ 54, 95, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,105, -/* 0x9380 */ 108,116,101,114, 95, 99,116,111, 10, 48, 48, 48, 48, 48, 48, 48, -/* 0x9390 */ 52, 32, 82, 95, 51, 56, 54, 95, 80, 67, 56, 32, 32, 32, 32, 32, -/* 0x93a0 */ 32, 32, 32, 32, 67, 65, 76, 76, 84, 82, 49, 49, 10, 10, 82, 69, -/* 0x93b0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x93c0 */ 32, 70, 79, 82, 32, 91, 67, 65, 76, 76, 84, 82, 49, 51, 93, 58, -/* 0x93d0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, -/* 0x93e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, -/* 0x93f0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, 95, 51, 56, 54, -/* 0x9400 */ 95, 80, 67, 56, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 65, 76, -/* 0x9410 */ 76, 84, 82, 49, 48, 10 +/* 0x0020 */ 148, 26, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, +/* 0x0030 */ 0, 0, 0, 0,232,252,255,255,255, 89, 0,131,124, 36, 16, 73, +/* 0x0040 */ 117, 79, 85,137,229, 83, 86, 87,139,117, 8,139, 77, 12,139, 85, +/* 0x0050 */ 16,141, 76, 14,253,137,243,235, 45, 57,206,115, 48, 86, 94,172, +/* 0x0060 */ 60,128,114, 10, 60,143,119, 6,128,126,254, 15,116, 6, 44,232, +/* 0x0070 */ 60, 1,119,229, 57,206,115, 21, 86,173, 40,208,117,224, 95, 15, +/* 0x0080 */ 200, 41,248, 1,216,171, 57,206,115, 3,172,235,225, 95, 94, 91, +/* 0x0090 */ 93,195, 96,139,116, 36, 36,139, 76, 36, 40, 1,241,137, 76, 36, +/* 0x00a0 */ 36,139,124, 36, 44, 49,219, 49,201,131,205,255,235, 70, 1,219, +/* 0x00b0 */ 116, 2,243,195,139, 30,131,238,252, 17,219,138, 22,243,195,141, +/* 0x00c0 */ 4, 47,131,249, 5,138, 16,118, 30,131,253,252,119, 25,131,233, +/* 0x00d0 */ 4,139, 16,131,192, 4,131,233, 4,137, 23,141,127, 4,115,241, +/* 0x00e0 */ 131,193, 4,138, 16,116, 11, 64,136, 23, 73,138, 16,141,127, 1, +/* 0x00f0 */ 117,245,243,195,252,128,124, 36, 52, 8, 15,133,199, 0, 0, 0, +/* 0x0100 */ 235, 4, 70,136, 23, 71,138, 22, 1,219,117, 9,139, 30,131,238, +/* 0x0110 */ 252, 17,219,138, 22,114,235,106, 1, 88,235, 16, 72, 1,219,117, +/* 0x0120 */ 9,139, 30,131,238,252, 17,219,138, 22, 17,192, 1,219,117, 9, +/* 0x0130 */ 139, 30,131,238,252, 17,219,138, 22, 17,192, 1,219,117, 9,139, +/* 0x0140 */ 30,131,238,252, 17,219,138, 22,115,210,131,232, 3,114, 26,193, +/* 0x0150 */ 224, 8, 15,182,210, 9,208, 70,131,240,255, 15,132,252,255,255, +/* 0x0160 */ 255,209,248,137,197,114, 62,235, 13, 1,219,117, 7,139, 30,131, +/* 0x0170 */ 238,252, 17,219,114, 47, 65, 1,219,117, 7,139, 30,131,238,252, +/* 0x0180 */ 17,219,114, 33, 1,219,117, 9,139, 30,131,238,252, 17,219,138, +/* 0x0190 */ 22, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115,228, +/* 0x01a0 */ 131,193, 2,235, 15, 1,219,117, 9,139, 30,131,238,252, 17,219, +/* 0x01b0 */ 138, 22, 17,201,129,253, 0,251,255,255,131,209, 2,232,130, 0, +/* 0x01c0 */ 0, 0,233, 63,255,255,255, 87, 94,128,124, 36, 52, 5, 15,133, +/* 0x01d0 */ 186, 0, 0, 0,235, 4, 70,136, 23, 71,138, 22, 1,219,117, 9, +/* 0x01e0 */ 139, 30,131,238,252, 17,219,138, 22,114,235,106, 1, 88,235, 16, +/* 0x01f0 */ 72, 1,219,117, 9,139, 30,131,238,252, 17,219,138, 22, 17,192, +/* 0x0200 */ 1,219,117, 9,139, 30,131,238,252, 17,219,138, 22, 17,192, 1, +/* 0x0210 */ 219,117, 9,139, 30,131,238,252, 17,219,138, 22,115,210,131,232, +/* 0x0220 */ 3,114, 24,193,224, 8, 15,182,210, 9,208, 70,131,240,255, 15, +/* 0x0230 */ 132,252,255,255,255,209,248,137,197,235, 13, 1,219,117, 9,139, +/* 0x0240 */ 30,131,238,252, 17,219,138, 22, 17,201, 1,219,117, 9,139, 30, +/* 0x0250 */ 131,238,252, 17,219,138, 22, 17,201,117, 32, 65, 1,219,117, 9, +/* 0x0260 */ 139, 30,131,238,252, 17,219,138, 22, 17,201, 1,219,117, 7,139, +/* 0x0270 */ 30,131,238,252, 17,219,115,228,131,193, 2,129,253, 0,251,255, +/* 0x0280 */ 255,131,209, 1,232,130, 0, 0, 0,233, 76,255,255,255, 87, 94, +/* 0x0290 */ 128,124, 36, 52, 2, 15,133,167, 0, 0, 0,235, 4, 70,136, 23, +/* 0x02a0 */ 71,138, 22, 1,219,117, 9,139, 30,131,238,252, 17,219,138, 22, +/* 0x02b0 */ 114,235,106, 1, 88, 1,219,117, 9,139, 30,131,238,252, 17,219, +/* 0x02c0 */ 138, 22, 17,192, 1,219,117, 9,139, 30,131,238,252, 17,219,138, +/* 0x02d0 */ 22,115,226,131,232, 3,114, 20,193,224, 8, 15,182,210, 9,208, +/* 0x02e0 */ 70,131,240,255, 15,132,252,255,255,255,137,197,106, 1, 88, 1, +/* 0x02f0 */ 219,117, 9,139, 30,131,238,252, 17,219,138, 22, 17,201, 1,219, +/* 0x0300 */ 117, 9,139, 30,131,238,252, 17,219,138, 22, 17,201,117, 33,137, +/* 0x0310 */ 193,131,192, 2, 1,219,117, 9,139, 30,131,238,252, 17,219,138, +/* 0x0320 */ 22, 17,201, 1,219,117, 7,139, 30,131,238,252, 17,219,115,228, +/* 0x0330 */ 129,253, 0,243,255,255, 17,193,232,130, 0, 0, 0,233, 95,255, +/* 0x0340 */ 255,255,137,229,141,156, 36, 0, 0, 0, 0, 49,192, 80, 57,220, +/* 0x0350 */ 117,251, 70, 70, 83,104, 0, 0, 0, 0, 87,131,195, 4, 83,104, +/* 0x0360 */ 0, 0, 0, 0, 86,131,195, 4, 83, 80,199, 3, 0, 0, 0, 0, +/* 0x0370 */ 137,229,139, 85, 40,172, 74,136,193, 36, 7,192,233, 3,187, 0, +/* 0x0380 */ 253,255,255,211,227,141,164, 92,144,241,255,255,131,228,224,106, +/* 0x0390 */ 0,106, 0,137,227, 83,131,195, 4,139, 77, 48,255, 49, 87, 83, +/* 0x03a0 */ 131,195, 4,136, 67, 2,172, 74,136,193, 36, 15,136, 3,192,233, +/* 0x03b0 */ 4,136, 75, 1, 82, 86, 83, 80, 85, 87, 86, 83,131,236,124,139, +/* 0x03c0 */ 148, 36,144, 0, 0, 0,199, 68, 36,116, 0, 0, 0, 0,198, 68, +/* 0x03d0 */ 36,115, 0,139,172, 36,156, 0, 0, 0,141, 66, 4,137, 68, 36, +/* 0x03e0 */ 120,184, 1, 0, 0, 0, 15,182, 74, 2,137,195,211,227,137,217, +/* 0x03f0 */ 73,137, 76, 36,108, 15,182, 74, 1,211,224, 72,137, 68, 36,104, +/* 0x0400 */ 139,132, 36,168, 0, 0, 0, 15,182, 50,199, 69, 0, 0, 0, 0, +/* 0x0410 */ 0,199, 68, 36, 96, 0, 0, 0, 0,199, 0, 0, 0, 0, 0,184, +/* 0x0420 */ 0, 3, 0, 0,137,116, 36,100,199, 68, 36, 92, 1, 0, 0, 0, +/* 0x0430 */ 199, 68, 36, 88, 1, 0, 0, 0,199, 68, 36, 84, 1, 0, 0, 0, +/* 0x0440 */ 199, 68, 36, 80, 1, 0, 0, 0, 15,182, 74, 1, 1,241,211,224, +/* 0x0450 */ 141,136, 54, 7, 0, 0, 57, 76, 36,116,115, 14,139, 68, 36,120, +/* 0x0460 */ 102,199, 0, 0, 4,131,192, 2,226,246,139,156, 36,148, 0, 0, +/* 0x0470 */ 0, 49,255,199, 68, 36, 72,255,255,255,255,137,218, 3,148, 36, +/* 0x0480 */ 152, 0, 0, 0,137, 84, 36, 76, 49,210, 59, 92, 36, 76, 15,132, +/* 0x0490 */ 124, 9, 0, 0, 15,182, 3,193,231, 8, 66, 67, 9,199,131,250, +/* 0x04a0 */ 4,126,231,139,140, 36,164, 0, 0, 0, 57, 76, 36,116, 15,131, +/* 0x04b0 */ 100, 9, 0, 0,139,116, 36,116, 35,116, 36,108,139, 68, 36, 96, +/* 0x04c0 */ 139, 84, 36,120,193,224, 4,137,116, 36, 68, 1,240,129,124, 36, +/* 0x04d0 */ 72,255,255,255, 0,141, 44, 66,119, 24, 59, 92, 36, 76, 15,132, +/* 0x04e0 */ 44, 9, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, +/* 0x04f0 */ 9,199,139, 68, 36, 72,102,139, 85, 0,193,232, 11, 15,183,202, +/* 0x0500 */ 15,175,193, 57,199, 15,131,221, 1, 0, 0,137, 68, 36, 72,184, +/* 0x0510 */ 0, 8, 0, 0, 41,200,138, 76, 36,100,193,248, 5,190, 1, 0, +/* 0x0520 */ 0, 0,141, 4, 2, 15,182, 84, 36,115,102,137, 69, 0,139, 68, +/* 0x0530 */ 36,116, 35, 68, 36,104,139,108, 36,120,211,224,185, 8, 0, 0, +/* 0x0540 */ 0, 43, 76, 36,100,211,250, 1,208,105,192, 0, 6, 0, 0,131, +/* 0x0550 */ 124, 36, 96, 6,141,132, 5,108, 14, 0, 0,137, 68, 36, 20, 15, +/* 0x0560 */ 142,202, 0, 0, 0,139, 68, 36,116, 43, 68, 36, 92,139,148, 36, +/* 0x0570 */ 160, 0, 0, 0, 15,182, 4, 2,137, 68, 36, 64,209,100, 36, 64, +/* 0x0580 */ 139, 76, 36, 64,141, 20, 54,139,108, 36, 20,129,225, 0, 1, 0, +/* 0x0590 */ 0,129,124, 36, 72,255,255,255, 0,141, 68, 77, 0,137, 76, 36, +/* 0x05a0 */ 60,141, 44, 16,119, 24, 59, 92, 36, 76, 15,132, 96, 8, 0, 0, +/* 0x05b0 */ 193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, +/* 0x05c0 */ 36, 72,102,139,141, 0, 2, 0, 0,193,232, 11, 15,183,241, 15, +/* 0x05d0 */ 175,198, 57,199,115, 35,137, 68, 36, 72,184, 0, 8, 0, 0, 41, +/* 0x05e0 */ 240,137,214,193,248, 5,131,124, 36, 60, 0,141, 4, 1,102,137, +/* 0x05f0 */ 133, 0, 2, 0, 0,116, 34,235, 46, 41, 68, 36, 72, 41,199,137, +/* 0x0600 */ 200,141,114, 1,102,193,232, 5,102, 41,193,131,124, 36, 60, 0, +/* 0x0610 */ 102,137,141, 0, 2, 0, 0,116, 14,129,254,255, 0, 0, 0, 15, +/* 0x0620 */ 142, 87,255,255,255,235,121,129,254,255, 0, 0, 0,127,113,141, +/* 0x0630 */ 20, 54,139,108, 36, 20, 1,213,129,124, 36, 72,255,255,255, 0, +/* 0x0640 */ 119, 24, 59, 92, 36, 76, 15,132,196, 7, 0, 0,193,100, 36, 72, +/* 0x0650 */ 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, +/* 0x0660 */ 77, 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 25,137, +/* 0x0670 */ 68, 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,141, +/* 0x0680 */ 4, 1,102,137, 69, 0,235,159, 41, 68, 36, 72, 41,199,137,200, +/* 0x0690 */ 141,114, 1,102,193,232, 5,102, 41,193,102,137, 77, 0,235,135, +/* 0x06a0 */ 139, 84, 36,116,137,240,139,140, 36,160, 0, 0, 0,136, 68, 36, +/* 0x06b0 */ 115,136, 4, 10, 66,131,124, 36, 96, 3,137, 84, 36,116,127, 13, +/* 0x06c0 */ 199, 68, 36, 96, 0, 0, 0, 0,233, 27, 7, 0, 0,131,124, 36, +/* 0x06d0 */ 96, 9,127, 10,131,108, 36, 96, 3,233, 10, 7, 0, 0,131,108, +/* 0x06e0 */ 36, 96, 6,233, 0, 7, 0, 0,139, 76, 36, 72, 41,199,139,116, +/* 0x06f0 */ 36, 96, 41,193,137,208,102,193,232, 5,102, 41,194,129,249,255, +/* 0x0700 */ 255,255, 0,102,137, 85, 0,139,108, 36,120,141,116,117, 0,137, +/* 0x0710 */ 116, 36, 56,119, 22, 59, 92, 36, 76, 15,132,241, 6, 0, 0, 15, +/* 0x0720 */ 182, 3,193,231, 8,193,225, 8, 67, 9,199,139,108, 36, 56,137, +/* 0x0730 */ 200,193,232, 11,102,139,149,128, 1, 0, 0, 15,183,234, 15,175, +/* 0x0740 */ 197, 57,199,115, 82,137,198,184, 0, 8, 0, 0, 41,232,139,108, +/* 0x0750 */ 36, 88,193,248, 5,139, 76, 36, 84,141, 4, 2,139, 84, 36, 56, +/* 0x0760 */ 137, 76, 36, 80,139, 76, 36,120,102,137,130,128, 1, 0, 0,139, +/* 0x0770 */ 68, 36, 92,137,108, 36, 84,137, 68, 36, 88, 49,192,131,124, 36, +/* 0x0780 */ 96, 6, 15,159,192,129,193,100, 6, 0, 0,141, 4, 64,137, 68, +/* 0x0790 */ 36, 96,233,116, 2, 0, 0,137,206, 41,199, 41,198,137,208,102, +/* 0x07a0 */ 193,232, 5,139, 76, 36, 56,102, 41,194,129,254,255,255,255, 0, +/* 0x07b0 */ 102,137,145,128, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 77, +/* 0x07c0 */ 6, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, +/* 0x07d0 */ 108, 36, 56,137,242,193,234, 11,102,139,141,152, 1, 0, 0, 15, +/* 0x07e0 */ 183,193, 15,175,208, 57,215, 15,131,227, 0, 0, 0,189, 0, 8, +/* 0x07f0 */ 0, 0,137,214, 41,197,199, 68, 36, 52, 0, 8, 0, 0,137,232, +/* 0x0800 */ 193,248, 5,141, 4, 1,139, 76, 36, 56,102,137,129,152, 1, 0, +/* 0x0810 */ 0,139, 68, 36, 96,139, 76, 36, 68,193,224, 5, 3, 68, 36,120, +/* 0x0820 */ 129,250,255,255,255, 0,141, 44, 72,119, 22, 59, 92, 36, 76, 15, +/* 0x0830 */ 132,219, 5, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9, +/* 0x0840 */ 199,102,139,149,224, 1, 0, 0,137,240,193,232, 11, 15,183,202, +/* 0x0850 */ 15,175,193, 57,199,115, 96, 41, 76, 36, 52,193,124, 36, 52, 5, +/* 0x0860 */ 139,116, 36, 52,137, 68, 36, 72,131,124, 36,116, 0,141, 4, 50, +/* 0x0870 */ 102,137,133,224, 1, 0, 0, 15,132,147, 5, 0, 0, 49,192,131, +/* 0x0880 */ 124, 36, 96, 6,139,172, 36,160, 0, 0, 0,139, 84, 36,116, 15, +/* 0x0890 */ 159,192,141, 68, 0, 9,137, 68, 36, 96,139, 68, 36,116, 43, 68, +/* 0x08a0 */ 36, 92,138, 68, 5, 0,136, 68, 36,115,136, 4, 42, 66,137, 84, +/* 0x08b0 */ 36,116,233, 49, 5, 0, 0, 41,198, 41,199,137,208,102,193,232, +/* 0x08c0 */ 5,102, 41,194,102,137,149,224, 1, 0, 0,233, 31, 1, 0, 0, +/* 0x08d0 */ 137,200, 41,214,102,193,232, 5,139,108, 36, 56,102, 41,193, 41, +/* 0x08e0 */ 215,129,254,255,255,255, 0,102,137,141,152, 1, 0, 0,119, 22, +/* 0x08f0 */ 59, 92, 36, 76, 15,132, 22, 5, 0, 0, 15,182, 3,193,231, 8, +/* 0x0900 */ 193,230, 8, 67, 9,199,139, 76, 36, 56,137,240,193,232, 11,102, +/* 0x0910 */ 139,145,176, 1, 0, 0, 15,183,202, 15,175,193, 57,199,115, 35, +/* 0x0920 */ 137,198,184, 0, 8, 0, 0, 41,200,139,108, 36, 56,193,248, 5, +/* 0x0930 */ 141, 4, 2,102,137,133,176, 1, 0, 0,139, 68, 36, 88,233,160, +/* 0x0940 */ 0, 0, 0,137,241, 41,199, 41,193,137,208,102,193,232, 5,102, +/* 0x0950 */ 41,194,139, 68, 36, 56,129,249,255,255,255, 0,102,137,144,176, +/* 0x0960 */ 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132,161, 4, 0, 0, 15, +/* 0x0970 */ 182, 3,193,231, 8,193,225, 8, 67, 9,199,139,116, 36, 56,137, +/* 0x0980 */ 200,193,232, 11,102,139,150,200, 1, 0, 0, 15,183,234, 15,175, +/* 0x0990 */ 197, 57,199,115, 32,137,198,184, 0, 8, 0, 0, 41,232,139,108, +/* 0x09a0 */ 36, 56,193,248, 5,141, 4, 2,102,137,133,200, 1, 0, 0,139, +/* 0x09b0 */ 68, 36, 84,235, 38,137,206, 41,199, 41,198,137,208,102,193,232, +/* 0x09c0 */ 5,102, 41,194,139, 68, 36, 56,102,137,144,200, 1, 0, 0,139, +/* 0x09d0 */ 84, 36, 84,139, 68, 36, 80,137, 84, 36, 80,139, 76, 36, 88,137, +/* 0x09e0 */ 76, 36, 84,139,108, 36, 92,137, 68, 36, 92,137,108, 36, 88, 49, +/* 0x09f0 */ 192,131,124, 36, 96, 6,139, 76, 36,120, 15,159,192,129,193,104, +/* 0x0a00 */ 10, 0, 0,141, 68, 64, 8,137, 68, 36, 96,129,254,255,255,255, +/* 0x0a10 */ 0,119, 22, 59, 92, 36, 76, 15,132,243, 3, 0, 0, 15,182, 3, +/* 0x0a20 */ 193,231, 8,193,230, 8, 67, 9,199,102,139, 17,137,240,193,232, +/* 0x0a30 */ 11, 15,183,234, 15,175,197, 57,199,115, 47,137, 68, 36, 72,184, +/* 0x0a40 */ 0, 8, 0, 0, 41,232,193,100, 36, 68, 4,193,248, 5,199, 68, +/* 0x0a50 */ 36, 44, 0, 0, 0, 0,141, 4, 2,102,137, 1,139, 68, 36, 68, +/* 0x0a60 */ 141, 76, 1, 4,137, 76, 36, 16,235,114, 41,198, 41,199,137,208, +/* 0x0a70 */ 102,193,232, 5,102, 41,194,129,254,255,255,255, 0,102,137, 17, +/* 0x0a80 */ 119, 22, 59, 92, 36, 76, 15,132,132, 3, 0, 0, 15,182, 3,193, +/* 0x0a90 */ 231, 8,193,230, 8, 67, 9,199,102,139, 81, 2,137,240,193,232, +/* 0x0aa0 */ 11, 15,183,234, 15,175,197, 57,199,115, 59,137, 68, 36, 72,184, +/* 0x0ab0 */ 0, 8, 0, 0, 41,232,193,100, 36, 68, 4,193,248, 5,199, 68, +/* 0x0ac0 */ 36, 44, 8, 0, 0, 0,141, 4, 2,139, 84, 36, 68,102,137, 65, +/* 0x0ad0 */ 2,141,140, 17, 4, 1, 0, 0,137, 76, 36, 16,199, 68, 36, 48, +/* 0x0ae0 */ 3, 0, 0, 0,235, 47, 41,198, 41,199,137,208,137,116, 36, 72, +/* 0x0af0 */ 102,193,232, 5,199, 68, 36, 44, 16, 0, 0, 0,102, 41,194,199, +/* 0x0b00 */ 68, 36, 48, 8, 0, 0, 0,102,137, 81, 2,129,193, 4, 2, 0, +/* 0x0b10 */ 0,137, 76, 36, 16,139, 76, 36, 48,186, 1, 0, 0, 0,137, 76, +/* 0x0b20 */ 36, 40,141, 44, 18,139,116, 36, 16, 1,238,129,124, 36, 72,255, +/* 0x0b30 */ 255,255, 0,119, 24, 59, 92, 36, 76, 15,132,209, 2, 0, 0,193, +/* 0x0b40 */ 100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, +/* 0x0b50 */ 72,102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, +/* 0x0b60 */ 24,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, +/* 0x0b70 */ 4, 2,137,234,102,137, 6,235, 21, 41, 68, 36, 72, 41,199,137, +/* 0x0b80 */ 208,102,193,232, 5,102, 41,194,102,137, 22,141, 85, 1,139,116, +/* 0x0b90 */ 36, 40, 78,137,116, 36, 40,117,137,138, 76, 36, 48,184, 1, 0, +/* 0x0ba0 */ 0, 0,211,224, 41,194, 3, 84, 36, 44,131,124, 36, 96, 3,137, +/* 0x0bb0 */ 84, 36, 12, 15,143,231, 1, 0, 0,131, 68, 36, 96, 7,131,250, +/* 0x0bc0 */ 3,137,208,126, 5,184, 3, 0, 0, 0,139,116, 36,120,193,224, +/* 0x0bd0 */ 7,199, 68, 36, 36, 6, 0, 0, 0,141,132, 6, 96, 3, 0, 0, +/* 0x0be0 */ 137, 68, 36, 8,184, 1, 0, 0, 0,141, 44, 0,139,116, 36, 8, +/* 0x0bf0 */ 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, +/* 0x0c00 */ 15,132, 10, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, +/* 0x0c10 */ 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15,183, +/* 0x0c20 */ 202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8, 0, +/* 0x0c30 */ 0, 41,200,193,248, 5,141, 4, 2,102,137, 6,137,232,235, 21, +/* 0x0c40 */ 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194,141, +/* 0x0c50 */ 69, 1,102,137, 22,139,108, 36, 36, 77,137,108, 36, 36,117,137, +/* 0x0c60 */ 141, 80,192,131,250, 3,137, 20, 36, 15,142, 39, 1, 0, 0,137, +/* 0x0c70 */ 208,137,214,209,248,131,230, 1,141, 72,255,131,206, 2,131,250, +/* 0x0c80 */ 13,137, 76, 36, 32,127, 28,139,108, 36,120,211,230, 1,210,137, +/* 0x0c90 */ 52, 36,141, 68,117, 0, 41,208, 5, 94, 5, 0, 0,137, 68, 36, +/* 0x0ca0 */ 4,235, 86,141, 80,251,129,124, 36, 72,255,255,255, 0,119, 24, +/* 0x0cb0 */ 59, 92, 36, 76, 15,132, 86, 1, 0, 0,193,100, 36, 72, 8, 15, +/* 0x0cc0 */ 182, 3,193,231, 8, 67, 9,199,209,108, 36, 72, 1,246, 59,124, +/* 0x0cd0 */ 36, 72,114, 7, 43,124, 36, 72,131,206, 1, 74,117,200,139, 68, +/* 0x0ce0 */ 36,120,193,230, 4,137, 52, 36, 5, 68, 6, 0, 0,199, 68, 36, +/* 0x0cf0 */ 32, 4, 0, 0, 0,137, 68, 36, 4,199, 68, 36, 28, 1, 0, 0, +/* 0x0d00 */ 0,184, 1, 0, 0, 0,139,108, 36, 4, 1,192,137, 68, 36, 24, +/* 0x0d10 */ 1,197,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, +/* 0x0d20 */ 15,132,234, 0, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, +/* 0x0d30 */ 8, 67, 9,199,139, 68, 36, 72,102,139, 85, 0,193,232, 11, 15, +/* 0x0d40 */ 183,242, 15,175,198, 57,199,115, 27,137, 68, 36, 72,184, 0, 8, +/* 0x0d50 */ 0, 0, 41,240,193,248, 5,141, 4, 2,102,137, 69, 0,139, 68, +/* 0x0d60 */ 36, 24,235, 31, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5, +/* 0x0d70 */ 102, 41,194,139, 68, 36, 24,102,137, 85, 0,139, 84, 36, 28, 64, +/* 0x0d80 */ 9, 20, 36,139, 76, 36, 32,209,100, 36, 28, 73,137, 76, 36, 32, +/* 0x0d90 */ 15,133,112,255,255,255,139, 52, 36, 70,137,116, 36, 92,116, 89, +/* 0x0da0 */ 139, 76, 36, 12,139,108, 36,116,131,193, 2, 57,108, 36, 92,119, +/* 0x0db0 */ 95,139,132, 36,160, 0, 0, 0,137,234, 43, 68, 36, 92, 3,148, +/* 0x0dc0 */ 36,160, 0, 0, 0,141, 52, 40,138, 6, 70,136, 68, 36,115,136, +/* 0x0dd0 */ 2, 66,255, 68, 36,116, 73,116, 15,139,172, 36,164, 0, 0, 0, +/* 0x0de0 */ 57,108, 36,116,114,226,235, 17,139,132, 36,164, 0, 0, 0, 57, +/* 0x0df0 */ 68, 36,116, 15,130,187,246,255,255,129,124, 36, 72,255,255,255, +/* 0x0e00 */ 0,119, 21, 59, 92, 36, 76,184, 1, 0, 0, 0,116, 41,235, 7, +/* 0x0e10 */ 184, 1, 0, 0, 0,235, 32, 67, 43,156, 36,148, 0, 0, 0, 49, +/* 0x0e20 */ 192,139,148, 36,156, 0, 0, 0,139, 76, 36,116,137, 26,139,156, +/* 0x0e30 */ 36,168, 0, 0, 0,137, 11,131,196,124, 91, 94, 95, 93, 85, 87, +/* 0x0e40 */ 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68, 36,116, +/* 0x0e50 */ 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0, 0, 0, +/* 0x0e60 */ 141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182, 74, 2, +/* 0x0e70 */ 137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74, 1,211, +/* 0x0e80 */ 224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15,182, 50, +/* 0x0e90 */ 199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0, 0,199, +/* 0x0ea0 */ 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100,199, 68, +/* 0x0eb0 */ 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0,199, 68, +/* 0x0ec0 */ 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0, 15,182, +/* 0x0ed0 */ 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76, 36,116, +/* 0x0ee0 */ 115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2,226,246, +/* 0x0ef0 */ 139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255,255,255, +/* 0x0f00 */ 255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76, 49,210, +/* 0x0f10 */ 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193,231, 8, +/* 0x0f20 */ 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0, 0, 0, +/* 0x0f30 */ 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116, 35,116, +/* 0x0f40 */ 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137,116, 36, +/* 0x0f50 */ 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66,119, 24, +/* 0x0f60 */ 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72, 8, 15, +/* 0x0f70 */ 182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, 85, 0, +/* 0x0f80 */ 193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221, 1, 0, +/* 0x0f90 */ 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76, 36,100, +/* 0x0fa0 */ 193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84, 36,115, +/* 0x0fb0 */ 102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108, 36,120, +/* 0x0fc0 */ 211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1,208,105, +/* 0x0fd0 */ 192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108, 14, 0, +/* 0x0fe0 */ 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36,116, 43, +/* 0x0ff0 */ 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2,137, 68, +/* 0x1000 */ 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139,108, 36, +/* 0x1010 */ 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255, 0,141, +/* 0x1020 */ 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92, 36, 76, +/* 0x1030 */ 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, +/* 0x1040 */ 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0, 0,193, +/* 0x1050 */ 232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68, 36, 72, +/* 0x1060 */ 184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124, 36, 60, +/* 0x1070 */ 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235, 46, 41, +/* 0x1080 */ 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102, 41, +/* 0x1090 */ 193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116, 14,129, +/* 0x10a0 */ 254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129,254,255, +/* 0x10b0 */ 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213,129,124, +/* 0x10c0 */ 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132,196, 7, +/* 0x10d0 */ 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199, +/* 0x10e0 */ 139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241, 15,175, +/* 0x10f0 */ 198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240, +/* 0x1100 */ 137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159, 41, 68, +/* 0x1110 */ 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102, 41,193, +/* 0x1120 */ 102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140, 36,160, +/* 0x1130 */ 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36, 96, 3, +/* 0x1140 */ 137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0,233, 27, +/* 0x1150 */ 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96, 3,233, +/* 0x1160 */ 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0,139, 76, +/* 0x1170 */ 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193,232, 5, +/* 0x1180 */ 102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139,108, 36, +/* 0x1190 */ 120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36, 76, 15, +/* 0x11a0 */ 132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8, 67, 9, +/* 0x11b0 */ 199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128, 1, 0, +/* 0x11c0 */ 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184, 0, 8, +/* 0x11d0 */ 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36, 84,141, +/* 0x11e0 */ 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120,102,137, +/* 0x11f0 */ 130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137, 68, 36, +/* 0x1200 */ 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100, 6, 0, +/* 0x1210 */ 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137,206, 41, +/* 0x1220 */ 199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102, 41,194, +/* 0x1230 */ 129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119, 22, 59, +/* 0x1240 */ 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231, 8,193, +/* 0x1250 */ 230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11,102,139, +/* 0x1260 */ 141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15,131,227, +/* 0x1270 */ 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68, 36, 52, +/* 0x1280 */ 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76, 36, 56, +/* 0x1290 */ 102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36, 68,193, +/* 0x12a0 */ 224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44, 72,119, +/* 0x12b0 */ 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3,193,231, +/* 0x12c0 */ 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0,137,240, +/* 0x12d0 */ 193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41, 76, 36, +/* 0x12e0 */ 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72,131,124, +/* 0x12f0 */ 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15,132,147, +/* 0x1300 */ 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160, 0, 0, +/* 0x1310 */ 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68, 36, 96, +/* 0x1320 */ 139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68, 36,115, +/* 0x1330 */ 136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41,198, 41, +/* 0x1340 */ 199,137,208,102,193,232, 5,102, 41,194,102,137,149,224, 1, 0, +/* 0x1350 */ 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5,139,108, +/* 0x1360 */ 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102,137,141, +/* 0x1370 */ 152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5, 0, 0, +/* 0x1380 */ 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76, 36, 56, +/* 0x1390 */ 137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183,202, 15, +/* 0x13a0 */ 175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41,200,139, +/* 0x13b0 */ 108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1, 0, 0, +/* 0x13c0 */ 139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41,193,137, +/* 0x13d0 */ 208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249,255,255, +/* 0x13e0 */ 255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36, 76, 15, +/* 0x13f0 */ 132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8, 67, 9, +/* 0x1400 */ 199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200, 1, 0, +/* 0x1410 */ 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184, 0, 8, +/* 0x1420 */ 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2,102,137, +/* 0x1430 */ 133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41,199, 41, +/* 0x1440 */ 198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,102,137, +/* 0x1450 */ 144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137, 84, 36, +/* 0x1460 */ 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137, 68, 36, +/* 0x1470 */ 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76, 36,120, +/* 0x1480 */ 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137, 68, 36, +/* 0x1490 */ 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15,132,243, +/* 0x14a0 */ 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,102, +/* 0x14b0 */ 139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57,199,115, +/* 0x14c0 */ 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100, 36, 68, +/* 0x14d0 */ 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4, 2,102, +/* 0x14e0 */ 137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16,235,114, +/* 0x14f0 */ 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129,254,255, +/* 0x1500 */ 255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132,132, 3, +/* 0x1510 */ 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,102,139, +/* 0x1520 */ 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57,199,115, +/* 0x1530 */ 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100, 36, 68, +/* 0x1540 */ 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4, 2,139, +/* 0x1550 */ 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0,137, 76, +/* 0x1560 */ 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198, 41,199, +/* 0x1570 */ 137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44, 16, 0, +/* 0x1580 */ 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102,137, 81, +/* 0x1590 */ 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36, 48,186, +/* 0x15a0 */ 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36, 16, 1, +/* 0x15b0 */ 238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15, +/* 0x15c0 */ 132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, +/* 0x15d0 */ 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15,183,202, +/* 0x15e0 */ 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8, 0, 0, +/* 0x15f0 */ 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235, 21, 41, +/* 0x1600 */ 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194,102,137, +/* 0x1610 */ 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117,137,138, +/* 0x1620 */ 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84, 36, 44, +/* 0x1630 */ 131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0, 0,131, +/* 0x1640 */ 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0, 0, 0, +/* 0x1650 */ 139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0, 0,141, +/* 0x1660 */ 132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0, 0,141, +/* 0x1670 */ 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255,255, 0, +/* 0x1680 */ 119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100, 36, 72, +/* 0x1690 */ 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, +/* 0x16a0 */ 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24,137, 68, +/* 0x16b0 */ 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4, 2,102, +/* 0x16c0 */ 137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208,102,193, +/* 0x16d0 */ 232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36, 36, 77, +/* 0x16e0 */ 137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20, 36, 15, +/* 0x16f0 */ 142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1,141, 72, +/* 0x1700 */ 255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139,108, 36, +/* 0x1710 */ 120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208, 5, 94, +/* 0x1720 */ 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124, 36, 72, +/* 0x1730 */ 255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1, 0, 0, +/* 0x1740 */ 193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,209,108, +/* 0x1750 */ 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72,131,206, +/* 0x1760 */ 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36, 5, 68, +/* 0x1770 */ 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36, 4,199, +/* 0x1780 */ 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108, 36, 4, +/* 0x1790 */ 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255,255, 0, +/* 0x17a0 */ 119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100, 36, 72, +/* 0x17b0 */ 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139, +/* 0x17c0 */ 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115, 27,137, +/* 0x17d0 */ 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141, 4, 2, +/* 0x17e0 */ 102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72, 41,199, +/* 0x17f0 */ 137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102,137, 85, +/* 0x1800 */ 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209,100, 36, +/* 0x1810 */ 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52, 36, 70, +/* 0x1820 */ 137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116,131,193, +/* 0x1830 */ 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0,137,234, +/* 0x1840 */ 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40,138, 6, +/* 0x1850 */ 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116, 15,139, +/* 0x1860 */ 172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17,139,132, +/* 0x1870 */ 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255,255,129, +/* 0x1880 */ 124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184, 1, 0, +/* 0x1890 */ 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67, 43,156, +/* 0x18a0 */ 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0,139, 76, +/* 0x18b0 */ 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131,196,124, +/* 0x18c0 */ 91, 94, 95, 93, 3,115,252, 3,123,248, 49,192,141,140, 36, 0, +/* 0x18d0 */ 255,255,255,137,236, 80, 57,204,117,251,137,236, 49,201, 43,124, +/* 0x18e0 */ 36, 44,139, 76, 36, 48,137, 57, 43,116, 36, 36,137,116, 36, 28, +/* 0x18f0 */ 97,195, 93,141,117,243, 15,183, 69, 0,141, 77, 2, 81, 1,197, +/* 0x1900 */ 137,242,137,247,173, 41,199,137,241,173, 41,193, 81, 41,202, 82, +/* 0x1910 */ 87,233,199, 0, 0, 0, 91,141,119, 28, 41,201, 1,206,139, 78, +/* 0x1920 */ 4,131, 62, 1,117,246,129,126, 10, 76, 73, 78, 75,117,237,129, +/* 0x1930 */ 126, 14, 69, 68, 73, 84,117,228,139, 78, 24,137,222,106, 5,173, +/* 0x1940 */ 80,137,226, 81,255,118, 4, 82, 81,173, 80,173, 86,255,213,131, +/* 0x1950 */ 196, 20, 95, 87, 87,176, 74, 15,182,192,137,225, 13, 0, 0, 12, +/* 0x1960 */ 0,232, 12, 0, 0, 0,115, 3,131,200,255,194, 12, 0,176, 4, +/* 0x1970 */ 235,229, 90, 15, 52, 96,137,230,139, 68, 36, 36,131,236,120,137, +/* 0x1980 */ 231, 80,176, 10,170, 88,170,193,232, 8,117,250,106, 8, 88, 80, +/* 0x1990 */ 176, 32,232, 28, 0, 0, 0, 88, 72,117,244,176, 10,170,151, 41, +/* 0x19a0 */ 224,137,225, 80, 81,106, 2,232,194,255,255,255,131,196,120, 97, +/* 0x19b0 */ 194, 4, 0,170,173,232, 16, 0, 0, 0, 48, 49, 50, 51, 52, 53, +/* 0x19c0 */ 54, 55, 56, 57, 97, 98, 99,100,101,102, 91,106, 8, 89,193,192, +/* 0x19d0 */ 4,137,194,131,224, 15,215,170,146, 73,117,242,195,232, 52,255, +/* 0x19e0 */ 255,255,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108, +/* 0x19f0 */ 102, 51, 50, 45,105, 51, 56, 54, 10, 10, 83,101, 99,116,105,111, +/* 0x1a00 */ 110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, +/* 0x1a10 */ 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, +/* 0x1a20 */ 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, +/* 0x1a30 */ 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108, +/* 0x1a40 */ 103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 77, 65, +/* 0x1a50 */ 67, 72, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1a60 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1a70 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1a80 */ 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1a90 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, +/* 0x1aa0 */ 78, 76, 89, 10, 32, 32, 49, 32, 77, 65, 67, 72, 95, 85, 78, 67, +/* 0x1ab0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1ad0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 57, 32, 32, 50, 42, +/* 0x1ae0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x1af0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 95, 72, +/* 0x1b00 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 98, +/* 0x1b10 */ 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1b20 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 57, 32, +/* 0x1b30 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, +/* 0x1b40 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, +/* 0x1b50 */ 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1b60 */ 48, 48,100, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1b70 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1b80 */ 102, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1b90 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, +/* 0x1ba0 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32, +/* 0x1bb0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 99, 55, 32, 32, +/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1bd0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 99, 57, 32, 32, 50, 42, +/* 0x1be0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x1bf0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, +/* 0x1c00 */ 53, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1c10 */ 48, 48, 48, 48, 48, 48, 98, 50, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1c20 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1c30 */ 48, 48, 48, 50, 57, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1c40 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, +/* 0x1c50 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, +/* 0x1c60 */ 95, 68, 69, 67, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1c70 */ 50,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1c80 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 52, 50, +/* 0x1c90 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1ca0 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x1cb0 */ 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, +/* 0x1cc0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 52, 56, 32, 32, 48, 48, +/* 0x1cd0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1ce0 */ 32, 32, 48, 48, 48, 48, 48, 51, 55, 48, 32, 32, 50, 42, 42, 48, +/* 0x1cf0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, +/* 0x1d00 */ 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, +/* 0x1d10 */ 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97, 56, 54, 32, +/* 0x1d20 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1d30 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 98, 56, 32, 32, 50, +/* 0x1d40 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1d50 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, +/* 0x1d60 */ 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97, +/* 0x1d70 */ 56, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,101, 51,101, +/* 0x1d90 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, +/* 0x1da0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 76, +/* 0x1db0 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, +/* 0x1dc0 */ 48, 48, 48, 49, 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1dd0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, +/* 0x1de0 */ 56, 99, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, +/* 0x1df0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, +/* 0x1e00 */ 49, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, +/* 0x1e10 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1e20 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, +/* 0x1e30 */ 48, 48, 49, 56,100,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, +/* 0x1e40 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, +/* 0x1e50 */ 10, 32, 49, 50, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 32, 32, +/* 0x1e60 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 52, 32, 32, 48, 48, 48, +/* 0x1e70 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1e80 */ 32, 48, 48, 48, 48, 49, 56,100,101, 32, 32, 50, 42, 42, 48, 32, +/* 0x1e90 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, +/* 0x1ea0 */ 78, 76, 89, 10, 32, 49, 51, 32, 77, 65, 67, 72, 77, 65, 73, 78, +/* 0x1eb0 */ 90, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 48, 32, 32, +/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, +/* 0x1ed0 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 56,102, 50, 32, 32, 50, 42, +/* 0x1ee0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, +/* 0x1ef0 */ 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, +/* 0x1f00 */ 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, +/* 0x1f10 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, +/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, +/* 0x1f30 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, +/* 0x1f40 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, +/* 0x1f50 */ 48, 48, 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 48, +/* 0x1f60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x1f70 */ 77, 65, 67, 72, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, +/* 0x1f80 */ 48, 48, 32, 77, 65, 67, 72, 77, 65, 73, 78, 90, 10, 48, 48, 48, +/* 0x1f90 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, +/* 0x1fa0 */ 67, 72, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fb0 */ 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, +/* 0x1fc0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 72, +/* 0x1fd0 */ 95, 85, 78, 67, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, +/* 0x1fe0 */ 67, 72, 95, 85, 78, 67, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1ff0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, +/* 0x2000 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, +/* 0x2010 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, +/* 0x2020 */ 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, +/* 0x2030 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x2040 */ 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, +/* 0x2050 */ 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2060 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2070 */ 69, 67, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x2080 */ 77, 65, 95, 68, 69, 67, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2090 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, +/* 0x20a0 */ 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x20b0 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x20c0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x20d0 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x20e0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x20f0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2100 */ 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x2110 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2120 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x2130 */ 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x2140 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x2150 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, +/* 0x2160 */ 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, +/* 0x2170 */ 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, +/* 0x2180 */ 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 88, 9, +/* 0x2190 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, +/* 0x21a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x21b0 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x21c0 */ 108,122,109, 97, 95,115,116, 97, 99,107, 95, 97,100,106,117,115, +/* 0x21d0 */ 116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, +/* 0x21e0 */ 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x21f0 */ 48, 32,108,122,109, 97, 95,117, 95,108,101,110, 10, 48, 48, 48, +/* 0x2200 */ 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, +/* 0x2210 */ 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,122,109, +/* 0x2220 */ 97, 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x2230 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, +/* 0x2240 */ 48, 48, 48, 48, 48, 48, 48, 32,108,122,109, 97, 95,112,114,111, +/* 0x2250 */ 112,101,114,116,105,101,115, 10, 48, 48, 48, 48, 48, 48, 49, 52, +/* 0x2260 */ 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, +/* 0x2270 */ 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32,101,110,100, 95, +/* 0x2280 */ 100,101, 99,111,109,112,114,101,115,115, 10, 10, 82, 69, 76, 79, +/* 0x2290 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, +/* 0x22a0 */ 79, 82, 32, 91, 77, 65, 67, 72, 77, 65, 73, 78, 88, 93, 58, 10, +/* 0x22b0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, +/* 0x22c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, +/* 0x22d0 */ 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, 54, 95, +/* 0x22e0 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, +/* 0x22f0 */ 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, +/* 0x2300 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, +/* 0x2310 */ 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x2320 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2330 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 99, 57, +/* 0x2340 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, +/* 0x2350 */ 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, +/* 0x2360 */ 48, 48, 54, 56, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, +/* 0x2370 */ 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, +/* 0x2380 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, +/* 0x2390 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, +/* 0x23a0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, +/* 0x23b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, +/* 0x23c0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 99, 32, 82, 95, 51, 56, +/* 0x23d0 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, +/* 0x23e0 */ 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, +/* 0x23f0 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, +/* 0x2400 */ 32, 32, 77, 65, 67, 72, 77, 65, 73, 78, 89, 10, 10, 82, 69, 76, +/* 0x2410 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, +/* 0x2420 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, +/* 0x2430 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x2440 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2450 */ 48, 48, 48, 48, 97, 57, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, +/* 0x2460 */ 50, 32, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, +/* 0x2470 */ 68, 10, 48, 48, 48, 48, 48, 48, 53, 54, 32, 82, 95, 51, 56, 54, +/* 0x2480 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, +/* 0x2490 */ 72, 77, 65, 73, 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, +/* 0x24a0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, +/* 0x24b0 */ 76, 90, 77, 65, 95, 68, 69, 67, 48, 48, 93, 58, 10, 79, 70, 70, +/* 0x24c0 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x24d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x24e0 */ 48, 48, 48, 48, 48, 53, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, +/* 0x24f0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,115,116, +/* 0x2500 */ 97, 99,107, 95, 97,100,106,117,115,116, 10, 48, 48, 48, 48, 48, +/* 0x2510 */ 48, 49, 52, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, +/* 0x2520 */ 32, 32, 32, 32, 32, 32,108,122,109, 97, 95,117, 95,108,101,110, +/* 0x2530 */ 10, 48, 48, 48, 48, 48, 48, 49,101, 32, 82, 95, 51, 56, 54, 95, +/* 0x2540 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,122,109, 97, +/* 0x2550 */ 95, 99, 95,108,101,110, 10, 48, 48, 48, 48, 48, 48, 50, 97, 32, +/* 0x2560 */ 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2570 */ 32, 32,108,122,109, 97, 95,112,114,111,112,101,114,116,105,101, +/* 0x2580 */ 115, 10 }; diff -Nru upx-ucl-3.95/src/stub/i386-darwin.macho-fold.h upx-ucl-3.96/src/stub/i386-darwin.macho-fold.h --- upx-ucl-3.95/src/stub/i386-darwin.macho-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-darwin.macho-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* i386-darwin.macho-fold.h - created from i386-darwin.macho-fold.bin, 1135 (0x46f) bytes + created from i386-darwin.macho-fold.bin, 1457 (0x5b1) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,80 +31,101 @@ */ -#define STUB_I386_DARWIN_MACHO_FOLD_SIZE 1135 -#define STUB_I386_DARWIN_MACHO_FOLD_ADLER32 0x768a14b0 -#define STUB_I386_DARWIN_MACHO_FOLD_CRC32 0x8d0be2e9 - -unsigned char stub_i386_darwin_macho_fold[1135] = { -/* 0x0000 */ 106, 0,137,231,141,117, 2,139, 19,137,217, 41,209,139, 89, 24, -/* 0x0010 */ 184, 0, 8, 0, 0, 57,216,118, 2,137,195, 41,220, 96,232, 30, -/* 0x0020 */ 3, 0, 0,139, 76, 36, 16,141,100, 12, 32,255, 96, 40,139, 68, -/* 0x0030 */ 36, 4,139, 76, 36, 8,139, 16, 15,202,137, 16,131,233, 4,141, -/* 0x0040 */ 64, 4,115,242,195, 90, 15, 52,176, 4,235, 2,176, 1,235, 2, -/* 0x0050 */ 176, 74,235, 2,176, 73,235, 2,176,153,235, 2,176, 6,235, 2, -/* 0x0060 */ 176, 5,235, 2,176,197,235, 2,176, 3, 15,182,192,137,225,232, -/* 0x0070 */ 209,255,255,255,115, 3,131,200,255,195,144,144, 85,137,229, 87, -/* 0x0080 */ 86,139,125, 8, 83,137,195, 57, 56,139,112, 4,115, 7,106,127, -/* 0x0090 */ 232,183,255,255,255,133,255,116, 10,137,249,138, 6, 70,136, 2, -/* 0x00a0 */ 66,226,248, 1,123, 4, 41, 59,141,101,244, 91, 94, 95,201,195, -/* 0x00b0 */ 85,137,229, 87, 86,137,198, 83,137,211,131,236, 24,139, 69, 8, -/* 0x00c0 */ 139,125, 12,137, 69,220,131, 58, 0, 15,132,172, 0, 0, 0,141, -/* 0x00d0 */ 85,228,137,240,106, 12,232,161,255,255,255,139, 69,228, 90,133, -/* 0x00e0 */ 192,139, 77,232,117, 19,129,249, 85, 80, 88, 33,117, 15,131, 62, -/* 0x00f0 */ 0, 15,132,132, 0, 0, 0,235, 4,133,201,117, 7,106,127,232, -/* 0x0100 */ 72,255,255,255, 57,193,119,245, 59, 3,119,241, 57,193,115, 76, -/* 0x0110 */ 137, 69,224, 15,182, 69,236, 80,141, 69,224, 80,255,115, 4, 81, -/* 0x0120 */ 255,118, 4,255, 85,220,131,196, 20,133,192,117,208,139, 85,224, -/* 0x0130 */ 59, 85,228,117,200,138, 69,237,132,192,116, 22,133,255,116, 18, -/* 0x0140 */ 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,131, -/* 0x0150 */ 196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 12,139, 83, 4, 81, -/* 0x0160 */ 137,240,232, 21,255,255,255, 88,139, 85,228,139, 3, 1, 83, 4, -/* 0x0170 */ 41,208,133,192,137, 3,233, 78,255,255,255,141,101,244, 91, 94, -/* 0x0180 */ 95,201,195, 85,137,229, 87, 86, 83,131,236, 56,137, 69,232,139, -/* 0x0190 */ 69, 8,137, 85,228,139, 85, 12,199, 69,208, 0, 0, 0, 0,137, -/* 0x01a0 */ 69,224,139, 69, 20,137, 85,220,139, 85, 24,137, 69,216,139,117, -/* 0x01b0 */ 232,139, 69,232,137, 85,212, 49,210,131,198, 28,199, 69,204, 0, -/* 0x01c0 */ 0, 0, 0, 59, 80, 16, 15,131,106, 1, 0, 0,139, 6,131,248, -/* 0x01d0 */ 1, 15,133, 49, 1, 0, 0,139, 94, 28,133,219, 15,132, 38, 1, -/* 0x01e0 */ 0, 0,139, 86, 24,139, 78, 36,141, 28, 26,137,208, 37,255, 15, -/* 0x01f0 */ 0, 0,137,207,137, 93,200,137,211, 41,195, 1,199,137, 77,236, -/* 0x0200 */ 137, 85,240,116, 76,131,125,224, 0,137,125,196,116, 8,141, 71, -/* 0x0210 */ 3,137, 69,196,235, 11,133,201,199, 69,192, 18, 0, 0, 0,117, -/* 0x0220 */ 7,199, 69,192, 18, 16, 0, 0,133,201,139, 85,220,117, 3,131, -/* 0x0230 */ 202,255,139, 69,228, 3, 70, 32,106, 0, 80, 82,255,117,192,106, -/* 0x0240 */ 3,255,117,196, 83,232, 26,254,255,255,131,196, 28, 57,195,117, -/* 0x0250 */ 94,131,125,224, 0,116, 42,131,126, 36, 0,116, 36,131,126, 32, -/* 0x0260 */ 0,117, 11,131,125, 16, 0,116, 5,139, 85, 16,137, 26,255,117, -/* 0x0270 */ 212,255,117,216,141, 85,236,139, 69,224,232, 49,254,255,255, 88, -/* 0x0280 */ 90,137,248,141, 20, 59,247,216, 37,255, 15, 0, 0,137, 69,188, -/* 0x0290 */ 116, 8,137,193,198, 2, 0, 66,226,250,133,255,116, 24,255,118, -/* 0x02a0 */ 44, 87, 83,232,168,253,255,255,131,196, 12,133,192,116, 7,106, -/* 0x02b0 */ 127,232,150,253,255,255,139, 85,188,141, 4, 23, 1,195, 59, 93, -/* 0x02c0 */ 200,115, 39,133,219,116, 91,106, 0,106, 0,106,255,104, 18, 16, -/* 0x02d0 */ 0, 0,255,118, 44, 41, 93,200,255,117,200, 83,232,131,253,255, -/* 0x02e0 */ 255,131,196, 28, 57,195,116, 58,235,197,131,125,224, 0,116, 50, -/* 0x02f0 */ 141, 71, 3, 37,255, 15, 0, 0,131,248, 3,119, 37, 80, 83,232, -/* 0x0300 */ 80,253,255,255, 89, 91,235, 26,131,232, 4,131,248, 1,119, 18, -/* 0x0310 */ 131,126, 8, 1,117, 12,131,126, 12, 16,117, 6,141, 70, 16,137, -/* 0x0320 */ 69,208,255, 69,204,139, 85,232,139, 69,204, 3,118, 4, 59, 66, -/* 0x0330 */ 16,233,144,254,255,255,139, 69,208,141,101,244, 91, 94, 95,201, -/* 0x0340 */ 195, 85,137,229, 87, 86, 83,131,236, 32,199, 69,212, 0, 0, 0, -/* 0x0350 */ 0,139, 85, 32,139, 69, 24,139, 93, 16,137, 69,216,139,117, 20, -/* 0x0360 */ 141, 66, 24,137,117,232,137, 69,240,139, 69, 28,131,232, 24,137, -/* 0x0370 */ 69,236,139, 66, 24,139, 85,240,106, 0,137, 69,228,139, 69,236, -/* 0x0380 */ 137, 85,224,137, 69,220,141, 85,228,141, 69,236, 83,232, 30,253, -/* 0x0390 */ 255,255,255,117, 12, 83, 49,210,255,117, 8,141, 69,220,106,255, -/* 0x03a0 */ 80,137,240,232,219,253,255,255, 49,210,137,195,141, 70, 28,131, -/* 0x03b0 */ 196, 28,139, 78, 16, 57,202, 15,131,168, 0, 0, 0,131, 56, 14, -/* 0x03c0 */ 15,133,150, 0, 0, 0, 3, 64, 8,106, 0,106, 0, 80,232,141, -/* 0x03d0 */ 252,255,255,131,196, 12,133,192,137,199,120, 23,106, 0,255,117, -/* 0x03e0 */ 212,255,117,216, 86, 87,232,109,252,255,255,131,196, 20, 57, 69, -/* 0x03f0 */ 216,116, 15,106,127,232, 82,252,255,255,139, 91, 8,137, 93,212, -/* 0x0400 */ 235,218,139, 6, 61,202,254,186,190,116, 7, 61,190,186,254,202, -/* 0x0410 */ 117, 42, 15,182, 70, 7,141, 94, 8,107,192, 20,131,192, 8, 80, -/* 0x0420 */ 86,232, 8,252,255,255, 89, 90, 49,192,139, 86, 4, 57,208,115, -/* 0x0430 */ 11,131, 59, 7,116,196, 64,131,195, 20,235,241,106, 0,139, 85, -/* 0x0440 */ 212,106, 0,137,240,106, 0, 87,106, 0,232, 52,253,255,255, 87, -/* 0x0450 */ 137,195,232, 5,252,255,255,131,196, 24,235, 9, 3, 64, 4, 66, -/* 0x0460 */ 233, 80,255,255,255,141,101,244,137,216, 91, 94, 95,201,195 +#define STUB_I386_DARWIN_MACHO_FOLD_SIZE 1457 +#define STUB_I386_DARWIN_MACHO_FOLD_ADLER32 0x0e3ea459 +#define STUB_I386_DARWIN_MACHO_FOLD_CRC32 0x4f83c5ec + +unsigned char stub_i386_darwin_macho_fold[1457] = { +/* 0x0000 */ 88, 90, 89,139, 89, 24,190, 0, 8, 0, 0, 57,243,119, 2,137, +/* 0x0010 */ 243, 94,106, 0,137,231, 41,220, 96,232,103, 4, 0, 0,139,124, +/* 0x0020 */ 36, 20,139,116, 36, 28, 80, 87, 86,232, 59, 0, 0, 0, 88, 88, +/* 0x0030 */ 88,139, 76, 36, 16,141,100, 12, 32,255,224,139, 68, 36, 4,139, +/* 0x0040 */ 76, 36, 8,139, 16, 15,202,137, 16,131,233, 4,141, 64, 4,119, +/* 0x0050 */ 242,195,243,144,233,249,255,255,255,195, 90, 15, 52,176, 4,235, +/* 0x0060 */ 2,176, 1,235, 2,176, 74,235, 2,176, 73,235, 2,176,153,235, +/* 0x0070 */ 2,176, 6,235, 2,176, 5,235, 2,176,197,235, 2,176, 3, 15, +/* 0x0080 */ 182,192,137,225,232,209,255,255,255,115, 3,131,200,255,195,144, +/* 0x0090 */ 85,137,229, 87, 86,139,125, 8, 83,137,195, 57, 56,139,112, 4, +/* 0x00a0 */ 115, 7,106,127,232,184,255,255,255,133,255,116, 10,137,249,138, +/* 0x00b0 */ 6, 70,136, 2, 66,226,248, 1,123, 4, 41, 59,141,101,244, 91, +/* 0x00c0 */ 94, 95,201,195, 85,137,229, 87, 86,137,198, 83,137,211,131,236, +/* 0x00d0 */ 24,139, 69, 8,139,125, 12,137, 69,220,131, 58, 0, 15,132,172, +/* 0x00e0 */ 0, 0, 0,141, 85,228,137,240,106, 12,232,161,255,255,255,139, +/* 0x00f0 */ 69,228, 90,133,192,139, 77,232,117, 19,129,249, 85, 80, 88, 33, +/* 0x0100 */ 117, 15,131, 62, 0, 15,132,132, 0, 0, 0,235, 4,133,201,117, +/* 0x0110 */ 7,106,127,232, 73,255,255,255, 57,193,119,245, 59, 3,119,241, +/* 0x0120 */ 57,193,115, 76,137, 69,224, 15,182, 69,236, 80,141, 69,224, 80, +/* 0x0130 */ 255,115, 4, 81,255,118, 4,255, 85,220,131,196, 20,133,192,117, +/* 0x0140 */ 208,139, 85,224, 59, 85,228,117,200,138, 69,237,132,192,116, 22, +/* 0x0150 */ 133,255,116, 18, 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, +/* 0x0160 */ 4,255,215,131,196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 12, +/* 0x0170 */ 139, 83, 4, 81,137,240,232, 21,255,255,255, 88,139, 85,228,139, +/* 0x0180 */ 3, 1, 83, 4, 41,208,133,192,137, 3,233, 78,255,255,255,141, +/* 0x0190 */ 101,244, 91, 94, 95,201,195, 85,137,229, 87, 86,131,206,255, 83, +/* 0x01a0 */ 131,236, 88,199, 69,192, 0, 0, 0, 0,139, 69, 8,199, 69,188, +/* 0x01b0 */ 0, 0, 0, 0,139, 85, 12,199, 69,180, 0, 0, 0, 0,137, 69, +/* 0x01c0 */ 216,139, 69, 20,139,125,216,137, 85,212,137, 69,204,139, 69,216, +/* 0x01d0 */ 139, 93, 16,131,199, 28,131,120, 12, 7,139, 85, 28,137, 93,208, +/* 0x01e0 */ 139, 93, 32,137, 85,200,139, 72, 16,137, 93,196,137,250,116, 14, +/* 0x01f0 */ 139, 93,216,184, 16, 0, 0, 0,246, 67, 26, 32,116, 2, 49,192, +/* 0x0200 */ 5, 2, 16, 0, 0,133,201,137, 69,164,126, 77,131, 58, 1,117, +/* 0x0210 */ 62,139, 66, 28,133,192,137, 69,156,116, 52,139, 66, 24,133,192, +/* 0x0220 */ 117, 6,246, 69,164, 16,117, 39,139, 93,216,131,123, 12, 7,117, +/* 0x0230 */ 13,131,254,255,117, 8,133,192,116, 4,131, 77,164, 16, 57,198, +/* 0x0240 */ 118, 2,137,198, 3, 69,156, 57, 69,180,115, 3,137, 69,180,139, +/* 0x0250 */ 66, 4,131,224,252, 1,194,226,179,129,230, 0,240,255,255, 41, +/* 0x0260 */ 117,180,139, 93,180,129,195,255, 15, 0, 0,129,227, 0,240,255, +/* 0x0270 */ 255,246, 69,164, 16,116, 12, 83, 86,137,117,188,232,232,253,255, +/* 0x0280 */ 255, 88, 90,106, 0,106, 0,106,255,255,117,164,106, 0, 83,255, +/* 0x0290 */ 117,188,232,226,253,255,255,131,196, 28, 41,240,199, 69,176, 0, +/* 0x02a0 */ 0, 0, 0,137, 69,184, 49,210,139, 69,216, 59, 80, 16, 15,131, +/* 0x02b0 */ 198, 1, 0, 0,131, 63, 1,117, 29,131,127, 28, 0,117, 23,139, +/* 0x02c0 */ 69,208,141, 85,228,106, 12,232,196,253,255,255,139, 93,208,139, +/* 0x02d0 */ 69,232, 1, 67, 4, 89,139, 7,131,248, 1, 15,133,111, 1, 0, +/* 0x02e0 */ 0,139, 95, 28,133,219, 15,132,100, 1, 0, 0,139, 79, 36,139, +/* 0x02f0 */ 85,184,137, 77,220,137,206, 3, 87, 24, 1,211,137,208, 37,255, +/* 0x0300 */ 15, 0, 0,137, 93,172,137,211,137, 85,224, 41,195, 1,198,116, +/* 0x0310 */ 89,131,125,208, 0,117, 11,133,201,199, 69,168, 18, 0, 0, 0, +/* 0x0320 */ 117, 13,131,125,208, 0,199, 69,168, 18, 16, 0, 0,117, 7,133, +/* 0x0330 */ 201,139, 85,204,117, 3,131,202,255,139, 69,212, 3, 71, 32,106, +/* 0x0340 */ 0, 80, 82,255,117,168,106, 3, 86, 83,232, 42,253,255,255,131, +/* 0x0350 */ 196, 28, 57,216, 15,133,157, 0, 0, 0,131,125, 24, 0,116, 10, +/* 0x0360 */ 139, 69, 24,131, 56, 0,117, 2,137, 24,131,125,208, 0,116, 89, +/* 0x0370 */ 131,127, 36, 0,116, 30,131,127, 32, 0,117, 5,139, 85, 24,137, +/* 0x0380 */ 26,255,117,196,255,117,200,141, 85,220,139, 69,208,232, 50,253, +/* 0x0390 */ 255,255, 88, 90,131,125,208, 0,116, 47,133,246,116, 43,131,127, +/* 0x03a0 */ 32, 0,117, 37,131,127, 48, 0,116, 31,137,248, 43, 69,216,131, +/* 0x03b0 */ 224,252,139, 68, 3, 96,131,224,252,141, 4, 3,199, 64,248,144, +/* 0x03c0 */ 15, 5,195,131,232, 8,137, 69,192,137,240,141, 20, 30,247,216, +/* 0x03d0 */ 37,255, 15, 0, 0,137, 69,160,116, 8,137,193,198, 2, 0, 66, +/* 0x03e0 */ 226,250,133,246,116, 24,255,119, 44, 86, 83,232,117,252,255,255, +/* 0x03f0 */ 131,196, 12,133,192,116, 7,106,127,232, 99,252,255,255,139, 85, +/* 0x0400 */ 160,141, 4, 22, 1,195, 59, 93,172,115, 39,133,219,116, 88,106, +/* 0x0410 */ 0,106, 0,106,255,104, 18, 16, 0, 0,255,119, 44, 41, 93,172, +/* 0x0420 */ 255,117,172, 83,232, 80,252,255,255,131,196, 28, 57,195,116, 55, +/* 0x0430 */ 235,197,131,125,208, 0,116, 47,141, 70, 3, 37,255, 15, 0, 0, +/* 0x0440 */ 131,248, 3,119, 34, 80, 83,232, 29,252,255,255, 89, 91,235, 23, +/* 0x0450 */ 131,125,208, 0,117, 17,131,232, 4,131,248, 1,119, 9,139, 93, +/* 0x0460 */ 184, 3, 95, 56,137, 93,192,139, 71, 4,255, 69,176,131,224,252, +/* 0x0470 */ 139, 85,176, 1,199,233, 46,254,255,255,139, 69,192,141,101,244, +/* 0x0480 */ 91, 94, 95,201,195, 85,137,229, 87, 86, 83,131,236, 32,199, 69, +/* 0x0490 */ 212, 0, 0, 0, 0,139, 85, 32,139, 69, 24,139, 93, 16,137, 69, +/* 0x04a0 */ 216,139,125, 20,141, 66, 24,137,125,232,137, 69,240,139, 69, 28, +/* 0x04b0 */ 131,232, 24,137, 69,236,139, 66, 24,139, 85,240,106, 0,137, 69, +/* 0x04c0 */ 228,139, 69,236,137, 85,224,137, 69,220,141, 85,228,141, 69,236, +/* 0x04d0 */ 83,232,238,251,255,255,255,117, 12, 83,255,117, 8,141, 69,220, +/* 0x04e0 */ 106,255, 80,106, 0, 87,232,172,252,255,255, 49,210,137,195,141, +/* 0x04f0 */ 71, 28,131,196, 36,139, 79, 16, 57,202, 15,131,167, 0, 0, 0, +/* 0x0500 */ 131, 56, 14, 15,133,149, 0, 0, 0, 3, 64, 8,106, 0,106, 0, +/* 0x0510 */ 80,232, 95,251,255,255,131,196, 12,133,192,137,198,120, 23,106, +/* 0x0520 */ 0,255,117,212,255,117,216, 87, 86,232, 63,251,255,255,131,196, +/* 0x0530 */ 20, 57, 69,216,116, 15,106,127,232, 36,251,255,255,139, 91, 8, +/* 0x0540 */ 137, 93,212,235,218,139, 7, 61,202,254,186,190,116, 7, 61,190, +/* 0x0550 */ 186,254,202,117, 42, 15,182, 71, 7,141, 95, 8,107,192, 20,131, +/* 0x0560 */ 192, 8, 80, 87,232,210,250,255,255, 89, 90, 49,192,139, 87, 4, +/* 0x0570 */ 57,208,115, 11,131, 59, 7,116,196, 64,131,195, 20,235,241,106, +/* 0x0580 */ 0,106, 0,106, 0, 86,106, 0,255,117,212, 87,232, 6,252,255, +/* 0x0590 */ 255, 86,137,195,232,216,250,255,255,131,196, 32,235, 9, 3, 64, +/* 0x05a0 */ 4, 66,233, 81,255,255,255,141,101,244,137,216, 91, 94, 95,201, +/* 0x05b0 */ 195 }; Binary files /tmp/tmpsQiZ_A/NRfEuRtjbH/upx-ucl-3.95/src/stub/i386-darwin.macho-upxmain.exe and /tmp/tmpsQiZ_A/eVIfKiXybS/upx-ucl-3.96/src/stub/i386-darwin.macho-upxmain.exe differ diff -Nru upx-ucl-3.95/src/stub/i386-darwin.macho-upxmain.h upx-ucl-3.96/src/stub/i386-darwin.macho-upxmain.h --- upx-ucl-3.95/src/stub/i386-darwin.macho-upxmain.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-darwin.macho-upxmain.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* i386-darwin.macho-upxmain.h - created from i386-darwin.macho-upxmain.exe, 4936 (0x1348) bytes + created from i386-darwin.macho-upxmain.exe, 4688 (0x1250) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,13 +31,13 @@ */ -#define STUB_I386_DARWIN_MACHO_UPXMAIN_EXE_SIZE 4936 -#define STUB_I386_DARWIN_MACHO_UPXMAIN_EXE_ADLER32 0x8952e687 -#define STUB_I386_DARWIN_MACHO_UPXMAIN_EXE_CRC32 0x20b8b848 +#define STUB_I386_DARWIN_MACHO_UPXMAIN_EXE_SIZE 4688 +#define STUB_I386_DARWIN_MACHO_UPXMAIN_EXE_ADLER32 0x8f7d68d7 +#define STUB_I386_DARWIN_MACHO_UPXMAIN_EXE_CRC32 0x20172ebf -unsigned char stub_i386_darwin_macho_upxmain_exe[4936] = { +unsigned char stub_i386_darwin_macho_upxmain_exe[4688] = { /* 0x0000 */ 206,250,237,254, 7, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, -/* 0x0010 */ 13, 0, 0, 0,152, 2, 0, 0,133, 0, 0, 1, 1, 0, 0, 0, +/* 0x0010 */ 9, 0, 0, 0,104, 2, 0, 0,141, 0, 0, 0, 1, 0, 0, 0, /* 0x0020 */ 56, 0, 0, 0, 95, 95, 80, 65, 71, 69, 90, 69, 82, 79, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, /* 0x0040 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -46,39 +46,39 @@ /* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 0, 0, 0, /* 0x0080 */ 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 95, 95,116,101, /* 0x0090 */ 120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 95, 84, 69, -/* 0x00a0 */ 88, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 25, 0, 0, -/* 0x00b0 */ 151, 6, 0, 0, 33, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x00a0 */ 88, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 25, 0, 0, +/* 0x00b0 */ 74, 6, 0, 0,100, 9, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x00c0 */ 0, 0, 0, 0, 0, 4, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x00d0 */ 95, 95,117,110,119,105,110,100, 95,105,110,102,111, 0, 0, 0, /* 0x00e0 */ 95, 95, 84, 69, 88, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x00f0 */ 184, 31, 0, 0, 72, 0, 0, 0,184, 15, 0, 0, 2, 0, 0, 0, +/* 0x00f0 */ 176, 31, 0, 0, 72, 0, 0, 0,176, 15, 0, 0, 4, 0, 0, 0, /* 0x0100 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0110 */ 0, 0, 0, 0, 1, 0, 0, 0, 56, 0, 0, 0, 95, 95, 68, 65, -/* 0x0120 */ 84, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, -/* 0x0130 */ 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, -/* 0x0140 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -/* 0x0150 */ 56, 0, 0, 0, 95, 95, 76, 73, 78, 75, 69, 68, 73, 84, 0, 0, -/* 0x0160 */ 0, 0, 0, 0, 0, 32, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, -/* 0x0170 */ 72, 3, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -/* 0x0180 */ 0, 0, 0, 0, 34, 0, 0,128, 48, 0, 0, 0, 0, 0, 0, 0, -/* 0x0190 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x01a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, -/* 0x01b0 */ 224, 0, 0, 0, 2, 0, 0, 0, 24, 0, 0, 0,224, 16, 0, 0, -/* 0x01c0 */ 29, 0, 0, 0, 60, 18, 0, 0, 12, 1, 0, 0, 11, 0, 0, 0, -/* 0x01d0 */ 80, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 13, 0, 0, 0, -/* 0x01e0 */ 15, 0, 0, 0, 28, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -/* 0x01f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0200 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0210 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, -/* 0x0220 */ 28, 0, 0, 0, 12, 0, 0, 0, 47,117,115,114, 47,108,105, 98, -/* 0x0230 */ 47,100,121,108,100, 0, 0, 0, 36, 0, 0, 0, 16, 0, 0, 0, -/* 0x0240 */ 0, 12, 10, 0, 0, 12, 10, 0, 42, 0, 0, 0, 16, 0, 0, 0, -/* 0x0250 */ 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0,128, 24, 0, 0, 0, -/* 0x0260 */ 255, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0270 */ 12, 0, 0, 0, 52, 0, 0, 0, 24, 0, 0, 0, 2, 0, 0, 0, -/* 0x0280 */ 0, 0,214, 4, 0, 0, 1, 0, 47,117,115,114, 47,108,105, 98, -/* 0x0290 */ 47,108,105, 98, 83,121,115,116,101,109, 46, 66, 46,100,121,108, -/* 0x02a0 */ 105, 98, 0, 0, 41, 0, 0, 0, 16, 0, 0, 0,224, 16, 0, 0, +/* 0x0110 */ 0, 0, 0, 0, 1, 0, 0, 0, 56, 0, 0, 0, 95, 95, 76, 73, +/* 0x0120 */ 78, 75, 69, 68, 73, 84, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, +/* 0x0130 */ 80, 2, 0, 0, 0, 16, 0, 0, 80, 2, 0, 0, 7, 0, 0, 0, +/* 0x0140 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0,128, +/* 0x0150 */ 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0160 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0170 */ 0, 0, 0, 0, 0, 16, 0, 0,236, 0, 0, 0, 2, 0, 0, 0, +/* 0x0180 */ 24, 0, 0, 0,236, 16, 0, 0, 17, 0, 0, 0,184, 17, 0, 0, +/* 0x0190 */ 152, 0, 0, 0, 11, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, +/* 0x01a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, +/* 0x01b0 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x01c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x01d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x01e0 */ 0, 0, 0, 0, 14, 0, 0, 0, 28, 0, 0, 0, 12, 0, 0, 0, +/* 0x01f0 */ 47,117,115,114, 47,108,105, 98, 47,100,121,108,100, 0, 0, 0, +/* 0x0200 */ 5, 0, 0, 0, 80, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, +/* 0x0210 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0220 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0230 */ 0, 0, 0, 0, 0, 0, 0, 0,100, 25, 0, 0, 0, 0, 0, 0, +/* 0x0240 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0250 */ 12, 0, 0, 0, 52, 0, 0, 0, 24, 0, 0, 0, 2, 0, 0, 0, +/* 0x0260 */ 11, 2,125, 0, 0, 0, 1, 0, 47,117,115,114, 47,108,105, 98, +/* 0x0270 */ 47,108,105, 98, 83,121,115,116,101,109, 46, 66, 46,100,121,108, +/* 0x0280 */ 105, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0290 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x02a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x02b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x02c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x02d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -182,167 +182,151 @@ /* 0x08f0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0900 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0910 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0920 */ 0, 85,137,229, 83, 87, 86,131,236, 44,139,117, 16,139, 93, 24, -/* 0x0930 */ 139, 69, 8,139, 77, 12,137, 77,240,141, 72, 24,137, 77,236,139, -/* 0x0940 */ 77,240,131,193,232,137, 77,232,137,117,228,139, 64, 24,137, 69, -/* 0x0950 */ 224,242, 15, 16, 69,232,242, 15, 17, 69,216,131,236, 8, 49,255, -/* 0x0960 */ 141, 77,232,141, 85,224, 87, 83,232, 21, 1, 0, 0,131,196, 16, -/* 0x0970 */ 131,236, 8,141, 69,216, 49,210,137,241,255,117, 28, 83,255,117, -/* 0x0980 */ 32,106,255, 80, 87,232,236, 1, 0, 0,137,242,131,196, 32,137, -/* 0x0990 */ 195,139, 74, 16,133,201, 15,132,220, 0, 0, 0,139,117, 20,141, -/* 0x09a0 */ 66, 28,131, 56, 14,116, 13, 71, 3, 64, 4, 57,207,114,243,233, -/* 0x09b0 */ 196, 0, 0, 0, 3, 64, 8,131,236, 4, 49,219, 83, 83, 80,232, -/* 0x09c0 */ 213, 5, 0, 0,131,196, 16,137, 69,212,133,192,120,119,139, 69, -/* 0x09d0 */ 16,141, 64, 16,137, 69,208, 49,255,131,236, 12, 83, 87, 86,255, -/* 0x09e0 */ 117, 16,255,117,212,232,167, 5, 0, 0,131,196, 32, 57,240,117, -/* 0x09f0 */ 84,139, 77, 16,139, 1, 61,190,186,254,202,116, 7, 61,202,254, -/* 0x0a00 */ 186,190,117, 78, 15,182, 65, 7,141, 4,128,141, 4,133, 8, 0, -/* 0x0a10 */ 0, 0,131,236, 8, 80, 81,137,207,232, 59, 5, 0, 0,131,196, -/* 0x0a20 */ 16,139, 71, 4, 49,201,133,192,139, 85,208,116, 24,131,122,248, -/* 0x0a30 */ 7,116, 10, 65,131,194, 20, 57,193,114,242,235, 8,139, 58, 49, -/* 0x0a40 */ 219,133,255,117,148,131,236, 12,106,127,232, 54, 5, 0, 0,131, -/* 0x0a50 */ 196, 16,131,236, 8, 49,192,137,250, 80, 80, 80,139,117,212, 86, -/* 0x0a60 */ 80, 83,232, 15, 1, 0, 0,131,196, 32,137,195,131,236, 12, 86, -/* 0x0a70 */ 232, 32, 5, 0, 0,131,196, 16,137,216,131,196, 44, 94, 95, 91, -/* 0x0a80 */ 93,195, 85,137,229, 83, 87, 86,131,236, 28,137,215,137, 77,224, -/* 0x0a90 */ 131, 63, 0, 15,132,200, 0, 0, 0,131,236, 12,139, 77,224,141, -/* 0x0aa0 */ 85,232,106, 12,232,102, 4, 0, 0,131,196, 16,139, 93,232,139, -/* 0x0ab0 */ 117,236,133,219, 15,132,151, 0, 0, 0,141, 70,255, 57,216, 15, -/* 0x0ac0 */ 131,164, 0, 0, 0, 59, 31, 15,135,156, 0, 0, 0, 57,222,115, -/* 0x0ad0 */ 93,137, 93,228,139, 69,240,137, 69,220, 15,182,192,131,236, 12, -/* 0x0ae0 */ 80,141, 69,228, 80,255,119, 4, 86,139, 69,224,255,112, 4,255, -/* 0x0af0 */ 85, 8,131,196, 32,133,192,117,112, 57, 93,228,117,107,131,125, -/* 0x0b00 */ 12, 0,139, 77,220,116, 29, 15,182,197,102,133,192,116, 21,193, -/* 0x0b10 */ 233, 16, 15,183,192, 15,182,201, 80, 81, 83,255,119, 4,255, 85, -/* 0x0b20 */ 12,131,196, 16,139, 69,224, 1,112, 4, 41, 48,235, 18,139, 87, -/* 0x0b30 */ 4,131,236, 12,139, 77,224, 86,232,210, 3, 0, 0,131,196, 16, -/* 0x0b40 */ 1, 95, 4,139, 7, 41,216,137, 7, 15,133, 74,255,255,255,235, -/* 0x0b50 */ 16,129,254, 85, 80, 88, 33,117, 16,139, 69,224,131, 56, 0,117, -/* 0x0b60 */ 8,131,196, 28, 94, 95, 91, 93,195,131,236, 12,106,127,232, 18, -/* 0x0b70 */ 4, 0, 0,131,196, 16, 85,137,229, 83, 87, 86,131,236, 76,137, -/* 0x0b80 */ 85,188,137, 77,200,139, 73, 16,137, 77,224, 49,192,133,201, 15, -/* 0x0b90 */ 132, 85, 2, 0, 0,131,125, 12, 0, 15,149,193, 15,182,201,141, -/* 0x0ba0 */ 12, 73,137, 77,184,139, 77,200,141, 89, 28, 49,210, 49,192, 49, -/* 0x0bb0 */ 201, 49,246,137,117,228,137,215,137,206,139, 11,141, 81,252,131, -/* 0x0bc0 */ 250, 2, 15,130,213, 0, 0, 0,129,249, 40, 0, 0,128, 15,132, -/* 0x0bd0 */ 234, 0, 0, 0,131,249, 1,137,250, 15,133, 10, 1, 0, 0,139, -/* 0x0be0 */ 123, 28,133,255,137,241, 15,132,238, 1, 0, 0,137,125,208,137, -/* 0x0bf0 */ 85,216,137, 69,204,139, 67, 36,137, 69,232,139,123, 24, 1,207, -/* 0x0c00 */ 137,125,212,137,125,236,137,254,129,230,255, 15, 0, 0,137,242, -/* 0x0c10 */ 41,215, 1,194, 15,132,214, 0, 0, 0,137, 77,220,139, 77,184, -/* 0x0c20 */ 141, 12, 10,137, 77,196,133,255,137, 85,224,186, 2, 0, 0, 0, -/* 0x0c30 */ 185, 18, 0, 0, 0, 15, 69,209,133,192, 15,148,193, 15,182,201, -/* 0x0c40 */ 193,225, 12,131,125, 12, 0,190, 0, 16, 0, 0, 15, 69,206, 9, -/* 0x0c50 */ 209,131,248, 1, 25,192, 11, 69, 16,137, 69,192,139, 83, 32, 3, -/* 0x0c60 */ 85,188,139, 69, 8,190, 0, 0, 0, 0, 17,240,131,236, 4, 80, -/* 0x0c70 */ 82,255,117,192, 81,106, 3,255,117,196, 87,232, 29, 3, 0, 0, -/* 0x0c80 */ 139, 85,224,131,196, 32,133,255,139, 77,220, 15, 68,200,137, 77, -/* 0x0c90 */ 220,131,248,255,137,199,117, 91,233, 85, 1, 0, 0,131,123, 8, -/* 0x0ca0 */ 1,137,241,117, 61,131,123, 12, 16,137,250,139,117,228, 15,133, -/* 0x0cb0 */ 41, 1, 0, 0,139, 67, 56, 1,200,233, 31, 1, 0, 0,139, 67, -/* 0x0cc0 */ 8,137,250, 57, 66, 32,137,241, 15,135, 12, 1, 0, 0, 59, 66, -/* 0x0cd0 */ 36,139,117,228, 15,131, 3, 1, 0, 0, 3, 66, 24,233,251, 0, -/* 0x0ce0 */ 0, 0,137,250,233,241, 0, 0, 0,137,241,233,234, 0, 0, 0, -/* 0x0cf0 */ 137, 77,220,131,125, 12, 0,116, 47,131,123, 36, 0,116, 41,137, -/* 0x0d00 */ 214,131,123, 32, 0,117, 8,139, 69, 20,137, 56,137, 93,216,131, -/* 0x0d10 */ 236, 8,139, 77, 12,141, 85,232,255,117, 28,255,117, 24,232, 95, -/* 0x0d20 */ 253,255,255,131,196, 16,137,242,137,214,247,222,129,230,255, 15, -/* 0x0d30 */ 0, 0,116, 22,141, 4, 23,131,236, 8, 86, 80,137, 85,224,232, -/* 0x0d40 */ 44, 2, 0, 0,139, 85,224,131,196, 16,133,210,116, 30,131,236, -/* 0x0d50 */ 4,255,115, 44, 82, 87,137, 85,224,232, 43, 2, 0, 0,139, 85, -/* 0x0d60 */ 224,131,196, 16,133,192, 15,133,134, 0, 0, 0,139, 69,212, 3, -/* 0x0d70 */ 69,208, 1,214, 1,247, 57,199,115, 41,133,255,116, 74,137,193, -/* 0x0d80 */ 41,249,131,236, 4, 49,192, 80, 80,106,255,104, 18, 16, 0, 0, -/* 0x0d90 */ 255,115, 44, 81, 87,232, 3, 2, 0, 0,131,196, 32, 57,199,116, -/* 0x0da0 */ 39,235, 79,131,125, 12, 0,116, 31,131,194, 3,129,226,255, 15, -/* 0x0db0 */ 0, 0,184, 3, 0, 0, 0, 57,194,119, 13,131,236, 8, 82, 87, -/* 0x0dc0 */ 232,200, 1, 0, 0,131,196, 16,139, 69,200,139, 64, 16,137, 69, -/* 0x0dd0 */ 224,139, 69,204,139, 77,220,139, 85,216,139,117,228, 70, 3, 91, -/* 0x0de0 */ 4, 59,117,224, 15,130,201,253,255,255,131,196, 76, 94, 95, 91, -/* 0x0df0 */ 93,195,131,236, 12,106,127,232,137, 1, 0, 0,131,196, 16, 85, -/* 0x0e00 */ 137,229, 83, 87, 86,129,236, 28, 64, 0, 0,232, 0, 0, 0, 0, -/* 0x0e10 */ 88,139,117, 4,141, 77, 8,141,128,239,255,255,255, 37, 0,240, -/* 0x0e20 */ 255,255,139, 80, 16,133,210,116, 68,137,181,228,191,255,255,137, -/* 0x0e30 */ 141,232,191,255,255,131,200, 28, 49,246,185, 76, 73, 78, 75,131, -/* 0x0e40 */ 56, 1,117, 19,139,120, 14,187, 69, 68, 73, 84, 49,223,139, 88, -/* 0x0e50 */ 10, 49,203, 9,251,116, 48, 70, 3, 64, 4, 57,214,137,189,240, -/* 0x0e60 */ 191,255,255,137,189,236,191,255,255,114,212,235, 61,137,181,228, -/* 0x0e70 */ 191,255,255,137,141,232,191,255,255,137,133,240,191,255,255,137, -/* 0x0e80 */ 133,236,191,255,255,235, 35,139, 88, 24, 15,183, 3, 1,216,141, -/* 0x0e90 */ 75, 2,139,123,252,131,195,252,133,255,116,246, 41,251,137,133, -/* 0x0ea0 */ 236,191,255,255,137,141,240,191,255,255,139,181,232,191,255,255, -/* 0x0eb0 */ 137,240,131,192,248,131,236, 4,141,141,244,191,255,255, 80,255, -/* 0x0ec0 */ 181,240,191,255,255,255,181,236,191,255,255,104, 0, 64, 0, 0, -/* 0x0ed0 */ 81, 87, 83,232, 73,250,255,255,131,196, 32,137,133,240,191,255, -/* 0x0ee0 */ 255,131,236, 8, 87, 83,232,162, 0, 0, 0,131,196, 16,139,133, -/* 0x0ef0 */ 228,191,255,255,137, 70,252,139,133,240,191,255,255,141,102,248, -/* 0x0f00 */ 255,224, 49,192,129,196, 28, 64, 0, 0, 94, 95, 91, 93,195, 85, -/* 0x0f10 */ 137,229, 83, 87, 86,131,236, 12,139, 69, 8,139, 57, 57,199,114, -/* 0x0f20 */ 44,139,113, 4,133,192,116, 20,137,199, 79,138, 30,141,118, 1, -/* 0x0f30 */ 136, 26,141, 82, 1,117,243,139, 57,139,113, 4, 1,198,137,113, -/* 0x0f40 */ 4, 41,199,137, 57,131,196, 12, 94, 95, 91, 93,195,199, 4, 36, -/* 0x0f50 */ 127, 0, 0, 0,232, 44, 0, 0, 0,139, 84, 36, 4,139, 76, 36, -/* 0x0f60 */ 8,139, 2, 15,200,137, 2,131,233, 4,141, 82, 4,119,242,195, -/* 0x0f70 */ 90, 88, 89, 81, 80, 82, 87,151, 49,192,243,170, 95,195, 90, 15, -/* 0x0f80 */ 52,176, 4,235, 2,176, 1,235, 2,176, 74,235, 2,176, 73,235, -/* 0x0f90 */ 2,176,153,235, 2,176, 6,235, 2,176, 5,235, 2,176,197,235, -/* 0x0fa0 */ 2,176, 3, 15,182,192,137,225, 13, 0, 0, 12, 0,232,204,255, -/* 0x0fb0 */ 255,255,115, 3,131,200,255,195, 1, 0, 0, 0, 28, 0, 0, 0, -/* 0x0fc0 */ 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, -/* 0x0fd0 */ 2, 0, 0, 0, 33, 9, 0, 0, 52, 0, 0, 0, 52, 0, 0, 0, -/* 0x0fe0 */ 185, 15, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 3, 0, 0, 0, -/* 0x0ff0 */ 12, 0, 1, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x1000 */ 0, 1, 95, 0, 5, 0, 10, 95, 0, 72,117,112,120, 95,109, 97, -/* 0x1010 */ 105,110, 0,106,109, 0,111, 98, 0,148, 1,119,114,105,116,101, -/* 0x1020 */ 0,179, 1,101,120,105,116, 0,184, 1,112,114,101, 97,100, 0, -/* 0x1030 */ 199, 1, 99,108,111,115,101, 0,204, 1,111,112,101,110, 0,209, -/* 0x1040 */ 1,114,101, 97,100, 0,219, 1, 0, 2,109,104, 95,101,120,101, -/* 0x1050 */ 99,117,116,101, 95,104,101, 97,100,101,114, 0,102, 95, 98,122, -/* 0x1060 */ 101,114,111, 0,169, 1, 2, 0, 0, 0, 3, 0,161, 18, 0, 0, -/* 0x1070 */ 4, 97,105,110, 0,143, 1,112,114,111,116,101, 99,116, 0,189, -/* 0x1080 */ 1,117,110,109, 97,112, 0,194, 1,109, 97,112, 0,214, 1, 3, -/* 0x1090 */ 0,255, 27, 0, 0, 2,115,119, 97,112, 0,164, 1,122,101,114, -/* 0x10a0 */ 111, 0,174, 1, 3, 0,217, 30, 0, 3, 0,240, 30, 0, 3, 0, -/* 0x10b0 */ 240, 30, 0, 3, 0,129, 31, 0, 3, 0,133, 31, 0, 3, 0,137, -/* 0x10c0 */ 31, 0, 3, 0,141, 31, 0, 3, 0,145, 31, 0, 3, 0,149, 31, -/* 0x10d0 */ 0, 3, 0,153, 31, 0, 3, 0,157, 31, 0, 3, 0,161, 31, 0, -/* 0x10e0 */ 141, 0, 0, 0, 14, 1, 0, 0,130, 26, 0, 0,155, 0, 0, 0, -/* 0x10f0 */ 14, 1, 0, 0,118, 27, 0, 0,164, 0, 0, 0, 14, 1, 0, 0, -/* 0x1100 */ 15, 31, 0, 0,171, 0, 0, 0, 14, 1, 0, 0,126, 31, 0, 0, -/* 0x1110 */ 177, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,186, 0, 0, 0, -/* 0x1120 */ 2, 0, 0, 0, 3, 0, 0, 0,195, 0, 0, 0, 2, 0, 0, 0, -/* 0x1130 */ 4, 0, 0, 0,205, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, -/* 0x1140 */ 214, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0,224, 0, 0, 0, -/* 0x1150 */ 2, 0, 0, 0, 73, 0, 0, 0,235, 0, 0, 0, 2, 0, 0, 0, -/* 0x1160 */ 74, 0, 0, 0,248, 0, 0, 0, 2, 0, 0, 0,153, 0, 0, 0, -/* 0x1170 */ 2, 1, 0, 0, 2, 0, 0, 0,197, 0, 0, 0, 2, 0, 0, 0, -/* 0x1180 */ 15, 1, 0, 0,112, 31, 0, 0, 11, 0, 0, 0, 3, 1, 16, 0, -/* 0x1190 */ 0, 16, 0, 0, 31, 0, 0, 0, 15, 1, 0, 0, 89, 31, 0, 0, -/* 0x11a0 */ 38, 0, 0, 0, 15, 1, 0, 0,112, 31, 0, 0, 45, 0, 0, 0, -/* 0x11b0 */ 15, 1, 0, 0,149, 31, 0, 0, 52, 0, 0, 0, 15, 1, 0, 0, -/* 0x11c0 */ 133, 31, 0, 0, 58, 0, 0, 0, 15, 1, 0, 0,255, 29, 0, 0, -/* 0x11d0 */ 64, 0, 0, 0, 15, 1, 0, 0,157, 31, 0, 0, 70, 0, 0, 0, -/* 0x11e0 */ 15, 1, 0, 0,137, 31, 0, 0, 80, 0, 0, 0, 15, 1, 0, 0, -/* 0x11f0 */ 141, 31, 0, 0, 88, 0, 0, 0, 15, 1, 0, 0,153, 31, 0, 0, -/* 0x1200 */ 94, 0, 0, 0, 15, 1, 0, 0,145, 31, 0, 0,101, 0, 0, 0, -/* 0x1210 */ 15, 1, 0, 0,161, 31, 0, 0,107, 0, 0, 0, 15, 1, 0, 0, -/* 0x1220 */ 33, 25, 0, 0,117, 0, 0, 0, 15, 1, 0, 0,129, 31, 0, 0, -/* 0x1230 */ 124, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 32, 0, 95, 95, -/* 0x1240 */ 95, 98,122,101,114,111, 0, 95, 95,109,104, 95,101,120,101, 99, -/* 0x1250 */ 117,116,101, 95,104,101, 97,100,101,114, 0, 95, 98,115,119, 97, -/* 0x1260 */ 112, 0, 95, 98,122,101,114,111, 0, 95, 99,108,111,115,101, 0, -/* 0x1270 */ 95,101,120,105,116, 0, 95,109, 97,105,110, 0, 95,109,109, 97, -/* 0x1280 */ 112, 0, 95,109,112,114,111,116,101, 99,116, 0, 95,109,117,110, -/* 0x1290 */ 109, 97,112, 0, 95,111,112,101,110, 0, 95,112,114,101, 97,100, -/* 0x12a0 */ 0, 95,114,101, 97,100, 0, 95,117,112,120, 95,109, 97,105,110, -/* 0x12b0 */ 0, 95,119,114,105,116,101, 0,100,121,108,100, 95,115,116,117, -/* 0x12c0 */ 98, 95, 98,105,110,100,101,114, 0, 95,117,110,112, 97, 99,107, -/* 0x12d0 */ 69,120,116,101,110,116, 0, 95,100,111, 95,120,109, 97,112, 0, -/* 0x12e0 */ 95,120,114,101, 97,100, 0,115,121,115,103,111, 0, 83, 89, 83, -/* 0x12f0 */ 95,101,120,105,116, 0, 83, 89, 83, 95,114,101, 97,100, 0, 83, -/* 0x1300 */ 89, 83, 95,119,114,105,116,101, 0, 83, 89, 83, 95,111,112,101, -/* 0x1310 */ 110, 0, 83, 89, 83, 95, 99,108,111,115,101, 0, 83, 89, 83, 95, -/* 0x1320 */ 109,117,110,109, 97,112, 0, 83, 89, 83, 95,109,112,114,111,116, -/* 0x1330 */ 101, 99,116, 0, 83, 89, 83, 95,112,114,101, 97,100, 0, 83, 89, -/* 0x1340 */ 83, 95,109,109, 97,112, 0, 0 +/* 0x0920 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0930 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0940 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0950 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x0960 */ 0, 0, 0, 0,204, 85,137,229, 83, 87, 86,131,236, 44,139, 69, +/* 0x0970 */ 8,141,120, 24,141, 77,208,137,121, 4,139, 93, 12,131,195,232, +/* 0x0980 */ 137, 25,139,117, 16,141, 85,216,137,114, 4,139, 64, 24,137, 2, +/* 0x0990 */ 141, 69,224,137,120, 4,137, 24,139, 93, 24,131,236, 8, 49,255, +/* 0x09a0 */ 87, 83,232, 54, 1, 0, 0,131,196, 8, 49,210,137,241,255,117, +/* 0x09b0 */ 28, 83,255,117, 32,106,255,141, 69,224, 80, 87,232, 1, 2, 0, +/* 0x09c0 */ 0,131,196, 32,137,195,139, 78, 16,133,201, 15,132, 2, 1, 0, +/* 0x09d0 */ 0,141, 70, 28,131, 56, 14,116, 13, 71, 3, 64, 4, 57,207,114, +/* 0x09e0 */ 243,233,237, 0, 0, 0, 3, 64, 8,131,236, 4, 49,255, 87, 87, +/* 0x09f0 */ 80,232,153, 5, 0, 0,131,196, 16,137, 69,240,133,192, 15,136, +/* 0x0a00 */ 152, 0, 0, 0,131,236, 12, 87, 87,139, 69, 20,137,199, 87, 86, +/* 0x0a10 */ 255,117,240,232,111, 5, 0, 0,131,196, 32, 57,248,117,125,141, +/* 0x0a20 */ 70, 16,137, 69,232, 49,219,199, 69,236, 0, 0, 0, 0,139, 6, +/* 0x0a30 */ 61,190,186,254,202,116, 7, 61,202,254,186,190,117,107, 15,182, +/* 0x0a40 */ 70, 7,141, 4,128,141, 4,133, 8, 0, 0, 0,131,236, 8, 80, +/* 0x0a50 */ 86,232,249, 4, 0, 0,131,196, 16,139, 70, 4,133,192,116, 60, +/* 0x0a60 */ 49,201,139, 85,232,131,122,248, 7,116, 10, 65,131,194, 20, 57, +/* 0x0a70 */ 193,114,242,235, 39,139, 26,133,219,116, 33,199, 69,236, 0, 0, +/* 0x0a80 */ 0, 0,131,236, 12,106, 0, 83,139,125, 20, 87, 86,255,117,240, +/* 0x0a90 */ 232,242, 4, 0, 0,131,196, 32, 57,248,116,146,131,236, 12,106, +/* 0x0aa0 */ 127,232,213, 4, 0, 0,131,196, 16,131,236, 8, 49,192,137,241, +/* 0x0ab0 */ 137,218, 80, 80, 80,139,117,240, 86, 80,255,117,236,232, 0, 1, +/* 0x0ac0 */ 0, 0,131,196, 32,137,195,131,236, 12, 86,232,187, 4, 0, 0, +/* 0x0ad0 */ 131,196, 16,137,216,131,196, 44, 94, 95, 91, 93,195, 85,137,229, +/* 0x0ae0 */ 83, 87, 86,131,236, 28,137,215,137, 77,240,131, 63, 0, 15,132, +/* 0x0af0 */ 185, 0, 0, 0,131,236, 12,139, 77,240,141, 85,224,106, 12,232, +/* 0x0b00 */ 8, 4, 0, 0,131,196, 16,139, 93,224,139,117,228,133,219, 15, +/* 0x0b10 */ 132,136, 0, 0, 0,141, 70,255, 57,216, 15,131,149, 0, 0, 0, +/* 0x0b20 */ 59, 31, 15,135,141, 0, 0, 0, 57,222,115, 82,137, 93,236, 15, +/* 0x0b30 */ 182, 69,232,131,236, 12, 80,141, 69,236, 80,255,119, 4, 86,139, +/* 0x0b40 */ 69,240,255,112, 4,255, 85, 8,131,196, 32,133,192,117,102, 57, +/* 0x0b50 */ 93,236,117, 97,131,125, 12, 0,116, 26,138, 69,233,132,192,116, +/* 0x0b60 */ 19, 15,182,192, 15,182, 77,234, 80, 81, 83,255,119, 4,255, 85, +/* 0x0b70 */ 12,131,196, 16,139, 69,240, 1,112, 4, 41, 48,235, 18,139, 87, +/* 0x0b80 */ 4,131,236, 12,139, 77,240, 86,232,127, 3, 0, 0,131,196, 16, +/* 0x0b90 */ 1, 95, 4, 41, 31, 15,133, 89,255,255,255,235, 16,129,254, 85, +/* 0x0ba0 */ 80, 88, 33,117, 16,139, 69,240,131, 56, 0,117, 8,131,196, 28, +/* 0x0bb0 */ 94, 95, 91, 93,195,131,236, 12,106,127,232,188, 3, 0, 0,131, +/* 0x0bc0 */ 196, 16, 85,137,229, 83, 87, 86,131,236, 60,137, 85,216,139, 65, +/* 0x0bd0 */ 16,137,198,133,192, 15,132, 76, 2, 0, 0, 49,210,131,125, 12, +/* 0x0be0 */ 0, 15,149,194,141, 20, 82,137, 85,220,137, 77,204,141, 89, 28, +/* 0x0bf0 */ 199, 69,228, 0, 0, 0, 0, 49,192,199, 69,236, 0, 0, 0, 0, +/* 0x0c00 */ 49,255,137,241,137, 69,232,139, 51,141, 86,252,131,250, 2, 15, +/* 0x0c10 */ 130,208, 0, 0, 0,129,254, 40, 0, 0,128, 15,132,230, 0, 0, +/* 0x0c20 */ 0,131,254, 1, 15,133,236, 1, 0, 0,139, 83, 28,133,210,139, +/* 0x0c30 */ 69,232, 15,132,225, 1, 0, 0,137, 85,200,139, 75, 36,137, 77, +/* 0x0c40 */ 184,139, 67, 24, 3, 69,236,137, 69,188,137,198,129,230,255, 15, +/* 0x0c50 */ 0, 0,137, 69,196,137,194, 41,242, 1,206,137,117,224, 15,132, +/* 0x0c60 */ 195, 0, 0, 0,139, 69,220,141, 4, 6,137, 69,208,137,208,137, +/* 0x0c70 */ 69,240, 49,210,133,192, 15,149,194,193,226, 4, 49,192,133,201, +/* 0x0c80 */ 15,148,192,193,224, 12,131,125, 12, 0,190, 0, 16, 0, 0, 15, +/* 0x0c90 */ 69,198,141, 68, 2, 2,137, 69,212,131,249, 1, 25,201, 11, 77, +/* 0x0ca0 */ 16,139, 83, 32, 3, 85,216,139, 69, 8,190, 0, 0, 0, 0, 17, +/* 0x0cb0 */ 240,131,236, 4, 80, 82, 81,255,117,212,106, 3,255,117,208,255, +/* 0x0cc0 */ 117,240,232,204, 2, 0, 0,131,196, 32,131,125,240, 0,139, 77, +/* 0x0cd0 */ 236, 15, 68,200,137,194,131,248,255,137,200,139, 77,228,117, 77, +/* 0x0ce0 */ 233, 76, 1, 0, 0,131,123, 8, 1, 15,133, 39, 1, 0, 0,131, +/* 0x0cf0 */ 123, 12, 16,139, 69,232, 15,133, 29, 1, 0, 0,139, 67, 56, 3, +/* 0x0d00 */ 69,236,233, 18, 1, 0, 0,139, 67, 8,139, 85,228, 57, 66, 32, +/* 0x0d10 */ 15,135, 3, 1, 0, 0, 57, 66, 36, 15,134,250, 0, 0, 0, 3, +/* 0x0d20 */ 66, 24,233,242, 0, 0, 0,139, 69,236,139, 77,228,137, 69,236, +/* 0x0d30 */ 131,125, 12, 0,137, 85,240,116, 49,131,123, 36, 0,116, 43,131, +/* 0x0d40 */ 123, 32, 0,117, 7,139, 69, 20,137, 16,137,217,131,236, 8,137, +/* 0x0d50 */ 206,139, 77, 12,141, 85,184,255,117, 28,255,117, 24,232,123,253, +/* 0x0d60 */ 255,255,139, 85,240,137,241,131,196, 16,137, 77,228,139, 69,224, +/* 0x0d70 */ 137,198,247,222,129,230,255, 15, 0, 0,116, 22,141, 4, 2,131, +/* 0x0d80 */ 236, 8, 86, 80,232,221, 1, 0, 0,139, 69,224,139, 85,240,131, +/* 0x0d90 */ 196, 16,133,192,137,193,116, 26,131,236, 4,255,115, 44, 81, 82, +/* 0x0da0 */ 232,218, 1, 0, 0,139, 77,224,139, 85,240,131,196, 16,133,192, +/* 0x0db0 */ 117,127,139, 69,196, 3, 69,200, 1,206, 1,242, 57,194,115, 43, +/* 0x0dc0 */ 133,210,116, 76,137,193, 41,209,131,236, 4, 49,192, 80, 80,106, +/* 0x0dd0 */ 255,104, 18, 16, 0, 0,255,115, 44, 81, 82,137,214,232,177, 1, +/* 0x0de0 */ 0, 0,131,196, 32, 57,198,116, 39,235, 70,131,125, 12, 0,116, +/* 0x0df0 */ 31,131,193, 3,129,225,255, 15, 0, 0,184, 3, 0, 0, 0, 57, +/* 0x0e00 */ 193,119, 13,131,236, 8, 81, 82,232,118, 1, 0, 0,131,196, 16, +/* 0x0e10 */ 139, 69,204,139, 72, 16,139, 69,232, 71, 3, 91, 4, 57,207, 15, +/* 0x0e20 */ 130,223,253,255,255,235, 2, 49,192,131,196, 60, 94, 95, 91, 93, +/* 0x0e30 */ 195,131,236, 12,106,127,232, 64, 1, 0, 0,131,196, 16, 85,137, +/* 0x0e40 */ 229, 83, 87, 86,129,236, 28, 64, 0, 0,232, 0, 0, 0, 0, 88, +/* 0x0e50 */ 139,117, 4,141, 85, 8,141,128,239,255,255,255, 37, 0,240,255, +/* 0x0e60 */ 255,139, 72, 16,133,201,137, 85,228,137,117,232,116, 44,131,200, +/* 0x0e70 */ 28, 49,246,186, 76, 73, 78, 75,131, 56, 1,117, 19,139,120, 14, +/* 0x0e80 */ 187, 69, 68, 73, 84, 49,223,139, 88, 10, 49,211, 9,251,116, 12, +/* 0x0e90 */ 70, 3, 64, 4, 57,206,114,224,235, 31,235, 29,139, 88, 24, 15, +/* 0x0ea0 */ 183, 3, 1,216,141, 75, 2,139,123,252,131,195,252,133,255,116, +/* 0x0eb0 */ 246, 41,251,137, 69,236,137, 77,240,139,117,228,137,240,131,192, +/* 0x0ec0 */ 248,131,236, 4,141,141,228,191,255,255, 80,255,117,240,255,117, +/* 0x0ed0 */ 236,104, 0, 64, 0, 0, 81, 87, 83,232,135,250,255,255,131,196, +/* 0x0ee0 */ 32,137, 69,240,131,236, 8, 87, 83,232,149, 0, 0, 0,131,196, +/* 0x0ef0 */ 16,139, 69,232,137, 70,252,139, 69,240,141,102,248,255,224, 49, +/* 0x0f00 */ 192,129,196, 28, 64, 0, 0, 94, 95, 91, 93,195, 85,137,229, 83, +/* 0x0f10 */ 87, 86,131,236, 12,139, 69, 8,139, 49, 57,198,114, 37,133,192, +/* 0x0f20 */ 116, 18,139,113, 4, 49,255,138, 28, 62,136, 28, 58, 71, 57,248, +/* 0x0f30 */ 117,245,139, 49, 1, 65, 4, 41,198,137, 49,131,196, 12, 94, 95, +/* 0x0f40 */ 91, 93,195,199, 4, 36,127, 0, 0, 0,232, 44, 0, 0, 0,139, +/* 0x0f50 */ 84, 36, 4,139, 76, 36, 8,139, 2, 15,200,137, 2,131,233, 4, +/* 0x0f60 */ 141, 82, 4,119,242,195, 90, 88, 89, 81, 80, 82, 87,151, 49,192, +/* 0x0f70 */ 243,170, 95,195, 90, 15, 52,176, 4,235, 2,176, 1,235, 2,176, +/* 0x0f80 */ 74,235, 2,176, 73,235, 2,176,153,235, 2,176, 6,235, 2,176, +/* 0x0f90 */ 5,235, 2,176,197,235, 2,176, 3, 15,182,192,137,225, 13, 0, +/* 0x0fa0 */ 0, 12, 0,232,204,255,255,255,115, 3,131,200,255,195, 0, 0, +/* 0x0fb0 */ 1, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, +/* 0x0fc0 */ 0, 0, 0, 0, 28, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, +/* 0x0fd0 */ 52, 0, 0, 0, 52, 0, 0, 0,249, 15, 0, 0, 0, 0, 0, 0, +/* 0x0fe0 */ 52, 0, 0, 0, 3, 0, 0, 0, 12, 0, 1, 0, 16, 0, 1, 0, +/* 0x0ff0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0x1000 */ 0, 2, 95, 0, 12,115,116, 97,114,116, 0,113, 0, 10, 95, 0, +/* 0x1010 */ 79,117,112,120, 95,109, 97,105,110, 0,118,109, 0,123, 98, 0, +/* 0x1020 */ 160, 1,119,114,105,116,101, 0,191, 1,101,120,105,116, 0,196, +/* 0x1030 */ 1,112,114,101, 97,100, 0,211, 1, 99,108,111,115,101, 0,216, +/* 0x1040 */ 1,111,112,101,110, 0,221, 1,114,101, 97,100, 0,231, 1, 0, +/* 0x1050 */ 2,109,104, 95,101,120,101, 99,117,116,101, 95,104,101, 97,100, +/* 0x1060 */ 101,114, 0,109, 95, 98,122,101,114,111, 0,181, 1, 2, 0, 0, +/* 0x1070 */ 0, 3, 0,228, 18, 0, 3, 0,229, 18, 0, 0, 4, 97,105,110, +/* 0x1080 */ 0,155, 1,112,114,111,116,101, 99,116, 0,201, 1,117,110,109, +/* 0x1090 */ 97,112, 0,206, 1,109, 97,112, 0,226, 1, 3, 0,190, 28, 0, +/* 0x10a0 */ 0, 2,115,119, 97,112, 0,176, 1,122,101,114,111, 0,186, 1, +/* 0x10b0 */ 3, 0,207, 30, 0, 3, 0,230, 30, 0, 3, 0,230, 30, 0, 3, +/* 0x10c0 */ 0,247, 30, 0, 3, 0,251, 30, 0, 3, 0,255, 30, 0, 3, 0, +/* 0x10d0 */ 131, 31, 0, 3, 0,135, 31, 0, 3, 0,139, 31, 0, 3, 0,143, +/* 0x10e0 */ 31, 0, 3, 0,147, 31, 0, 3, 0,151, 31, 0, 4, 0, 0, 0, +/* 0x10f0 */ 15, 1, 0, 0,102, 31, 0, 0, 13, 0, 0, 0, 3, 0, 16, 0, +/* 0x1100 */ 0, 16, 0, 0, 33, 0, 0, 0, 15, 1, 0, 0, 79, 31, 0, 0, +/* 0x1110 */ 40, 0, 0, 0, 15, 1, 0, 0,102, 31, 0, 0, 47, 0, 0, 0, +/* 0x1120 */ 15, 1, 0, 0,139, 31, 0, 0, 54, 0, 0, 0, 15, 1, 0, 0, +/* 0x1130 */ 123, 31, 0, 0, 60, 0, 0, 0, 15, 1, 0, 0, 62, 30, 0, 0, +/* 0x1140 */ 66, 0, 0, 0, 15, 1, 0, 0,147, 31, 0, 0, 72, 0, 0, 0, +/* 0x1150 */ 15, 1, 0, 0,127, 31, 0, 0, 82, 0, 0, 0, 15, 1, 0, 0, +/* 0x1160 */ 131, 31, 0, 0, 90, 0, 0, 0, 15, 1, 0, 0,143, 31, 0, 0, +/* 0x1170 */ 96, 0, 0, 0, 15, 1, 0, 0,135, 31, 0, 0,103, 0, 0, 0, +/* 0x1180 */ 15, 1, 0, 0,151, 31, 0, 0,109, 0, 0, 0, 15, 1, 0, 0, +/* 0x1190 */ 101, 25, 0, 0,119, 0, 0, 0, 15, 1, 0, 0,119, 31, 0, 0, +/* 0x11a0 */ 126, 0, 0, 0, 15, 1, 0, 0,100, 25, 0, 0,132, 0, 0, 0, +/* 0x11b0 */ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 95, 95, 95, 98, +/* 0x11c0 */ 122,101,114,111, 0, 95, 95,109,104, 95,101,120,101, 99,117,116, +/* 0x11d0 */ 101, 95,104,101, 97,100,101,114, 0, 95, 98,115,119, 97,112, 0, +/* 0x11e0 */ 95, 98,122,101,114,111, 0, 95, 99,108,111,115,101, 0, 95,101, +/* 0x11f0 */ 120,105,116, 0, 95,109, 97,105,110, 0, 95,109,109, 97,112, 0, +/* 0x1200 */ 95,109,112,114,111,116,101, 99,116, 0, 95,109,117,110,109, 97, +/* 0x1210 */ 112, 0, 95,111,112,101,110, 0, 95,112,114,101, 97,100, 0, 95, +/* 0x1220 */ 114,101, 97,100, 0, 95,117,112,120, 95,109, 97,105,110, 0, 95, +/* 0x1230 */ 119,114,105,116,101, 0,115,116, 97,114,116, 0,100,121,108,100, +/* 0x1240 */ 95,115,116,117, 98, 95, 98,105,110,100,101,114, 0, 0, 0, 0 }; diff -Nru upx-ucl-3.95/src/stub/i386-dos32.djgpp2.h upx-ucl-3.96/src/stub/i386-dos32.djgpp2.h --- upx-ucl-3.95/src/stub/i386-dos32.djgpp2.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-dos32.djgpp2.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-dos32.tmt.h upx-ucl-3.96/src/stub/i386-dos32.tmt.h --- upx-ucl-3.95/src/stub/i386-dos32.tmt.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-dos32.tmt.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-dos32.watcom.le.h upx-ucl-3.96/src/stub/i386-dos32.watcom.le.h --- upx-ucl-3.95/src/stub/i386-dos32.watcom.le.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-dos32.watcom.le.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.elf-entry.h upx-ucl-3.96/src/stub/i386-linux.elf-entry.h --- upx-ucl-3.95/src/stub/i386-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.elf.execve-entry.h upx-ucl-3.96/src/stub/i386-linux.elf.execve-entry.h --- upx-ucl-3.95/src/stub/i386-linux.elf.execve-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.elf.execve-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.elf.execve-fold.h upx-ucl-3.96/src/stub/i386-linux.elf.execve-fold.h --- upx-ucl-3.95/src/stub/i386-linux.elf.execve-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.elf.execve-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.elf-fold.h upx-ucl-3.96/src/stub/i386-linux.elf-fold.h --- upx-ucl-3.95/src/stub/i386-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* i386-linux.elf-fold.h - created from i386-linux.elf-fold.bin, 1836 (0x72c) bytes + created from i386-linux.elf-fold.bin, 1940 (0x794) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,17 +31,17 @@ */ -#define STUB_I386_LINUX_ELF_FOLD_SIZE 1836 -#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x1aee22db -#define STUB_I386_LINUX_ELF_FOLD_CRC32 0x090ce958 +#define STUB_I386_LINUX_ELF_FOLD_SIZE 1940 +#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0xbea946e7 +#define STUB_I386_LINUX_ELF_FOLD_CRC32 0x0c8aec52 -unsigned char stub_i386_linux_elf_fold[1836] = { +unsigned char stub_i386_linux_elf_fold[1940] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0, -/* 0x0040 */ 0, 16,192, 0, 44, 7, 0, 0, 44, 7, 0, 0, 5, 0, 0, 0, -/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 44, 7, 0, 0, 0, 0, 0, 0, +/* 0x0040 */ 0, 16,192, 0,148, 7, 0, 0,148, 7, 0, 0, 5, 0, 0, 0, +/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,148, 7, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 87, 81, 80,137,230,129,236, 0, 16, 0, 0,137,231,106, 8, 89, @@ -56,7 +56,7 @@ /* 0x0110 */ 49,248,131,224, 4, 41,199, 90, 1,250,175,173,193,233, 2, 73, /* 0x0120 */ 243,165,252,141, 79, 4, 49,192, 41,225,137,231,193,233, 2,243, /* 0x0130 */ 171,137,252,137,215, 88, 93, 88, 94, 89,129,236, 0, 10, 0, 0, -/* 0x0140 */ 137,226, 81,139, 24,139, 72, 4,131,193, 12, 96, 71,232,208, 4, +/* 0x0140 */ 137,226, 81,139, 24,139, 72, 4,131,193, 12, 96, 71,232, 56, 5, /* 0x0150 */ 0, 0, 79,137,198,137,250,137,231,185,137, 2, 0, 0, 49,192, /* 0x0160 */ 243,171,137,252, 88, 89, 95, 91, 86, 81, 80, 82, 87, 41,237,106, /* 0x0170 */ 2, 94,106, 1, 90,185, 0, 16, 0, 0, 41,219,104,192, 0, 0, @@ -84,71 +84,78 @@ /* 0x02d0 */ 255,141,101,244, 91, 94, 95,201,195,133,192,116, 13,168, 1,117, /* 0x02e0 */ 9, 57, 16,116, 7,131,192, 8,235,247, 49,192,133,192,116, 3, /* 0x02f0 */ 137, 72, 4,195,184, 0,240,255,255,195, 85,137,229, 87, 86, 83, -/* 0x0300 */ 131,236, 84,137, 69,228,139, 77, 16,137, 85,224,139, 69, 8,139, +/* 0x0300 */ 131,236,112,137, 69,228,139, 77, 16,137, 85,224,139, 69, 8,139, /* 0x0310 */ 85, 12,137, 77,212,139, 93, 20,137, 69,220,137, 85,216,137, 93, -/* 0x0320 */ 208,232,206,255,255,255,137,195,137,198,139, 69,224,247,214,139, -/* 0x0330 */ 85,224,137,117,204, 3, 64, 28,137,223, 15,183, 74, 44,137, 69, -/* 0x0340 */ 200, 49,192,102,131,122, 16, 2,137, 77,196,139,117,200, 15,148, -/* 0x0350 */ 192,131,203,255,193,224, 4,137, 69,176,232,149,255,255,255,139, -/* 0x0360 */ 69,196, 49,210, 72,120, 31,139, 77,196,131, 62, 1,117, 18,139, -/* 0x0370 */ 70, 8, 57,216,115, 2,137,195, 3, 70, 20, 57,194,115, 2,137, -/* 0x0380 */ 194,131,198, 32,226,228, 33,251,106, 0, 41,218,106,255, 41,250, -/* 0x0390 */ 131, 77,176, 34,141,114,255,255,117,176,106, 0, 33,254, 86, 83, -/* 0x03a0 */ 232,251,253,255,255,139, 85,224, 1,198,131,196, 24, 41,216,102, -/* 0x03b0 */ 131,122, 44, 0,137,117,240,137, 69,192,199, 69,188, 0, 0, 0, -/* 0x03c0 */ 0, 15,132, 33, 2, 0, 0,131,125,220, 0,116, 35,139, 77,200, -/* 0x03d0 */ 131, 57, 6,117, 27,139, 93,200,186, 3, 0, 0, 0,139, 77,192, -/* 0x03e0 */ 3, 75, 8,139, 69,216,232,238,254,255,255,233,225, 1, 0, 0, -/* 0x03f0 */ 139,117,200,131, 62, 1, 15,133,213, 1, 0, 0,131,125,220, 0, -/* 0x0400 */ 116, 71,131,126, 4, 0,117, 65,139, 69,224,186, 3, 0, 0, 0, -/* 0x0410 */ 139, 77,192, 3, 78, 8, 3, 72, 28,139, 69,216,232,184,254,255, -/* 0x0420 */ 255,139, 85,224,139, 69,216, 15,183, 74, 44,186, 5, 0, 0, 0, -/* 0x0430 */ 232,164,254,255,255,139, 93,224,139, 69,216,186, 4, 0, 0, 0, -/* 0x0440 */ 15,183, 75, 42,232,144,254,255,255,139,117,200,187, 64, 98, 81, -/* 0x0450 */ 115,139, 78, 24,139, 86, 16,131,225, 7,193,225, 2,137, 85,232, -/* 0x0460 */ 211,235,139, 78, 20,137,216,131,224, 7,137, 69,184,139, 69,192, -/* 0x0470 */ 3, 70, 8, 1,193,137,198,137, 77,180,139, 77,204,137, 69,236, -/* 0x0480 */ 33,193, 41,206,131,125,220, 0,141, 60, 10,116, 58,106, 0,106, -/* 0x0490 */ 255,106, 50,141, 71, 3,106, 3, 80, 86,232, 1,253,255,255,131, -/* 0x04a0 */ 196, 24, 57,198, 15,133,219, 0, 0, 0,128,227, 4,139, 69,208, -/* 0x04b0 */ 117, 2, 49,192, 80,139, 69,220,255,117,228,141, 85,232,232, 54, -/* 0x04c0 */ 253,255,255, 88, 90,235, 35,139, 93,200,139, 67, 4, 41,200, 80, -/* 0x04d0 */ 255,117,228,106, 18,255,117,184, 87, 86,232,193,252,255,255,131, -/* 0x04e0 */ 196, 24, 57,198, 15,133,155, 0, 0, 0,137,248,139, 85,204,247, -/* 0x04f0 */ 216, 33,208,246, 69,184, 2,137, 69,172,116, 18,131,125,172, 0, -/* 0x0500 */ 141, 4, 62,116, 9,139, 77,172,198, 0, 0, 64,226,250,131,125, -/* 0x0510 */ 220, 0,116,123,139, 77,200,131, 57, 1,117, 89,246, 65, 24, 1, -/* 0x0520 */ 116, 83,139, 81, 20,139, 89, 8,139, 69,200,141, 12, 26, 3, 77, -/* 0x0530 */ 192, 59, 80, 16,117, 14,137,200,247,216, 37,255, 15, 0, 0,131, -/* 0x0540 */ 248, 3,119, 17,139, 85,200,107, 69,192, 52,131,122, 4, 0,141, -/* 0x0550 */ 76, 3, 12,117, 32,139, 1, 61,205,128, 97,195,116, 6,199, 1, -/* 0x0560 */ 205,128, 97,195,133,201,116, 13,139, 69,216, 49,210,131,224,254, -/* 0x0570 */ 232,100,253,255,255,137,243,137,249,139, 85,184,106,125, 88,205, -/* 0x0580 */ 128,133,192,116, 10,106,127, 91,106, 1, 88,205,128,235,254,139, -/* 0x0590 */ 85,172,141, 4, 23,141, 28, 6, 59, 93,180,115, 30,106, 0,106, -/* 0x05a0 */ 255,106, 50,255,117,184, 41, 93,180,255,117,180, 83,232,238,251, -/* 0x05b0 */ 255,255,131,196, 24, 57,195,116, 24,235,254,131,125,220, 0,116, -/* 0x05c0 */ 16,141, 79, 3, 35, 77,204,131,249, 3,119, 5,106, 91, 88,205, -/* 0x05d0 */ 128,139, 77,224,255, 69,188, 15,183, 65, 44,131, 69,200, 32, 57, -/* 0x05e0 */ 69,188, 15,140,223,253,255,255,131,125,220, 0,116, 18,139, 93, -/* 0x05f0 */ 224,102,131,123, 16, 3,116, 8,139, 93,240,106, 45, 88,205,128, -/* 0x0600 */ 131,125,212, 0,116, 8,139, 69,192,139,117,212,137, 6,139, 85, -/* 0x0610 */ 224,139, 82, 24, 1, 85,192,139, 69,192,141,101,244, 91, 94, 95, -/* 0x0620 */ 201,195, 85,137,229, 87, 86, 83,131,236, 32,199, 69,232, 0, 0, -/* 0x0630 */ 0, 0,139, 69, 8,139,117, 16,137, 69,236,128, 62,235,117, 6, -/* 0x0640 */ 141, 86, 2,137, 85,232,106, 0,139,125, 28,141, 85, 24,139, 93, -/* 0x0650 */ 32,141, 69, 32, 86,232,159,251,255,255,139, 69, 12, 41, 93, 36, -/* 0x0660 */ 137,250,141, 93,240,255,117,232,137, 69, 32,139, 69, 40, 83,255, -/* 0x0670 */ 117,236,137, 69,240,141, 69, 32,141, 79, 52, 80,137,240,137, 77, -/* 0x0680 */ 228,232,116,252,255,255,137,193,137, 69,224,139, 69,236,186, 9, -/* 0x0690 */ 0, 0, 0,232, 65,252,255,255,102,139, 79, 44,131,196, 24, 49, -/* 0x06a0 */ 210,102,133,201,116,123,139, 69,228,131, 56, 3,117,103,139, 93, -/* 0x06b0 */ 240, 49,201, 3, 88, 8,137,202,106, 5, 88,205,128,133,192,137, -/* 0x06c0 */ 198,120, 21,186, 0, 2, 0, 0,137,195,137,249,106, 3, 88,205, -/* 0x06d0 */ 128, 61, 0, 2, 0, 0,116, 10,106,127, 91,106, 1, 88,205,128, -/* 0x06e0 */ 235,254,141, 69,240,137,250,106, 0,137,243, 80,137,240,255,117, -/* 0x06f0 */ 236,106, 0,232, 2,252,255,255,139, 77,240,137, 69,224,139, 69, -/* 0x0700 */ 236,186, 7, 0, 0, 0,232,206,251,255,255,131,196, 16,106, 6, -/* 0x0710 */ 88,205,128,235, 12, 66, 15,183,193,131, 69,228, 32, 57,194,124, -/* 0x0720 */ 133,139, 69,224,141,101,244, 91, 94, 95,201,195 +/* 0x0320 */ 208,232,206,255,255,255,137, 69,200,247,208,137, 69,204,139,117, +/* 0x0330 */ 224,139, 69,224, 3,118, 28,102,131,120, 16, 2,139, 85,224,137, +/* 0x0340 */ 117,196, 15,148,192, 15,183,122, 44, 15,182,192,131,203,255,193, +/* 0x0350 */ 224, 4,137, 69,148,232,154,255,255,255,139, 77,200,137,248, 49, +/* 0x0360 */ 210, 72,137, 77,188,120, 30,137,249,131, 62, 1,117, 18,139, 70, +/* 0x0370 */ 8, 57,216,115, 2,137,195, 3, 70, 20, 57,194,115, 2,137,194, +/* 0x0380 */ 131,198, 32,226,228,139,125,188,106, 0,106,255, 33,223,131, 77, +/* 0x0390 */ 148, 34, 41,250,255,117,148, 43, 85,188,106, 0,141,114,255, 35, +/* 0x03a0 */ 117,188, 86, 87,232,247,253,255,255,139, 85,224, 1,198,131,196, +/* 0x03b0 */ 24, 41,248,102,131,122, 44, 0,137,117,240,137, 69,192,199, 69, +/* 0x03c0 */ 184, 0, 0, 0, 0, 15,132,128, 2, 0, 0,131,125,220, 0,116, +/* 0x03d0 */ 35,139, 77,196,131, 57, 6,117, 27,139, 93,196,186, 3, 0, 0, +/* 0x03e0 */ 0,139, 77,192, 3, 75, 8,139, 69,216,232,234,254,255,255,233, +/* 0x03f0 */ 64, 2, 0, 0,139,117,196,131, 62, 1, 15,133, 52, 2, 0, 0, +/* 0x0400 */ 131,125,220, 0,116, 71,131,126, 4, 0,117, 65,139, 69,224,186, +/* 0x0410 */ 3, 0, 0, 0,139, 77,192, 3, 78, 8, 3, 72, 28,139, 69,216, +/* 0x0420 */ 232,180,254,255,255,139, 85,224,139, 69,216, 15,183, 74, 44,186, +/* 0x0430 */ 5, 0, 0, 0,232,160,254,255,255,139, 93,224,139, 69,216,186, +/* 0x0440 */ 4, 0, 0, 0, 15,183, 75, 42,232,140,254,255,255,139,117,196, +/* 0x0450 */ 187, 64, 98, 81,115,139, 78, 24,139, 86, 16,131,225, 7,193,225, +/* 0x0460 */ 2,137, 85,232,211,235,139, 78, 20,137,216,131,224, 7,137, 69, +/* 0x0470 */ 180,139, 69,192, 3, 70, 8, 1,193,137,198,137, 77,176,139, 77, +/* 0x0480 */ 204,137, 69,236, 33,193, 41,206,131,125,220, 0,141, 60, 10,116, +/* 0x0490 */ 58,106, 0,106,255,106, 50,141, 71, 3,106, 3, 80, 86,232,253, +/* 0x04a0 */ 252,255,255,131,196, 24, 57,198, 15,133, 57, 1, 0, 0,128,227, +/* 0x04b0 */ 4,139, 69,208,117, 2, 49,192, 80,139, 69,220,255,117,228,141, +/* 0x04c0 */ 85,232,232, 50,253,255,255, 88, 90,235, 35,139, 93,196,139, 67, +/* 0x04d0 */ 4, 41,200, 80,255,117,228,106, 18,255,117,180, 87, 86,232,189, +/* 0x04e0 */ 252,255,255,131,196, 24, 57,198, 15,133,249, 0, 0, 0,137,248, +/* 0x04f0 */ 139, 85,204,247,216, 33,208,246, 69,180, 2,137, 69,144,116, 18, +/* 0x0500 */ 131,125,144, 0,141, 4, 62,116, 9,139, 77,144,198, 0, 0, 64, +/* 0x0510 */ 226,250,131,125,220, 0, 15,132,213, 0, 0, 0,139, 77,196,199, +/* 0x0520 */ 69,172, 0, 0, 0, 0,131, 57, 1, 15,133,168, 0, 0, 0,246, +/* 0x0530 */ 65, 24, 1, 15,132,158, 0, 0, 0,139, 81, 20,139, 73, 8,139, +/* 0x0540 */ 69,196,141, 28, 10, 3, 93,192, 59, 80, 16,137, 93,140,117, 14, +/* 0x0550 */ 137,216,247,216, 37,255, 15, 0, 0,131,248, 3,119, 57,107, 69, +/* 0x0560 */ 192, 52,139, 85,196,131,122, 4, 0,141, 76, 1, 12,137, 77,140, +/* 0x0570 */ 116, 37,106, 0,106,255,106, 34,106, 3,104, 0, 16, 0, 0,106, +/* 0x0580 */ 0,199, 69,172, 1, 0, 0, 0,232, 19,252,255,255,131,196, 24, +/* 0x0590 */ 133,192,137, 69,140,116, 64,139, 77,140,139, 1, 61,205,128, 97, +/* 0x05a0 */ 195,116, 6,199, 1,205,128, 97,195,131,125,172, 0,116, 18,185, +/* 0x05b0 */ 4, 0, 0, 0,186, 5, 0, 0, 0,139, 93,140,106,125, 88,205, +/* 0x05c0 */ 128,131,125,140, 0,116, 16,139, 69,216, 49,210,139, 77,140,131, +/* 0x05d0 */ 224,254,232, 2,253,255,255,137,243,137,249,139, 85,180,106,125, +/* 0x05e0 */ 88,205,128,133,192,116, 10,106,127, 91,106, 1, 88,205,128,235, +/* 0x05f0 */ 254,139, 85,144,141, 4, 23, 1,198, 59,117,176,115, 30,106, 0, +/* 0x0600 */ 106,255,106, 50,255,117,180, 41,117,176,255,117,176, 86,232,141, +/* 0x0610 */ 251,255,255,131,196, 24, 57,198,116, 26,235,254,131,125,220, 0, +/* 0x0620 */ 116, 18,141, 79, 3, 35, 77,204,131,249, 3,119, 7,137,243,106, +/* 0x0630 */ 91, 88,205,128,139,117,224,255, 69,184, 15,183, 70, 44,131, 69, +/* 0x0640 */ 196, 32, 57, 69,184, 15,140,128,253,255,255,131,125,220, 0,116, +/* 0x0650 */ 23,139, 69,224,102,131,120, 16, 3,116, 13,139, 85,240,137, 85, +/* 0x0660 */ 156,137,211,106, 45, 88,205,128,131,125,212, 0,116, 8,139, 69, +/* 0x0670 */ 192,139,117,212,137, 6,139, 85,224,139, 82, 24, 1, 85,192,139, +/* 0x0680 */ 69,192,141,101,244, 91, 94, 95,201,195, 85,137,229, 87, 86, 83, +/* 0x0690 */ 131,236, 32,199, 69,232, 0, 0, 0, 0,139, 69, 8,139,117, 16, +/* 0x06a0 */ 137, 69,236,128, 62,235,117, 6,141, 86, 2,137, 85,232,106, 0, +/* 0x06b0 */ 139,125, 28,141, 85, 24,139, 93, 32,141, 69, 32, 86,232, 55,251, +/* 0x06c0 */ 255,255,139, 69, 12, 41, 93, 36,137,250,141, 93,240,255,117,232, +/* 0x06d0 */ 137, 69, 32,139, 69, 40, 83,255,117,236,137, 69,240,141, 69, 32, +/* 0x06e0 */ 141, 79, 52, 80,137,240,137, 77,228,232, 12,252,255,255,137,193, +/* 0x06f0 */ 137, 69,224,139, 69,236,186, 9, 0, 0, 0,232,217,251,255,255, +/* 0x0700 */ 102,139, 79, 44,131,196, 24, 49,210,102,133,201,116,123,139, 69, +/* 0x0710 */ 228,131, 56, 3,117,103,139, 93,240, 49,201, 3, 88, 8,137,202, +/* 0x0720 */ 106, 5, 88,205,128,133,192,137,198,120, 21,186, 0, 2, 0, 0, +/* 0x0730 */ 137,195,137,249,106, 3, 88,205,128, 61, 0, 2, 0, 0,116, 10, +/* 0x0740 */ 106,127, 91,106, 1, 88,205,128,235,254,141, 69,240,137,250,106, +/* 0x0750 */ 0,137,243, 80,137,240,255,117,236,106, 0,232,154,251,255,255, +/* 0x0760 */ 139, 77,240,137, 69,224,139, 69,236,186, 7, 0, 0, 0,232,102, +/* 0x0770 */ 251,255,255,131,196, 16,106, 6, 88,205,128,235, 12, 66, 15,183, +/* 0x0780 */ 193,131, 69,228, 32, 57,194,124,133,139, 69,224,141,101,244, 91, +/* 0x0790 */ 94, 95,201,195 }; diff -Nru upx-ucl-3.95/src/stub/i386-linux.elf.interp-entry.h upx-ucl-3.96/src/stub/i386-linux.elf.interp-entry.h --- upx-ucl-3.95/src/stub/i386-linux.elf.interp-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.elf.interp-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.elf.interp-fold.h upx-ucl-3.96/src/stub/i386-linux.elf.interp-fold.h --- upx-ucl-3.95/src/stub/i386-linux.elf.interp-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.elf.interp-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.elf.shell-entry.h upx-ucl-3.96/src/stub/i386-linux.elf.shell-entry.h --- upx-ucl-3.95/src/stub/i386-linux.elf.shell-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.elf.shell-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.elf.shell-fold.h upx-ucl-3.96/src/stub/i386-linux.elf.shell-fold.h --- upx-ucl-3.95/src/stub/i386-linux.elf.shell-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.elf.shell-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.kernel.vmlinux.h upx-ucl-3.96/src/stub/i386-linux.kernel.vmlinux.h --- upx-ucl-3.95/src/stub/i386-linux.kernel.vmlinux.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.kernel.vmlinux.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.kernel.vmlinux-head.h upx-ucl-3.96/src/stub/i386-linux.kernel.vmlinux-head.h --- upx-ucl-3.95/src/stub/i386-linux.kernel.vmlinux-head.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.kernel.vmlinux-head.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.kernel.vmlinuz.h upx-ucl-3.96/src/stub/i386-linux.kernel.vmlinuz.h --- upx-ucl-3.95/src/stub/i386-linux.kernel.vmlinuz.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.kernel.vmlinuz.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-linux.shlib-init.h upx-ucl-3.96/src/stub/i386-linux.shlib-init.h --- upx-ucl-3.95/src/stub/i386-linux.shlib-init.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-linux.shlib-init.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-netbsd.elf-entry.h upx-ucl-3.96/src/stub/i386-netbsd.elf-entry.h --- upx-ucl-3.95/src/stub/i386-netbsd.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-netbsd.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-netbsd.elf-fold.h upx-ucl-3.96/src/stub/i386-netbsd.elf-fold.h --- upx-ucl-3.95/src/stub/i386-netbsd.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-netbsd.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-openbsd.elf-fold.h upx-ucl-3.96/src/stub/i386-openbsd.elf-fold.h --- upx-ucl-3.95/src/stub/i386-openbsd.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-openbsd.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/i386-win32.pe.h upx-ucl-3.96/src/stub/i386-win32.pe.h --- upx-ucl-3.95/src/stub/i386-win32.pe.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/i386-win32.pe.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/m68k-atari.tos.h upx-ucl-3.96/src/stub/m68k-atari.tos.h --- upx-ucl-3.95/src/stub/m68k-atari.tos.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/m68k-atari.tos.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/Makefile upx-ucl-3.96/src/stub/Makefile --- upx-ucl-3.95/src/stub/Makefile 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/Makefile 2020-01-23 16:56:00.000000000 +0000 @@ -5,7 +5,7 @@ # cross-assemblers and cross-compilers - please see README.SRC # for details. # -# Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +# Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer # MAKEFLAGS += -rR diff -Nru upx-ucl-3.95/src/stub/mipsel.r3000-linux.elf-entry.h upx-ucl-3.96/src/stub/mipsel.r3000-linux.elf-entry.h --- upx-ucl-3.95/src/stub/mipsel.r3000-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/mipsel.r3000-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/mipsel.r3000-linux.elf-fold.h upx-ucl-3.96/src/stub/mipsel.r3000-linux.elf-fold.h --- upx-ucl-3.95/src/stub/mipsel.r3000-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/mipsel.r3000-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* mipsel.r3000-linux.elf-fold.h - created from mipsel.r3000-linux.elf-fold.bin, 2604 (0xa2c) bytes + created from mipsel.r3000-linux.elf-fold.bin, 2744 (0xab8) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,17 +31,17 @@ */ -#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2604 -#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x129c345d -#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0xbd5e47b8 +#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2744 +#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x6f8a5297 +#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0x24710a9b -unsigned char stub_mipsel_r3000_linux_elf_fold[2604] = { +unsigned char stub_mipsel_r3000_linux_elf_fold[2744] = { /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 8, 0, 1, 0, 0, 0,128, 0, 16, 0, 52, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 1, 48, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, -/* 0x0040 */ 0, 0, 16, 0, 44, 10, 0, 0, 48, 10, 0, 0, 5, 0, 0, 0, -/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0, 44, 10, 0, 0, 0, 0, 0, 0, +/* 0x0040 */ 0, 0, 16, 0,184, 10, 0, 0,192, 10, 0, 0, 5, 0, 0, 0, +/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,184, 10, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 0, 0, 2, 36, 8, 0,224, 3, 64, 18, 2, 0, 0, 0, 0, 0, @@ -58,7 +58,7 @@ /* 0x0130 */ 33, 8,162, 0, 0, 0, 32,160, 0,254,189, 39, 33, 88,128, 3, /* 0x0140 */ 33, 80,160, 2, 33, 72, 0, 0, 33, 64,192, 3, 33, 56,192, 2, /* 0x0150 */ 33, 48,160, 3, 33, 40, 32, 2, 1, 0, 16, 4, 96, 1, 2, 36, -/* 0x0160 */ 35, 16,226, 3,148, 8, 66, 36, 9,248, 64, 0, 33, 32, 0, 2, +/* 0x0160 */ 35, 16,226, 3, 32, 9, 66, 36, 9,248, 64, 0, 33, 32, 0, 2, /* 0x0170 */ 0, 2,189, 39, 33,240, 64, 0, 20, 0,168,143, 33, 72, 0, 0, /* 0x0180 */ 16, 0,168,175, 20, 0,169,175, 2, 0, 7, 36, 1, 0, 6, 36, /* 0x0190 */ 34, 40, 28, 0, 33, 32, 0, 0,250, 15, 2, 36, 12, 0, 0, 0, @@ -71,132 +71,141 @@ /* 0x0200 */ 12, 0, 0, 0, 2, 0, 0, 16, 32, 0,189, 39, 12, 0, 0, 0, /* 0x0210 */ 3, 0,224, 20, 0, 0, 0, 0, 8, 0,224, 3, 0, 0, 0, 0, /* 0x0220 */ 8, 0,224, 3,255,255, 2, 36, 8, 0,224, 3, 0, 0, 0, 0, -/* 0x0230 */ 0, 0,130,140, 4, 0,135,140, 43, 16, 70, 0, 3, 0, 64, 20, -/* 0x0240 */ 161, 15, 2, 36, 10, 0, 0, 16, 33, 24,192, 0,127, 0, 4, 36, -/* 0x0250 */ 238,255, 17, 4, 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0, -/* 0x0260 */ 0, 0,226,144, 1, 0,231, 36, 0, 0,162,160, 1, 0,165, 36, -/* 0x0270 */ 255,255, 99, 36,255,255, 2, 36,249,255, 98, 20, 0, 0, 0, 0, -/* 0x0280 */ 4, 0,131,140, 0, 0,130,140, 33, 24,102, 0, 35, 16, 70, 0, -/* 0x0290 */ 0, 0,130,172, 8, 0,224, 3, 4, 0,131,172,216,255,189, 39, -/* 0x02a0 */ 28, 0,179,175, 24, 0,178,175, 20, 0,177,175, 16, 0,176,175, -/* 0x02b0 */ 33,136,128, 0, 33,128,160, 0, 33,152,192, 0, 33,144,224, 0, -/* 0x02c0 */ 82, 0, 0, 16, 32, 0,191,175, 33, 32, 32, 2,216,255, 17, 4, -/* 0x02d0 */ 4, 0,165, 39, 4, 0,163,143, 8, 0,166,143, 10, 0, 96, 20, -/* 0x02e0 */ 88, 33, 2, 60, 85, 80, 66, 52, 10, 0,194, 20,127, 0, 4, 36, -/* 0x02f0 */ 0, 0, 34,142, 0, 0, 0, 0, 7, 0, 64, 20,161, 15, 2, 36, -/* 0x0300 */ 70, 0, 0, 16, 0, 0, 0, 0, 7, 0,192, 20, 43, 16,102, 0, -/* 0x0310 */ 127, 0, 4, 36,161, 15, 2, 36,188,255, 17, 4, 0, 0, 0, 0, -/* 0x0320 */ 255,255, 0, 16, 0, 0, 0, 0,250,255, 64, 20,127, 0, 4, 36, -/* 0x0330 */ 0, 0, 2,142, 0, 0, 0, 0, 43, 16, 67, 0,245,255, 64, 20, -/* 0x0340 */ 43, 16,195, 0, 4, 0, 7,142, 39, 0, 64, 16, 33, 40,224, 0, -/* 0x0350 */ 4, 0, 36,142, 12, 0,168,147, 33, 40,192, 0, 0, 0,163,175, -/* 0x0360 */ 33, 48,224, 0, 9,248, 96, 2, 33, 56,160, 3,233,255, 64, 20, -/* 0x0370 */ 127, 0, 4, 36, 0, 0,165,143, 4, 0,162,143, 0, 0, 0, 0, -/* 0x0380 */ 228,255,162, 20, 0, 0, 0, 0, 13, 0,167,147, 0, 0, 0, 0, -/* 0x0390 */ 13, 0,224, 16, 0, 0, 0, 0, 11, 0, 64, 18, 1, 2,162, 44, -/* 0x03a0 */ 5, 0, 64, 16, 0, 0, 0, 0, 0, 0, 2,142, 0, 0, 0, 0, -/* 0x03b0 */ 5, 0, 69, 20, 0, 0, 0, 0, 4, 0, 4,142, 14, 0,166,147, -/* 0x03c0 */ 9,248, 64, 2, 0, 0, 0, 0, 8, 0,162,143, 4, 0, 35,142, -/* 0x03d0 */ 0, 0, 36,142, 33, 24, 98, 0, 35, 32,130, 0, 4, 0, 35,174, -/* 0x03e0 */ 3, 0, 0, 16, 0, 0, 36,174,145,255, 17, 4, 33, 32, 32, 2, -/* 0x03f0 */ 4, 0,162,143, 4, 0, 3,142, 0, 0, 4,142, 33, 24, 98, 0, -/* 0x0400 */ 35, 32,130, 0, 4, 0, 3,174, 0, 0, 4,174, 0, 0, 2,142, -/* 0x0410 */ 0, 0, 0, 0,172,255, 64, 20, 12, 0, 6, 36, 32, 0,191,143, -/* 0x0420 */ 28, 0,179,143, 24, 0,178,143, 20, 0,177,143, 16, 0,176,143, -/* 0x0430 */ 8, 0,224, 3, 40, 0,189, 39, 8, 0,128, 16, 0, 0, 0, 0, -/* 0x0440 */ 0, 0,130,140, 0, 0, 0, 0, 3, 0, 69, 16, 0, 0, 0, 0, -/* 0x0450 */ 251,255, 0, 16, 8, 0,132, 36, 4, 0,134,172, 8, 0,224, 3, -/* 0x0460 */ 0, 0, 0, 0,168,255,189, 39, 80, 0,190,175, 64, 0,180,175, -/* 0x0470 */ 52, 0,177,175, 84, 0,191,175, 76, 0,183,175, 72, 0,182,175, -/* 0x0480 */ 68, 0,181,175, 60, 0,179,175, 56, 0,178,175, 48, 0,176,175, -/* 0x0490 */ 16, 0,162,148, 28, 0,163,140, 33,160,160, 0, 2, 0, 66, 56, -/* 0x04a0 */ 44, 0,165,148, 1, 0, 66, 44, 33,136,131, 2, 28, 0,164,175, -/* 0x04b0 */ 33,240,192, 0, 32, 0,167,175, 36, 0,168,175, 40, 0,169,175, -/* 0x04c0 */ 0, 57, 2, 0,255,255,165, 36, 39, 16, 10, 0, 33, 32, 32, 2, -/* 0x04d0 */ 255,255, 6, 36, 33, 64, 0, 0, 1, 0, 9, 36, 19, 0, 0, 16, -/* 0x04e0 */ 20, 0,162,175, 0, 0,130,140, 0, 0, 0, 0, 14, 0, 73, 20, -/* 0x04f0 */ 255,255,165, 36, 8, 0,131,140, 0, 0, 0, 0, 43, 16,102, 0, -/* 0x0500 */ 2, 0, 64, 16, 0, 0, 0, 0, 33, 48, 96, 0, 20, 0,130,140, -/* 0x0510 */ 0, 0, 0, 0, 33, 24, 98, 0, 43, 16, 3, 1, 2, 0, 64, 16, -/* 0x0520 */ 0, 0, 0, 0, 33, 64, 96, 0, 32, 0,132, 36,237,255,161, 4, -/* 0x0530 */ 36,128, 70, 1, 35, 16, 16, 1, 35, 16, 74, 0,255,255, 66, 36, -/* 0x0540 */ 36, 80, 66, 1, 2, 8,231, 52, 33, 32, 0, 2, 33, 40, 64, 1, -/* 0x0550 */ 33, 48, 0, 0,255,255, 8, 36, 33, 72, 0, 0, 36,255, 17, 4, -/* 0x0560 */ 8, 0,170,175, 35,184, 80, 0, 12, 0,162,175,164, 0, 0, 16, -/* 0x0570 */ 16, 0,160,175, 12, 0,192, 19, 6, 0, 2, 36, 0, 0, 35,142, -/* 0x0580 */ 0, 0, 0, 0, 10, 0, 98, 20, 1, 0, 2, 36, 8, 0, 38,142, -/* 0x0590 */ 32, 0,164,143, 33, 48,230, 2,167,255, 17, 4, 3, 0, 5, 36, -/* 0x05a0 */ 147, 0, 0, 16, 0, 0, 0, 0, 0, 0, 35,142, 1, 0, 2, 36, -/* 0x05b0 */ 143, 0, 98, 20, 0, 0, 0, 0, 19, 0,192, 19, 0, 0, 0, 0, -/* 0x05c0 */ 4, 0, 34,142, 0, 0, 0, 0, 15, 0, 64, 20, 3, 0, 5, 36, -/* 0x05d0 */ 28, 0,130,142, 8, 0, 38,142, 32, 0,164,143, 33, 48,194, 0, -/* 0x05e0 */ 149,255, 17, 4, 33, 48,230, 2, 32, 0,164,143, 44, 0,134,150, -/* 0x05f0 */ 145,255, 17, 4, 5, 0, 5, 36, 32, 0,164,143, 42, 0,134,150, -/* 0x0600 */ 141,255, 17, 4, 4, 0, 5, 36, 8, 0, 34,142, 24, 0, 35,142, -/* 0x0610 */ 33,176,226, 2, 81,115, 2, 60,128, 24, 3, 0, 64, 98, 66, 52, -/* 0x0620 */ 6,144, 98, 0, 20, 0,163,143, 16, 0, 36,142, 36, 16,195, 2, -/* 0x0630 */ 0, 0,164,175, 33,152,130, 0, 20, 0, 36,142, 4, 0,182,175, -/* 0x0640 */ 7, 0, 85, 50, 24, 0,164,175, 22, 0,192, 19, 35,128,194, 2, -/* 0x0650 */ 33, 32, 0, 2, 33, 40, 96, 2, 3, 0, 6, 36, 18, 8, 7, 36, -/* 0x0660 */ 255,255, 8, 36,226,254, 17, 4, 33, 72, 0, 0, 74, 0, 2, 22, -/* 0x0670 */ 4, 0, 66, 50, 4, 0, 64, 16, 0, 0, 0, 0, 40, 0,167,143, -/* 0x0680 */ 2, 0, 0, 16, 0, 0, 0, 0, 33, 56, 0, 0, 28, 0,166,143, -/* 0x0690 */ 33, 32,192, 3, 1,255, 17, 4, 33, 40,160, 3, 11, 0, 0, 16, -/* 0x06a0 */ 0, 0, 0, 0, 4, 0, 41,142, 28, 0,168,143, 33, 32, 0, 2, -/* 0x06b0 */ 35, 72, 34, 1, 33, 40, 96, 2, 33, 48,160, 2,204,254, 17, 4, -/* 0x06c0 */ 18, 0, 7, 36, 53, 0, 2, 22,127, 0, 4, 36, 20, 0,164,143, -/* 0x06d0 */ 35, 16, 19, 0, 2, 0,163, 50, 8, 0, 96, 16, 36,144, 68, 0, -/* 0x06e0 */ 6, 0, 64, 18, 33, 16, 64, 2, 33, 24, 19, 2,255,255, 66, 36, -/* 0x06f0 */ 0, 0, 96,160,253,255, 64, 20, 1, 0, 99, 36, 43, 0,192, 19, -/* 0x0700 */ 1, 0, 2, 36, 0, 0, 35,142, 0, 0, 0, 0, 28, 0, 98, 20, -/* 0x0710 */ 33, 32, 0, 2, 24, 0, 34,142, 0, 0, 0, 0, 1, 0, 66, 48, -/* 0x0720 */ 24, 0, 64, 16, 33, 40, 96, 2, 20, 0, 36,142, 16, 0, 34,142, -/* 0x0730 */ 8, 0, 35,142, 17, 0,130, 20, 33, 16,131, 0, 33, 48, 87, 0, -/* 0x0740 */ 20, 0,163,143, 35, 16, 6, 0, 36, 16, 98, 0, 12, 0, 66, 44, -/* 0x0750 */ 12, 0, 64, 20, 33, 32, 0, 2, 12, 0, 2, 36, 0, 0,194,172, -/* 0x0760 */ 192, 3, 2, 60, 8, 0, 66, 52, 32, 0,164,143, 4, 0,194,172, -/* 0x0770 */ 8, 0,192,172, 48,255, 17, 4, 33, 40, 0, 0, 33, 32, 0, 2, -/* 0x0780 */ 33, 40, 96, 2, 33, 48,160, 2,160,254, 17, 4, 29, 16, 2, 36, -/* 0x0790 */ 6, 0, 64, 16, 0, 0, 0, 0,127, 0, 4, 36,155,254, 17, 4, -/* 0x07a0 */ 161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, 24, 0,164,143, -/* 0x07b0 */ 33, 16,114, 2, 33, 40,196, 2, 33,128, 2, 2, 43, 16, 5, 2, -/* 0x07c0 */ 11, 0, 64, 16, 35, 40,176, 0, 33, 48,160, 2, 33, 32, 0, 2, -/* 0x07d0 */ 18, 8, 7, 36,255,255, 8, 36,133,254, 17, 4, 33, 72, 0, 0, -/* 0x07e0 */ 3, 0, 2, 18, 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0, -/* 0x07f0 */ 16, 0,162,143, 32, 0, 49, 38, 1, 0, 66, 36, 16, 0,162,175, -/* 0x0800 */ 44, 0,130,150, 16, 0,163,143, 0, 0, 0, 0, 42, 16, 98, 0, -/* 0x0810 */ 88,255, 64, 20, 0, 0, 0, 0, 11, 0,192, 19, 3, 0, 2, 36, -/* 0x0820 */ 16, 0,131,150, 0, 0, 0, 0, 7, 0, 98, 16, 0, 0, 0, 0, -/* 0x0830 */ 8, 0,162,143, 12, 0,163,143, 0, 0, 0, 0, 33, 32, 67, 0, -/* 0x0840 */ 114,254, 17, 4,205, 15, 2, 36, 36, 0,164,143, 0, 0, 0, 0, -/* 0x0850 */ 2, 0,128, 16, 0, 0, 0, 0, 0, 0,151,172, 24, 0,130,142, -/* 0x0860 */ 84, 0,191,143, 33, 16,226, 2, 80, 0,190,143, 76, 0,183,143, -/* 0x0870 */ 72, 0,182,143, 68, 0,181,143, 64, 0,180,143, 60, 0,179,143, -/* 0x0880 */ 56, 0,178,143, 52, 0,177,143, 48, 0,176,143, 8, 0,224, 3, -/* 0x0890 */ 88, 0,189, 39,192,255,189, 39, 56, 0,191,175, 52, 0,181,175, -/* 0x08a0 */ 48, 0,180,175, 44, 0,179,175, 40, 0,178,175, 36, 0,177,175, -/* 0x08b0 */ 32, 0,176,175, 4, 0,130,140, 33,144, 0, 1, 0, 0,136,140, -/* 0x08c0 */ 33, 24,128, 0, 33,152,192, 0, 33,168, 96, 1, 33,160,224, 0, -/* 0x08d0 */ 33,136, 32, 1, 12, 0, 66, 36, 12, 0,165,175, 20, 0,164, 39, -/* 0x08e0 */ 4, 0,165, 39, 33, 48, 64, 2, 33, 56, 0, 0, 33,128, 64, 1, -/* 0x08f0 */ 16, 0,163,175, 24, 0,163,175, 4, 0,168,175, 20, 0,162,175, -/* 0x0900 */ 102,254, 17, 4, 8, 0,179,175, 33, 72, 32, 2, 33, 32, 64, 2, -/* 0x0910 */ 33, 40, 96, 2, 12, 0,166, 39, 33, 56,128, 2, 33, 64,160, 3, -/* 0x0920 */ 33, 80,160, 2,207,254, 17, 4, 0, 0,176,175, 33, 48, 64, 0, -/* 0x0930 */ 33, 32,128, 2, 9, 0, 5, 36,191,254, 17, 4, 33,136, 64, 0, -/* 0x0940 */ 44, 0,102,150, 52, 0,100, 38, 43, 0, 0, 16, 33, 40, 0, 0, -/* 0x0950 */ 0, 0,131,140, 3, 0, 2, 36, 39, 0, 98, 20, 32, 0,132, 36, -/* 0x0960 */ 224,255,132, 36, 8, 0,130,140, 0, 0,164,143, 33, 40, 0, 0, -/* 0x0970 */ 33, 32, 68, 0, 33, 48, 0, 0, 36,254, 17, 4,165, 15, 2, 36, -/* 0x0980 */ 9, 0, 64, 4, 33,128, 64, 0, 33, 32, 64, 0, 33, 40, 96, 2, -/* 0x0990 */ 0, 2, 6, 36, 29,254, 17, 4,163, 15, 2, 36, 0, 2, 3, 36, -/* 0x09a0 */ 6, 0, 67, 16, 33, 80,160, 2,127, 0, 4, 36, 23,254, 17, 4, -/* 0x09b0 */ 161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, 33, 56,128, 2, -/* 0x09c0 */ 33, 64,160, 3, 33, 72, 0, 0,166,254, 17, 4, 33, 48, 0, 0, -/* 0x09d0 */ 0, 0,166,143, 33, 32,128, 2, 7, 0, 5, 36,150,254, 17, 4, -/* 0x09e0 */ 33,136, 64, 0, 33, 32, 0, 2, 8,254, 17, 4,166, 15, 2, 36, -/* 0x09f0 */ 5, 0, 0, 16, 33, 16, 32, 2, 42, 16,166, 0,212,255, 64, 20, -/* 0x0a00 */ 1, 0,165, 36, 33, 16, 32, 2, 56, 0,191,143, 52, 0,181,143, -/* 0x0a10 */ 48, 0,180,143, 44, 0,179,143, 40, 0,178,143, 36, 0,177,143, -/* 0x0a20 */ 32, 0,176,143, 8, 0,224, 3, 64, 0,189, 39 +/* 0x0230 */ 246,255, 17, 4, 29, 16, 2, 36, 8, 0,224, 3, 0, 0, 0, 0, +/* 0x0240 */ 0, 0,130,140, 4, 0,135,140, 43, 16, 70, 0, 3, 0, 64, 20, +/* 0x0250 */ 161, 15, 2, 36, 10, 0, 0, 16, 33, 24,192, 0,127, 0, 4, 36, +/* 0x0260 */ 234,255, 17, 4, 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0, +/* 0x0270 */ 0, 0,226,144, 1, 0,231, 36, 0, 0,162,160, 1, 0,165, 36, +/* 0x0280 */ 255,255, 99, 36,255,255, 2, 36,249,255, 98, 20, 0, 0, 0, 0, +/* 0x0290 */ 4, 0,131,140, 0, 0,130,140, 33, 24,102, 0, 35, 16, 70, 0, +/* 0x02a0 */ 0, 0,130,172, 8, 0,224, 3, 4, 0,131,172,216,255,189, 39, +/* 0x02b0 */ 28, 0,179,175, 24, 0,178,175, 20, 0,177,175, 16, 0,176,175, +/* 0x02c0 */ 33,136,128, 0, 33,128,160, 0, 33,152,192, 0, 33,144,224, 0, +/* 0x02d0 */ 82, 0, 0, 16, 32, 0,191,175, 33, 32, 32, 2,216,255, 17, 4, +/* 0x02e0 */ 4, 0,165, 39, 4, 0,163,143, 8, 0,166,143, 10, 0, 96, 20, +/* 0x02f0 */ 88, 33, 2, 60, 85, 80, 66, 52, 10, 0,194, 20,127, 0, 4, 36, +/* 0x0300 */ 0, 0, 34,142, 0, 0, 0, 0, 7, 0, 64, 20,161, 15, 2, 36, +/* 0x0310 */ 70, 0, 0, 16, 0, 0, 0, 0, 7, 0,192, 20, 43, 16,102, 0, +/* 0x0320 */ 127, 0, 4, 36,161, 15, 2, 36,184,255, 17, 4, 0, 0, 0, 0, +/* 0x0330 */ 255,255, 0, 16, 0, 0, 0, 0,250,255, 64, 20,127, 0, 4, 36, +/* 0x0340 */ 0, 0, 2,142, 0, 0, 0, 0, 43, 16, 67, 0,245,255, 64, 20, +/* 0x0350 */ 43, 16,195, 0, 4, 0, 7,142, 39, 0, 64, 16, 33, 40,224, 0, +/* 0x0360 */ 4, 0, 36,142, 12, 0,168,147, 33, 40,192, 0, 0, 0,163,175, +/* 0x0370 */ 33, 48,224, 0, 9,248, 96, 2, 33, 56,160, 3,233,255, 64, 20, +/* 0x0380 */ 127, 0, 4, 36, 0, 0,165,143, 4, 0,162,143, 0, 0, 0, 0, +/* 0x0390 */ 228,255,162, 20, 0, 0, 0, 0, 13, 0,167,147, 0, 0, 0, 0, +/* 0x03a0 */ 13, 0,224, 16, 0, 0, 0, 0, 11, 0, 64, 18, 1, 2,162, 44, +/* 0x03b0 */ 5, 0, 64, 16, 0, 0, 0, 0, 0, 0, 2,142, 0, 0, 0, 0, +/* 0x03c0 */ 5, 0, 69, 20, 0, 0, 0, 0, 4, 0, 4,142, 14, 0,166,147, +/* 0x03d0 */ 9,248, 64, 2, 0, 0, 0, 0, 8, 0,162,143, 4, 0, 35,142, +/* 0x03e0 */ 0, 0, 36,142, 33, 24, 98, 0, 35, 32,130, 0, 4, 0, 35,174, +/* 0x03f0 */ 3, 0, 0, 16, 0, 0, 36,174,145,255, 17, 4, 33, 32, 32, 2, +/* 0x0400 */ 4, 0,162,143, 4, 0, 3,142, 0, 0, 4,142, 33, 24, 98, 0, +/* 0x0410 */ 35, 32,130, 0, 4, 0, 3,174, 0, 0, 4,174, 0, 0, 2,142, +/* 0x0420 */ 0, 0, 0, 0,172,255, 64, 20, 12, 0, 6, 36, 32, 0,191,143, +/* 0x0430 */ 28, 0,179,143, 24, 0,178,143, 20, 0,177,143, 16, 0,176,143, +/* 0x0440 */ 8, 0,224, 3, 40, 0,189, 39, 8, 0,128, 16, 0, 0, 0, 0, +/* 0x0450 */ 0, 0,130,140, 0, 0, 0, 0, 3, 0, 69, 16, 0, 0, 0, 0, +/* 0x0460 */ 251,255, 0, 16, 8, 0,132, 36, 4, 0,134,172, 8, 0,224, 3, +/* 0x0470 */ 0, 0, 0, 0,168,255,189, 39, 60, 0,179,175, 52, 0,177,175, +/* 0x0480 */ 84, 0,191,175, 80, 0,190,175, 76, 0,183,175, 72, 0,182,175, +/* 0x0490 */ 68, 0,181,175, 64, 0,180,175, 56, 0,178,175, 48, 0,176,175, +/* 0x04a0 */ 16, 0,162,148, 28, 0,163,140, 33,152,160, 0, 2, 0, 66, 56, +/* 0x04b0 */ 44, 0,165,148, 1, 0, 66, 44, 33,136, 99, 2, 28, 0,164,175, +/* 0x04c0 */ 32, 0,166,175, 36, 0,167,175, 40, 0,168,175, 44, 0,169,175, +/* 0x04d0 */ 0, 57, 2, 0,255,255,165, 36, 39, 16, 10, 0, 33, 32, 32, 2, +/* 0x04e0 */ 255,255, 6, 36, 33, 64, 0, 0, 1, 0, 9, 36, 19, 0, 0, 16, +/* 0x04f0 */ 20, 0,162,175, 0, 0,130,140, 0, 0, 0, 0, 14, 0, 73, 20, +/* 0x0500 */ 255,255,165, 36, 8, 0,131,140, 0, 0, 0, 0, 43, 16,102, 0, +/* 0x0510 */ 2, 0, 64, 16, 0, 0, 0, 0, 33, 48, 96, 0, 20, 0,130,140, +/* 0x0520 */ 0, 0, 0, 0, 33, 24, 98, 0, 43, 16, 3, 1, 2, 0, 64, 16, +/* 0x0530 */ 0, 0, 0, 0, 33, 64, 96, 0, 32, 0,132, 36,237,255,161, 4, +/* 0x0540 */ 36,128, 70, 1, 35, 16, 16, 1, 35, 16, 74, 0,255,255, 66, 36, +/* 0x0550 */ 36, 80, 66, 1, 2, 8,231, 52, 33, 32, 0, 2, 33, 40, 64, 1, +/* 0x0560 */ 33, 48, 0, 0,255,255, 8, 36, 33, 72, 0, 0, 32,255, 17, 4, +/* 0x0570 */ 8, 0,170,175, 35,240, 80, 0, 12, 0,162,175,167, 0, 0, 16, +/* 0x0580 */ 16, 0,160,175, 32, 0,163,143, 0, 0, 0, 0, 12, 0, 96, 16, +/* 0x0590 */ 6, 0, 2, 36, 0, 0, 35,142, 0, 0, 0, 0, 10, 0, 98, 20, +/* 0x05a0 */ 1, 0, 2, 36, 8, 0, 38,142, 36, 0,164,143, 33, 48,198, 3, +/* 0x05b0 */ 165,255, 17, 4, 3, 0, 5, 36,148, 0, 0, 16, 0, 0, 0, 0, +/* 0x05c0 */ 0, 0, 35,142, 1, 0, 2, 36,144, 0, 98, 20, 0, 0, 0, 0, +/* 0x05d0 */ 32, 0,164,143, 0, 0, 0, 0, 19, 0,128, 16, 0, 0, 0, 0, +/* 0x05e0 */ 4, 0, 34,142, 0, 0, 0, 0, 15, 0, 64, 20, 3, 0, 5, 36, +/* 0x05f0 */ 28, 0, 98,142, 8, 0, 38,142, 36, 0,164,143, 33, 48,194, 0, +/* 0x0600 */ 145,255, 17, 4, 33, 48,198, 3, 36, 0,164,143, 44, 0,102,150, +/* 0x0610 */ 141,255, 17, 4, 5, 0, 5, 36, 36, 0,164,143, 42, 0,102,150, +/* 0x0620 */ 137,255, 17, 4, 4, 0, 5, 36, 8, 0, 34,142, 24, 0, 35,142, +/* 0x0630 */ 33,184,194, 3, 81,115, 2, 60,128, 24, 3, 0, 64, 98, 66, 52, +/* 0x0640 */ 6,128, 98, 0, 20, 0,163,143, 16, 0, 36,142, 36, 16,227, 2, +/* 0x0650 */ 0, 0,164,175, 33,160,130, 0, 32, 0,163,143, 20, 0, 36,142, +/* 0x0660 */ 4, 0,183,175, 7, 0, 22, 50, 24, 0,164,175, 22, 0, 96, 16, +/* 0x0670 */ 35,144,226, 2, 33, 32, 64, 2, 33, 40,128, 2, 3, 0, 6, 36, +/* 0x0680 */ 18, 8, 7, 36,255,255, 8, 36,217,254, 17, 4, 33, 72, 0, 0, +/* 0x0690 */ 72, 0, 66, 22, 4, 0, 2, 50, 4, 0, 64, 16, 0, 0, 0, 0, +/* 0x06a0 */ 44, 0,167,143, 2, 0, 0, 16, 0, 0, 0, 0, 33, 56, 0, 0, +/* 0x06b0 */ 32, 0,164,143, 28, 0,166,143,252,254, 17, 4, 33, 40,160, 3, +/* 0x06c0 */ 11, 0, 0, 16, 0, 0, 0, 0, 4, 0, 41,142, 28, 0,168,143, +/* 0x06d0 */ 33, 32, 64, 2, 35, 72, 34, 1, 33, 40,128, 2, 33, 48,192, 2, +/* 0x06e0 */ 195,254, 17, 4, 18, 0, 7, 36, 51, 0, 66, 22,127, 0, 4, 36, +/* 0x06f0 */ 20, 0,164,143, 35, 16, 20, 0, 2, 0,195, 50, 8, 0, 96, 16, +/* 0x0700 */ 36,168, 68, 0, 6, 0,160, 18, 33, 16,160, 2, 33, 24, 84, 2, +/* 0x0710 */ 255,255, 66, 36, 0, 0, 96,160,253,255, 64, 20, 1, 0, 99, 36, +/* 0x0720 */ 32, 0,162,143, 0, 0, 0, 0, 39, 0, 64, 16, 1, 0, 2, 36, +/* 0x0730 */ 0, 0, 35,142, 0, 0, 0, 0, 25, 0, 98, 20, 33, 32, 64, 2, +/* 0x0740 */ 24, 0, 34,142, 0, 0, 0, 0, 1, 0, 66, 48, 21, 0, 64, 16, +/* 0x0750 */ 33, 40,128, 2, 20, 0, 36,142, 16, 0, 34,142, 8, 0, 35,142, +/* 0x0760 */ 72, 0,130, 20, 33, 16,131, 0, 33,128, 94, 0, 20, 0,163,143, +/* 0x0770 */ 35, 16, 16, 0, 36, 16, 98, 0, 12, 0, 66, 44, 65, 0, 64, 20, +/* 0x0780 */ 12, 0, 2, 36, 0, 0, 2,174,192, 3, 2, 60, 8, 0, 66, 52, +/* 0x0790 */ 4, 0, 2,174, 78, 0, 0, 16, 8, 0, 0,174, 33, 32, 64, 2, +/* 0x07a0 */ 33, 40,128, 2,162,254, 17, 4, 33, 48,192, 2, 6, 0, 64, 16, +/* 0x07b0 */ 0, 0, 0, 0,127, 0, 4, 36,148,254, 17, 4,161, 15, 2, 36, +/* 0x07c0 */ 255,255, 0, 16, 0, 0, 0, 0, 24, 0,164,143, 33, 16,149, 2, +/* 0x07d0 */ 33, 40,228, 2, 33,128, 66, 2, 43, 16, 5, 2, 11, 0, 64, 16, +/* 0x07e0 */ 35, 40,176, 0, 33, 48,192, 2, 33, 32, 0, 2, 18, 8, 7, 36, +/* 0x07f0 */ 255,255, 8, 36,126,254, 17, 4, 33, 72, 0, 0, 3, 0, 2, 18, +/* 0x0800 */ 0, 0, 0, 0,255,255, 0, 16, 0, 0, 0, 0, 16, 0,162,143, +/* 0x0810 */ 32, 0, 49, 38, 1, 0, 66, 36, 16, 0,162,175, 44, 0, 98,150, +/* 0x0820 */ 16, 0,163,143, 0, 0, 0, 0, 42, 16, 98, 0, 85,255, 64, 20, +/* 0x0830 */ 0, 0, 0, 0, 32, 0,164,143, 0, 0, 0, 0, 11, 0,128, 16, +/* 0x0840 */ 3, 0, 2, 36, 16, 0, 99,150, 0, 0, 0, 0, 7, 0, 98, 16, +/* 0x0850 */ 0, 0, 0, 0, 8, 0,162,143, 12, 0,163,143, 0, 0, 0, 0, +/* 0x0860 */ 33, 32, 67, 0,105,254, 17, 4,205, 15, 2, 36, 40, 0,164,143, +/* 0x0870 */ 0, 0, 0, 0, 28, 0,128, 16, 0, 0, 0, 0, 26, 0, 0, 16, +/* 0x0880 */ 0, 0,158,172, 33, 32, 0, 0, 1, 0, 5, 60, 3, 0, 6, 36, +/* 0x0890 */ 2, 8, 7, 36,255,255, 8, 36, 85,254, 17, 4, 33, 72, 0, 0, +/* 0x08a0 */ 190,255, 64, 16, 33,128, 64, 0, 12, 0, 2, 36, 0, 0, 2,174, +/* 0x08b0 */ 192, 3, 2, 60, 8, 0, 66, 52, 4, 0, 2,174, 8, 0, 0,174, +/* 0x08c0 */ 33, 32, 0, 2, 12, 0, 5, 36, 89,254, 17, 4, 5, 0, 6, 36, +/* 0x08d0 */ 36, 0,164,143, 33, 48, 0, 2,219,254, 17, 4, 33, 40, 0, 0, +/* 0x08e0 */ 175,255, 0, 16, 33, 32, 64, 2, 24, 0, 98,142, 84, 0,191,143, +/* 0x08f0 */ 33, 16,194, 3, 76, 0,183,143, 80, 0,190,143, 72, 0,182,143, +/* 0x0900 */ 68, 0,181,143, 64, 0,180,143, 60, 0,179,143, 56, 0,178,143, +/* 0x0910 */ 52, 0,177,143, 48, 0,176,143, 8, 0,224, 3, 88, 0,189, 39, +/* 0x0920 */ 192,255,189, 39, 56, 0,191,175, 52, 0,181,175, 48, 0,180,175, +/* 0x0930 */ 44, 0,179,175, 40, 0,178,175, 36, 0,177,175, 32, 0,176,175, +/* 0x0940 */ 4, 0,130,140, 33,144, 0, 1, 0, 0,136,140, 33, 24,128, 0, +/* 0x0950 */ 33,152,192, 0, 33,168, 96, 1, 33,160,224, 0, 33,136, 32, 1, +/* 0x0960 */ 12, 0, 66, 36, 12, 0,165,175, 20, 0,164, 39, 4, 0,165, 39, +/* 0x0970 */ 33, 48, 64, 2, 33, 56, 0, 0, 33,128, 64, 1, 16, 0,163,175, +/* 0x0980 */ 24, 0,163,175, 4, 0,168,175, 20, 0,162,175, 71,254, 17, 4, +/* 0x0990 */ 8, 0,179,175, 33, 72, 32, 2, 33, 32, 64, 2, 33, 40, 96, 2, +/* 0x09a0 */ 12, 0,166, 39, 33, 56,128, 2, 33, 64,160, 3, 33, 80,160, 2, +/* 0x09b0 */ 176,254, 17, 4, 0, 0,176,175, 33, 48, 64, 0, 33, 32,128, 2, +/* 0x09c0 */ 9, 0, 5, 36,160,254, 17, 4, 33,136, 64, 0, 44, 0,102,150, +/* 0x09d0 */ 52, 0,100, 38, 43, 0, 0, 16, 33, 40, 0, 0, 0, 0,131,140, +/* 0x09e0 */ 3, 0, 2, 36, 39, 0, 98, 20, 32, 0,132, 36,224,255,132, 36, +/* 0x09f0 */ 8, 0,130,140, 0, 0,164,143, 33, 40, 0, 0, 33, 32, 68, 0, +/* 0x0a00 */ 33, 48, 0, 0, 1,254, 17, 4,165, 15, 2, 36, 9, 0, 64, 4, +/* 0x0a10 */ 33,128, 64, 0, 33, 32, 64, 0, 33, 40, 96, 2, 0, 2, 6, 36, +/* 0x0a20 */ 250,253, 17, 4,163, 15, 2, 36, 0, 2, 3, 36, 6, 0, 67, 16, +/* 0x0a30 */ 33, 80,160, 2,127, 0, 4, 36,244,253, 17, 4,161, 15, 2, 36, +/* 0x0a40 */ 255,255, 0, 16, 0, 0, 0, 0, 33, 56,128, 2, 33, 64,160, 3, +/* 0x0a50 */ 33, 72, 0, 0,135,254, 17, 4, 33, 48, 0, 0, 0, 0,166,143, +/* 0x0a60 */ 33, 32,128, 2, 7, 0, 5, 36,119,254, 17, 4, 33,136, 64, 0, +/* 0x0a70 */ 33, 32, 0, 2,229,253, 17, 4,166, 15, 2, 36, 5, 0, 0, 16, +/* 0x0a80 */ 33, 16, 32, 2, 42, 16,166, 0,212,255, 64, 20, 1, 0,165, 36, +/* 0x0a90 */ 33, 16, 32, 2, 56, 0,191,143, 52, 0,181,143, 48, 0,180,143, +/* 0x0aa0 */ 44, 0,179,143, 40, 0,178,143, 36, 0,177,143, 32, 0,176,143, +/* 0x0ab0 */ 8, 0,224, 3, 64, 0,189, 39 }; diff -Nru upx-ucl-3.95/src/stub/mipsel.r3000-linux.shlib-init.h upx-ucl-3.96/src/stub/mipsel.r3000-linux.shlib-init.h --- upx-ucl-3.95/src/stub/mipsel.r3000-linux.shlib-init.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/mipsel.r3000-linux.shlib-init.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/mipsel.r3000-ps1.h upx-ucl-3.96/src/stub/mipsel.r3000-ps1.h --- upx-ucl-3.95/src/stub/mipsel.r3000-ps1.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/mipsel.r3000-ps1.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/mips.r3000-linux.elf-entry.h upx-ucl-3.96/src/stub/mips.r3000-linux.elf-entry.h --- upx-ucl-3.95/src/stub/mips.r3000-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/mips.r3000-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/mips.r3000-linux.elf-fold.h upx-ucl-3.96/src/stub/mips.r3000-linux.elf-fold.h --- upx-ucl-3.95/src/stub/mips.r3000-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/mips.r3000-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* mips.r3000-linux.elf-fold.h - created from mips.r3000-linux.elf-fold.bin, 2604 (0xa2c) bytes + created from mips.r3000-linux.elf-fold.bin, 2744 (0xab8) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,17 +31,17 @@ */ -#define STUB_MIPS_R3000_LINUX_ELF_FOLD_SIZE 2604 -#define STUB_MIPS_R3000_LINUX_ELF_FOLD_ADLER32 0xb9cb345e -#define STUB_MIPS_R3000_LINUX_ELF_FOLD_CRC32 0x3f3937cf +#define STUB_MIPS_R3000_LINUX_ELF_FOLD_SIZE 2744 +#define STUB_MIPS_R3000_LINUX_ELF_FOLD_ADLER32 0x087c5298 +#define STUB_MIPS_R3000_LINUX_ELF_FOLD_CRC32 0x664ac4d2 -unsigned char stub_mips_r3000_linux_elf_fold[2604] = { +unsigned char stub_mips_r3000_linux_elf_fold[2744] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 2, 0, 8, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 48, 1, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, -/* 0x0040 */ 0, 16, 0, 0, 0, 0, 10, 44, 0, 0, 10, 48, 0, 0, 0, 5, -/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 10, 44, 0, 0, 0, 0, +/* 0x0040 */ 0, 16, 0, 0, 0, 0, 10,184, 0, 0, 10,192, 0, 0, 0, 5, +/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 10,184, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 36, 2, 0, 0, 3,224, 0, 8, 0, 2, 18, 64, 0, 0, 0, 0, @@ -58,7 +58,7 @@ /* 0x0130 */ 0,162, 8, 33,160, 32, 0, 0, 39,189,254, 0, 3,128, 88, 33, /* 0x0140 */ 2,160, 80, 33, 0, 0, 72, 33, 3,192, 64, 33, 2,192, 56, 33, /* 0x0150 */ 3,160, 48, 33, 2, 32, 40, 33, 4, 16, 0, 1, 36, 2, 1, 96, -/* 0x0160 */ 3,226, 16, 35, 36, 66, 8,148, 0, 64,248, 9, 2, 0, 32, 33, +/* 0x0160 */ 3,226, 16, 35, 36, 66, 9, 32, 0, 64,248, 9, 2, 0, 32, 33, /* 0x0170 */ 39,189, 2, 0, 0, 64,240, 33,143,168, 0, 20, 0, 0, 72, 33, /* 0x0180 */ 175,168, 0, 16,175,169, 0, 20, 36, 7, 0, 2, 36, 6, 0, 1, /* 0x0190 */ 0, 28, 40, 34, 0, 0, 32, 33, 36, 2, 15,250, 0, 0, 0, 12, @@ -71,132 +71,141 @@ /* 0x0200 */ 0, 0, 0, 12, 16, 0, 0, 2, 39,189, 0, 32, 0, 0, 0, 12, /* 0x0210 */ 20,224, 0, 3, 0, 0, 0, 0, 3,224, 0, 8, 0, 0, 0, 0, /* 0x0220 */ 3,224, 0, 8, 36, 2,255,255, 3,224, 0, 8, 0, 0, 0, 0, -/* 0x0230 */ 140,130, 0, 0,140,135, 0, 4, 0, 70, 16, 43, 20, 64, 0, 3, -/* 0x0240 */ 36, 2, 15,161, 16, 0, 0, 10, 0,192, 24, 33, 36, 4, 0,127, -/* 0x0250 */ 4, 17,255,238, 0, 0, 0, 0, 16, 0,255,255, 0, 0, 0, 0, -/* 0x0260 */ 144,226, 0, 0, 36,231, 0, 1,160,162, 0, 0, 36,165, 0, 1, -/* 0x0270 */ 36, 99,255,255, 36, 2,255,255, 20, 98,255,249, 0, 0, 0, 0, -/* 0x0280 */ 140,131, 0, 4,140,130, 0, 0, 0,102, 24, 33, 0, 70, 16, 35, -/* 0x0290 */ 172,130, 0, 0, 3,224, 0, 8,172,131, 0, 4, 39,189,255,216, -/* 0x02a0 */ 175,179, 0, 28,175,178, 0, 24,175,177, 0, 20,175,176, 0, 16, -/* 0x02b0 */ 0,128,136, 33, 0,160,128, 33, 0,192,152, 33, 0,224,144, 33, -/* 0x02c0 */ 16, 0, 0, 82,175,191, 0, 32, 2, 32, 32, 33, 4, 17,255,216, -/* 0x02d0 */ 39,165, 0, 4,143,163, 0, 4,143,166, 0, 8, 20, 96, 0, 10, -/* 0x02e0 */ 60, 2, 33, 88, 52, 66, 80, 85, 20,194, 0, 10, 36, 4, 0,127, -/* 0x02f0 */ 142, 34, 0, 0, 0, 0, 0, 0, 20, 64, 0, 7, 36, 2, 15,161, -/* 0x0300 */ 16, 0, 0, 70, 0, 0, 0, 0, 20,192, 0, 7, 0,102, 16, 43, -/* 0x0310 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,255,188, 0, 0, 0, 0, -/* 0x0320 */ 16, 0,255,255, 0, 0, 0, 0, 20, 64,255,250, 36, 4, 0,127, -/* 0x0330 */ 142, 2, 0, 0, 0, 0, 0, 0, 0, 67, 16, 43, 20, 64,255,245, -/* 0x0340 */ 0,195, 16, 43,142, 7, 0, 4, 16, 64, 0, 39, 0,224, 40, 33, -/* 0x0350 */ 142, 36, 0, 4,147,168, 0, 12, 0,192, 40, 33,175,163, 0, 0, -/* 0x0360 */ 0,224, 48, 33, 2, 96,248, 9, 3,160, 56, 33, 20, 64,255,233, -/* 0x0370 */ 36, 4, 0,127,143,165, 0, 0,143,162, 0, 4, 0, 0, 0, 0, -/* 0x0380 */ 20,162,255,228, 0, 0, 0, 0,147,167, 0, 13, 0, 0, 0, 0, -/* 0x0390 */ 16,224, 0, 13, 0, 0, 0, 0, 18, 64, 0, 11, 44,162, 2, 1, -/* 0x03a0 */ 16, 64, 0, 5, 0, 0, 0, 0,142, 2, 0, 0, 0, 0, 0, 0, -/* 0x03b0 */ 20, 69, 0, 5, 0, 0, 0, 0,142, 4, 0, 4,147,166, 0, 14, -/* 0x03c0 */ 2, 64,248, 9, 0, 0, 0, 0,143,162, 0, 8,142, 35, 0, 4, -/* 0x03d0 */ 142, 36, 0, 0, 0, 98, 24, 33, 0,130, 32, 35,174, 35, 0, 4, -/* 0x03e0 */ 16, 0, 0, 3,174, 36, 0, 0, 4, 17,255,145, 2, 32, 32, 33, -/* 0x03f0 */ 143,162, 0, 4,142, 3, 0, 4,142, 4, 0, 0, 0, 98, 24, 33, -/* 0x0400 */ 0,130, 32, 35,174, 3, 0, 4,174, 4, 0, 0,142, 2, 0, 0, -/* 0x0410 */ 0, 0, 0, 0, 20, 64,255,172, 36, 6, 0, 12,143,191, 0, 32, -/* 0x0420 */ 143,179, 0, 28,143,178, 0, 24,143,177, 0, 20,143,176, 0, 16, -/* 0x0430 */ 3,224, 0, 8, 39,189, 0, 40, 16,128, 0, 8, 0, 0, 0, 0, -/* 0x0440 */ 140,130, 0, 0, 0, 0, 0, 0, 16, 69, 0, 3, 0, 0, 0, 0, -/* 0x0450 */ 16, 0,255,251, 36,132, 0, 8,172,134, 0, 4, 3,224, 0, 8, -/* 0x0460 */ 0, 0, 0, 0, 39,189,255,168,175,190, 0, 80,175,180, 0, 64, -/* 0x0470 */ 175,177, 0, 52,175,191, 0, 84,175,183, 0, 76,175,182, 0, 72, -/* 0x0480 */ 175,181, 0, 68,175,179, 0, 60,175,178, 0, 56,175,176, 0, 48, -/* 0x0490 */ 148,162, 0, 16,140,163, 0, 28, 0,160,160, 33, 56, 66, 0, 2, -/* 0x04a0 */ 148,165, 0, 44, 44, 66, 0, 1, 2,131,136, 33,175,164, 0, 28, -/* 0x04b0 */ 0,192,240, 33,175,167, 0, 32,175,168, 0, 36,175,169, 0, 40, -/* 0x04c0 */ 0, 2, 57, 0, 36,165,255,255, 0, 10, 16, 39, 2, 32, 32, 33, -/* 0x04d0 */ 36, 6,255,255, 0, 0, 64, 33, 36, 9, 0, 1, 16, 0, 0, 19, -/* 0x04e0 */ 175,162, 0, 20,140,130, 0, 0, 0, 0, 0, 0, 20, 73, 0, 14, -/* 0x04f0 */ 36,165,255,255,140,131, 0, 8, 0, 0, 0, 0, 0,102, 16, 43, -/* 0x0500 */ 16, 64, 0, 2, 0, 0, 0, 0, 0, 96, 48, 33,140,130, 0, 20, -/* 0x0510 */ 0, 0, 0, 0, 0, 98, 24, 33, 1, 3, 16, 43, 16, 64, 0, 2, -/* 0x0520 */ 0, 0, 0, 0, 0, 96, 64, 33, 36,132, 0, 32, 4,161,255,237, -/* 0x0530 */ 1, 70,128, 36, 1, 16, 16, 35, 0, 74, 16, 35, 36, 66,255,255, -/* 0x0540 */ 1, 66, 80, 36, 52,231, 8, 2, 2, 0, 32, 33, 1, 64, 40, 33, -/* 0x0550 */ 0, 0, 48, 33, 36, 8,255,255, 0, 0, 72, 33, 4, 17,255, 36, -/* 0x0560 */ 175,170, 0, 8, 0, 80,184, 35,175,162, 0, 12, 16, 0, 0,164, -/* 0x0570 */ 175,160, 0, 16, 19,192, 0, 12, 36, 2, 0, 6,142, 35, 0, 0, -/* 0x0580 */ 0, 0, 0, 0, 20, 98, 0, 10, 36, 2, 0, 1,142, 38, 0, 8, -/* 0x0590 */ 143,164, 0, 32, 2,230, 48, 33, 4, 17,255,167, 36, 5, 0, 3, -/* 0x05a0 */ 16, 0, 0,147, 0, 0, 0, 0,142, 35, 0, 0, 36, 2, 0, 1, -/* 0x05b0 */ 20, 98, 0,143, 0, 0, 0, 0, 19,192, 0, 19, 0, 0, 0, 0, -/* 0x05c0 */ 142, 34, 0, 4, 0, 0, 0, 0, 20, 64, 0, 15, 36, 5, 0, 3, -/* 0x05d0 */ 142,130, 0, 28,142, 38, 0, 8,143,164, 0, 32, 0,194, 48, 33, -/* 0x05e0 */ 4, 17,255,149, 2,230, 48, 33,143,164, 0, 32,150,134, 0, 44, -/* 0x05f0 */ 4, 17,255,145, 36, 5, 0, 5,143,164, 0, 32,150,134, 0, 42, -/* 0x0600 */ 4, 17,255,141, 36, 5, 0, 4,142, 34, 0, 8,142, 35, 0, 24, -/* 0x0610 */ 2,226,176, 33, 60, 2,115, 81, 0, 3, 24,128, 52, 66, 98, 64, -/* 0x0620 */ 0, 98,144, 6,143,163, 0, 20,142, 36, 0, 16, 2,195, 16, 36, -/* 0x0630 */ 175,164, 0, 0, 0,130,152, 33,142, 36, 0, 20,175,182, 0, 4, -/* 0x0640 */ 50, 85, 0, 7,175,164, 0, 24, 19,192, 0, 22, 2,194,128, 35, -/* 0x0650 */ 2, 0, 32, 33, 2, 96, 40, 33, 36, 6, 0, 3, 36, 7, 8, 18, -/* 0x0660 */ 36, 8,255,255, 4, 17,254,226, 0, 0, 72, 33, 22, 2, 0, 74, -/* 0x0670 */ 50, 66, 0, 4, 16, 64, 0, 4, 0, 0, 0, 0,143,167, 0, 40, -/* 0x0680 */ 16, 0, 0, 2, 0, 0, 0, 0, 0, 0, 56, 33,143,166, 0, 28, -/* 0x0690 */ 3,192, 32, 33, 4, 17,255, 1, 3,160, 40, 33, 16, 0, 0, 11, -/* 0x06a0 */ 0, 0, 0, 0,142, 41, 0, 4,143,168, 0, 28, 2, 0, 32, 33, -/* 0x06b0 */ 1, 34, 72, 35, 2, 96, 40, 33, 2,160, 48, 33, 4, 17,254,204, -/* 0x06c0 */ 36, 7, 0, 18, 22, 2, 0, 53, 36, 4, 0,127,143,164, 0, 20, -/* 0x06d0 */ 0, 19, 16, 35, 50,163, 0, 2, 16, 96, 0, 8, 0, 68,144, 36, -/* 0x06e0 */ 18, 64, 0, 6, 2, 64, 16, 33, 2, 19, 24, 33, 36, 66,255,255, -/* 0x06f0 */ 160, 96, 0, 0, 20, 64,255,253, 36, 99, 0, 1, 19,192, 0, 43, -/* 0x0700 */ 36, 2, 0, 1,142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0, 28, -/* 0x0710 */ 2, 0, 32, 33,142, 34, 0, 24, 0, 0, 0, 0, 48, 66, 0, 1, -/* 0x0720 */ 16, 64, 0, 24, 2, 96, 40, 33,142, 36, 0, 20,142, 34, 0, 16, -/* 0x0730 */ 142, 35, 0, 8, 20,130, 0, 17, 0,131, 16, 33, 0, 87, 48, 33, -/* 0x0740 */ 143,163, 0, 20, 0, 6, 16, 35, 0, 98, 16, 36, 44, 66, 0, 12, -/* 0x0750 */ 20, 64, 0, 12, 2, 0, 32, 33, 36, 2, 0, 12,172,194, 0, 0, -/* 0x0760 */ 60, 2, 3,192, 52, 66, 0, 8,143,164, 0, 32,172,194, 0, 4, -/* 0x0770 */ 172,192, 0, 8, 4, 17,255, 48, 0, 0, 40, 33, 2, 0, 32, 33, -/* 0x0780 */ 2, 96, 40, 33, 2,160, 48, 33, 4, 17,254,160, 36, 2, 16, 29, -/* 0x0790 */ 16, 64, 0, 6, 0, 0, 0, 0, 36, 4, 0,127, 4, 17,254,155, -/* 0x07a0 */ 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0,143,164, 0, 24, -/* 0x07b0 */ 2,114, 16, 33, 2,196, 40, 33, 2, 2,128, 33, 2, 5, 16, 43, -/* 0x07c0 */ 16, 64, 0, 11, 0,176, 40, 35, 2,160, 48, 33, 2, 0, 32, 33, -/* 0x07d0 */ 36, 7, 8, 18, 36, 8,255,255, 4, 17,254,133, 0, 0, 72, 33, -/* 0x07e0 */ 18, 2, 0, 3, 0, 0, 0, 0, 16, 0,255,255, 0, 0, 0, 0, -/* 0x07f0 */ 143,162, 0, 16, 38, 49, 0, 32, 36, 66, 0, 1,175,162, 0, 16, -/* 0x0800 */ 150,130, 0, 44,143,163, 0, 16, 0, 0, 0, 0, 0, 98, 16, 42, -/* 0x0810 */ 20, 64,255, 88, 0, 0, 0, 0, 19,192, 0, 11, 36, 2, 0, 3, -/* 0x0820 */ 150,131, 0, 16, 0, 0, 0, 0, 16, 98, 0, 7, 0, 0, 0, 0, -/* 0x0830 */ 143,162, 0, 8,143,163, 0, 12, 0, 0, 0, 0, 0, 67, 32, 33, -/* 0x0840 */ 4, 17,254,114, 36, 2, 15,205,143,164, 0, 36, 0, 0, 0, 0, -/* 0x0850 */ 16,128, 0, 2, 0, 0, 0, 0,172,151, 0, 0,142,130, 0, 24, -/* 0x0860 */ 143,191, 0, 84, 2,226, 16, 33,143,190, 0, 80,143,183, 0, 76, -/* 0x0870 */ 143,182, 0, 72,143,181, 0, 68,143,180, 0, 64,143,179, 0, 60, -/* 0x0880 */ 143,178, 0, 56,143,177, 0, 52,143,176, 0, 48, 3,224, 0, 8, -/* 0x0890 */ 39,189, 0, 88, 39,189,255,192,175,191, 0, 56,175,181, 0, 52, -/* 0x08a0 */ 175,180, 0, 48,175,179, 0, 44,175,178, 0, 40,175,177, 0, 36, -/* 0x08b0 */ 175,176, 0, 32,140,130, 0, 4, 1, 0,144, 33,140,136, 0, 0, -/* 0x08c0 */ 0,128, 24, 33, 0,192,152, 33, 1, 96,168, 33, 0,224,160, 33, -/* 0x08d0 */ 1, 32,136, 33, 36, 66, 0, 12,175,165, 0, 12, 39,164, 0, 20, -/* 0x08e0 */ 39,165, 0, 4, 2, 64, 48, 33, 0, 0, 56, 33, 1, 64,128, 33, -/* 0x08f0 */ 175,163, 0, 16,175,163, 0, 24,175,168, 0, 4,175,162, 0, 20, -/* 0x0900 */ 4, 17,254,102,175,179, 0, 8, 2, 32, 72, 33, 2, 64, 32, 33, -/* 0x0910 */ 2, 96, 40, 33, 39,166, 0, 12, 2,128, 56, 33, 3,160, 64, 33, -/* 0x0920 */ 2,160, 80, 33, 4, 17,254,207,175,176, 0, 0, 0, 64, 48, 33, -/* 0x0930 */ 2,128, 32, 33, 36, 5, 0, 9, 4, 17,254,191, 0, 64,136, 33, -/* 0x0940 */ 150,102, 0, 44, 38,100, 0, 52, 16, 0, 0, 43, 0, 0, 40, 33, -/* 0x0950 */ 140,131, 0, 0, 36, 2, 0, 3, 20, 98, 0, 39, 36,132, 0, 32, -/* 0x0960 */ 36,132,255,224,140,130, 0, 8,143,164, 0, 0, 0, 0, 40, 33, -/* 0x0970 */ 0, 68, 32, 33, 0, 0, 48, 33, 4, 17,254, 36, 36, 2, 15,165, -/* 0x0980 */ 4, 64, 0, 9, 0, 64,128, 33, 0, 64, 32, 33, 2, 96, 40, 33, -/* 0x0990 */ 36, 6, 2, 0, 4, 17,254, 29, 36, 2, 15,163, 36, 3, 2, 0, -/* 0x09a0 */ 16, 67, 0, 6, 2,160, 80, 33, 36, 4, 0,127, 4, 17,254, 23, -/* 0x09b0 */ 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0, 2,128, 56, 33, -/* 0x09c0 */ 3,160, 64, 33, 0, 0, 72, 33, 4, 17,254,166, 0, 0, 48, 33, -/* 0x09d0 */ 143,166, 0, 0, 2,128, 32, 33, 36, 5, 0, 7, 4, 17,254,150, -/* 0x09e0 */ 0, 64,136, 33, 2, 0, 32, 33, 4, 17,254, 8, 36, 2, 15,166, -/* 0x09f0 */ 16, 0, 0, 5, 2, 32, 16, 33, 0,166, 16, 42, 20, 64,255,212, -/* 0x0a00 */ 36,165, 0, 1, 2, 32, 16, 33,143,191, 0, 56,143,181, 0, 52, -/* 0x0a10 */ 143,180, 0, 48,143,179, 0, 44,143,178, 0, 40,143,177, 0, 36, -/* 0x0a20 */ 143,176, 0, 32, 3,224, 0, 8, 39,189, 0, 64 +/* 0x0230 */ 4, 17,255,246, 36, 2, 16, 29, 3,224, 0, 8, 0, 0, 0, 0, +/* 0x0240 */ 140,130, 0, 0,140,135, 0, 4, 0, 70, 16, 43, 20, 64, 0, 3, +/* 0x0250 */ 36, 2, 15,161, 16, 0, 0, 10, 0,192, 24, 33, 36, 4, 0,127, +/* 0x0260 */ 4, 17,255,234, 0, 0, 0, 0, 16, 0,255,255, 0, 0, 0, 0, +/* 0x0270 */ 144,226, 0, 0, 36,231, 0, 1,160,162, 0, 0, 36,165, 0, 1, +/* 0x0280 */ 36, 99,255,255, 36, 2,255,255, 20, 98,255,249, 0, 0, 0, 0, +/* 0x0290 */ 140,131, 0, 4,140,130, 0, 0, 0,102, 24, 33, 0, 70, 16, 35, +/* 0x02a0 */ 172,130, 0, 0, 3,224, 0, 8,172,131, 0, 4, 39,189,255,216, +/* 0x02b0 */ 175,179, 0, 28,175,178, 0, 24,175,177, 0, 20,175,176, 0, 16, +/* 0x02c0 */ 0,128,136, 33, 0,160,128, 33, 0,192,152, 33, 0,224,144, 33, +/* 0x02d0 */ 16, 0, 0, 82,175,191, 0, 32, 2, 32, 32, 33, 4, 17,255,216, +/* 0x02e0 */ 39,165, 0, 4,143,163, 0, 4,143,166, 0, 8, 20, 96, 0, 10, +/* 0x02f0 */ 60, 2, 33, 88, 52, 66, 80, 85, 20,194, 0, 10, 36, 4, 0,127, +/* 0x0300 */ 142, 34, 0, 0, 0, 0, 0, 0, 20, 64, 0, 7, 36, 2, 15,161, +/* 0x0310 */ 16, 0, 0, 70, 0, 0, 0, 0, 20,192, 0, 7, 0,102, 16, 43, +/* 0x0320 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,255,184, 0, 0, 0, 0, +/* 0x0330 */ 16, 0,255,255, 0, 0, 0, 0, 20, 64,255,250, 36, 4, 0,127, +/* 0x0340 */ 142, 2, 0, 0, 0, 0, 0, 0, 0, 67, 16, 43, 20, 64,255,245, +/* 0x0350 */ 0,195, 16, 43,142, 7, 0, 4, 16, 64, 0, 39, 0,224, 40, 33, +/* 0x0360 */ 142, 36, 0, 4,147,168, 0, 12, 0,192, 40, 33,175,163, 0, 0, +/* 0x0370 */ 0,224, 48, 33, 2, 96,248, 9, 3,160, 56, 33, 20, 64,255,233, +/* 0x0380 */ 36, 4, 0,127,143,165, 0, 0,143,162, 0, 4, 0, 0, 0, 0, +/* 0x0390 */ 20,162,255,228, 0, 0, 0, 0,147,167, 0, 13, 0, 0, 0, 0, +/* 0x03a0 */ 16,224, 0, 13, 0, 0, 0, 0, 18, 64, 0, 11, 44,162, 2, 1, +/* 0x03b0 */ 16, 64, 0, 5, 0, 0, 0, 0,142, 2, 0, 0, 0, 0, 0, 0, +/* 0x03c0 */ 20, 69, 0, 5, 0, 0, 0, 0,142, 4, 0, 4,147,166, 0, 14, +/* 0x03d0 */ 2, 64,248, 9, 0, 0, 0, 0,143,162, 0, 8,142, 35, 0, 4, +/* 0x03e0 */ 142, 36, 0, 0, 0, 98, 24, 33, 0,130, 32, 35,174, 35, 0, 4, +/* 0x03f0 */ 16, 0, 0, 3,174, 36, 0, 0, 4, 17,255,145, 2, 32, 32, 33, +/* 0x0400 */ 143,162, 0, 4,142, 3, 0, 4,142, 4, 0, 0, 0, 98, 24, 33, +/* 0x0410 */ 0,130, 32, 35,174, 3, 0, 4,174, 4, 0, 0,142, 2, 0, 0, +/* 0x0420 */ 0, 0, 0, 0, 20, 64,255,172, 36, 6, 0, 12,143,191, 0, 32, +/* 0x0430 */ 143,179, 0, 28,143,178, 0, 24,143,177, 0, 20,143,176, 0, 16, +/* 0x0440 */ 3,224, 0, 8, 39,189, 0, 40, 16,128, 0, 8, 0, 0, 0, 0, +/* 0x0450 */ 140,130, 0, 0, 0, 0, 0, 0, 16, 69, 0, 3, 0, 0, 0, 0, +/* 0x0460 */ 16, 0,255,251, 36,132, 0, 8,172,134, 0, 4, 3,224, 0, 8, +/* 0x0470 */ 0, 0, 0, 0, 39,189,255,168,175,179, 0, 60,175,177, 0, 52, +/* 0x0480 */ 175,191, 0, 84,175,190, 0, 80,175,183, 0, 76,175,182, 0, 72, +/* 0x0490 */ 175,181, 0, 68,175,180, 0, 64,175,178, 0, 56,175,176, 0, 48, +/* 0x04a0 */ 148,162, 0, 16,140,163, 0, 28, 0,160,152, 33, 56, 66, 0, 2, +/* 0x04b0 */ 148,165, 0, 44, 44, 66, 0, 1, 2, 99,136, 33,175,164, 0, 28, +/* 0x04c0 */ 175,166, 0, 32,175,167, 0, 36,175,168, 0, 40,175,169, 0, 44, +/* 0x04d0 */ 0, 2, 57, 0, 36,165,255,255, 0, 10, 16, 39, 2, 32, 32, 33, +/* 0x04e0 */ 36, 6,255,255, 0, 0, 64, 33, 36, 9, 0, 1, 16, 0, 0, 19, +/* 0x04f0 */ 175,162, 0, 20,140,130, 0, 0, 0, 0, 0, 0, 20, 73, 0, 14, +/* 0x0500 */ 36,165,255,255,140,131, 0, 8, 0, 0, 0, 0, 0,102, 16, 43, +/* 0x0510 */ 16, 64, 0, 2, 0, 0, 0, 0, 0, 96, 48, 33,140,130, 0, 20, +/* 0x0520 */ 0, 0, 0, 0, 0, 98, 24, 33, 1, 3, 16, 43, 16, 64, 0, 2, +/* 0x0530 */ 0, 0, 0, 0, 0, 96, 64, 33, 36,132, 0, 32, 4,161,255,237, +/* 0x0540 */ 1, 70,128, 36, 1, 16, 16, 35, 0, 74, 16, 35, 36, 66,255,255, +/* 0x0550 */ 1, 66, 80, 36, 52,231, 8, 2, 2, 0, 32, 33, 1, 64, 40, 33, +/* 0x0560 */ 0, 0, 48, 33, 36, 8,255,255, 0, 0, 72, 33, 4, 17,255, 32, +/* 0x0570 */ 175,170, 0, 8, 0, 80,240, 35,175,162, 0, 12, 16, 0, 0,167, +/* 0x0580 */ 175,160, 0, 16,143,163, 0, 32, 0, 0, 0, 0, 16, 96, 0, 12, +/* 0x0590 */ 36, 2, 0, 6,142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0, 10, +/* 0x05a0 */ 36, 2, 0, 1,142, 38, 0, 8,143,164, 0, 36, 3,198, 48, 33, +/* 0x05b0 */ 4, 17,255,165, 36, 5, 0, 3, 16, 0, 0,148, 0, 0, 0, 0, +/* 0x05c0 */ 142, 35, 0, 0, 36, 2, 0, 1, 20, 98, 0,144, 0, 0, 0, 0, +/* 0x05d0 */ 143,164, 0, 32, 0, 0, 0, 0, 16,128, 0, 19, 0, 0, 0, 0, +/* 0x05e0 */ 142, 34, 0, 4, 0, 0, 0, 0, 20, 64, 0, 15, 36, 5, 0, 3, +/* 0x05f0 */ 142, 98, 0, 28,142, 38, 0, 8,143,164, 0, 36, 0,194, 48, 33, +/* 0x0600 */ 4, 17,255,145, 3,198, 48, 33,143,164, 0, 36,150,102, 0, 44, +/* 0x0610 */ 4, 17,255,141, 36, 5, 0, 5,143,164, 0, 36,150,102, 0, 42, +/* 0x0620 */ 4, 17,255,137, 36, 5, 0, 4,142, 34, 0, 8,142, 35, 0, 24, +/* 0x0630 */ 3,194,184, 33, 60, 2,115, 81, 0, 3, 24,128, 52, 66, 98, 64, +/* 0x0640 */ 0, 98,128, 6,143,163, 0, 20,142, 36, 0, 16, 2,227, 16, 36, +/* 0x0650 */ 175,164, 0, 0, 0,130,160, 33,143,163, 0, 32,142, 36, 0, 20, +/* 0x0660 */ 175,183, 0, 4, 50, 22, 0, 7,175,164, 0, 24, 16, 96, 0, 22, +/* 0x0670 */ 2,226,144, 35, 2, 64, 32, 33, 2,128, 40, 33, 36, 6, 0, 3, +/* 0x0680 */ 36, 7, 8, 18, 36, 8,255,255, 4, 17,254,217, 0, 0, 72, 33, +/* 0x0690 */ 22, 66, 0, 72, 50, 2, 0, 4, 16, 64, 0, 4, 0, 0, 0, 0, +/* 0x06a0 */ 143,167, 0, 44, 16, 0, 0, 2, 0, 0, 0, 0, 0, 0, 56, 33, +/* 0x06b0 */ 143,164, 0, 32,143,166, 0, 28, 4, 17,254,252, 3,160, 40, 33, +/* 0x06c0 */ 16, 0, 0, 11, 0, 0, 0, 0,142, 41, 0, 4,143,168, 0, 28, +/* 0x06d0 */ 2, 64, 32, 33, 1, 34, 72, 35, 2,128, 40, 33, 2,192, 48, 33, +/* 0x06e0 */ 4, 17,254,195, 36, 7, 0, 18, 22, 66, 0, 51, 36, 4, 0,127, +/* 0x06f0 */ 143,164, 0, 20, 0, 20, 16, 35, 50,195, 0, 2, 16, 96, 0, 8, +/* 0x0700 */ 0, 68,168, 36, 18,160, 0, 6, 2,160, 16, 33, 2, 84, 24, 33, +/* 0x0710 */ 36, 66,255,255,160, 96, 0, 0, 20, 64,255,253, 36, 99, 0, 1, +/* 0x0720 */ 143,162, 0, 32, 0, 0, 0, 0, 16, 64, 0, 39, 36, 2, 0, 1, +/* 0x0730 */ 142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0, 25, 2, 64, 32, 33, +/* 0x0740 */ 142, 34, 0, 24, 0, 0, 0, 0, 48, 66, 0, 1, 16, 64, 0, 21, +/* 0x0750 */ 2,128, 40, 33,142, 36, 0, 20,142, 34, 0, 16,142, 35, 0, 8, +/* 0x0760 */ 20,130, 0, 72, 0,131, 16, 33, 0, 94,128, 33,143,163, 0, 20, +/* 0x0770 */ 0, 16, 16, 35, 0, 98, 16, 36, 44, 66, 0, 12, 20, 64, 0, 65, +/* 0x0780 */ 36, 2, 0, 12,174, 2, 0, 0, 60, 2, 3,192, 52, 66, 0, 8, +/* 0x0790 */ 174, 2, 0, 4, 16, 0, 0, 78,174, 0, 0, 8, 2, 64, 32, 33, +/* 0x07a0 */ 2,128, 40, 33, 4, 17,254,162, 2,192, 48, 33, 16, 64, 0, 6, +/* 0x07b0 */ 0, 0, 0, 0, 36, 4, 0,127, 4, 17,254,148, 36, 2, 15,161, +/* 0x07c0 */ 16, 0,255,255, 0, 0, 0, 0,143,164, 0, 24, 2,149, 16, 33, +/* 0x07d0 */ 2,228, 40, 33, 2, 66,128, 33, 2, 5, 16, 43, 16, 64, 0, 11, +/* 0x07e0 */ 0,176, 40, 35, 2,192, 48, 33, 2, 0, 32, 33, 36, 7, 8, 18, +/* 0x07f0 */ 36, 8,255,255, 4, 17,254,126, 0, 0, 72, 33, 18, 2, 0, 3, +/* 0x0800 */ 0, 0, 0, 0, 16, 0,255,255, 0, 0, 0, 0,143,162, 0, 16, +/* 0x0810 */ 38, 49, 0, 32, 36, 66, 0, 1,175,162, 0, 16,150, 98, 0, 44, +/* 0x0820 */ 143,163, 0, 16, 0, 0, 0, 0, 0, 98, 16, 42, 20, 64,255, 85, +/* 0x0830 */ 0, 0, 0, 0,143,164, 0, 32, 0, 0, 0, 0, 16,128, 0, 11, +/* 0x0840 */ 36, 2, 0, 3,150, 99, 0, 16, 0, 0, 0, 0, 16, 98, 0, 7, +/* 0x0850 */ 0, 0, 0, 0,143,162, 0, 8,143,163, 0, 12, 0, 0, 0, 0, +/* 0x0860 */ 0, 67, 32, 33, 4, 17,254,105, 36, 2, 15,205,143,164, 0, 40, +/* 0x0870 */ 0, 0, 0, 0, 16,128, 0, 28, 0, 0, 0, 0, 16, 0, 0, 26, +/* 0x0880 */ 172,158, 0, 0, 0, 0, 32, 33, 60, 5, 0, 1, 36, 6, 0, 3, +/* 0x0890 */ 36, 7, 8, 2, 36, 8,255,255, 4, 17,254, 85, 0, 0, 72, 33, +/* 0x08a0 */ 16, 64,255,190, 0, 64,128, 33, 36, 2, 0, 12,174, 2, 0, 0, +/* 0x08b0 */ 60, 2, 3,192, 52, 66, 0, 8,174, 2, 0, 4,174, 0, 0, 8, +/* 0x08c0 */ 2, 0, 32, 33, 36, 5, 0, 12, 4, 17,254, 89, 36, 6, 0, 5, +/* 0x08d0 */ 143,164, 0, 36, 2, 0, 48, 33, 4, 17,254,219, 0, 0, 40, 33, +/* 0x08e0 */ 16, 0,255,175, 2, 64, 32, 33,142, 98, 0, 24,143,191, 0, 84, +/* 0x08f0 */ 3,194, 16, 33,143,183, 0, 76,143,190, 0, 80,143,182, 0, 72, +/* 0x0900 */ 143,181, 0, 68,143,180, 0, 64,143,179, 0, 60,143,178, 0, 56, +/* 0x0910 */ 143,177, 0, 52,143,176, 0, 48, 3,224, 0, 8, 39,189, 0, 88, +/* 0x0920 */ 39,189,255,192,175,191, 0, 56,175,181, 0, 52,175,180, 0, 48, +/* 0x0930 */ 175,179, 0, 44,175,178, 0, 40,175,177, 0, 36,175,176, 0, 32, +/* 0x0940 */ 140,130, 0, 4, 1, 0,144, 33,140,136, 0, 0, 0,128, 24, 33, +/* 0x0950 */ 0,192,152, 33, 1, 96,168, 33, 0,224,160, 33, 1, 32,136, 33, +/* 0x0960 */ 36, 66, 0, 12,175,165, 0, 12, 39,164, 0, 20, 39,165, 0, 4, +/* 0x0970 */ 2, 64, 48, 33, 0, 0, 56, 33, 1, 64,128, 33,175,163, 0, 16, +/* 0x0980 */ 175,163, 0, 24,175,168, 0, 4,175,162, 0, 20, 4, 17,254, 71, +/* 0x0990 */ 175,179, 0, 8, 2, 32, 72, 33, 2, 64, 32, 33, 2, 96, 40, 33, +/* 0x09a0 */ 39,166, 0, 12, 2,128, 56, 33, 3,160, 64, 33, 2,160, 80, 33, +/* 0x09b0 */ 4, 17,254,176,175,176, 0, 0, 0, 64, 48, 33, 2,128, 32, 33, +/* 0x09c0 */ 36, 5, 0, 9, 4, 17,254,160, 0, 64,136, 33,150,102, 0, 44, +/* 0x09d0 */ 38,100, 0, 52, 16, 0, 0, 43, 0, 0, 40, 33,140,131, 0, 0, +/* 0x09e0 */ 36, 2, 0, 3, 20, 98, 0, 39, 36,132, 0, 32, 36,132,255,224, +/* 0x09f0 */ 140,130, 0, 8,143,164, 0, 0, 0, 0, 40, 33, 0, 68, 32, 33, +/* 0x0a00 */ 0, 0, 48, 33, 4, 17,254, 1, 36, 2, 15,165, 4, 64, 0, 9, +/* 0x0a10 */ 0, 64,128, 33, 0, 64, 32, 33, 2, 96, 40, 33, 36, 6, 2, 0, +/* 0x0a20 */ 4, 17,253,250, 36, 2, 15,163, 36, 3, 2, 0, 16, 67, 0, 6, +/* 0x0a30 */ 2,160, 80, 33, 36, 4, 0,127, 4, 17,253,244, 36, 2, 15,161, +/* 0x0a40 */ 16, 0,255,255, 0, 0, 0, 0, 2,128, 56, 33, 3,160, 64, 33, +/* 0x0a50 */ 0, 0, 72, 33, 4, 17,254,135, 0, 0, 48, 33,143,166, 0, 0, +/* 0x0a60 */ 2,128, 32, 33, 36, 5, 0, 7, 4, 17,254,119, 0, 64,136, 33, +/* 0x0a70 */ 2, 0, 32, 33, 4, 17,253,229, 36, 2, 15,166, 16, 0, 0, 5, +/* 0x0a80 */ 2, 32, 16, 33, 0,166, 16, 42, 20, 64,255,212, 36,165, 0, 1, +/* 0x0a90 */ 2, 32, 16, 33,143,191, 0, 56,143,181, 0, 52,143,180, 0, 48, +/* 0x0aa0 */ 143,179, 0, 44,143,178, 0, 40,143,177, 0, 36,143,176, 0, 32, +/* 0x0ab0 */ 3,224, 0, 8, 39,189, 0, 64 }; diff -Nru upx-ucl-3.95/src/stub/mips.r3000-linux.shlib-init.h upx-ucl-3.96/src/stub/mips.r3000-linux.shlib-init.h --- upx-ucl-3.95/src/stub/mips.r3000-linux.shlib-init.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/mips.r3000-linux.shlib-init.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc64le-darwin.dylib-entry.h upx-ucl-3.96/src/stub/powerpc64le-darwin.dylib-entry.h --- upx-ucl-3.95/src/stub/powerpc64le-darwin.dylib-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc64le-darwin.dylib-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc64le-darwin.macho-entry.h upx-ucl-3.96/src/stub/powerpc64le-darwin.macho-entry.h --- upx-ucl-3.95/src/stub/powerpc64le-darwin.macho-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc64le-darwin.macho-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc64le-darwin.macho-fold.h upx-ucl-3.96/src/stub/powerpc64le-darwin.macho-fold.h --- upx-ucl-3.95/src/stub/powerpc64le-darwin.macho-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc64le-darwin.macho-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc64le-linux.elf-entry.h upx-ucl-3.96/src/stub/powerpc64le-linux.elf-entry.h --- upx-ucl-3.95/src/stub/powerpc64le-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc64le-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc64le-linux.elf-fold.h upx-ucl-3.96/src/stub/powerpc64le-linux.elf-fold.h --- upx-ucl-3.95/src/stub/powerpc64le-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc64le-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* powerpc64le-linux.elf-fold.h - created from powerpc64le-linux.elf-fold.bin, 3163 (0xc5b) bytes + created from powerpc64le-linux.elf-fold.bin, 3243 (0xcab) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,21 +31,21 @@ */ -#define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 3163 -#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0xe480450a -#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0xd6cd9cff +#define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 3243 +#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0xfe54608b +#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0x5332aff2 -unsigned char stub_powerpc64le_linux_elf_fold[3163] = { +unsigned char stub_powerpc64le_linux_elf_fold[3243] = { /* 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, 16, 12, 16, 0, 0, 0, 0, 0, +/* 0x0010 */ 2, 0, 21, 0, 1, 0, 0, 0, 96, 12, 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 */ 16, 12, 0, 0, 0, 0, 0, 0, 16, 12, 0, 0, 0, 0, 0, 0, +/* 0x0060 */ 96, 12, 0, 0, 0, 0, 0, 0, 96, 12, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, -/* 0x0080 */ 16, 12, 0, 0, 0, 0, 0, 0, 16, 12, 16, 0, 0, 0, 0, 0, -/* 0x0090 */ 16, 12, 16, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, +/* 0x0080 */ 96, 12, 0, 0, 0, 0, 0, 0, 96, 12, 16, 0, 0, 0, 0, 0, +/* 0x0090 */ 96, 12, 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,248,255, 96, 56, /* 0x00c0 */ 164, 77, 99,120, 32, 0,128, 78, 0, 0, 0, 96,125, 0, 0, 72, @@ -75,7 +75,7 @@ /* 0x0240 */ 120,187,228,126,144, 0,161, 56,120,211, 70,127,120,251,231,127, /* 0x0250 */ 120,179,200,126, 0, 0, 0, 56,112, 0,225,248,112, 0,225, 56, /* 0x0260 */ 120, 0, 1,248,128, 0, 1,249,128, 0, 1, 57,136, 0, 1,248, -/* 0x0270 */ 120,243,202,127,133, 7, 0, 72,144, 8, 33, 56,120,171,162,126, +/* 0x0270 */ 120,243,202,127,213, 7, 0, 72,144, 8, 33, 56,120,171,162,126, /* 0x0280 */ 7, 0, 96,112, 36, 0,130, 64, 0, 0, 3,128, 0, 0, 0, 40, /* 0x0290 */ 24, 0,130, 64,136, 1, 1,232, 8, 0, 67,232, 20, 2, 66,124, /* 0x02a0 */ 0, 0, 99,232, 20, 2, 99,124, 0, 0,117,248,120, 27,127,124, @@ -104,7 +104,7 @@ /* 0x0410 */ 8, 0, 67,233, 20, 74, 74,125, 8, 0, 67,249, 0, 0, 67,233, /* 0x0420 */ 80, 80, 41,125, 0, 0, 35,249, 32, 0,128, 78, 0, 0, 0, 0, /* 0x0430 */ 0, 0, 0, 1,128, 0, 0, 0, 38, 0,128,125,166, 2, 8,124, -/* 0x0440 */ 8, 0,129,145, 97, 7, 0, 72, 81,255, 33,248,120, 27,126,124, +/* 0x0440 */ 8, 0,129,145,177, 7, 0, 72, 81,255, 33,248,120, 27,126,124, /* 0x0450 */ 120, 35,159,124,120, 43,189,124,120, 51,220,124, 0, 0, 38, 46, /* 0x0460 */ 0, 0, 63,233, 0, 0,169, 47, 84, 1,158, 65,120,243,195,127, /* 0x0470 */ 112, 0,129, 56, 12, 0,160, 56, 81,255,255, 75,112, 0, 65,129, @@ -128,110 +128,115 @@ /* 0x0590 */ 120,243,195,127,120, 75, 37,125, 49,254,255, 75,112, 0, 1,129, /* 0x05a0 */ 8, 0, 95,233, 0, 0, 63,233, 20, 66, 74,125, 80, 72, 40,125, /* 0x05b0 */ 8, 0, 95,249, 0, 0, 63,249,168,254,255, 75,176, 0, 33, 56, -/* 0x05c0 */ 8, 0,129,129, 32,129,144,125, 44, 6, 0, 72, 0, 0, 0, 0, +/* 0x05c0 */ 8, 0,129,129, 32,129,144,125,124, 6, 0, 72, 0, 0, 0, 0, /* 0x05d0 */ 0, 0, 0, 3,128, 4, 0, 0, 0, 0, 35, 44, 32, 0,130, 77, /* 0x05e0 */ 225, 7,105,120, 32, 0,130, 76, 0, 0, 36, 47, 0, 0, 67,233, /* 0x05f0 */ 64, 32,170,127, 16, 0,158, 64, 0, 0,131,248, 8, 0,163,248, /* 0x0600 */ 32, 0,128, 78, 1, 0,170, 43, 12, 0,158, 64, 16, 0,154, 65, /* 0x0610 */ 232,255,255, 75, 0, 0,170, 47, 32, 0,158, 77, 16, 0, 99, 56, /* 0x0620 */ 204,255,255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0630 */ 38, 0,128,125,166, 2, 8,124, 8, 0,129,145, 49, 5, 0, 72, -/* 0x0640 */ 225,254, 33,248,120, 67, 15,125, 16, 0, 3,161,120, 75, 50,125, -/* 0x0650 */ 32, 0, 35,233,120, 83, 90,125,120, 27,125,124,120, 35,147,124, -/* 0x0660 */ 3, 0,136, 47, 96, 1,161,248,120, 51,216,124,120, 59,240,124, -/* 0x0670 */ 20, 74, 35,126, 16, 0, 64, 57, 8, 0,158, 64, 0, 0, 64, 57, -/* 0x0680 */ 56, 0, 29,161, 0, 0,114,232, 34, 0, 74, 57,120,139, 39,126, -/* 0x0690 */ 32, 0, 70,121, 0, 0,128, 56, 1, 0, 8, 57,255,255,224, 59, +/* 0x0630 */ 38, 0,128,125,166, 2, 8,124, 8, 0,129,145,129, 5, 0, 72, +/* 0x0640 */ 225,254, 33,248,120, 67, 14,125, 16, 0, 3,161,120, 75, 49,125, +/* 0x0650 */ 32, 0, 35,233,120, 83, 90,125,120, 27,124,124,120, 35,146,124, +/* 0x0660 */ 3, 0,136, 47, 96, 1,161,248,120, 51,215,124,120, 59,239,124, +/* 0x0670 */ 20, 74, 3,126, 16, 0, 64, 57, 8, 0,158, 64, 0, 0, 64, 57, +/* 0x0680 */ 56, 0, 28,161, 0, 0,113,232, 34, 0, 74, 57,120,131, 7,126, +/* 0x0690 */ 32, 0, 70,121, 0, 0,128, 56, 1, 0, 8, 57,255,255,192, 59, /* 0x06a0 */ 166, 3, 9,125, 60, 0, 64, 66, 0, 0, 7,129, 1, 0,136, 47, -/* 0x06b0 */ 40, 0,158, 64, 16, 0,167,232, 64, 40,191,127, 8, 0,157, 64, -/* 0x06c0 */ 120, 43,191,124, 40, 0, 7,233, 20, 66, 5,125, 64, 64,164,127, +/* 0x06b0 */ 40, 0,158, 64, 16, 0,167,232, 64, 40,190,127, 8, 0,157, 64, +/* 0x06c0 */ 120, 43,190,124, 40, 0, 7,233, 20, 66, 5,125, 64, 64,164,127, /* 0x06d0 */ 8, 0,156, 64,120, 67, 4,125, 56, 0,231, 56,200,255,255, 75, -/* 0x06e0 */ 248,208, 85,127, 56,208,255,127, 20, 34,149,124,227,231, 73,121, -/* 0x06f0 */ 80, 32,159,124, 56,208,132,124, 28, 0,130, 64, 0, 0,191, 47, +/* 0x06e0 */ 248,208, 84,127, 56,208,222,127, 20, 34,148,124,227,231, 73,121, +/* 0x06f0 */ 80, 32,158,124, 56,208,132,124, 28, 0,130, 64, 0, 0,190, 47, /* 0x0700 */ 28, 0,158, 64, 0, 0,163, 47, 24, 0,158, 65, 50, 0,192, 56, -/* 0x0710 */ 16, 0, 0, 72,120,251,227,127, 8, 0, 0, 72, 0, 0, 96, 56, +/* 0x0710 */ 16, 0, 0, 72,120,243,195,127, 8, 0, 0, 72, 0, 0, 96, 56, /* 0x0720 */ 0, 0,160, 56,180, 7,198,124,255,255,224, 56, 0, 0, 0, 57, -/* 0x0730 */ 57,252,255, 75, 0, 0, 0, 96,248,208, 90,127, 1, 0,224, 62, -/* 0x0740 */ 136, 0, 65,147,228,131,247,122, 80, 24,255,127, 0, 0, 32, 59, -/* 0x0750 */ 120, 0, 63, 57, 0, 0, 51, 46,128, 0, 33,249, 1, 0,247, 98, -/* 0x0760 */ 164, 7, 14,123, 56, 0, 93,161, 0,200,138,127, 72, 2,157, 64, -/* 0x0770 */ 0, 0, 81,129, 36, 0,146, 65, 6, 0,138, 47, 28, 0,158, 64, -/* 0x0780 */ 16, 0,177,232,120,195, 3,127, 3, 0,128, 56, 20, 42,191,124, -/* 0x0790 */ 73,254,255, 75, 16, 2, 0, 72, 1, 0,138, 47, 8, 2,158, 64, -/* 0x07a0 */ 76, 0,146, 65, 8, 0, 81,233, 0, 0,170, 47, 64, 0,158, 64, -/* 0x07b0 */ 32, 0, 93,233, 16, 0,177,232,120,195, 3,127, 3, 0,128, 56, -/* 0x07c0 */ 20, 82, 95,125, 20, 42,170,124, 17,254,255, 75, 56, 0,189,160, -/* 0x07d0 */ 120,195, 3,127, 5, 0,128, 56, 1,254,255, 75, 54, 0,189,160, -/* 0x07e0 */ 120,195, 3,127, 4, 0,128, 56,241,253,255, 75, 4, 0,113,131, -/* 0x07f0 */ 16, 0,209,235, 81,115, 32, 61, 64, 98, 41, 97, 32, 0,145,235, -/* 0x0800 */ 40, 0,209,234,250, 22,123, 87, 20,242,223,127,112, 0,129,251, -/* 0x0810 */ 48,220, 59,125, 56,168,202,127,120, 0,193,251, 20,178,222,126, -/* 0x0820 */ 20,226,138,127, 80,240,202,127,126, 7,116, 87, 12, 0,146, 64, -/* 0x0830 */ 0, 0,160, 56, 8, 0, 0, 72, 2, 0,160, 56,120,163,165,124, +/* 0x0730 */ 57,252,255, 75, 0, 0, 0, 96, 1, 0,192, 62, 0, 0, 32, 59, +/* 0x0740 */ 228,131,214,122, 80, 24,222,127, 0, 0, 50, 46,120, 0, 62, 57, +/* 0x0750 */ 1, 0,214, 98,128, 0, 33,249,164, 7,233,122,248,208, 90,127, +/* 0x0760 */ 136, 0, 33,249, 56, 0, 92,161, 0,200,138,127,164, 2,157, 64, +/* 0x0770 */ 0, 0, 80,129, 36, 0,146, 65, 6, 0,138, 47, 28, 0,158, 64, +/* 0x0780 */ 16, 0,176,232,120,187,227,126, 3, 0,128, 56, 20, 42,190,124, +/* 0x0790 */ 73,254,255, 75,108, 2, 0, 72, 1, 0,138, 47,100, 2,158, 64, +/* 0x07a0 */ 76, 0,146, 65, 8, 0, 80,233, 0, 0,170, 47, 64, 0,158, 64, +/* 0x07b0 */ 32, 0, 92,233, 16, 0,176,232,120,187,227,126, 3, 0,128, 56, +/* 0x07c0 */ 20, 82, 94,125, 20, 42,170,124, 17,254,255, 75, 56, 0,188,160, +/* 0x07d0 */ 120,187,227,126, 5, 0,128, 56, 1,254,255, 75, 54, 0,188,160, +/* 0x07e0 */ 120,187,227,126, 4, 0,128, 56,241,253,255, 75, 4, 0,112,131, +/* 0x07f0 */ 16, 0,176,235, 81,115, 32, 61, 64, 98, 41, 97, 32, 0,240,235, +/* 0x0800 */ 40, 0,176,234,250, 22,123, 87, 20,234,190,127,112, 0,225,251, +/* 0x0810 */ 48,220, 59,125, 56,160,170,127,120, 0,161,251, 20,170,189,126, +/* 0x0820 */ 20,250,234,127, 80,232,170,127,126, 7,115, 87, 12, 0,146, 64, +/* 0x0830 */ 0, 0,160, 56, 8, 0, 0, 72, 2, 0,160, 56,120,155,165,124, /* 0x0840 */ 180, 7,165,124, 16, 0,146, 64, 96, 1,225,232, 18, 0,192, 56, -/* 0x0850 */ 12, 0, 0, 72, 50, 0,192, 56,255,255,224, 56, 8, 0, 17,233, -/* 0x0860 */ 120,243,195,127,120,227,132,127, 80, 64, 10,125,253,250,255, 75, -/* 0x0870 */ 0, 0, 0, 96, 0, 24,190,127, 16, 0,254, 65,127, 0, 96, 56, -/* 0x0880 */ 1,251,255, 75, 0, 0, 0, 96, 24, 0,146, 65,120,155, 99,126, -/* 0x0890 */ 112, 0,129, 56,120,131, 5,126,120,123,230,125,157,251,255, 75, -/* 0x08a0 */ 208, 0, 92,125,227,255,105,123, 56,168, 90,125, 12, 0,130, 64, -/* 0x08b0 */ 48, 0,146, 64,184, 0, 0, 72, 0, 0,186, 47,244,255,158, 65, -/* 0x08c0 */ 166, 3, 73,127, 20,226,254,124, 0, 0, 0, 57, 0, 0, 32, 57, -/* 0x08d0 */ 174, 65, 39,125, 1, 0, 8, 57,244,255, 0, 66,212,255,255, 75, -/* 0x08e0 */ 0, 0, 17,233,192, 7, 8,121, 0,184,168,127,100, 0,158, 64, -/* 0x08f0 */ 40, 0,177,232, 32, 0, 17,233, 16, 0,241,232, 0, 64,165,127, -/* 0x0900 */ 208, 0,158, 64, 20, 58,165,124,136, 0, 33,129, 20,250,165,124, -/* 0x0910 */ 208, 0, 5,125, 56, 72, 8,125, 11, 0,136, 43,180, 0,157, 64, -/* 0x0920 */ 0, 68, 32, 61,120,115,195,125, 2, 0, 41, 97, 0, 0,128, 56, -/* 0x0930 */ 0, 0, 37,145,236,127, 32, 61,120,251, 41, 97, 4, 0, 37,145, -/* 0x0940 */ 128, 78, 32, 61, 32, 0, 41, 97, 8, 0, 37,145,141,252,255, 75, -/* 0x0950 */ 120,243,195,127,120,227,132,127,180, 7,133,126, 85,250,255, 75, -/* 0x0960 */ 0, 0, 0, 96, 0, 0,163, 47, 20,255,222, 64, 20,226,154,127, -/* 0x0970 */ 20,226,222,127, 64,176,190,127, 44, 0,156, 64,120,243,195,127, -/* 0x0980 */ 80,176,158,124,180, 7,133,126, 50, 0,192, 56,255,255,224, 56, -/* 0x0990 */ 0, 0, 0, 57,213,249,255, 75, 0, 0, 0, 96, 0, 24,190,127, -/* 0x09a0 */ 220,254,222, 64, 1, 0, 57, 59, 56, 0, 49, 58,180, 7, 57,127, -/* 0x09b0 */ 180,253,255, 75, 0, 0,242,251, 32, 1, 33, 56, 8, 0,129,129, -/* 0x09c0 */ 32,129,144,125, 24, 0,125,232, 20, 26,127,124,240, 1, 0, 72, -/* 0x09d0 */ 128, 0, 33,233, 8, 0, 17,233, 20, 58,169,124, 0, 0,168, 47, -/* 0x09e0 */ 24, 0,165, 56, 60,255,158, 65,104,255,255, 75, 0, 0, 0, 0, -/* 0x09f0 */ 0, 0, 0, 3,128, 18, 0, 0,166, 2, 8,124,153, 1, 0, 72, -/* 0x0a00 */ 17,255, 33,248,120, 75, 61,125, 0, 0, 35,129,120, 43,191,124, -/* 0x0a10 */ 120, 51,218,124, 0, 0,192, 56,120, 83, 88,125,144, 0, 33,249, -/* 0x0a20 */ 152, 0,161,248,120, 59,229,124, 64, 0,159, 59, 4, 0, 35,129, -/* 0x0a30 */ 120, 0, 97,248, 0, 0,192, 59,136, 0, 97,248,128, 0,129,248, -/* 0x0a40 */ 12, 0, 41, 57,160, 0,225,248,168, 0, 1,249,112, 0, 33,249, -/* 0x0a50 */ 112, 0, 97, 56,144, 0,129, 56,225,249,255, 75,160, 0,225,232, -/* 0x0a60 */ 168, 0, 1,233,128, 0,129, 56, 0, 0,160, 56,120,211, 70,127, -/* 0x0a70 */ 120,235,169,127,120,195, 10,127,120,251,227,127,181,251,255, 75, -/* 0x0a80 */ 9, 0,128, 56,120, 27,123,124,120,211, 67,127,120,219,101,127, -/* 0x0a90 */ 73,251,255, 75, 56, 0, 63,161, 64,240,137,127,184, 0,157, 64, -/* 0x0aa0 */ 0, 0, 60,129, 3, 0,137, 47,156, 0,158, 64, 16, 0,124,232, -/* 0x0ab0 */ 0, 0, 61,233, 0, 0,128, 56, 0, 0,160, 56, 20, 74, 99,124, -/* 0x0ac0 */ 225,248,255, 75, 0, 0, 0, 96, 0, 0,131, 47,120, 27,121,124, -/* 0x0ad0 */ 16, 0,252, 64,127, 0, 96, 56,169,248,255, 75, 0, 0, 0, 96, -/* 0x0ae0 */ 120,251,228,127, 0, 4,160, 56,177,248,255, 75, 0, 0, 0, 96, -/* 0x0af0 */ 0, 4,163, 47,224,255,222, 64, 0, 0, 32, 57, 0, 0,128, 56, -/* 0x0b00 */ 0, 0, 61,249,120,203, 37,127, 0, 0,192, 56, 0, 0,224, 56, -/* 0x0b10 */ 0, 0, 0, 57,120,235,169,127,120,195, 10,127,120,251,227,127, -/* 0x0b20 */ 17,251,255, 75, 0, 0,189,232, 7, 0,128, 56,120, 27,123,124, -/* 0x0b30 */ 120,211, 67,127,165,250,255, 75,120,203, 35,127,109,248,255, 75, -/* 0x0b40 */ 0, 0, 0, 96, 1, 0,222, 59, 56, 0,156, 59, 32, 0,222,123, -/* 0x0b50 */ 68,255,255, 75,240, 0, 33, 56,120,219, 99,127,136, 0, 0, 72, -/* 0x0b60 */ 0, 0, 0, 0, 0, 0, 0, 1,128, 8, 0, 0,112,255,193,249, -/* 0x0b70 */ 120,255,225,249,128,255, 1,250,136,255, 33,250,144,255, 65,250, -/* 0x0b80 */ 152,255, 97,250,160,255,129,250,168,255,161,250,176,255,193,250, -/* 0x0b90 */ 184,255,225,250,192,255, 1,251,200,255, 33,251,208,255, 65,251, -/* 0x0ba0 */ 216,255, 97,251,224,255,129,251,232,255,161,251,240,255,193,251, -/* 0x0bb0 */ 248,255,225,251, 16, 0, 1,248, 32, 0,128, 78,112,255,193,233, -/* 0x0bc0 */ 120,255,225,233,128,255, 1,234,136,255, 33,234,144,255, 65,234, -/* 0x0bd0 */ 152,255, 97,234,160,255,129,234,168,255,161,234,176,255,193,234, -/* 0x0be0 */ 184,255,225,234,192,255, 1,235,200,255, 33,235,208,255, 65,235, -/* 0x0bf0 */ 216,255, 97,235,224,255,129,235, 16, 0, 1,232,232,255,161,235, -/* 0x0c00 */ 166, 3, 8,124,240,255,193,235,248,255,225,235, 32, 0,128, 78, -/* 0x0c10 */ 200, 3, 16, 0, 0, 0, 0, 0, 16,140, 16, 0, 0, 0, 0, 0, -/* 0x0c20 */ 56, 4, 16, 0, 0, 0, 0, 0, 16,140, 16, 0, 0, 0, 0, 0, -/* 0x0c30 */ 216, 5, 16, 0, 0, 0, 0, 0, 16,140, 16, 0, 0, 0, 0, 0, -/* 0x0c40 */ 48, 6, 16, 0, 0, 0, 0, 0, 16,140, 16, 0, 0, 0, 0, 0, -/* 0x0c50 */ 248, 9, 16, 0, 0, 0, 0, 0, 16,140, 16 +/* 0x0850 */ 12, 0, 0, 72, 50, 0,192, 56,255,255,224, 56, 8, 0, 16,233, +/* 0x0860 */ 120,235,163,127,120,251,228,127, 80, 64, 10,125,253,250,255, 75, +/* 0x0870 */ 0, 0, 0, 96, 0, 24,189,127, 16, 0,254, 65,127, 0, 96, 56, +/* 0x0880 */ 1,251,255, 75, 0, 0, 0, 96, 24, 0,146, 65,120,147, 67,126, +/* 0x0890 */ 112, 0,129, 56,120,123,229,125,120,115,198,125,157,251,255, 75, +/* 0x08a0 */ 208, 0, 31,127,227,255,105,123, 56,160, 24,127, 12, 0,130, 64, +/* 0x08b0 */ 48, 0,146, 64, 20, 1, 0, 72, 0, 0,184, 47,244,255,158, 65, +/* 0x08c0 */ 166, 3, 9,127, 20,250, 29,125, 0, 0, 64, 57, 0, 0, 32, 57, +/* 0x08d0 */ 174, 81, 40,125, 1, 0, 74, 57,244,255, 0, 66,212,255,255, 75, +/* 0x08e0 */ 0, 0, 80,233,192, 7, 74,121, 0,176,170,127,192, 0,158, 64, +/* 0x08f0 */ 40, 0,112,235, 32, 0, 80,233, 16, 0, 16,233, 0, 80,187,127, +/* 0x0900 */ 36, 0,158, 64, 20, 66,123,127, 20,242,123,127,208, 0, 91,125, +/* 0x0910 */ 56,208, 74,125, 11, 0,138, 43, 12, 0,157, 64, 0, 0, 64, 57, +/* 0x0920 */ 60, 0, 0, 72, 8, 0, 80,233, 0, 0,170, 47, 0, 1,158, 65, +/* 0x0930 */ 0, 0, 96, 56, 0, 16,128, 56, 3, 0,160, 56, 34, 0,192, 56, +/* 0x0940 */ 255,255,224, 56, 0, 0, 0, 57, 33,250,255, 75, 0, 0, 0, 96, +/* 0x0950 */ 121, 27,123,124, 88, 0,130, 65, 1, 0, 64, 57, 0, 68, 32, 61, +/* 0x0960 */ 0, 0,170, 47, 2, 0, 41, 97, 0, 0, 59,145,236,127, 32, 61, +/* 0x0970 */ 120,251, 41, 97, 4, 0, 59,145,128, 78, 32, 61, 32, 0, 41, 97, +/* 0x0980 */ 8, 0, 59,145, 24, 0,158, 65,120,219, 99,127, 12, 0,128, 56, +/* 0x0990 */ 5, 0,160, 56, 29,250,255, 75, 0, 0, 0, 96,136, 0, 97,232, +/* 0x09a0 */ 0, 0,128, 56,120,219,101,127, 49,252,255, 75,120,235,163,127, +/* 0x09b0 */ 120,251,228,127,180, 7,101,126,249,249,255, 75, 0, 0, 0, 96, +/* 0x09c0 */ 0, 0,163, 47,184,254,222, 64, 20,250,248,127, 20,250,189,127, +/* 0x09d0 */ 64,168,189,127, 44, 0,156, 64,120,235,163,127, 80,168,157,124, +/* 0x09e0 */ 180, 7,101,126, 50, 0,192, 56,255,255,224, 56, 0, 0, 0, 57, +/* 0x09f0 */ 121,249,255, 75, 0, 0, 0, 96, 0, 24,189,127,128,254,222, 64, +/* 0x0a00 */ 1, 0, 57, 59, 56, 0, 16, 58,180, 7, 57,127, 88,253,255, 75, +/* 0x0a10 */ 0, 0,209,251, 32, 1, 33, 56, 8, 0,129,129, 32,129,144,125, +/* 0x0a20 */ 24, 0,124,232, 20, 26,126,124,228, 1, 0, 72,128, 0, 33,233, +/* 0x0a30 */ 20, 66,105,127, 24, 0,123, 59, 36,255,255, 75, 0, 0, 0, 0, +/* 0x0a40 */ 0, 0, 0, 3,128, 18, 0, 0,166, 2, 8,124,153, 1, 0, 72, +/* 0x0a50 */ 17,255, 33,248,120, 75, 61,125, 0, 0, 35,129,120, 43,191,124, +/* 0x0a60 */ 120, 51,218,124, 0, 0,192, 56,120, 83, 88,125,144, 0, 33,249, +/* 0x0a70 */ 152, 0,161,248,120, 59,229,124, 64, 0,159, 59, 4, 0, 35,129, +/* 0x0a80 */ 120, 0, 97,248, 0, 0,192, 59,136, 0, 97,248,128, 0,129,248, +/* 0x0a90 */ 12, 0, 41, 57,160, 0,225,248,168, 0, 1,249,112, 0, 33,249, +/* 0x0aa0 */ 112, 0, 97, 56,144, 0,129, 56,145,249,255, 75,160, 0,225,232, +/* 0x0ab0 */ 168, 0, 1,233,128, 0,129, 56, 0, 0,160, 56,120,211, 70,127, +/* 0x0ac0 */ 120,235,169,127,120,195, 10,127,120,251,227,127,101,251,255, 75, +/* 0x0ad0 */ 9, 0,128, 56,120, 27,123,124,120,211, 67,127,120,219,101,127, +/* 0x0ae0 */ 249,250,255, 75, 56, 0, 63,161, 64,240,137,127,184, 0,157, 64, +/* 0x0af0 */ 0, 0, 60,129, 3, 0,137, 47,156, 0,158, 64, 16, 0,124,232, +/* 0x0b00 */ 0, 0, 61,233, 0, 0,128, 56, 0, 0,160, 56, 20, 74, 99,124, +/* 0x0b10 */ 145,248,255, 75, 0, 0, 0, 96, 0, 0,131, 47,120, 27,121,124, +/* 0x0b20 */ 16, 0,252, 64,127, 0, 96, 56, 89,248,255, 75, 0, 0, 0, 96, +/* 0x0b30 */ 120,251,228,127, 0, 4,160, 56, 97,248,255, 75, 0, 0, 0, 96, +/* 0x0b40 */ 0, 4,163, 47,224,255,222, 64, 0, 0, 32, 57, 0, 0,128, 56, +/* 0x0b50 */ 0, 0, 61,249,120,203, 37,127, 0, 0,192, 56, 0, 0,224, 56, +/* 0x0b60 */ 0, 0, 0, 57,120,235,169,127,120,195, 10,127,120,251,227,127, +/* 0x0b70 */ 193,250,255, 75, 0, 0,189,232, 7, 0,128, 56,120, 27,123,124, +/* 0x0b80 */ 120,211, 67,127, 85,250,255, 75,120,203, 35,127, 29,248,255, 75, +/* 0x0b90 */ 0, 0, 0, 96, 1, 0,222, 59, 56, 0,156, 59, 32, 0,222,123, +/* 0x0ba0 */ 68,255,255, 75,240, 0, 33, 56,120,219, 99,127,136, 0, 0, 72, +/* 0x0bb0 */ 0, 0, 0, 0, 0, 0, 0, 1,128, 8, 0, 0,112,255,193,249, +/* 0x0bc0 */ 120,255,225,249,128,255, 1,250,136,255, 33,250,144,255, 65,250, +/* 0x0bd0 */ 152,255, 97,250,160,255,129,250,168,255,161,250,176,255,193,250, +/* 0x0be0 */ 184,255,225,250,192,255, 1,251,200,255, 33,251,208,255, 65,251, +/* 0x0bf0 */ 216,255, 97,251,224,255,129,251,232,255,161,251,240,255,193,251, +/* 0x0c00 */ 248,255,225,251, 16, 0, 1,248, 32, 0,128, 78,112,255,193,233, +/* 0x0c10 */ 120,255,225,233,128,255, 1,234,136,255, 33,234,144,255, 65,234, +/* 0x0c20 */ 152,255, 97,234,160,255,129,234,168,255,161,234,176,255,193,234, +/* 0x0c30 */ 184,255,225,234,192,255, 1,235,200,255, 33,235,208,255, 65,235, +/* 0x0c40 */ 216,255, 97,235,224,255,129,235, 16, 0, 1,232,232,255,161,235, +/* 0x0c50 */ 166, 3, 8,124,240,255,193,235,248,255,225,235, 32, 0,128, 78, +/* 0x0c60 */ 200, 3, 16, 0, 0, 0, 0, 0, 96,140, 16, 0, 0, 0, 0, 0, +/* 0x0c70 */ 56, 4, 16, 0, 0, 0, 0, 0, 96,140, 16, 0, 0, 0, 0, 0, +/* 0x0c80 */ 216, 5, 16, 0, 0, 0, 0, 0, 96,140, 16, 0, 0, 0, 0, 0, +/* 0x0c90 */ 48, 6, 16, 0, 0, 0, 0, 0, 96,140, 16, 0, 0, 0, 0, 0, +/* 0x0ca0 */ 72, 10, 16, 0, 0, 0, 0, 0, 96,140, 16 }; diff -Nru upx-ucl-3.95/src/stub/powerpc64le-linux.kernel.vmlinux.h upx-ucl-3.96/src/stub/powerpc64le-linux.kernel.vmlinux.h --- upx-ucl-3.95/src/stub/powerpc64le-linux.kernel.vmlinux.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc64le-linux.kernel.vmlinux.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc64le-linux.kernel.vmlinux-head.h upx-ucl-3.96/src/stub/powerpc64le-linux.kernel.vmlinux-head.h --- upx-ucl-3.95/src/stub/powerpc64le-linux.kernel.vmlinux-head.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc64le-linux.kernel.vmlinux-head.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc64-linux.elf-entry.h upx-ucl-3.96/src/stub/powerpc64-linux.elf-entry.h --- upx-ucl-3.95/src/stub/powerpc64-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc64-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc64-linux.elf-fold.h upx-ucl-3.96/src/stub/powerpc64-linux.elf-fold.h --- upx-ucl-3.95/src/stub/powerpc64-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc64-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* powerpc64-linux.elf-fold.h - created from powerpc64-linux.elf-fold.bin, 3176 (0xc68) bytes + created from powerpc64-linux.elf-fold.bin, 3256 (0xcb8) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,21 +31,21 @@ */ -#define STUB_POWERPC64_LINUX_ELF_FOLD_SIZE 3176 -#define STUB_POWERPC64_LINUX_ELF_FOLD_ADLER32 0x76c345cd -#define STUB_POWERPC64_LINUX_ELF_FOLD_CRC32 0x676d814c +#define STUB_POWERPC64_LINUX_ELF_FOLD_SIZE 3256 +#define STUB_POWERPC64_LINUX_ELF_FOLD_ADLER32 0xc74d6188 +#define STUB_POWERPC64_LINUX_ELF_FOLD_CRC32 0x728a945d -unsigned char stub_powerpc64_linux_elf_fold[3176] = { +unsigned char stub_powerpc64_linux_elf_fold[3256] = { /* 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, 12, 24, +/* 0x0010 */ 0, 2, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 12,104, /* 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, 12, 20, 0, 0, 0, 0, 0, 0, 12, 20, +/* 0x0060 */ 0, 0, 0, 0, 0, 0, 12,100, 0, 0, 0, 0, 0, 0, 12,100, /* 0x0070 */ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, -/* 0x0080 */ 0, 0, 0, 0, 0, 0, 12, 24, 0, 0, 0, 0, 0, 16, 12, 24, -/* 0x0090 */ 0, 0, 0, 0, 0, 16, 12, 24, 0, 0, 0, 0, 0, 0, 0, 80, +/* 0x0080 */ 0, 0, 0, 0, 0, 0, 12,104, 0, 0, 0, 0, 0, 16, 12,104, +/* 0x0090 */ 0, 0, 0, 0, 0, 16, 12,104, 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, 56, 96,255,248, /* 0x00c0 */ 120, 99, 77,164, 78,128, 0, 32, 96, 0, 0, 0, 72, 0, 0,125, @@ -75,7 +75,7 @@ /* 0x0240 */ 126,228,187,120, 56,161, 0,144,127, 70,211,120,127,231,251,120, /* 0x0250 */ 126,200,179,120, 56, 0, 0, 0,248,225, 0,112, 56,225, 0,112, /* 0x0260 */ 248, 1, 0,120,249, 1, 0,128, 57, 1, 0,128,248, 1, 0,136, -/* 0x0270 */ 127,202,243,120, 72, 0, 7,137, 56, 33, 8,144,126,162,171,120, +/* 0x0270 */ 127,202,243,120, 72, 0, 7,217, 56, 33, 8,144,126,162,171,120, /* 0x0280 */ 112, 96, 0, 7, 64,130, 0, 36,128, 3, 0, 0, 40, 0, 0, 0, /* 0x0290 */ 64,130, 0, 24,232, 1, 1,136,232, 67, 0, 8,124, 66, 2, 20, /* 0x02a0 */ 232, 99, 0, 0,124, 99, 2, 20,248,117, 0, 0,124,127, 27,120, @@ -104,7 +104,7 @@ /* 0x0410 */ 233, 67, 0, 8,125, 74, 74, 20,249, 67, 0, 8,233, 67, 0, 0, /* 0x0420 */ 125, 41, 80, 80,249, 35, 0, 0, 78,128, 0, 32, 0, 0, 0, 0, /* 0x0430 */ 0, 0, 0, 1,128, 0, 0, 0,125,128, 0, 38,124, 8, 2,166, -/* 0x0440 */ 145,129, 0, 8, 72, 0, 7,101,248, 33,255, 81,124,126, 27,120, +/* 0x0440 */ 145,129, 0, 8, 72, 0, 7,181,248, 33,255, 81,124,126, 27,120, /* 0x0450 */ 124,159, 35,120,124,189, 43,120,124,220, 51,120, 46, 38, 0, 0, /* 0x0460 */ 233, 63, 0, 0, 47,169, 0, 0, 65,158, 1, 84,127,195,243,120, /* 0x0470 */ 56,129, 0,112, 56,160, 0, 12, 75,255,255, 81,129, 65, 0,112, @@ -128,111 +128,116 @@ /* 0x0590 */ 127,195,243,120,125, 37, 75,120, 75,255,254, 49,129, 1, 0,112, /* 0x05a0 */ 233, 95, 0, 8,233, 63, 0, 0,125, 74, 66, 20,125, 40, 72, 80, /* 0x05b0 */ 249, 95, 0, 8,249, 63, 0, 0, 75,255,254,168, 56, 33, 0,176, -/* 0x05c0 */ 129,129, 0, 8,125,144,129, 32, 72, 0, 6, 48, 0, 0, 0, 0, +/* 0x05c0 */ 129,129, 0, 8,125,144,129, 32, 72, 0, 6,128, 0, 0, 0, 0, /* 0x05d0 */ 0, 0, 0, 3,128, 4, 0, 0, 44, 35, 0, 0, 77,130, 0, 32, /* 0x05e0 */ 120,105, 7,225, 76,130, 0, 32, 47, 36, 0, 0,233, 67, 0, 0, /* 0x05f0 */ 127,170, 32, 64, 64,158, 0, 16,248,131, 0, 0,248,163, 0, 8, /* 0x0600 */ 78,128, 0, 32, 43,170, 0, 1, 64,158, 0, 12, 65,154, 0, 16, /* 0x0610 */ 75,255,255,232, 47,170, 0, 0, 77,158, 0, 32, 56, 99, 0, 16, /* 0x0620 */ 75,255,255,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0630 */ 125,128, 0, 38,124, 8, 2,166,145,129, 0, 8, 72, 0, 5, 53, -/* 0x0640 */ 248, 33,254,225,125, 15, 67,120,161, 3, 0, 16,125, 50, 75,120, -/* 0x0650 */ 233, 35, 0, 32,125, 90, 83,120,124,125, 27,120,124,147, 35,120, -/* 0x0660 */ 47,136, 0, 3,248,161, 1, 96,124,216, 51,120,124,240, 59,120, -/* 0x0670 */ 126, 35, 74, 20, 57, 64, 0, 16, 64,158, 0, 8, 57, 64, 0, 0, -/* 0x0680 */ 161, 29, 0, 56,232,114, 0, 0, 57, 74, 0, 34,126, 39,139,120, -/* 0x0690 */ 121, 70, 0, 32, 56,128, 0, 0, 57, 8, 0, 1, 59,224,255,255, +/* 0x0630 */ 125,128, 0, 38,124, 8, 2,166,145,129, 0, 8, 72, 0, 5,133, +/* 0x0640 */ 248, 33,254,225,125, 14, 67,120,161, 3, 0, 16,125, 49, 75,120, +/* 0x0650 */ 233, 35, 0, 32,125, 90, 83,120,124,124, 27,120,124,146, 35,120, +/* 0x0660 */ 47,136, 0, 3,248,161, 1, 96,124,215, 51,120,124,239, 59,120, +/* 0x0670 */ 126, 3, 74, 20, 57, 64, 0, 16, 64,158, 0, 8, 57, 64, 0, 0, +/* 0x0680 */ 161, 28, 0, 56,232,113, 0, 0, 57, 74, 0, 34,126, 7,131,120, +/* 0x0690 */ 121, 70, 0, 32, 56,128, 0, 0, 57, 8, 0, 1, 59,192,255,255, /* 0x06a0 */ 125, 9, 3,166, 66, 64, 0, 60,129, 7, 0, 0, 47,136, 0, 1, -/* 0x06b0 */ 64,158, 0, 40,232,167, 0, 16,127,191, 40, 64, 64,157, 0, 8, -/* 0x06c0 */ 124,191, 43,120,233, 7, 0, 40,125, 5, 66, 20,127,164, 64, 64, +/* 0x06b0 */ 64,158, 0, 40,232,167, 0, 16,127,190, 40, 64, 64,157, 0, 8, +/* 0x06c0 */ 124,190, 43,120,233, 7, 0, 40,125, 5, 66, 20,127,164, 64, 64, /* 0x06d0 */ 64,156, 0, 8,125, 4, 67,120, 56,231, 0, 56, 75,255,255,200, -/* 0x06e0 */ 127, 85,208,248,127,255,208, 56,124,149, 34, 20,121, 73,231,227, -/* 0x06f0 */ 124,159, 32, 80,124,132,208, 56, 64,130, 0, 28, 47,191, 0, 0, +/* 0x06e0 */ 127, 84,208,248,127,222,208, 56,124,148, 34, 20,121, 73,231,227, +/* 0x06f0 */ 124,158, 32, 80,124,132,208, 56, 64,130, 0, 28, 47,190, 0, 0, /* 0x0700 */ 64,158, 0, 28, 47,163, 0, 0, 65,158, 0, 24, 56,192, 0, 50, -/* 0x0710 */ 72, 0, 0, 16,127,227,251,120, 72, 0, 0, 8, 56, 96, 0, 0, +/* 0x0710 */ 72, 0, 0, 16,127,195,243,120, 72, 0, 0, 8, 56, 96, 0, 0, /* 0x0720 */ 56,160, 0, 0,124,198, 7,180, 56,224,255,255, 57, 0, 0, 0, -/* 0x0730 */ 75,255,252, 57, 96, 0, 0, 0,127, 90,208,248, 62,224, 0, 1, -/* 0x0740 */ 147, 65, 0,136,122,247,131,228,127,255, 24, 80, 59, 32, 0, 0, -/* 0x0750 */ 57, 63, 0,120, 46, 51, 0, 0,249, 33, 0,128, 98,247, 0, 1, -/* 0x0760 */ 123, 14, 7,164,161, 93, 0, 56,127,138,200, 0, 64,157, 2, 76, -/* 0x0770 */ 129, 81, 0, 0, 65,146, 0, 36, 47,138, 0, 6, 64,158, 0, 28, -/* 0x0780 */ 232,177, 0, 16,127, 3,195,120, 56,128, 0, 3,124,191, 42, 20, -/* 0x0790 */ 75,255,254, 73, 72, 0, 2, 20, 47,138, 0, 1, 64,158, 2, 12, -/* 0x07a0 */ 65,146, 0, 76,233, 81, 0, 8, 47,170, 0, 0, 64,158, 0, 64, -/* 0x07b0 */ 233, 93, 0, 32,232,177, 0, 16,127, 3,195,120, 56,128, 0, 3, -/* 0x07c0 */ 125, 95, 82, 20,124,170, 42, 20, 75,255,254, 17,160,189, 0, 56, -/* 0x07d0 */ 127, 3,195,120, 56,128, 0, 5, 75,255,254, 1,160,189, 0, 54, -/* 0x07e0 */ 127, 3,195,120, 56,128, 0, 4, 75,255,253,241,131,113, 0, 4, -/* 0x07f0 */ 235,209, 0, 16, 61, 32,115, 81, 97, 41, 98, 64,235,145, 0, 32, -/* 0x0800 */ 234,209, 0, 40, 87,123, 22,250,127,223,242, 20,251,129, 0,112, -/* 0x0810 */ 125, 59,220, 48,127,202,168, 56,251,193, 0,120,126,222,178, 20, -/* 0x0820 */ 127,138,226, 20,127,202,240, 80, 87,116, 7,126, 64,146, 0, 12, -/* 0x0830 */ 56,160, 0, 0, 72, 0, 0, 8, 56,160, 0, 2,124,165,163,120, +/* 0x0730 */ 75,255,252, 57, 96, 0, 0, 0, 62,192, 0, 1, 59, 32, 0, 0, +/* 0x0740 */ 122,214,131,228,127,222, 24, 80, 46, 50, 0, 0, 57, 62, 0,120, +/* 0x0750 */ 98,214, 0, 1,249, 33, 0,128,122,233, 7,164,127, 90,208,248, +/* 0x0760 */ 249, 33, 0,136,161, 92, 0, 56,127,138,200, 0, 64,157, 2,168, +/* 0x0770 */ 129, 80, 0, 0, 65,146, 0, 36, 47,138, 0, 6, 64,158, 0, 28, +/* 0x0780 */ 232,176, 0, 16,126,227,187,120, 56,128, 0, 3,124,190, 42, 20, +/* 0x0790 */ 75,255,254, 73, 72, 0, 2,112, 47,138, 0, 1, 64,158, 2,104, +/* 0x07a0 */ 65,146, 0, 76,233, 80, 0, 8, 47,170, 0, 0, 64,158, 0, 64, +/* 0x07b0 */ 233, 92, 0, 32,232,176, 0, 16,126,227,187,120, 56,128, 0, 3, +/* 0x07c0 */ 125, 94, 82, 20,124,170, 42, 20, 75,255,254, 17,160,188, 0, 56, +/* 0x07d0 */ 126,227,187,120, 56,128, 0, 5, 75,255,254, 1,160,188, 0, 54, +/* 0x07e0 */ 126,227,187,120, 56,128, 0, 4, 75,255,253,241,131,112, 0, 4, +/* 0x07f0 */ 235,176, 0, 16, 61, 32,115, 81, 97, 41, 98, 64,235,240, 0, 32, +/* 0x0800 */ 234,176, 0, 40, 87,123, 22,250,127,190,234, 20,251,225, 0,112, +/* 0x0810 */ 125, 59,220, 48,127,170,160, 56,251,161, 0,120,126,189,170, 20, +/* 0x0820 */ 127,234,250, 20,127,170,232, 80, 87,115, 7,126, 64,146, 0, 12, +/* 0x0830 */ 56,160, 0, 0, 72, 0, 0, 8, 56,160, 0, 2,124,165,155,120, /* 0x0840 */ 124,165, 7,180, 64,146, 0, 16,232,225, 1, 96, 56,192, 0, 18, -/* 0x0850 */ 72, 0, 0, 12, 56,192, 0, 50, 56,224,255,255,233, 17, 0, 8, -/* 0x0860 */ 127,195,243,120,127,132,227,120,125, 10, 64, 80, 75,255,250,253, -/* 0x0870 */ 96, 0, 0, 0,127,190, 24, 0, 65,254, 0, 16, 56, 96, 0,127, -/* 0x0880 */ 75,255,251, 1, 96, 0, 0, 0, 65,146, 0, 24,126, 99,155,120, -/* 0x0890 */ 56,129, 0,112,126, 5,131,120,125,230,123,120, 75,255,251,157, -/* 0x08a0 */ 125, 92, 0,208,123,105,255,227,125, 90,168, 56, 64,130, 0, 12, -/* 0x08b0 */ 64,146, 0, 48, 72, 0, 0,188, 47,186, 0, 0, 65,158,255,244, -/* 0x08c0 */ 127, 73, 3,166,124,254,226, 20, 57, 0, 0, 0, 57, 32, 0, 0, -/* 0x08d0 */ 125, 39, 65,174, 57, 8, 0, 1, 66, 0,255,244, 75,255,255,212, -/* 0x08e0 */ 233, 17, 0, 0,121, 8, 7,194,121, 8, 0, 2,127,168,184, 0, -/* 0x08f0 */ 64,158, 0,100,232,177, 0, 40,233, 17, 0, 32,232,241, 0, 16, -/* 0x0900 */ 127,165, 64, 0, 64,158, 0,208,124,165, 58, 20,129, 33, 0,136, -/* 0x0910 */ 124,165,250, 20,125, 5, 0,208,125, 8, 72, 56, 43,136, 0, 11, -/* 0x0920 */ 64,157, 0,180, 61, 32, 68, 0,125,195,115,120, 97, 41, 0, 2, -/* 0x0930 */ 56,128, 0, 0,145, 37, 0, 0, 61, 32,127,236, 97, 41,251,120, -/* 0x0940 */ 145, 37, 0, 4, 61, 32, 78,128, 97, 41, 0, 32,145, 37, 0, 8, -/* 0x0950 */ 75,255,252,137,127,195,243,120,127,132,227,120,126,133, 7,180, -/* 0x0960 */ 75,255,250, 81, 96, 0, 0, 0, 47,163, 0, 0, 64,222,255, 16, -/* 0x0970 */ 127,154,226, 20,127,222,226, 20,127,190,176, 64, 64,156, 0, 44, -/* 0x0980 */ 127,195,243,120,124,158,176, 80,126,133, 7,180, 56,192, 0, 50, -/* 0x0990 */ 56,224,255,255, 57, 0, 0, 0, 75,255,249,209, 96, 0, 0, 0, -/* 0x09a0 */ 127,190, 24, 0, 64,222,254,216, 59, 57, 0, 1, 58, 49, 0, 56, -/* 0x09b0 */ 127, 57, 7,180, 75,255,253,176,251,242, 0, 0, 56, 33, 1, 32, -/* 0x09c0 */ 129,129, 0, 8,125,144,129, 32,232,125, 0, 24,124,127, 26, 20, -/* 0x09d0 */ 72, 0, 1,240,233, 33, 0,128,233, 17, 0, 8,124,169, 58, 20, -/* 0x09e0 */ 47,168, 0, 0, 56,165, 0, 24, 65,158,255, 60, 75,255,255,104, -/* 0x09f0 */ 0, 0, 0, 0, 0, 0, 0, 3,128, 18, 0, 0,124, 8, 2,166, -/* 0x0a00 */ 72, 0, 1,153,248, 33,255, 17,125, 61, 75,120,129, 35, 0, 0, -/* 0x0a10 */ 124,191, 43,120,124,218, 51,120, 56,192, 0, 0,125, 88, 83,120, -/* 0x0a20 */ 249, 33, 0,144,248,161, 0,152,124,229, 59,120, 59,159, 0, 64, -/* 0x0a30 */ 129, 35, 0, 4,248, 97, 0,120, 59,192, 0, 0,248, 97, 0,136, -/* 0x0a40 */ 248,129, 0,128, 57, 41, 0, 12,248,225, 0,160,249, 1, 0,168, -/* 0x0a50 */ 249, 33, 0,112, 56, 97, 0,112, 56,129, 0,144, 75,255,249,221, -/* 0x0a60 */ 232,225, 0,160,233, 1, 0,168, 56,129, 0,128, 56,160, 0, 0, -/* 0x0a70 */ 127, 70,211,120,127,169,235,120,127, 10,195,120,127,227,251,120, -/* 0x0a80 */ 75,255,251,177, 56,128, 0, 9,124,123, 27,120,127, 67,211,120, -/* 0x0a90 */ 127,101,219,120, 75,255,251, 69,161, 63, 0, 56,127,137,240, 64, -/* 0x0aa0 */ 64,157, 0,184,129, 60, 0, 0, 47,137, 0, 3, 64,158, 0,156, -/* 0x0ab0 */ 232,124, 0, 16,233, 61, 0, 0, 56,128, 0, 0, 56,160, 0, 0, -/* 0x0ac0 */ 124, 99, 74, 20, 75,255,248,221, 96, 0, 0, 0, 47,131, 0, 0, -/* 0x0ad0 */ 124,121, 27,120, 64,252, 0, 16, 56, 96, 0,127, 75,255,248,165, -/* 0x0ae0 */ 96, 0, 0, 0,127,228,251,120, 56,160, 4, 0, 75,255,248,173, -/* 0x0af0 */ 96, 0, 0, 0, 47,163, 4, 0, 64,222,255,224, 57, 32, 0, 0, -/* 0x0b00 */ 56,128, 0, 0,249, 61, 0, 0,127, 37,203,120, 56,192, 0, 0, -/* 0x0b10 */ 56,224, 0, 0, 57, 0, 0, 0,127,169,235,120,127, 10,195,120, -/* 0x0b20 */ 127,227,251,120, 75,255,251, 13,232,189, 0, 0, 56,128, 0, 7, -/* 0x0b30 */ 124,123, 27,120,127, 67,211,120, 75,255,250,161,127, 35,203,120, -/* 0x0b40 */ 75,255,248,105, 96, 0, 0, 0, 59,222, 0, 1, 59,156, 0, 56, -/* 0x0b50 */ 123,222, 0, 32, 75,255,255, 68, 56, 33, 0,240,127, 99,219,120, -/* 0x0b60 */ 72, 0, 0,136, 0, 0, 0, 0, 0, 0, 0, 1,128, 8, 0, 0, -/* 0x0b70 */ 249,193,255,112,249,225,255,120,250, 1,255,128,250, 33,255,136, -/* 0x0b80 */ 250, 65,255,144,250, 97,255,152,250,129,255,160,250,161,255,168, -/* 0x0b90 */ 250,193,255,176,250,225,255,184,251, 1,255,192,251, 33,255,200, -/* 0x0ba0 */ 251, 65,255,208,251, 97,255,216,251,129,255,224,251,161,255,232, -/* 0x0bb0 */ 251,193,255,240,251,225,255,248,248, 1, 0, 16, 78,128, 0, 32, -/* 0x0bc0 */ 233,193,255,112,233,225,255,120,234, 1,255,128,234, 33,255,136, -/* 0x0bd0 */ 234, 65,255,144,234, 97,255,152,234,129,255,160,234,161,255,168, -/* 0x0be0 */ 234,193,255,176,234,225,255,184,235, 1,255,192,235, 33,255,200, -/* 0x0bf0 */ 235, 65,255,208,235, 97,255,216,235,129,255,224,232, 1, 0, 16, -/* 0x0c00 */ 235,161,255,232,124, 8, 3,166,235,193,255,240,235,225,255,248, -/* 0x0c10 */ 78,128, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 3,200, -/* 0x0c20 */ 0, 0, 0, 0, 0, 16,140, 24, 0, 0, 0, 0, 0, 16, 4, 56, -/* 0x0c30 */ 0, 0, 0, 0, 0, 16,140, 24, 0, 0, 0, 0, 0, 16, 5,216, -/* 0x0c40 */ 0, 0, 0, 0, 0, 16,140, 24, 0, 0, 0, 0, 0, 16, 6, 48, -/* 0x0c50 */ 0, 0, 0, 0, 0, 16,140, 24, 0, 0, 0, 0, 0, 16, 9,252, -/* 0x0c60 */ 0, 0, 0, 0, 0, 16,140, 24 +/* 0x0850 */ 72, 0, 0, 12, 56,192, 0, 50, 56,224,255,255,233, 16, 0, 8, +/* 0x0860 */ 127,163,235,120,127,228,251,120,125, 10, 64, 80, 75,255,250,253, +/* 0x0870 */ 96, 0, 0, 0,127,189, 24, 0, 65,254, 0, 16, 56, 96, 0,127, +/* 0x0880 */ 75,255,251, 1, 96, 0, 0, 0, 65,146, 0, 24,126, 67,147,120, +/* 0x0890 */ 56,129, 0,112,125,229,123,120,125,198,115,120, 75,255,251,157, +/* 0x08a0 */ 127, 31, 0,208,123,105,255,227,127, 24,160, 56, 64,130, 0, 12, +/* 0x08b0 */ 64,146, 0, 48, 72, 0, 1, 24, 47,184, 0, 0, 65,158,255,244, +/* 0x08c0 */ 127, 9, 3,166,125, 29,250, 20, 57, 64, 0, 0, 57, 32, 0, 0, +/* 0x08d0 */ 125, 40, 81,174, 57, 74, 0, 1, 66, 0,255,244, 75,255,255,212, +/* 0x08e0 */ 233, 80, 0, 0,121, 74, 7,194,121, 74, 0, 2,127,170,176, 0, +/* 0x08f0 */ 64,158, 0,192,235,112, 0, 40,233, 80, 0, 32,233, 16, 0, 16, +/* 0x0900 */ 127,187, 80, 0, 64,158, 0, 36,127,123, 66, 20,127,123,242, 20, +/* 0x0910 */ 125, 91, 0,208,125, 74,208, 56, 43,138, 0, 11, 64,157, 0, 12, +/* 0x0920 */ 57, 64, 0, 0, 72, 0, 0, 60,233, 80, 0, 8, 47,170, 0, 0, +/* 0x0930 */ 65,158, 1, 0, 56, 96, 0, 0, 56,128, 16, 0, 56,160, 0, 3, +/* 0x0940 */ 56,192, 0, 34, 56,224,255,255, 57, 0, 0, 0, 75,255,250, 29, +/* 0x0950 */ 96, 0, 0, 0,124,123, 27,121, 65,130, 0, 88, 57, 64, 0, 1, +/* 0x0960 */ 61, 32, 68, 0, 47,170, 0, 0, 97, 41, 0, 2,145, 59, 0, 0, +/* 0x0970 */ 61, 32,127,236, 97, 41,251,120,145, 59, 0, 4, 61, 32, 78,128, +/* 0x0980 */ 97, 41, 0, 32,145, 59, 0, 8, 65,158, 0, 24,127, 99,219,120, +/* 0x0990 */ 56,128, 0, 12, 56,160, 0, 5, 75,255,250, 25, 96, 0, 0, 0, +/* 0x09a0 */ 232, 97, 0,136, 56,128, 0, 0,127,101,219,120, 75,255,252, 45, +/* 0x09b0 */ 127,163,235,120,127,228,251,120,126,101, 7,180, 75,255,249,245, +/* 0x09c0 */ 96, 0, 0, 0, 47,163, 0, 0, 64,222,254,180,127,248,250, 20, +/* 0x09d0 */ 127,189,250, 20,127,189,168, 64, 64,156, 0, 44,127,163,235,120, +/* 0x09e0 */ 124,157,168, 80,126,101, 7,180, 56,192, 0, 50, 56,224,255,255, +/* 0x09f0 */ 57, 0, 0, 0, 75,255,249,117, 96, 0, 0, 0,127,189, 24, 0, +/* 0x0a00 */ 64,222,254,124, 59, 57, 0, 1, 58, 16, 0, 56,127, 57, 7,180, +/* 0x0a10 */ 75,255,253, 84,251,209, 0, 0, 56, 33, 1, 32,129,129, 0, 8, +/* 0x0a20 */ 125,144,129, 32,232,124, 0, 24,124,126, 26, 20, 72, 0, 1,228, +/* 0x0a30 */ 233, 33, 0,128,127,105, 66, 20, 59,123, 0, 24, 75,255,255, 36, +/* 0x0a40 */ 0, 0, 0, 0, 0, 0, 0, 3,128, 18, 0, 0,124, 8, 2,166, +/* 0x0a50 */ 72, 0, 1,153,248, 33,255, 17,125, 61, 75,120,129, 35, 0, 0, +/* 0x0a60 */ 124,191, 43,120,124,218, 51,120, 56,192, 0, 0,125, 88, 83,120, +/* 0x0a70 */ 249, 33, 0,144,248,161, 0,152,124,229, 59,120, 59,159, 0, 64, +/* 0x0a80 */ 129, 35, 0, 4,248, 97, 0,120, 59,192, 0, 0,248, 97, 0,136, +/* 0x0a90 */ 248,129, 0,128, 57, 41, 0, 12,248,225, 0,160,249, 1, 0,168, +/* 0x0aa0 */ 249, 33, 0,112, 56, 97, 0,112, 56,129, 0,144, 75,255,249,141, +/* 0x0ab0 */ 232,225, 0,160,233, 1, 0,168, 56,129, 0,128, 56,160, 0, 0, +/* 0x0ac0 */ 127, 70,211,120,127,169,235,120,127, 10,195,120,127,227,251,120, +/* 0x0ad0 */ 75,255,251, 97, 56,128, 0, 9,124,123, 27,120,127, 67,211,120, +/* 0x0ae0 */ 127,101,219,120, 75,255,250,245,161, 63, 0, 56,127,137,240, 64, +/* 0x0af0 */ 64,157, 0,184,129, 60, 0, 0, 47,137, 0, 3, 64,158, 0,156, +/* 0x0b00 */ 232,124, 0, 16,233, 61, 0, 0, 56,128, 0, 0, 56,160, 0, 0, +/* 0x0b10 */ 124, 99, 74, 20, 75,255,248,141, 96, 0, 0, 0, 47,131, 0, 0, +/* 0x0b20 */ 124,121, 27,120, 64,252, 0, 16, 56, 96, 0,127, 75,255,248, 85, +/* 0x0b30 */ 96, 0, 0, 0,127,228,251,120, 56,160, 4, 0, 75,255,248, 93, +/* 0x0b40 */ 96, 0, 0, 0, 47,163, 4, 0, 64,222,255,224, 57, 32, 0, 0, +/* 0x0b50 */ 56,128, 0, 0,249, 61, 0, 0,127, 37,203,120, 56,192, 0, 0, +/* 0x0b60 */ 56,224, 0, 0, 57, 0, 0, 0,127,169,235,120,127, 10,195,120, +/* 0x0b70 */ 127,227,251,120, 75,255,250,189,232,189, 0, 0, 56,128, 0, 7, +/* 0x0b80 */ 124,123, 27,120,127, 67,211,120, 75,255,250, 81,127, 35,203,120, +/* 0x0b90 */ 75,255,248, 25, 96, 0, 0, 0, 59,222, 0, 1, 59,156, 0, 56, +/* 0x0ba0 */ 123,222, 0, 32, 75,255,255, 68, 56, 33, 0,240,127, 99,219,120, +/* 0x0bb0 */ 72, 0, 0,136, 0, 0, 0, 0, 0, 0, 0, 1,128, 8, 0, 0, +/* 0x0bc0 */ 249,193,255,112,249,225,255,120,250, 1,255,128,250, 33,255,136, +/* 0x0bd0 */ 250, 65,255,144,250, 97,255,152,250,129,255,160,250,161,255,168, +/* 0x0be0 */ 250,193,255,176,250,225,255,184,251, 1,255,192,251, 33,255,200, +/* 0x0bf0 */ 251, 65,255,208,251, 97,255,216,251,129,255,224,251,161,255,232, +/* 0x0c00 */ 251,193,255,240,251,225,255,248,248, 1, 0, 16, 78,128, 0, 32, +/* 0x0c10 */ 233,193,255,112,233,225,255,120,234, 1,255,128,234, 33,255,136, +/* 0x0c20 */ 234, 65,255,144,234, 97,255,152,234,129,255,160,234,161,255,168, +/* 0x0c30 */ 234,193,255,176,234,225,255,184,235, 1,255,192,235, 33,255,200, +/* 0x0c40 */ 235, 65,255,208,235, 97,255,216,235,129,255,224,232, 1, 0, 16, +/* 0x0c50 */ 235,161,255,232,124, 8, 3,166,235,193,255,240,235,225,255,248, +/* 0x0c60 */ 78,128, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 3,200, +/* 0x0c70 */ 0, 0, 0, 0, 0, 16,140,104, 0, 0, 0, 0, 0, 16, 4, 56, +/* 0x0c80 */ 0, 0, 0, 0, 0, 16,140,104, 0, 0, 0, 0, 0, 16, 5,216, +/* 0x0c90 */ 0, 0, 0, 0, 0, 16,140,104, 0, 0, 0, 0, 0, 16, 6, 48, +/* 0x0ca0 */ 0, 0, 0, 0, 0, 16,140,104, 0, 0, 0, 0, 0, 16, 10, 76, +/* 0x0cb0 */ 0, 0, 0, 0, 0, 16,140,104 }; diff -Nru upx-ucl-3.95/src/stub/powerpc-darwin.dylib-entry.h upx-ucl-3.96/src/stub/powerpc-darwin.dylib-entry.h --- upx-ucl-3.95/src/stub/powerpc-darwin.dylib-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc-darwin.dylib-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc-darwin.macho-entry.h upx-ucl-3.96/src/stub/powerpc-darwin.macho-entry.h --- upx-ucl-3.95/src/stub/powerpc-darwin.macho-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc-darwin.macho-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc-darwin.macho-fold.h upx-ucl-3.96/src/stub/powerpc-darwin.macho-fold.h --- upx-ucl-3.95/src/stub/powerpc-darwin.macho-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc-darwin.macho-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc-darwin.macho-upxmain.h upx-ucl-3.96/src/stub/powerpc-darwin.macho-upxmain.h --- upx-ucl-3.95/src/stub/powerpc-darwin.macho-upxmain.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc-darwin.macho-upxmain.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc-linux.elf-entry.h upx-ucl-3.96/src/stub/powerpc-linux.elf-entry.h --- upx-ucl-3.95/src/stub/powerpc-linux.elf-entry.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc-linux.elf-entry.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc-linux.elf-fold.h upx-ucl-3.96/src/stub/powerpc-linux.elf-fold.h --- upx-ucl-3.95/src/stub/powerpc-linux.elf-fold.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc-linux.elf-fold.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,11 +1,11 @@ /* powerpc-linux.elf-fold.h - created from powerpc-linux.elf-fold.bin, 4184 (0x1058) bytes + created from powerpc-linux.elf-fold.bin, 4292 (0x10c4) bytes This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -31,17 +31,17 @@ */ -#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 4184 -#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0xd19c5db6 -#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x05c62add +#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 4292 +#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x16bb7847 +#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x2b07e6ab -unsigned char stub_powerpc_linux_elf_fold[4184] = { +unsigned char stub_powerpc_linux_elf_fold[4292] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 2, 0, 20, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, -/* 0x0040 */ 0, 16, 0, 0, 0, 0, 16, 88, 0, 0, 16, 88, 0, 0, 0, 5, -/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 16, 88, 0, 0, 0, 0, +/* 0x0040 */ 0, 16, 0, 0, 0, 0, 16,196, 0, 0, 16,196, 0, 0, 0, 5, +/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 16,196, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 56, 96,255,248, 84, 99, 72, 44, 78,128, 0, 32, 96, 0, 0, 0, @@ -68,7 +68,7 @@ /* 0x01d0 */ 132, 4,255,252,127,132, 8, 64,148, 3,255,252, 65,157,255,244, /* 0x01e0 */ 124, 97, 27,120,148, 33,247,240,127, 3,195,120,126,228,187,120, /* 0x01f0 */ 56,161, 0, 16,127, 70,211,120,127,231,251,120,126,200,179,120, -/* 0x0200 */ 127, 41,203,120, 72, 0, 12, 85, 56, 33, 8, 16,124,127, 27,120, +/* 0x0200 */ 127, 41,203,120, 72, 0, 12,193, 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,129,127, 67,211,120,128, 3, 0, 0,128,131, 0, 4, @@ -134,168 +134,175 @@ /* 0x05f0 */ 129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 0,128, 31, 0, 32, /* 0x0600 */ 124, 0, 72, 80,144, 11, 0, 0, 75,255,254, 20,129, 97, 0, 0, /* 0x0610 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, -/* 0x0620 */ 78,128, 0, 32,148, 33,255,224,147,225, 0, 28,124, 63, 11,120, -/* 0x0630 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, 56, 0, 0, 0, -/* 0x0640 */ 144, 31, 0, 20,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1, -/* 0x0650 */ 64,158, 0,196,129, 63, 0, 8,128, 9, 0, 24, 84, 0, 7,254, -/* 0x0660 */ 47,128, 0, 0, 65,158, 0,176,129, 63, 0, 8,129,127, 0, 8, -/* 0x0670 */ 129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 12, -/* 0x0680 */ 124, 9, 2, 20,144, 31, 0, 20,129, 63, 0, 8,129,127, 0, 8, -/* 0x0690 */ 129, 41, 0, 20,128, 11, 0, 16,127,137, 0, 0, 64,158, 0, 28, -/* 0x06a0 */ 128, 31, 0, 20,125, 32, 0,208,128, 31, 0, 16,125, 32, 0, 56, -/* 0x06b0 */ 43,128, 0, 7, 65,157, 0, 48,129,127, 0, 8,128, 31, 0, 12, -/* 0x06c0 */ 29, 32, 0, 52,128, 11, 0, 8,125, 41, 2, 20, 56, 9, 0, 8, -/* 0x06d0 */ 144, 31, 0, 20,129, 63, 0, 8,128, 9, 0, 4, 47,128, 0, 0, -/* 0x06e0 */ 64,158, 0, 44,129, 63, 0, 20, 60, 0, 68, 0, 96, 0, 0, 2, -/* 0x06f0 */ 144, 9, 0, 0,129, 63, 0, 20, 57, 41, 0, 4, 60, 0, 78,128, -/* 0x0700 */ 96, 0, 0, 32,144, 9, 0, 0, 72, 0, 0, 12, 56, 0, 0, 0, -/* 0x0710 */ 144, 31, 0, 20,128, 31, 0, 20,124, 3, 3,120,129, 97, 0, 0, -/* 0x0720 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224, -/* 0x0730 */ 147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, -/* 0x0740 */ 128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 8, -/* 0x0750 */ 125, 43, 75,120, 56, 0, 0, 0,152, 11, 0, 0, 57, 41, 0, 1, -/* 0x0760 */ 145, 63, 0, 8,129, 63, 0, 12, 56, 9,255,255,144, 31, 0, 12, -/* 0x0770 */ 47,128, 0, 0, 65,158, 0, 8, 75,255,255,212,129, 97, 0, 0, -/* 0x0780 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224, -/* 0x0790 */ 147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, -/* 0x07a0 */ 56, 0, 0, 0,144, 31, 0, 16,128, 31, 0, 8, 47,128, 0, 0, -/* 0x07b0 */ 65,158, 0, 76,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 12, -/* 0x07c0 */ 127,137, 0, 0, 64,158, 0, 16,128, 31, 0, 8,144, 31, 0, 20, -/* 0x07d0 */ 72, 0, 0, 52,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1, -/* 0x07e0 */ 64,158, 0, 12,128, 31, 0, 8,144, 31, 0, 16,129, 63, 0, 8, -/* 0x07f0 */ 56, 9, 0, 8,144, 31, 0, 8, 75,255,255,188, 56, 0, 0, 0, -/* 0x0800 */ 144, 31, 0, 20,128,127, 0, 20,129, 97, 0, 0,131,235,255,252, -/* 0x0810 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,124, 8, 2,166, -/* 0x0820 */ 147,225, 0, 28,144, 1, 0, 36,124, 63, 11,120,144,127, 0, 8, -/* 0x0830 */ 144,159, 0, 12,144,191, 0, 16,128,127, 0, 8,128,159, 0, 12, -/* 0x0840 */ 75,255,255, 77,124, 96, 27,120,144, 31, 0, 8,128, 31, 0, 8, -/* 0x0850 */ 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 8,128, 31, 0, 16, -/* 0x0860 */ 144, 9, 0, 4,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, -/* 0x0870 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,208, -/* 0x0880 */ 124, 8, 2,166,147,225, 0, 44,144, 1, 0, 52,124, 63, 11,120, -/* 0x0890 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20, -/* 0x08a0 */ 75,255,247,225,124, 96, 27,120,144, 31, 0, 24, 56, 0,255,255, -/* 0x08b0 */ 144, 31, 0, 28, 56, 0, 0, 0,144, 31, 0, 32, 56, 0, 0, 0, -/* 0x08c0 */ 144, 31, 0, 36,129, 63, 0, 16, 56, 9,255,255,144, 31, 0, 16, -/* 0x08d0 */ 47,128, 0, 0, 65,156, 0,124,129, 63, 0, 12,128, 9, 0, 0, -/* 0x08e0 */ 47,128, 0, 1, 64,158, 0, 92,129, 63, 0, 12,129, 41, 0, 8, -/* 0x08f0 */ 128, 31, 0, 28,127,137, 0, 64, 64,156, 0, 16,129, 63, 0, 12, -/* 0x0900 */ 128, 9, 0, 8,144, 31, 0, 28,129, 63, 0, 12,129,127, 0, 12, -/* 0x0910 */ 129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 32, -/* 0x0920 */ 127,137, 0, 64, 64,157, 0, 28,129, 63, 0, 12,129,127, 0, 12, -/* 0x0930 */ 129, 41, 0, 20,128, 11, 0, 8,124, 9, 2, 20,144, 31, 0, 32, -/* 0x0940 */ 129, 63, 0, 12, 56, 9, 0, 32,144, 31, 0, 12, 75,255,255,120, -/* 0x0950 */ 129, 63, 0, 28,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 28, -/* 0x0960 */ 129, 63, 0, 32,128, 31, 0, 28,125, 32, 72, 80,128, 31, 0, 24, -/* 0x0970 */ 125, 32, 72, 80, 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56, -/* 0x0980 */ 144, 31, 0, 32,128, 31, 0, 8, 96, 0, 0, 34,128,127, 0, 28, -/* 0x0990 */ 128,159, 0, 32, 56,160, 0, 0,124, 6, 3,120, 56,224,255,255, -/* 0x09a0 */ 57, 0, 0, 0, 75,255,248,201,144,127, 0, 36,129,127, 0, 20, -/* 0x09b0 */ 129, 63, 0, 32,128, 31, 0, 36,124, 9, 2, 20,144, 11, 0, 0, -/* 0x09c0 */ 129, 63, 0, 36,128, 31, 0, 28,124, 0, 72, 80,124, 3, 3,120, -/* 0x09d0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, -/* 0x09e0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,144,124, 8, 2,166, -/* 0x09f0 */ 147,225, 0,108,144, 1, 0,116,124, 63, 11,120,144,127, 0, 8, -/* 0x0a00 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24, -/* 0x0a10 */ 145, 31, 0, 28, 75,255,246,109,124, 96, 27,120,124, 0, 0,248, -/* 0x0a20 */ 144, 31, 0, 32,129, 63, 0, 12,129, 41, 0, 28,128, 31, 0, 12, -/* 0x0a30 */ 124, 9, 2, 20,144, 31, 0, 36,129, 63, 0, 12,160, 9, 0, 16, -/* 0x0a40 */ 84, 0, 4, 62, 47,128, 0, 2, 64,158, 0, 16, 56, 0, 0, 16, -/* 0x0a50 */ 144, 31, 0, 84, 72, 0, 0, 12, 56, 0, 0, 0,144, 31, 0, 84, -/* 0x0a60 */ 129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62, 57, 63, 0, 40, -/* 0x0a70 */ 128,127, 0, 84,128,159, 0, 36,124, 5, 3,120,125, 38, 75,120, -/* 0x0a80 */ 75,255,253,253,124, 96, 27,120,144, 31, 0, 44, 56, 0, 0, 0, -/* 0x0a90 */ 144, 31, 0, 48,129, 63, 0, 12,160, 9, 0, 44, 84, 9, 4, 62, -/* 0x0aa0 */ 128, 31, 0, 48,127,137, 0, 0, 64,157, 3, 68,128, 31, 0, 16, -/* 0x0ab0 */ 47,128, 0, 0, 65,158, 0, 56,129, 63, 0, 36,128, 9, 0, 0, -/* 0x0ac0 */ 47,128, 0, 6, 64,158, 0, 40,129, 63, 0, 36,129, 41, 0, 8, -/* 0x0ad0 */ 128, 31, 0, 44,124, 9, 2, 20,128,127, 0, 20, 56,128, 0, 3, -/* 0x0ae0 */ 124, 5, 3,120, 75,255,253, 53, 72, 0, 2,232,129, 63, 0, 36, -/* 0x0af0 */ 128, 9, 0, 0, 47,128, 0, 1, 64,158, 2,216,128, 31, 0, 16, -/* 0x0b00 */ 47,128, 0, 0, 65,158, 0,120,129, 63, 0, 36,128, 9, 0, 4, -/* 0x0b10 */ 47,128, 0, 0, 64,158, 0,104,129, 63, 0, 36,129, 41, 0, 8, -/* 0x0b20 */ 128, 31, 0, 44,125,105, 2, 20,129, 63, 0, 12,128, 9, 0, 28, -/* 0x0b30 */ 124, 11, 2, 20,128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120, -/* 0x0b40 */ 75,255,252,217,129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62, -/* 0x0b50 */ 128,127, 0, 20, 56,128, 0, 5,124, 5, 3,120, 75,255,252,189, -/* 0x0b60 */ 129, 63, 0, 12,160, 9, 0, 42, 84, 0, 4, 62,128,127, 0, 20, -/* 0x0b70 */ 56,128, 0, 4,124, 5, 3,120, 75,255,252,161,129, 63, 0, 36, -/* 0x0b80 */ 128, 9, 0, 24, 84, 0, 7,126, 84, 9, 16, 58, 60, 0,115, 81, -/* 0x0b90 */ 96, 0, 98, 64,124, 0, 76, 48, 84, 0, 7,126,144, 31, 0, 52, -/* 0x0ba0 */ 129, 63, 0, 36,128, 9, 0, 16,144, 31, 0, 56,144, 31, 0, 64, -/* 0x0bb0 */ 129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44,124, 9, 2, 20, -/* 0x0bc0 */ 144, 31, 0, 60,144, 31, 0, 68,129, 63, 0, 36,129, 41, 0, 20, -/* 0x0bd0 */ 128, 31, 0, 68,124, 9, 2, 20,144, 31, 0, 72,129, 63, 0, 68, -/* 0x0be0 */ 128, 31, 0, 32,125, 32, 0, 56,144, 31, 0, 76,129, 63, 0, 64, -/* 0x0bf0 */ 128, 31, 0, 76,124, 9, 2, 20,144, 31, 0, 64,129, 63, 0, 68, -/* 0x0c00 */ 128, 31, 0, 76,124, 0, 72, 80,144, 31, 0, 68,128, 31, 0, 16, -/* 0x0c10 */ 47,128, 0, 0, 65,158, 0,120,128,127, 0, 68,128,159, 0, 64, -/* 0x0c20 */ 56,160, 0, 3, 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, -/* 0x0c30 */ 75,255,246, 61,124, 96, 27,120,129, 63, 0, 68,127,128, 72, 0, -/* 0x0c40 */ 65,158, 0, 8, 72, 0, 1, 32, 56, 31, 0, 56,144, 31, 0, 88, -/* 0x0c50 */ 128, 31, 0, 52, 84, 0, 7,122, 47,128, 0, 0, 65,158, 0, 16, -/* 0x0c60 */ 128, 31, 0, 28,144, 31, 0, 92, 72, 0, 0, 12, 56, 0, 0, 0, -/* 0x0c70 */ 144, 31, 0, 92,128,127, 0, 16,128,159, 0, 88,128,191, 0, 8, -/* 0x0c80 */ 128,223, 0, 92, 75,255,247,117, 72, 0, 0, 68,129, 63, 0, 36, -/* 0x0c90 */ 129, 41, 0, 4,128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 68, -/* 0x0ca0 */ 128,159, 0, 64,128,191, 0, 52, 56,192, 0, 18,128,255, 0, 8, -/* 0x0cb0 */ 124, 8, 3,120, 75,255,245,185,124,105, 27,120,128, 31, 0, 68, -/* 0x0cc0 */ 127,137, 0, 0, 65,158, 0, 8, 72, 0, 0,156,128, 31, 0, 64, -/* 0x0cd0 */ 125, 32, 0,208,128, 31, 0, 32,125, 32, 0, 56,144, 31, 0, 76, -/* 0x0ce0 */ 128, 31, 0, 52, 84, 0, 7,188, 47,128, 0, 0, 65,158, 0, 28, -/* 0x0cf0 */ 128, 31, 0, 68,129, 63, 0, 64,124, 0, 74, 20,124, 3, 3,120, -/* 0x0d00 */ 128,159, 0, 76, 75,255,250, 41,128, 31, 0, 16, 47,128, 0, 0, -/* 0x0d10 */ 65,158, 0, 92,128,127, 0, 36,128,159, 0, 44,128,191, 0, 32, -/* 0x0d20 */ 75,255,249, 5,124, 96, 27,120,144, 31, 0, 80,128, 31, 0, 80, -/* 0x0d30 */ 47,128, 0, 0, 65,158, 0, 20,128,127, 0, 20, 56,128, 0, 0, -/* 0x0d40 */ 128,191, 0, 80, 75,255,250,213,128,127, 0, 68,128,159, 0, 64, -/* 0x0d50 */ 128,191, 0, 52, 75,255,245,101,124, 96, 27,120, 47,128, 0, 0, -/* 0x0d60 */ 65,158, 0, 12, 56, 96, 0,127, 75,255,245, 25,129, 63, 0, 64, -/* 0x0d70 */ 128, 31, 0, 76,125, 41, 2, 20,128, 31, 0, 68,124, 0, 74, 20, -/* 0x0d80 */ 144, 31, 0, 68,129, 63, 0, 68,128, 31, 0, 72,127,137, 0, 64, -/* 0x0d90 */ 64,156, 0, 64,129, 63, 0, 72,128, 31, 0, 68,124, 0, 72, 80, -/* 0x0da0 */ 128,127, 0, 68,124, 4, 3,120,128,191, 0, 52, 56,192, 0, 50, -/* 0x0db0 */ 56,224,255,255, 57, 0, 0, 0, 75,255,244,181,124,105, 27,120, -/* 0x0dc0 */ 128, 31, 0, 68,127,137, 0, 0, 65,158, 0, 8, 72, 0, 0, 0, -/* 0x0dd0 */ 129, 63, 0, 36, 56, 9, 0, 32,144, 31, 0, 36,129, 63, 0, 48, -/* 0x0de0 */ 56, 9, 0, 1,144, 31, 0, 48, 75,255,252,172,128, 31, 0, 16, -/* 0x0df0 */ 47,128, 0, 0, 65,158, 0, 32,129, 63, 0, 12,160, 9, 0, 16, -/* 0x0e00 */ 84, 0, 4, 62, 47,128, 0, 3, 65,158, 0, 12,128,127, 0, 40, -/* 0x0e10 */ 75,255,245,169,128, 31, 0, 24, 47,128, 0, 0, 65,158, 0, 16, -/* 0x0e20 */ 129, 63, 0, 24,128, 31, 0, 44,144, 9, 0, 0,129, 63, 0, 12, -/* 0x0e30 */ 129, 41, 0, 24,128, 31, 0, 44,124, 9, 2, 20,124, 3, 3,120, -/* 0x0e40 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, -/* 0x0e50 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,160,124, 8, 2,166, -/* 0x0e60 */ 147,225, 0, 92,144, 1, 0,100,124, 63, 11,120,144,127, 0, 8, -/* 0x0e70 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24, -/* 0x0e80 */ 145, 31, 0, 28,145, 63, 0, 32,129, 63, 0, 8,129, 41, 0, 4, -/* 0x0e90 */ 56, 9, 0, 12,144, 31, 0, 36,128, 31, 0, 16,144, 31, 0, 44, -/* 0x0ea0 */ 129, 63, 0, 8,128, 9, 0, 0,144, 31, 0, 40,128, 31, 0, 8, -/* 0x0eb0 */ 144, 31, 0, 52,128, 31, 0, 12,144, 31, 0, 48, 56, 31, 0, 48, -/* 0x0ec0 */ 57, 63, 0, 40,124, 3, 3,120,125, 36, 75,120,128,191, 0, 24, -/* 0x0ed0 */ 56,192, 0, 0, 75,255,245, 37,129, 63, 0, 52,128, 31, 0, 36, -/* 0x0ee0 */ 124, 0, 72, 80,144, 31, 0, 52,128, 31, 0, 12,144, 31, 0, 48, -/* 0x0ef0 */ 128, 31, 0, 32,144, 31, 0, 56,129, 63, 0, 16, 56, 9, 0, 52, -/* 0x0f00 */ 144, 31, 0, 60, 56, 31, 0, 48, 57, 63, 0, 56,128,127, 0, 24, -/* 0x0f10 */ 128,159, 0, 16,124, 5, 3,120,128,223, 0, 20,125, 39, 75,120, -/* 0x0f20 */ 129, 31, 0, 28, 75,255,250,197,124, 96, 27,120,144, 31, 0, 64, -/* 0x0f30 */ 128,127, 0, 20, 56,128, 0, 9,128,191, 0, 64, 75,255,248,221, -/* 0x0f40 */ 56, 0, 0, 0,144, 31, 0, 68,129, 63, 0, 16, 56, 9, 0, 52, -/* 0x0f50 */ 144, 31, 0, 60,129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62, -/* 0x0f60 */ 128, 31, 0, 68,127,137, 0, 0, 64,157, 0,208,129, 63, 0, 60, -/* 0x0f70 */ 128, 9, 0, 0, 47,128, 0, 3, 64,158, 0,164,129, 63, 0, 60, -/* 0x0f80 */ 129, 41, 0, 8,128, 31, 0, 56,124, 9, 2, 20,124, 3, 3,120, -/* 0x0f90 */ 56,128, 0, 0, 56,160, 0, 0, 75,255,243, 17,124, 96, 27,120, -/* 0x0fa0 */ 144, 31, 0, 72,128, 31, 0, 72, 47,128, 0, 0, 64,156, 0, 8, -/* 0x0fb0 */ 72, 0, 0, 32,128,127, 0, 72,128,159, 0, 16, 56,160, 2, 0, -/* 0x0fc0 */ 75,255,242,225,124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, -/* 0x0fd0 */ 56, 96, 0,127, 75,255,242,173, 56, 31, 0, 56,128,127, 0, 72, -/* 0x0fe0 */ 128,159, 0, 16, 56,160, 0, 0,128,223, 0, 20,124, 7, 3,120, -/* 0x0ff0 */ 57, 0, 0, 0, 75,255,249,245,124, 96, 27,120,144, 31, 0, 64, -/* 0x1000 */ 128,127, 0, 20, 56,128, 0, 7,128,191, 0, 56, 75,255,248, 13, -/* 0x1010 */ 128,127, 0, 72, 75,255,242,157, 72, 0, 0, 32,129, 63, 0, 60, -/* 0x1020 */ 56, 9, 0, 32,144, 31, 0, 60,129, 63, 0, 68, 56, 9, 0, 1, -/* 0x1030 */ 144, 31, 0, 68, 75,255,255, 32,128, 31, 0, 64,124, 3, 3,120, -/* 0x1040 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, -/* 0x1050 */ 125, 97, 91,120, 78,128, 0, 32 +/* 0x0620 */ 78,128, 0, 32,148, 33,255,208,124, 8, 2,166,147,225, 0, 44, +/* 0x0630 */ 144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, +/* 0x0640 */ 144,191, 0, 16, 56, 0, 0, 0,144, 31, 0, 20, 56, 0, 0, 0, +/* 0x0650 */ 144, 31, 0, 24,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1, +/* 0x0660 */ 64,158, 1, 24,129, 63, 0, 8,128, 9, 0, 24, 84, 0, 7,254, +/* 0x0670 */ 47,128, 0, 0, 65,158, 1, 4,129, 63, 0, 8,129,127, 0, 8, +/* 0x0680 */ 129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 12, +/* 0x0690 */ 124, 9, 2, 20,144, 31, 0, 24,129, 63, 0, 8,129,127, 0, 8, +/* 0x06a0 */ 129, 41, 0, 20,128, 11, 0, 16,127,137, 0, 0, 64,158, 0, 28, +/* 0x06b0 */ 128, 31, 0, 24,125, 32, 0,208,128, 31, 0, 16,125, 32, 0, 56, +/* 0x06c0 */ 43,128, 0, 7, 65,157, 0,104,129,127, 0, 8,128, 31, 0, 12, +/* 0x06d0 */ 29, 32, 0, 52,128, 11, 0, 8,125, 41, 2, 20, 56, 9, 0, 8, +/* 0x06e0 */ 144, 31, 0, 24,129, 63, 0, 8,128, 9, 0, 4, 47,128, 0, 0, +/* 0x06f0 */ 65,158, 0, 60, 56, 0, 0, 1,144, 31, 0, 20, 56, 96, 0, 0, +/* 0x0700 */ 56,128, 16, 0, 56,160, 0, 3, 56,192, 0, 34, 56,224,255,255, +/* 0x0710 */ 57, 0, 0, 0, 75,255,251, 89,144,127, 0, 24,128, 31, 0, 24, +/* 0x0720 */ 47,128, 0, 0, 64,158, 0, 8, 72, 0, 0, 72,129, 63, 0, 24, +/* 0x0730 */ 60, 0, 68, 0, 96, 0, 0, 2,144, 9, 0, 0,129, 63, 0, 24, +/* 0x0740 */ 57, 41, 0, 4, 60, 0, 78,128, 96, 0, 0, 32,144, 9, 0, 0, +/* 0x0750 */ 128, 31, 0, 20, 47,128, 0, 0, 65,158, 0, 32,128,127, 0, 24, +/* 0x0760 */ 56,128, 0, 8, 56,160, 0, 5, 75,255,251, 81, 72, 0, 0, 12, +/* 0x0770 */ 56, 0, 0, 0,144, 31, 0, 24,128, 31, 0, 24,124, 3, 3,120, +/* 0x0780 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, +/* 0x0790 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,147,225, 0, 28, +/* 0x07a0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,128, 31, 0, 12, +/* 0x07b0 */ 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 8,125, 43, 75,120, +/* 0x07c0 */ 56, 0, 0, 0,152, 11, 0, 0, 57, 41, 0, 1,145, 63, 0, 8, +/* 0x07d0 */ 129, 63, 0, 12, 56, 9,255,255,144, 31, 0, 12, 47,128, 0, 0, +/* 0x07e0 */ 65,158, 0, 8, 75,255,255,212,129, 97, 0, 0,131,235,255,252, +/* 0x07f0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,147,225, 0, 28, +/* 0x0800 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, 56, 0, 0, 0, +/* 0x0810 */ 144, 31, 0, 16,128, 31, 0, 8, 47,128, 0, 0, 65,158, 0, 76, +/* 0x0820 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 12,127,137, 0, 0, +/* 0x0830 */ 64,158, 0, 16,128, 31, 0, 8,144, 31, 0, 20, 72, 0, 0, 52, +/* 0x0840 */ 129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1, 64,158, 0, 12, +/* 0x0850 */ 128, 31, 0, 8,144, 31, 0, 16,129, 63, 0, 8, 56, 9, 0, 8, +/* 0x0860 */ 144, 31, 0, 8, 75,255,255,188, 56, 0, 0, 0,144, 31, 0, 20, +/* 0x0870 */ 128,127, 0, 20,129, 97, 0, 0,131,235,255,252,125, 97, 91,120, +/* 0x0880 */ 78,128, 0, 32,148, 33,255,224,124, 8, 2,166,147,225, 0, 28, +/* 0x0890 */ 144, 1, 0, 36,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, +/* 0x08a0 */ 144,191, 0, 16,128,127, 0, 8,128,159, 0, 12, 75,255,255, 77, +/* 0x08b0 */ 124, 96, 27,120,144, 31, 0, 8,128, 31, 0, 8, 47,128, 0, 0, +/* 0x08c0 */ 65,158, 0, 16,129, 63, 0, 8,128, 31, 0, 16,144, 9, 0, 4, +/* 0x08d0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, +/* 0x08e0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,208,124, 8, 2,166, +/* 0x08f0 */ 147,225, 0, 44,144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8, +/* 0x0900 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20, 75,255,247,117, +/* 0x0910 */ 124, 96, 27,120,144, 31, 0, 24, 56, 0,255,255,144, 31, 0, 28, +/* 0x0920 */ 56, 0, 0, 0,144, 31, 0, 32, 56, 0, 0, 0,144, 31, 0, 36, +/* 0x0930 */ 129, 63, 0, 16, 56, 9,255,255,144, 31, 0, 16, 47,128, 0, 0, +/* 0x0940 */ 65,156, 0,124,129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 1, +/* 0x0950 */ 64,158, 0, 92,129, 63, 0, 12,129, 41, 0, 8,128, 31, 0, 28, +/* 0x0960 */ 127,137, 0, 64, 64,156, 0, 16,129, 63, 0, 12,128, 9, 0, 8, +/* 0x0970 */ 144, 31, 0, 28,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20, +/* 0x0980 */ 128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 32,127,137, 0, 64, +/* 0x0990 */ 64,157, 0, 28,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20, +/* 0x09a0 */ 128, 11, 0, 8,124, 9, 2, 20,144, 31, 0, 32,129, 63, 0, 12, +/* 0x09b0 */ 56, 9, 0, 32,144, 31, 0, 12, 75,255,255,120,129, 63, 0, 28, +/* 0x09c0 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 28,129, 63, 0, 32, +/* 0x09d0 */ 128, 31, 0, 28,125, 32, 72, 80,128, 31, 0, 24,125, 32, 72, 80, +/* 0x09e0 */ 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 32, +/* 0x09f0 */ 128, 31, 0, 8, 96, 0, 0, 34,128,127, 0, 28,128,159, 0, 32, +/* 0x0a00 */ 56,160, 0, 0,124, 6, 3,120, 56,224,255,255, 57, 0, 0, 0, +/* 0x0a10 */ 75,255,248, 93,144,127, 0, 36,129,127, 0, 20,129, 63, 0, 32, +/* 0x0a20 */ 128, 31, 0, 36,124, 9, 2, 20,144, 11, 0, 0,129, 63, 0, 36, +/* 0x0a30 */ 128, 31, 0, 28,124, 0, 72, 80,124, 3, 3,120,129, 97, 0, 0, +/* 0x0a40 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, +/* 0x0a50 */ 78,128, 0, 32,148, 33,255,144,124, 8, 2,166,147,225, 0,108, +/* 0x0a60 */ 144, 1, 0,116,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, +/* 0x0a70 */ 144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28, +/* 0x0a80 */ 75,255,246, 1,124, 96, 27,120,124, 0, 0,248,144, 31, 0, 32, +/* 0x0a90 */ 129, 63, 0, 12,129, 41, 0, 28,128, 31, 0, 12,124, 9, 2, 20, +/* 0x0aa0 */ 144, 31, 0, 36,129, 63, 0, 12,160, 9, 0, 16, 84, 0, 4, 62, +/* 0x0ab0 */ 47,128, 0, 2, 64,158, 0, 16, 56, 0, 0, 16,144, 31, 0, 84, +/* 0x0ac0 */ 72, 0, 0, 12, 56, 0, 0, 0,144, 31, 0, 84,129, 63, 0, 12, +/* 0x0ad0 */ 160, 9, 0, 44, 84, 0, 4, 62, 57, 63, 0, 40,128,127, 0, 84, +/* 0x0ae0 */ 128,159, 0, 36,124, 5, 3,120,125, 38, 75,120, 75,255,253,253, +/* 0x0af0 */ 124, 96, 27,120,144, 31, 0, 44, 56, 0, 0, 0,144, 31, 0, 48, +/* 0x0b00 */ 129, 63, 0, 12,160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 48, +/* 0x0b10 */ 127,137, 0, 0, 64,157, 3, 68,128, 31, 0, 16, 47,128, 0, 0, +/* 0x0b20 */ 65,158, 0, 56,129, 63, 0, 36,128, 9, 0, 0, 47,128, 0, 6, +/* 0x0b30 */ 64,158, 0, 40,129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44, +/* 0x0b40 */ 124, 9, 2, 20,128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120, +/* 0x0b50 */ 75,255,253, 53, 72, 0, 2,232,129, 63, 0, 36,128, 9, 0, 0, +/* 0x0b60 */ 47,128, 0, 1, 64,158, 2,216,128, 31, 0, 16, 47,128, 0, 0, +/* 0x0b70 */ 65,158, 0,120,129, 63, 0, 36,128, 9, 0, 4, 47,128, 0, 0, +/* 0x0b80 */ 64,158, 0,104,129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44, +/* 0x0b90 */ 125,105, 2, 20,129, 63, 0, 12,128, 9, 0, 28,124, 11, 2, 20, +/* 0x0ba0 */ 128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120, 75,255,252,217, +/* 0x0bb0 */ 129, 63, 0, 12,160, 9, 0, 44, 84, 0, 4, 62,128,127, 0, 20, +/* 0x0bc0 */ 56,128, 0, 5,124, 5, 3,120, 75,255,252,189,129, 63, 0, 12, +/* 0x0bd0 */ 160, 9, 0, 42, 84, 0, 4, 62,128,127, 0, 20, 56,128, 0, 4, +/* 0x0be0 */ 124, 5, 3,120, 75,255,252,161,129, 63, 0, 36,128, 9, 0, 24, +/* 0x0bf0 */ 84, 0, 7,126, 84, 9, 16, 58, 60, 0,115, 81, 96, 0, 98, 64, +/* 0x0c00 */ 124, 0, 76, 48, 84, 0, 7,126,144, 31, 0, 52,129, 63, 0, 36, +/* 0x0c10 */ 128, 9, 0, 16,144, 31, 0, 56,144, 31, 0, 64,129, 63, 0, 36, +/* 0x0c20 */ 129, 41, 0, 8,128, 31, 0, 44,124, 9, 2, 20,144, 31, 0, 60, +/* 0x0c30 */ 144, 31, 0, 68,129, 63, 0, 36,129, 41, 0, 20,128, 31, 0, 68, +/* 0x0c40 */ 124, 9, 2, 20,144, 31, 0, 72,129, 63, 0, 68,128, 31, 0, 32, +/* 0x0c50 */ 125, 32, 0, 56,144, 31, 0, 76,129, 63, 0, 64,128, 31, 0, 76, +/* 0x0c60 */ 124, 9, 2, 20,144, 31, 0, 64,129, 63, 0, 68,128, 31, 0, 76, +/* 0x0c70 */ 124, 0, 72, 80,144, 31, 0, 68,128, 31, 0, 16, 47,128, 0, 0, +/* 0x0c80 */ 65,158, 0,120,128,127, 0, 68,128,159, 0, 64, 56,160, 0, 3, +/* 0x0c90 */ 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, 75,255,245,209, +/* 0x0ca0 */ 124, 96, 27,120,129, 63, 0, 68,127,128, 72, 0, 65,158, 0, 8, +/* 0x0cb0 */ 72, 0, 1, 32, 56, 31, 0, 56,144, 31, 0, 88,128, 31, 0, 52, +/* 0x0cc0 */ 84, 0, 7,122, 47,128, 0, 0, 65,158, 0, 16,128, 31, 0, 28, +/* 0x0cd0 */ 144, 31, 0, 92, 72, 0, 0, 12, 56, 0, 0, 0,144, 31, 0, 92, +/* 0x0ce0 */ 128,127, 0, 16,128,159, 0, 88,128,191, 0, 8,128,223, 0, 92, +/* 0x0cf0 */ 75,255,247, 9, 72, 0, 0, 68,129, 63, 0, 36,129, 41, 0, 4, +/* 0x0d00 */ 128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 68,128,159, 0, 64, +/* 0x0d10 */ 128,191, 0, 52, 56,192, 0, 18,128,255, 0, 8,124, 8, 3,120, +/* 0x0d20 */ 75,255,245, 77,124,105, 27,120,128, 31, 0, 68,127,137, 0, 0, +/* 0x0d30 */ 65,158, 0, 8, 72, 0, 0,156,128, 31, 0, 64,125, 32, 0,208, +/* 0x0d40 */ 128, 31, 0, 32,125, 32, 0, 56,144, 31, 0, 76,128, 31, 0, 52, +/* 0x0d50 */ 84, 0, 7,188, 47,128, 0, 0, 65,158, 0, 28,128, 31, 0, 68, +/* 0x0d60 */ 129, 63, 0, 64,124, 0, 74, 20,124, 3, 3,120,128,159, 0, 76, +/* 0x0d70 */ 75,255,250, 41,128, 31, 0, 16, 47,128, 0, 0, 65,158, 0, 92, +/* 0x0d80 */ 128,127, 0, 36,128,159, 0, 44,128,191, 0, 32, 75,255,248,153, +/* 0x0d90 */ 124, 96, 27,120,144, 31, 0, 80,128, 31, 0, 80, 47,128, 0, 0, +/* 0x0da0 */ 65,158, 0, 20,128,127, 0, 20, 56,128, 0, 0,128,191, 0, 80, +/* 0x0db0 */ 75,255,250,213,128,127, 0, 68,128,159, 0, 64,128,191, 0, 52, +/* 0x0dc0 */ 75,255,244,249,124, 96, 27,120, 47,128, 0, 0, 65,158, 0, 12, +/* 0x0dd0 */ 56, 96, 0,127, 75,255,244,173,129, 63, 0, 64,128, 31, 0, 76, +/* 0x0de0 */ 125, 41, 2, 20,128, 31, 0, 68,124, 0, 74, 20,144, 31, 0, 68, +/* 0x0df0 */ 129, 63, 0, 68,128, 31, 0, 72,127,137, 0, 64, 64,156, 0, 64, +/* 0x0e00 */ 129, 63, 0, 72,128, 31, 0, 68,124, 0, 72, 80,128,127, 0, 68, +/* 0x0e10 */ 124, 4, 3,120,128,191, 0, 52, 56,192, 0, 50, 56,224,255,255, +/* 0x0e20 */ 57, 0, 0, 0, 75,255,244, 73,124,105, 27,120,128, 31, 0, 68, +/* 0x0e30 */ 127,137, 0, 0, 65,158, 0, 8, 72, 0, 0, 0,129, 63, 0, 36, +/* 0x0e40 */ 56, 9, 0, 32,144, 31, 0, 36,129, 63, 0, 48, 56, 9, 0, 1, +/* 0x0e50 */ 144, 31, 0, 48, 75,255,252,172,128, 31, 0, 16, 47,128, 0, 0, +/* 0x0e60 */ 65,158, 0, 32,129, 63, 0, 12,160, 9, 0, 16, 84, 0, 4, 62, +/* 0x0e70 */ 47,128, 0, 3, 65,158, 0, 12,128,127, 0, 40, 75,255,245, 61, +/* 0x0e80 */ 128, 31, 0, 24, 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 24, +/* 0x0e90 */ 128, 31, 0, 44,144, 9, 0, 0,129, 63, 0, 12,129, 41, 0, 24, +/* 0x0ea0 */ 128, 31, 0, 44,124, 9, 2, 20,124, 3, 3,120,129, 97, 0, 0, +/* 0x0eb0 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, +/* 0x0ec0 */ 78,128, 0, 32,148, 33,255,160,124, 8, 2,166,147,225, 0, 92, +/* 0x0ed0 */ 144, 1, 0,100,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, +/* 0x0ee0 */ 144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28, +/* 0x0ef0 */ 145, 63, 0, 32,129, 63, 0, 8,129, 41, 0, 4, 56, 9, 0, 12, +/* 0x0f00 */ 144, 31, 0, 36,128, 31, 0, 16,144, 31, 0, 44,129, 63, 0, 8, +/* 0x0f10 */ 128, 9, 0, 0,144, 31, 0, 40,128, 31, 0, 8,144, 31, 0, 52, +/* 0x0f20 */ 128, 31, 0, 12,144, 31, 0, 48, 56, 31, 0, 48, 57, 63, 0, 40, +/* 0x0f30 */ 124, 3, 3,120,125, 36, 75,120,128,191, 0, 24, 56,192, 0, 0, +/* 0x0f40 */ 75,255,244,185,129, 63, 0, 52,128, 31, 0, 36,124, 0, 72, 80, +/* 0x0f50 */ 144, 31, 0, 52,128, 31, 0, 12,144, 31, 0, 48,128, 31, 0, 32, +/* 0x0f60 */ 144, 31, 0, 56,129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 60, +/* 0x0f70 */ 56, 31, 0, 48, 57, 63, 0, 56,128,127, 0, 24,128,159, 0, 16, +/* 0x0f80 */ 124, 5, 3,120,128,223, 0, 20,125, 39, 75,120,129, 31, 0, 28, +/* 0x0f90 */ 75,255,250,197,124, 96, 27,120,144, 31, 0, 64,128,127, 0, 20, +/* 0x0fa0 */ 56,128, 0, 9,128,191, 0, 64, 75,255,248,221, 56, 0, 0, 0, +/* 0x0fb0 */ 144, 31, 0, 68,129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 60, +/* 0x0fc0 */ 129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 68, +/* 0x0fd0 */ 127,137, 0, 0, 64,157, 0,208,129, 63, 0, 60,128, 9, 0, 0, +/* 0x0fe0 */ 47,128, 0, 3, 64,158, 0,164,129, 63, 0, 60,129, 41, 0, 8, +/* 0x0ff0 */ 128, 31, 0, 56,124, 9, 2, 20,124, 3, 3,120, 56,128, 0, 0, +/* 0x1000 */ 56,160, 0, 0, 75,255,242,165,124, 96, 27,120,144, 31, 0, 72, +/* 0x1010 */ 128, 31, 0, 72, 47,128, 0, 0, 64,156, 0, 8, 72, 0, 0, 32, +/* 0x1020 */ 128,127, 0, 72,128,159, 0, 16, 56,160, 2, 0, 75,255,242,117, +/* 0x1030 */ 124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, 56, 96, 0,127, +/* 0x1040 */ 75,255,242, 65, 56, 31, 0, 56,128,127, 0, 72,128,159, 0, 16, +/* 0x1050 */ 56,160, 0, 0,128,223, 0, 20,124, 7, 3,120, 57, 0, 0, 0, +/* 0x1060 */ 75,255,249,245,124, 96, 27,120,144, 31, 0, 64,128,127, 0, 20, +/* 0x1070 */ 56,128, 0, 7,128,191, 0, 56, 75,255,248, 13,128,127, 0, 72, +/* 0x1080 */ 75,255,242, 49, 72, 0, 0, 32,129, 63, 0, 60, 56, 9, 0, 32, +/* 0x1090 */ 144, 31, 0, 60,129, 63, 0, 68, 56, 9, 0, 1,144, 31, 0, 68, +/* 0x10a0 */ 75,255,255, 32,128, 31, 0, 64,124, 3, 3,120,129, 97, 0, 0, +/* 0x10b0 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, +/* 0x10c0 */ 78,128, 0, 32 }; diff -Nru upx-ucl-3.95/src/stub/powerpc-linux.kernel.vmlinux.h upx-ucl-3.96/src/stub/powerpc-linux.kernel.vmlinux.h --- upx-ucl-3.95/src/stub/powerpc-linux.kernel.vmlinux.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc-linux.kernel.vmlinux.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/powerpc-linux.kernel.vmlinux-head.h upx-ucl-3.96/src/stub/powerpc-linux.kernel.vmlinux-head.h --- upx-ucl-3.95/src/stub/powerpc-linux.kernel.vmlinux-head.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/powerpc-linux.kernel.vmlinux-head.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/scripts/bin2h.py upx-ucl-3.96/src/stub/scripts/bin2h.py --- upx-ucl-3.95/src/stub/scripts/bin2h.py 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/scripts/bin2h.py 2020-01-23 16:56:00.000000000 +0000 @@ -5,7 +5,7 @@ # # This file is part of the UPX executable compressor. # -# Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +# Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer # All Rights Reserved. # # UPX and the UCL library are free software; you can redistribute them @@ -49,9 +49,9 @@ w("""\n\ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/scripts/brandelf.py upx-ucl-3.96/src/stub/scripts/brandelf.py --- upx-ucl-3.95/src/stub/scripts/brandelf.py 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/scripts/brandelf.py 2020-01-23 16:56:00.000000000 +0000 @@ -5,7 +5,7 @@ # # This file is part of the UPX executable compressor. # -# Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +# Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer # All Rights Reserved. # # UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/scripts/gpp_inc.py upx-ucl-3.96/src/stub/scripts/gpp_inc.py --- upx-ucl-3.95/src/stub/scripts/gpp_inc.py 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/scripts/gpp_inc.py 2020-01-23 16:56:00.000000000 +0000 @@ -5,7 +5,7 @@ # # This file is part of the UPX executable compressor. # -# Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +# Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer # All Rights Reserved. # # UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/scripts/xstrip.py upx-ucl-3.96/src/stub/scripts/xstrip.py --- upx-ucl-3.95/src/stub/scripts/xstrip.py 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/scripts/xstrip.py 2020-01-23 16:56:00.000000000 +0000 @@ -5,7 +5,7 @@ # # This file is part of the UPX executable compressor. # -# Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +# Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer # All Rights Reserved. # # UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/amd64-darwin.dylib-entry.S upx-ucl-3.96/src/stub/src/amd64-darwin.dylib-entry.S --- upx-ucl-3.95/src/stub/src/amd64-darwin.dylib-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/amd64-darwin.dylib-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/amd64-darwin.macho-entry.S upx-ucl-3.96/src/stub/src/amd64-darwin.macho-entry.S --- upx-ucl-3.95/src/stub/src/amd64-darwin.macho-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/amd64-darwin.macho-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them @@ -42,6 +42,8 @@ sz_Mach_header64= 8*4 mhdr_ncmds= 4*4 + mhdr_flags= 6*4 +MH_PIE=0x200000 sz_Mach_segment= 2*4 + 16 + 4*NBPW + 4*4 mseg_segname= 2*4 @@ -247,6 +249,18 @@ // Decompress the rest of this loader, and jump to it. unfold: + testl $MH_PIE,mhdr_flags(%r_MHDR); jnz is_pie + + // Not PIE. Map the gap from PAGEZERO.vmsize to TEXT.vmaddr with + // PROT_NONE so that MacOS will not use it. But do_xmap will use it. + subq %arg6,%arg6 // 0 offset + orl $-1,%arg5l // fd + push $MAP_PRIVATE|MAP_ANON|MAP_FIXED; pop %sys4 + push $0; pop %arg3 // PROT_NONE + movq mseg_vmsize + sz_Mach_header64(%r_MHDR),%arg1 // __PAGEZERO.vmsize + movq %r_MHDR,%arg2; subq %arg1,%arg2 // size of gap between PAGEZERO and TEXT + mov $SYS_mmap,%eax; syscall +is_pie: pop %rbx // &{ b_info:{sz_unc, sz_cpr, 4{byte}}, compressed_fold...} pop %rdi // P_08 fd @@ -299,7 +313,7 @@ movq %rsi,%arg1 // src pop %arg2 // P_14 srclen call *%rbp // old f_exp - pop %ecx // P_13 toss .sz_unc + pop %rcx // P_13 toss .sz_unc // PROT_EXEC pop %arg2 // P_12 length diff -Nru upx-ucl-3.95/src/stub/src/amd64-darwin.macho-fold.S upx-ucl-3.96/src/stub/src/amd64-darwin.macho-fold.S --- upx-ucl-3.95/src/stub/src/amd64-darwin.macho-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/amd64-darwin.macho-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them @@ -122,36 +122,58 @@ read: .globl read mov $SYS_read,%al + push %r9; push %r8; push %rcx; push %rdx; push %rsi; push %rdi movzbl %al,%eax; push %rax // save SYS_nnn for error diagnosis or $SYSBASE,%eax mov %rcx,%r10 syscall // .byte 0x0f,0x05 + +#define DEBUG 0 +#if !DEBUG //{ jc sysfail - pop %rcx // toss SYS_nnn + add $7*8,%rsp // SYS_nnn, 6 args ret +#endif //} -sysfail: // syscall failed: write hex error code on stderr - mov %rax,%rdx - pop %rax // SYS_nnn - push %rdi; push %rsi - push %rdx // retval +DFRAME=0x100 +sysfail: + pushf + push %rax // retval + push %rdi; push %rsi // registers used + push %rbp; mov %rsp,%rbp + cmpl $SYS_write,5*8+0*8(%rbp); je ignore_WRITE + sub $DFRAME,%rsp // alloca - sub $0x70,%rsp // alloca mov %rsp,%rdi // output ptr - call pr_hex; movb $'=',%al; stosb - movq 0x70(%rsp),%rax // retval - call pr_hex; movb $'\n',%al; stosb + movb $'\n',%al; stosb + movb $'*',%al; stosb + mov 3*8(%rbp),%rax; call pr_hex; movb $'=',%al; stosb // retval + mov 5*8+0*8(%rbp),%rax; call pr_hex; movb $'(',%al; stosb // SYS_nnn + mov 5*8+1*8(%rbp),%rax; call pr_hex; movb $',',%al; stosb // arg1 + mov 5*8+2*8(%rbp),%rax; call pr_hex; movb $',',%al; stosb // arg2 + mov 5*8+3*8(%rbp),%rax; call pr_hex; movb $',',%al; stosb // arg3 + mov 5*8+4*8(%rbp),%rax; call pr_hex; movb $',',%al; stosb // arg4 + mov 5*8+5*8(%rbp),%rax; call pr_hex; movb $',',%al; stosb // arg5 + mov 5*8+6*8(%rbp),%rax; call pr_hex; movb $')',%al; stosb // arg6 + movb $'\n',%al; stosb + mov %rdi,%rdx sub %rsp,%rdx // len mov %rsp,%rsi // ptr mov $2,%edi // FD_STDERR mov $SYS_write+SYSBASE,%eax syscall - add $0x70,%rsp - pop %rcx // toss retval - pop %rsi; pop %rdi + add $DFRAME,%rsp +ignore_WRITE: + pop %rbp; pop %rsi; pop %rdi + pop %rax // retval + popf + lea 7*8(%rsp),%rsp // SYS_nnn, args + + jnc sysOK or $~0,%rax //mov errno,eax +sysOK: ret pr_hex: diff -Nru upx-ucl-3.95/src/stub/src/amd64-darwin.macho-main.c upx-ucl-3.96/src/stub/src/amd64-darwin.macho-main.c --- upx-ucl-3.95/src/stub/src/amd64-darwin.macho-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/amd64-darwin.macho-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -128,6 +128,7 @@ for (j = count; 0!=j--; ++p, ++q) { *q = *p; } + DPRINTF(" buf: %%x %%x %%x\\n", ((int *)buf)[0], ((int *)buf)[1], ((int *)buf)[2]); x->buf += count; x->size -= count; } @@ -310,7 +311,8 @@ MH_MAGIC64 = 1+0xfeedface }; enum e2 { - MH_EXECUTE = 2 + MH_EXECUTE = 2, + MH_DYLINKER= 7 /* /usr/bin/dyld */ }; enum e3 { MH_NOUNDEFS = 1 @@ -453,6 +455,7 @@ #endif //} #define MAP_ANON_FD -1 +#define PROT_NONE 0 #define PROT_READ 1 #define PROT_WRITE 2 #define PROT_EXEC 4 @@ -461,7 +464,66 @@ ssize_t pread(int, void *, size_t, off_t_upx_stub); extern void bswap(void *, unsigned); -// FIXME: must reserve convex hull of pages; must reloc PIE +typedef size_t Addr; // this source file is used by 32-bit and 64-bit machines + +// Find convex hull of PT_LOAD (the minimal interval which covers all PT_LOAD), +// and mmap that much, to be sure that a kernel using exec-shield-randomize +// won't place the first piece in a way that leaves no room for the rest. +static Addr // returns relocation constant +xfind_pages( + Mach_header const *const mhdr, + Mach_segment_command const *sc, + int const ncmds, + Addr addr +) +{ + Addr lo= ~(Addr)0, hi= 0; + int j; + unsigned mflags = ((mhdr->filetype == MH_DYLINKER || mhdr->flags & MH_PIE) ? 0 : MAP_FIXED); + mflags += MAP_PRIVATE | MAP_ANON; // '+' can optimize better than '|' + DPRINTF("xfind_pages mhdr=%%p sc=%%p ncmds=%%d addr=%%p mflags=%%x\\n", + mhdr, sc, ncmds, addr, mflags); + for (j=0; j < ncmds; ++j, + (sc = (Mach_segment_command const *)((sc->cmdsize>>2) + (unsigned const *)sc)) + ) if (LC_SEGMENT==sc->cmd) { + DPRINTF(" #%%d cmd=%%x cmdsize=%%x vmaddr=%%p vmsize==%%p lo=%%p mflags=%%x\\n", + j, sc->cmd, sc->cmdsize, sc->vmaddr, sc->vmsize, lo, mflags); + if (sc->vmsize // theoretically occupies address space + && !(sc->vmaddr==0 && (MAP_FIXED & mflags)) // but ignore PAGEZERO when MAP_FIXED + ) { + if (mhdr->filetype == MH_DYLINKER // /usr/lib/dyld + && 0==(1+ lo) // 1st LC_SEGMENT + && sc->vmaddr != 0 // non-floating address + ) { + // "pre-linked" dyld on MacOS 10.11.x El Capitan + mflags |= MAP_FIXED; + } + if (lo > sc->vmaddr) { + lo = sc->vmaddr; + } + if (hi < (sc->vmsize + sc->vmaddr)) { + hi = sc->vmsize + sc->vmaddr; + } + } + } + lo -= ~PAGE_MASK & lo; // round down to page boundary + hi = PAGE_MASK & (hi - lo - PAGE_MASK -1); // page length + DPRINTF(" addr=%%p lo=%%p len=%%p mflags=%%x\\n", addr, lo, hi, mflags); + if (MAP_FIXED & mflags) { + addr = lo; + int rv = munmap((void *)addr, hi); + if (rv) { + DPRINTF("munmap addr=%%p len=%%p, rv=%%x\\n", addr, hi, rv); + } + } + addr = (Addr)mmap((void *)addr, hi, PROT_NONE, mflags, MAP_ANON_FD, 0); + DPRINTF(" addr=%%p\\n", addr); + if (~PAGE_MASK & addr) { + err_exit(6); + } + return (Addr)(addr - lo); +} + unsigned * // &hatch if main; &Mach_thread_state if dyld do_xmap( Mach_header *const mhdr, @@ -473,52 +535,63 @@ f_unfilter *const f_unf ) { - unsigned *rv = 0; - Mach_segment_command *sc = (Mach_segment_command *)(1+ mhdr); - size_t reloc = 0; - unsigned j; - DPRINTF("do_xmap fdi=%%x mhdr=%%p *mhdrpp=%%p xi=%%p(%%x %%p) f_unf=%%p\\n", fdi, mhdr, (mhdrpp ? *mhdrpp : 0), xi, (xi? xi->size: 0), (xi? xi->buf: 0), f_unf); + unsigned *rv = 0; + Mach_segment_command *sc = (Mach_segment_command *)(1+ mhdr); + Addr const reloc = xfind_pages(mhdr, sc, mhdr->ncmds, 0); + DPRINTF("do_xmap reloc=%%p\\n", reloc); + unsigned j; for ( j=0; j < mhdr->ncmds; ++j, (sc = (Mach_segment_command *)((sc->cmdsize>>2) + (unsigned *)sc)) ) { - DPRINTF(" #%%d cmd=%%x cmdsize=%%x\\n", j, sc->cmd, sc->cmdsize); + DPRINTF(" #%%d cmd=%%x cmdsize=%%x vmsize=%%x\\n", + j, sc->cmd, sc->cmdsize, sc->vmsize); + if (LC_SEGMENT==sc->cmd && !sc->vmsize) { + // Typical __DWARF info segment for 'rust' + struct b_info h; + xread(xi, (unsigned char *)&h, sizeof(h)); + DPRINTF(" 0==.vmsize; skipping %%x\\n", h.sz_cpr); + xi->buf += h.sz_cpr; + } if (LC_SEGMENT==sc->cmd && sc->vmsize) { - if (!sc->fileoff && sc->filesize // should be __TEXT - && *mhdrpp && ((*mhdrpp)->flags & MH_PIE)) { - reloc = (size_t)*mhdrpp - sc->vmaddr; - DPRINTF("reloc=%%p\\n", reloc); - } Extent xo; size_t mlen = xo.size = sc->filesize; - unsigned char *addr = xo.buf = reloc + (unsigned char *)sc->vmaddr; - unsigned char *haddr = sc->vmsize + addr; - size_t frag = (int)(uint64_t)addr &~ PAGE_MASK; + xo.buf = (void *)(reloc + sc->vmaddr); + Addr addr = (Addr)xo.buf; + Addr haddr = sc->vmsize + addr; + size_t frag = addr &~ PAGE_MASK; addr -= frag; mlen += frag; + DPRINTF(" mlen=%%p frag=%%p addr=%%p\\n", mlen, frag, addr); if (0!=mlen) { - // Decompressor can overrun the destination by 3 bytes. [x86 only] - size_t const mlen3 = mlen + (xi ? 3 : 0); + size_t const mlen3 = mlen + #if defined(__x86_64__) //{ + // Decompressor can overrun the destination by 3 bytes. [x86 only] + + (xi ? 3 : 0) + #endif //} + ; unsigned const prot = VM_PROT_READ | VM_PROT_WRITE; - unsigned const flags = (*mhdrpp ? MAP_FIXED : 0) | MAP_PRIVATE | - ((xi || 0==sc->filesize) ? MAP_ANON : 0); - int const fdm = ((0==sc->filesize) ? MAP_ANON_FD : fdi); + // MAP_FIXED: xfind_pages() reserved them, so use them! + unsigned const flags = MAP_FIXED | MAP_PRIVATE | + ((xi || 0==sc->filesize) ? MAP_ANON : 0); + int const fdm = ((xi || 0==sc->filesize) ? MAP_ANON_FD : fdi); off_t_upx_stub const offset = sc->fileoff + fat_offset; DPRINTF("mmap addr=%%p len=%%p prot=%%x flags=%%x fd=%%d off=%%p reloc=%%p\\n", addr, mlen3, prot, flags, fdm, offset, reloc); - unsigned *maddr = mmap(addr, mlen3, prot, flags, fdm, offset); - if (!*mhdrpp) { // MH_DYLINKER - *mhdrpp = (Mach_header*)maddr; - addr = (unsigned char *)maddr; - reloc = (size_t)addr; + { + Addr maddr = (Addr)mmap((void *)addr, mlen3, prot, flags, fdm, offset); + DPRINTF("maddr=%%p\\n", maddr); + if (maddr != addr) { + err_exit(8); + } + addr = maddr; } - if (addr != (unsigned char *)maddr) { - DPRINTF("maddr=%%p addr=%%p\\n", maddr, addr); - err_exit(8); + if (!*mhdrpp) { // MH_DYLINKER + *mhdrpp = (Mach_header*)addr; } } if (xi && 0!=sc->filesize) { @@ -539,7 +612,7 @@ unsigned int *p2; unsigned long *p3; } u; - u.p0 = addr; + u.p0 = (unsigned char *)addr; Mach_segment_command *segp = (Mach_segment_command *)((((char *)sc - (char *)mhdr)>>2) + u.p2); Mach_section_command *const secp = (Mach_section_command *)(1+ segp); #if defined(__aarch64__) //{ @@ -559,8 +632,8 @@ } /*bzero(addr, frag);*/ // fragment at lo end frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary - bzero(mlen+addr, frag); // fragment at hi end - if (0!=mlen && 0!=mprotect(addr, mlen, sc->initprot)) { + bzero((void *)(mlen+addr), frag); // fragment at hi end + if (0!=mlen && 0!=mprotect((void *)addr, mlen, sc->initprot)) { err_exit(10); ERR_LAB } @@ -570,7 +643,7 @@ 0!=addr && #endif /*}*/ addr < haddr) { // need pages for .bss - if (0!=addr && addr != mmap(addr, haddr - addr, sc->initprot, + if (0!=addr && addr != (Addr)mmap((void *)addr, haddr - addr, sc->initprot, MAP_FIXED | MAP_PRIVATE | MAP_ANON, MAP_ANON_FD, 0 ) ) { err_exit(9); } @@ -578,6 +651,7 @@ else if (xi) { // cleanup if decompressor overrun crosses page boundary mlen = ~PAGE_MASK & (3+ mlen); if (mlen<=3) { // page fragment was overrun buffer only + DPRINTF("munmap %%x %%x\\n", addr, mlen); munmap((char *)addr, mlen); } } @@ -808,7 +882,7 @@ done: va_end(va); return n; - } +} #endif //} diff -Nru upx-ucl-3.95/src/stub/src/amd64-darwin.macho-upxmain.c upx-ucl-3.96/src/stub/src/amd64-darwin.macho-upxmain.c --- upx-ucl-3.95/src/stub/src/amd64-darwin.macho-upxmain.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/amd64-darwin.macho-upxmain.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -517,7 +517,13 @@ for ( j=0; j < mhdr->ncmds; ++j, (sc = (Mach_segment_command const *)(sc->cmdsize + (unsigned char const *)sc)) - ) if (LC_SEGMENT_64==sc->cmd && sc->vmsize!=0) { + ) if (LC_SEGMENT_64==sc->cmd && sc->vmsize==0) { + // Typical __DWARF info segment for 'rust' + struct b_info h; + xread(xi, (unsigned char *)&h, sizeof(h)); + DPRINTF(" 0==.vmsize; skipping %%x\\n", h.sz_cpr); + xi->buf += h.sz_cpr; + else if (LC_SEGMENT_64==sc->cmd && sc->vmsize!=0) { Extent xo; size_t mlen = xo.size = sc->filesize; Addr addr = xo.buf = base + (Addr)sc->vmaddr; diff -Nru upx-ucl-3.95/src/stub/src/amd64-darwin.macho-upxsubr.S upx-ucl-3.96/src/stub/src/amd64-darwin.macho-upxsubr.S --- upx-ucl-3.95/src/stub/src/amd64-darwin.macho-upxsubr.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/amd64-darwin.macho-upxsubr.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/amd64-linux.elf-entry.S upx-ucl-3.96/src/stub/src/amd64-linux.elf-entry.S --- upx-ucl-3.95/src/stub/src/amd64-linux.elf-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/amd64-linux.elf-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them @@ -56,6 +56,8 @@ SYS_mmap= 9 // 64-bit mode only! +FD_stderr= 2 + PAGE_SHIFT= 12 PAGE_MASK= (~0<p_type==PT_LOAD && phdr->p_flags & PF_X) { + if ( // Try page fragmentation just beyond .text . - if ( ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), + ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), ( phdr->p_memsz==phdr->p_filesz // don't pollute potential .bss && (1*4)<=(frag_mask & -(int)(size_t)hatch) ) ) // space left on page // Try Elf64_Ehdr.e_ident[12..15] . warning: 'const' cast away || ( (hatch = (void *)(&((Elf64_Ehdr *)(phdr->p_vaddr + reloc))->e_ident[12])), (phdr->p_offset==0) ) + // Allocate and use a new page. + || ( xprot = 1, hatch = mmap(0, PAGE_SIZE, PROT_WRITE|PROT_READ, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) ) ) { hatch[0] = 0xc35a050f; // syscall; pop %rdx; ret + if (xprot) { + mprotect(hatch, 1*sizeof(unsigned), PROT_EXEC|PROT_READ); + } } else { hatch = 0; @@ -260,22 +271,30 @@ unsigned const frag_mask ) { + unsigned xprot = 0; unsigned *hatch = 0; DPRINTF("make_hatch %%p %%x %%x\\n",phdr,reloc,frag_mask); if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) { + if ( // Try page fragmentation just beyond .text . - if ( ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), + ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), ( phdr->p_memsz==phdr->p_filesz // don't pollute potential .bss && (3*4)<=(frag_mask & -(int)(size_t)hatch) ) ) // space left on page // Try Elf64_Phdr[1].p_paddr (2 instr) and .p_filesz (1 instr) || ( (hatch = (void *)(&((Elf64_Phdr *)(1+ // Ehdr and Phdr are contiguous ((Elf64_Ehdr *)(phdr->p_vaddr + reloc))))[1].p_paddr)), (phdr->p_offset==0) ) + // Allocate and use a new page. + || ( xprot = 1, hatch = mmap(0, 1<<12, PROT_WRITE|PROT_READ, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) ) ) { hatch[0]= 0x44000002; // sc hatch[1]= ORRX(12,31,31); // movr r12,r31 ==> or r12,r31,r31 hatch[2]= 0x4e800020; // blr + if (xprot) { + mprotect(hatch, 3*sizeof(unsigned), PROT_EXEC|PROT_READ); + } } else { hatch = 0; @@ -291,6 +310,7 @@ unsigned const frag_mask ) { + unsigned xprot = 0; unsigned *hatch = 0; //DPRINTF((STR_make_hatch(),phdr,reloc)); if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) { @@ -302,17 +322,24 @@ // which uses the comma to save bytes when test_locj involves locj // and the action is the same when either test succeeds. + if ( // Try page fragmentation just beyond .text . - if ( ( (hatch = (void *)(~3ul & (3+ phdr->p_memsz + phdr->p_vaddr + reloc))), + ( (hatch = (void *)(~3ul & (3+ phdr->p_memsz + phdr->p_vaddr + reloc))), ( phdr->p_memsz==phdr->p_filesz // don't pollute potential .bss && (2*4)<=(frag_mask & -(int)(uint64_t)hatch) ) ) // space left on page // Try Elf64_Ehdr.e_ident[8..15] . warning: 'const' cast away || ( (hatch = (void *)(&((Elf64_Ehdr *)(phdr->p_vaddr + reloc))->e_ident[8])), - (phdr->p_offset==0) + (phdr->p_offset==0) ) + // Allocate and use a new page. + || ( xprot = 1, hatch = mmap(0, 1<<12, PROT_WRITE|PROT_READ, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) ) ) - ) { - hatch[0]= 0xd4000001; // svc #0 - hatch[1]= 0xd65f03c0; // ret (jmp *lr) + { + hatch[0] = 0xd4000001; // svc #0 + hatch[1] = 0xd65f03c0; // ret (jmp *lr) + if (xprot) { + mprotect(hatch, 2*sizeof(unsigned), PROT_EXEC|PROT_READ); + } } else { hatch = 0; @@ -406,7 +433,9 @@ } } DPRINTF(" addr=%%p lo=%%p hi=%%p\\n", addr, lo, hi); - addr = (Elf64_Addr)mmap((void *)addr, hi, PROT_NONE, mflags, -1, 0); + // PROT_WRITE allows testing of 64k pages on 4k Linux + addr = (Elf64_Addr)mmap((void *)addr, hi, (DEBUG ? PROT_WRITE : PROT_NONE), // FIXME XXX EVIL + mflags, -1, 0); DPRINTF(" addr=%%p\\n", addr); *p_brk = hi + addr; // the logical value of brk(0) return (Elf64_Addr)(addr - lo); diff -Nru upx-ucl-3.95/src/stub/src/amd64-linux.shlib-init.S upx-ucl-3.96/src/stub/src/amd64-linux.shlib-init.S --- upx-ucl-3.95/src/stub/src/amd64-linux.shlib-init.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/amd64-linux.shlib-init.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/amd64-win64.pep.S upx-ucl-3.96/src/stub/src/amd64-win64.pep.S --- upx-ucl-3.95/src/stub/src/amd64-win64.pep.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/amd64-win64.pep.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/amd64/bxx.S upx-ucl-3.96/src/stub/src/arch/amd64/bxx.S --- upx-ucl-3.95/src/stub/src/arch/amd64/bxx.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/amd64/bxx.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2005-2018 John F. Reiser + Copyright (C) 2005-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/amd64/lzma_d.S upx-ucl-3.96/src/stub/src/arch/amd64/lzma_d.S --- upx-ucl-3.95/src/stub/src/arch/amd64/lzma_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/amd64/lzma_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 2006-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them @@ -104,7 +104,13 @@ movl szSizeT(%rbx),%ecx; addq %rcx,%rsi // inSizeProcessed movl (%rbx),%edx; addq %rdx,%rdi // outSizeProcessed leave // movl %ebp,%rsp; popq %rbp +#ifndef NO_METHOD_CHECK + jmp eof_lzma not_lzma: + push %rdi; pop %rsi # src = arg1 + # fall into 'eof' +eof_lzma: +#endif // vi:ts=8:et diff -Nru upx-ucl-3.95/src/stub/src/arch/amd64/macros.S upx-ucl-3.96/src/stub/src/arch/amd64/macros.S --- upx-ucl-3.95/src/stub/src/arch/amd64/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/amd64/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/amd64/nrv2b_d.S upx-ucl-3.96/src/stub/src/arch/amd64/nrv2b_d.S --- upx-ucl-3.95/src/stub/src/arch/amd64/nrv2b_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/amd64/nrv2b_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -30,10 +30,9 @@ */ #ifndef NO_METHOD_CHECK - cmpb $ M_NRV2B_LE32,methb; je top_n2b; jmp not_n2b -#else - jmp top_n2b + cmpb $ M_NRV2B_LE32,methb; jne not_n2b #endif + jmp top_n2b lit_n2b: incq %rsi; movb %dl,(%rdi) @@ -67,7 +66,11 @@ bot_n2b: # In: 0==len jmp top_n2b +#ifndef NO_METHOD_CHECK not_n2b: + push %rdi; pop %rsi # src = arg1 + # fall into 'eof' +#endif /* vi:ts=8:et:nowrap */ diff -Nru upx-ucl-3.95/src/stub/src/arch/amd64/nrv2d_d.S upx-ucl-3.96/src/stub/src/arch/amd64/nrv2d_d.S --- upx-ucl-3.95/src/stub/src/arch/amd64/nrv2d_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/amd64/nrv2d_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -30,10 +30,9 @@ */ #ifndef NO_METHOD_CHECK - cmpb $ M_NRV2D_LE32,methb; je top_n2d; jmp not_n2d -#else - jmp top_n2d + cmpb $ M_NRV2D_LE32,methb; jne not_n2d #endif + jmp top_n2d lit_n2d: incq %rsi; movb %dl,(%rdi) @@ -74,7 +73,10 @@ bot_n2d: // In: 0==len jmp top_n2d +#ifndef NO_METHOD_CHECK not_n2d: + push %rdi; pop %rsi # src = arg1 +#endif /* vi:ts=8:et:nowrap diff -Nru upx-ucl-3.95/src/stub/src/arch/amd64/nrv2e_d.S upx-ucl-3.96/src/stub/src/arch/amd64/nrv2e_d.S --- upx-ucl-3.95/src/stub/src/arch/amd64/nrv2e_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/amd64/nrv2e_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -30,10 +30,9 @@ */ #ifndef NO_METHOD_CHECK - cmpb $ M_NRV2E_LE32,methb; je top_n2e; jmp not_n2e -#else - jmp top_n2e + cmpb $ M_NRV2E_LE32,methb; jne not_n2e #endif + jmp top_n2e lit_n2e: incq %rsi; movb %dl,(%rdi) @@ -80,7 +79,10 @@ bot_n2e: # In: 0==len jmp top_n2e +#ifndef NO_METHOD_CHECK not_n2e: + push %rdi; pop %rsi # src = arg1 +#endif /* vi:ts=8:et:nowrap diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4a/lzma_d-arm.S upx-ucl-3.96/src/stub/src/arch/arm/v4a/lzma_d-arm.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4a/lzma_d-arm.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4a/lzma_d-arm.S 2020-01-23 16:56:00.000000000 +0000 @@ -5,9 +5,9 @@ // remains copyright by John F. Reiser and licensed under GNU Lesser General // Public License (GNU LGPL). -// Hand compiled Copyright (c) 2006-2018 John F. Reiser (2007-06-18) +// Hand compiled Copyright (c) 2006-2020 John F. Reiser (2007-06-18) // from modified LzmaDecode.c. -// LZMA SDK 4.40 Copyright (c) 1999-2018 Igor Pavlov (2006-05-01) +// LZMA SDK 4.40 Copyright (c) 1999-2020 Igor Pavlov (2006-05-01) // // This file is licensed under either of these two licenses: // 1) GNU Lesser General Public License (GNU LGPL) diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4a/lzma_d.S upx-ucl-3.96/src/stub/src/arch/arm/v4a/lzma_d.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4a/lzma_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4a/lzma_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4a/macros.S upx-ucl-3.96/src/stub/src/arch/arm/v4a/macros.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4a/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4a/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4a/nrv2b_d8.S upx-ucl-3.96/src/stub/src/arch/arm/v4a/nrv2b_d8.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4a/nrv2b_d8.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4a/nrv2b_d8.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4a/nrv2d_d8.S upx-ucl-3.96/src/stub/src/arch/arm/v4a/nrv2d_d8.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4a/nrv2d_d8.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4a/nrv2d_d8.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4a/nrv2e_d8.S upx-ucl-3.96/src/stub/src/arch/arm/v4a/nrv2e_d8.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4a/nrv2e_d8.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4a/nrv2e_d8.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4t/macros.S upx-ucl-3.96/src/stub/src/arch/arm/v4t/macros.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4t/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4t/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4t/nrv2b_d32.S upx-ucl-3.96/src/stub/src/arch/arm/v4t/nrv2b_d32.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4t/nrv2b_d32.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4t/nrv2b_d32.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4t/nrv2b_d8.S upx-ucl-3.96/src/stub/src/arch/arm/v4t/nrv2b_d8.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4t/nrv2b_d8.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4t/nrv2b_d8.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4t/nrv2e_d32.S upx-ucl-3.96/src/stub/src/arch/arm/v4t/nrv2e_d32.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4t/nrv2e_d32.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4t/nrv2e_d32.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v4t/nrv2e_d8.S upx-ucl-3.96/src/stub/src/arch/arm/v4t/nrv2e_d8.S --- upx-ucl-3.95/src/stub/src/arch/arm/v4t/nrv2e_d8.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v4t/nrv2e_d8.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm/v5a/macros.S upx-ucl-3.96/src/stub/src/arch/arm/v5a/macros.S --- upx-ucl-3.95/src/stub/src/arch/arm/v5a/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm/v5a/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm64/v8/lzma_d-arm.S upx-ucl-3.96/src/stub/src/arch/arm64/v8/lzma_d-arm.S --- upx-ucl-3.95/src/stub/src/arch/arm64/v8/lzma_d-arm.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm64/v8/lzma_d-arm.S 2020-01-23 16:56:00.000000000 +0000 @@ -5,9 +5,9 @@ // remains copyright by John F. Reiser and licensed under GNU Lesser General // Public License (GNU LGPL). -// Hand compiled Copyright (c) 2006-2018 John F. Reiser (2007-06-18) +// Hand compiled Copyright (c) 2006-2020 John F. Reiser (2007-06-18) // from modified LzmaDecode.c. -// LZMA SDK 4.40 Copyright (c) 1999-2018 Igor Pavlov (2006-05-01) +// LZMA SDK 4.40 Copyright (c) 1999-2020 Igor Pavlov (2006-05-01) // // This file is licensed under either of these two licenses: // 1) GNU Lesser General Public License (GNU LGPL) @@ -72,8 +72,10 @@ Literal= (RepLenCoder + kNumLenProbs) // Already #define in lzma_d.S -//LZMA_BASE_SIZE= Literal -//LZMA_LIT_SIZE= 768 +#ifndef LZMA_LIT_SIZE //{ +#define LZMA_BASE_SIZE 1846 +#define LZMA_LIT_SIZE 768 +#endif //} #define call bl /* subroutine call */ @@ -501,8 +503,8 @@ mul bound,starp,y0tmp cmp Code,bound; bhs rcGB1 rcGB0: // Code < bound + mov Range,bound // 'bound' dies mov y0tmp,#kBitModelTotal - mov Range,bound sub y0tmp,y0tmp,starp adcs mo,mi,mi // mo = (mi<<1) | (Code >= bound); set CC add starp,starp,y0tmp, lsr #kNumMoveBits diff -Nru upx-ucl-3.95/src/stub/src/arch/arm64/v8/lzma_d.S upx-ucl-3.96/src/stub/src/arch/arm64/v8/lzma_d.S --- upx-ucl-3.95/src/stub/src/arch/arm64/v8/lzma_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm64/v8/lzma_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -29,7 +29,10 @@ */ +#include "macros.S" + #define section .section +NBPW= 8 section LZMA_ELF00 //decompress: // (uchar const *src, size_t lsrc, uchar *dst, u32 &ldst, uint method) diff -Nru upx-ucl-3.95/src/stub/src/arch/arm64/v8/macros.S upx-ucl-3.96/src/stub/src/arch/arm64/v8/macros.S --- upx-ucl-3.95/src/stub/src/arch/arm64/v8/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm64/v8/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/arm64/v8/nrv2b_d32.S upx-ucl-3.96/src/stub/src/arch/arm64/v8/nrv2b_d32.S --- upx-ucl-3.95/src/stub/src/arch/arm64/v8/nrv2b_d32.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm64/v8/nrv2b_d32.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -29,6 +29,8 @@ */ +#include "macros.S" + #define lr x30 #define ip0 x16 @@ -48,6 +50,7 @@ #define SUB2( dst,src) sub dst,dst,src #define SUB2S(dst,src) subs dst,dst,src #define LDRB3(reg,psrc,incr) ldrb reg,psrc,incr +#define LDR3( reg,psrc,incr) ldr reg,psrc,incr #define STRB3(reg,pdst,incr) strb reg,pdst,incr #undef GETBIT diff -Nru upx-ucl-3.95/src/stub/src/arch/arm64/v8/nrv2d_d32.S upx-ucl-3.96/src/stub/src/arch/arm64/v8/nrv2d_d32.S --- upx-ucl-3.95/src/stub/src/arch/arm64/v8/nrv2d_d32.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm64/v8/nrv2d_d32.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -28,6 +28,8 @@ John F. Reiser */ +#include "macros.S" + #define SAFE 0 /* 1 for src+dst bounds checking: cost 76 bytes */ #define lr x30 diff -Nru upx-ucl-3.95/src/stub/src/arch/arm64/v8/nrv2e_d32.S upx-ucl-3.96/src/stub/src/arch/arm64/v8/nrv2e_d32.S --- upx-ucl-3.95/src/stub/src/arch/arm64/v8/nrv2e_d32.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/arm64/v8/nrv2e_d32.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -28,6 +28,8 @@ John F. Reiser */ +#include "macros.S" + #define SAFE 0 /* 1 for src+dst bounds checking: cost 76 bytes */ #define lr x30 diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/cc_test.c upx-ucl-3.96/src/stub/src/arch/i086/cc_test.c --- upx-ucl-3.95/src/stub/src/arch/i086/cc_test.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/cc_test.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2006-2018 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2006-2020 Markus Franz Xaver Johannes Oberhumer All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/cleanasm.py upx-ucl-3.96/src/stub/src/arch/i086/cleanasm.py --- upx-ucl-3.95/src/stub/src/arch/i086/cleanasm.py 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/cleanasm.py 2020-01-23 16:56:00.000000000 +0000 @@ -5,7 +5,7 @@ # # This file is part of the UPX executable compressor. # -# Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +# Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer # All Rights Reserved. # # UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/l_test.c upx-ucl-3.96/src/stub/src/arch/i086/l_test.c --- upx-ucl-3.95/src/stub/src/arch/i086/l_test.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/l_test.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2007-2018 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2007-2020 Markus Franz Xaver Johannes Oberhumer All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/lzma_d.S upx-ucl-3.96/src/stub/src/arch/i086/lzma_d.S --- upx-ucl-3.95/src/stub/src/arch/i086/lzma_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/lzma_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 2006-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/lzma_m.h upx-ucl-3.96/src/stub/src/arch/i086/lzma_m.h --- upx-ucl-3.95/src/stub/src/arch/i086/lzma_m.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/lzma_m.h 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 2006-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/macros.S upx-ucl-3.96/src/stub/src/arch/i086/macros.S --- upx-ucl-3.95/src/stub/src/arch/i086/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/nrv2b_d16.S upx-ucl-3.96/src/stub/src/arch/i086/nrv2b_d16.S --- upx-ucl-3.95/src/stub/src/arch/i086/nrv2b_d16.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/nrv2b_d16.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/nrv2b_d8.S upx-ucl-3.96/src/stub/src/arch/i086/nrv2b_d8.S --- upx-ucl-3.95/src/stub/src/arch/i086/nrv2b_d8.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/nrv2b_d8.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/nrv2d_d8.S upx-ucl-3.96/src/stub/src/arch/i086/nrv2d_d8.S --- upx-ucl-3.95/src/stub/src/arch/i086/nrv2d_d8.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/nrv2d_d8.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/nrv2e_d8.S upx-ucl-3.96/src/stub/src/arch/i086/nrv2e_d8.S --- upx-ucl-3.95/src/stub/src/arch/i086/nrv2e_d8.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/nrv2e_d8.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/i086/wdis2gas.py upx-ucl-3.96/src/stub/src/arch/i086/wdis2gas.py --- upx-ucl-3.95/src/stub/src/arch/i086/wdis2gas.py 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i086/wdis2gas.py 2020-01-23 16:56:00.000000000 +0000 @@ -5,7 +5,7 @@ # # This file is part of the UPX executable compressor. # -# Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +# Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer # All Rights Reserved. # # UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/bxx.S upx-ucl-3.96/src/stub/src/arch/i386/bxx.S --- upx-ucl-3.95/src/stub/src/arch/i386/bxx.S 1970-01-01 00:00:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/bxx.S 2020-01-23 16:56:00.000000000 +0000 @@ -0,0 +1,76 @@ +/* i386_bxx.S -- i386 Call/Branch Trick unfilter + + This file is part of the UPX executable compressor. + + Copyright (C) 2005-2020 John F. Reiser + All Rights Reserved. + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + John F. Reiser + +*/ + +//#include "regs.h" + +i386bxx: # (*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid); + +#ifndef NO_METHOD_CHECK + cmpl $0x49,4*NBPW(%esp); jne ckend0 # filter: JMP, CALL, 6-byte Jxx +#endif + push %ebp; movl %esp,%ebp + push %ebx # C-language saved regs + push %esi + push %edi + + movl 2*NBPW(%ebp),%esi // src + movl 3*NBPW(%ebp),%ecx // len + movl 4*NBPW(%ebp),%edx // b_cto8 (%dl) + lea (1- 4)(%esi,%ecx),%ecx # beyond last possible displacement + movl %esi,%ebx // start of buffer + jmp ckstart +ckloop4: + cmpl %ecx,%esi; jae ckend + push %esi # tail merge +ckloop3: + pop %esi; lodsb # next main opcode + cmpb $0x80,%al; jb ckloop2 # lo of 6-byte Jcc + cmpb $0x8F,%al; ja ckloop2 # hi of 6-byte Jcc + cmpb $0x0F,-2(%esi); je ckmark # prefix of 6-byte Jcc +ckloop2: + subb $ 0xE8,%al + cmpb $0xE9-0xE8,%al; ja ckloop4 # not JMP, not CALL +ckmark: + cmpl %ecx,%esi; jae ckend # peek only; not marked ==> do not consume + push %esi; lodsl # (assume) marked, bswapped 32-bit displacement + subb %dl,%al; jne ckloop3 # not marked with cto8 + pop %edi + bswap %eax # (0<<24) | d24 + subl %edi,%eax # hardware: %esi; software: %edi [ 4==delta ] + addl %ebx,%eax + stosl +ckstart: + cmpl %ecx,%esi; jae ckend + lodsb; jmp ckloop2 # 0x0F prefix would overlap previous displacement +ckend: + pop %edi + pop %esi + pop %ebx + pop %ebp +ckend0: +#ifndef NO_METHOD_CHECK + ret +#endif diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/cl1_d32.S upx-ucl-3.96/src/stub/src/arch/i386/cl1_d32.S --- upx-ucl-3.95/src/stub/src/arch/i386/cl1_d32.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/cl1_d32.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ ; cl1_d32.ash -- cl1_decompress_le32 in 32-bit assembly ; schema from ucl/nrv2b_d32.ash ; -; Copyright (C) 2004-2018 John Reiser -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 2004-2020 John Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; This file is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/lzma_d.S upx-ucl-3.96/src/stub/src/arch/i386/lzma_d.S --- upx-ucl-3.95/src/stub/src/arch/i386/lzma_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/lzma_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 2006-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/macros.S upx-ucl-3.96/src/stub/src/arch/i386/macros.S --- upx-ucl-3.95/src/stub/src/arch/i386/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/nrv2b_d32-easy.S upx-ucl-3.96/src/stub/src/arch/i386/nrv2b_d32-easy.S --- upx-ucl-3.95/src/stub/src/arch/i386/nrv2b_d32-easy.S 1970-01-01 00:00:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/nrv2b_d32-easy.S 2020-01-23 16:56:00.000000000 +0000 @@ -0,0 +1,76 @@ +/* i386_d_nrv2b-easy.S -- i386 decompressor for NRV2B + + This file is part of the UPX executable compressor. + + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser + All Rights Reserved. + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer Laszlo Molnar + + + John F. Reiser + +*/ + +#ifndef NO_METHOD_CHECK + cmpb $ M_NRV2B_LE32,methb; jne not_n2b +#endif + jmp top_n2b + +lit_n2b: + incl %esi; movb %dl,(%edi) + incl %edi +top_n2b: + movb (%esi),%dl # speculate: literal, or bottom 8 bits of offset + jnextb1yp lit_n2b + push $1; pop off +offmore_n2b: + getnextbp(off) + jnextb0np offmore_n2b + + subl $ 3,off; jc len_n2b # use previous offset + shll $ 8,off; movzbl %dl,%edx + orl %edx,off; incl %esi + xorl $~0,off; jz eof + movl off,disp +len_n2b: + push $1; pop off + getnextb(len); getnextb(len) # two bits; cc set on result + jnz gotlen_n2b # raw 1,2,3 ==> 2,3,4 + movl off,len # len= 1, the msb + addl $3-1,off # raw 2.. ==> 5.. +lenmore_n2b: + getnextb(len) + jnextb0n lenmore_n2b +gotlen_n2b: + cmpl $-0xd00,disp + adcl off,len # len += off + (disp < -0xd00) + call copy +bot_n2b: # In: 0==len + jmp top_n2b + +#ifndef NO_METHOD_CHECK +not_n2b: + # fall into 'eof' +#endif +/* +vi:ts=8:et:nowrap +*/ + diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/nrv2b_d32.S upx-ucl-3.96/src/stub/src/arch/i386/nrv2b_d32.S --- upx-ucl-3.95/src/stub/src/arch/i386/nrv2b_d32.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/nrv2b_d32.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/nrv2d_d32-easy.S upx-ucl-3.96/src/stub/src/arch/i386/nrv2d_d32-easy.S --- upx-ucl-3.95/src/stub/src/arch/i386/nrv2d_d32-easy.S 1970-01-01 00:00:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/nrv2d_d32-easy.S 2020-01-23 16:56:00.000000000 +0000 @@ -0,0 +1,84 @@ +/* nrv2d_d-easy.S -- i386 decompressor for NRV2D + + This file is part of the UPX executable compressor. + + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser + All Rights Reserved. + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer Laszlo Molnar + + + John F. Reiser + +*/ + +#ifndef NO_METHOD_CHECK + cmpb $ M_NRV2D_LE32,methb; jne not_n2d +#endif + jmp top_n2d + +lit_n2d: + incl %esi; movb %dl,(%edi) + incl %edi +top_n2d: + movb (%esi),%dl // speculate: literal, or bottom 8 bits of offset + jnextb1yp lit_n2d + push $1; pop off + jmp getoff_n2d + +off_n2d: + dec off + getnextbp(off) +getoff_n2d: + getnextbp(off) + jnextb0np off_n2d + + subl $ 3,off; jc offprev_n2d + shll $ 8,off; movzbl %dl,%edx + orl %edx,off; incl %esi + xorl $~0,off; jz eof + sarl off // Carry= original low bit + movl off,disp // XXX: 2GB + jmp len_n2d-2 // CHEAT: assume tail of getnextb is "adcl len,len" +offprev_n2d: + getnextb(len) +len_n2d: + getnextb(len); jne gotlen_n2d + inc len // len= 1 +lenmore_n2d: + getnextb(len) + jnextb0n lenmore_n2d + addl $2,len +gotlen_n2d: + cmpl $-0x500,disp + adcl $1,len // len += 1+ (disp < -0x500); + call copy +bot_n2d: // In: 0==len + jmp top_n2d + +#ifndef NO_METHOD_CHECK +not_n2d: + push %edi; pop %esi # src = arg1 +#endif + +/* +vi:ts=8:et:nowrap +*/ + diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/nrv2d_d32.S upx-ucl-3.96/src/stub/src/arch/i386/nrv2d_d32.S --- upx-ucl-3.95/src/stub/src/arch/i386/nrv2d_d32.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/nrv2d_d32.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/nrv2e_d32-easy.S upx-ucl-3.96/src/stub/src/arch/i386/nrv2e_d32-easy.S --- upx-ucl-3.95/src/stub/src/arch/i386/nrv2e_d32-easy.S 1970-01-01 00:00:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/nrv2e_d32-easy.S 2020-01-23 16:56:00.000000000 +0000 @@ -0,0 +1,90 @@ +/* nrv2e_d-easy.S -- i386 decompressor for NRV2E + + This file is part of the UPX executable compressor. + + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser + All Rights Reserved. + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer Laszlo Molnar + + + John F. Reiser + +*/ + +#ifndef NO_METHOD_CHECK + cmpb $ M_NRV2E_LE32,methb; jne not_n2e +#endif + jmp top_n2e + +lit_n2e: + incl %esi; movb %dl,(%edi) + incl %edi +top_n2e: + movb (%esi),%dl # speculate: literal, or bottom 8 bits of offset + jnextb1yp lit_n2e + push $1; pop off + jmp getoff_n2e + +off_n2e: + dec off + getnextbp(off) +getoff_n2e: + getnextbp(off) + jnextb0np off_n2e + + subl $ 3,off; jc offprev_n2e + shll $ 8,off; movzbl %dl,%edx + orl %edx,off; incl %esi + xorl $~0,off; jz eof + sarl off # Carry= original low bit + movl off,disp # XXX: 2GB + jc lenlast_n2e + jmp lenmore_n2e + +offprev_n2e: + jnextb1y lenlast_n2e +lenmore_n2e: + incl len # len= 1 + jnextb1y lenlast_n2e +len_n2e: + getnextb(len) + jnextb0n len_n2e + addl $6-2-2,len + jmp gotlen_n2e + +lenlast_n2e: + getnextb(len) # 0,1,2,3 +gotlen_n2e: + cmpl $-0x500,disp + adcl $2,len # len += 2+ (disp < -0x500); + call copy +bot_n2e: # In: 0==len + jmp top_n2e + +#ifndef NO_METHOD_CHECK +not_n2e: + push %edi; pop %esi # src = arg1 +#endif + +/* +vi:ts=8:et:nowrap +*/ + diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/nrv2e_d32.S upx-ucl-3.96/src/stub/src/arch/i386/nrv2e_d32.S --- upx-ucl-3.95/src/stub/src/arch/i386/nrv2e_d32.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/nrv2e_d32.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/i386/upx_itoa.S upx-ucl-3.96/src/stub/src/arch/i386/upx_itoa.S --- upx-ucl-3.95/src/stub/src/arch/i386/upx_itoa.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/i386/upx_itoa.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2002-2018 John F. Reiser +; Copyright (C) 2002-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/m68k/bits.ash upx-ucl-3.96/src/stub/src/arch/m68k/bits.ash --- upx-ucl-3.95/src/stub/src/arch/m68k/bits.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/m68k/bits.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/m68k/lzma_d.S upx-ucl-3.96/src/stub/src/arch/m68k/lzma_d.S --- upx-ucl-3.95/src/stub/src/arch/m68k/lzma_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/m68k/lzma_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 2006-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/m68k/macros.S upx-ucl-3.96/src/stub/src/arch/m68k/macros.S --- upx-ucl-3.95/src/stub/src/arch/m68k/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/m68k/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/m68k/nrv2b_d.ash upx-ucl-3.96/src/stub/src/arch/m68k/nrv2b_d.ash --- upx-ucl-3.95/src/stub/src/arch/m68k/nrv2b_d.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/m68k/nrv2b_d.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/m68k/nrv2d_d.ash upx-ucl-3.96/src/stub/src/arch/m68k/nrv2d_d.ash --- upx-ucl-3.95/src/stub/src/arch/m68k/nrv2d_d.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/m68k/nrv2d_d.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/m68k/nrv2e_d.ash upx-ucl-3.96/src/stub/src/arch/m68k/nrv2e_d.ash --- upx-ucl-3.95/src/stub/src/arch/m68k/nrv2e_d.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/m68k/nrv2e_d.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/m68k/rename.ash upx-ucl-3.96/src/stub/src/arch/m68k/rename.ash --- upx-ucl-3.95/src/stub/src/arch/m68k/rename.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/m68k/rename.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/mips/r3000/bits.ash upx-ucl-3.96/src/stub/src/arch/mips/r3000/bits.ash --- upx-ucl-3.95/src/stub/src/arch/mips/r3000/bits.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/mips/r3000/bits.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/mips/r3000/lzma_d.S upx-ucl-3.96/src/stub/src/arch/mips/r3000/lzma_d.S --- upx-ucl-3.95/src/stub/src/arch/mips/r3000/lzma_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/mips/r3000/lzma_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,10 +2,10 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser - Copyright (C) 2002-2018 Jens Medoch + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser + Copyright (C) 2002-2020 Jens Medoch All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/mips/r3000/macros.ash upx-ucl-3.96/src/stub/src/arch/mips/r3000/macros.ash --- upx-ucl-3.95/src/stub/src/arch/mips/r3000/macros.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/mips/r3000/macros.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/mips/r3000/nrv2b_d.ash upx-ucl-3.96/src/stub/src/arch/mips/r3000/nrv2b_d.ash --- upx-ucl-3.95/src/stub/src/arch/mips/r3000/nrv2b_d.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/mips/r3000/nrv2b_d.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/mips/r3000/nrv2d_d.ash upx-ucl-3.96/src/stub/src/arch/mips/r3000/nrv2d_d.ash --- upx-ucl-3.95/src/stub/src/arch/mips/r3000/nrv2d_d.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/mips/r3000/nrv2d_d.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/mips/r3000/nrv2e_d.ash upx-ucl-3.96/src/stub/src/arch/mips/r3000/nrv2e_d.ash --- upx-ucl-3.95/src/stub/src/arch/mips/r3000/nrv2e_d.ash 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/mips/r3000/nrv2e_d.ash 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UCL data compression library. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; The UCL library is free software; you can redistribute it and/or diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/32/bxx.S upx-ucl-3.96/src/stub/src/arch/powerpc/32/bxx.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/32/bxx.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/32/bxx.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2005-2018 John F. Reiser + Copyright (C) 2005-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/32/lzma_d.S upx-ucl-3.96/src/stub/src/arch/powerpc/32/lzma_d.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/32/lzma_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/32/lzma_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 2006-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/32/macros.S upx-ucl-3.96/src/stub/src/arch/powerpc/32/macros.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/32/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/32/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/32/nrv2b_d.S upx-ucl-3.96/src/stub/src/arch/powerpc/32/nrv2b_d.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/32/nrv2b_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/32/nrv2b_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/32/nrv2d_d.S upx-ucl-3.96/src/stub/src/arch/powerpc/32/nrv2d_d.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/32/nrv2d_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/32/nrv2d_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/32/nrv2e_d.S upx-ucl-3.96/src/stub/src/arch/powerpc/32/nrv2e_d.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/32/nrv2e_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/32/nrv2e_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/64le/bxx.S upx-ucl-3.96/src/stub/src/arch/powerpc/64le/bxx.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/64le/bxx.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/64le/bxx.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2005-2018 John F. Reiser + Copyright (C) 2005-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/64le/lzma_d-common.S upx-ucl-3.96/src/stub/src/arch/powerpc/64le/lzma_d-common.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/64le/lzma_d-common.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/64le/lzma_d-common.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 2006-2020 Markus Franz Xaver Johannes Oberhumer ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/64le/macros.S upx-ucl-3.96/src/stub/src/arch/powerpc/64le/macros.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/64le/macros.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/64le/macros.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/64le/nrv2b_d.S upx-ucl-3.96/src/stub/src/arch/powerpc/64le/nrv2b_d.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/64le/nrv2b_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/64le/nrv2b_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/64le/nrv2d_d.S upx-ucl-3.96/src/stub/src/arch/powerpc/64le/nrv2d_d.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/64le/nrv2d_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/64le/nrv2d_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arch/powerpc/64le/nrv2e_d.S upx-ucl-3.96/src/stub/src/arch/powerpc/64le/nrv2e_d.S --- upx-ucl-3.95/src/stub/src/arch/powerpc/64le/nrv2e_d.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arch/powerpc/64le/nrv2e_d.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm64-darwin.macho-entry.S upx-ucl-3.96/src/stub/src/arm64-darwin.macho-entry.S --- upx-ucl-3.95/src/stub/src/arm64-darwin.macho-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm64-darwin.macho-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm64-darwin.macho-fold.S upx-ucl-3.96/src/stub/src/arm64-darwin.macho-fold.S --- upx-ucl-3.95/src/stub/src/arm64-darwin.macho-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm64-darwin.macho-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ // // This file is part of the UPX executable compressor. // -// Copyright (C) 2000-2018 John F. Reiser +// Copyright (C) 2000-2020 John F. Reiser // All Rights Reserved. // // UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm64-linux.elf-entry.S upx-ucl-3.96/src/stub/src/arm64-linux.elf-entry.S --- upx-ucl-3.95/src/stub/src/arm64-linux.elf-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm64-linux.elf-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them @@ -57,6 +57,7 @@ AT_FDCWD= -100 // O_RDONLY= 0 +FD_stderr= 2 PROT_READ= 1 PROT_WRITE= 2 @@ -300,7 +301,7 @@ mov w0,#'\n'; strb w0,[x2],#1 mov x1,sp // buf sub x2,x2,x1 // count - mov w0,#2 // FD_STDERR + mov w0,#FD_stderr do_sys __NR_write add sp,sp,#TRACE_BUFLEN @@ -353,6 +354,14 @@ ldr x1,[x0],#NBPW; cbnz x1,zfind ret +L75: + mov w2,#14 // length + adr x1,proc_self_exe + mov w0,#FD_stderr + do_sys __NR_write + mov w0,#127 + do_sys __NR_exit + main: mov xfexp,lr mov x0,sp; call zfind // x0= &envp @@ -372,6 +381,7 @@ adr x1,proc_self_exe mov w2,O_RDONLY do_sys __NR_openat; mov wfd,w0 + cmp w0,#0; blt L75 call unfold LxFOLD: diff -Nru upx-ucl-3.95/src/stub/src/arm64-linux.elf-fold.lds upx-ucl-3.96/src/stub/src/arm64-linux.elf-fold.lds --- upx-ucl-3.95/src/stub/src/arm64-linux.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm64-linux.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm64-linux.elf-fold.S upx-ucl-3.96/src/stub/src/arm64-linux.elf-fold.S --- upx-ucl-3.95/src/stub/src/arm64-linux.elf-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm64-linux.elf-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ // // This file is part of the UPX executable compressor. // -// Copyright (C) 2000-2018 John F. Reiser +// Copyright (C) 2000-2020 John F. Reiser // All Rights Reserved. // // UPX and the UCL library are free software; you can redistribute them @@ -183,8 +183,8 @@ ldr x2,[xauxe,#NBPW - sz_auxv] // Elf64_auxv_t[AT_NULL@.a_type].a_val mov w8,#__NR_munmap #if DEBUG //{ - ldr w3,[x4,#0] // 1st instr - ldr w4,[x4,#4] // 2nd instr + ldr w3,[x2,#0] // 1st instr + ldr w4,[x2,#4] // 2nd instr TRACE(4) #endif //} diff -Nru upx-ucl-3.95/src/stub/src/arm64-linux.shlib-init.S upx-ucl-3.96/src/stub/src/arm64-linux.shlib-init.S --- upx-ucl-3.95/src/stub/src/arm64-linux.shlib-init.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm64-linux.shlib-init.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/armeb.v4a-linux.elf-fold.lds upx-ucl-3.96/src/stub/src/armeb.v4a-linux.elf-fold.lds --- upx-ucl-3.95/src/stub/src/armeb.v4a-linux.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/armeb.v4a-linux.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/armeb.v4a-linux.elf-fold.S upx-ucl-3.96/src/stub/src/armeb.v4a-linux.elf-fold.S --- upx-ucl-3.95/src/stub/src/armeb.v4a-linux.elf-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/armeb.v4a-linux.elf-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ @ @ This file is part of the UPX executable compressor. @ -@ Copyright (C) 2000-2018 John F. Reiser +@ Copyright (C) 2000-2020 John F. Reiser @ All Rights Reserved. @ @ UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/armeb.v5a-linux.kernel.vmlinux-head.S upx-ucl-3.96/src/stub/src/armeb.v5a-linux.kernel.vmlinux-head.S --- upx-ucl-3.95/src/stub/src/armeb.v5a-linux.kernel.vmlinux-head.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/armeb.v5a-linux.kernel.vmlinux-head.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 John Reiser +; Copyright (C) 2006-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/armeb.v5a-linux.kernel.vmlinux.S upx-ucl-3.96/src/stub/src/armeb.v5a-linux.kernel.vmlinux.S --- upx-ucl-3.95/src/stub/src/armeb.v5a-linux.kernel.vmlinux.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/armeb.v5a-linux.kernel.vmlinux.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2004-2018 John Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2004-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm.v4a-linux.elf-entry.S upx-ucl-3.96/src/stub/src/arm.v4a-linux.elf-entry.S --- upx-ucl-3.95/src/stub/src/arm.v4a-linux.elf-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v4a-linux.elf-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them @@ -55,6 +55,7 @@ MAP_FIXED= 0x10 MAP_PRIVATE= 0x02 +FD_stderr= 2 O_RDONLY= 0 PAGE_SHIFT= 12 @@ -124,9 +125,9 @@ /* IDENTSTR goes here */ section ELFMAINZ -unfold: // in: r3= mflg; lr= &O_BINFO +unfold: // in: r3= mflg; r6= elfaddr; lr= &O_BINFO str r3,[sp,#F_mflg] - mvn r10,r6; add r10,r10,#1 @ "neg r10,r6": -elfaddr + mov r10,#0; sub r10,r10,r6 @ "neg r10,r6": -elfaddr add r6,lr,#4 @ &b_info of folded code add r14,r6,r10 @ offset(b_info) @@ -172,9 +173,7 @@ ldr r3,[sp],#4 @ P_01 sz_unc ldr r1,[sp,#F_mflg] @ mflg - ldr r0,[r4] @ "orr r3,r3,#0" at mflg_subr - orr r0,r0,r1 @ change the 8-bit immediate - str r0,[r4] + str r1,[r4] @ pass mflg to folded code // PROT_EXEC ldr r0,[sp,#F_f_exp] @@ -193,11 +192,15 @@ ldr r0,[sp,#F_ADRU] sub r4,r9,r1 @ LENX= sz_pack2 - O_BINFO add r5,r0,r1 @ ADRX= new Elf32_Ehdr + O_BINFO - add r6,r6,#2*4 @ past mflg_subr + add r6,r6,#4 @ past the forwarded data #if DEBUG /*{*/ stmdb sp!,{TRACE_REGS}; mov r0,#3; bl trace #endif /*}*/ + adr lr,proc_self_exe add pc,r6,r10 @ goto reloc(unfold) +proc_self_exe: + .asciz "/proc/self/exe" + .balign 4 #if DEBUG /*{*/ TRACE_BUFLEN=512 @@ -249,11 +252,16 @@ ret hex: .ascii "0123456789abcdef" + .balign 4 #endif /*}*/ -proc_self_exe: - .asciz "/proc/self/exe" - .balign 4 +L75: + mov r2,#14 @ length + adr r1,proc_self_exe + mov r0,#FD_stderr + do_sys7t __NR_write + mov r0,#127 + do_sys7t __NR_exit main: // IN: lr= &f_exp ldr r0,[lr,#sz_pack2 - f_exp] @ sz_pack2 @@ -267,6 +275,7 @@ adr r0,proc_self_exe mov r1,#O_RDONLY do_sys7t __NR_open + cmp r0,#0; blt L75 str r0,[sp,#F_fd] ldr r3,[lr,#mflg - f_exp] diff -Nru upx-ucl-3.95/src/stub/src/arm.v4a-linux.elf-fold.lds upx-ucl-3.96/src/stub/src/arm.v4a-linux.elf-fold.lds --- upx-ucl-3.95/src/stub/src/arm.v4a-linux.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v4a-linux.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm.v4a-linux.elf-fold.S upx-ucl-3.96/src/stub/src/arm.v4a-linux.elf-fold.S --- upx-ucl-3.95/src/stub/src/arm.v4a-linux.elf-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v4a-linux.elf-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ @ @ This file is part of the UPX executable compressor. @ -@ Copyright (C) 2000-2018 John F. Reiser +@ Copyright (C) 2000-2020 John F. Reiser @ All Rights Reserved. @ @ UPX and the UCL library are free software; you can redistribute them @@ -40,6 +40,7 @@ sz_cpr= 4 b_method= 8 +MAP_ANONYMOUS= 0x20 MAP_PRIVATE= 0x02 MAP_FIXED= 0x10 @@ -61,14 +62,13 @@ #define OVERHEAD 2048 #define MAX_ELF_HDR 512 -mflg_subr: @ for handling QNX vs Linux - orr r3,r3,#0 @ re-written to MAP_PRIVATE|MAP_ANONYMOUS - ret +mflg_data: .int MAP_PRIVATE|MAP_ANONYMOUS @ overwritten for QNX vs Linux SP_fd= 3*4 /* In: r4= LENX r5= ADRX + lr= "/proc/self/exe" new sp/ elfaddr,fd, ADRU,LENU, f_exp,%entry, argc,argv,0,envp,0,auxv (ADRX,LENX) = extent of compressed program (after moving) (ADRU,LENU) = params for final munmap() @@ -113,13 +113,14 @@ mov r2,#PATH_MAX mov r1,r0 @ buffer - adr r0,proc_self_exe @ arg1 + mov r0,lr @ arg1= "/proc/self/exe" sub r2,r2,#1 @ room for null terminator - bl readlink; add r2,r1,r0 @ provisional end - cmn r0,#4096; bcc link_ok @ no error - adr r1,proc_self_exe @ buffer (input name) - add r2,r1,#proc_self_align - proc_self_exe @ end + bl readlink + cmn r0,#4096 + movcs r1,lr @ "/proc/self/exe" + movcs r0,#14 @ strlen("/proc/self/exe") link_ok: + add r2,r1,r0 @ end mov r0,r6 @ &old_strings mov r3,#0; strb r3,[r0,#-1]! @ terminate link name 0: // copy backwards to beginning @@ -182,14 +183,15 @@ str r0,[sp,#F_entry - F_delta] @ entry address // Map 1 page of /proc/self/exe so that it does not disappear - mov r5,#0 @ SEEK_SET - ldr r4,[sp,#F_fd - F_delta]! @ fd + ldr r4,[sp],#4 @ pop r4,F_fd + mov r5,#0 @ SEEK_SET offset + stmdb sp!,{r4,r5} @ arg5,arg6 calling convention mov r3,#MAP_PRIVATE mov r2,#PROT_READ mov r1,#PAGE_SIZE mov r0,#0 @ any address bl mmap @ no error check: cannot recover - ldr r0,[sp],#4 @ F_fd + ldmia sp!,{r0,r1} @ fd, offset bl close #if DEBUG //{ @@ -214,16 +216,16 @@ mov r10,#0 mov r11,#0 -#if DEBUG //{ +#if 1|DEBUG //{ /* Heuristic cache flush: sweep contiguous range to force collisions and evictions. */ - sub r12,sp,#(1<<19) @ limit: 1/2 MB more + sub r12,sp,#(1<<18) @ limit: 1/4 MB more sweep: ldr r7,[sp],#-(1<<5) @ extend stack; read allocate 32 bytes str r7,[sp] @ make it dirty ldr r7,[sp] @ read alocate again in case dirtying caused COW split cmp r12,sp; blo sweep - add sp,sp,#(1<<19) @ pop stack + add sp,sp,#(1<<18) @ pop stack #endif //} #if defined(ARMEL_DARWIN) /*{*/ @@ -431,10 +433,11 @@ mmap_privanon: .globl mmap_privanon stmdb sp!,{r4,r5,lr} + ldr r4,mflg_data @ Map_PRIVATE|MAP_ANON for Linux; MAP_PRIVANON for QNX mov r5,#0 @ offset= 0 + orr r3,r3,r4 @ combine with input (such as MAP_FIXED) mvn r4,#0 @ fd= -1 - adr lr, mmap_do - b mflg_subr // fix r3 for QNX vs Linux + b mmap_do #if 1|DEBUG /*{*/ diff -Nru upx-ucl-3.95/src/stub/src/arm.v4a-linux.shlib-init.S upx-ucl-3.96/src/stub/src/arm.v4a-linux.shlib-init.S --- upx-ucl-3.95/src/stub/src/arm.v4a-linux.shlib-init.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v4a-linux.shlib-init.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm.v4a-wince.pe.S upx-ucl-3.96/src/stub/src/arm.v4a-wince.pe.S --- upx-ucl-3.95/src/stub/src/arm.v4a-wince.pe.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v4a-wince.pe.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm.v4t-linux.shlib-init.S upx-ucl-3.96/src/stub/src/arm.v4t-linux.shlib-init.S --- upx-ucl-3.95/src/stub/src/arm.v4t-linux.shlib-init.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v4t-linux.shlib-init.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them @@ -402,7 +402,7 @@ movsl: // In: edi= 4-byte aligned dst; esi= 4-byte aligned src; ecx= word count .real_start_ofmovsl: mov tmp,#7; tst ecx,tmp; bne 9b - lsr ecx,#3; beq 9f + lsr ecx,#3; beq 8f // THUMB return when zero .balign 4; bx pc; nop // enter ARM mode .arm stmdb sp!,{r2, r4,r6, r7,r8,r9} // tmp===r3, ecx===r5 @@ -412,6 +412,9 @@ ldmia sp!,{r2, r4,r6, r7,r8,r9} 9: ret +8: + .thumb + bx lr #if !defined(ARMEL_EABI4) /*{*/ .arm diff -Nru upx-ucl-3.95/src/stub/src/arm.v4t-wince.pe.S upx-ucl-3.96/src/stub/src/arm.v4t-wince.pe.S --- upx-ucl-3.95/src/stub/src/arm.v4t-wince.pe.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v4t-wince.pe.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm.v5a-darwin.macho-entry.S upx-ucl-3.96/src/stub/src/arm.v5a-darwin.macho-entry.S --- upx-ucl-3.95/src/stub/src/arm.v5a-darwin.macho-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v5a-darwin.macho-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm.v5a-darwin.macho-fold.S upx-ucl-3.96/src/stub/src/arm.v5a-darwin.macho-fold.S --- upx-ucl-3.95/src/stub/src/arm.v5a-darwin.macho-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v5a-darwin.macho-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ // // This file is part of the UPX executable compressor. // -// Copyright (C) 2000-2018 John F. Reiser +// Copyright (C) 2000-2020 John F. Reiser // All Rights Reserved. // // UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm.v5a-linux.kernel.vmlinux-head.S upx-ucl-3.96/src/stub/src/arm.v5a-linux.kernel.vmlinux-head.S --- upx-ucl-3.95/src/stub/src/arm.v5a-linux.kernel.vmlinux-head.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v5a-linux.kernel.vmlinux-head.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 John Reiser +; Copyright (C) 2006-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/arm.v5a-linux.kernel.vmlinux.S upx-ucl-3.96/src/stub/src/arm.v5a-linux.kernel.vmlinux.S --- upx-ucl-3.95/src/stub/src/arm.v5a-linux.kernel.vmlinux.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/arm.v5a-linux.kernel.vmlinux.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2004-2018 John Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2004-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/c/lzma_d_c.c upx-ucl-3.96/src/stub/src/c/lzma_d_c.c --- upx-ucl-3.95/src/stub/src/c/lzma_d_c.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/c/lzma_d_c.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2006-2018 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2006-2020 Markus Franz Xaver Johannes Oberhumer All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i086-dos16.com.S upx-ucl-3.96/src/stub/src/i086-dos16.com.S --- upx-ucl-3.95/src/stub/src/i086-dos16.com.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i086-dos16.com.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i086-dos16.exe.S upx-ucl-3.96/src/stub/src/i086-dos16.exe.S --- upx-ucl-3.95/src/stub/src/i086-dos16.exe.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i086-dos16.exe.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i086-dos16.sys.S upx-ucl-3.96/src/stub/src/i086-dos16.sys.S --- upx-ucl-3.95/src/stub/src/i086-dos16.sys.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i086-dos16.sys.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-bsd.elf-entry.S upx-ucl-3.96/src/stub/src/i386-bsd.elf-entry.S --- upx-ucl-3.95/src/stub/src/i386-bsd.elf-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-bsd.elf-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-bsd.elf.execve-entry.S upx-ucl-3.96/src/stub/src/i386-bsd.elf.execve-entry.S --- upx-ucl-3.95/src/stub/src/i386-bsd.elf.execve-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-bsd.elf.execve-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-bsd.elf.execve-fold.S upx-ucl-3.96/src/stub/src/i386-bsd.elf.execve-fold.S --- upx-ucl-3.95/src/stub/src/i386-bsd.elf.execve-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-bsd.elf.execve-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-bsd.elf.execve-main.c upx-ucl-3.96/src/stub/src/i386-bsd.elf.execve-main.c --- upx-ucl-3.95/src/stub/src/i386-bsd.elf.execve-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-bsd.elf.execve-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-bsd.elf-fold.lds upx-ucl-3.96/src/stub/src/i386-bsd.elf-fold.lds --- upx-ucl-3.95/src/stub/src/i386-bsd.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-bsd.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-bsd.elf-fold.S upx-ucl-3.96/src/stub/src/i386-bsd.elf-fold.S --- upx-ucl-3.95/src/stub/src/i386-bsd.elf-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-bsd.elf-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-bsd.elf-main.c upx-ucl-3.96/src/stub/src/i386-bsd.elf-main.c --- upx-ucl-3.95/src/stub/src/i386-bsd.elf-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-bsd.elf-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-bsd.syscall.S upx-ucl-3.96/src/stub/src/i386-bsd.syscall.S --- upx-ucl-3.95/src/stub/src/i386-bsd.syscall.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-bsd.syscall.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 John F. Reiser +; Copyright (C) 2006-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-darwin.dylib-entry.S upx-ucl-3.96/src/stub/src/i386-darwin.dylib-entry.S --- upx-ucl-3.95/src/stub/src/i386-darwin.dylib-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-darwin.dylib-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-darwin.macho-entry.S upx-ucl-3.96/src/stub/src/i386-darwin.macho-entry.S --- upx-ucl-3.95/src/stub/src/i386-darwin.macho-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-darwin.macho-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them @@ -31,110 +31,255 @@ ; */ -#include "arch/i386/macros.S" +NBPW= 4 - section I386BXX0 -0: .word end_filter // - 0b // sizeof unfilter - - section I386BXX1 - ret // in case no filter -end_filter: +//#include "arch/i386/macros.S" + .altmacro + .att_syntax + .code32 +.macro section name + .section \name + .code32 +.endm + +// 2-byte bramches, even when destination is not known yet +.macro jmps target + .byte 0xeb, \target - . - 1 +.endm + +.macro jzs target + .byte 0x74, \target - . - 1 +.endm + +.macro jnzs target + .byte 0x75, \target - . - 1 +.endm + +.macro jcs target + .byte 0x72, \target - . - 1 +.endm + +.macro jncs target + .byte 0x73, \target - . - 1 +.endm + +.macro jnas target + .byte 0x76, \target - . - 1 +.endm +#define jbes jnas + +mlc_cmd = 0 + LC_SEGMENT= 0x01 +mlc_cmdsize = 4 + +sz_Mach_header= 7*4 + mhdr_ncmds= 4*4 + mhdr_flags= 6*4 +MH_PIE=0x200000 + +sz_Mach_segment= 2*NBPW + 16 + 4*NBPW + 4*4 + mseg_segname= 2*NBPW + mseg_vmaddr= 2*NBPW + 16 + mseg_vmsize= 2*NBPW + 16 + NBPW + mseg_initprot= 2*NBPW + 16 + (4*NBPW) + 4 + msec_addr= 2*16 + msec_size= 2*16 + NBPW /************************************************************************* // program entry point -// see glibc/sysdeps/i386/elf/start.S +// see glibc/sysdeps/amd64/elf/start.S **************************************************************************/ -section LEXEC000 +MAP_FIXED = 0x10 +MAP_PRIVATE = 0x02 +MAP_ANON = 0x1000 +PROT_NONE = 0 +PROT_READ = 1 +PROT_WRITE = 2 +PROT_EXEC = 4 +MAP_ANON_FD = -1 + +SYSBASE= 0 // at runtime: 0xC0000 +SYS_mmap =0xc5 + SYSBASE +SYS_mprotect =0x4a + SYSBASE +SYS_munmap =0x49 + SYSBASE +SYS_write = 4 + SYSBASE + +#define __c4(a,b,c,d) (((a)<<(0*8)) | ((b)<<(1*8)) | ((c)<<(2*8)) | ((d)<<(3*8))) +#define __c8(a,b,c,d,e,f,g,h) (__c4(a,b,c,d) | (__c4(e,f,g,h) << 32)) + +// FYI: Following the env[] vector there is another vector apple[] of strings. +// Contents from one actual instance on MacOS 10.13 HighSierra: +// "executable_path=" +// "pfz=0x7ffffff84000" +// "stack_guard=0x850795b0f36900c2" +// "malloc_entropy=0x94a87434eb9e2c1,0xf6814219485392e8" +// "main_stack=0x7ffeefc00000,0x800000,0x7ffeebc00000,0x4000000" +// "executable_file=0x1000008,0x2209ce" +// when %rsp was 0x7ffeefbffaf0. + +// Notes: +// Command-line debugger from Xcode: lldb foo; "process launch -s" + +//0: .word -0b + &Mach_header +//0: .word -0b + l_info +section MACHMAINX _start: .globl _start -//// int3 -/* -;; How to debug this code: Uncomment the 'int3' breakpoint instruction above. -;; Build the stubs and upx. Compress a testcase, such as a copy of /bin/date. -;; Invoke gdb, and give a 'run' command. Define a single-step macro such as -;; define g -;; stepi -;; x/i $pc -;; end -;; and a step-over macro such as -;; define h -;; x/2i $pc -;; tbreak *$_ -;; continue -;; x/i $pc -;; end -;; Step through the code; remember that repeats the previous command. -;; -*/ - call main // push address of decompress subroutine -decompress: +// int3 + call main // push &f_exp +_start_end: + + section MACH_UNC +/* Returns 0 on success; non-zero on failure. */ +decompress: // (uchar const *src, size_t lsrc, uchar *dst, u32 &ldst, uint method) + +/* Arguments according to calling convention */ +#define src %esi +#define lsrc INS +#define dst %edi +#define ldst OUTS /* Out: actually a reference: &len_dst */ +#define meth PARM +#define methb PARM // /************************************************************************* // // C callable decompressor // **************************************************************************/ // /* Offsets to parameters, allowing for {pusha + call} */ -#define O_INP (8*4 +1*4) -#define O_INS (8*4 +2*4) -#define O_OUTP (8*4 +3*4) -#define O_OUTS (8*4 +4*4) -#define O_PARAM (8*4 +5*4) - -#define INP dword ptr [esp+O_INP] -#define INS dword ptr [esp+O_INS] -#define OUTP dword ptr [esp+O_OUTP] -#define OUTS dword ptr [esp+O_OUTS] -#define PARM dword ptr [esp+O_PARAM] - -section LEXEC009 - //; empty section for commonality with l_lx_exec86.asm -section LEXEC010 - pusha - // cld - - mov esi, INP - mov edi, OUTP - - or ebp, -1 -//;; align 8 - -#include "arch/i386/nrv2b_d32.S" -#include "arch/i386/nrv2d_d32.S" -#include "arch/i386/nrv2e_d32.S" -#include "arch/i386/lzma_d.S" +#define O_INP NBPW*(8+1) +#define O_INS NBPW*(8+2) +#define O_OUTP NBPW*(8+3) +#define O_OUTS NBPW*(8+4) +#define O_PARAM NBPW*(8+5) + +#define INP O_INP(%esp) +#define INS O_INS(%esp) +#define OUTP O_OUTP(%esp) +#define OUTS O_OUTS(%esp) +#define PARM O_PARAM(%esp) + +M_NRV2B_LE32=2 // ../conf.h +M_NRV2D_LE32=5 +M_NRV2E_LE32=8 + + section NRV_HEAD + +0: .word 9f - 0b +#include "arch/i386/bxx.S" +9: + +/* Working registers */ +#define off %eax /* XXX: 2GB */ +#define len %ecx /* XXX: 2GB */ +#define bits %ebx +#define disp %ebp + + pusha + movl INP,%esi // hardware src for movsb, lodsb + movl INS,%ecx // srclen + add %esi,%ecx; mov %ecx,INP // src EOF + movl OUTP,%edi // hardware dst for movsb + xorl bits,bits // empty; force refill + xorl len,len // create loop invariant + orl $(~0),disp // -1: initial displacement + jmp setup + +/* AMD64 branch prediction is much worse if there are more than 3 branches + per 16-byte block. The jnextb would suffer unless inlined. getnextb is OK + using closed subroutine to save space, and should be OK on cycles because + CALL+RET should be predicted. getnextb could partially expand, using closed + subroutine only for refill. +*/ +/* jump on next bit {0,1} with prediction {y==>likely, n==>unlikely} */ +/* Prediction omitted for now. */ +/* On refill: prefetch next byte, for latency reduction on literals and offsets. */ +#define jnextb0np jnextb0yp +#define jnextb0yp GETBITp; jnc +#define jnextb1np jnextb1yp +#define jnextb1yp GETBITp; jc +#define GETBITp \ + addl bits,bits; jnz 0f; \ + movl (%esi),bits; subl $-4,%esi; \ + adcl bits,bits; movb (%esi),%dl; \ +0: +/* Same, but without prefetch (not useful for length of match.) */ +#define jnextb0n jnextb0y +#define jnextb0y GETBIT; jnc +#define jnextb1n jnextb1y +#define jnextb1y GETBIT; jc +#define GETBIT \ + addl bits,bits; jnz 0f; \ + movl (%esi),bits; subl $-4,%esi; \ + adcl bits,bits; \ +0: + +/* rotate next bit into bottom bit of reg */ +#define getnextbp(reg) GETBITp; adcl reg,reg +#define getnextb(reg) getnextbp(reg) + + +getbit: + addl bits,bits; jz refill // Carry= next bit + rep; ret +refill: + movl (%esi),bits; subl $-4,%esi // next 32 bits; set Carry + adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit + movb (%esi),%dl // speculate: literal, or bottom 8 bits of offset + rep; ret + +copy: // In: len, %edi, disp; Out: 0==len, %edi, disp; trashes %eax, %edx + leal (%edi,disp),%eax; cmpl $5,len // <=3 is forced + movb (%eax),%dl; jbe copy1 // <=5 for better branch predict + cmpl $-4,disp; ja copy1 // 4-byte chunks would overlap + subl $4,len // adjust for termination cases +copy4: + movl (%eax),%edx; addl $4, %eax; subl $4,len + movl %edx,(%edi); leal 4(%edi),%edi; jnc copy4 + addl $4,len; movb (%eax),%dl; jz copy0 +copy1: + incl %eax; movb %dl,(%edi); decl len + movb (%eax),%dl + leal 1(%edi),%edi; jnz copy1 +copy0: + rep; ret + +setup: + cld + + section NRV2E +#include "arch/i386/nrv2e_d32-easy.S" + + section NRV2D +#include "arch/i386/nrv2d_d32-easy.S" + + section NRV2B +#include "arch/i386/nrv2b_d32-easy.S" -section LEXEC015 - // eax is 0 from decompressor code - //xor eax, eax ; return code - -// check compressed size - mov edx, INP - add edx, INS - cmp esi, edx - jz .ok - dec eax -.ok: - -// write back the uncompressed size - sub edi, OUTP - mov edx, OUTS - mov [edx], edi - - mov [7*4 + esp], eax - popa - ret - - ctojr32 - ctok32 edi, dl - cit32 edi -section LEXEC017 - popa - ret +/* lzma has its own 'section's */ + .intel_syntax noprefix +#include "arch/i386/lzma_d.S" + .att_syntax -section LEXEC020 + section NRV_TAIL +/* NRV_TAIL is empty */ -#define PAGE_SIZE ( 1<<12) + section MACHMAINY +eof: + subl OUTP,dst // dst -= original dst + movl OUTS,%ecx; movl dst,(%ecx) // actual length used at dst XXX: 4GB + subl INP,src // src -= eof; // return 0: good; else: bad + movl src,7*NBPW(%esp) // %eax in 'popa' + popa + ret + +end_decompress: .globl end_decompress + + /* IDENTSTR goes here */ + + section MACHMAINZ +PAGE_SIZE= ( 1<<12) +PAGE_MASK= -PAGE_SIZE GAP= 128 // > farthest prefetch; must match ../../p_mach.cpp NO_LAP= 64 // avoid overlap for folded loader; must match ../../p_mach.cpp @@ -144,40 +289,125 @@ sz_cpr= 4 b_method= 8 +#define r_MHDR edi + +main: + pop %ebp // &_start_end + lea -2*NBPW + (_start - _start_end)(%ebp),%esi + + movzwl 0(%ebp),%eax // displ to f_exp + lea 2(%ebp),%ecx; push %ecx // FUNF + add %eax,%ebp // &f_exp + + movl %esi,%edx + movl %esi,%edi; lodsl; subl %eax,%r_MHDR + movl %esi,%ecx; lodsl; subl %eax,%ecx // ADRX= &{l_info; p_info; b_info} +// For the benefit of 'fold': + push %ecx // ADRX + subl %ecx,%edx; push %edx // LENX + push %edi // MHDR + jmp unfold0 + // Decompress the rest of this loader, and jump to it. unfold: - pop esi; lodsd; // push %eax // O_BINFO - push esi; pop ebx // &{ b_info:{sz_unc, sz_cpr, 4{byte}}, compressed_data...} - mov ecx,[sz_cpr + ebx] - lea esi,[ -1+ sz_b_info + ecx + ebx] // &hi_byte folded original - mov edi,[sz_unc + ebx] - lea edi,[GAP + NO_LAP -1+ sz_b_info + edi + ebx] // &hi_byte folded copy - std; rep movsb // copy descending - - lea edx,[GAP + ebx] // &unfolded - mov esi,ebx // &b_info - lea ebx,[1+ edi] // &lo_byte folded copy - push edx // &unfolded code - cld - lodsd - push eax // sz_uncompressed (maximum dstlen for lzma) - mov ecx,esp // save &dstlen - push eax // space for 5th param - push ecx // &dstlen - push edx // &dst - lodsd - push eax // sz_compressed (srclen) - lodsd - mov [4*3 + esp],eax // last 4 bytes of b_info - push ebx // &copied_compressed_data - call ebp // decompress(&src, srclen, &dst, &dstlen, b_info.misc) - add esp, (5+1)*4 // (5+1) args to decompress - lea ebx,[-4+ _start - decompress + ebp] // &total_length - ret // &destination -main: - pop ebp // &decompress + pop %ebx // &{ b_info:{sz_unc, sz_cpr, 4{byte}}, compressed_fold...} +// Find __LINKEDIT + lea sz_Mach_header(%r_MHDR),%esi + sub %ecx,%ecx +L100: + add %ecx,%esi // next command + movl mlc_cmdsize(%esi),%ecx + cmpl $LC_SEGMENT,(%esi); jne L100 + cmpl $__c4('L','I','N','K'),2+mseg_segname(%esi); jne L100 + cmpl $__c4('E','D','I','T'),6+mseg_segname(%esi); jne L100 + movl mseg_vmaddr(%esi),%ecx // arg1 for mprotect; dst= new unfold + +// Unfold + movl %ebx,%esi + push $PROT_READ|PROT_EXEC // arg3 for mprotect + lodsl; push %eax // arg2 for mprotect; .sz_unc == dstlen + movl %esp,%edx // remember &dstlen + push %ecx // arg1 for mprotect; dst= new unfold + + push NBPW(%esi) // arg5 b_method (.b_method - .sz_cpr) + push %edx // arg4 &dstlen + push %ecx // arg3 dst + lodsl; push %eax // arg2 .sz_cpr + lodsl; push %esi // arg1 src + call *%ebp // decompress + addl $NBPW*5,%esp // 5 params to FEXP() + +// PROT_EXEC + pop %edi // arg1 dst= new unfold + push %edi + push %edi // retaddr: dst is tail !! + // Use the copy. + // FIXME: ADRX, LENX + // rsp/ fd,ADRU,LENU,%entry,&Mach_header + // FALL THROUGH to mprotect +mprotect: + movb $SYS_mprotect,%al +L200: + movzbl %al,%eax + mov %esp,%ecx // &{user_ra, arg1, arg2, ...} + or $0xC0000,%eax + call sysgo; jnc 0f + or $~0,%eax // mov %eax,errno +0: + ret $3*NBPW // always remove 3 arguments from stack +write: + movb $SYS_write,%al; jmp L200 +sysgo: + pop %edx // return address for sysenter + .byte 0x0f,0x34 // sysenter + +#define DEBUG 1 +#if DEBUG /*{*/ +TRACE_BUFLEN=0x78 +FD_STDERR=2 +trace: // push $__c4(...); call trace + pusha; movl %esp,%esi // input + movl NBPW*(8+1)(%esp),%eax // annotation + subl $TRACE_BUFLEN,%esp + movl %esp,%edi // output + + pushl %eax; movb $'\n',%al; stosb; popl %eax +0: // print annotation + stosb; shr $8,%eax; jnz 0b + + pushl $8 // words per row + popl %eax +L610: // each word + pushl %eax // count + movb $' ',%al; call trace_hex // next word + popl %eax; decl %eax; jnz L610 + + movb $'\n',%al; stosb + xchg %edi,%eax + subl %esp,%eax // count + movl %esp,%ecx // buf + pushl %eax; pushl %ecx; push $FD_STDERR + call write + addl $TRACE_BUFLEN,%esp + popa + ret $NBPW // remove annotation + +trace_hex: + stosb // punctuation + lodsl // datum + call 0f; .ascii "0123456789abcdef"; 0: pop %ebx + push $8; pop %ecx // iterations +1: + rol $4,%eax; mov %eax,%edx + andl $0xf,%eax; xlat; stosb; xchg %eax,%edx + dec %ecx; jnz 1b + ret + +#endif /*}*/ + +unfold0: call unfold - .long 0 // O_BINFO +FOLD: // compressed fold_elf86 follows /* vim:set ts=8 sw=8 et: */ diff -Nru upx-ucl-3.95/src/stub/src/i386-darwin.macho-fold.S upx-ucl-3.96/src/stub/src/i386-darwin.macho-fold.S --- upx-ucl-3.95/src/stub/src/i386-darwin.macho-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-darwin.macho-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them @@ -29,7 +29,8 @@ * */ -#include "arch/i386/macros.S" + .att_syntax // opcode src,dst +NBPW= 4 sz_b_info= 12 sz_unc= 0 @@ -40,54 +41,48 @@ _start: .globl _start # ignored, but silence "cannot find entry symbol _start" from ld -i386_ts_eax = 0*4 -i386_ts_ebx = 1*4 -i386_ts_ecx = 2*4 -i386_ts_edx = 3*4 -i386_ts_edi = 4*4 -i386_ts_esi = 5*4 -i386_ts_ebp = 6*4 -i386_ts_esp = 7*4 -i386_ts_ss = 8*4 -i386_ts_eflags = 9*4 -i386_ts_eip = 10*4 -i386_ts_cs = 11*4 -i386_ts_ds = 12*4 -i386_ts_es = 13*4 -i386_ts_fs = 14*4 -i386_ts_gs = 15*4 - -fold_begin: // In: ebx= &total_length -//// int3 - push 0 # default value for mhdrp - mov edi,esp # &mhdrp - lea esi,[ 2+ ebp] # &f_unfilter - mov edx,[ebx] # sz_total - mov ecx,ebx - sub ecx,edx # src= &{l_info; p_info; b_info} - mov ebx,[sz_unc + sz_p_info + sz_l_info + ecx] # sz_mach_headers - mov eax,2048 # allow for /usr/lib/dyld - cmp eax,ebx - jbe 0f - mov ebx,eax +//In: +// %ebp= f_exp +// %esp/ MHDR, LENX, ADRX, FUNF, argc, argv, 0, envp, 0, apple, 0, strings + +fold_begin: +// int3 + pop %eax // MHDR + pop %edx // LENX + pop %ecx // ADRX &{l_info; p_info; b_info} + + mov sz_unc + sz_p_info + sz_l_info(%ecx),%ebx # sz_mach_headers + movl $2048,%esi + cmp %esi,%ebx # allow for /usr/lib/dyld: 1564==sizeofcmds (MacOS 10.6.8) + ja 0f + mov %esi,%ebx 0: - sub esp,ebx # alloca - pusha # (mhdrpp, f_unfilter, f_decompress, mhdr, sz_mhdr, sz_total, src, junk) - call upx_main # Out: eax= &Mach_i386_thread_state of dyld - mov ecx,[4*4 + esp] # sz_mhdr - lea esp,[8*4 + 1*ecx + esp] # un_pusha, un_alloca; keep mhdrp - jmp [i386_ts_eip + eax] # esp: mhdrp, argc, argv... + pop %esi // FUNF + + push $0 # default value for mhdrp + mov %esp,%edi # &mhdrp + sub %ebx,%esp # alloca + pusha # (mhdrpp, f_unfilter, f_decompress, mhdr, sz_mhdr, sz_total, src, MHDR) + call upx_main # Out: %eax= entry + movl 5*NBPW(%esp),%edi # sz_total + movl 7*NBPW(%esp),%esi # MHDR + push %eax; push %edi; push %esi; call munmap + pop %eax; pop %eax; pop %eax # %eax= entry + + mov 4*NBPW(%esp),%ecx # sz_mhdr + lea 8*NBPW(%esp,%ecx),%esp # un_pusha, un_alloca; keep mhdrp + jmp *%eax # esp: mhdrp, argc, argv... bswap: .globl bswap - mov eax,[4+ esp] # ptr - mov ecx,[8+ esp] # len + mov 1*NBPW(%esp),%eax # ptr + mov 2*NBPW(%esp),%ecx # len 0: - mov edx,[eax] + mov (%eax),%edx .byte 0x0f,0xc8+2 // bswap edx - mov [eax],edx - sub ecx,4 - lea eax,[4+ eax] - jae 0b + mov %edx,(%eax) + sub $NBPW,%ecx + lea NBPW(%eax),%eax + ja 0b ret SYS_exit =1 @@ -102,36 +97,40 @@ SYS_munmap = 73 SYS_mprotect= 74 +spin: .globl spin + rep; nop; jmp spin + ret + sysgo: - pop edx # return address for sysenter + pop %edx # return address for sysenter .byte 0x0f, 0x34 # sysenter // lazy jmps enable compression of this code write: .globl write - mov al,SYS_write; jmps 2+ 0f; 0: + mov $SYS_write,%al; 0:jmp 0f exit: .globl exit - mov al,SYS_exit; jmps 2+ 0f; 0: + mov $SYS_exit,%al; 0:jmp 0f mprotect: .globl mprotect - mov al,SYS_mprotect; jmps 2+ 0f; 0: + mov $SYS_mprotect,%al; 0:jmp 0f munmap: .globl munmap - mov al,SYS_munmap; jmps 2+ 0f; 0: + mov $SYS_munmap,%al; 0:jmp 0f pread: .globl pread - mov al,SYS_pread; jmps 2+ 0f; 0: + mov $SYS_pread,%al; 0:jmp 0f close: .globl close - mov al,SYS_close; jmps 2+ 0f; 0: + mov $SYS_close,%al; 0:jmp 0f open: .globl open - mov al,SYS_open; jmps 2+ 0f; 0: + mov $SYS_open,%al; 0:jmp 0f mmap: .globl mmap - mov al,SYS_mmap; jmps 2+ 0f; 0: + mov $SYS_mmap,%al; 0:jmp 0f read: .globl read - mov al,SYS_read + mov $SYS_read,%al; 0: - movzbl eax,al # SYS_nnnnn - mov ecx,esp # &{user_ret_addr, arg1, arg2, ...} + movzbl %al,%eax # SYS_nnnnn + mov %esp,%ecx # &{user_ret_addr, arg1, arg2, ...} call sysgo - jncs 0f - //mov errno,eax - or eax,~0 + jnc 0f + //mov errno,%eax + or $~0,%eax 0: ret diff -Nru upx-ucl-3.95/src/stub/src/i386-darwin.macho-main.c upx-ucl-3.96/src/stub/src/i386-darwin.macho-main.c --- upx-ucl-3.95/src/stub/src/i386-darwin.macho-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-darwin.macho-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -46,65 +46,25 @@ // static data, and no string constants. #if !DEBUG /*{*/ -#define DPRINTF(a) /* empty: no debug drivel */ -#define DEBUG_STRCON(name, value) /* empty */ +#define DPRINTF(a ...) /* empty: no debug drivel */ #else /*}{ DEBUG */ -extern int write(int, void const *, size_t); -#if 0 -#include "stdarg.h" -#else +#define DPRINTF(fmt, args...) ({ \ + char const *r_fmt; \ + asm("call 0f; .asciz \"" fmt "\"; 0: pop %0" \ +/*out*/ : "=r"(r_fmt) ); \ + dprintf(r_fmt, args); \ +}) + #define va_arg __builtin_va_arg #define va_end __builtin_va_end #define va_list __builtin_va_list #define va_start __builtin_va_start -#endif - -#if defined(__i386__) || defined(__x86_64__) /*{*/ -#define PIC_STRING(value, var) \ - __asm__ __volatile__ ( \ - "call 0f; .asciz \"" value "\"; \ - 0: pop %0;" : "=r"(var) : \ - ) -#elif defined(__arm__) /*}{*/ -#define PIC_STRING(value, var) \ - __asm__ __volatile__ ( \ - "mov %0,pc; b 0f; \ - .asciz \"" value "\"; .balign 4; \ - 0: " : "=r"(var) \ - ) -#elif defined(__mips__) /*}{*/ -#define PIC_STRING(value, var) \ - __asm__ __volatile__ ( \ - ".set noreorder; bal 0f; move %0,$31; .set reorder; \ - .asciz \"" value "\"; .balign 4; \ - 0: " \ - : "=r"(var) : : "ra" \ - ) -#endif /*}*/ - - -#define DEBUG_STRCON(name, strcon) \ - static char const *name(void) { \ - register char const *rv; PIC_STRING(strcon, rv); \ - return rv; \ - } - - -#ifdef __arm__ /*{*/ -extern unsigned div10(unsigned); -#else /*}{*/ -static unsigned -div10(unsigned x) -{ - return x / 10u; -} -#endif /*}*/ static int unsimal(unsigned x, char *ptr, int n) { if (10<=x) { - unsigned const q = div10(x); + unsigned const q = x / 10; x -= 10 * q; n = unsimal(q, ptr, n); } @@ -122,54 +82,80 @@ return unsimal(x, ptr, n); } -DEBUG_STRCON(STR_hex, "0123456789abcdef"); - static int heximal(unsigned long x, char *ptr, int n) { - if (16<=x) { - n = heximal(x>>4, ptr, n); - x &= 0xf; + unsigned j = -1+ 2*sizeof(unsigned long); + unsigned long m = 0xful << (4 * j); + for (; j; --j, m >>= 4) { // omit leading 0 digits + if (m & x) break; } - ptr[n] = STR_hex()[x]; - return 1+ n; + for (; m; --j, m >>= 4) { + unsigned d = 0xf & (x >> (4 * j)); + ptr[n++] = ((10<=d) ? ('a' - 10) : '0') + d; + } + return n; } - -#define DPRINTF(a) dprintf a - static int dprintf(char const *fmt, ...) { - char c; int n= 0; - char *ptr; - char buf[20]; + char const *literal = 0; // NULL + char buf[24]; // ~0ull == 18446744073709551615 ==> 20 chars va_list va; va_start(va, fmt); - ptr= &buf[0]; - while (0!=(c= *fmt++)) if ('%'!=c) goto literal; - else switch (c= *fmt++) { - default: { -literal: - n+= write(2, fmt-1, 1); - } break; - case 0: goto done; /* early */ - case 'u': { - n+= write(2, buf, unsimal(va_arg(va, unsigned), buf, 0)); - } break; - case 'd': { - n+= write(2, buf, decimal(va_arg(va, int), buf, 0)); - } break; - case 'p': { - buf[0] = '0'; - buf[1] = 'x'; - n+= write(2, buf, heximal((unsigned long)va_arg(va, void *), buf, 2)); - } break; - case 'x': { - buf[0] = '0'; - buf[1] = 'x'; - n+= write(2, buf, heximal(va_arg(va, int), buf, 2)); - } break; + for (;;) { + char c = *fmt++; + if (!c) { // end of fmt + if (literal) { + goto finish; + } + break; // goto done + } + if ('%'!=c) { + if (!literal) { + literal = fmt; // 1 beyond start of literal + } + continue; + } + // '%' == c + if (literal) { +finish: + n += write(2, -1+ literal, fmt - literal); + literal = 0; // NULL + if (!c) { // fmt already ended + break; // goto done + } + } + switch (c= *fmt++) { // deficiency: does not handle _long_ + default: { // un-implemented conversion + n+= write(2, -1+ fmt, 1); + } break; + case 0: { // fmt ends with "%\0" ==> ignore + goto done; + } break; + case 'u': { + n+= write(2, buf, unsimal(va_arg(va, unsigned), buf, 0)); + } break; + case 'd': { + n+= write(2, buf, decimal(va_arg(va, int), buf, 0)); + } break; + case 'p': { + buf[0] = '0'; + buf[1] = 'x'; + n+= write(2, buf, heximal((unsigned long)va_arg(va, void *), buf, 2)); + } break; + case 'x': { + buf[0] = '0'; + buf[1] = 'x'; + n+= write(2, buf, heximal(va_arg(va, unsigned int), buf, 2)); + } break; + case 's': { + char *s0= (char *)va_arg(va, unsigned char *), *s= s0; + if (s) while (*s) ++s; + n+= write(2, s0, s - s0); + } break; + } // 'switch' } done: va_end(va); @@ -177,6 +163,7 @@ } #endif /*}*/ +extern int spin(int); /************************************************************************* // "file" util @@ -187,17 +174,16 @@ void *buf; } Extent; -DEBUG_STRCON(STR_xread, "xread %%p(%%x %%p) %%p %%x\\n") -DEBUG_STRCON(STR_xreadfail, "xreadfail %%p(%%x %%p) %%p %%x\\n") - static void xread(Extent *x, void *buf, size_t count) { unsigned char *p=x->buf, *q=buf; size_t j; - DPRINTF((STR_xread(), x, x->size, x->buf, buf, count)); + DPRINTF("xread %%p(%%x %%p) %%p %%x\\n", + x, x->size, x->buf, buf, count); if (x->size < count) { - DPRINTF((STR_xreadfail(), x, x->size, x->buf, buf, count)); + DPRINTF("xreadfail %%p(%%x %%p) %%p %%x\\n", + x, x->size, x->buf, buf, count); exit(127); } for (j = count; 0!=j--; ++p, ++q) { @@ -217,7 +203,6 @@ #define err_exit(a) goto error #else //}{ save debugging time #define ERR_LAB /*empty*/ -DEBUG_STRCON(STR_exit, "err_exit %%x\\n"); static void err_exit(int a) @@ -265,10 +250,6 @@ const nrv_byte *, nrv_uint, nrv_byte *, nrv_uint *, unsigned ); -DEBUG_STRCON(STR_unpackExtent, - "unpackExtent in=%%p(%%x %%p) out=%%p(%%x %%p) %%p %%p\\n"); -DEBUG_STRCON(STR_err5, "sz_cpr=%%x sz_unc=%%x xo->size=%%x\\n"); - static void unpackExtent( Extent *const xi, // input @@ -277,8 +258,8 @@ f_unfilter *f_unf ) { - DPRINTF((STR_unpackExtent(), - xi, xi->size, xi->buf, xo, xo->size, xo->buf, f_decompress, f_unf)); + DPRINTF("unpackExtent in=%%p(%%x %%p) out=%%p(%%x %%p) %%p %%p\\n", + xi, xi->size, xi->buf, xo, xo->size, xo->buf, f_decompress, f_unf); while (xo->size) { struct b_info h; // Note: if h.sz_unc == h.sz_cpr then the block was not @@ -286,6 +267,8 @@ // Read and check block sizes. xread(xi, (unsigned char *)&h, sizeof(h)); + DPRINTF(" sz_unc=%%x sz_cpr=%%x param=%%x\\n", + h.sz_unc, h.sz_cpr, *(int *)&h.b_method); if (h.sz_unc == 0) { // uncompressed size 0 -> EOF if (h.sz_cpr != UPX_MAGIC_LE32) // h.sz_cpr must be h->magic err_exit(2); @@ -299,7 +282,8 @@ } if (h.sz_cpr > h.sz_unc || h.sz_unc > xo->size ) { - DPRINTF((STR_err5(), h.sz_cpr, h.sz_unc, xo->size)); + DPRINTF("sz_cpr=%%x sz_unc=%%x xo->size=%%x\\n", + h.sz_cpr, h.sz_unc, xo->size); err_exit(5); } // Now we have: @@ -313,7 +297,10 @@ xo->buf, &out_len, h.b_method); if (j != 0 || out_len != (nrv_uint)h.sz_unc) err_exit(7); + DPRINTF(" b_ftid=%%x f_unf=%%p\\n", h.b_ftid, f_unf); if (h.b_ftid!=0 && f_unf) { // have filter + DPRINTF(" unfiltering f_unf=%%p buf=%%p len=%%x cto=%%x ftid=%%x\\n", + f_unf, xo->buf, out_len, h.b_cto8, h.b_ftid); (*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid); } xi->buf += h.sz_cpr; @@ -349,6 +336,8 @@ |(REP8(PROT_WRITE) & EXP8(PF_W)) \ ) >> ((pf & (PF_R|PF_W|PF_X))<<2) )) +typedef size_t Addr; + typedef struct { unsigned magic; unsigned nfat_arch; @@ -408,8 +397,8 @@ unsigned cmd; unsigned cmdsize; char segname[16]; - unsigned vmaddr; - unsigned vmsize; + Addr vmaddr; + Addr vmsize; unsigned fileoff; unsigned filesize; unsigned maxprot; @@ -418,12 +407,27 @@ unsigned flags; } Mach_segment_command; enum e5 { + VM_PROT_NONE = 0, VM_PROT_READ = 1, VM_PROT_WRITE = 2, VM_PROT_EXECUTE = 4 }; typedef struct { + char sectname[16]; + char segname[16]; + Addr addr; /* memory address */ + Addr size; /* size in bytes */ + unsigned offset; /* file offset */ + unsigned align; /* power of 2 */ + unsigned reloff; /* file offset of relocation entries */ + unsigned nreloc; /* number of relocation entries */ + unsigned flags; /* section type and attributes */ + unsigned reserved1; /* for offset or index */ + unsigned reserved2; /* for count or sizeof */ +} Mach_section_command; + +typedef struct { unsigned eax, ebx, ecx, edx; unsigned edi, esi, ebp; unsigned esp, ss; @@ -465,102 +469,235 @@ extern ssize_t pread(int, void *, size_t, off_t_upx_stub, unsigned); extern void bswap(void *, unsigned); -DEBUG_STRCON(STR_mmap, - "mmap addr=%%p len=%%p prot=%%x flags=%%x fd=%%d off=%%p\\n"); -DEBUG_STRCON(STR_do_xmap, - "do_xmap fdi=%%x mhdr=%%p xi=%%p(%%x %%p) f_unf=%%p\\n") +enum { + MH_DYLINKER= 7, /* /usr/bin/dyld */ + MH_PIE = 0x200000 // ASLR -static Mach_i386_thread_state const * -do_xmap( +}; + +// Find convex hull of PT_LOAD (the minimal interval which covers all PT_LOAD), +// and mmap that much, to be sure that a kernel using exec-shield-randomize +// won't place the first piece in a way that leaves no room for the rest. +static Addr // returns relocation constant +xfind_pages( Mach_header const *const mhdr, + Mach_segment_command const *sc, + int const ncmds, + Addr addr +) +{ + Addr lo= ~(Addr)0, hi= 0; + int j; + unsigned mflags = ((mhdr->filetype == MH_DYLINKER || mhdr->flags & MH_PIE) ? 0 : MAP_FIXED); + mflags += MAP_PRIVATE | MAP_ANON; // '+' can optimize better than '|' + DPRINTF("xfind_pages mhdr=%%p sc=%%p ncmds=%%d addr=%%p mflags=%%x\\n", + mhdr, sc, ncmds, addr, mflags); + for (j=0; j < ncmds; ++j, + (sc = (Mach_segment_command const *)((sc->cmdsize>>2) + (unsigned const *)sc)) + ) if (LC_SEGMENT==sc->cmd) { + DPRINTF(" #%%d cmd=%%x cmdsize=%%x vmaddr=%%p vmsize==%%p lo=%%p mflags=%%x\\n", + j, sc->cmd, sc->cmdsize, sc->vmaddr, sc->vmsize, lo, mflags); + if (sc->vmsize // theoretically occupies address space + && !(sc->vmaddr==0 && (MAP_FIXED & mflags)) // but ignore PAGEZERO when MAP_FIXED + ) { + if (mhdr->filetype == MH_DYLINKER // /usr/lib/dyld + && 0==(1+ lo) // 1st LC_SEGMENT + && sc->vmaddr != 0 // non-floating address + ) { + // "pre-linked" dyld on MacOS 10.11.x El Capitan + mflags |= MAP_FIXED; + } + if (lo > sc->vmaddr) { + lo = sc->vmaddr; + } + if (hi < (sc->vmsize + sc->vmaddr)) { + hi = sc->vmsize + sc->vmaddr; + } + } + } + lo -= ~PAGE_MASK & lo; // round down to page boundary + hi = PAGE_MASK & (hi - lo - PAGE_MASK -1); // page length + DPRINTF(" addr=%%p lo=%%p len=%%p mflags=%%x\\n", addr, lo, hi, mflags); + if (MAP_FIXED & mflags) { + addr = lo; + int rv = munmap((void *)addr, hi); + if (rv) { + DPRINTF("munmap addr=%%p len=%%p, rv=%%x\\n", addr, hi, rv); + } + } + addr = (Addr)mmap((void *)addr, hi, VM_PROT_NONE, mflags, MAP_ANON_FD, 0, 0); + DPRINTF(" addr=%%p\\n", addr); + if (~PAGE_MASK & addr) { + //err_exit(6); + } + return (Addr)(addr - lo); +} +Addr // entry: &hatch if main; Mach_thread_state->eip if dyld +do_xmap( + Mach_header *const mhdr, off_t_upx_stub const fat_offset, Extent *const xi, int const fdi, Mach_header **mhdrpp, - f_expand *const f_decompress, + f_expand *const f_exp, f_unfilter *const f_unf ) { - Mach_segment_command const *sc = (Mach_segment_command const *)(1+ mhdr); - Mach_i386_thread_state const *entry = 0; - unsigned j; - - DPRINTF((STR_do_xmap(), - fdi, mhdr, xi, (xi? xi->size: 0), (xi? xi->buf: 0), f_unf)); + DPRINTF("do_xmap fdi=%%x mhdr=%%p *mhdrpp=%%p xi=%%p(%%x %%p) f_unf=%%p\\n", + fdi, mhdr, (mhdrpp ? *mhdrpp : 0), xi, (xi? xi->size: 0), (xi? xi->buf: 0), f_unf); + Addr rv = 0; + Mach_segment_command *sc = (Mach_segment_command *)(1+ mhdr); + Addr const reloc = xfind_pages(mhdr, sc, mhdr->ncmds, 0); + DPRINTF("do_xmap reloc=%%p\\n", reloc); + unsigned j; for ( j=0; j < mhdr->ncmds; ++j, - (sc = (Mach_segment_command const *)(sc->cmdsize + (void const *)sc)) - ) if (LC_SEGMENT==sc->cmd && sc->vmsize!=0) { - Extent xo; - size_t mlen = xo.size = sc->filesize; - unsigned char *addr = xo.buf = (unsigned char *)sc->vmaddr; - unsigned char *haddr = sc->vmsize + addr; - size_t frag = (int)addr &~ PAGE_MASK; - addr -= frag; - mlen += frag; - - if (0!=mlen) { - // Decompressor can overrun the destination by 3 bytes. [x86 only] - size_t const mlen3 = mlen + (xi ? 3 : 0); - unsigned const prot = VM_PROT_READ | VM_PROT_WRITE; - unsigned const flags = MAP_FIXED | MAP_PRIVATE | - ((xi || 0==sc->filesize) ? MAP_ANON : 0); - int const fdm = ((0==sc->filesize) ? MAP_ANON_FD : fdi); - off_t_upx_stub const offset = sc->fileoff + fat_offset; - - DPRINTF((STR_mmap(), addr, mlen3, prot, flags, fdm, offset)); - if (addr != mmap(addr, mlen3, prot, flags, fdm, offset, 0)) { - err_exit(8); - } - } - if (xi && 0!=sc->filesize) { - if (0==sc->fileoff && 0!=mhdrpp) { - *mhdrpp = (Mach_header *)addr; - } - unpackExtent(xi, &xo, f_decompress, f_unf); - } - /*bzero(addr, frag);*/ // fragment at lo end - frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary - bzero(mlen+addr, frag); // fragment at hi end - if (0!=mlen && 0!=mprotect(addr, mlen, sc->initprot)) { - err_exit(10); -ERR_LAB - } - addr += mlen + frag; /* page boundary on hi end */ - if (addr < haddr) { // need pages for .bss - if (0!=addr && addr != mmap(addr, haddr - addr, sc->initprot, - MAP_FIXED | MAP_PRIVATE | MAP_ANON, MAP_ANON_FD, 0, 0 ) ) { - err_exit(9); + (sc = (Mach_segment_command *)((sc->cmdsize>>2) + (unsigned *)sc)) + ) { + DPRINTF(" #%%d cmd=%%x cmdsize=%%x vmsize=%%x\\n", + j, sc->cmd, sc->cmdsize, sc->vmsize); + if (LC_SEGMENT==sc->cmd && !sc->vmsize) { + // Typical __DWARF info segment for 'rust' + struct b_info h; + xread(xi, (unsigned char *)&h, sizeof(h)); + DPRINTF(" 0==.vmsize; skipping %%x\\n", h.sz_cpr); + xi->buf += h.sz_cpr; + } + if (LC_SEGMENT==sc->cmd && sc->vmsize) { + Extent xo; + size_t mlen = xo.size = sc->filesize; + xo.buf = (void *)(reloc + sc->vmaddr); + Addr addr = (Addr)xo.buf; + Addr haddr = sc->vmsize + addr; + size_t frag = addr &~ PAGE_MASK; + addr -= frag; + mlen += frag; + + DPRINTF(" mlen=%%p frag=%%p addr=%%p\\n", mlen, frag, addr); + if (0!=mlen) { // In particular, omitted for __PAGEZERO + size_t const mlen3 = mlen + #if defined(__x86_64__) //{ + // Decompressor can overrun the destination by 3 bytes. [x86 only] + + (xi ? 3 : 0) + #endif //} + ; + unsigned const prot = VM_PROT_READ | VM_PROT_WRITE; + // MAP_FIXED: xfind_pages() reserved them, so use them! + unsigned const flags = MAP_FIXED | MAP_PRIVATE | + ((xi || 0==sc->filesize) ? MAP_ANON : 0); + int const fdm = ((xi || 0==sc->filesize) ? MAP_ANON_FD : fdi); + off_t_upx_stub const offset = sc->fileoff + fat_offset; + + DPRINTF("mmap addr=%%p len=%%p prot=%%x flags=%%x fd=%%d off=%%p reloc=%%p\\n", + addr, mlen3, prot, flags, fdm, offset, reloc); + { + Addr maddr = (Addr)mmap((void *)addr, mlen3, prot, flags, fdm, offset, 0); + DPRINTF("maddr=%%p\\n", maddr); + if (maddr != addr) { + err_exit(8); + } + addr = maddr; + } + if (mhdrpp && !*mhdrpp) { // MH_DYLINKER + *mhdrpp = (Mach_header*)addr; + } } - } - else if (xi) { // cleanup if decompressor overrun crosses page boundary - mlen = ~PAGE_MASK & (3+ mlen); - if (mlen<=3) { // page fragment was overrun buffer only - munmap(addr, mlen); + if (xi && 0!=sc->filesize) { + if (0==sc->fileoff /*&& 0!=mhdrpp*/) { + *mhdrpp = (Mach_header *)(void *)addr; + } + unpackExtent(xi, &xo, f_exp, f_unf); + } + DPRINTF("xi=%%p mlen=%%p fileoff=%%p nsects=%%d\\n", + xi, mlen, sc->fileoff, sc->nsects); + if (xi && mlen && !sc->fileoff && sc->nsects) { + // main target __TEXT segment at beginning of file with sections (__text) + // Use upto 2 words of header padding for the escape hatch. + // fold.S could do this easier, except PROT_WRITE is missing then. + union { + unsigned char *p0; + unsigned short *p1; + unsigned int *p2; + unsigned long *p3; + } u; + u.p0 = (unsigned char *)addr; + Mach_segment_command *segp = (Mach_segment_command *)((((char *)sc - (char *)mhdr)>>2) + u.p2); + Mach_section_command *const secp = (Mach_section_command *)(1+ segp); + unsigned *hatch= -2+ (secp->offset>>2) + u.p2; + DPRINTF("hatch=%%p segp=%%p secp=%%p secp->offset=%%p mhdr=%%p\\n", hatch, segp, secp, secp->offset, addr); + #if defined(__aarch64__) //{ + hatch[0] = 0xd4000001; // svc #0 // syscall + hatch[1] = 0xd65f03c0; // ret + #elif defined(__arm__) //}{ + hatch[0] = 0xef000000; // svc 0x0 // syscall + hatch[1] = 0xe12fff1e; // bx lr + #elif defined(__x86_64__) //}{ + hatch[0] = 0xc3050f90; // nop; syscall; ret + #elif defined(__i386__) //}{ + hatch[0] = 0xc3050f90; // nop; syscall; ret + #endif //} + rv = (Addr)hatch; + } + /*bzero(addr, frag);*/ // fragment at lo end + frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary + bzero((void *)(mlen+addr), frag); // fragment at hi end + if (0!=mlen && 0!=mprotect((void *)addr, mlen, sc->initprot)) { + err_exit(10); + ERR_LAB + } + addr += mlen + frag; /* page boundary on hi end */ + if ( + #if SIMULATE_ON_LINUX_EABI4 /*{*/ + 0!=addr && + #endif /*}*/ + addr < haddr) { // need pages for .bss + if (0!=addr && addr != (Addr)mmap((void *)addr, haddr - addr, sc->initprot, + MAP_FIXED | MAP_PRIVATE | MAP_ANON, MAP_ANON_FD, 0, 0) ) { + err_exit(9); + } + } + else if (xi) { // cleanup if decompressor overrun crosses page boundary + mlen = ~PAGE_MASK & (3+ mlen); + if (mlen<=3) { // page fragment was overrun buffer only + DPRINTF("munmap %%x %%x\\n", addr, mlen); + munmap((char *)addr, mlen); + } } } - } - else if (LC_UNIXTHREAD==sc->cmd || LC_THREAD==sc->cmd) { - Mach_thread_command const *const thrc = (Mach_thread_command const *)sc; - if (i386_THREAD_STATE ==thrc->flavor - && i386_THREAD_STATE_COUNT==thrc->count ) { - entry = &thrc->state; + else if (!xi // dyld + && (LC_UNIXTHREAD==sc->cmd || LC_THREAD==sc->cmd)) { + Mach_thread_command *const thrc = (Mach_thread_command *)sc; + DPRINTF("thread_command= %%p\\n", sc); + if (1 + // FIXME THREAD_STATE ==thrc->flavor + // && THREAD_STATE_COUNT==thrc->count + ) { + DPRINTF("thread_state= %%p flavor=%%d count=%%x reloc=%%p\\n", + &thrc->state, thrc->flavor, thrc->count, reloc); + #if defined(__aarch64__) //{ + rv = reloc + thrc->state.pc; + #elif defined(__arm__) //}{ + rv = reloc + thrc->state.pc; + #elif defined(__x86_64__) //}{ + rv = reloc + thrc->state.rip; + #elif defined(__i386__) //}{ + rv = reloc + thrc->state.eip; + #else //}{ + #error do_xmap rv $ARCH + #endif //} + } } } - return entry; + DPRINTF("do_xmap= %%p\\n", rv); + return rv; } - /************************************************************************* // upx_main - called by our entry code // **************************************************************************/ -DEBUG_STRCON(STR_upx_main, - "upx_main szc=%%x f_dec=%%p f_unf=%%p " - " xo=%%p(%%x %%p) xi=%%p(%%x %%p) mhdrpp=%%p\\n") - -Mach_i386_thread_state const * +Addr upx_main( Mach_header **const mhdrpp, // Out: *mhdrpp= &real Mach_header f_unfilter *const f_unf, @@ -571,7 +708,7 @@ struct l_info const *const li ) { - Mach_i386_thread_state const *entry; + Addr entry; off_t_upx_stub fat_offset = 0; Extent xi, xo, xi0; xi.buf = CONST_CAST(unsigned char *, 1+ (struct p_info const *)(1+ li)); // &b_info @@ -580,9 +717,11 @@ xo.size = ((struct b_info const *)(void const *)xi.buf)->sz_unc; xi0 = xi; - DPRINTF((STR_upx_main(), - sz_compressed, f_decompress, f_unf, &xo, xo.size, xo.buf, - &xi, xi.size, xi.buf, mhdrpp)); + DPRINTF("upx_main szc=%%x f_dec=%%p f_unf=%%p " + " xo=%%p(%%x %%p) xi=%%p(%%x %%p) mhdrpp=%%p\\n", + sz_compressed, f_decompress, f_unf, + &xo, xo.size, xo.buf, + &xi, xi.size, xi.buf, mhdrpp); // Uncompress Macho headers unpackExtent(&xi, &xo, f_decompress, 0); // never filtered? diff -Nru upx-ucl-3.95/src/stub/src/i386-darwin.macho-upxmain.c upx-ucl-3.96/src/stub/src/i386-darwin.macho-upxmain.c --- upx-ucl-3.95/src/stub/src/i386-darwin.macho-upxmain.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-darwin.macho-upxmain.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -710,6 +710,44 @@ //# -Wl,-unexported_symbols_list unexport-upxload.txt \ //# strip -u -r i386-darwin.macho-upxmain.exe +// Makefile: +//# Compile i386-darwin.macho-upxmain.c on MacOS 10.9 (Mavericks) or later, +//# to get smaller code. Then copy i386-darwin.macho-upxmain.o to MacOS 10.6.x, +//# and static link, to get runtime conventions straight [??] +//#\tgcc -m32 -c -I $PWD \ +//#\t -Os -fPIC -fno-stack-protector -fno-unwind-tables \ +//#\t i386-darwin.macho-upxmain.c +// +//i386-darwin.macho-upxmain.exe: Makefile +//i386-darwin.macho-upxmain.exe: start.S +//i386-darwin.macho-upxmain.exe: i386-darwin.macho-upxsubr.S +//i386-darwin.macho-upxmain.exe: i386-darwin.macho-upxmain.o +//\tgcc -c start.S i386-darwin.macho-upxsubr.S +//\tgcc -o $@ -I $PWD \ +//\t -O -nostartfiles -fno-stack-protector -fno-unwind-tables \ +//\t start.o \ +//\t i386-darwin.macho-upxmain.o \ +//\t i386-darwin.macho-upxsubr.o \ +//\t -Wl,-pagezero_size,0x1000 \ +//\t -Wl,-no_uuid \ +//\t -Wl,-bind_at_load \ +//\t -Wl,-headerpad,0x400 +//\tstrip -u -r -S -x $@ +//\totool -hl $@ >upxmain-new.otool + +// History: Originally this file i386-darwin.macho-upxmain.c was the entry point +// of the compressed program. The output i386-darwin.macho-upxmain.exe was used +// as a prototype for LC_* commands. The start address was in LC_UNIXTHREAD. +// The decompressor upx_main() i386-darwin.macho-main.c itself was not compressed. +// +// Then MacOS 10.7 ("Lion") supported 64-bit x86_64, and things began to change. +// The start address (for anything except the dynamic linker) is in LC_MAIN. +// We still use LC_UNIXTHREAD because we are "dynamic linker". +// Because no program on MacOS uses brk(0), then the compressed program and stub +// could above the space for un-compressed program, saving a copy-and-relocate. +// The run-time decompression could be more like on Linux, using: macho-entry.S, +// macho-fold.S, macho-main.c + int main(int argc, char *argv[]) { diff -Nru upx-ucl-3.95/src/stub/src/i386-darwin.macho-upxsubr.S upx-ucl-3.96/src/stub/src/i386-darwin.macho-upxsubr.S --- upx-ucl-3.95/src/stub/src/i386-darwin.macho-upxsubr.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-darwin.macho-upxsubr.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-dos32.djgpp2.S upx-ucl-3.96/src/stub/src/i386-dos32.djgpp2.S --- upx-ucl-3.95/src/stub/src/i386-dos32.djgpp2.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-dos32.djgpp2.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-dos32.tmt.S upx-ucl-3.96/src/stub/src/i386-dos32.tmt.S --- upx-ucl-3.95/src/stub/src/i386-dos32.tmt.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-dos32.tmt.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-dos32.watcom.le.S upx-ucl-3.96/src/stub/src/i386-dos32.watcom.le.S --- upx-ucl-3.95/src/stub/src/i386-dos32.watcom.le.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-dos32.watcom.le.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf-entry.S upx-ucl-3.96/src/stub/src/i386-linux.elf-entry.S --- upx-ucl-3.95/src/stub/src/i386-linux.elf-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.execve-entry.S upx-ucl-3.96/src/stub/src/i386-linux.elf.execve-entry.S --- upx-ucl-3.95/src/stub/src/i386-linux.elf.execve-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.execve-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.execve-fold.lds upx-ucl-3.96/src/stub/src/i386-linux.elf.execve-fold.lds --- upx-ucl-3.95/src/stub/src/i386-linux.elf.execve-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.execve-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.execve-fold.S upx-ucl-3.96/src/stub/src/i386-linux.elf.execve-fold.S --- upx-ucl-3.95/src/stub/src/i386-linux.elf.execve-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.execve-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.execve-main.c upx-ucl-3.96/src/stub/src/i386-linux.elf.execve-main.c --- upx-ucl-3.95/src/stub/src/i386-linux.elf.execve-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.execve-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf-fold.lds upx-ucl-3.96/src/stub/src/i386-linux.elf-fold.lds --- upx-ucl-3.95/src/stub/src/i386-linux.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf-fold.S upx-ucl-3.96/src/stub/src/i386-linux.elf-fold.S --- upx-ucl-3.95/src/stub/src/i386-linux.elf-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.interp-entry.S upx-ucl-3.96/src/stub/src/i386-linux.elf.interp-entry.S --- upx-ucl-3.95/src/stub/src/i386-linux.elf.interp-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.interp-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.interp-fold.lds upx-ucl-3.96/src/stub/src/i386-linux.elf.interp-fold.lds --- upx-ucl-3.95/src/stub/src/i386-linux.elf.interp-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.interp-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.interp-fold.S upx-ucl-3.96/src/stub/src/i386-linux.elf.interp-fold.S --- upx-ucl-3.95/src/stub/src/i386-linux.elf.interp-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.interp-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.interp-main.c upx-ucl-3.96/src/stub/src/i386-linux.elf.interp-main.c --- upx-ucl-3.95/src/stub/src/i386-linux.elf.interp-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.interp-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf-main.c upx-ucl-3.96/src/stub/src/i386-linux.elf-main.c --- upx-ucl-3.95/src/stub/src/i386-linux.elf-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -368,6 +368,7 @@ static void * make_hatch_x86(Elf32_Phdr const *const phdr, ptrdiff_t reloc) { + unsigned xprot = 0; unsigned *hatch = 0; DPRINTF("make_hatch %%p %%x %%x\\n",phdr,reloc,0); if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) { @@ -379,19 +380,27 @@ // which uses the comma to save bytes when test_locj involves locj // and the action is the same when either test succeeds. + if ( // Try page fragmentation just beyond .text . - if ( ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), + ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), ( phdr->p_memsz==phdr->p_filesz // don't pollute potential .bss && 4<=(~PAGE_MASK & -(int)hatch) ) ) // space left on page // Try Elf32_Ehdr.e_ident[12..15] . warning: 'const' cast away || ( (hatch = (void *)(&((Elf32_Ehdr *)phdr->p_vaddr + reloc)->e_ident[12])), - (phdr->p_offset==0) ) ) { + (phdr->p_offset==0) ) + // Allocate and use a new page. + || ( xprot = 1, hatch = mmap(0, PAGE_SIZE, PROT_WRITE|PROT_READ, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) ) + ) { // Omitting 'const' saves repeated literal in gcc. unsigned /*const*/ escape = 0xc36180cd; // "int $0x80; popa; ret" // Don't store into read-only page if value is already there. if (* (volatile unsigned*) hatch != escape) { * hatch = escape; } + if (xprot) { + mprotect(hatch, 1*sizeof(unsigned), PROT_EXEC|PROT_READ); + } DPRINTF(" hatch at %%p\\n", hatch); } else { @@ -410,6 +419,7 @@ ) { unsigned const sys_munmap = get_sys_munmap(); + unsigned xprot = 0; unsigned *hatch = 0; DPRINTF("make_hatch %%p %%x %%x\\n",phdr,reloc,sys_munmap); if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) { @@ -421,17 +431,24 @@ // which uses the comma to save bytes when test_locj involves locj // and the action is the same when either test succeeds. + if ( // Try page fragmentation just beyond .text . - if ( ( (hatch = (void *)(~3u & (3+ phdr->p_memsz + phdr->p_vaddr + reloc))), + ( (hatch = (void *)(~3u & (3+ phdr->p_memsz + phdr->p_vaddr + reloc))), ( phdr->p_memsz==phdr->p_filesz // don't pollute potential .bss && (2*4)<=(~PAGE_MASK & -(int)hatch) ) ) // space left on page // Try Elf32_Ehdr.e_ident[8..15] . warning: 'const' cast away || ( (hatch = (void *)(&((Elf32_Ehdr *)phdr->p_vaddr + reloc)->e_ident[8])), - (phdr->p_offset==0) ) ) - { - hatch[0]= sys_munmap; // syscall __NR_unmap - hatch[1]= 0xe1a0f00e; // mov pc,lr + (phdr->p_offset==0) ) + // Allocate and use a new page. + || ( xprot = 1, hatch = mmap(0, PAGE_SIZE, PROT_WRITE|PROT_READ, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) ) + ) { + hatch[0] = sys_munmap; // syscall __NR_unmap + hatch[1] = 0xe1a0f00e; // mov pc,lr __clear_cache(&hatch[0], &hatch[2]); // ? needed before mprotect() + if (xprot) { + mprotect(hatch, 2*sizeof(unsigned), PROT_EXEC|PROT_READ); + } } else { hatch = 0; @@ -446,20 +463,27 @@ ptrdiff_t reloc, unsigned const frag_mask) { + unsigned xprot = 0; unsigned *hatch = 0; DPRINTF("make_hatch %%p %%x %%x\\n",phdr,reloc,frag_mask); if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) { + if ( // Try page fragmentation just beyond .text . - if ( ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), + ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), ( phdr->p_memsz==phdr->p_filesz // don't pollute potential .bss && (3*4)<=(frag_mask & -(int)hatch) ) ) // space left on page - ) - { + // Allocate and use a new page. + || ( xprot = 1, hatch = mmap(0, PAGE_SIZE, PROT_WRITE|PROT_READ, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) ) + ) { hatch[0]= 0x0000000c; // syscall #define RS(r) ((037&(r))<<21) #define JR 010 - hatch[1]= RS(30)|JR; // jr $30 # s8 - hatch[2]= 0x00000000; // nop + hatch[1] = RS(30)|JR; // jr $30 # s8 + hatch[2] = 0x00000000; // nop + if (xprot) { + mprotect(hatch, 3*sizeof(unsigned), PROT_EXEC|PROT_READ); + } } else { hatch = 0; @@ -474,20 +498,27 @@ ptrdiff_t reloc, unsigned const frag_mask) { + unsigned xprot = 0; unsigned *hatch = 0; DPRINTF("make_hatch %%p %%x %%x\\n",phdr,reloc,frag_mask); if (phdr->p_type==PT_LOAD && phdr->p_flags & PF_X) { + if ( // Try page fragmentation just beyond .text . - if ( ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), + ( (hatch = (void *)(phdr->p_memsz + phdr->p_vaddr + reloc)), ( phdr->p_memsz==phdr->p_filesz // don't pollute potential .bss && (2*4)<=(frag_mask & -(int)hatch) ) ) // space left on page // Try Elf32_Ehdr.e_ident[8..15] . warning: 'const' cast away || ( (hatch = (void *)(&((Elf32_Ehdr *)phdr->p_vaddr + reloc)->e_ident[8])), (phdr->p_offset==0) ) - ) - { - hatch[0]= 0x44000002; // sc - hatch[1]= 0x4e800020; // blr + // Allocate and use a new page. + || ( xprot = 1, hatch = mmap(0, PAGE_SIZE, PROT_WRITE|PROT_READ, + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) ) + ) { + hatch[0] = 0x44000002; // sc + hatch[1] = 0x4e800020; // blr + if (xprot) { + mprotect(hatch, 2*sizeof(unsigned), PROT_EXEC|PROT_READ); + } } else { hatch = 0; diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.shell-entry.S upx-ucl-3.96/src/stub/src/i386-linux.elf.shell-entry.S --- upx-ucl-3.95/src/stub/src/i386-linux.elf.shell-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.shell-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.shell-fold.lds upx-ucl-3.96/src/stub/src/i386-linux.elf.shell-fold.lds --- upx-ucl-3.95/src/stub/src/i386-linux.elf.shell-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.shell-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.shell-fold.S upx-ucl-3.96/src/stub/src/i386-linux.elf.shell-fold.S --- upx-ucl-3.95/src/stub/src/i386-linux.elf.shell-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.shell-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.elf.shell-main.c upx-ucl-3.96/src/stub/src/i386-linux.elf.shell-main.c --- upx-ucl-3.95/src/stub/src/i386-linux.elf.shell-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.elf.shell-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.kernel.vmlinux-head.S upx-ucl-3.96/src/stub/src/i386-linux.kernel.vmlinux-head.S --- upx-ucl-3.95/src/stub/src/i386-linux.kernel.vmlinux-head.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.kernel.vmlinux-head.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2006-2018 John Reiser +; Copyright (C) 2006-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.kernel.vmlinux.S upx-ucl-3.96/src/stub/src/i386-linux.kernel.vmlinux.S --- upx-ucl-3.95/src/stub/src/i386-linux.kernel.vmlinux.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.kernel.vmlinux.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2004-2018 John Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2004-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.kernel.vmlinuz.S upx-ucl-3.96/src/stub/src/i386-linux.kernel.vmlinuz.S --- upx-ucl-3.95/src/stub/src/i386-linux.kernel.vmlinuz.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.kernel.vmlinuz.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-linux.shlib-init.S upx-ucl-3.96/src/stub/src/i386-linux.shlib-init.S --- upx-ucl-3.95/src/stub/src/i386-linux.shlib-init.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-linux.shlib-init.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-openbsd.elf-fold.S upx-ucl-3.96/src/stub/src/i386-openbsd.elf-fold.S --- upx-ucl-3.95/src/stub/src/i386-openbsd.elf-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-openbsd.elf-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-openbsd.elf-main.c upx-ucl-3.96/src/stub/src/i386-openbsd.elf-main.c --- upx-ucl-3.95/src/stub/src/i386-openbsd.elf-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-openbsd.elf-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/i386-win32.pe.S upx-ucl-3.96/src/stub/src/i386-win32.pe.S --- upx-ucl-3.95/src/stub/src/i386-win32.pe.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/i386-win32.pe.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/include/bsd.h upx-ucl-3.96/src/stub/src/include/bsd.h --- upx-ucl-3.95/src/stub/src/include/bsd.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/include/bsd.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/include/darwin.h upx-ucl-3.96/src/stub/src/include/darwin.h --- upx-ucl-3.95/src/stub/src/include/darwin.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/include/darwin.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/include/header.S upx-ucl-3.96/src/stub/src/include/header.S --- upx-ucl-3.95/src/stub/src/include/header.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/include/header.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/include/linux.h upx-ucl-3.96/src/stub/src/include/linux.h --- upx-ucl-3.95/src/stub/src/include/linux.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/include/linux.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them @@ -141,6 +141,13 @@ #define MAP_ANONYMOUS 0x20 #define MAP_DENYWRITE 0x0800 /* ETXTBSY */ +// +// These should enable removal of PT_LOAD[1] for setting brk(0). +// "git blame linux/kernel/sys.c" says: +// 028ee4be34a09 (Cyrill Gorcunov 2012-01-12 17:20:55 -0800 2157) case PR_SET_MM_START_BRK: +#define PR_SET_MM 35 +# define PR_SET_MM_START_BRK 6 +# define PR_SET_MM_BRK 7 /************************************************************************* // i386 syscalls diff -Nru upx-ucl-3.95/src/stub/src/m68k-atari.tos.S upx-ucl-3.96/src/stub/src/m68k-atari.tos.S --- upx-ucl-3.95/src/stub/src/m68k-atari.tos.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/m68k-atari.tos.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,8 +3,8 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/mipsel.r3000-linux.elf-entry.S upx-ucl-3.96/src/stub/src/mipsel.r3000-linux.elf-entry.S --- upx-ucl-3.95/src/stub/src/mipsel.r3000-linux.elf-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/mipsel.r3000-linux.elf-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/mipsel.r3000-linux.elf-fold.lds upx-ucl-3.96/src/stub/src/mipsel.r3000-linux.elf-fold.lds --- upx-ucl-3.95/src/stub/src/mipsel.r3000-linux.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/mipsel.r3000-linux.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/mipsel.r3000-linux.elf-fold.S upx-ucl-3.96/src/stub/src/mipsel.r3000-linux.elf-fold.S --- upx-ucl-3.95/src/stub/src/mipsel.r3000-linux.elf-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/mipsel.r3000-linux.elf-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/mipsel.r3000-linux.shlib-init.S upx-ucl-3.96/src/stub/src/mipsel.r3000-linux.shlib-init.S --- upx-ucl-3.95/src/stub/src/mipsel.r3000-linux.shlib-init.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/mipsel.r3000-linux.shlib-init.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/mipsel.r3000-ps1.S upx-ucl-3.96/src/stub/src/mipsel.r3000-ps1.S --- upx-ucl-3.95/src/stub/src/mipsel.r3000-ps1.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/mipsel.r3000-ps1.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2002-2018 Jens Medoch +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2002-2020 Jens Medoch ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/mips.r3000-linux.elf-fold.lds upx-ucl-3.96/src/stub/src/mips.r3000-linux.elf-fold.lds --- upx-ucl-3.95/src/stub/src/mips.r3000-linux.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/mips.r3000-linux.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64le-darwin.dylib-entry.S upx-ucl-3.96/src/stub/src/powerpc64le-darwin.dylib-entry.S --- upx-ucl-3.95/src/stub/src/powerpc64le-darwin.dylib-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64le-darwin.dylib-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ * * This file is part of the UPX executable compressor. * - * Copyright (C) 2005-2018 John F. Reiser + * Copyright (C) 2005-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64le-darwin.macho-entry.S upx-ucl-3.96/src/stub/src/powerpc64le-darwin.macho-entry.S --- upx-ucl-3.95/src/stub/src/powerpc64le-darwin.macho-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64le-darwin.macho-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ * * This file is part of the UPX executable compressor. * - * Copyright (C) 2005-2018 John F. Reiser + * Copyright (C) 2005-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64le-darwin.macho-fold.S upx-ucl-3.96/src/stub/src/powerpc64le-darwin.macho-fold.S --- upx-ucl-3.95/src/stub/src/powerpc64le-darwin.macho-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64le-darwin.macho-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64le-darwin.macho-main.c upx-ucl-3.96/src/stub/src/powerpc64le-darwin.macho-main.c --- upx-ucl-3.95/src/stub/src/powerpc64le-darwin.macho-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64le-darwin.macho-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64le-linux.elf-entry.S upx-ucl-3.96/src/stub/src/powerpc64le-linux.elf-entry.S --- upx-ucl-3.95/src/stub/src/powerpc64le-linux.elf-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64le-linux.elf-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64le-linux.elf-fold.lds upx-ucl-3.96/src/stub/src/powerpc64le-linux.elf-fold.lds --- upx-ucl-3.95/src/stub/src/powerpc64le-linux.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64le-linux.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64le-linux.elf-fold.S upx-ucl-3.96/src/stub/src/powerpc64le-linux.elf-fold.S --- upx-ucl-3.95/src/stub/src/powerpc64le-linux.elf-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64le-linux.elf-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64le-linux.kernel.vmlinux-head.S upx-ucl-3.96/src/stub/src/powerpc64le-linux.kernel.vmlinux-head.S --- upx-ucl-3.95/src/stub/src/powerpc64le-linux.kernel.vmlinux-head.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64le-linux.kernel.vmlinux-head.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2007-2018 John Reiser +; Copyright (C) 2007-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64le-linux.kernel.vmlinux.S upx-ucl-3.96/src/stub/src/powerpc64le-linux.kernel.vmlinux.S --- upx-ucl-3.95/src/stub/src/powerpc64le-linux.kernel.vmlinux.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64le-linux.kernel.vmlinux.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2004-2018 John Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2004-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc64-linux.elf-fold.lds upx-ucl-3.96/src/stub/src/powerpc64-linux.elf-fold.lds --- upx-ucl-3.95/src/stub/src/powerpc64-linux.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc64-linux.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-darwin.dylib-entry.S upx-ucl-3.96/src/stub/src/powerpc-darwin.dylib-entry.S --- upx-ucl-3.95/src/stub/src/powerpc-darwin.dylib-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-darwin.dylib-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ * * This file is part of the UPX executable compressor. * - * Copyright (C) 2005-2018 John F. Reiser + * Copyright (C) 2005-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-entry.S upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-entry.S --- upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ * * This file is part of the UPX executable compressor. * - * Copyright (C) 2005-2018 John F. Reiser + * Copyright (C) 2005-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-fold.S upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-fold.S --- upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-main.c upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-main.c --- upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-main.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-main.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-upxmain.c upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-upxmain.c --- upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-upxmain.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-upxmain.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-upxsubr.S upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-upxsubr.S --- upx-ucl-3.95/src/stub/src/powerpc-darwin.macho-upxsubr.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-darwin.macho-upxsubr.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2000-2018 John F. Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2000-2020 John F. Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-linux.elf-entry.S upx-ucl-3.96/src/stub/src/powerpc-linux.elf-entry.S --- upx-ucl-3.95/src/stub/src/powerpc-linux.elf-entry.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-linux.elf-entry.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-linux.elf-fold.lds upx-ucl-3.96/src/stub/src/powerpc-linux.elf-fold.lds --- upx-ucl-3.95/src/stub/src/powerpc-linux.elf-fold.lds 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-linux.elf-fold.lds 2020-01-23 16:56:00.000000000 +0000 @@ -2,7 +2,7 @@ This file is part of the UPX executable compressor. - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-linux.elf-fold.S upx-ucl-3.96/src/stub/src/powerpc-linux.elf-fold.S --- upx-ucl-3.95/src/stub/src/powerpc-linux.elf-fold.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-linux.elf-fold.S 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ * * This file is part of the UPX executable compressor. * -* Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -* Copyright (C) 1996-2018 Laszlo Molnar -* Copyright (C) 2000-2018 John F. Reiser +* Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +* Copyright (C) 1996-2020 Laszlo Molnar +* Copyright (C) 2000-2020 John F. Reiser * All Rights Reserved. * * UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-linux.kernel.vmlinux-head.S upx-ucl-3.96/src/stub/src/powerpc-linux.kernel.vmlinux-head.S --- upx-ucl-3.95/src/stub/src/powerpc-linux.kernel.vmlinux-head.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-linux.kernel.vmlinux-head.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,7 +3,7 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 2007-2018 John Reiser +; Copyright (C) 2007-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/src/powerpc-linux.kernel.vmlinux.S upx-ucl-3.96/src/stub/src/powerpc-linux.kernel.vmlinux.S --- upx-ucl-3.95/src/stub/src/powerpc-linux.kernel.vmlinux.S 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/src/powerpc-linux.kernel.vmlinux.S 2020-01-23 16:56:00.000000000 +0000 @@ -3,9 +3,9 @@ ; ; This file is part of the UPX executable compressor. ; -; Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2018 Laszlo Molnar -; Copyright (C) 2004-2018 John Reiser +; Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer +; Copyright (C) 1996-2020 Laszlo Molnar +; Copyright (C) 2004-2020 John Reiser ; All Rights Reserved. ; ; UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/stub/tools/armpe/armpe_tester.c upx-ucl-3.96/src/stub/tools/armpe/armpe_tester.c --- upx-ucl-3.95/src/stub/tools/armpe/armpe_tester.c 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/stub/tools/armpe/armpe_tester.c 2020-01-23 16:56:00.000000000 +0000 @@ -2,9 +2,9 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar - Copyright (C) 2000-2018 John F. Reiser + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar + Copyright (C) 2000-2020 John F. Reiser All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/s_vcsa.cpp upx-ucl-3.96/src/s_vcsa.cpp --- upx-ucl-3.95/src/s_vcsa.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/s_vcsa.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/s_win32.cpp upx-ucl-3.96/src/s_win32.cpp --- upx-ucl-3.95/src/s_win32.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/s_win32.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/ui.cpp upx-ucl-3.96/src/ui.cpp --- upx-ucl-3.95/src/ui.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/ui.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/ui.h upx-ucl-3.96/src/ui.h --- upx-ucl-3.95/src/ui.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/ui.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/util.cpp upx-ucl-3.96/src/util.cpp --- upx-ucl-3.95/src/util.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/util.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/util.h upx-ucl-3.96/src/util.h --- upx-ucl-3.95/src/util.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/util.h 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/src/version.h upx-ucl-3.96/src/version.h --- upx-ucl-3.95/src/version.h 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/version.h 2020-01-23 16:56:00.000000000 +0000 @@ -1,8 +1,8 @@ -#define UPX_VERSION_HEX 0x035f00 /* 03.95.00 */ -#define UPX_VERSION_STRING "3.95" -#define UPX_VERSION_STRING4 "3.95" -#define UPX_VERSION_DATE "Aug 26th 2018" -#define UPX_VERSION_DATE_ISO "2018-08-26" -#define UPX_VERSION_YEAR "2018" +#define UPX_VERSION_HEX 0x036000 /* 03.96.00 */ +#define UPX_VERSION_STRING "3.96" +#define UPX_VERSION_STRING4 "3.96" +#define UPX_VERSION_DATE "Jan 23rd 2020" +#define UPX_VERSION_DATE_ISO "2020-01-23" +#define UPX_VERSION_YEAR "2020" /* vim:set ts=4 sw=4 et: */ diff -Nru upx-ucl-3.95/src/work.cpp upx-ucl-3.96/src/work.cpp --- upx-ucl-3.95/src/work.cpp 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/src/work.cpp 2020-01-23 16:56:00.000000000 +0000 @@ -2,8 +2,8 @@ This file is part of the UPX executable compressor. - Copyright (C) 1996-2018 Markus Franz Xaver Johannes Oberhumer - Copyright (C) 1996-2018 Laszlo Molnar + Copyright (C) 1996-2020 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996-2020 Laszlo Molnar All Rights Reserved. UPX and the UCL library are free software; you can redistribute them diff -Nru upx-ucl-3.95/THANKS upx-ucl-3.96/THANKS --- upx-ucl-3.95/THANKS 2018-08-26 15:55:00.000000000 +0000 +++ upx-ucl-3.96/THANKS 2020-01-23 16:56:00.000000000 +0000 @@ -8,7 +8,7 @@ The Ultimate Packer for eXecutables - Copyright (c) 1996-2018 Markus Oberhumer, Laszlo Molnar & John Reiser + Copyright (c) 1996-2020 Markus Oberhumer, Laszlo Molnar & John Reiser https://upx.github.io