changeset: 2451:4e2a6c33d5fb
tag: ppc64le user: Thierry Fauck <tfauck@free.fr> date: Wed Jun 22 08:25:13 2016 -0400 summary: Add support for ppc64le statically linked binaries
This commit is contained in:
parent
fa522c0ffc
commit
01a0c8672d
@ -10,6 +10,7 @@
|
||||
# dependencies on the default values of builtin variables,
|
||||
# then we cannot use builtin variables at all.
|
||||
MAKEFLAGS += -rR
|
||||
DEBUG=1
|
||||
|
||||
.SUFFIXES:
|
||||
export SHELL = /bin/sh
|
||||
|
||||
@ -519,6 +519,11 @@ private:
|
||||
#define UPX_F_LINUX_ELF32_MIPSEB 137
|
||||
#define UPX_F_DYLIB_PPC32 138
|
||||
|
||||
#define UPX_F_MACH_PPC64LE 140
|
||||
#define UPX_F_LINUX_ELFPPC64LE 141
|
||||
#define UPX_F_VMLINUX_PPC64LE 142
|
||||
#define UPX_F_DYLIB_PPC64LE 143
|
||||
|
||||
|
||||
// compression methods
|
||||
#define M_ALL (-1)
|
||||
|
||||
@ -182,7 +182,7 @@ void ElfLinker::init(const void *pdata_v, int plen)
|
||||
input = new upx_byte[inputlen + 1];
|
||||
memcpy(input, pdata, inputlen);
|
||||
}
|
||||
input[inputlen] = 0; // NUL terminate
|
||||
input[2 * inputlen] = 0; // NUL terminate
|
||||
|
||||
output = new upx_byte[inputlen];
|
||||
outputlen = 0;
|
||||
@ -884,6 +884,49 @@ void ElfLinkerPpc32::relocate1(const Relocation *rel, upx_byte *location,
|
||||
super::relocate1(rel, location, value, type);
|
||||
}
|
||||
|
||||
void ElfLinkerPpc64le::relocate1(const Relocation *rel, upx_byte *location,
|
||||
upx_uint64_t value, const char *type)
|
||||
{
|
||||
if (strncmp(type, "R_PPC64_REL", 11))
|
||||
return super::relocate1(rel, location, value, type);
|
||||
type += 11;
|
||||
|
||||
bool range_check = false;
|
||||
if (strncmp(type, "PC", 2) == 0)
|
||||
{
|
||||
type += 2;
|
||||
range_check = true;
|
||||
}
|
||||
|
||||
/* value will hold relative displacement */
|
||||
value -= rel->section->offset + rel->offset;
|
||||
|
||||
if (strcmp(type, "8") == 0)
|
||||
{
|
||||
#if (ACC_CC_PGI)
|
||||
int displ = * (signed char *) location + (int) value; // CBUG
|
||||
#else
|
||||
int displ = (signed char) *location + (int) value;
|
||||
#endif
|
||||
if (range_check && (displ < -128 || displ > 127))
|
||||
internal_error("target out of range (%d) in reloc %s:%x\n",
|
||||
displ, rel->section->name, rel->offset);
|
||||
*location += value;
|
||||
}
|
||||
else if (strncmp(type, "14", 2) == 0) // for "32" and "32S"
|
||||
set_le16(location, get_le16(location) + value);
|
||||
else if (strcmp(type, "16") == 0)
|
||||
set_le16(location, get_le16(location) + value);
|
||||
else if (strncmp(type, "24", 2) == 0) // for "32" and "32S"
|
||||
set_le24(location, get_le24(location) + value);
|
||||
else if (strncmp(type, "32", 2) == 0) // for "32" and "32S"
|
||||
set_le32(location, get_le32(location) + value);
|
||||
else if (strcmp(type, "64") == 0)
|
||||
set_le64(location, get_le64(location) + value);
|
||||
else
|
||||
super::relocate1(rel, location, value, type);
|
||||
}
|
||||
|
||||
|
||||
void ElfLinkerX86::relocate1(const Relocation *rel, upx_byte *location,
|
||||
upx_uint64_t value, const char *type)
|
||||
|
||||
@ -241,6 +241,14 @@ protected:
|
||||
upx_uint64_t value, const char *type);
|
||||
};
|
||||
|
||||
class ElfLinkerPpc64le : public ElfLinker
|
||||
{
|
||||
typedef ElfLinker super;
|
||||
protected:
|
||||
virtual void relocate1(const Relocation *, upx_byte *location,
|
||||
upx_uint64_t value, const char *type);
|
||||
};
|
||||
|
||||
|
||||
class ElfLinkerX86 : public ElfLinker
|
||||
{
|
||||
|
||||
@ -904,6 +904,9 @@
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
|
||||
# define ACC_ARCH_MSP430 1
|
||||
# define ACC_INFO_ARCH "msp430"
|
||||
#elif defined(__powerpc64__) || defined(__powerpc64le)
|
||||
# define ACC_ARCH_POWERPC64 1
|
||||
# define ACC_INFO_ARCH "powerpc64"
|
||||
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
|
||||
# define ACC_ARCH_POWERPC 1
|
||||
# define ACC_INFO_ARCH "powerpc"
|
||||
|
||||
236
src/p_lx_elf.cpp
236
src/p_lx_elf.cpp
@ -666,6 +666,15 @@ PackLinuxElf32ppc::getFilters() const
|
||||
return filters;
|
||||
}
|
||||
|
||||
int const *
|
||||
PackLinuxElf64ppcle::getFilters() const
|
||||
{
|
||||
static const int filters[] = {
|
||||
0xd0,
|
||||
FT_END };
|
||||
return filters;
|
||||
}
|
||||
|
||||
int const *
|
||||
PackLinuxElf64amd::getFilters() const
|
||||
{
|
||||
@ -740,6 +749,24 @@ Linker* PackLinuxElf32ppc::newLinker() const
|
||||
return new ElfLinkerPpc32;
|
||||
}
|
||||
|
||||
PackLinuxElf64ppcle::PackLinuxElf64ppcle(InputFile *f)
|
||||
: super(f), lg2_page(16), page_size(1u<<lg2_page)
|
||||
{
|
||||
e_machine = Elf64_Ehdr::EM_PPC64;
|
||||
ei_class = Elf64_Ehdr::ELFCLASS64;
|
||||
ei_data = Elf64_Ehdr::ELFDATA2LSB;
|
||||
ei_osabi = Elf32_Ehdr::ELFOSABI_LINUX;
|
||||
}
|
||||
|
||||
PackLinuxElf64ppcle::~PackLinuxElf64ppcle()
|
||||
{
|
||||
}
|
||||
|
||||
Linker* PackLinuxElf64ppcle::newLinker() const
|
||||
{
|
||||
return new ElfLinkerPpc64le;
|
||||
}
|
||||
|
||||
PackLinuxElf64amd::PackLinuxElf64amd(InputFile *f)
|
||||
: super(f)
|
||||
{
|
||||
@ -1264,6 +1291,19 @@ PackLinuxElf32ppc::buildLoader(const Filter *ft)
|
||||
stub_powerpc_linux_elf_fold, sizeof(stub_powerpc_linux_elf_fold), ft);
|
||||
}
|
||||
|
||||
static const
|
||||
#include "stub/ppc64le-linux.elf-entry.h"
|
||||
static const
|
||||
#include "stub/ppc64le-linux.elf-fold.h"
|
||||
|
||||
void
|
||||
PackLinuxElf64ppcle::buildLoader(const Filter *ft)
|
||||
{
|
||||
buildLinuxLoader(
|
||||
stub_ppc64le_linux_elf_entry, sizeof(stub_ppc64le_linux_elf_entry),
|
||||
stub_ppc64le_linux_elf_fold, sizeof(stub_ppc64le_linux_elf_fold), ft);
|
||||
}
|
||||
|
||||
static const
|
||||
#include "stub/amd64-linux.elf-entry.h"
|
||||
static const
|
||||
@ -1554,6 +1594,182 @@ proceed: ;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
PackLinuxElf64ppcle::canPack()
|
||||
{
|
||||
union {
|
||||
unsigned char buf[sizeof(Elf64_Ehdr) + 14*sizeof(Elf64_Phdr)];
|
||||
//struct { Elf64_Ehdr ehdr; Elf64_Phdr phdr; } e;
|
||||
} u;
|
||||
COMPILE_TIME_ASSERT(sizeof(u) <= 1024)
|
||||
|
||||
fi->readx(u.buf, sizeof(u.buf));
|
||||
fi->seek(0, SEEK_SET);
|
||||
Elf64_Ehdr const *const ehdr = (Elf64_Ehdr *) u.buf;
|
||||
|
||||
// now check the ELF header
|
||||
if (checkEhdr(ehdr) != 0)
|
||||
return false;
|
||||
|
||||
// additional requirements for linux/elf386
|
||||
if (get_te16(&ehdr->e_ehsize) != sizeof(*ehdr)) {
|
||||
throwCantPack("invalid Ehdr e_ehsize; try '--force-execve'");
|
||||
return false;
|
||||
}
|
||||
if (e_phoff != sizeof(*ehdr)) {// Phdrs not contiguous with Ehdr
|
||||
throwCantPack("non-contiguous Ehdr/Phdr; try '--force-execve'");
|
||||
return false;
|
||||
}
|
||||
|
||||
// The first PT_LOAD64 must cover the beginning of the file (0==p_offset).
|
||||
Elf64_Phdr const *phdr = phdri;
|
||||
for (unsigned j=0; j < e_phnum; ++phdr, ++j) {
|
||||
if (j >= 14)
|
||||
return false;
|
||||
if (phdr->PT_LOAD64 == get_te32(&phdr->p_type)) {
|
||||
load_va = get_te64(&phdr->p_vaddr);
|
||||
upx_uint64_t file_offset = get_te64(&phdr->p_offset);
|
||||
if (~page_mask & file_offset) {
|
||||
if ((~page_mask & load_va) == file_offset) {
|
||||
throwCantPack("Go-language PT_LOAD: try hemfix.c, or try '--force-execve'");
|
||||
// Fixing it inside upx fails because packExtent() reads original file.
|
||||
}
|
||||
else {
|
||||
throwCantPack("invalid Phdr p_offset; try '--force-execve'");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
exetype = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// We want to compress position-independent executable (gcc -pie)
|
||||
// main programs, but compressing a shared library must be avoided
|
||||
// because the result is no longer usable. In theory, there is no way
|
||||
// to tell them apart: both are just ET_DYN. Also in theory,
|
||||
// neither the presence nor the absence of any particular symbol name
|
||||
// can be used to tell them apart; there are counterexamples.
|
||||
// However, we will use the following heuristic suggested by
|
||||
// Peter S. Mazinger <ps.m@gmx.net> September 2005:
|
||||
// If a ET_DYN has __libc_start_main as a global undefined symbol,
|
||||
// then the file is a position-independent executable main program
|
||||
// (that depends on libc.so.6) and is eligible to be compressed.
|
||||
// Otherwise (no __libc_start_main as global undefined): skip it.
|
||||
// Also allow __uClibc_main and __uClibc_start_main .
|
||||
|
||||
if (Elf32_Ehdr::ET_DYN==get_te16(&ehdr->e_type)) {
|
||||
// The DT_STRTAB has no designated length. Read the whole file.
|
||||
file_image = new char[file_size];
|
||||
fi->seek(0, SEEK_SET);
|
||||
fi->readx(file_image, file_size);
|
||||
memcpy(&ehdri, ehdr, sizeof(Elf64_Ehdr));
|
||||
phdri= (Elf64_Phdr *)((size_t)e_phoff + file_image); // do not free() !!
|
||||
shdri= (Elf64_Shdr const *)((size_t)e_shoff + file_image); // do not free() !!
|
||||
|
||||
//sec_strndx = &shdri[ehdr->e_shstrndx];
|
||||
//shstrtab = (char const *)(sec_strndx->sh_offset + file_image);
|
||||
sec_dynsym = elf_find_section_type(Elf64_Shdr::SHT_DYNSYM);
|
||||
if (sec_dynsym)
|
||||
sec_dynstr = get_te32(&sec_dynsym->sh_link) + shdri;
|
||||
|
||||
int j= e_phnum;
|
||||
phdr= phdri;
|
||||
for (; --j>=0; ++phdr)
|
||||
if (Elf64_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) {
|
||||
dynseg= (Elf64_Dyn const *)(get_te32(&phdr->p_offset) + file_image);
|
||||
break;
|
||||
}
|
||||
// elf_find_dynamic() returns 0 if 0==dynseg.
|
||||
dynstr= (char const *)elf_find_dynamic(Elf64_Dyn::DT_STRTAB);
|
||||
dynsym= (Elf64_Sym const *)elf_find_dynamic(Elf64_Dyn::DT_SYMTAB);
|
||||
|
||||
// Modified 2009-10-10 to detect a ProgramLinkageTable relocation
|
||||
// which references the symbol, because DT_GNU_HASH contains only
|
||||
// defined symbols, and there might be no DT_HASH.
|
||||
|
||||
Elf64_Rela const *
|
||||
jmprela= (Elf64_Rela const *)elf_find_dynamic(Elf64_Dyn::DT_JMPREL);
|
||||
for ( int sz = elf_unsigned_dynamic(Elf64_Dyn::DT_PLTRELSZ);
|
||||
0 < sz;
|
||||
(sz -= sizeof(Elf64_Rela)), ++jmprela
|
||||
) {
|
||||
unsigned const symnum = get_te64(&jmprela->r_info) >> 32;
|
||||
char const *const symnam = get_te32(&dynsym[symnum].st_name) + dynstr;
|
||||
if (0==strcmp(symnam, "__libc_start_main")
|
||||
|| 0==strcmp(symnam, "__uClibc_main")
|
||||
|| 0==strcmp(symnam, "__uClibc_start_main"))
|
||||
goto proceed;
|
||||
}
|
||||
|
||||
// Heuristic HACK for shared libraries (compare Darwin (MacOS) Dylib.)
|
||||
// If there is an existing DT_INIT, and if everything that the dynamic
|
||||
// linker ld-linux needs to perform relocations before calling DT_INIT
|
||||
// resides below the first SHT_EXECINSTR Section in one PT_LOAD, then
|
||||
// compress from the first executable Section to the end of that PT_LOAD.
|
||||
// We must not alter anything that ld-linux might touch before it calls
|
||||
// the DT_INIT function.
|
||||
//
|
||||
// Obviously this hack requires that the linker script put pieces
|
||||
// into good positions when building the original shared library,
|
||||
// and also requires ld-linux to behave.
|
||||
|
||||
if (elf_find_dynamic(Elf64_Dyn::DT_INIT)) {
|
||||
if (elf_has_dynamic(Elf64_Dyn::DT_TEXTREL)) {
|
||||
throwCantPack("DT_TEXTREL found; re-compile with -fPIC");
|
||||
goto abandon;
|
||||
}
|
||||
Elf64_Shdr const *shdr = shdri;
|
||||
xct_va = ~0ull;
|
||||
for (j= e_shnum; --j>=0; ++shdr) {
|
||||
if (Elf64_Shdr::SHF_EXECINSTR & get_te32(&shdr->sh_flags)) {
|
||||
xct_va = umin64(xct_va, get_te64(&shdr->sh_addr));
|
||||
}
|
||||
}
|
||||
// Rely on 0==elf_unsigned_dynamic(tag) if no such tag.
|
||||
upx_uint64_t const va_gash = elf_unsigned_dynamic(Elf64_Dyn::DT_GNU_HASH);
|
||||
upx_uint64_t const va_hash = elf_unsigned_dynamic(Elf64_Dyn::DT_HASH);
|
||||
if (xct_va < va_gash || (0==va_gash && xct_va < va_hash)
|
||||
|| xct_va < elf_unsigned_dynamic(Elf64_Dyn::DT_STRTAB)
|
||||
|| xct_va < elf_unsigned_dynamic(Elf64_Dyn::DT_SYMTAB)
|
||||
|| xct_va < elf_unsigned_dynamic(Elf64_Dyn::DT_REL)
|
||||
|| xct_va < elf_unsigned_dynamic(Elf64_Dyn::DT_RELA)
|
||||
|| xct_va < elf_unsigned_dynamic(Elf64_Dyn::DT_JMPREL)
|
||||
|| xct_va < elf_unsigned_dynamic(Elf64_Dyn::DT_VERDEF)
|
||||
|| xct_va < elf_unsigned_dynamic(Elf64_Dyn::DT_VERSYM)
|
||||
|| xct_va < elf_unsigned_dynamic(Elf64_Dyn::DT_VERNEEDED) ) {
|
||||
throwCantPack("DT_ tag above stub");
|
||||
goto abandon;
|
||||
}
|
||||
for ((shdr= shdri), (j= e_shnum); --j>=0; ++shdr) {
|
||||
upx_uint64_t const sh_addr = get_te64(&shdr->sh_addr);
|
||||
if ( sh_addr==va_gash
|
||||
|| (sh_addr==va_hash && 0==va_gash) ) {
|
||||
shdr= &shdri[get_te32(&shdr->sh_link)]; // the associated SHT_SYMTAB
|
||||
hatch_off = (char *)&ehdri.e_ident[11] - (char *)&ehdri;
|
||||
break;
|
||||
}
|
||||
}
|
||||
xct_off = elf_get_offset_from_address(xct_va);
|
||||
goto proceed; // But proper packing depends on checking xct_va.
|
||||
}
|
||||
abandon:
|
||||
return false;
|
||||
proceed: ;
|
||||
}
|
||||
// XXX Theoretically the following test should be first,
|
||||
// but PackUnix::canPack() wants 0!=exetype ?
|
||||
if (!super::canPack())
|
||||
return false;
|
||||
assert(exetype == 1);
|
||||
|
||||
exetype = 0;
|
||||
|
||||
// set options
|
||||
opt->o_unix.blocksize = blocksize = file_size;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
PackLinuxElf64amd::canPack()
|
||||
{
|
||||
@ -1622,7 +1838,7 @@ PackLinuxElf64amd::canPack()
|
||||
file_image = new char[file_size];
|
||||
fi->seek(0, SEEK_SET);
|
||||
fi->readx(file_image, file_size);
|
||||
memcpy(&ehdri, ehdr, sizeof(Elf32_Ehdr));
|
||||
memcpy(&ehdri, ehdr, sizeof(Elf64_Ehdr));
|
||||
phdri= (Elf64_Phdr *)((size_t)e_phoff + file_image); // do not free() !!
|
||||
shdri= (Elf64_Shdr const *)((size_t)e_shoff + file_image); // do not free() !!
|
||||
|
||||
@ -1630,13 +1846,13 @@ PackLinuxElf64amd::canPack()
|
||||
//shstrtab = (char const *)(sec_strndx->sh_offset + file_image);
|
||||
sec_dynsym = elf_find_section_type(Elf64_Shdr::SHT_DYNSYM);
|
||||
if (sec_dynsym)
|
||||
sec_dynstr = get_te32(&sec_dynsym->sh_link) + shdri;
|
||||
sec_dynstr = get_te64(&sec_dynsym->sh_link) + shdri;
|
||||
|
||||
int j= e_phnum;
|
||||
phdr= phdri;
|
||||
for (; --j>=0; ++phdr)
|
||||
if (Elf64_Phdr::PT_DYNAMIC==get_te32(&phdr->p_type)) {
|
||||
dynseg= (Elf64_Dyn const *)(get_te32(&phdr->p_offset) + file_image);
|
||||
dynseg= (Elf64_Dyn const *)(get_te64(&phdr->p_offset) + file_image);
|
||||
break;
|
||||
}
|
||||
// elf_find_dynamic() returns 0 if 0==dynseg.
|
||||
@ -2254,6 +2470,14 @@ void PackLinuxElf32ppc::pack1(OutputFile *fo, Filter &ft)
|
||||
generateElfHdr(fo, stub_powerpc_linux_elf_fold, getbrk(phdri, e_phnum) );
|
||||
}
|
||||
|
||||
void PackLinuxElf64ppcle::pack1(OutputFile *fo, Filter &ft)
|
||||
{
|
||||
super::pack1(fo, ft);
|
||||
if (0!=xct_off) // shared library
|
||||
return;
|
||||
generateElfHdr(fo, stub_ppc64le_linux_elf_fold, getbrk(phdri, e_phnum) );
|
||||
}
|
||||
|
||||
void PackLinuxElf64::pack1(OutputFile *fo, Filter & /*ft*/)
|
||||
{
|
||||
fi->seek(0, SEEK_SET);
|
||||
@ -2642,7 +2866,7 @@ int PackLinuxElf32::ARM_is_QNX(void)
|
||||
unsigned const sz_interp = get_te32(&phdr->p_filesz);
|
||||
unsigned const pos_interp = get_te32(&phdr->p_offset);
|
||||
if (sz_interp <= sizeof(interp)
|
||||
&& (sz_interp + pos_interp) <= file_size) {
|
||||
&& (sz_interp + pos_interp) <= (unsigned)file_size) {
|
||||
fi->seek(pos_interp, SEEK_SET);
|
||||
fi->readx(interp, sz_interp);
|
||||
for (int k = sz_interp - 5; k>=0; --k) {
|
||||
@ -3037,7 +3261,7 @@ void PackLinuxElf64::unpack(OutputFile *fo)
|
||||
fi->readx(&bhdr, szb_info);
|
||||
ph.u_len = get_te32(&bhdr.sz_unc);
|
||||
ph.c_len = get_te32(&bhdr.sz_cpr);
|
||||
if (ph.c_len > file_size || ph.c_len == 0 || ph.u_len == 0
|
||||
if (ph.c_len > (unsigned)file_size || ph.c_len == 0 || ph.u_len == 0
|
||||
|| ph.u_len > sizeof(u))
|
||||
throwCantUnpack("b_info corrupted");
|
||||
|
||||
@ -3566,7 +3790,7 @@ void PackLinuxElf32::unpack(OutputFile *fo)
|
||||
fi->readx(&bhdr, szb_info);
|
||||
ph.u_len = get_te32(&bhdr.sz_unc);
|
||||
ph.c_len = get_te32(&bhdr.sz_cpr);
|
||||
if (ph.c_len > file_size || ph.c_len == 0 || ph.u_len == 0
|
||||
if (ph.c_len > (unsigned)file_size || ph.c_len == 0 || ph.u_len == 0
|
||||
|| ph.u_len > sizeof(u))
|
||||
throwCantUnpack("b_info corrupted");
|
||||
ph.filter_cto = bhdr.b_cto8;
|
||||
|
||||
@ -355,6 +355,8 @@ class PackLinuxElf64Le : public PackLinuxElf64
|
||||
typedef PackLinuxElf64 super;
|
||||
protected:
|
||||
PackLinuxElf64Le(InputFile *f) : super(f) {
|
||||
lg2_page=16;
|
||||
page_size=1u<<lg2_page;
|
||||
bele = &N_BELE_RTP::le_policy;
|
||||
PackLinuxElf64help1(f);
|
||||
}
|
||||
@ -405,6 +407,29 @@ protected:
|
||||
virtual Linker* newLinker() const;
|
||||
};
|
||||
|
||||
/*************************************************************************
|
||||
// linux/elf64ppcle
|
||||
**************************************************************************/
|
||||
|
||||
class PackLinuxElf64ppcle : public PackLinuxElf64Le
|
||||
{
|
||||
typedef PackLinuxElf64Le super;
|
||||
public:
|
||||
PackLinuxElf64ppcle(InputFile *f);
|
||||
virtual ~PackLinuxElf64ppcle();
|
||||
virtual int getFormat() const { return UPX_F_LINUX_ELFPPC64LE; }
|
||||
virtual const char *getName() const { return "ElfPPC64LE"; }
|
||||
virtual const char *getFullName(const options_t *) const { return "ppc64le-linux.elf"; }
|
||||
virtual const int *getFilters() const;
|
||||
protected:
|
||||
unsigned lg2_page; // log2(PAGE_SIZE)
|
||||
unsigned page_size; // 1u<<lg2_page
|
||||
virtual bool canPack();
|
||||
virtual void pack1(OutputFile *, Filter &); // generate executable header
|
||||
virtual void buildLoader(const Filter *);
|
||||
virtual Linker* newLinker() const;
|
||||
};
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// linux/elf386
|
||||
|
||||
208
src/p_mach.cpp
208
src/p_mach.cpp
@ -123,6 +123,10 @@ PackDylibPPC32::PackDylibPPC32(InputFile *f) : super(f)
|
||||
{
|
||||
my_filetype = Mach_header::MH_DYLIB;
|
||||
}
|
||||
PackDylibPPC64LE::PackDylibPPC64LE(InputFile *f) : super(f)
|
||||
{
|
||||
my_filetype = Mach_header::MH_DYLIB;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
const int *PackMachBase<T>::getCompressionMethods(int method, int level) const
|
||||
@ -147,12 +151,23 @@ PackMachPPC32::PackMachPPC32(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWE
|
||||
sizeof(Mach_ppc_thread_state)>>2, sizeof(threado))
|
||||
{ }
|
||||
|
||||
PackMachPPC64LE::PackMachPPC64LE(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWERPC64LE,
|
||||
Mach_header::MH_EXECUTE, Mach_thread_command::PPC_THREAD_STATE64,
|
||||
sizeof(Mach_ppcle_thread_state64)>>2, sizeof(threado))
|
||||
{ }
|
||||
|
||||
const int *PackMachPPC32::getFilters() const
|
||||
{
|
||||
static const int filters[] = { 0xd0, FT_END };
|
||||
return filters;
|
||||
}
|
||||
|
||||
const int *PackMachPPC64LE::getFilters() const
|
||||
{
|
||||
static const int filters[] = { 0xd0, FT_END };
|
||||
return filters;
|
||||
}
|
||||
|
||||
PackMachI386::PackMachI386(InputFile *f) : super(f, Mach_header::CPU_TYPE_I386,
|
||||
Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::x86_THREAD_STATE32,
|
||||
sizeof(Mach_i386_thread_state)>>2, sizeof(threado))
|
||||
@ -202,6 +217,11 @@ Linker *PackMachPPC32::newLinker() const
|
||||
return new ElfLinkerPpc32;
|
||||
}
|
||||
|
||||
Linker *PackMachPPC64LE::newLinker() const
|
||||
{
|
||||
return new ElfLinkerPpc64le;
|
||||
}
|
||||
|
||||
Linker *PackMachI386::newLinker() const
|
||||
{
|
||||
return new ElfLinkerX86;
|
||||
@ -408,6 +428,19 @@ PackMachPPC32::buildLoader(const Filter *ft)
|
||||
stub_powerpc_darwin_macho_fold, sizeof(stub_powerpc_darwin_macho_fold), ft );
|
||||
}
|
||||
|
||||
static const
|
||||
#include "stub/ppc64le-darwin.macho-entry.h"
|
||||
static const
|
||||
#include "stub/ppc64le-darwin.macho-fold.h"
|
||||
|
||||
void
|
||||
PackMachPPC64LE::buildLoader(const Filter *ft)
|
||||
{
|
||||
buildMachLoader(
|
||||
stub_ppc64le_darwin_macho_entry, sizeof(stub_ppc64le_darwin_macho_entry),
|
||||
stub_ppc64le_darwin_macho_fold, sizeof(stub_ppc64le_darwin_macho_fold), ft );
|
||||
}
|
||||
|
||||
void
|
||||
PackMachI386::buildLoader(const Filter *ft)
|
||||
{
|
||||
@ -464,6 +497,16 @@ PackDylibPPC32::buildLoader(const Filter *ft)
|
||||
0, 0, ft );
|
||||
}
|
||||
|
||||
static const
|
||||
#include "stub/ppc64le-darwin.dylib-entry.h"
|
||||
void
|
||||
PackDylibPPC64LE::buildLoader(const Filter *ft)
|
||||
{
|
||||
buildMachLoader(
|
||||
stub_ppc64le_darwin_dylib_entry, sizeof(stub_ppc64le_darwin_dylib_entry),
|
||||
0, 0, ft );
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void PackMachBase<T>::patchLoader() { }
|
||||
|
||||
@ -519,7 +562,7 @@ PackMachBase<T>::compare_segment_command(void const *const aa, void const *const
|
||||
|
||||
#undef PAGE_MASK64
|
||||
#undef PAGE_SIZE64
|
||||
#define PAGE_MASK64 (~(upx_uint64_t)0<<12)
|
||||
#define PAGE_MASK64 (~(upx_uint64_t)0<<16)
|
||||
#define PAGE_SIZE64 ((upx_uint64_t)0-PAGE_MASK64)
|
||||
|
||||
// At 2013-02-03 part of the source for codesign was
|
||||
@ -569,6 +612,54 @@ void PackMachPPC32::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
fo->rewrite(&linfo, sizeof(linfo));
|
||||
}
|
||||
|
||||
void PackMachPPC64LE::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
{
|
||||
// offset of p_info in compressed file
|
||||
overlay_offset = sizeof(mhdro) + sizeof(segZERO)
|
||||
+ sizeof(segXHDR) + sizeof(secXHDR)
|
||||
+ sizeof(segTEXT) + sizeof(secTEXT)
|
||||
+ sizeof(segLINK) + sizeof(threado) + sizeof(linfo);
|
||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||
overlay_offset += sizeof(uuid_cmd) + sizeof(linkitem);
|
||||
}
|
||||
|
||||
super::pack4(fo, ft);
|
||||
unsigned const t = fo->getBytesWritten();
|
||||
segTEXT.filesize = t;
|
||||
segTEXT.vmsize += t; // utilize GAP + NO_LAP + sz_unc - sz_cpr
|
||||
secTEXT.offset = overlay_offset - sizeof(linfo);
|
||||
secTEXT.addr = segTEXT.vmaddr + secTEXT.offset;
|
||||
secTEXT.size = segTEXT.filesize - secTEXT.offset;
|
||||
secXHDR.offset = overlay_offset - sizeof(linfo);
|
||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||
secXHDR.offset -= sizeof(uuid_cmd) + sizeof(linkitem);
|
||||
}
|
||||
secXHDR.addr += secXHDR.offset;
|
||||
unsigned foff1 = (PAGE_MASK & (~PAGE_MASK + segTEXT.filesize));
|
||||
if (foff1 < segTEXT.vmsize)
|
||||
foff1 += PAGE_SIZE; // codesign disallows overhang
|
||||
segLINK.fileoff = foff1;
|
||||
segLINK.vmaddr = segTEXT.vmaddr + foff1;
|
||||
fo->seek(foff1 - 1, SEEK_SET); fo->write("", 1);
|
||||
fo->seek(sizeof(mhdro), SEEK_SET);
|
||||
fo->rewrite(&segZERO, sizeof(segZERO));
|
||||
fo->rewrite(&segXHDR, sizeof(segXHDR));
|
||||
fo->rewrite(&secXHDR, sizeof(secXHDR));
|
||||
fo->rewrite(&segTEXT, sizeof(segTEXT));
|
||||
fo->rewrite(&secTEXT, sizeof(secTEXT));
|
||||
fo->rewrite(&segLINK, sizeof(segLINK));
|
||||
fo->rewrite(&threado, sizeof(threado));
|
||||
if (my_filetype==Mach_header::MH_EXECUTE) {
|
||||
fo->rewrite(&uuid_cmd, sizeof(uuid_cmd));
|
||||
fo->rewrite(&linkitem, sizeof(linkitem));
|
||||
}
|
||||
fo->rewrite(&linfo, sizeof(linfo));
|
||||
}
|
||||
|
||||
#undef PAGE_MASK64
|
||||
#undef PAGE_SIZE64
|
||||
#define PAGE_MASK64 (~(upx_uint64_t)0<<12)
|
||||
#define PAGE_SIZE64 ((upx_uint64_t)0-PAGE_MASK64)
|
||||
void PackMachI386::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
{
|
||||
// offset of p_info in compressed file
|
||||
@ -943,6 +1034,11 @@ void PackDylibPPC32::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
pack4dylib(fo, ft, threado.state.srr0);
|
||||
}
|
||||
|
||||
void PackDylibPPC64LE::pack4(OutputFile *fo, Filter &ft) // append PackHeader
|
||||
{
|
||||
pack4dylib(fo, ft, threado.state64.srr0);
|
||||
}
|
||||
|
||||
void PackMachPPC32::pack3(OutputFile *fo, Filter &ft) // append loader
|
||||
{
|
||||
TE32 disp;
|
||||
@ -957,6 +1053,20 @@ void PackMachPPC32::pack3(OutputFile *fo, Filter &ft) // append loader
|
||||
super::pack3(fo, ft);
|
||||
}
|
||||
|
||||
void PackMachPPC64LE::pack3(OutputFile *fo, Filter &ft) // append loader
|
||||
{
|
||||
TE64 disp;
|
||||
unsigned const zero = 0;
|
||||
unsigned len = fo->getBytesWritten();
|
||||
fo->write(&zero, 3& (0u-len));
|
||||
len += (3& (0u-len)) + sizeof(disp);
|
||||
disp = 4+ len - sz_mach_headers; // 4: sizeof(instruction)
|
||||
fo->write(&disp, sizeof(disp));
|
||||
|
||||
threado.state64.srr0 = len + segTEXT.vmaddr; /* entry address */
|
||||
super::pack3(fo, ft);
|
||||
}
|
||||
|
||||
void PackMachI386::pack3(OutputFile *fo, Filter &ft) // append loader
|
||||
{
|
||||
TE32 disp;
|
||||
@ -1085,6 +1195,28 @@ void PackDylibPPC32::pack3(OutputFile *fo, Filter &ft) // append loader
|
||||
super::pack3(fo, ft);
|
||||
sz_mach_headers = save_sz_mach_headers;
|
||||
}
|
||||
void PackDylibPPC64LE::pack3(OutputFile *fo, Filter &ft) // append loader
|
||||
{
|
||||
TE64 disp;
|
||||
unsigned const zero = 0;
|
||||
unsigned len = fo->getBytesWritten();
|
||||
fo->write(&zero, 3& (0u-len));
|
||||
len += (3& (0u-len)) + 4*sizeof(disp);
|
||||
|
||||
disp = prev_init_address;
|
||||
fo->write(&disp, sizeof(disp)); // user .init_address
|
||||
|
||||
disp = sizeof(mhdro) + mhdro.sizeofcmds + sizeof(l_info) + sizeof(p_info);
|
||||
fo->write(&disp, sizeof(disp)); // src offset(compressed __TEXT)
|
||||
|
||||
disp = len - disp - 3*sizeof(disp);
|
||||
fo->write(&disp, sizeof(disp)); // length(compressed __TEXT)
|
||||
|
||||
unsigned const save_sz_mach_headers(sz_mach_headers);
|
||||
sz_mach_headers = 0;
|
||||
super::pack3(fo, ft);
|
||||
sz_mach_headers = save_sz_mach_headers;
|
||||
}
|
||||
|
||||
// Determine length of gap between PT_LOAD phdri[k] and closest PT_LOAD
|
||||
// which follows in the file (or end-of-file). Optimize for common case
|
||||
@ -1233,6 +1365,16 @@ void PackMachPPC32::pack1_setup_threado(OutputFile *const fo)
|
||||
fo->write(&threado, sizeof(threado));
|
||||
}
|
||||
|
||||
void PackMachPPC64LE::pack1_setup_threado(OutputFile *const fo)
|
||||
{
|
||||
threado.cmd = Mach_segment_command::LC_UNIXTHREAD;
|
||||
threado.cmdsize = sizeof(threado);
|
||||
threado.flavor = my_thread_flavor;
|
||||
threado.count = my_thread_state_word_count;
|
||||
memset(&threado.state64, 0, sizeof(threado.state64));
|
||||
fo->write(&threado, sizeof(threado));
|
||||
}
|
||||
|
||||
void PackMachI386::pack1_setup_threado(OutputFile *const fo)
|
||||
{
|
||||
threado.cmd = Mach_segment_command::LC_UNIXTHREAD;
|
||||
@ -1411,7 +1553,7 @@ void PackMachBase<T>::unpack(OutputFile *fo)
|
||||
fi->readx(&bhdr, sizeof(bhdr));
|
||||
ph.u_len = get_te32(&bhdr.sz_unc);
|
||||
ph.c_len = get_te32(&bhdr.sz_cpr);
|
||||
if (file_size < ph.c_len || ph.c_len == 0 || ph.u_len == 0)
|
||||
if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len == 0)
|
||||
throwCantUnpack("file header corrupted");
|
||||
ph.method = bhdr.b_method;
|
||||
ph.filter = bhdr.b_ftid;
|
||||
@ -1434,7 +1576,7 @@ void PackMachBase<T>::unpack(OutputFile *fo)
|
||||
memcpy(&msegcmd[j], ptr, umin(sizeof(Mach_segment_command),
|
||||
((Mach_segment_command const *)ptr)->cmdsize));
|
||||
ptr += (unsigned) ((Mach_segment_command const *)ptr)->cmdsize;
|
||||
if ((ptr - (unsigned char const *)mhdr) > ph.u_len) {
|
||||
if ((unsigned)(ptr - (unsigned char const *)mhdr) > ph.u_len) {
|
||||
throwCantUnpack("cmdsize");
|
||||
}
|
||||
}
|
||||
@ -1602,8 +1744,8 @@ unsigned PackMachFat::check_fat_head()
|
||||
throwUnknownExecutableFormat("size", 0);
|
||||
}
|
||||
if (mask & offset
|
||||
|| fi->st_size_orig() < (size + offset)
|
||||
|| fi->st_size_orig() <= offset) { // redundant unless overflow
|
||||
|| (unsigned)fi->st_size_orig() < size + offset
|
||||
|| (unsigned)fi->st_size_orig() <= offset) { // redundant unless overflow
|
||||
throwUnknownExecutableFormat("offset", 0);
|
||||
}
|
||||
}
|
||||
@ -1695,6 +1837,25 @@ void PackMachFat::pack(OutputFile *fo)
|
||||
packer.pack(fo);
|
||||
}
|
||||
} break;
|
||||
case PackMachFat::CPU_TYPE_POWERPC64LE: {
|
||||
typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
|
||||
Mach_header hdr;
|
||||
fi->readx(&hdr, sizeof(hdr));
|
||||
if (hdr.filetype==Mach_header::MH_EXECUTE) {
|
||||
PackMachPPC64LE packer(fi);
|
||||
packer.initPackHeader();
|
||||
packer.canPack();
|
||||
packer.updatePackHeader();
|
||||
packer.pack(fo);
|
||||
}
|
||||
else if (hdr.filetype==Mach_header::MH_DYLIB) {
|
||||
PackDylibPPC64LE packer(fi);
|
||||
packer.initPackHeader();
|
||||
packer.canPack();
|
||||
packer.updatePackHeader();
|
||||
packer.pack(fo);
|
||||
}
|
||||
} break;
|
||||
} // switch cputype
|
||||
fat_head.arch[j].offset = base;
|
||||
length = fo->unset_extent();
|
||||
@ -1781,6 +1942,23 @@ void PackMachFat::unpack(OutputFile *fo)
|
||||
packer.unpack(fo);
|
||||
}
|
||||
} break;
|
||||
case PackMachFat::CPU_TYPE_POWERPC64LE: {
|
||||
N_Mach::Mach_header<MachClass_LE64::MachITypes> hdr;
|
||||
typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
|
||||
fi->readx(&hdr, sizeof(hdr));
|
||||
if (hdr.filetype==Mach_header::MH_EXECUTE) {
|
||||
PackMachPPC64LE packer(fi);
|
||||
packer.initPackHeader();
|
||||
packer.canUnpack();
|
||||
packer.unpack(fo);
|
||||
}
|
||||
else if (hdr.filetype==Mach_header::MH_DYLIB) {
|
||||
PackDylibPPC64LE packer(fi);
|
||||
packer.initPackHeader();
|
||||
packer.canUnpack();
|
||||
packer.unpack(fo);
|
||||
}
|
||||
} break;
|
||||
} // switch cputype
|
||||
fat_head.arch[j].offset = base;
|
||||
length = (fo ? fo->unset_extent() : 0);
|
||||
@ -1834,6 +2012,14 @@ bool PackMachFat::canPack()
|
||||
return false;
|
||||
}
|
||||
} break;
|
||||
case PackMachFat::CPU_TYPE_POWERPC64LE: {
|
||||
PackMachPPC64LE packer(fi);
|
||||
if (!packer.canPack()) {
|
||||
PackDylibPPC64LE pack2r(fi);
|
||||
if (!pack2r.canPack())
|
||||
return false;
|
||||
}
|
||||
} break;
|
||||
} // switch cputype
|
||||
}
|
||||
|
||||
@ -1896,6 +2082,18 @@ int PackMachFat::canUnpack()
|
||||
else
|
||||
ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
|
||||
} break;
|
||||
case PackMachFat::CPU_TYPE_POWERPC64LE: {
|
||||
PackMachPPC64LE packer(fi);
|
||||
if (!packer.canUnpack()) {
|
||||
PackDylibPPC64LE pack2r(fi);
|
||||
if (!pack2r.canUnpack())
|
||||
return 0;
|
||||
else
|
||||
ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
|
||||
}
|
||||
else
|
||||
ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
|
||||
} break;
|
||||
} // switch cputype
|
||||
}
|
||||
return 1;
|
||||
|
||||
71
src/p_mach.h
71
src/p_mach.h
@ -371,6 +371,26 @@ __packed_struct(Mach_ppc_thread_state64)
|
||||
Word vrsave; /* Vector Save Register */
|
||||
__packed_struct_end()
|
||||
|
||||
template <class TMachITypes>
|
||||
__packed_struct(Mach_ppcle_thread_state64)
|
||||
typedef typename TMachITypes::Word Word;
|
||||
typedef typename TMachITypes::Xword Xword;
|
||||
|
||||
Xword srr0; /* Instruction address register (PC; entry addr) */
|
||||
Xword srr1; /* Machine state register (supervisor) */
|
||||
Xword r0, r1, r2, r3, r4, r5, r6, r7;
|
||||
Xword r8, r9,r10,r11,r12,r13,r14,r15;
|
||||
Xword r16,r17,r18,r19,r20,r21,r22,r23;
|
||||
Xword r24,r25,r26,r27,r28,r29,r30,r31;
|
||||
|
||||
Word cr; /* Condition register */ // FIXME: Xword?
|
||||
Xword xer; /* User's integer exception register */
|
||||
Xword lr; /* Link register */
|
||||
Xword ctr; /* Count register */
|
||||
|
||||
Word vrsave; /* Vector Save Register */
|
||||
__packed_struct_end()
|
||||
|
||||
template <class TMachITypes> __packed_struct(Mach_ARM64_thread_state)
|
||||
typedef typename TMachITypes::Xword Xword;
|
||||
typedef typename TMachITypes::Word Word;
|
||||
@ -457,6 +477,7 @@ struct MachClass_64
|
||||
typedef N_Mach::Mach_linkedit_data_command<MachITypes> Mach_linkedit_data_command;
|
||||
typedef N_Mach::Mach_uuid_command<MachITypes> Mach_uuid_command;
|
||||
|
||||
typedef N_Mach64::Mach_ppcle_thread_state64<MachITypes> Mach_ppcle_thread_state64;
|
||||
typedef N_Mach64::Mach_AMD64_thread_state<MachITypes> Mach_AMD64_thread_state;
|
||||
typedef N_Mach64::Mach_ARM64_thread_state<MachITypes> Mach_ARM64_thread_state;
|
||||
|
||||
@ -537,6 +558,7 @@ typedef MachClass_LE64::Mach_linkedit_data_command MachLE64_linkedit_data_comm
|
||||
typedef MachClass_LE64::Mach_uuid_command MachLE64_uuid_command;
|
||||
|
||||
typedef MachClass_BE32::Mach_ppc_thread_state Mach_ppc_thread_state;
|
||||
typedef MachClass_LE64::Mach_ppcle_thread_state64 Mach_ppcle_thread_state64;
|
||||
typedef MachClass_LE32::Mach_i386_thread_state Mach_i386_thread_state;
|
||||
typedef MachClass_LE64::Mach_AMD64_thread_state Mach_AMD64_thread_state;
|
||||
typedef MachClass_LE64::Mach_ARM64_thread_state Mach_ARM64_thread_state;
|
||||
@ -700,6 +722,39 @@ protected:
|
||||
Mach_thread_command threado;
|
||||
};
|
||||
|
||||
class PackMachPPC64LE : public PackMachBase<MachClass_LE64>
|
||||
{
|
||||
typedef PackMachBase<MachClass_LE64> super;
|
||||
|
||||
public:
|
||||
PackMachPPC64LE(InputFile *f);
|
||||
|
||||
virtual int getFormat() const { return UPX_F_MACH_PPC64LE; }
|
||||
virtual const char *getName() const { return "Mach/ppc64LE"; }
|
||||
virtual const char *getFullName(const options_t *) const { return "ppc64le-darwin.macho"; }
|
||||
|
||||
protected:
|
||||
virtual const int *getFilters() const;
|
||||
|
||||
virtual void pack1_setup_threado(OutputFile *const fo);
|
||||
virtual void pack3(OutputFile *, Filter &); // append loader
|
||||
virtual void pack4(OutputFile *, Filter &); // append PackHeader
|
||||
virtual Linker* newLinker() const;
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
|
||||
__packed_struct(Mach_thread_command)
|
||||
LE32 cmd; /* LC_THREAD or LC_UNIXTHREAD */
|
||||
LE32 cmdsize; /* total size of this command */
|
||||
LE32 flavor;
|
||||
LE32 count; /* sizeof(following_thread_state)/4 */
|
||||
Mach_ppcle_thread_state64 state64;
|
||||
#define WANT_MACH_THREAD_ENUM 1
|
||||
#include "p_mach_enum.h"
|
||||
__packed_struct_end()
|
||||
|
||||
Mach_thread_command threado;
|
||||
};
|
||||
|
||||
class PackDylibPPC32 : public PackMachPPC32
|
||||
{
|
||||
typedef PackMachPPC32 super;
|
||||
@ -716,6 +771,22 @@ protected:
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
};
|
||||
|
||||
class PackDylibPPC64LE : public PackMachPPC64LE
|
||||
{
|
||||
typedef PackMachPPC64LE super;
|
||||
|
||||
public:
|
||||
PackDylibPPC64LE(InputFile *f);
|
||||
|
||||
virtual int getFormat() const { return UPX_F_DYLIB_PPC64LE; }
|
||||
virtual const char *getName() const { return "Dylib/ppc64LE"; }
|
||||
virtual const char *getFullName(const options_t *) const { return "ppc64le-darwin.dylib"; }
|
||||
protected:
|
||||
virtual void pack3(OutputFile *, Filter &); // append loader
|
||||
virtual void pack4(OutputFile *, Filter &); // append PackHeader
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
};
|
||||
|
||||
class PackMachI386 : public PackMachBase<MachClass_LE32>
|
||||
{
|
||||
typedef PackMachBase<MachClass_LE32> super;
|
||||
|
||||
@ -43,7 +43,8 @@
|
||||
CPU_TYPE_X86_64 = 0x01000007,
|
||||
CPU_TYPE_ARM = 12,
|
||||
CPU_TYPE_POWERPC = 0x00000012,
|
||||
CPU_TYPE_POWERPC64 = 0x01000012
|
||||
CPU_TYPE_POWERPC64 = 0x01000012,
|
||||
CPU_TYPE_POWERPC64LE = 0x01000021
|
||||
};
|
||||
enum { // cpusubtype
|
||||
CPU_SUBTYPE_ARM_ALL = 0,
|
||||
|
||||
@ -792,6 +792,12 @@ const int *PackVmlinuxPPC32::getCompressionMethods(int method, int level) const
|
||||
return Packer::getDefaultCompressionMethods_le32(method, level);
|
||||
}
|
||||
|
||||
const int *PackVmlinuxPPC64LE::getCompressionMethods(int method, int level) const
|
||||
{
|
||||
// No real dependency on LE32.
|
||||
return Packer::getDefaultCompressionMethods_le32(method, level);
|
||||
}
|
||||
|
||||
|
||||
const int *PackVmlinuxARMEL::getFilters() const
|
||||
{
|
||||
@ -811,6 +817,12 @@ const int *PackVmlinuxPPC32::getFilters() const
|
||||
return fd0;
|
||||
}
|
||||
|
||||
const int *PackVmlinuxPPC64LE::getFilters() const
|
||||
{
|
||||
static const int fd0[] = { 0xd0, FT_END };
|
||||
return fd0;
|
||||
}
|
||||
|
||||
//
|
||||
// Examples as of 2004-07-16 [readelf --segments vmlinux # before fiddling]:
|
||||
//
|
||||
@ -913,6 +925,11 @@ bool PackVmlinuxPPC32::is_valid_e_entry(Addr e_entry)
|
||||
return 0xc0000000==e_entry;
|
||||
}
|
||||
|
||||
bool PackVmlinuxPPC64LE::is_valid_e_entry(Addr e_entry)
|
||||
{
|
||||
return 0xc0000000==e_entry;
|
||||
}
|
||||
|
||||
Linker* PackVmlinuxARMEL::newLinker() const
|
||||
{
|
||||
return new ElfLinkerArmLE;
|
||||
@ -928,6 +945,10 @@ Linker* PackVmlinuxPPC32::newLinker() const
|
||||
return new ElfLinkerPpc32;
|
||||
}
|
||||
|
||||
Linker* PackVmlinuxPPC64LE::newLinker() const
|
||||
{
|
||||
return new ElfLinkerPpc64le;
|
||||
}
|
||||
|
||||
|
||||
void PackVmlinuxARMEL::buildLoader(const Filter *ft)
|
||||
@ -999,6 +1020,33 @@ void PackVmlinuxPPC32::buildLoader(const Filter *ft)
|
||||
addLoader("IDENTSTR,UPX1HEAD", NULL);
|
||||
}
|
||||
|
||||
static const
|
||||
#include "stub/ppc64le-linux.kernel.vmlinux.h"
|
||||
void PackVmlinuxPPC64LE::buildLoader(const Filter *ft)
|
||||
{
|
||||
// prepare loader
|
||||
initLoader(stub_ppc64le_linux_kernel_vmlinux, sizeof(stub_ppc64le_linux_kernel_vmlinux));
|
||||
addLoader("LINUX000", NULL);
|
||||
if (ft->id) {
|
||||
assert(ft->calls > 0);
|
||||
addLoader("LINUX010", NULL);
|
||||
}
|
||||
addLoader("LINUX020", NULL);
|
||||
if (ft->id) {
|
||||
addFilter32(ft->id);
|
||||
}
|
||||
addLoader("LINUX030", NULL);
|
||||
if (ph.method == M_NRV2E_LE32) addLoader("NRV2E,NRV_TAIL", NULL);
|
||||
else if (ph.method == M_NRV2B_LE32) addLoader("NRV2B,NRV_TAIL", NULL);
|
||||
else if (ph.method == M_NRV2D_LE32) addLoader("NRV2D,NRV_TAIL", NULL);
|
||||
else if (M_IS_LZMA(ph.method)) addLoader("LZMA_ELF00,LZMA_DEC10,LZMA_DEC30", NULL);
|
||||
else throwBadLoader();
|
||||
if (hasLoaderSection("CFLUSH"))
|
||||
addLoader("CFLUSH");
|
||||
|
||||
addLoader("IDENTSTR,UPX1HEAD", NULL);
|
||||
}
|
||||
|
||||
|
||||
static const
|
||||
#include "stub/i386-linux.kernel.vmlinux-head.h"
|
||||
@ -1067,6 +1115,14 @@ void PackVmlinuxPPC32::defineDecompressorSymbols()
|
||||
// linker->defineSymbol("METHOD", ph.method);
|
||||
}
|
||||
|
||||
void PackVmlinuxPPC64LE::defineDecompressorSymbols()
|
||||
{
|
||||
super::defineDecompressorSymbols();
|
||||
// linker->defineSymbol( "COMPRESSED_LENGTH", ph.c_len);
|
||||
// linker->defineSymbol("UNCOMPRESSED_LENGTH", ph.u_len);
|
||||
// linker->defineSymbol("METHOD", ph.method);
|
||||
}
|
||||
|
||||
void PackVmlinuxI386::defineDecompressorSymbols()
|
||||
{
|
||||
super::defineDecompressorSymbols();
|
||||
@ -1136,6 +1192,14 @@ unsigned PackVmlinuxPPC32::write_vmlinux_head(
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned PackVmlinuxPPC64LE::write_vmlinux_head(
|
||||
OutputFile * /*const fo*/,
|
||||
Shdr * /*const stxt*/
|
||||
)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
bool PackVmlinuxARMEL::has_valid_vmlinux_head()
|
||||
{
|
||||
@ -1179,6 +1243,21 @@ bool PackVmlinuxPPC32::has_valid_vmlinux_head()
|
||||
return false;
|
||||
}
|
||||
|
||||
#include "stub/ppc64le-linux.kernel.vmlinux-head.h"
|
||||
bool PackVmlinuxPPC64LE::has_valid_vmlinux_head()
|
||||
{
|
||||
TE64 buf[2];
|
||||
fi->seek(p_text->sh_offset + sizeof(stub_ppc64le_linux_kernel_vmlinux_head) -8, SEEK_SET);
|
||||
fi->readx(buf, sizeof(buf));
|
||||
//unsigned const word0 = buf[0];
|
||||
unsigned const word1 = buf[1];
|
||||
if (0xeb==(word1>>24)
|
||||
&& (0x00ffffff& word1)==(0u - 1 + ((3+ ph.c_len)>>2))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PackVmlinuxI386::has_valid_vmlinux_head()
|
||||
{
|
||||
unsigned char buf[5];
|
||||
|
||||
@ -191,6 +191,30 @@ protected:
|
||||
);
|
||||
};
|
||||
|
||||
class PackVmlinuxPPC64LE : public PackVmlinuxBase<ElfClass_LE64>
|
||||
{
|
||||
typedef PackVmlinuxBase<ElfClass_LE64> super;
|
||||
public:
|
||||
PackVmlinuxPPC64LE(InputFile *f) : super(f, Ehdr::EM_PPC64,
|
||||
Ehdr::ELFCLASS64, Ehdr::ELFDATA2LSB, "_vmlinux_start") { }
|
||||
virtual int getFormat() const { return UPX_F_VMLINUX_PPC64LE; }
|
||||
virtual const char *getName() const { return "ppc64LE"; }
|
||||
virtual const char *getFullName(const options_t *) const { return "ppc64le-linux.kernel.vmlinux"; }
|
||||
virtual const int *getCompressionMethods(int method, int level) const;
|
||||
virtual const int *getFilters() const;
|
||||
|
||||
protected:
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual void defineDecompressorSymbols();
|
||||
virtual Linker* newLinker() const;
|
||||
virtual bool is_valid_e_entry(Addr);
|
||||
virtual bool has_valid_vmlinux_head();
|
||||
virtual unsigned write_vmlinux_head(
|
||||
OutputFile *const fo,
|
||||
Shdr *const stxt
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
class PackVmlinuxAMD64 : public PackVmlinuxBase<ElfClass_LE64>
|
||||
{
|
||||
|
||||
@ -66,7 +66,7 @@ void Packer::assertPacker() const
|
||||
assert(getFormat() <= 255);
|
||||
assert(getVersion() >= 11);
|
||||
assert(getVersion() <= 14);
|
||||
assert(strlen(getName()) <= 13);
|
||||
assert(strlen(getName()) <= 15);
|
||||
// info: 32 is limit for show_all_packers() in help.cpp
|
||||
assert(strlen(getFullName(opt)) <= 28);
|
||||
assert(strlen(getFullName(NULL)) <= 28);
|
||||
|
||||
@ -210,13 +210,16 @@ const char *Packer::getDecompressorSections() const
|
||||
|| UPX_F_LINUX_ELF64_AMD ==ph.format
|
||||
|| UPX_F_LINUX_ELF32_ARMEL==ph.format
|
||||
|| UPX_F_LINUX_ELFPPC32 ==ph.format
|
||||
|| UPX_F_LINUX_ELFPPC64LE ==ph.format
|
||||
|| UPX_F_LINUX_ELF32_ARMEB==ph.format
|
||||
|| UPX_F_BSD_ELF_i386 ==ph.format
|
||||
|| UPX_F_VMLINUZ_ARMEL ==ph.format
|
||||
|| UPX_F_VMLINUX_ARMEL ==ph.format
|
||||
|| UPX_F_VMLINUX_ARMEB ==ph.format
|
||||
|| UPX_F_VMLINUX_PPC32 ==ph.format
|
||||
|| UPX_F_VMLINUX_PPC64LE ==ph.format
|
||||
|| UPX_F_MACH_PPC32 ==ph.format
|
||||
|| UPX_F_MACH_PPC64LE ==ph.format
|
||||
|| UPX_F_MACH_i386 ==ph.format
|
||||
|| UPX_F_DYLIB_i386 ==ph.format
|
||||
) {
|
||||
@ -250,13 +253,16 @@ void Packer::defineDecompressorSymbols()
|
||||
|| UPX_F_LINUX_ELF64_AMD ==ph.format
|
||||
|| UPX_F_LINUX_ELF32_ARMEL==ph.format
|
||||
|| UPX_F_LINUX_ELFPPC32 ==ph.format
|
||||
|| UPX_F_LINUX_ELFPPC64LE ==ph.format
|
||||
|| UPX_F_LINUX_ELF32_ARMEB==ph.format
|
||||
|| UPX_F_BSD_ELF_i386 ==ph.format
|
||||
|| UPX_F_VMLINUZ_ARMEL ==ph.format
|
||||
|| UPX_F_VMLINUX_ARMEL ==ph.format
|
||||
|| UPX_F_VMLINUX_ARMEB ==ph.format
|
||||
|| UPX_F_VMLINUX_PPC32 ==ph.format
|
||||
|| UPX_F_VMLINUX_PPC64LE ==ph.format
|
||||
|| UPX_F_MACH_PPC32 ==ph.format
|
||||
|| UPX_F_MACH_PPC64LE ==ph.format
|
||||
|| UPX_F_MACH_i386 ==ph.format
|
||||
|| UPX_F_DYLIB_i386 ==ph.format
|
||||
) {
|
||||
|
||||
@ -213,6 +213,9 @@ Packer* PackMaster::visitAllPackers(visit_func_t func, InputFile *f, const optio
|
||||
if ((p = func(new PackVmlinuxPPC32(f), user)) != NULL)
|
||||
return p;
|
||||
delete p; p = NULL;
|
||||
if ((p = func(new PackVmlinuxPPC64LE(f), user)) != NULL)
|
||||
return p;
|
||||
delete p; p = NULL;
|
||||
if ((p = func(new PackVmlinuxAMD64(f), user)) != NULL)
|
||||
return p;
|
||||
delete p; p = NULL;
|
||||
@ -276,6 +279,9 @@ Packer* PackMaster::visitAllPackers(visit_func_t func, InputFile *f, const optio
|
||||
if ((p = func(new PackLinuxElf32ppc(f), user)) != NULL)
|
||||
return p;
|
||||
delete p; p = NULL;
|
||||
if ((p = func(new PackLinuxElf64ppcle(f), user)) != NULL)
|
||||
return p;
|
||||
delete p; p = NULL;
|
||||
if ((p = func(new PackLinuxElf32mipsel(f), user)) != NULL)
|
||||
return p;
|
||||
delete p; p = NULL;
|
||||
@ -317,6 +323,9 @@ Packer* PackMaster::visitAllPackers(visit_func_t func, InputFile *f, const optio
|
||||
if ((p = func(new PackMachPPC32(f), user)) != NULL)
|
||||
return p;
|
||||
delete p; p = NULL;
|
||||
if ((p = func(new PackMachPPC64LE(f), user)) != NULL)
|
||||
return p;
|
||||
delete p; p = NULL;
|
||||
if ((p = func(new PackMachI386(f), user)) != NULL)
|
||||
return p;
|
||||
delete p; p = NULL;
|
||||
|
||||
@ -48,72 +48,72 @@ endif
|
||||
# ************************************************************************/
|
||||
|
||||
ifndef STUBS
|
||||
STUBS += amd64-darwin.dylib-entry.h
|
||||
STUBS += amd64-darwin.macho-entry.h
|
||||
STUBS += amd64-darwin.macho-fold.h
|
||||
STUBS += amd64-linux.elf-entry.h
|
||||
STUBS += amd64-linux.elf-fold.h
|
||||
STUBS += amd64-linux.kernel.vmlinux-head.h
|
||||
STUBS += amd64-linux.kernel.vmlinux.h
|
||||
STUBS += amd64-linux.shlib-init.h
|
||||
STUBS += amd64-win64.pep.h
|
||||
STUBS += arm-darwin.macho-entry.h
|
||||
STUBS += arm-darwin.macho-fold.h
|
||||
STUBS += arm64-darwin.macho-entry.h
|
||||
STUBS += arm64-darwin.macho-fold.h
|
||||
STUBS += arm-linux.elf-entry.h
|
||||
STUBS += arm-linux.elf-fold.h
|
||||
STUBS += arm-linux.kernel.vmlinux-head.h
|
||||
STUBS += arm-linux.kernel.vmlinux.h
|
||||
STUBS += arm-linux.shlib-init.h
|
||||
STUBS += arm.v4a-wince.pe.h
|
||||
STUBS += arm.v4t-wince.pe.h
|
||||
STUBS += armeb-linux.elf-entry.h
|
||||
STUBS += armeb-linux.elf-fold.h
|
||||
STUBS += armeb-linux.kernel.vmlinux-head.h
|
||||
STUBS += armeb-linux.kernel.vmlinux.h
|
||||
STUBS += armel-eabi-linux.elf-entry.h
|
||||
STUBS += armel-eabi-linux.elf-fold.h
|
||||
STUBS += armel-eabi-linux.shlib-init.h
|
||||
STUBS += armel-linux.kernel.vmlinuz-head.h
|
||||
STUBS += armel-linux.kernel.vmlinuz.h
|
||||
STUBS += i086-dos16.com.h
|
||||
STUBS += i086-dos16.exe.h
|
||||
STUBS += i086-dos16.sys.h
|
||||
STUBS += i386-bsd.elf-entry.h
|
||||
STUBS += i386-bsd.elf-fold.h
|
||||
STUBS += i386-bsd.elf.execve-entry.h
|
||||
STUBS += i386-bsd.elf.execve-fold.h
|
||||
STUBS += i386-darwin.dylib-entry.h
|
||||
# STUBS += i386-darwin.dylib-fold.h
|
||||
STUBS += i386-darwin.macho-entry.h
|
||||
STUBS += i386-darwin.macho-fold.h
|
||||
STUBS += i386-dos32.djgpp2-stubify.h
|
||||
STUBS += i386-dos32.djgpp2.h
|
||||
STUBS += i386-dos32.tmt.h
|
||||
STUBS += i386-dos32.watcom.le.h
|
||||
STUBS += i386-linux.elf-entry.h
|
||||
STUBS += i386-linux.elf-fold.h
|
||||
STUBS += i386-linux.elf.execve-entry.h
|
||||
STUBS += i386-linux.elf.execve-fold.h
|
||||
STUBS += i386-linux.elf.interp-entry.h
|
||||
STUBS += i386-linux.elf.interp-fold.h
|
||||
STUBS += i386-linux.elf.shell-entry.h
|
||||
STUBS += i386-linux.elf.shell-fold.h
|
||||
STUBS += i386-linux.kernel.vmlinux-head.h
|
||||
STUBS += i386-linux.kernel.vmlinux.h
|
||||
STUBS += i386-linux.kernel.vmlinuz.h
|
||||
STUBS += i386-linux.shlib-init.h
|
||||
STUBS += i386-netbsd.elf-entry.h
|
||||
STUBS += i386-netbsd.elf-fold.h
|
||||
STUBS += i386-openbsd.elf-fold.h
|
||||
STUBS += i386-win32.pe.h
|
||||
STUBS += m68k-atari.tos.h
|
||||
STUBS += mips.r3000-linux.elf-entry.h
|
||||
STUBS += mips.r3000-linux.elf-fold.h
|
||||
STUBS += mipsel.r3000-linux.elf-entry.h
|
||||
STUBS += mipsel.r3000-linux.elf-fold.h
|
||||
STUBS += mipsel.r3000-ps1.h
|
||||
#STUBS += amd64-darwin.dylib-entry.h
|
||||
#STUBS += amd64-darwin.macho-entry.h
|
||||
#STUBS += amd64-darwin.macho-fold.h
|
||||
#STUBS += amd64-linux.elf-entry.h
|
||||
#STUBS += amd64-linux.elf-fold.h
|
||||
#STUBS += amd64-linux.kernel.vmlinux-head.h
|
||||
#STUBS += amd64-linux.kernel.vmlinux.h
|
||||
#STUBS += amd64-linux.shlib-init.h
|
||||
#STUBS += amd64-win64.pep.h
|
||||
#STUBS += arm-darwin.macho-entry.h
|
||||
#STUBS += arm-darwin.macho-fold.h
|
||||
#STUBS += arm64-darwin.macho-entry.h
|
||||
#STUBS += arm64-darwin.macho-fold.h
|
||||
#STUBS += arm-linux.elf-entry.h
|
||||
#STUBS += arm-linux.elf-fold.h
|
||||
#STUBS += arm-linux.kernel.vmlinux-head.h
|
||||
#STUBS += arm-linux.kernel.vmlinux.h
|
||||
#STUBS += arm-linux.shlib-init.h
|
||||
#STUBS += arm.v4a-wince.pe.h
|
||||
#STUBS += arm.v4t-wince.pe.h
|
||||
#STUBS += armeb-linux.elf-entry.h
|
||||
#STUBS += armeb-linux.elf-fold.h
|
||||
#STUBS += armeb-linux.kernel.vmlinux-head.h
|
||||
#STUBS += armeb-linux.kernel.vmlinux.h
|
||||
#STUBS += armel-eabi-linux.elf-entry.h
|
||||
#STUBS += armel-eabi-linux.elf-fold.h
|
||||
#STUBS += armel-eabi-linux.shlib-init.h
|
||||
#STUBS += armel-linux.kernel.vmlinuz-head.h
|
||||
#STUBS += armel-linux.kernel.vmlinuz.h
|
||||
#STUBS += i086-dos16.com.h
|
||||
#STUBS += i086-dos16.exe.h
|
||||
#STUBS += i086-dos16.sys.h
|
||||
#STUBS += i386-bsd.elf-entry.h
|
||||
#STUBS += i386-bsd.elf-fold.h
|
||||
#STUBS += i386-bsd.elf.execve-entry.h
|
||||
#STUBS += i386-bsd.elf.execve-fold.h
|
||||
#STUBS += i386-darwin.dylib-entry.h
|
||||
## STUBS += i386-darwin.dylib-fold.h
|
||||
#STUBS += i386-darwin.macho-entry.h
|
||||
#STUBS += i386-darwin.macho-fold.h
|
||||
#STUBS += i386-dos32.djgpp2-stubify.h
|
||||
#STUBS += i386-dos32.djgpp2.h
|
||||
#STUBS += i386-dos32.tmt.h
|
||||
#STUBS += i386-dos32.watcom.le.h
|
||||
#STUBS += i386-linux.elf-entry.h
|
||||
#STUBS += i386-linux.elf-fold.h
|
||||
#STUBS += i386-linux.elf.execve-entry.h
|
||||
#STUBS += i386-linux.elf.execve-fold.h
|
||||
#STUBS += i386-linux.elf.interp-entry.h
|
||||
#STUBS += i386-linux.elf.interp-fold.h
|
||||
#STUBS += i386-linux.elf.shell-entry.h
|
||||
#STUBS += i386-linux.elf.shell-fold.h
|
||||
#STUBS += i386-linux.kernel.vmlinux-head.h
|
||||
#STUBS += i386-linux.kernel.vmlinux.h
|
||||
#STUBS += i386-linux.kernel.vmlinuz.h
|
||||
#STUBS += i386-linux.shlib-init.h
|
||||
#STUBS += i386-netbsd.elf-entry.h
|
||||
#STUBS += i386-netbsd.elf-fold.h
|
||||
#STUBS += i386-openbsd.elf-fold.h
|
||||
#STUBS += i386-win32.pe.h
|
||||
#STUBS += m68k-atari.tos.h
|
||||
#STUBS += mips.r3000-linux.elf-entry.h
|
||||
#STUBS += mips.r3000-linux.elf-fold.h
|
||||
#STUBS += mipsel.r3000-linux.elf-entry.h
|
||||
#STUBS += mipsel.r3000-linux.elf-fold.h
|
||||
#STUBS += mipsel.r3000-ps1.h
|
||||
STUBS += powerpc-darwin.dylib-entry.h
|
||||
STUBS += powerpc-darwin.macho-entry.h
|
||||
STUBS += powerpc-darwin.macho-fold.h
|
||||
@ -121,7 +121,14 @@ STUBS += powerpc-linux.elf-entry.h
|
||||
STUBS += powerpc-linux.elf-fold.h
|
||||
STUBS += powerpc-linux.kernel.vmlinux-head.h
|
||||
STUBS += powerpc-linux.kernel.vmlinux.h
|
||||
STUBS += thumb-eabi-linux.shlib-init.h
|
||||
STUBS += ppc64le-darwin.dylib-entry.h
|
||||
#STUBS += ppc64le-darwin.macho-entry.h
|
||||
#STUBS += ppc64le-darwin.macho-fold.h
|
||||
STUBS += ppc64le-linux.elf-entry.h
|
||||
STUBS += ppc64le-linux.elf-fold.h
|
||||
STUBS += ppc64le-linux.kernel.vmlinux-head.h
|
||||
STUBS += ppc64le-linux.kernel.vmlinux.h
|
||||
#STUBS += thumb-eabi-linux.shlib-init.h
|
||||
endif
|
||||
|
||||
|
||||
@ -140,7 +147,7 @@ endif
|
||||
all.targets ?= .upx-stubtools-stamp tmp/.tmp-stamp .all-stamp
|
||||
all: $$(all.targets)
|
||||
.upx-stubtools-stamp: $(MAKEFILE_LIST)
|
||||
upx-stubtools-check-version 20130920
|
||||
#upx-stubtools-check-version 20130920
|
||||
@echo "timestamp" > $@
|
||||
%/.tmp-stamp:
|
||||
@mkdir -p $(dir $@)
|
||||
@ -224,12 +231,12 @@ tc.default.sstrip = sstrip
|
||||
tc.default.xstrip = $(PYTHON) $(top_srcdir)/src/stub/scripts/xstrip.py
|
||||
|
||||
# default multiarch-binutils
|
||||
tc.default.m-ar = multiarch-ar-2.17
|
||||
tc.default.m-ld = multiarch-ld-2.17 $(if $(tc_bfdname),-b $(tc_bfdname))
|
||||
tc.default.m-nm = multiarch-nm-2.17 $(if $(tc_bfdname),--target=$(tc_bfdname))
|
||||
tc.default.m-objcopy = multiarch-objcopy-2.17 $(if $(tc_bfdname),-F $(tc_bfdname))
|
||||
tc.default.m-objdump = multiarch-objdump-2.17 $(if $(tc_bfdname),-b $(tc_bfdname)) $(if $(tc_bfdarch),-m $(tc_bfdarch))
|
||||
tc.default.m-readelf = multiarch-readelf-2.17
|
||||
tc.default.m-ar = ar
|
||||
tc.default.m-ld = ld $(if $(tc_bfdname),-b $(tc_bfdname))
|
||||
tc.default.m-nm = nm $(if $(tc_bfdname),--target=$(tc_bfdname))
|
||||
tc.default.m-objcopy = objcopy $(if $(tc_bfdname),-F $(tc_bfdname))
|
||||
tc.default.m-objdump = objdump $(if $(tc_bfdname),-b $(tc_bfdname)) $(if $(tc_bfdarch),-m $(tc_bfdarch))
|
||||
tc.default.m-readelf = readelf
|
||||
|
||||
# default binutils
|
||||
tc.default.ld = $(call tc,m-ld)
|
||||
@ -315,7 +322,7 @@ tmp/amd64-darwin.macho-main.o : $(srcdir)/src/$$T.c
|
||||
amd64-linux.elf%.h : tc_list = amd64-linux.elf default
|
||||
amd64-linux.elf%.h : tc_bfdname = elf64-x86-64
|
||||
|
||||
tc.amd64-linux.elf.gcc = amd64-linux-gcc-3.4.4 -m64 -nostdinc -MMD -MT $@
|
||||
tc.amd64-linux.elf.gcc = gcc -m64 -nostdinc -MMD -MT $@
|
||||
tc.amd64-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables
|
||||
tc.amd64-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototypes -Wwrite-strings -Werror
|
||||
|
||||
@ -1210,12 +1217,13 @@ powerpc-darwin.macho%.h : tc_list = powerpc-linux.elf default
|
||||
powerpc-darwin.macho%.h : tc_bfdname = elf32-powerpc
|
||||
|
||||
powerpc-darwin.macho-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.bin
|
||||
$(call tc,gcc) -c $< -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
powerpc-darwin.macho-fold.h : tmp/$$T.o tmp/powerpc-darwin.macho-main.o
|
||||
$(call tc,ld) --no-warn-mismatch --strip-all --oformat binary -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
$(call tc,ld) --no-warn-mismatch --strip-all --oformat binary -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin /usr/powerpc-linux-gnu/lib/libc.a /usr/lib/gcc-cross/powerpc-linux-gnu/4.8/libgcc.a
|
||||
#/usr/lib/gcc-cross/powerpc-linux-gnu/4.8/libgcc.a
|
||||
chmod a-x tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
@ -1249,8 +1257,8 @@ powerpc-darwin.dylib-entry.h : $(srcdir)/src/$$T.S
|
||||
powerpc-linux.elf%.h : tc_list = powerpc-linux.elf default
|
||||
powerpc-linux.elf%.h : tc_bfdname = elf32-powerpc
|
||||
|
||||
tc.powerpc-linux.elf.gcc = powerpc.405-linux-gcc-3.4.5 -m32 -mbig-endian -mcpu=405 -nostdinc -MMD -MT $@
|
||||
tc.powerpc-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables
|
||||
tc.powerpc-linux.elf.gcc = gcc -m32 -mbig-endian -mtune=powerpc -nostdinc -MMD -MT $@
|
||||
tc.powerpc-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables -fno-stack-protector
|
||||
tc.powerpc-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototypes -Wwrite-strings -Werror
|
||||
|
||||
powerpc-linux.elf-entry.h : $(srcdir)/src/$$T.S
|
||||
@ -1259,7 +1267,8 @@ powerpc-linux.elf-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
powerpc-linux.elf-fold.h : tmp/$$T.o tmp/powerpc-linux.elf-main.o $(srcdir)/src/$$T.lds
|
||||
$(call tc,ld) --strip-all -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
$(call tc,ld) --strip-all -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin /usr/powerpc-linux-gnu/lib/libc.a /usr/lib/gcc-cross/powerpc-linux-gnu/4.8/libgcc.a
|
||||
#/usr/lib/gcc/powerpc-linux-gnu/5/libgcc.a /usr/lib/powerpc-linux-gnu/libc.a
|
||||
$(call tc,f-objstrip,tmp/$T.bin)
|
||||
$(call tc,sstrip) tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
@ -1293,6 +1302,98 @@ powerpc-linux.kernel.vmlinux-head.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,objcopy) --output-target binary --only-section .text tmp/$T.o tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
# /***********************************************************************
|
||||
# // ppc64le-darwin.macho
|
||||
# ************************************************************************/
|
||||
|
||||
# info: we use the tc settings from ppc64le-linux.elf
|
||||
ppc64le-darwin.macho%.h : tc_list = ppc64le-linux.elf default
|
||||
ppc64le-darwin.macho%.h : tc_bfdname = elf64-powerpcle
|
||||
|
||||
ppc64le-darwin.macho-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
ppc64le-darwin.macho-fold.h : tmp/$$T.o tmp/ppc64le-darwin.macho-main.o
|
||||
$(call tc,ld) --no-warn-mismatch --strip-all --oformat binary -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
chmod a-x tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
tmp/ppc64le-darwin.macho-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
tmp/ppc64le-darwin.macho-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c -Os $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // ppc64le-darwin.dylib
|
||||
# ************************************************************************/
|
||||
|
||||
# info: we use the tc settings from ppc64le-linux.elf
|
||||
ppc64le-darwin.dylib%.h : tc_list = ppc64le-linux.elf default
|
||||
ppc64le-darwin.dylib%.h : tc_bfdname = elf64-powerpcle
|
||||
|
||||
ppc64le-darwin.dylib-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // ppc64le-linux.elf
|
||||
# ************************************************************************/
|
||||
|
||||
ppc64le-linux.elf%.h : tc_list = ppc64le-linux.elf default
|
||||
ppc64le-linux.elf%.h : tc_bfdname = elf64-powerpcle
|
||||
|
||||
tc.ppc64le-linux.elf.gcc = gcc -m64 -mlittle-endian -mcpu=power8 -nostdinc -MMD -MT $@
|
||||
tc.ppc64le-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables -fno-stack-protector
|
||||
tc.ppc64le-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototypes -Wwrite-strings -Werror
|
||||
|
||||
ppc64le-linux.elf-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
ppc64le-linux.elf-fold.h : tmp/$$T.o tmp/ppc64le-linux.elf-main.o $(srcdir)/src/$$T.lds
|
||||
$(call tc,ld) --strip-all -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
$(call tc,f-objstrip,tmp/$T.bin)
|
||||
$(call tc,sstrip) tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
tmp/ppc64le-linux.elf-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
tmp/ppc64le-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c -Os $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // ppc64le-linux.kernel.vmlinux
|
||||
# // ppc64le-linux.kernel.vmlinux-head
|
||||
# ************************************************************************/
|
||||
|
||||
ppc64le-linux.kernel.vmlinu%.h : tc_list = ppc64le-linux.kernel default
|
||||
ppc64le-linux.kernel.vmlinu%.h : tc_bfdname = elf64-powerpcle
|
||||
|
||||
tc.ppc64le-linux.kernel.gcc = $(tc.ppc64le-linux.elf.gcc)
|
||||
|
||||
ppc64le-linux.kernel.vmlinu%.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c -x assembler-with-cpp $< -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(call tc,bin2h-c) tmp/$T.bin $@
|
||||
|
||||
ppc64le-linux.kernel.vmlinux-head.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c -x assembler-with-cpp $< -o tmp/$T.o
|
||||
$(call tc,objcopy) --output-target binary --only-section .text tmp/$T.o tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // thumb-eabi-linux.shlib
|
||||
|
||||
@ -32,8 +32,8 @@
|
||||
|
||||
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 10420
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0xf5c24a13
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0xccd1eb0e
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0x6d5e3cb7
|
||||
#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0x41203f95
|
||||
|
||||
unsigned char stub_amd64_linux_elf_entry[10420] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@ -618,8 +618,8 @@ unsigned char stub_amd64_linux_elf_entry[10420] = {
|
||||
/* 0x2430 */ 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2440 */ 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80,
|
||||
/* 0x2450 */ 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89,
|
||||
/* 0x2460 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,
|
||||
/* 0x2470 */ 102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
|
||||
/* 0x2460 */ 45, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2470 */ 48, 48, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
|
||||
/* 0x2480 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86,
|
||||
/* 0x2490 */ 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32,
|
||||
/* 0x24a0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32,
|
||||
@ -630,8 +630,8 @@ unsigned char stub_amd64_linux_elf_entry[10420] = {
|
||||
/* 0x24f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48,
|
||||
/* 0x2500 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95,
|
||||
/* 0x2510 */ 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32,
|
||||
/* 0x2520 */ 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102,102,
|
||||
/* 0x2530 */ 102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76,
|
||||
/* 0x2520 */ 69, 76, 70, 77, 65, 73, 78, 89, 45, 48,120, 48, 48, 48, 48, 48,
|
||||
/* 0x2530 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 10, 10, 82, 69, 76,
|
||||
/* 0x2540 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32,
|
||||
/* 0x2550 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70,
|
||||
/* 0x2560 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89,
|
||||
@ -643,8 +643,8 @@ unsigned char stub_amd64_linux_elf_entry[10420] = {
|
||||
/* 0x25c0 */ 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x25d0 */ 48, 48, 48, 53, 50, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80,
|
||||
/* 0x25e0 */ 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89,
|
||||
/* 0x25f0 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,
|
||||
/* 0x2600 */ 102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
|
||||
/* 0x25f0 */ 45, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2600 */ 48, 48, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
|
||||
/* 0x2610 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77,
|
||||
/* 0x2620 */ 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84,
|
||||
/* 0x2630 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32,
|
||||
@ -660,8 +660,8 @@ unsigned char stub_amd64_linux_elf_entry[10420] = {
|
||||
/* 0x26d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69,
|
||||
/* 0x26e0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49,
|
||||
/* 0x26f0 */ 56, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32,
|
||||
/* 0x2700 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120,102,
|
||||
/* 0x2710 */ 102,102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10,
|
||||
/* 0x2700 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 45, 48,120, 48,
|
||||
/* 0x2710 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 10,
|
||||
/* 0x2720 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79,
|
||||
/* 0x2730 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78,
|
||||
/* 0x2740 */ 90,117, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32,
|
||||
|
||||
@ -32,69 +32,69 @@
|
||||
|
||||
|
||||
#define STUB_POWERPC_DARWIN_DYLIB_ENTRY_SIZE 8985
|
||||
#define STUB_POWERPC_DARWIN_DYLIB_ENTRY_ADLER32 0x992659f2
|
||||
#define STUB_POWERPC_DARWIN_DYLIB_ENTRY_CRC32 0x3ceb5d64
|
||||
#define STUB_POWERPC_DARWIN_DYLIB_ENTRY_ADLER32 0x079b624d
|
||||
#define STUB_POWERPC_DARWIN_DYLIB_ENTRY_CRC32 0xa7ac72a3
|
||||
|
||||
unsigned char stub_powerpc_darwin_dylib_entry[8985] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 26,112, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0030 */ 0, 22, 0, 19,124, 72, 2,166, 72, 0, 2, 1,124, 0, 41,236,
|
||||
/* 0x0020 */ 0, 0, 27,164, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0030 */ 0, 22, 0, 19,124, 72, 2,166, 72, 0, 0, 1,124, 0, 41,236,
|
||||
/* 0x0040 */ 125,168, 2,166, 40, 7, 0, 8, 64,130, 1, 60,144,166, 0, 0,
|
||||
/* 0x0050 */ 124,132, 26, 20, 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255,
|
||||
/* 0x0060 */ 56,165,255,255, 57, 64,255,255, 72, 0, 1, 12, 57, 32, 0, 1,
|
||||
/* 0x0070 */ 125, 41, 28, 44, 56, 99, 0, 4,124, 9, 0, 64,125, 41, 72, 20,
|
||||
/* 0x0080 */ 97, 41, 0, 1, 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1,
|
||||
/* 0x0090 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255,213, 65,129,255,236,
|
||||
/* 0x0090 */ 124, 9, 0, 64,125, 41, 74, 20, 65,194,255,213, 65,225,255,236,
|
||||
/* 0x00a0 */ 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21,
|
||||
/* 0x00b0 */ 65,162,255,189,124,231, 57, 20,125, 41, 72, 21, 65,162,255,177,
|
||||
/* 0x00c0 */ 124,231, 57, 20,124, 9, 0, 64,125, 41, 74, 20, 65,162,255,161,
|
||||
/* 0x00d0 */ 65,160,255,216, 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46,
|
||||
/* 0x00e0 */ 65,128, 0, 32,140, 67, 0, 1,124,234, 16,249,125, 74, 14,112,
|
||||
/* 0x00f0 */ 65,130, 0, 0,112, 66, 0, 1, 65,162, 0, 80, 72, 0, 0, 20,
|
||||
/* 0x0100 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255,101, 65,161, 0, 60,
|
||||
/* 0x0110 */ 57, 0, 0, 1,124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 81,
|
||||
/* 0x0120 */ 65,161, 0, 40,125, 41, 72, 21, 65,162,255, 69,125, 8, 65, 20,
|
||||
/* 0x0130 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 53, 65,160,255,232,
|
||||
/* 0x0140 */ 57, 8, 0, 2, 72, 0, 0, 16,125, 41, 72, 21, 65,162,255, 33,
|
||||
/* 0x00b0 */ 65,194,255,189,124,231, 57, 20,125, 41, 72, 21, 65,194,255,177,
|
||||
/* 0x00c0 */ 124,231, 57, 20,124, 9, 0, 64,125, 41, 74, 20, 65,194,255,161,
|
||||
/* 0x00d0 */ 65,192,255,216, 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46,
|
||||
/* 0x00e0 */ 65,192, 0, 32,140, 67, 0, 1,124,234, 16,249,125, 74, 14,112,
|
||||
/* 0x00f0 */ 65,194, 0, 0,112, 66, 0, 1, 65,226, 0, 80, 72, 0, 0, 20,
|
||||
/* 0x0100 */ 124, 9, 0, 64,125, 41, 74, 20, 65,194,255,101, 65,225, 0, 60,
|
||||
/* 0x0110 */ 57, 0, 0, 1,124, 9, 0, 64,125, 41, 74, 20, 65,194,255, 81,
|
||||
/* 0x0120 */ 65,225, 0, 40,125, 41, 72, 21, 65,194,255, 69,125, 8, 65, 20,
|
||||
/* 0x0130 */ 124, 9, 0, 64,125, 41, 74, 20, 65,194,255, 53, 65,192,255,232,
|
||||
/* 0x0140 */ 57, 8, 0, 2, 72, 0, 0, 16,125, 41, 72, 21, 65,194,255, 33,
|
||||
/* 0x0150 */ 125, 8, 65, 20, 32,234,250,255, 57, 8, 0, 2,125, 8, 1,148,
|
||||
/* 0x0160 */ 124,234, 42, 20,125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1,
|
||||
/* 0x0170 */ 66, 0,255,248, 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44,
|
||||
/* 0x0170 */ 67, 32,255,248, 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44,
|
||||
/* 0x0180 */ 75,255,255, 16,124, 0, 41,236,125,168, 2,166, 40, 7, 0, 5,
|
||||
/* 0x0190 */ 64,130, 1, 32,144,166, 0, 0,124,132, 26, 20, 60, 0,128, 0,
|
||||
/* 0x01a0 */ 61, 32,128, 0, 56, 99,255,255, 56,165,255,255, 57, 64,255,255,
|
||||
/* 0x01b0 */ 72, 0, 0,240, 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,
|
||||
/* 0x01c0 */ 124, 9, 0, 64,125, 41, 72, 20, 97, 41, 0, 1, 78,128, 0, 32,
|
||||
/* 0x01d0 */ 141, 3, 0, 1,157, 5, 0, 1,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x01e0 */ 65,162,255,213, 65,129,255,236, 56,224, 0, 1, 72, 0, 0, 20,
|
||||
/* 0x01f0 */ 56,231,255,255,125, 41, 72, 21, 65,162,255,189,124,231, 57, 21,
|
||||
/* 0x0200 */ 125, 41, 72, 21, 65,162,255,177,124,231, 57, 21,124, 9, 0, 64,
|
||||
/* 0x0210 */ 125, 41, 74, 20, 65,162,255,161, 65,160,255,216, 57, 0, 0, 0,
|
||||
/* 0x0220 */ 52,231,255,253, 84,231, 64, 46, 65,128, 0, 24,140, 67, 0, 1,
|
||||
/* 0x0230 */ 124,234, 16,249,125, 74, 14,112, 65,130, 0, 0, 72, 0, 0, 12,
|
||||
/* 0x0240 */ 125, 41, 72, 21, 65,162,255,113,125, 8, 65, 21,125, 41, 72, 21,
|
||||
/* 0x0250 */ 65,162,255,101,125, 8, 65, 21, 64,130, 0, 40, 57, 0, 0, 1,
|
||||
/* 0x0260 */ 125, 41, 72, 21, 65,162,255, 81,125, 8, 65, 21,124, 9, 0, 64,
|
||||
/* 0x0270 */ 125, 41, 74, 20, 65,162,255, 65, 65,160,255,232, 57, 8, 0, 2,
|
||||
/* 0x01e0 */ 65,194,255,213, 65,225,255,236, 56,224, 0, 1, 72, 0, 0, 20,
|
||||
/* 0x01f0 */ 56,231,255,255,125, 41, 72, 21, 65,194,255,189,124,231, 57, 21,
|
||||
/* 0x0200 */ 125, 41, 72, 21, 65,194,255,177,124,231, 57, 21,124, 9, 0, 64,
|
||||
/* 0x0210 */ 125, 41, 74, 20, 65,194,255,161, 65,192,255,216, 57, 0, 0, 0,
|
||||
/* 0x0220 */ 52,231,255,253, 84,231, 64, 46, 65,192, 0, 24,140, 67, 0, 1,
|
||||
/* 0x0230 */ 124,234, 16,249,125, 74, 14,112, 65,194, 0, 0, 72, 0, 0, 12,
|
||||
/* 0x0240 */ 125, 41, 72, 21, 65,194,255,113,125, 8, 65, 21,125, 41, 72, 21,
|
||||
/* 0x0250 */ 65,194,255,101,125, 8, 65, 21, 64,130, 0, 40, 57, 0, 0, 1,
|
||||
/* 0x0260 */ 125, 41, 72, 21, 65,194,255, 81,125, 8, 65, 21,124, 9, 0, 64,
|
||||
/* 0x0270 */ 125, 41, 74, 20, 65,194,255, 65, 65,192,255,232, 57, 8, 0, 2,
|
||||
/* 0x0280 */ 32,234,250,255, 57, 8, 0, 1,125, 8, 1,148,124,234, 42, 20,
|
||||
/* 0x0290 */ 125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248,
|
||||
/* 0x0290 */ 125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248,
|
||||
/* 0x02a0 */ 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44, 75,255,255, 44,
|
||||
/* 0x02b0 */ 124, 0, 41,236,125,168, 2,166, 40, 7, 0, 2, 64,130, 0,228,
|
||||
/* 0x02c0 */ 144,166, 0, 0,124,132, 26, 20, 60, 0,128, 0, 61, 32,128, 0,
|
||||
/* 0x02d0 */ 56, 99,255,255, 56,165,255,255, 57, 64,255,255, 72, 0, 0,180,
|
||||
/* 0x02e0 */ 124, 9, 0, 64,125, 41, 72, 20, 76,162, 0, 32, 57, 32, 0, 1,
|
||||
/* 0x02e0 */ 124, 9, 0, 64,125, 41, 72, 20, 76,226, 0, 32, 57, 32, 0, 1,
|
||||
/* 0x02f0 */ 125, 41, 28, 44, 56, 99, 0, 4,124, 9, 0, 64,125, 41, 73, 20,
|
||||
/* 0x0300 */ 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1, 75,255,255,213,
|
||||
/* 0x0310 */ 65,129,255,244, 56,224, 0, 1, 75,255,255,201,124,231, 57, 21,
|
||||
/* 0x0320 */ 75,255,255,193, 65,160,255,244, 52,231,255,253, 57, 0, 0, 0,
|
||||
/* 0x0330 */ 65,128, 0, 20,140, 67, 0, 1, 84,231, 64, 46,124,234, 16,249,
|
||||
/* 0x0340 */ 65,130, 0, 0, 75,255,255,157,125, 8, 65, 21, 75,255,255,149,
|
||||
/* 0x0350 */ 125, 8, 65, 21, 56,224, 0, 1, 64,130, 0, 28, 56,224, 0, 3,
|
||||
/* 0x0310 */ 65,225,255,244, 56,224, 0, 1, 75,255,255,201,124,231, 57, 21,
|
||||
/* 0x0320 */ 75,255,255,193, 65,192,255,244, 52,231,255,253, 57, 0, 0, 0,
|
||||
/* 0x0330 */ 65,192, 0, 20,140, 67, 0, 1, 84,231, 64, 46,124,234, 16,249,
|
||||
/* 0x0340 */ 65,194, 0, 0, 75,255,255,157,125, 8, 65, 21, 75,255,255,149,
|
||||
/* 0x0350 */ 125, 8, 65, 21, 56,224, 0, 1, 64,194, 0, 28, 56,224, 0, 3,
|
||||
/* 0x0360 */ 57, 0, 0, 1, 75,255,255,125,125, 8, 65, 21, 75,255,255,117,
|
||||
/* 0x0370 */ 65,160,255,244, 32, 74,242,255,125, 8, 57, 20,124,234, 42, 20,
|
||||
/* 0x0380 */ 125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248,
|
||||
/* 0x0370 */ 65,192,255,244, 32, 74,242,255,125, 8, 57, 20,124,234, 42, 20,
|
||||
/* 0x0380 */ 125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248,
|
||||
/* 0x0390 */ 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44, 75,255,255,112,
|
||||
/* 0x03a0 */ 40, 7, 0, 14, 64,130, 0, 32,124, 8, 2,166,124,201, 51,120,
|
||||
/* 0x03a0 */ 40, 7, 0, 14, 64,130, 0, 0,124, 8, 2,166,124,201, 51,120,
|
||||
/* 0x03b0 */ 129, 6, 0, 0,124,167, 43,120, 56,164,255,254, 56,131, 0, 2,
|
||||
/* 0x03c0 */ 144, 1, 0, 8,136, 3, 0, 0, 84, 11,232,254, 84, 2, 7,126,
|
||||
/* 0x03d0 */ 56, 96,250, 0,124, 99, 88, 48, 56, 99,241,124,124, 38, 11,120,
|
||||
@ -422,9 +422,9 @@ unsigned char stub_powerpc_darwin_dylib_entry[8985] = {
|
||||
/* 0x17f0 */ 56,192, 16, 2, 56,224,255,255, 57, 0, 0, 0, 57, 32, 0, 0,
|
||||
/* 0x1800 */ 56, 0, 0,197, 68, 0, 0, 2, 56, 96,255,255,124,124, 27,120,
|
||||
/* 0x1810 */ 56,160, 1,136,124,169, 3,166,124,131,234, 20,124,117,250, 20,
|
||||
/* 0x1820 */ 140, 3,255,255,156, 4,255,255, 66, 0,255,248,124,165,232, 80,
|
||||
/* 0x1820 */ 140, 3,255,255,156, 4,255,255, 67, 32,255,248,124,165,232, 80,
|
||||
/* 0x1830 */ 124,136, 3,166,124,169, 3,166, 78,128, 0, 32,140, 3,255,255,
|
||||
/* 0x1840 */ 156, 4,255,255, 66, 0,255,248,131,223,255,232,127,227,248, 80,
|
||||
/* 0x1840 */ 156, 4,255,255, 67, 32,255,248,131,223,255,232,127,227,248, 80,
|
||||
/* 0x1850 */ 127,228,250, 20,127,222, 26, 20,128, 95,255,236,127, 68, 18, 20,
|
||||
/* 0x1860 */ 127, 99, 18, 20, 59,123,255,232,128, 90, 0, 4, 59, 90, 0, 12,
|
||||
/* 0x1870 */ 127, 90, 18, 20,127, 88,211,120,127,121,219,120, 56,122, 0, 0,
|
||||
@ -438,16 +438,16 @@ unsigned char stub_powerpc_darwin_dylib_entry[8985] = {
|
||||
/* 0x18f0 */ 68, 0, 0, 2, 56, 96,255,255,184, 65, 0, 0, 56, 33, 0,120,
|
||||
/* 0x1900 */ 124, 72, 3,166, 78,128, 4, 32, 56, 64, 0, 6,124,104, 2,166,
|
||||
/* 0x1910 */ 56, 99, 0, 24,124, 73, 3,166,132, 67,255,252,148, 89,255,252,
|
||||
/* 0x1920 */ 66, 0,255,248,127, 40, 3,166,127,201, 3,166,127,131,227,120,
|
||||
/* 0x1920 */ 67, 32,255,248,127, 40, 3,166,127,201, 3,166,127,131,227,120,
|
||||
/* 0x1930 */ 127,164,235,120, 56, 0, 0, 73, 78,128, 0, 32,136, 67, 0, 3,
|
||||
/* 0x1940 */ 137, 99, 0, 2, 81, 98, 68, 46,137, 99, 0, 1, 81, 98,130, 30,
|
||||
/* 0x1950 */ 137, 99, 0, 0, 81, 98,192, 14,124, 67, 19,121, 78,128, 0, 32,
|
||||
/* 0x1960 */ 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191, 77,130, 0, 32,
|
||||
/* 0x1960 */ 40, 6, 0,208, 76,194, 0, 32, 84,132,240,191, 77,194, 0, 32,
|
||||
/* 0x1970 */ 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,124, 4, 3,120,
|
||||
/* 0x1980 */ 56,165, 1, 32,124,103, 27,120, 56, 99,255,252,124,137, 3,166,
|
||||
/* 0x1990 */ 72, 0, 0, 28, 84, 75, 2,186,125, 99, 88, 80,125,107, 58, 20,
|
||||
/* 0x19a0 */ 81, 98, 1,186,144, 67, 0, 0, 78, 64, 0, 32,132, 67, 0, 4,
|
||||
/* 0x19b0 */ 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220, 66, 0,255,240,
|
||||
/* 0x19a0 */ 81, 98, 1,186,144, 67, 0, 0, 79, 64, 0, 32,132, 67, 0, 4,
|
||||
/* 0x19b0 */ 84, 75, 85,190,124, 11, 40, 64, 65,194,255,220, 67, 32,255,240,
|
||||
/* 0x19c0 */ 78,128, 0, 32, 75,255,254, 0,102,105,108,101, 32,102,111,114,
|
||||
/* 0x19d0 */ 109, 97,116, 32,101,108,102, 51, 50, 45,112,111,119,101,114,112,
|
||||
/* 0x19e0 */ 99, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120,
|
||||
|
||||
@ -32,69 +32,69 @@
|
||||
|
||||
|
||||
#define STUB_POWERPC_DARWIN_MACHO_ENTRY_SIZE 8549
|
||||
#define STUB_POWERPC_DARWIN_MACHO_ENTRY_ADLER32 0x454db8d1
|
||||
#define STUB_POWERPC_DARWIN_MACHO_ENTRY_CRC32 0xbc96c9ce
|
||||
#define STUB_POWERPC_DARWIN_MACHO_ENTRY_ADLER32 0x5248bfe2
|
||||
#define STUB_POWERPC_DARWIN_MACHO_ENTRY_CRC32 0xeed36188
|
||||
|
||||
unsigned char stub_powerpc_darwin_macho_entry[8549] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 24,188, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0030 */ 0, 22, 0, 19, 72, 0, 0, 73,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x0020 */ 0, 0, 25,240, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0030 */ 0, 22, 0, 19, 72, 0, 0, 1,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x0040 */ 40, 7, 0, 8, 64,130, 1, 60,144,166, 0, 0,124,132, 26, 20,
|
||||
/* 0x0050 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255,
|
||||
/* 0x0060 */ 57, 64,255,255, 72, 0, 1, 12, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x0070 */ 56, 99, 0, 4,124, 9, 0, 64,125, 41, 72, 20, 97, 41, 0, 1,
|
||||
/* 0x0080 */ 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1,124, 9, 0, 64,
|
||||
/* 0x0090 */ 125, 41, 74, 20, 65,162,255,213, 65,129,255,236, 56,224, 0, 1,
|
||||
/* 0x00a0 */ 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21, 65,162,255,189,
|
||||
/* 0x00b0 */ 124,231, 57, 20,125, 41, 72, 21, 65,162,255,177,124,231, 57, 20,
|
||||
/* 0x00c0 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255,161, 65,160,255,216,
|
||||
/* 0x00d0 */ 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46, 65,128, 0, 32,
|
||||
/* 0x00e0 */ 140, 67, 0, 1,124,234, 16,249,125, 74, 14,112, 65,130, 0, 0,
|
||||
/* 0x00f0 */ 112, 66, 0, 1, 65,162, 0, 80, 72, 0, 0, 20,124, 9, 0, 64,
|
||||
/* 0x0100 */ 125, 41, 74, 20, 65,162,255,101, 65,161, 0, 60, 57, 0, 0, 1,
|
||||
/* 0x0110 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 81, 65,161, 0, 40,
|
||||
/* 0x0120 */ 125, 41, 72, 21, 65,162,255, 69,125, 8, 65, 20,124, 9, 0, 64,
|
||||
/* 0x0130 */ 125, 41, 74, 20, 65,162,255, 53, 65,160,255,232, 57, 8, 0, 2,
|
||||
/* 0x0140 */ 72, 0, 0, 16,125, 41, 72, 21, 65,162,255, 33,125, 8, 65, 20,
|
||||
/* 0x0090 */ 125, 41, 74, 20, 65,194,255,213, 65,225,255,236, 56,224, 0, 1,
|
||||
/* 0x00a0 */ 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21, 65,194,255,189,
|
||||
/* 0x00b0 */ 124,231, 57, 20,125, 41, 72, 21, 65,194,255,177,124,231, 57, 20,
|
||||
/* 0x00c0 */ 124, 9, 0, 64,125, 41, 74, 20, 65,194,255,161, 65,192,255,216,
|
||||
/* 0x00d0 */ 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46, 65,192, 0, 32,
|
||||
/* 0x00e0 */ 140, 67, 0, 1,124,234, 16,249,125, 74, 14,112, 65,194, 0, 0,
|
||||
/* 0x00f0 */ 112, 66, 0, 1, 65,226, 0, 80, 72, 0, 0, 20,124, 9, 0, 64,
|
||||
/* 0x0100 */ 125, 41, 74, 20, 65,194,255,101, 65,225, 0, 60, 57, 0, 0, 1,
|
||||
/* 0x0110 */ 124, 9, 0, 64,125, 41, 74, 20, 65,194,255, 81, 65,225, 0, 40,
|
||||
/* 0x0120 */ 125, 41, 72, 21, 65,194,255, 69,125, 8, 65, 20,124, 9, 0, 64,
|
||||
/* 0x0130 */ 125, 41, 74, 20, 65,194,255, 53, 65,192,255,232, 57, 8, 0, 2,
|
||||
/* 0x0140 */ 72, 0, 0, 16,125, 41, 72, 21, 65,194,255, 33,125, 8, 65, 20,
|
||||
/* 0x0150 */ 32,234,250,255, 57, 8, 0, 2,125, 8, 1,148,124,234, 42, 20,
|
||||
/* 0x0160 */ 125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248,
|
||||
/* 0x0160 */ 125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248,
|
||||
/* 0x0170 */ 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44, 75,255,255, 16,
|
||||
/* 0x0180 */ 124, 0, 41,236,125,168, 2,166, 40, 7, 0, 5, 64,130, 1, 32,
|
||||
/* 0x0190 */ 144,166, 0, 0,124,132, 26, 20, 60, 0,128, 0, 61, 32,128, 0,
|
||||
/* 0x01a0 */ 56, 99,255,255, 56,165,255,255, 57, 64,255,255, 72, 0, 0,240,
|
||||
/* 0x01b0 */ 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,124, 9, 0, 64,
|
||||
/* 0x01c0 */ 125, 41, 72, 20, 97, 41, 0, 1, 78,128, 0, 32,141, 3, 0, 1,
|
||||
/* 0x01d0 */ 157, 5, 0, 1,124, 9, 0, 64,125, 41, 74, 20, 65,162,255,213,
|
||||
/* 0x01e0 */ 65,129,255,236, 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,
|
||||
/* 0x01f0 */ 125, 41, 72, 21, 65,162,255,189,124,231, 57, 21,125, 41, 72, 21,
|
||||
/* 0x0200 */ 65,162,255,177,124,231, 57, 21,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0210 */ 65,162,255,161, 65,160,255,216, 57, 0, 0, 0, 52,231,255,253,
|
||||
/* 0x0220 */ 84,231, 64, 46, 65,128, 0, 24,140, 67, 0, 1,124,234, 16,249,
|
||||
/* 0x0230 */ 125, 74, 14,112, 65,130, 0, 0, 72, 0, 0, 12,125, 41, 72, 21,
|
||||
/* 0x0240 */ 65,162,255,113,125, 8, 65, 21,125, 41, 72, 21, 65,162,255,101,
|
||||
/* 0x01d0 */ 157, 5, 0, 1,124, 9, 0, 64,125, 41, 74, 20, 65,194,255,213,
|
||||
/* 0x01e0 */ 65,225,255,236, 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,
|
||||
/* 0x01f0 */ 125, 41, 72, 21, 65,194,255,189,124,231, 57, 21,125, 41, 72, 21,
|
||||
/* 0x0200 */ 65,194,255,177,124,231, 57, 21,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0210 */ 65,194,255,161, 65,192,255,216, 57, 0, 0, 0, 52,231,255,253,
|
||||
/* 0x0220 */ 84,231, 64, 46, 65,192, 0, 24,140, 67, 0, 1,124,234, 16,249,
|
||||
/* 0x0230 */ 125, 74, 14,112, 65,194, 0, 0, 72, 0, 0, 12,125, 41, 72, 21,
|
||||
/* 0x0240 */ 65,194,255,113,125, 8, 65, 21,125, 41, 72, 21, 65,194,255,101,
|
||||
/* 0x0250 */ 125, 8, 65, 21, 64,130, 0, 40, 57, 0, 0, 1,125, 41, 72, 21,
|
||||
/* 0x0260 */ 65,162,255, 81,125, 8, 65, 21,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0270 */ 65,162,255, 65, 65,160,255,232, 57, 8, 0, 2, 32,234,250,255,
|
||||
/* 0x0260 */ 65,194,255, 81,125, 8, 65, 21,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0270 */ 65,194,255, 65, 65,192,255,232, 57, 8, 0, 2, 32,234,250,255,
|
||||
/* 0x0280 */ 57, 8, 0, 1,125, 8, 1,148,124,234, 42, 20,125, 9, 3,166,
|
||||
/* 0x0290 */ 141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248, 56,224, 1, 0,
|
||||
/* 0x0290 */ 141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248, 56,224, 1, 0,
|
||||
/* 0x02a0 */ 124, 7, 41,236,124, 7, 26, 44, 75,255,255, 44,124, 0, 41,236,
|
||||
/* 0x02b0 */ 125,168, 2,166, 40, 7, 0, 2, 64,130, 0,228,144,166, 0, 0,
|
||||
/* 0x02c0 */ 124,132, 26, 20, 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255,
|
||||
/* 0x02d0 */ 56,165,255,255, 57, 64,255,255, 72, 0, 0,180,124, 9, 0, 64,
|
||||
/* 0x02e0 */ 125, 41, 72, 20, 76,162, 0, 32, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x02e0 */ 125, 41, 72, 20, 76,226, 0, 32, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x02f0 */ 56, 99, 0, 4,124, 9, 0, 64,125, 41, 73, 20, 78,128, 0, 32,
|
||||
/* 0x0300 */ 141, 3, 0, 1,157, 5, 0, 1, 75,255,255,213, 65,129,255,244,
|
||||
/* 0x0300 */ 141, 3, 0, 1,157, 5, 0, 1, 75,255,255,213, 65,225,255,244,
|
||||
/* 0x0310 */ 56,224, 0, 1, 75,255,255,201,124,231, 57, 21, 75,255,255,193,
|
||||
/* 0x0320 */ 65,160,255,244, 52,231,255,253, 57, 0, 0, 0, 65,128, 0, 20,
|
||||
/* 0x0330 */ 140, 67, 0, 1, 84,231, 64, 46,124,234, 16,249, 65,130, 0, 0,
|
||||
/* 0x0320 */ 65,192,255,244, 52,231,255,253, 57, 0, 0, 0, 65,192, 0, 20,
|
||||
/* 0x0330 */ 140, 67, 0, 1, 84,231, 64, 46,124,234, 16,249, 65,194, 0, 0,
|
||||
/* 0x0340 */ 75,255,255,157,125, 8, 65, 21, 75,255,255,149,125, 8, 65, 21,
|
||||
/* 0x0350 */ 56,224, 0, 1, 64,130, 0, 28, 56,224, 0, 3, 57, 0, 0, 1,
|
||||
/* 0x0360 */ 75,255,255,125,125, 8, 65, 21, 75,255,255,117, 65,160,255,244,
|
||||
/* 0x0350 */ 56,224, 0, 1, 64,194, 0, 28, 56,224, 0, 3, 57, 0, 0, 1,
|
||||
/* 0x0360 */ 75,255,255,125,125, 8, 65, 21, 75,255,255,117, 65,192,255,244,
|
||||
/* 0x0370 */ 32, 74,242,255,125, 8, 57, 20,124,234, 42, 20,125, 9, 3,166,
|
||||
/* 0x0380 */ 141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248, 56,224, 1, 0,
|
||||
/* 0x0380 */ 141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248, 56,224, 1, 0,
|
||||
/* 0x0390 */ 124, 7, 41,236,124, 7, 26, 44, 75,255,255,112, 40, 7, 0, 14,
|
||||
/* 0x03a0 */ 64,130, 0, 32,124, 8, 2,166,124,201, 51,120,129, 6, 0, 0,
|
||||
/* 0x03a0 */ 64,130, 0, 0,124, 8, 2,166,124,201, 51,120,129, 6, 0, 0,
|
||||
/* 0x03b0 */ 124,167, 43,120, 56,164,255,254, 56,131, 0, 2,144, 1, 0, 8,
|
||||
/* 0x03c0 */ 136, 3, 0, 0, 84, 11,232,254, 84, 2, 7,126, 56, 96,250, 0,
|
||||
/* 0x03d0 */ 124, 99, 88, 48, 56, 99,241,124,124, 38, 11,120,124, 33, 26, 20,
|
||||
@ -418,7 +418,7 @@ unsigned char stub_powerpc_darwin_macho_entry[8549] = {
|
||||
/* 0x17b0 */ 65,128,255,240,124, 0, 4,172, 76, 0, 1, 44, 78,128, 0, 32,
|
||||
/* 0x17c0 */ 124, 72, 2,166,128,130, 0, 8,124,137, 3,166,128,194, 0, 4,
|
||||
/* 0x17d0 */ 136,226, 0, 12,124,164, 18, 20, 56,165, 0, 16,124,102, 18, 20,
|
||||
/* 0x17e0 */ 56, 99, 0,192,140, 5,255,255,156, 3,255,255, 66, 0,255,248,
|
||||
/* 0x17e0 */ 56, 99, 0,192,140, 5,255,255,156, 3,255,255, 67, 32,255,248,
|
||||
/* 0x17f0 */ 127,233, 3,166, 56,162, 0,128,144,193,255,252, 56,193,255,252,
|
||||
/* 0x1800 */ 56, 33,255,232, 78,128, 4, 32,127,232, 2,166, 75,255,255,181,
|
||||
/* 0x1810 */ 72, 0, 0,128,102,105,108,101, 32,102,111,114,109, 97,116, 32,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/* powerpc-darwin.macho-fold.h
|
||||
created from powerpc-darwin.macho-fold.bin, 1664 (0x680) bytes
|
||||
created from powerpc-darwin.macho-fold.bin, 1832 (0x728) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@ -31,22 +31,22 @@
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_POWERPC_DARWIN_MACHO_FOLD_SIZE 1664
|
||||
#define STUB_POWERPC_DARWIN_MACHO_FOLD_ADLER32 0x2e3a279d
|
||||
#define STUB_POWERPC_DARWIN_MACHO_FOLD_CRC32 0xf61322eb
|
||||
#define STUB_POWERPC_DARWIN_MACHO_FOLD_SIZE 1832
|
||||
#define STUB_POWERPC_DARWIN_MACHO_FOLD_ADLER32 0xef088ea2
|
||||
#define STUB_POWERPC_DARWIN_MACHO_FOLD_CRC32 0xb12113dd
|
||||
|
||||
unsigned char stub_powerpc_darwin_macho_fold[1664] = {
|
||||
/* 0x0000 */ 72, 0, 0,105, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191,
|
||||
/* 0x0010 */ 77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,
|
||||
unsigned char stub_powerpc_darwin_macho_fold[1832] = {
|
||||
/* 0x0000 */ 72, 0, 0,105, 40, 6, 0,208, 76,194, 0, 32, 84,132,240,191,
|
||||
/* 0x0010 */ 77,194, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,
|
||||
/* 0x0020 */ 124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252,
|
||||
/* 0x0030 */ 124,137, 3,166, 72, 0, 0, 28, 84, 75, 2,186,125, 99, 88, 80,
|
||||
/* 0x0040 */ 125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 78, 64, 0, 32,
|
||||
/* 0x0050 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220,
|
||||
/* 0x0060 */ 66, 0,255,240, 78,128, 0, 32, 56, 33, 0, 24, 57, 32, 0, 0,
|
||||
/* 0x0040 */ 125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 79, 64, 0, 32,
|
||||
/* 0x0050 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,194,255,220,
|
||||
/* 0x0060 */ 67, 32,255,240, 78,128, 0, 32, 56, 33, 0, 24, 57, 32, 0, 0,
|
||||
/* 0x0070 */ 149, 33,255,252,124, 41, 11,120,125, 8, 2,166,128,159,255,248,
|
||||
/* 0x0080 */ 124,100,248, 80,128,195, 0, 24, 40, 6, 8, 0, 65,129, 0, 8,
|
||||
/* 0x0090 */ 56,192, 8, 0,124, 61, 11,120,124, 38, 8, 80,124, 37, 11,120,
|
||||
/* 0x00a0 */ 56, 33,255,232,127,231,251,120, 72, 0, 4, 61,127,161,235,120,
|
||||
/* 0x00a0 */ 56, 33,255,232,127,231,251,120, 72, 0, 4, 45,127,161,235,120,
|
||||
/* 0x00b0 */ 128, 67, 0, 0,124, 73, 3,166,128, 67, 0,136,124, 79,241, 32,
|
||||
/* 0x00c0 */ 128, 67, 0,140,124, 65, 3,166,128, 67, 0,144,124, 72, 3,166,
|
||||
/* 0x00d0 */ 184,131, 0, 24,128, 3, 0, 8,128, 67, 0, 16,128, 99, 0, 20,
|
||||
@ -55,89 +55,100 @@ unsigned char stub_powerpc_darwin_macho_fold[1664] = {
|
||||
/* 0x0100 */ 68, 0, 0, 2, 56, 96,255,255, 78,128, 0, 32, 56, 0, 0, 1,
|
||||
/* 0x0110 */ 75,255,255,240, 56, 0, 0, 3, 75,255,255,232, 56, 0, 0, 5,
|
||||
/* 0x0120 */ 75,255,255,224, 56, 0, 0, 6, 75,255,255,216, 56, 0, 0, 74,
|
||||
/* 0x0130 */ 75,255,255,208,124, 8, 2,166,148, 33,255,240,144, 1, 0, 20,
|
||||
/* 0x0140 */ 128, 3, 0, 0,129, 35, 0, 4,127,128, 40, 64, 64,188, 0, 12,
|
||||
/* 0x0150 */ 56, 96, 0,127, 75,255,255,185, 47,133, 0, 0, 65,158, 0, 28,
|
||||
/* 0x0160 */ 124,169, 3,166,136, 9, 0, 0, 57, 41, 0, 1,152, 4, 0, 0,
|
||||
/* 0x0170 */ 56,132, 0, 1, 66, 0,255,240,128, 3, 0, 0,129, 35, 0, 4,
|
||||
/* 0x0180 */ 124, 5, 0, 80,144, 3, 0, 0,128, 1, 0, 20,125, 41, 42, 20,
|
||||
/* 0x0190 */ 124, 8, 3,166, 56, 33, 0, 16,145, 35, 0, 4, 78,128, 0, 32,
|
||||
/* 0x01a0 */ 124, 8, 2,166,148, 33,255,192,144, 1, 0, 68,128, 4, 0, 0,
|
||||
/* 0x01b0 */ 191,129, 0, 48, 47,128, 0, 0,124,159, 35,120,124,126, 27,120,
|
||||
/* 0x01c0 */ 124,188, 43,120,124,221, 51,120, 65,158, 1, 36, 56,160, 0, 12,
|
||||
/* 0x01d0 */ 127,195,243,120, 56,129, 0, 16, 75,255,255, 93,129, 33, 0, 16,
|
||||
/* 0x01e0 */ 128,161, 0, 20, 47,137, 0, 0, 64,190, 0, 36, 60, 0, 33, 88,
|
||||
/* 0x01f0 */ 96, 0, 80, 85,127,133, 0, 0, 64,190, 0, 28,128, 30, 0, 0,
|
||||
/* 0x0200 */ 47,128, 0, 0, 65,190, 0,232, 72, 0, 0, 12, 47,133, 0, 0,
|
||||
/* 0x0210 */ 64,190, 0, 12, 56, 96, 0,127, 75,255,254,245,127, 5, 72, 64,
|
||||
/* 0x0220 */ 65,185,255,244,128, 31, 0, 0,127,137, 0, 64, 65,189,255,232,
|
||||
/* 0x0230 */ 128, 31, 0, 4, 64,152, 0,136,124,164, 43,120,128,126, 0, 4,
|
||||
/* 0x0240 */ 124, 5, 3,120, 56,193, 0, 32,136,225, 0, 24,145, 33, 0, 32,
|
||||
/* 0x0250 */ 127,136, 3,166, 78,128, 0, 33, 47,131, 0, 0, 64,190,255,184,
|
||||
/* 0x0260 */ 128,129, 0, 32,128, 1, 0, 16,127,132, 0, 0, 64,190,255,168,
|
||||
/* 0x0270 */ 136,193, 0, 25, 49, 61,255,255,124, 9,233, 16,125, 38, 0,208,
|
||||
/* 0x0280 */ 85, 41, 15,254,125, 43, 0, 57, 65,162, 0, 20,128,127, 0, 4,
|
||||
/* 0x0290 */ 136,161, 0, 26,127,168, 3,166, 78,128, 0, 33,128, 30, 0, 4,
|
||||
/* 0x02a0 */ 129, 97, 0, 20,129, 62, 0, 0,124, 0, 90, 20,125, 43, 72, 80,
|
||||
/* 0x02b0 */ 144, 30, 0, 4,145, 62, 0, 0, 72, 0, 0, 16,124, 4, 3,120,
|
||||
/* 0x02c0 */ 127,195,243,120, 75,255,254,113,129, 97, 0, 16,129, 63, 0, 0,
|
||||
/* 0x02d0 */ 128, 31, 0, 4,125, 43, 72, 80, 47,137, 0, 0,124, 0, 90, 20,
|
||||
/* 0x02e0 */ 144, 31, 0, 4,145, 63, 0, 0, 75,255,254,224,128, 1, 0, 68,
|
||||
/* 0x02f0 */ 187,129, 0, 48,124, 8, 3,166, 56, 33, 0, 64, 78,128, 0, 32,
|
||||
/* 0x0300 */ 124, 8, 2,166,148, 33,255,176,144, 1, 0, 84,128, 3, 0, 16,
|
||||
/* 0x0310 */ 190, 65, 0, 24, 58,224, 0, 0,125,128, 0, 38,127,151, 0, 64,
|
||||
/* 0x0320 */ 145,129, 0, 20,124,122, 27,120,124,146, 35,120,124,187, 43,120,
|
||||
/* 0x0330 */ 124,211, 51,120,124,244, 59,120,125, 21, 67,120,125, 54, 75,120,
|
||||
/* 0x0340 */ 59,195, 0, 28, 59, 0, 0, 0, 64,156, 1,124,129, 62, 0, 0,
|
||||
/* 0x0350 */ 47,137, 0, 1, 64,190, 1, 48,129, 62, 0, 24,129,126, 0, 36,
|
||||
/* 0x0360 */ 85, 61, 5, 62,127,139,234, 20, 46, 28, 0, 0,128, 30, 0, 28,
|
||||
/* 0x0370 */ 145, 97, 0, 8,127, 41, 2, 20,145, 33, 0, 12,127,253, 72, 80,
|
||||
/* 0x0380 */ 65,146, 0, 76, 47,155, 0, 0, 64,190, 0, 16, 47,139, 0, 0,
|
||||
/* 0x0390 */ 56,192, 0, 18, 64,158, 0, 8, 56,192, 16, 18, 47,139, 0, 0,
|
||||
/* 0x03a0 */ 126,103,155,120, 64,158, 0, 8, 56,224,255,255,129, 30, 0, 32,
|
||||
/* 0x03b0 */ 127,227,251,120,125, 8,146, 20,127,132,227,120, 56,160, 0, 3,
|
||||
/* 0x03c0 */ 75,255,253, 53,127,159, 24, 0, 64,158, 0,124, 47,155, 0, 0,
|
||||
/* 0x03d0 */ 65,158, 0, 52,128, 30, 0, 36, 47,128, 0, 0, 65,158, 0, 40,
|
||||
/* 0x03e0 */ 128, 30, 0, 32, 47,128, 0, 0, 64,158, 0, 8,147,244, 0, 0,
|
||||
/* 0x03f0 */ 127, 99,219,120, 56,129, 0, 8,126,165,171,120,126,198,179,120,
|
||||
/* 0x0400 */ 75,255,253,161,124, 28, 0,208,112, 29, 15,255,125, 63,226, 20,
|
||||
/* 0x0410 */ 65,130, 0, 24,127,169, 3,166, 56, 0, 0, 0,152, 9, 0, 0,
|
||||
/* 0x0420 */ 57, 41, 0, 1, 66, 0,255,248, 65,178, 0, 36,128,190, 0, 44,
|
||||
/* 0x0430 */ 127,227,251,120,127,132,227,120, 75,255,252,245, 47,131, 0, 0,
|
||||
/* 0x0440 */ 65,190, 0, 12, 56, 96, 0,127, 75,255,252,197,124, 28,234, 20,
|
||||
/* 0x0450 */ 127,255, 2, 20,127,159,200, 64, 64,188, 0, 84,128,190, 0, 44,
|
||||
/* 0x0460 */ 124,159,200, 80,127,227,251,120, 56,192, 16, 18, 56,224,255,255,
|
||||
/* 0x0470 */ 57, 0, 0, 0, 75,255,252,129,127,159, 24, 0, 65,190, 0, 48,
|
||||
/* 0x0480 */ 75,255,255,196, 56, 9,255,252, 43,128, 0, 1, 65,157, 0, 32,
|
||||
/* 0x0490 */ 128, 30, 0, 8, 47,128, 0, 1, 64,190, 0, 20,128, 30, 0, 12,
|
||||
/* 0x04a0 */ 47,128, 0, 40, 64,190, 0, 8, 58,254, 0, 16,128, 26, 0, 16,
|
||||
/* 0x04b0 */ 59, 24, 0, 1,127,152, 0, 64,128, 30, 0, 4,127,222, 2, 20,
|
||||
/* 0x04c0 */ 75,255,254,136,128, 1, 0, 84,129,129, 0, 20,126,227,187,120,
|
||||
/* 0x04d0 */ 124, 8, 3,166,186, 65, 0, 24,125,128,129, 32, 56, 33, 0, 80,
|
||||
/* 0x04e0 */ 78,128, 0, 32,148, 33,255,192,144,129, 0, 8,124, 8, 2,166,
|
||||
/* 0x04f0 */ 129, 97, 0, 8,144, 1, 0, 68, 57,107,255,232, 56, 3, 0, 24,
|
||||
/* 0x0500 */ 145, 97, 0, 16,144, 1, 0, 20,191, 97, 0, 44,128, 3, 0, 24,
|
||||
/* 0x0510 */ 129, 65, 0, 20,125, 60, 75,120,129, 33, 0, 16,124,191, 43,120,
|
||||
/* 0x0520 */ 125, 27, 67,120,124,253, 59,120,124,229, 59,120, 56, 97, 0, 16,
|
||||
/* 0x0530 */ 56,129, 0, 24,124,222, 51,120, 56,192, 0, 0,145, 65, 0, 36,
|
||||
/* 0x0540 */ 144, 1, 0, 24,145, 33, 0, 32,147,225, 0, 28, 75,255,252, 85,
|
||||
/* 0x0550 */ 127,105,219,120,127,135,227,120,127,227,251,120,127,168,235,120,
|
||||
/* 0x0560 */ 56,128, 0, 0, 56,161, 0, 32, 56,192,255,255, 75,255,253,149,
|
||||
/* 0x0570 */ 129, 95, 0, 16, 57, 96, 0, 0,127,139, 80, 64,124,124, 27,120,
|
||||
/* 0x0580 */ 59, 96, 0, 0, 57, 63, 0, 28, 64,156, 0,224,128, 9, 0, 0,
|
||||
/* 0x0590 */ 57,107, 0, 1, 47,128, 0, 14,127, 11, 80, 64, 64,190, 0,192,
|
||||
/* 0x05a0 */ 128,105, 0, 8, 56,128, 0, 0,124,105, 26, 20, 56,160, 0, 0,
|
||||
/* 0x05b0 */ 75,255,251,109,124,125, 27,121, 65,128, 0, 32,127,163,235,120,
|
||||
/* 0x05c0 */ 127,228,251,120,127,197,243,120,127,102,219,120, 75,255,251, 25,
|
||||
/* 0x05d0 */ 127,158, 24, 0, 65,190, 0, 20, 56, 96, 0,127, 75,255,251, 49,
|
||||
/* 0x05e0 */ 131,105, 0, 8, 75,255,255,216,128, 31, 0, 0, 61, 32,202,254,
|
||||
/* 0x05f0 */ 97, 41,186,190,127,128, 72, 0, 64,158, 0, 52,129, 95, 0, 4,
|
||||
/* 0x0600 */ 57, 96, 0, 0,127,139, 80, 64, 57, 63, 0, 8, 64,156, 0, 32,
|
||||
/* 0x0610 */ 128, 9, 0, 0, 57,107, 0, 1, 47,128, 0, 18,127, 11, 80, 64,
|
||||
/* 0x0620 */ 65,190,255,192, 57, 41, 0, 20, 65,152,255,232,127,227,251,120,
|
||||
/* 0x0630 */ 127,100,219,120, 56,160, 0, 0,127,166,235,120, 56,224, 0, 0,
|
||||
/* 0x0640 */ 57, 0, 0, 0, 57, 32, 0, 0, 75,255,252,185,124,124, 27,120,
|
||||
/* 0x0650 */ 127,163,235,120, 75,255,250,209, 72, 0, 0, 16,128, 9, 0, 4,
|
||||
/* 0x0660 */ 125, 41, 2, 20, 65,152,255, 40,128, 1, 0, 68,127,131,227,120,
|
||||
/* 0x0670 */ 124, 8, 3,166,187, 97, 0, 44, 56, 33, 0, 64, 78,128, 0, 32
|
||||
/* 0x0130 */ 75,255,255,208,129, 35, 0, 0,129, 67, 0, 4,127,137, 40, 64,
|
||||
/* 0x0140 */ 65,220, 0, 20, 57, 5, 0, 1, 57, 32, 0, 0,125, 9, 3,166,
|
||||
/* 0x0150 */ 72, 0, 0, 24,148, 33,255,240,124, 8, 2,166, 56, 96, 0,127,
|
||||
/* 0x0160 */ 144, 1, 0, 20, 75,255,255,169, 66, 64, 0, 20,125, 10, 72,174,
|
||||
/* 0x0170 */ 125, 4, 73,174, 57, 41, 0, 1, 75,255,255,240,129, 35, 0, 4,
|
||||
/* 0x0180 */ 125, 41, 42, 20,145, 35, 0, 4,129, 35, 0, 0,124,165, 72, 80,
|
||||
/* 0x0190 */ 144,163, 0, 0, 78,128, 0, 32,148, 33,255,192,125,128, 0, 38,
|
||||
/* 0x01a0 */ 124, 8, 2,166,145,129, 0, 44, 46, 6, 0, 0,144, 1, 0, 68,
|
||||
/* 0x01b0 */ 191,129, 0, 48,124,126, 27,120,124,159, 35,120,124,189, 43,120,
|
||||
/* 0x01c0 */ 124,220, 51,120,129, 63, 0, 0, 47,137, 0, 0, 65,222, 1, 16,
|
||||
/* 0x01d0 */ 56,160, 0, 12, 56,129, 0, 8,127,195,243,120, 75,255,255, 89,
|
||||
/* 0x01e0 */ 129, 65, 0, 8,129, 33, 0, 12, 47,138, 0, 0, 64,254, 0, 32,
|
||||
/* 0x01f0 */ 109, 36, 33, 88, 47,132, 80, 85, 64,158, 0, 28,129, 62, 0, 0,
|
||||
/* 0x0200 */ 47,137, 0, 0, 65,254, 0,216, 72, 0, 0, 12, 47,137, 0, 0,
|
||||
/* 0x0210 */ 64,254, 0, 12, 56, 96, 0,127, 75,255,254,245,126,138, 72, 64,
|
||||
/* 0x0220 */ 65,212,255,244,129, 31, 0, 0,127,138, 64, 64, 65,221,255,232,
|
||||
/* 0x0230 */ 128,159, 0, 4, 64,213, 0,124,124,133, 35,120,145, 65, 0, 20,
|
||||
/* 0x0240 */ 56,193, 0, 20,127,169, 3,166,136,225, 0, 16,125, 36, 75,120,
|
||||
/* 0x0250 */ 128,126, 0, 4, 78,128, 4, 33, 47,131, 0, 0, 64,222,255,184,
|
||||
/* 0x0260 */ 128,129, 0, 8,129, 33, 0, 20,127,132, 72, 0, 64,222,255,168,
|
||||
/* 0x0270 */ 136,193, 0, 17, 47,134, 0, 0, 65,222, 0, 24, 65,210, 0, 20,
|
||||
/* 0x0280 */ 136,161, 0, 18,127,137, 3,166,128,127, 0, 4, 78,128, 4, 33,
|
||||
/* 0x0290 */ 129, 33, 0, 12,129, 94, 0, 4,125, 74, 74, 20,145, 94, 0, 4,
|
||||
/* 0x02a0 */ 129, 94, 0, 0,125, 41, 80, 80,145, 62, 0, 0, 72, 0, 0, 16,
|
||||
/* 0x02b0 */ 125, 37, 75,120,127,195,243,120, 75,255,254,125,129, 33, 0, 8,
|
||||
/* 0x02c0 */ 129, 95, 0, 4,125, 74, 74, 20,145, 95, 0, 4,129, 95, 0, 0,
|
||||
/* 0x02d0 */ 125, 41, 80, 80,145, 63, 0, 0, 75,255,254,236,129,129, 0, 44,
|
||||
/* 0x02e0 */ 57, 97, 0, 64,125,144,129, 32, 72, 0, 3,164,148, 33,255,144,
|
||||
/* 0x02f0 */ 125,128, 0, 38,124, 8, 2,166,145,129, 0, 44, 46, 5, 0, 0,
|
||||
/* 0x0300 */ 144, 1, 0,116,190, 1, 0, 48,124,122, 27,120,124,152, 35,120,
|
||||
/* 0x0310 */ 124,217, 51,120,124,246, 59,120,125, 21, 67,120,125, 52, 75,120,
|
||||
/* 0x0320 */ 59,227, 0, 28, 59,128, 0, 0, 59, 96, 0, 0,124,183, 43,120,
|
||||
/* 0x0330 */ 58, 96, 0, 0,129, 58, 0, 16,127,156, 72, 64, 64,220, 1,132,
|
||||
/* 0x0340 */ 129, 63, 0, 0, 43,137, 0, 1, 64,254, 1, 52,131,191, 0, 24,
|
||||
/* 0x0350 */ 130, 95, 0, 28,129, 63, 0, 36, 87,177, 0, 38,147,161, 0, 12,
|
||||
/* 0x0360 */ 126, 93,146, 20, 87,189, 5, 62,126, 29, 74, 20,145, 33, 0, 8,
|
||||
/* 0x0370 */ 45,144, 0, 0, 65,206, 1, 64, 47,137, 0, 0, 64,242, 0, 20,
|
||||
/* 0x0380 */ 65,222, 0, 32,127, 39,203,120, 56,192, 0, 18, 72, 0, 0, 28,
|
||||
/* 0x0390 */ 65,222, 0, 16,127, 39,203,120, 56,192, 16, 18, 72, 0, 0, 12,
|
||||
/* 0x03a0 */ 56,192, 16, 18, 56,224,255,255,129, 31, 0, 32, 56,160, 0, 3,
|
||||
/* 0x03b0 */ 126, 4,131,120,126, 35,139,120,125, 24, 66, 20, 75,255,253, 57,
|
||||
/* 0x03c0 */ 127,145, 24, 0, 65,254, 0, 12, 56, 96, 0,127, 75,255,253, 65,
|
||||
/* 0x03d0 */ 65,210, 0, 52,129, 63, 0, 36, 47,137, 0, 0, 65,222, 0, 40,
|
||||
/* 0x03e0 */ 129, 63, 0, 32, 47,137, 0, 0, 64,222, 0, 8,146, 54, 0, 0,
|
||||
/* 0x03f0 */ 126,134,163,120,126,165,171,120, 56,129, 0, 8,126,227,187,120,
|
||||
/* 0x0400 */ 75,255,253,153,127,176, 0,208,115,189, 15,255, 65,194, 0, 28,
|
||||
/* 0x0410 */ 127,169, 3,166,125, 81,130, 20, 57, 32, 0, 0,126,106, 73,174,
|
||||
/* 0x0420 */ 57, 41, 0, 1, 66, 0,255,248, 65,238, 0, 28,128,191, 0, 44,
|
||||
/* 0x0430 */ 126, 4,131,120,126, 35,139,120, 75,255,252,245, 47,131, 0, 0,
|
||||
/* 0x0440 */ 64,222,255,136,127,176,234, 20,127,209,234, 20,127,146,240, 64,
|
||||
/* 0x0450 */ 64,253, 0, 84,128,191, 0, 44, 57, 0, 0, 0, 56,224,255,255,
|
||||
/* 0x0460 */ 56,192, 16, 18,124,158,144, 80,127,195,243,120, 75,255,252,137,
|
||||
/* 0x0470 */ 127,158, 24, 0, 65,254, 0, 48, 75,255,255, 80, 57, 41,255,252,
|
||||
/* 0x0480 */ 43,137, 0, 1, 65,253, 0, 32,129, 63, 0, 8, 47,137, 0, 1,
|
||||
/* 0x0490 */ 64,254, 0, 20,129, 63, 0, 12, 47,137, 0, 40, 64,254, 0, 8,
|
||||
/* 0x04a0 */ 59,127, 0, 16,129, 63, 0, 4, 59,156, 0, 1,127,255, 74, 20,
|
||||
/* 0x04b0 */ 75,255,254,132, 64,242,255, 32, 59,160, 0, 0, 75,255,255,136,
|
||||
/* 0x04c0 */ 129,129, 0, 44, 57, 97, 0,112,127, 99,219,120,125,129,129, 32,
|
||||
/* 0x04d0 */ 72, 0, 1,140,148, 33,255,176,124, 8, 2,166,144,129, 0, 40,
|
||||
/* 0x04e0 */ 56,129, 0, 16,191, 97, 0, 60,125, 61, 75,120, 57, 35, 0, 24,
|
||||
/* 0x04f0 */ 145, 33, 0, 28,124,191, 43,120,124,254, 59,120,129, 33, 0, 40,
|
||||
/* 0x0500 */ 125, 27, 67,120,124,220, 51,120,144, 1, 0, 84, 56,192, 0, 0,
|
||||
/* 0x0510 */ 57, 41,255,232,129, 65, 0, 28,145, 33, 0, 24,129, 35, 0, 24,
|
||||
/* 0x0520 */ 56, 97, 0, 24,144,161, 0, 20,124,229, 59,120,145, 33, 0, 16,
|
||||
/* 0x0530 */ 129, 33, 0, 24,145, 65, 0, 12,145, 33, 0, 8, 75,255,252, 93,
|
||||
/* 0x0540 */ 127,105,219,120,127,167,235,120,127,200,243,120, 56,192,255,255,
|
||||
/* 0x0550 */ 56,161, 0, 8, 56,128, 0, 0,127,227,251,120, 75,255,253,145,
|
||||
/* 0x0560 */ 129, 95, 0, 16, 57, 63, 0, 28,124,125, 27,120, 57, 74, 0, 1,
|
||||
/* 0x0570 */ 125, 73, 3,166, 66, 64, 0,212,129, 73, 0, 0, 47,138, 0, 14,
|
||||
/* 0x0580 */ 64,254, 0,188,128,105, 0, 8, 56,160, 0, 0, 56,128, 0, 0,
|
||||
/* 0x0590 */ 124,105, 26, 20, 75,255,251,137,124,126, 27,121, 65,192, 0, 96,
|
||||
/* 0x05a0 */ 63, 96,202,254, 59,160, 0, 0, 99,123,186,190, 72, 0, 0, 52,
|
||||
/* 0x05b0 */ 129, 63, 0, 0,127,137,216, 0, 64,222, 0, 84,129, 63, 0, 4,
|
||||
/* 0x05c0 */ 57, 95, 0, 8, 57, 41, 0, 1,125, 41, 3,166, 66, 64, 0, 64,
|
||||
/* 0x05d0 */ 129, 42, 0, 0, 47,137, 0, 18, 64,254, 0, 44,131,170, 0, 8,
|
||||
/* 0x05e0 */ 127,166,235,120,127,133,227,120,127,228,251,120,127,195,243,120,
|
||||
/* 0x05f0 */ 75,255,250,245,127,131,224, 0, 65,254,255,184, 56, 96, 0,127,
|
||||
/* 0x0600 */ 75,255,251, 13, 57, 74, 0, 20, 75,255,255,196,127,164,235,120,
|
||||
/* 0x0610 */ 57, 32, 0, 0, 57, 0, 0, 0, 56,224, 0, 0,127,198,243,120,
|
||||
/* 0x0620 */ 56,160, 0, 0,127,227,251,120, 75,255,252,197,124,125, 27,120,
|
||||
/* 0x0630 */ 127,195,243,120, 75,255,250,241, 72, 0, 0, 16,129, 73, 0, 4,
|
||||
/* 0x0640 */ 125, 41, 82, 20, 75,255,255, 48, 57, 97, 0, 80,127,163,235,120,
|
||||
/* 0x0650 */ 72, 0, 0, 56,129,203,255,184,129,235,255,188,130, 11,255,192,
|
||||
/* 0x0660 */ 130, 43,255,196,130, 75,255,200,130,107,255,204,130,139,255,208,
|
||||
/* 0x0670 */ 130,171,255,212,130,203,255,216,130,235,255,220,131, 11,255,224,
|
||||
/* 0x0680 */ 131, 43,255,228,131, 75,255,232,131,107,255,236,131,139,255,240,
|
||||
/* 0x0690 */ 131,171,255,244,131,203,255,248,128, 11, 0, 4,131,235,255,252,
|
||||
/* 0x06a0 */ 124, 8, 3,166,125, 97, 91,120, 78,128, 0, 32, 0, 0, 0, 60,
|
||||
/* 0x06b0 */ 0, 0, 0, 0, 1,122, 82, 0, 4,124, 65, 1, 27, 12, 1, 0,
|
||||
/* 0x06c0 */ 13, 11, 17, 65,127,142, 18,143, 17,144, 16,145, 15,146, 14,147,
|
||||
/* 0x06d0 */ 13,148, 12,149, 11,150, 10,151, 9,152, 8,153, 7,154, 6,155,
|
||||
/* 0x06e0 */ 5,156, 4,157, 3,158, 2,159, 1, 0, 0, 0, 0, 0, 0, 56,
|
||||
/* 0x06f0 */ 0, 0, 0, 68,255,255,255, 96, 0, 0, 0, 88, 0, 65,206, 65,
|
||||
/* 0x0700 */ 207, 65,208, 65,209, 65,210, 65,211, 65,212, 65,213, 65,214, 65,
|
||||
/* 0x0710 */ 215, 65,216, 65,217, 65,218, 65,219, 65,220, 65,221, 65,222, 66,
|
||||
/* 0x0720 */ 223, 65, 6, 65, 65, 13, 1, 0
|
||||
};
|
||||
|
||||
@ -32,69 +32,69 @@
|
||||
|
||||
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 8867
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x771bfcd3
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x9654df78
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x3a7703f2
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x7ce00241
|
||||
|
||||
unsigned char stub_powerpc_linux_elf_entry[8867] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 25, 36, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0030 */ 0, 24, 0, 21, 72, 0, 0,129,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x0020 */ 0, 0, 26,112, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0030 */ 0, 24, 0, 21, 72, 0, 0, 1,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x0040 */ 40, 7, 0, 8, 64,130, 1, 60,144,166, 0, 0,124,132, 26, 20,
|
||||
/* 0x0050 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255,
|
||||
/* 0x0060 */ 57, 64,255,255, 72, 0, 1, 12, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x0070 */ 56, 99, 0, 4,124, 9, 0, 64,125, 41, 72, 20, 97, 41, 0, 1,
|
||||
/* 0x0080 */ 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1,124, 9, 0, 64,
|
||||
/* 0x0090 */ 125, 41, 74, 20, 65,162,255,213, 65,129,255,236, 56,224, 0, 1,
|
||||
/* 0x00a0 */ 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21, 65,162,255,189,
|
||||
/* 0x00b0 */ 124,231, 57, 20,125, 41, 72, 21, 65,162,255,177,124,231, 57, 20,
|
||||
/* 0x00c0 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255,161, 65,160,255,216,
|
||||
/* 0x00d0 */ 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46, 65,128, 0, 32,
|
||||
/* 0x00e0 */ 140, 67, 0, 1,124,234, 16,249,125, 74, 14,112, 65,130, 0, 0,
|
||||
/* 0x00f0 */ 112, 66, 0, 1, 65,162, 0, 80, 72, 0, 0, 20,124, 9, 0, 64,
|
||||
/* 0x0100 */ 125, 41, 74, 20, 65,162,255,101, 65,161, 0, 60, 57, 0, 0, 1,
|
||||
/* 0x0110 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 81, 65,161, 0, 40,
|
||||
/* 0x0120 */ 125, 41, 72, 21, 65,162,255, 69,125, 8, 65, 20,124, 9, 0, 64,
|
||||
/* 0x0130 */ 125, 41, 74, 20, 65,162,255, 53, 65,160,255,232, 57, 8, 0, 2,
|
||||
/* 0x0140 */ 72, 0, 0, 16,125, 41, 72, 21, 65,162,255, 33,125, 8, 65, 20,
|
||||
/* 0x0090 */ 125, 41, 74, 20, 65,194,255,213, 65,225,255,236, 56,224, 0, 1,
|
||||
/* 0x00a0 */ 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21, 65,194,255,189,
|
||||
/* 0x00b0 */ 124,231, 57, 20,125, 41, 72, 21, 65,194,255,177,124,231, 57, 20,
|
||||
/* 0x00c0 */ 124, 9, 0, 64,125, 41, 74, 20, 65,194,255,161, 65,192,255,216,
|
||||
/* 0x00d0 */ 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46, 65,192, 0, 32,
|
||||
/* 0x00e0 */ 140, 67, 0, 1,124,234, 16,249,125, 74, 14,112, 65,194, 0, 0,
|
||||
/* 0x00f0 */ 112, 66, 0, 1, 65,226, 0, 80, 72, 0, 0, 20,124, 9, 0, 64,
|
||||
/* 0x0100 */ 125, 41, 74, 20, 65,194,255,101, 65,225, 0, 60, 57, 0, 0, 1,
|
||||
/* 0x0110 */ 124, 9, 0, 64,125, 41, 74, 20, 65,194,255, 81, 65,225, 0, 40,
|
||||
/* 0x0120 */ 125, 41, 72, 21, 65,194,255, 69,125, 8, 65, 20,124, 9, 0, 64,
|
||||
/* 0x0130 */ 125, 41, 74, 20, 65,194,255, 53, 65,192,255,232, 57, 8, 0, 2,
|
||||
/* 0x0140 */ 72, 0, 0, 16,125, 41, 72, 21, 65,194,255, 33,125, 8, 65, 20,
|
||||
/* 0x0150 */ 32,234,250,255, 57, 8, 0, 2,125, 8, 1,148,124,234, 42, 20,
|
||||
/* 0x0160 */ 125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248,
|
||||
/* 0x0160 */ 125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248,
|
||||
/* 0x0170 */ 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44, 75,255,255, 16,
|
||||
/* 0x0180 */ 124, 0, 41,236,125,168, 2,166, 40, 7, 0, 5, 64,130, 1, 32,
|
||||
/* 0x0190 */ 144,166, 0, 0,124,132, 26, 20, 60, 0,128, 0, 61, 32,128, 0,
|
||||
/* 0x01a0 */ 56, 99,255,255, 56,165,255,255, 57, 64,255,255, 72, 0, 0,240,
|
||||
/* 0x01b0 */ 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,124, 9, 0, 64,
|
||||
/* 0x01c0 */ 125, 41, 72, 20, 97, 41, 0, 1, 78,128, 0, 32,141, 3, 0, 1,
|
||||
/* 0x01d0 */ 157, 5, 0, 1,124, 9, 0, 64,125, 41, 74, 20, 65,162,255,213,
|
||||
/* 0x01e0 */ 65,129,255,236, 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,
|
||||
/* 0x01f0 */ 125, 41, 72, 21, 65,162,255,189,124,231, 57, 21,125, 41, 72, 21,
|
||||
/* 0x0200 */ 65,162,255,177,124,231, 57, 21,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0210 */ 65,162,255,161, 65,160,255,216, 57, 0, 0, 0, 52,231,255,253,
|
||||
/* 0x0220 */ 84,231, 64, 46, 65,128, 0, 24,140, 67, 0, 1,124,234, 16,249,
|
||||
/* 0x0230 */ 125, 74, 14,112, 65,130, 0, 0, 72, 0, 0, 12,125, 41, 72, 21,
|
||||
/* 0x0240 */ 65,162,255,113,125, 8, 65, 21,125, 41, 72, 21, 65,162,255,101,
|
||||
/* 0x01d0 */ 157, 5, 0, 1,124, 9, 0, 64,125, 41, 74, 20, 65,194,255,213,
|
||||
/* 0x01e0 */ 65,225,255,236, 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,
|
||||
/* 0x01f0 */ 125, 41, 72, 21, 65,194,255,189,124,231, 57, 21,125, 41, 72, 21,
|
||||
/* 0x0200 */ 65,194,255,177,124,231, 57, 21,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0210 */ 65,194,255,161, 65,192,255,216, 57, 0, 0, 0, 52,231,255,253,
|
||||
/* 0x0220 */ 84,231, 64, 46, 65,192, 0, 24,140, 67, 0, 1,124,234, 16,249,
|
||||
/* 0x0230 */ 125, 74, 14,112, 65,194, 0, 0, 72, 0, 0, 12,125, 41, 72, 21,
|
||||
/* 0x0240 */ 65,194,255,113,125, 8, 65, 21,125, 41, 72, 21, 65,194,255,101,
|
||||
/* 0x0250 */ 125, 8, 65, 21, 64,130, 0, 40, 57, 0, 0, 1,125, 41, 72, 21,
|
||||
/* 0x0260 */ 65,162,255, 81,125, 8, 65, 21,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0270 */ 65,162,255, 65, 65,160,255,232, 57, 8, 0, 2, 32,234,250,255,
|
||||
/* 0x0260 */ 65,194,255, 81,125, 8, 65, 21,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0270 */ 65,194,255, 65, 65,192,255,232, 57, 8, 0, 2, 32,234,250,255,
|
||||
/* 0x0280 */ 57, 8, 0, 1,125, 8, 1,148,124,234, 42, 20,125, 9, 3,166,
|
||||
/* 0x0290 */ 141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248, 56,224, 1, 0,
|
||||
/* 0x0290 */ 141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248, 56,224, 1, 0,
|
||||
/* 0x02a0 */ 124, 7, 41,236,124, 7, 26, 44, 75,255,255, 44,124, 0, 41,236,
|
||||
/* 0x02b0 */ 125,168, 2,166, 40, 7, 0, 2, 64,130, 0,228,144,166, 0, 0,
|
||||
/* 0x02c0 */ 124,132, 26, 20, 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255,
|
||||
/* 0x02d0 */ 56,165,255,255, 57, 64,255,255, 72, 0, 0,180,124, 9, 0, 64,
|
||||
/* 0x02e0 */ 125, 41, 72, 20, 76,162, 0, 32, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x02e0 */ 125, 41, 72, 20, 76,226, 0, 32, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x02f0 */ 56, 99, 0, 4,124, 9, 0, 64,125, 41, 73, 20, 78,128, 0, 32,
|
||||
/* 0x0300 */ 141, 3, 0, 1,157, 5, 0, 1, 75,255,255,213, 65,129,255,244,
|
||||
/* 0x0300 */ 141, 3, 0, 1,157, 5, 0, 1, 75,255,255,213, 65,225,255,244,
|
||||
/* 0x0310 */ 56,224, 0, 1, 75,255,255,201,124,231, 57, 21, 75,255,255,193,
|
||||
/* 0x0320 */ 65,160,255,244, 52,231,255,253, 57, 0, 0, 0, 65,128, 0, 20,
|
||||
/* 0x0330 */ 140, 67, 0, 1, 84,231, 64, 46,124,234, 16,249, 65,130, 0, 0,
|
||||
/* 0x0320 */ 65,192,255,244, 52,231,255,253, 57, 0, 0, 0, 65,192, 0, 20,
|
||||
/* 0x0330 */ 140, 67, 0, 1, 84,231, 64, 46,124,234, 16,249, 65,194, 0, 0,
|
||||
/* 0x0340 */ 75,255,255,157,125, 8, 65, 21, 75,255,255,149,125, 8, 65, 21,
|
||||
/* 0x0350 */ 56,224, 0, 1, 64,130, 0, 28, 56,224, 0, 3, 57, 0, 0, 1,
|
||||
/* 0x0360 */ 75,255,255,125,125, 8, 65, 21, 75,255,255,117, 65,160,255,244,
|
||||
/* 0x0350 */ 56,224, 0, 1, 64,194, 0, 28, 56,224, 0, 3, 57, 0, 0, 1,
|
||||
/* 0x0360 */ 75,255,255,125,125, 8, 65, 21, 75,255,255,117, 65,192,255,244,
|
||||
/* 0x0370 */ 32, 74,242,255,125, 8, 57, 20,124,234, 42, 20,125, 9, 3,166,
|
||||
/* 0x0380 */ 141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248, 56,224, 1, 0,
|
||||
/* 0x0380 */ 141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248, 56,224, 1, 0,
|
||||
/* 0x0390 */ 124, 7, 41,236,124, 7, 26, 44, 75,255,255,112, 40, 7, 0, 14,
|
||||
/* 0x03a0 */ 64,130, 0, 32,124, 8, 2,166,124,201, 51,120,129, 6, 0, 0,
|
||||
/* 0x03a0 */ 64,130, 0, 0,124, 8, 2,166,124,201, 51,120,129, 6, 0, 0,
|
||||
/* 0x03b0 */ 124,167, 43,120, 56,164,255,254, 56,131, 0, 2,144, 1, 0, 8,
|
||||
/* 0x03c0 */ 136, 3, 0, 0, 84, 11,232,254, 84, 2, 7,126, 56, 96,250, 0,
|
||||
/* 0x03d0 */ 124, 99, 88, 48, 56, 99,241,124,124, 38, 11,120,124, 33, 26, 20,
|
||||
@ -423,7 +423,7 @@ unsigned char stub_powerpc_linux_elf_entry[8867] = {
|
||||
/* 0x1800 */ 0, 2,127,200, 2,166, 57, 0, 0, 0, 56,224,255,255,128,126,
|
||||
/* 0x1810 */ 0, 4, 56,192, 0, 50, 56,160, 0, 7, 56,128, 16, 0,124, 99,
|
||||
/* 0x1820 */ 242, 20, 56, 0, 0, 90, 56, 99, 16, 11, 84, 99, 0, 38, 68, 0,
|
||||
/* 0x1830 */ 0, 2, 65,131, 0, 0,127,233, 3,166,128, 30, 0, 0,136,254,
|
||||
/* 0x1830 */ 0, 2, 65,195, 0, 0,127,233, 3,166,128, 30, 0, 0,136,254,
|
||||
/* 0x1840 */ 0, 8, 56,193, 0,124,144, 1, 0,124,124,101, 27,120,124,104,
|
||||
/* 0x1850 */ 3,166,128,158, 0, 4, 56,126, 0, 12, 56, 33,255,232, 78,128,
|
||||
/* 0x1860 */ 4, 32,148, 33,255,128,188, 65, 0, 4,127,232, 2,166, 75,255,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/* powerpc-linux.elf-fold.h
|
||||
created from powerpc-linux.elf-fold.bin, 1948 (0x79c) bytes
|
||||
created from powerpc-linux.elf-fold.bin, 2095 (0x82f) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@ -31,131 +31,140 @@
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 1948
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x5d84765f
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x99711a49
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 2095
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x5e78d9b5
|
||||
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0xa9d9520d
|
||||
|
||||
unsigned char stub_powerpc_linux_elf_fold[1948] = {
|
||||
unsigned char stub_powerpc_linux_elf_fold[2095] = {
|
||||
/* 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,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 40,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0,
|
||||
/* 0x0040 */ 0, 16, 0, 0, 0, 0, 7,156, 0, 0, 7,156, 0, 0, 0, 5,
|
||||
/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 7,156, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 16, 0, 0, 0, 0, 8, 47, 0, 0, 8, 48, 0, 0, 0, 5,
|
||||
/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 8, 47, 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 */ 72, 0, 0,125, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191,
|
||||
/* 0x0090 */ 77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,
|
||||
/* 0x0080 */ 72, 0, 0,125, 40, 6, 0,208, 76,194, 0, 32, 84,132,240,191,
|
||||
/* 0x0090 */ 77,194, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,
|
||||
/* 0x00a0 */ 124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252,
|
||||
/* 0x00b0 */ 124,137, 3,166, 72, 0, 0, 28, 84, 75, 2,186,125, 99, 88, 80,
|
||||
/* 0x00c0 */ 125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 78, 64, 0, 32,
|
||||
/* 0x00d0 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220,
|
||||
/* 0x00e0 */ 66, 0,255,240, 78,128, 0, 32,128, 73, 0, 0, 57, 41, 0, 4,
|
||||
/* 0x00f0 */ 47,130, 0, 0, 64,158,255,244, 78,128, 0, 32, 56, 33, 0, 24,
|
||||
/* 0x00c0 */ 125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 79, 64, 0, 32,
|
||||
/* 0x00d0 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,194,255,220,
|
||||
/* 0x00e0 */ 67, 32,255,240, 78,128, 0, 32,128, 73, 0, 0, 57, 41, 0, 4,
|
||||
/* 0x00f0 */ 47,130, 0, 0, 64,254,255,244, 78,128, 0, 32, 56, 33, 0, 24,
|
||||
/* 0x0100 */ 125, 8, 2,166,129, 33, 0, 0, 75,255,255,225, 75,255,255,221,
|
||||
/* 0x0110 */ 128,159,255,248, 85, 30, 0, 38,127,231,251,120,127,164,248, 80,
|
||||
/* 0x0120 */ 56,161,248, 0, 59,189,255,248, 56,132,255,140, 56,125, 0,116,
|
||||
/* 0x0130 */ 56, 33,247,232,128,195, 0, 24, 72, 0, 5, 13,124,127, 27,120,
|
||||
/* 0x0130 */ 56, 33,247,232,128,195, 0, 24, 72, 0, 4,221,124,127, 27,120,
|
||||
/* 0x0140 */ 127,163,235,120,124,157,240, 80, 72, 0, 0, 81,127,232, 3,166,
|
||||
/* 0x0150 */ 184, 65, 8, 28,128, 33, 8, 24, 78,128, 0, 32, 56, 0, 0, 90,
|
||||
/* 0x0160 */ 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255, 78,128, 0, 32,
|
||||
/* 0x0160 */ 68, 0, 0, 2, 64,227, 0, 8, 56, 96,255,255, 78,128, 0, 32,
|
||||
/* 0x0170 */ 56, 0, 0, 1, 75,255,255,236, 56, 0, 0, 3, 75,255,255,228,
|
||||
/* 0x0180 */ 56, 0, 0, 5, 75,255,255,220, 56, 0, 0, 6, 75,255,255,212,
|
||||
/* 0x0190 */ 56, 0, 0,125, 75,255,255,204, 56, 0, 0, 91, 75,255,255,196,
|
||||
/* 0x01a0 */ 56, 0, 0, 45, 75,255,255,188,124, 8, 2,166,148, 33,255,240,
|
||||
/* 0x01b0 */ 144, 1, 0, 20,128, 3, 0, 0,129, 35, 0, 4,127,128, 40, 64,
|
||||
/* 0x01c0 */ 64,188, 0, 12, 56, 96, 0,127, 75,255,255,169, 47,133, 0, 0,
|
||||
/* 0x01d0 */ 65,158, 0, 28,124,169, 3,166,136, 9, 0, 0, 57, 41, 0, 1,
|
||||
/* 0x01e0 */ 152, 4, 0, 0, 56,132, 0, 1, 66, 0,255,240,128, 3, 0, 0,
|
||||
/* 0x01f0 */ 129, 35, 0, 4,124, 5, 0, 80,144, 3, 0, 0,128, 1, 0, 20,
|
||||
/* 0x0200 */ 125, 41, 42, 20,124, 8, 3,166, 56, 33, 0, 16,145, 35, 0, 4,
|
||||
/* 0x0210 */ 78,128, 0, 32,124, 8, 2,166,148, 33,255,192,144, 1, 0, 68,
|
||||
/* 0x0220 */ 128, 4, 0, 0,191,129, 0, 48, 47,128, 0, 0,124,159, 35,120,
|
||||
/* 0x0230 */ 124,126, 27,120,124,188, 43,120,124,221, 51,120, 65,158, 1, 36,
|
||||
/* 0x0240 */ 56,160, 0, 12,127,195,243,120, 56,129, 0, 16, 75,255,255, 93,
|
||||
/* 0x0250 */ 129, 33, 0, 16,128,161, 0, 20, 47,137, 0, 0, 64,190, 0, 36,
|
||||
/* 0x0260 */ 60, 0, 33, 88, 96, 0, 80, 85,127,133, 0, 0, 64,190, 0, 28,
|
||||
/* 0x0270 */ 128, 30, 0, 0, 47,128, 0, 0, 65,190, 0,232, 72, 0, 0, 12,
|
||||
/* 0x0280 */ 47,133, 0, 0, 64,190, 0, 12, 56, 96, 0,127, 75,255,254,229,
|
||||
/* 0x0290 */ 127, 5, 72, 64, 65,185,255,244,128, 31, 0, 0,127,137, 0, 64,
|
||||
/* 0x02a0 */ 65,189,255,232,128, 31, 0, 4, 64,152, 0,136,124,164, 43,120,
|
||||
/* 0x02b0 */ 128,126, 0, 4,124, 5, 3,120, 56,193, 0, 32,136,225, 0, 24,
|
||||
/* 0x02c0 */ 145, 33, 0, 32,127,136, 3,166, 78,128, 0, 33, 47,131, 0, 0,
|
||||
/* 0x02d0 */ 64,190,255,184,128,129, 0, 32,128, 1, 0, 16,127,132, 0, 0,
|
||||
/* 0x02e0 */ 64,190,255,168,136,193, 0, 25, 49, 61,255,255,124, 9,233, 16,
|
||||
/* 0x02f0 */ 125, 38, 0,208, 85, 41, 15,254,125, 43, 0, 57, 65,162, 0, 20,
|
||||
/* 0x0300 */ 128,127, 0, 4,136,161, 0, 26,127,168, 3,166, 78,128, 0, 33,
|
||||
/* 0x0310 */ 128, 30, 0, 4,129, 97, 0, 20,129, 62, 0, 0,124, 0, 90, 20,
|
||||
/* 0x0320 */ 125, 43, 72, 80,144, 30, 0, 4,145, 62, 0, 0, 72, 0, 0, 16,
|
||||
/* 0x0330 */ 124, 4, 3,120,127,195,243,120, 75,255,254,113,129, 97, 0, 16,
|
||||
/* 0x0340 */ 129, 63, 0, 0,128, 31, 0, 4,125, 43, 72, 80, 47,137, 0, 0,
|
||||
/* 0x0350 */ 124, 0, 90, 20,144, 31, 0, 4,145, 63, 0, 0, 75,255,254,224,
|
||||
/* 0x0360 */ 128, 1, 0, 68,187,129, 0, 48,124, 8, 3,166, 56, 33, 0, 64,
|
||||
/* 0x0370 */ 78,128, 0, 32, 44, 3, 0, 0, 77,130, 0, 32, 48, 4,255,255,
|
||||
/* 0x0380 */ 125, 96, 33, 16,128, 3, 0, 0,127,128, 32, 0,104, 9, 0, 1,
|
||||
/* 0x0390 */ 33, 73, 0, 0,125, 42, 73, 20,125, 42, 88, 57, 65,158, 0, 8,
|
||||
/* 0x03a0 */ 65,162, 0, 16,144,163, 0, 4,144,131, 0, 0, 78,128, 0, 32,
|
||||
/* 0x03b0 */ 56, 99, 0, 8, 75,255,255,208,124, 8, 2,166,148, 33,255,160,
|
||||
/* 0x03c0 */ 144, 1, 0,100,160, 3, 0, 16,161, 67, 0, 44,125,128, 0, 38,
|
||||
/* 0x03d0 */ 129, 35, 0, 28,104, 0, 0, 3, 53, 74,255,255,124, 0, 0,208,
|
||||
/* 0x03e0 */ 190, 65, 0, 40,127,163, 74, 20,124,121, 27,120, 84, 3, 46,246,
|
||||
/* 0x03f0 */ 145,129, 0, 36,124,151, 35,120,124,178, 43,120,124,211, 51,120,
|
||||
/* 0x0400 */ 124,244, 59,120,125, 21, 67,120, 56, 99, 8, 34,127,171,235,120,
|
||||
/* 0x0410 */ 59,224,255,255, 59,192, 0, 0, 65,128, 0, 68, 57, 74, 0, 1,
|
||||
/* 0x0420 */ 125, 73, 3,166,128, 11, 0, 0, 47,128, 0, 1, 64,190, 0, 40,
|
||||
/* 0x0430 */ 129, 43, 0, 8,127,137,248, 64, 64,156, 0, 8,125, 63, 75,120,
|
||||
/* 0x0440 */ 128, 11, 0, 20,124, 0, 74, 20,127,158, 0, 64, 64,156, 0, 8,
|
||||
/* 0x0450 */ 124, 30, 3,120, 57,107, 0, 32, 66, 0,255,204, 87,255, 0, 38,
|
||||
/* 0x0460 */ 125, 63,240, 80, 57, 41, 15,255, 85, 62, 0, 38,124,102, 27,120,
|
||||
/* 0x0470 */ 127,196,243,120,127,227,251,120, 56,160, 0, 0, 56,224,255,255,
|
||||
/* 0x0480 */ 57, 0, 0, 0, 75,255,252,217,160, 25, 0, 44, 58,192, 0, 0,
|
||||
/* 0x0490 */ 127,150, 0, 0,124, 3,242, 20,144, 1, 0, 8,127, 31, 24, 80,
|
||||
/* 0x04a0 */ 64,156, 1,128, 46, 23, 0, 0, 65,146, 0, 40,128, 29, 0, 0,
|
||||
/* 0x04b0 */ 47,128, 0, 6, 64,190, 0, 28,128,189, 0, 8,126, 99,155,120,
|
||||
/* 0x04c0 */ 124,165,194, 20, 56,128, 0, 3, 75,255,254,173, 72, 0, 1, 64,
|
||||
/* 0x04d0 */ 128, 29, 0, 0, 47,128, 0, 1, 64,190, 1, 52,128, 29, 0, 24,
|
||||
/* 0x04e0 */ 129, 93, 0, 8, 61, 32,115, 81, 84, 0, 22,250, 97, 41, 98, 64,
|
||||
/* 0x04f0 */ 129,125, 0, 20,125, 41, 4, 48, 85, 94, 5, 62, 48, 23,255,255,
|
||||
/* 0x0500 */ 124,160,185, 16,128, 29, 0, 16, 85, 58, 7,126,127,106, 90, 20,
|
||||
/* 0x0510 */ 84,165, 8, 60,127,254, 80, 80,144, 1, 0, 16,145, 65, 0, 20,
|
||||
/* 0x0520 */ 127,128,242, 20,127,255,194, 20,127,123,194, 20,124,165,211,120,
|
||||
/* 0x0530 */ 65,146, 0, 12, 56,192, 0, 50, 72, 0, 0, 8, 56,192, 0, 18,
|
||||
/* 0x0540 */ 64,146, 0, 12,126, 71,147,120, 72, 0, 0, 8, 56,224,255,255,
|
||||
/* 0x0550 */ 129, 29, 0, 4,127,227,251,120,125, 30, 64, 80,127,132,227,120,
|
||||
/* 0x0560 */ 75,255,251,253,127,159, 24, 0, 64,158, 0,104, 65,178, 0, 24,
|
||||
/* 0x0570 */ 126,227,187,120, 56,129, 0, 16,126,133,163,120,126,166,171,120,
|
||||
/* 0x0580 */ 75,255,252,149,115, 64, 0, 2,124, 28, 0,208, 84, 30, 5, 62,
|
||||
/* 0x0590 */ 65,130, 0, 36, 47,158, 0, 0,125, 63,226, 20, 65,158, 0, 24,
|
||||
/* 0x05a0 */ 127,201, 3,166, 56, 0, 0, 0,152, 9, 0, 0, 57, 41, 0, 1,
|
||||
/* 0x05b0 */ 66, 0,255,248, 65,178, 0, 36,127,227,251,120,127,132,227,120,
|
||||
/* 0x05c0 */ 127, 69,211,120, 75,255,251,205, 47,131, 0, 0, 65,190, 0, 12,
|
||||
/* 0x05d0 */ 56, 96, 0,127, 75,255,251,157,124, 28,242, 20,127,255, 2, 20,
|
||||
/* 0x05e0 */ 127,159,216, 64, 64,188, 0, 40,124,159,216, 80,127, 69,211,120,
|
||||
/* 0x05f0 */ 127,227,251,120, 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0,
|
||||
/* 0x0600 */ 75,255,251, 93,127,159, 24, 0, 64,190,255,200,160, 25, 0, 44,
|
||||
/* 0x0610 */ 58,214, 0, 1,127,150, 0, 0, 59,189, 0, 32, 75,255,254,132,
|
||||
/* 0x0620 */ 128,121, 0, 24,128, 1, 0,100,129,129, 0, 36,124, 99,194, 20,
|
||||
/* 0x0630 */ 124, 8, 3,166,186, 65, 0, 40,125,128,129, 32, 56, 33, 0, 96,
|
||||
/* 0x0640 */ 78,128, 0, 32,124, 8, 2,166,148, 33,255,192,144, 1, 0, 68,
|
||||
/* 0x0650 */ 56,132,255,232, 56, 3, 0, 24,144, 1, 0, 12,144,129, 0, 8,
|
||||
/* 0x0660 */ 128, 3, 0, 24,191, 97, 0, 44,129, 97, 0, 8,124,191, 43,120,
|
||||
/* 0x0670 */ 129,129, 0, 12,124,229, 59,120, 56,192, 0, 0, 56, 97, 0, 8,
|
||||
/* 0x0680 */ 56,129, 0, 16, 59,223, 0, 52,125, 61, 75,120,124,251, 59,120,
|
||||
/* 0x0690 */ 144, 1, 0, 16,125, 28, 67,120,145, 97, 0, 24,145,129, 0, 28,
|
||||
/* 0x06a0 */ 147,225, 0, 20, 75,255,251,113,128,190, 0, 8,127,163,235,120,
|
||||
/* 0x06b0 */ 56,165, 0, 52, 56,128, 0, 3, 75,255,252,189,160,191, 0, 44,
|
||||
/* 0x06c0 */ 127,163,235,120, 56,128, 0, 5, 75,255,252,173,128,191, 0, 24,
|
||||
/* 0x06d0 */ 127,163,235,120, 56,128, 0, 9, 75,255,252,157,127,103,219,120,
|
||||
/* 0x06e0 */ 127,136,227,120,127,227,251,120,127,166,235,120, 56,129, 0, 24,
|
||||
/* 0x06f0 */ 56,160, 0, 0, 75,255,252,197,160, 31, 0, 44,124,124, 27,120,
|
||||
/* 0x0700 */ 59, 96, 0, 0,127,155, 0, 0, 64,156, 0,124,128, 30, 0, 0,
|
||||
/* 0x0710 */ 59,123, 0, 1, 47,128, 0, 3, 56,128, 0, 0, 56,160, 0, 0,
|
||||
/* 0x0720 */ 64,190, 0, 88,128,126, 0, 8, 75,255,250, 89,124,125, 27,121,
|
||||
/* 0x0730 */ 127,228,251,120, 56,160, 2, 0, 65,128, 0, 40, 75,255,250, 61,
|
||||
/* 0x0740 */ 47,131, 2, 0, 56,128, 0, 0,127,227,251,120,127,165,235,120,
|
||||
/* 0x0750 */ 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0, 65,190, 0, 12,
|
||||
/* 0x0760 */ 56, 96, 0,127, 75,255,250, 13, 75,255,252, 81,124,124, 27,120,
|
||||
/* 0x0770 */ 127,163,235,120, 75,255,250, 21,160, 31, 0, 44, 59,222, 0, 32,
|
||||
/* 0x0780 */ 75,255,255,132,128, 1, 0, 68,127,131,227,120,124, 8, 3,166,
|
||||
/* 0x0790 */ 187, 97, 0, 44, 56, 33, 0, 64, 78,128, 0, 32
|
||||
/* 0x01a0 */ 56, 0, 0, 45, 75,255,255,188, 44, 3, 0, 0, 77,194, 0, 32,
|
||||
/* 0x01b0 */ 46,132, 0, 0,129, 67, 0, 0,127,138, 32, 64, 64,254, 0, 16,
|
||||
/* 0x01c0 */ 144,131, 0, 0,144,163, 0, 4, 78,128, 0, 32, 43,138, 0, 1,
|
||||
/* 0x01d0 */ 64,254, 0, 8, 64,214,255,236, 56, 99, 0, 8, 75,255,255,216,
|
||||
/* 0x01e0 */ 129, 35, 0, 0,129, 67, 0, 4,127,137, 40, 64, 65,220, 0, 20,
|
||||
/* 0x01f0 */ 57, 5, 0, 1, 57, 32, 0, 0,125, 9, 3,166, 72, 0, 0, 24,
|
||||
/* 0x0200 */ 148, 33,255,240,124, 8, 2,166, 56, 96, 0,127,144, 1, 0, 20,
|
||||
/* 0x0210 */ 75,255,255, 97, 66, 64, 0, 20,125, 10, 72,174,125, 4, 73,174,
|
||||
/* 0x0220 */ 57, 41, 0, 1, 75,255,255,240,129, 35, 0, 4,125, 41, 42, 20,
|
||||
/* 0x0230 */ 145, 35, 0, 4,129, 35, 0, 0,124,165, 72, 80,144,163, 0, 0,
|
||||
/* 0x0240 */ 78,128, 0, 32,148, 33,255,192,125,128, 0, 38,124, 8, 2,166,
|
||||
/* 0x0250 */ 145,129, 0, 44, 46, 6, 0, 0,144, 1, 0, 68,191,129, 0, 48,
|
||||
/* 0x0260 */ 124,126, 27,120,124,159, 35,120,124,189, 43,120,124,220, 51,120,
|
||||
/* 0x0270 */ 129, 63, 0, 0, 47,137, 0, 0, 65,222, 1, 16, 56,160, 0, 12,
|
||||
/* 0x0280 */ 56,129, 0, 8,127,195,243,120, 75,255,255, 89,129, 65, 0, 8,
|
||||
/* 0x0290 */ 129, 33, 0, 12, 47,138, 0, 0, 64,254, 0, 32,109, 36, 33, 88,
|
||||
/* 0x02a0 */ 47,132, 80, 85, 64,158, 0, 28,129, 62, 0, 0, 47,137, 0, 0,
|
||||
/* 0x02b0 */ 65,254, 0,216, 72, 0, 0, 12, 47,137, 0, 0, 64,254, 0, 12,
|
||||
/* 0x02c0 */ 56, 96, 0,127, 75,255,254,173,126,138, 72, 64, 65,212,255,244,
|
||||
/* 0x02d0 */ 129, 31, 0, 0,127,138, 64, 64, 65,221,255,232,128,159, 0, 4,
|
||||
/* 0x02e0 */ 64,213, 0,124,124,133, 35,120,145, 65, 0, 20, 56,193, 0, 20,
|
||||
/* 0x02f0 */ 127,169, 3,166,136,225, 0, 16,125, 36, 75,120,128,126, 0, 4,
|
||||
/* 0x0300 */ 78,128, 4, 33, 47,131, 0, 0, 64,222,255,184,128,129, 0, 8,
|
||||
/* 0x0310 */ 129, 33, 0, 20,127,132, 72, 0, 64,222,255,168,136,193, 0, 17,
|
||||
/* 0x0320 */ 47,134, 0, 0, 65,222, 0, 24, 65,210, 0, 20,136,161, 0, 18,
|
||||
/* 0x0330 */ 127,137, 3,166,128,127, 0, 4, 78,128, 4, 33,129, 33, 0, 12,
|
||||
/* 0x0340 */ 129, 94, 0, 4,125, 74, 74, 20,145, 94, 0, 4,129, 94, 0, 0,
|
||||
/* 0x0350 */ 125, 41, 80, 80,145, 62, 0, 0, 72, 0, 0, 16,125, 37, 75,120,
|
||||
/* 0x0360 */ 127,195,243,120, 75,255,254,125,129, 33, 0, 8,129, 95, 0, 4,
|
||||
/* 0x0370 */ 125, 74, 74, 20,145, 95, 0, 4,129, 95, 0, 0,125, 41, 80, 80,
|
||||
/* 0x0380 */ 145, 63, 0, 0, 75,255,254,236,129,129, 0, 44, 57, 97, 0, 64,
|
||||
/* 0x0390 */ 125,144,129, 32, 72, 0, 4, 0,148, 33,255,144,124, 8, 2,166,
|
||||
/* 0x03a0 */ 125,128, 0, 38,144, 1, 0,116,189,193, 0, 40,124,213, 51,120,
|
||||
/* 0x03b0 */ 124,154, 35,120,145,129, 0, 36,124,124, 27,120,124,191, 43,120,
|
||||
/* 0x03c0 */ 160,195, 0, 16,124,244, 59,120,125, 19, 67,120,129,227, 0, 28,
|
||||
/* 0x03d0 */ 56,128, 0, 0, 59,160,255,255,104,198, 0, 3, 49, 38,255,255,
|
||||
/* 0x03e0 */ 125,227,122, 20,124,201, 49, 16,161, 35, 0, 44,125,234,123,120,
|
||||
/* 0x03f0 */ 84,198, 32, 54, 57, 41, 0, 1, 56,198, 8, 34,125, 41, 3,166,
|
||||
/* 0x0400 */ 66, 64, 0, 60,129, 42, 0, 0, 47,137, 0, 1, 64,254, 0, 40,
|
||||
/* 0x0410 */ 129, 10, 0, 8,127,157, 64, 64, 64,221, 0, 8,125, 29, 67,120,
|
||||
/* 0x0420 */ 129, 42, 0, 20,125, 40, 74, 20,127,132, 72, 64, 64,220, 0, 8,
|
||||
/* 0x0430 */ 125, 36, 75,120, 57, 74, 0, 32, 75,255,255,200, 87,189, 0, 38,
|
||||
/* 0x0440 */ 56,132, 15,255,124,157, 32, 80, 46, 26, 0, 0,127,163,235,120,
|
||||
/* 0x0450 */ 57, 0, 0, 0, 56,224,255,255, 56,160, 0, 0, 84,132, 0, 38,
|
||||
/* 0x0460 */ 58,224,255,255, 75,255,252,249, 51, 58,255,255,127, 57,209, 16,
|
||||
/* 0x0470 */ 127,189, 24, 80, 87, 57, 8, 60,147, 33, 0, 24, 64,242, 0, 8,
|
||||
/* 0x0480 */ 127,247,251,120, 65,210, 0, 12, 58,192, 0, 50, 72, 0, 0, 8,
|
||||
/* 0x0490 */ 58,192, 0, 18, 62, 64,115, 81, 59, 0, 0, 0, 98, 82, 98, 64,
|
||||
/* 0x04a0 */ 58, 32, 0, 0,161, 60, 0, 44,127,152, 72, 0, 64,220, 1, 80,
|
||||
/* 0x04b0 */ 129, 47, 0, 0, 65,210, 0, 36, 47,137, 0, 6, 64,254, 0, 28,
|
||||
/* 0x04c0 */ 128,175, 0, 8, 56,128, 0, 3,126,163,171,120,124,189, 42, 20,
|
||||
/* 0x04d0 */ 75,255,252,217, 72, 0, 1, 28, 47,137, 0, 1, 64,254, 1, 20,
|
||||
/* 0x04e0 */ 131,111, 0, 20,126,231,187,120,126,198,179,120,129, 47, 0, 8,
|
||||
/* 0x04f0 */ 129,207, 0, 24,127,125,218, 20,131,207, 0, 16, 85, 40, 5, 62,
|
||||
/* 0x0500 */ 85, 42, 0, 38,145, 33, 0, 12,127,105,218, 20, 85,206, 22,250,
|
||||
/* 0x0510 */ 129, 47, 0, 4,127,254, 66, 20,126, 78,116, 48,127, 42,234, 20,
|
||||
/* 0x0520 */ 85,208, 7,126,147,193, 0, 8,125, 8, 72, 80,129, 33, 0, 24,
|
||||
/* 0x0530 */ 127,228,251,120,127, 35,203,120,125, 37,131,120, 75,255,252, 33,
|
||||
/* 0x0540 */ 127,153, 24, 0, 65,254, 0, 12, 56, 96, 0,127, 75,255,252, 37,
|
||||
/* 0x0550 */ 65,210, 0, 24,126,102,155,120,126,133,163,120, 56,129, 0, 8,
|
||||
/* 0x0560 */ 127, 67,211,120, 75,255,252,225,125, 63, 0,208, 85, 62, 5, 62,
|
||||
/* 0x0570 */ 113,201, 0, 2, 64,194, 0, 12, 64,242, 0, 44, 72, 0, 0, 64,
|
||||
/* 0x0580 */ 47,158, 0, 0, 65,222,255,244,127,201, 3,166,125, 25,250, 20,
|
||||
/* 0x0590 */ 57, 32, 0, 0,126, 40, 73,174, 57, 41, 0, 1, 66, 0,255,248,
|
||||
/* 0x05a0 */ 75,255,255,216,126, 5,131,120,127,228,251,120,127, 35,203,120,
|
||||
/* 0x05b0 */ 75,255,251,225, 47,131, 0, 0, 64,222,255,144,127,223,242, 20,
|
||||
/* 0x05c0 */ 127,249,242, 20,127,155,248, 64, 64,253, 0, 40, 57, 0, 0, 0,
|
||||
/* 0x05d0 */ 56,224,255,255, 56,192, 0, 50,126, 5,131,120,124,159,216, 80,
|
||||
/* 0x05e0 */ 127,227,251,120, 75,255,251,121,127,159, 24, 0, 64,222,255, 92,
|
||||
/* 0x05f0 */ 57,239, 0, 32, 59, 24, 0, 1, 75,255,254,172,129,129, 0, 36,
|
||||
/* 0x0600 */ 57, 97, 0,112,128,124, 0, 24,125,144,129, 32,124,125, 26, 20,
|
||||
/* 0x0610 */ 72, 0, 1, 76,148, 33,255,176,124, 8, 2,166, 56,132,255,232,
|
||||
/* 0x0620 */ 56,192, 0, 0,144, 1, 0, 84,191, 97, 0, 60,125, 61, 75,120,
|
||||
/* 0x0630 */ 57, 35, 0, 24,145, 33, 0, 28,124,191, 43,120, 59,197, 0, 52,
|
||||
/* 0x0640 */ 144,129, 0, 24, 56,129, 0, 16,129, 35, 0, 24, 56, 97, 0, 24,
|
||||
/* 0x0650 */ 129, 65, 0, 28,145, 33, 0, 16,129, 33, 0, 24,144,161, 0, 20,
|
||||
/* 0x0660 */ 124,229, 59,120,145, 33, 0, 8,145, 65, 0, 12,144,225, 0, 40,
|
||||
/* 0x0670 */ 145, 1, 0, 44, 75,255,251,209,127,163,235,120, 56,128, 0, 3,
|
||||
/* 0x0680 */ 128,191, 0, 60, 56,165, 0, 52, 75,255,251, 33,160,191, 0, 44,
|
||||
/* 0x0690 */ 127,163,235,120, 56,128, 0, 5, 75,255,251, 17,128,191, 0, 24,
|
||||
/* 0x06a0 */ 127,163,235,120, 56,128, 0, 9, 75,255,251, 1,129, 1, 0, 44,
|
||||
/* 0x06b0 */ 127,166,235,120, 56,160, 0, 0,128,225, 0, 40, 56,129, 0, 8,
|
||||
/* 0x06c0 */ 127,227,251,120, 59,160, 0, 0, 75,255,252,209,124,124, 27,120,
|
||||
/* 0x06d0 */ 161, 63, 0, 44,127,157, 72, 0, 64,220, 0,120,129, 62, 0, 0,
|
||||
/* 0x06e0 */ 47,137, 0, 3, 64,254, 0, 96,128,126, 0, 8, 56,160, 0, 0,
|
||||
/* 0x06f0 */ 56,128, 0, 0, 75,255,250,141,124,123, 27,121, 64,224, 0, 12,
|
||||
/* 0x0700 */ 56, 96, 0,127, 75,255,250,109, 56,160, 2, 0,127,228,251,120,
|
||||
/* 0x0710 */ 75,255,250,105, 47,131, 2, 0, 64,222,255,232, 57, 0, 0, 0,
|
||||
/* 0x0720 */ 56,224, 0, 0, 56,192, 0, 0,127,101,219,120, 56,128, 0, 0,
|
||||
/* 0x0730 */ 127,227,251,120, 75,255,252,101,124,124, 27,120,127, 99,219,120,
|
||||
/* 0x0740 */ 75,255,250, 73, 59,222, 0, 32, 59,189, 0, 1, 75,255,255,132,
|
||||
/* 0x0750 */ 57, 97, 0, 80,127,131,227,120, 72, 0, 0, 56,129,203,255,184,
|
||||
/* 0x0760 */ 129,235,255,188,130, 11,255,192,130, 43,255,196,130, 75,255,200,
|
||||
/* 0x0770 */ 130,107,255,204,130,139,255,208,130,171,255,212,130,203,255,216,
|
||||
/* 0x0780 */ 130,235,255,220,131, 11,255,224,131, 43,255,228,131, 75,255,232,
|
||||
/* 0x0790 */ 131,107,255,236,131,139,255,240,131,171,255,244,131,203,255,248,
|
||||
/* 0x07a0 */ 128, 11, 0, 4,131,235,255,252,124, 8, 3,166,125, 97, 91,120,
|
||||
/* 0x07b0 */ 78,128, 0, 32, 0, 0, 0, 60, 0, 0, 0, 0, 1,122, 82, 0,
|
||||
/* 0x07c0 */ 4,124, 65, 1, 27, 12, 1, 0, 13, 11, 17, 65,127,142, 18,143,
|
||||
/* 0x07d0 */ 17,144, 16,145, 15,146, 14,147, 13,148, 12,149, 11,150, 10,151,
|
||||
/* 0x07e0 */ 9,152, 8,153, 7,154, 6,155, 5,156, 4,157, 3,158, 2,159,
|
||||
/* 0x07f0 */ 1, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 68,255,255,255, 96,
|
||||
/* 0x0800 */ 0, 0, 0, 88, 0, 65,206, 65,207, 65,208, 65,209, 65,210, 65,
|
||||
/* 0x0810 */ 211, 65,212, 65,213, 65,214, 65,215, 65,216, 65,217, 65,218, 65,
|
||||
/* 0x0820 */ 219, 65,220, 65,221, 65,222, 66,223, 65, 6, 65, 65, 13, 1
|
||||
};
|
||||
|
||||
@ -32,80 +32,80 @@
|
||||
|
||||
|
||||
#define STUB_POWERPC_LINUX_KERNEL_VMLINUX_SIZE 9082
|
||||
#define STUB_POWERPC_LINUX_KERNEL_VMLINUX_ADLER32 0x1b691f11
|
||||
#define STUB_POWERPC_LINUX_KERNEL_VMLINUX_CRC32 0x99104672
|
||||
#define STUB_POWERPC_LINUX_KERNEL_VMLINUX_ADLER32 0xaf282773
|
||||
#define STUB_POWERPC_LINUX_KERNEL_VMLINUX_CRC32 0x612d79a8
|
||||
|
||||
unsigned char stub_powerpc_linux_kernel_vmlinux[9082] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 25, 12, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0020 */ 0, 0, 26,168, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0030 */ 0, 25, 0, 22, 72, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 0, 0, 0, 0, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191,
|
||||
/* 0x0050 */ 77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,
|
||||
/* 0x0040 */ 0, 0, 0, 0, 40, 6, 0,208, 76,194, 0, 32, 84,132,240,191,
|
||||
/* 0x0050 */ 77,194, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,
|
||||
/* 0x0060 */ 124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252,
|
||||
/* 0x0070 */ 124,137, 3,166, 72, 0, 0, 28, 84, 75, 2,186,125, 99, 88, 80,
|
||||
/* 0x0080 */ 125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 78, 64, 0, 32,
|
||||
/* 0x0090 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220,
|
||||
/* 0x00a0 */ 66, 0,255,240, 78,128, 0, 32,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x0080 */ 125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 79, 64, 0, 32,
|
||||
/* 0x0090 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,194,255,220,
|
||||
/* 0x00a0 */ 67, 32,255,240, 78,128, 0, 32,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x00b0 */ 40, 7, 0, 2, 64,130, 0,228,144,166, 0, 0,124,132, 26, 20,
|
||||
/* 0x00c0 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255,
|
||||
/* 0x00d0 */ 57, 64,255,255, 72, 0, 0,180,124, 9, 0, 64,125, 41, 72, 20,
|
||||
/* 0x00e0 */ 76,162, 0, 32, 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,
|
||||
/* 0x00e0 */ 76,226, 0, 32, 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,
|
||||
/* 0x00f0 */ 124, 9, 0, 64,125, 41, 73, 20, 78,128, 0, 32,141, 3, 0, 1,
|
||||
/* 0x0100 */ 157, 5, 0, 1, 75,255,255,213, 65,129,255,244, 56,224, 0, 1,
|
||||
/* 0x0110 */ 75,255,255,201,124,231, 57, 21, 75,255,255,193, 65,160,255,244,
|
||||
/* 0x0120 */ 52,231,255,253, 57, 0, 0, 0, 65,128, 0, 20,140, 67, 0, 1,
|
||||
/* 0x0130 */ 84,231, 64, 46,124,234, 16,249, 65,130, 0, 0, 75,255,255,157,
|
||||
/* 0x0100 */ 157, 5, 0, 1, 75,255,255,213, 65,225,255,244, 56,224, 0, 1,
|
||||
/* 0x0110 */ 75,255,255,201,124,231, 57, 21, 75,255,255,193, 65,192,255,244,
|
||||
/* 0x0120 */ 52,231,255,253, 57, 0, 0, 0, 65,192, 0, 20,140, 67, 0, 1,
|
||||
/* 0x0130 */ 84,231, 64, 46,124,234, 16,249, 65,194, 0, 0, 75,255,255,157,
|
||||
/* 0x0140 */ 125, 8, 65, 21, 75,255,255,149,125, 8, 65, 21, 56,224, 0, 1,
|
||||
/* 0x0150 */ 64,130, 0, 28, 56,224, 0, 3, 57, 0, 0, 1, 75,255,255,125,
|
||||
/* 0x0160 */ 125, 8, 65, 21, 75,255,255,117, 65,160,255,244, 32, 74,242,255,
|
||||
/* 0x0150 */ 64,194, 0, 28, 56,224, 0, 3, 57, 0, 0, 1, 75,255,255,125,
|
||||
/* 0x0160 */ 125, 8, 65, 21, 75,255,255,117, 65,192,255,244, 32, 74,242,255,
|
||||
/* 0x0170 */ 125, 8, 57, 20,124,234, 42, 20,125, 9, 3,166,141, 7, 0, 1,
|
||||
/* 0x0180 */ 157, 5, 0, 1, 66, 0,255,248, 56,224, 1, 0,124, 7, 41,236,
|
||||
/* 0x0180 */ 157, 5, 0, 1, 67, 32,255,248, 56,224, 1, 0,124, 7, 41,236,
|
||||
/* 0x0190 */ 124, 7, 26, 44, 75,255,255,112,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x01a0 */ 40, 7, 0, 5, 64,130, 1, 32,144,166, 0, 0,124,132, 26, 20,
|
||||
/* 0x01b0 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255,
|
||||
/* 0x01c0 */ 57, 64,255,255, 72, 0, 0,240, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x01d0 */ 56, 99, 0, 4,124, 9, 0, 64,125, 41, 72, 20, 97, 41, 0, 1,
|
||||
/* 0x01e0 */ 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1,124, 9, 0, 64,
|
||||
/* 0x01f0 */ 125, 41, 74, 20, 65,162,255,213, 65,129,255,236, 56,224, 0, 1,
|
||||
/* 0x0200 */ 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21, 65,162,255,189,
|
||||
/* 0x0210 */ 124,231, 57, 21,125, 41, 72, 21, 65,162,255,177,124,231, 57, 21,
|
||||
/* 0x0220 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255,161, 65,160,255,216,
|
||||
/* 0x0230 */ 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46, 65,128, 0, 24,
|
||||
/* 0x0240 */ 140, 67, 0, 1,124,234, 16,249,125, 74, 14,112, 65,130, 0, 0,
|
||||
/* 0x0250 */ 72, 0, 0, 12,125, 41, 72, 21, 65,162,255,113,125, 8, 65, 21,
|
||||
/* 0x0260 */ 125, 41, 72, 21, 65,162,255,101,125, 8, 65, 21, 64,130, 0, 40,
|
||||
/* 0x0270 */ 57, 0, 0, 1,125, 41, 72, 21, 65,162,255, 81,125, 8, 65, 21,
|
||||
/* 0x0280 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 65, 65,160,255,232,
|
||||
/* 0x01f0 */ 125, 41, 74, 20, 65,194,255,213, 65,225,255,236, 56,224, 0, 1,
|
||||
/* 0x0200 */ 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21, 65,194,255,189,
|
||||
/* 0x0210 */ 124,231, 57, 21,125, 41, 72, 21, 65,194,255,177,124,231, 57, 21,
|
||||
/* 0x0220 */ 124, 9, 0, 64,125, 41, 74, 20, 65,194,255,161, 65,192,255,216,
|
||||
/* 0x0230 */ 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46, 65,192, 0, 24,
|
||||
/* 0x0240 */ 140, 67, 0, 1,124,234, 16,249,125, 74, 14,112, 65,194, 0, 0,
|
||||
/* 0x0250 */ 72, 0, 0, 12,125, 41, 72, 21, 65,194,255,113,125, 8, 65, 21,
|
||||
/* 0x0260 */ 125, 41, 72, 21, 65,194,255,101,125, 8, 65, 21, 64,130, 0, 40,
|
||||
/* 0x0270 */ 57, 0, 0, 1,125, 41, 72, 21, 65,194,255, 81,125, 8, 65, 21,
|
||||
/* 0x0280 */ 124, 9, 0, 64,125, 41, 74, 20, 65,194,255, 65, 65,192,255,232,
|
||||
/* 0x0290 */ 57, 8, 0, 2, 32,234,250,255, 57, 8, 0, 1,125, 8, 1,148,
|
||||
/* 0x02a0 */ 124,234, 42, 20,125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1,
|
||||
/* 0x02b0 */ 66, 0,255,248, 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44,
|
||||
/* 0x02b0 */ 67, 32,255,248, 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44,
|
||||
/* 0x02c0 */ 75,255,255, 44,124, 0, 41,236,125,168, 2,166, 40, 7, 0, 8,
|
||||
/* 0x02d0 */ 64,130, 1, 60,144,166, 0, 0,124,132, 26, 20, 60, 0,128, 0,
|
||||
/* 0x02e0 */ 61, 32,128, 0, 56, 99,255,255, 56,165,255,255, 57, 64,255,255,
|
||||
/* 0x02f0 */ 72, 0, 1, 12, 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,
|
||||
/* 0x0300 */ 124, 9, 0, 64,125, 41, 72, 20, 97, 41, 0, 1, 78,128, 0, 32,
|
||||
/* 0x0310 */ 141, 3, 0, 1,157, 5, 0, 1,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0320 */ 65,162,255,213, 65,129,255,236, 56,224, 0, 1, 72, 0, 0, 20,
|
||||
/* 0x0330 */ 56,231,255,255,125, 41, 72, 21, 65,162,255,189,124,231, 57, 20,
|
||||
/* 0x0340 */ 125, 41, 72, 21, 65,162,255,177,124,231, 57, 20,124, 9, 0, 64,
|
||||
/* 0x0350 */ 125, 41, 74, 20, 65,162,255,161, 65,160,255,216, 57, 0, 0, 0,
|
||||
/* 0x0360 */ 52,231,255,253, 84,231, 64, 46, 65,128, 0, 32,140, 67, 0, 1,
|
||||
/* 0x0370 */ 124,234, 16,249,125, 74, 14,112, 65,130, 0, 0,112, 66, 0, 1,
|
||||
/* 0x0380 */ 65,162, 0, 80, 72, 0, 0, 20,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0390 */ 65,162,255,101, 65,161, 0, 60, 57, 0, 0, 1,124, 9, 0, 64,
|
||||
/* 0x03a0 */ 125, 41, 74, 20, 65,162,255, 81, 65,161, 0, 40,125, 41, 72, 21,
|
||||
/* 0x03b0 */ 65,162,255, 69,125, 8, 65, 20,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x03c0 */ 65,162,255, 53, 65,160,255,232, 57, 8, 0, 2, 72, 0, 0, 16,
|
||||
/* 0x03d0 */ 125, 41, 72, 21, 65,162,255, 33,125, 8, 65, 20, 32,234,250,255,
|
||||
/* 0x0320 */ 65,194,255,213, 65,225,255,236, 56,224, 0, 1, 72, 0, 0, 20,
|
||||
/* 0x0330 */ 56,231,255,255,125, 41, 72, 21, 65,194,255,189,124,231, 57, 20,
|
||||
/* 0x0340 */ 125, 41, 72, 21, 65,194,255,177,124,231, 57, 20,124, 9, 0, 64,
|
||||
/* 0x0350 */ 125, 41, 74, 20, 65,194,255,161, 65,192,255,216, 57, 0, 0, 0,
|
||||
/* 0x0360 */ 52,231,255,253, 84,231, 64, 46, 65,192, 0, 32,140, 67, 0, 1,
|
||||
/* 0x0370 */ 124,234, 16,249,125, 74, 14,112, 65,194, 0, 0,112, 66, 0, 1,
|
||||
/* 0x0380 */ 65,226, 0, 80, 72, 0, 0, 20,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0390 */ 65,194,255,101, 65,225, 0, 60, 57, 0, 0, 1,124, 9, 0, 64,
|
||||
/* 0x03a0 */ 125, 41, 74, 20, 65,194,255, 81, 65,225, 0, 40,125, 41, 72, 21,
|
||||
/* 0x03b0 */ 65,194,255, 69,125, 8, 65, 20,124, 9, 0, 64,125, 41, 74, 20,
|
||||
/* 0x03c0 */ 65,194,255, 53, 65,192,255,232, 57, 8, 0, 2, 72, 0, 0, 16,
|
||||
/* 0x03d0 */ 125, 41, 72, 21, 65,194,255, 33,125, 8, 65, 20, 32,234,250,255,
|
||||
/* 0x03e0 */ 57, 8, 0, 2,125, 8, 1,148,124,234, 42, 20,125, 9, 3,166,
|
||||
/* 0x03f0 */ 141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248, 56,224, 1, 0,
|
||||
/* 0x03f0 */ 141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248, 56,224, 1, 0,
|
||||
/* 0x0400 */ 124, 7, 41,236,124, 7, 26, 44, 75,255,255, 16,128,230, 0, 0,
|
||||
/* 0x0410 */ 125,168, 3,166,124,100, 24, 80,124,135, 40, 80, 56, 99, 0, 1,
|
||||
/* 0x0420 */ 56,132, 0, 1,144,134, 0, 0, 96,231, 0, 31,124, 0, 56,108,
|
||||
/* 0x0430 */ 124, 7, 40, 64,124, 0, 63,172, 56,231, 0, 32, 65,128,255,240,
|
||||
/* 0x0440 */ 124, 0, 4,172, 76, 0, 1, 44, 78,128, 0, 32, 40, 7, 0, 14,
|
||||
/* 0x0450 */ 64,130, 0, 32,124, 8, 2,166,124,201, 51,120,129, 6, 0, 0,
|
||||
/* 0x0450 */ 64,130, 0, 0,124, 8, 2,166,124,201, 51,120,129, 6, 0, 0,
|
||||
/* 0x0460 */ 124,167, 43,120, 56,164,255,254, 56,131, 0, 2,144, 1, 0, 8,
|
||||
/* 0x0470 */ 136, 3, 0, 0, 84, 11,232,254, 84, 2, 7,126, 56, 96,250, 0,
|
||||
/* 0x0480 */ 124, 99, 88, 48, 56, 99,241,124,124, 38, 11,120,124, 33, 26, 20,
|
||||
|
||||
655
src/stub/ppc64le-darwin.dylib-entry.h
Normal file
655
src/stub/ppc64le-darwin.dylib-entry.h
Normal file
@ -0,0 +1,655 @@
|
||||
/* ppc64le-darwin.dylib-entry.h
|
||||
created from ppc64le-darwin.dylib-entry.bin, 9851 (0x267b) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2015 Laszlo Molnar
|
||||
Copyright (C) 2000-2015 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_PPC64LE_DARWIN_DYLIB_ENTRY_SIZE 9851
|
||||
#define STUB_PPC64LE_DARWIN_DYLIB_ENTRY_ADLER32 0x8aee5b0b
|
||||
#define STUB_PPC64LE_DARWIN_DYLIB_ENTRY_CRC32 0x8c0151f0
|
||||
|
||||
unsigned char stub_ppc64le_darwin_dylib_entry[9851] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 1, 0, 21, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,152, 29, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 22, 0, 19, 0,
|
||||
/* 0x0040 */ 166, 2, 72,124, 1, 0, 0, 72,236, 41, 0,124,166, 2,168,125,
|
||||
/* 0x0050 */ 8, 0, 7, 40, 92, 1,130, 64, 0, 0,166,248, 20, 26,132,124,
|
||||
/* 0x0060 */ 0,128, 0, 60,198, 7, 0,120, 0,128, 32, 61,198, 7, 41,121,
|
||||
/* 0x0070 */ 255,255, 99, 56,255,255,165, 56,255,255, 64, 57, 36, 1, 0, 72,
|
||||
/* 0x0080 */ 1, 0, 32, 57, 46, 24, 41,125, 4, 0, 99, 56,198, 7, 41,121,
|
||||
/* 0x0090 */ 64, 0, 41,124, 20, 72, 41,125, 1, 0,128, 57,198, 7,140,121,
|
||||
/* 0x00a0 */ 120, 99, 41,125, 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157,
|
||||
/* 0x00b0 */ 64, 0, 41,124, 20, 74, 41,125,201,255,194, 65,236,255,225, 65,
|
||||
/* 0x00c0 */ 1, 0,224, 56, 20, 0, 0, 72,255,255,231, 56, 21, 72, 41,125,
|
||||
/* 0x00d0 */ 177,255,194, 65, 20, 57,231,124, 21, 72, 41,125,165,255,194, 65,
|
||||
/* 0x00e0 */ 20, 57,231,124, 64, 0, 41,124, 20, 74, 41,125,149,255,194, 65,
|
||||
/* 0x00f0 */ 216,255,192, 65, 0, 0, 0, 57,253,255,231, 52, 46, 64,231, 84,
|
||||
/* 0x0100 */ 255,255,128, 57,198, 7,140,121,120, 99,231,124, 32, 0,192, 65,
|
||||
/* 0x0110 */ 1, 0, 67,140,249, 16,234,124,112, 14, 74,125, 0, 0,194, 65,
|
||||
/* 0x0120 */ 1, 0, 66,112, 80, 0,226, 65, 20, 0, 0, 72, 64, 0, 41,124,
|
||||
/* 0x0130 */ 20, 74, 41,125, 77,255,194, 65, 60, 0,225, 65, 1, 0, 0, 57,
|
||||
/* 0x0140 */ 64, 0, 41,124, 20, 74, 41,125, 57,255,194, 65, 40, 0,225, 65,
|
||||
/* 0x0150 */ 21, 72, 41,125, 45,255,194, 65, 20, 65, 8,125, 64, 0, 41,124,
|
||||
/* 0x0160 */ 20, 74, 41,125, 29,255,194, 65,232,255,192, 65, 2, 0, 8, 57,
|
||||
/* 0x0170 */ 16, 0, 0, 72, 21, 72, 41,125, 9,255,194, 65, 20, 65, 8,125,
|
||||
/* 0x0180 */ 255,250,234, 32, 2, 0, 8, 57,148, 1, 8,125, 20, 42,234,124,
|
||||
/* 0x0190 */ 166, 3, 9,125, 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67,
|
||||
/* 0x01a0 */ 0, 1,224, 56,236, 41, 7,124, 44, 26, 7,124, 4,255,255, 75,
|
||||
/* 0x01b0 */ 236, 41, 0,124,166, 2,168,125, 5, 0, 7, 40, 56, 1,130, 64,
|
||||
/* 0x01c0 */ 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120,
|
||||
/* 0x01d0 */ 0,128, 32, 61,198, 7, 0,120,255,255, 99, 56,255,255,165, 56,
|
||||
/* 0x01e0 */ 255,255, 64, 57, 0, 1, 0, 72, 1, 0, 32, 57, 46, 24, 41,125,
|
||||
/* 0x01f0 */ 4, 0, 99, 56,198, 7, 41,121, 64, 0, 9,124, 20, 72, 41,125,
|
||||
/* 0x0200 */ 1, 0, 41, 97, 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157,
|
||||
/* 0x0210 */ 64, 0, 41,124, 20, 74, 41,125,209,255,194, 65,236,255,225, 65,
|
||||
/* 0x0220 */ 1, 0,224, 56, 20, 0, 0, 72,255,255,231, 56, 21, 72, 41,125,
|
||||
/* 0x0230 */ 185,255,194, 65, 21, 57,231,124, 21, 72, 41,125,173,255,194, 65,
|
||||
/* 0x0240 */ 21, 57,231,124, 64, 0, 41,124, 20, 74, 41,125,157,255,194, 65,
|
||||
/* 0x0250 */ 216,255,192, 65, 0, 0, 0, 57,253,255,231, 52, 46, 64,231, 84,
|
||||
/* 0x0260 */ 255,255,128, 57,198, 7,140,121,120, 99,231,124, 24, 0,192, 65,
|
||||
/* 0x0270 */ 1, 0, 67,140,249, 16,234,124,112, 14, 74,125, 0, 0,194, 65,
|
||||
/* 0x0280 */ 12, 0, 0, 72, 21, 72, 41,125, 97,255,194, 65, 21, 65, 8,125,
|
||||
/* 0x0290 */ 21, 72, 41,125, 85,255,194, 65, 21, 65, 8,125, 40, 0,130, 64,
|
||||
/* 0x02a0 */ 1, 0, 0, 57, 21, 72, 41,125, 65,255,194, 65, 21, 65, 8,125,
|
||||
/* 0x02b0 */ 64, 0, 41,124, 20, 74, 41,125, 49,255,194, 65,232,255,192, 65,
|
||||
/* 0x02c0 */ 2, 0, 8, 57,255,250,234, 32, 1, 0, 8, 57,148, 1, 8,125,
|
||||
/* 0x02d0 */ 20, 42,234,124,166, 3, 9,125, 1, 0, 7,141, 1, 0, 5,157,
|
||||
/* 0x02e0 */ 248,255, 32, 67, 0, 1,224, 56,236, 41, 7,124, 44, 26, 7,124,
|
||||
/* 0x02f0 */ 32,255,255, 75,236, 41, 0,124,166, 2,168,125, 2, 0, 7, 40,
|
||||
/* 0x0300 */ 252, 0,130, 64, 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,
|
||||
/* 0x0310 */ 198, 7, 0,120, 0,128, 32, 61,198, 7, 0,120,255,255, 99, 56,
|
||||
/* 0x0320 */ 255,255,165, 56,255,255, 64, 57,196, 0, 0, 72, 64, 0, 41,124,
|
||||
/* 0x0330 */ 20, 72, 41,125, 32, 0,226, 76, 1, 0, 32, 57, 46, 24, 41,125,
|
||||
/* 0x0340 */ 4, 0, 99, 56,198, 7, 41,121, 64, 0, 41,124, 20, 73, 41,125,
|
||||
/* 0x0350 */ 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157,209,255,255, 75,
|
||||
/* 0x0360 */ 244,255,225, 65, 1, 0,224, 56,197,255,255, 75, 21, 57,231,124,
|
||||
/* 0x0370 */ 189,255,255, 75,244,255,192, 65,253,255,231, 52, 0, 0, 0, 57,
|
||||
/* 0x0380 */ 32, 0,192, 65, 1, 0, 67,140, 46, 64,231, 84,255,255,128, 57,
|
||||
/* 0x0390 */ 198, 7,140,121,120, 99,231,124,249, 16,234,124, 0, 0,194, 65,
|
||||
/* 0x03a0 */ 141,255,255, 75, 21, 65, 8,125,133,255,255, 75, 21, 65, 8,125,
|
||||
/* 0x03b0 */ 1, 0,224, 56, 28, 0,194, 64, 3, 0,224, 56, 1, 0, 0, 57,
|
||||
/* 0x03c0 */ 109,255,255, 75, 21, 65, 8,125,101,255,255, 75,244,255,192, 65,
|
||||
/* 0x03d0 */ 255,242, 74, 32, 20, 57, 8,125, 20, 42,234,124,166, 3, 9,125,
|
||||
/* 0x03e0 */ 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,
|
||||
/* 0x03f0 */ 236, 41, 7,124, 44, 26, 7,124,100,255,255, 75, 14, 0, 7, 40,
|
||||
/* 0x0400 */ 0, 0,130, 64,166, 2, 8,124,120, 51,201,124, 0, 0, 6,129,
|
||||
/* 0x0410 */ 120, 43,167,124,254,255,164, 56, 2, 0,131, 56, 8, 0, 1,144,
|
||||
/* 0x0420 */ 0, 0, 3,136,254,232, 11, 84,126, 7, 2, 84, 0,250, 96, 56,
|
||||
/* 0x0430 */ 48, 88, 99,124,124,241, 99, 56,120, 11, 38,124, 20, 26, 33,124,
|
||||
/* 0x0440 */ 52, 0, 33, 84, 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144,
|
||||
/* 0x0450 */ 252,255, 3,148, 64, 24, 1,124,248,255,128, 65, 0, 0,193,144,
|
||||
/* 0x0460 */ 255,255, 4,136, 8, 0,225,144, 16, 0,193, 56, 12, 0, 33,145,
|
||||
/* 0x0470 */ 20, 0, 97, 56, 62,225, 11, 84, 62, 7, 0, 84, 2, 0, 67,152,
|
||||
/* 0x0480 */ 1, 0, 99,153, 0, 0, 3,152,124, 8, 2,166,148, 33,255,160,
|
||||
/* 0x0490 */ 189,193, 0, 24,144, 1, 0,100, 59, 32, 0, 0,137, 67, 0, 2,
|
||||
/* 0x04a0 */ 137, 99, 0, 1,138, 67, 0, 0,147, 38, 0, 0,147, 41, 0, 0,
|
||||
/* 0x04b0 */ 136, 3, 0, 1,125, 40, 3,166,124, 18, 2, 20, 57, 32, 3, 0,
|
||||
/* 0x04c0 */ 125, 41, 0, 48, 56, 9, 7, 54,127,153, 0, 64, 57, 32, 0, 1,
|
||||
/* 0x04d0 */ 125, 43, 88, 48,125, 41, 80, 48, 57, 41,255,255, 57,107,255,255,
|
||||
/* 0x04e0 */ 145, 33, 0, 8,124,206, 51,120,124,147, 35,120,124,245, 59,120,
|
||||
/* 0x04f0 */ 125, 20, 67,120,145, 97, 0, 12, 59, 3, 0, 4, 59,224, 0, 0,
|
||||
/* 0x0500 */ 58,224, 0, 0, 59, 64, 0, 1, 58, 32, 0, 1, 58, 0, 0, 1,
|
||||
/* 0x0510 */ 57,224, 0, 1, 57, 32, 0, 0, 64,156, 0, 28,124, 9, 3,166,
|
||||
/* 0x0520 */ 57, 96, 4, 0, 85, 32, 8, 60,125,120, 3, 46, 57, 41, 0, 1,
|
||||
/* 0x0530 */ 66, 0,255,244,127,179, 42, 20,126,108,155,120, 56,160, 0, 0,
|
||||
/* 0x0540 */ 57, 0,255,255, 57, 96, 0, 0,127,140,232, 0, 57,107, 0, 1,
|
||||
/* 0x0550 */ 47, 11, 0, 4, 84,169, 64, 46, 65,158, 8,156,136, 12, 0, 0,
|
||||
/* 0x0560 */ 57,140, 0, 1,125, 37, 3,120, 64,153,255,224,127,153,160, 64,
|
||||
/* 0x0570 */ 64,156, 8,100, 62,192, 0,255, 98,214,255,255,128, 1, 0, 8,
|
||||
/* 0x0580 */ 127,136,176, 64,127, 35, 0, 56, 86,224, 32, 54,124, 0, 26, 20,
|
||||
/* 0x0590 */ 84, 6, 8, 60, 65,157, 0, 32,127,140,232, 0, 65,158, 8, 88,
|
||||
/* 0x05a0 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x05b0 */ 57,140, 0, 1,124,230,194, 46, 85, 0,170,254,125, 64, 57,214,
|
||||
/* 0x05c0 */ 127,133, 80, 64, 64,156, 1,172,128, 1, 0, 12, 47,151, 0, 6,
|
||||
/* 0x05d0 */ 127, 41, 0, 56, 32, 18, 0, 8,127,224, 6, 48,125, 41,144, 48,
|
||||
/* 0x05e0 */ 125, 41, 2, 20, 29, 41, 6, 0, 32, 7, 8, 0,124, 0, 46,112,
|
||||
/* 0x05f0 */ 124, 7, 2, 20,125, 56, 74, 20,124, 6,195, 46,125, 72, 83,120,
|
||||
/* 0x0600 */ 56,201, 14,108, 56, 96, 0, 1, 64,157, 0,180,124, 26,200, 80,
|
||||
/* 0x0610 */ 63, 96, 0,255,127,245, 0,174, 99,123,255,255, 87,255, 8, 60,
|
||||
/* 0x0620 */ 87,252, 5,238,127,136,216, 64, 87,128, 8, 60, 84,100, 8, 60,
|
||||
/* 0x0630 */ 124, 6, 2, 20,127, 12,232, 0, 84,169, 64, 46,124,224, 34, 20,
|
||||
/* 0x0640 */ 65,157, 0, 24, 65,154, 7,176,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0650 */ 57,140, 0, 1,125, 37, 3,120,161,103, 2, 0, 85, 0,170,254,
|
||||
/* 0x0660 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x0670 */ 85,105,217,126,124, 11, 2, 20, 47, 28, 0, 0,125,105, 88, 80,
|
||||
/* 0x0680 */ 124,131, 35,120,125, 10, 64, 80, 64,156, 0, 20,176, 7, 2, 0,
|
||||
/* 0x0690 */ 125, 72, 83,120, 65,186, 0, 24, 72, 0, 0, 28,177,103, 2, 0,
|
||||
/* 0x06a0 */ 124,170, 40, 80, 56,100, 0, 1, 65,154, 0, 12, 47,131, 0,255,
|
||||
/* 0x06b0 */ 64,157,255,108, 47,131, 0,255, 65,157, 0,132, 63,224, 0,255,
|
||||
/* 0x06c0 */ 99,255,255,255,127,136,248, 64, 84,103, 8, 60,127, 12,232, 0,
|
||||
/* 0x06d0 */ 84,169, 64, 46,124,227, 59,120, 65,157, 0, 24, 65,154, 7, 24,
|
||||
/* 0x06e0 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x06f0 */ 125,102, 58, 46, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,
|
||||
/* 0x0700 */ 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,
|
||||
/* 0x0710 */ 125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,
|
||||
/* 0x0720 */ 124, 6, 59, 46, 72, 0, 0, 16,124,170, 40, 80,125,102, 59, 46,
|
||||
/* 0x0730 */ 56,103, 0, 1, 47,131, 0,255, 64,157,255,140, 47,151, 0, 3,
|
||||
/* 0x0740 */ 84,127, 6, 62,127,249,169,174, 59, 57, 0, 1, 65,157, 0, 12,
|
||||
/* 0x0750 */ 58,224, 0, 0, 72, 0, 6,120, 47,151, 0, 9, 65,157, 0, 12,
|
||||
/* 0x0760 */ 58,247,255,253, 72, 0, 6,104, 58,247,255,250, 72, 0, 6, 96,
|
||||
/* 0x0770 */ 125, 10, 64, 80,127,136,176, 64, 84,224,217,126,124, 0, 56, 80,
|
||||
/* 0x0780 */ 86,233, 8, 60,124, 6,195, 46,124,170, 40, 80,124,248, 74, 20,
|
||||
/* 0x0790 */ 65,157, 0, 32,127,140,232, 0, 65,158, 6, 92,137, 44, 0, 0,
|
||||
/* 0x07a0 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x07b0 */ 161,103, 1,128, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x07c0 */ 64,156, 0, 64, 32, 11, 8, 0, 47,151, 0, 6,124, 0, 46,112,
|
||||
/* 0x07d0 */ 124, 11, 2, 20,176, 7, 1,128,126, 15,131,120,125, 72, 83,120,
|
||||
/* 0x07e0 */ 126, 48,139,120, 56, 0, 0, 0,127, 81,211,120, 64,157, 0, 8,
|
||||
/* 0x07f0 */ 56, 0, 0, 3,124, 23, 3,120, 56,216, 6,100, 72, 0, 2, 24,
|
||||
/* 0x0800 */ 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x0810 */ 124,170, 40, 80,176, 7, 1,128, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x0820 */ 65,158, 5,212,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x0830 */ 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,152, 85, 0,170,254,
|
||||
/* 0x0840 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0,188, 32, 11, 8, 0,
|
||||
/* 0x0850 */ 127,138,176, 64,124, 0, 46,112, 86,233, 40, 52,124, 11, 2, 20,
|
||||
/* 0x0860 */ 125, 56, 74, 20, 84,107, 8, 60,176, 7, 1,152,125, 72, 83,120,
|
||||
/* 0x0870 */ 124,233, 90, 20, 65,157, 0, 32,127,140,232, 0, 65,158, 5,120,
|
||||
/* 0x0880 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 72, 64, 46,
|
||||
/* 0x0890 */ 57,140, 0, 1,161,103, 1,224, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x08a0 */ 127,133, 80, 64, 64,156, 0, 72, 32, 11, 8, 0, 47,153, 0, 0,
|
||||
/* 0x08b0 */ 124, 0, 46,112,124, 11, 2, 20,176, 7, 1,224,125, 72, 83,120,
|
||||
/* 0x08c0 */ 65,158, 5, 52, 47,151, 0, 6, 57, 32, 0, 9, 64,157, 0, 8,
|
||||
/* 0x08d0 */ 57, 32, 0, 11,124, 26,200, 80,127,245, 0,174,125, 55, 75,120,
|
||||
/* 0x08e0 */ 127,249,169,174, 59, 57, 0, 1, 72, 0, 4,228, 85, 96,217,126,
|
||||
/* 0x08f0 */ 124, 0, 88, 80,124,170, 40, 80,125, 10, 64, 80,176, 7, 1,224,
|
||||
/* 0x0900 */ 72, 0, 0,252,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,
|
||||
/* 0x0910 */ 124, 0, 88, 80,124,170, 40, 80,176, 7, 1,152, 65,157, 0, 32,
|
||||
/* 0x0920 */ 127,140,232, 0, 65,158, 4,208,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x0930 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,176,
|
||||
/* 0x0940 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32,
|
||||
/* 0x0950 */ 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,
|
||||
/* 0x0960 */ 126, 41,139,120,176, 7, 1,176, 72, 0, 0,140,125, 10, 64, 80,
|
||||
/* 0x0970 */ 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x0980 */ 176, 7, 1,176, 65,157, 0, 32,127,140,232, 0, 65,158, 4,104,
|
||||
/* 0x0990 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x09a0 */ 57,140, 0, 1,161,103, 1,200, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x09b0 */ 127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112,
|
||||
/* 0x09c0 */ 124, 11, 2, 20,125, 72, 83,120,126, 9,131,120,176, 7, 1,200,
|
||||
/* 0x09d0 */ 72, 0, 0, 32, 85, 96,217,126,124, 0, 88, 80,125,233,123,120,
|
||||
/* 0x09e0 */ 176, 7, 1,200,124,170, 40, 80,125, 10, 64, 80,126, 15,131,120,
|
||||
/* 0x09f0 */ 126, 48,139,120,127, 81,211,120,125, 58, 75,120, 47,151, 0, 6,
|
||||
/* 0x0a00 */ 56, 0, 0, 8, 64,157, 0, 8, 56, 0, 0, 11,124, 23, 3,120,
|
||||
/* 0x0a10 */ 56,216, 10,104,127,136,176, 64, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x0a20 */ 65,158, 3,212,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x0a30 */ 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 0, 85, 0,170,254,
|
||||
/* 0x0a40 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0,
|
||||
/* 0x0a50 */ 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x0a60 */ 125, 72, 83,120, 56,137, 0, 4, 59,128, 0, 0, 59, 96, 0, 3,
|
||||
/* 0x0a70 */ 176, 6, 0, 0, 72, 0, 0,156,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x0a80 */ 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 0,
|
||||
/* 0x0a90 */ 65,157, 0, 32,127,140,232, 0, 65,158, 3, 92,137, 44, 0, 0,
|
||||
/* 0x0aa0 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0ab0 */ 161,102, 0, 2, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x0ac0 */ 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20,
|
||||
/* 0x0ad0 */ 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120, 56,137, 1, 4,
|
||||
/* 0x0ae0 */ 59,128, 0, 8, 59, 96, 0, 3,176, 6, 0, 2, 72, 0, 0, 36,
|
||||
/* 0x0af0 */ 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 2,
|
||||
/* 0x0b00 */ 125, 10, 64, 80, 56,134, 2, 4, 59,128, 0, 16, 59, 96, 0, 8,
|
||||
/* 0x0b10 */ 127,105, 3,166, 63,224, 0,255, 99,255,255,255, 56, 96, 0, 1,
|
||||
/* 0x0b20 */ 127,136,248, 64, 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,
|
||||
/* 0x0b30 */ 124,227, 59,120, 65,157, 0, 24, 65,154, 2,188,136, 12, 0, 0,
|
||||
/* 0x0b40 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,125,100, 58, 46,
|
||||
/* 0x0b50 */ 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,
|
||||
/* 0x0b60 */ 124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,
|
||||
/* 0x0b70 */ 125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,124, 4, 59, 46,
|
||||
/* 0x0b80 */ 72, 0, 0, 16,124,170, 40, 80, 56,103, 0, 1,125,100, 59, 46,
|
||||
/* 0x0b90 */ 66, 0,255,144, 56, 0, 0, 1, 47,151, 0, 3,124, 0,216, 48,
|
||||
/* 0x0ba0 */ 124, 96, 24, 80,124, 99,226, 20, 65,157, 1,232, 47,131, 0, 3,
|
||||
/* 0x0bb0 */ 58,247, 0, 7,124,105, 27,120, 64,157, 0, 8, 57, 32, 0, 3,
|
||||
/* 0x0bc0 */ 85, 41, 56, 48,125, 56, 74, 20, 56,201, 3, 96, 57, 32, 0, 6,
|
||||
/* 0x0bd0 */ 125, 41, 3,166, 63,224, 0,255, 99,255,255,255, 56,128, 0, 1,
|
||||
/* 0x0be0 */ 127,136,248, 64, 84,135, 8, 60,127, 12,232, 0, 84,169, 64, 46,
|
||||
/* 0x0bf0 */ 124,228, 59,120, 65,157, 0, 24, 65,154, 1,252,136, 12, 0, 0,
|
||||
/* 0x0c00 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46,
|
||||
/* 0x0c10 */ 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,
|
||||
/* 0x0c20 */ 124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,
|
||||
/* 0x0c30 */ 125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46,
|
||||
/* 0x0c40 */ 72, 0, 0, 16,124,170, 40, 80, 56,135, 0, 1,125,102, 59, 46,
|
||||
/* 0x0c50 */ 66, 0,255,144, 56,132,255,192, 47,132, 0, 3,124,154, 35,120,
|
||||
/* 0x0c60 */ 64,157, 1, 40, 47,132, 0, 13,124,137, 14,112, 84,128, 7,254,
|
||||
/* 0x0c70 */ 57,105,255,255, 96, 26, 0, 2,125,105, 3,166, 65,157, 0, 32,
|
||||
/* 0x0c80 */ 127, 90, 88, 48, 87, 73, 8, 60,125, 56, 74, 20, 84,128, 8, 60,
|
||||
/* 0x0c90 */ 125, 32, 72, 80, 56,201, 5, 94, 72, 0, 0,100, 57, 41,255,251,
|
||||
/* 0x0ca0 */ 125, 41, 3,166, 61, 96, 0,255, 97,107,255,255,127,136, 88, 64,
|
||||
/* 0x0cb0 */ 127, 12,232, 0, 84,169, 64, 46, 87, 90, 8, 60, 65,157, 0, 24,
|
||||
/* 0x0cc0 */ 65,154, 1, 52,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0cd0 */ 125, 37, 3,120, 85, 8,248,126,127,133, 64, 64, 65,156, 0, 12,
|
||||
/* 0x0ce0 */ 124,168, 40, 80, 99, 90, 0, 1, 66, 0,255,196, 56, 0, 0, 4,
|
||||
/* 0x0cf0 */ 124, 9, 3,166, 87, 90, 32, 54, 56,216, 6, 68, 60,128, 0,255,
|
||||
/* 0x0d00 */ 96,132,255,255, 59,128, 0, 1, 59,224, 0, 1,127,136, 32, 64,
|
||||
/* 0x0d10 */ 87,231, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,255, 59,120,
|
||||
/* 0x0d20 */ 65,157, 0, 24, 65,154, 0,208,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0d30 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x0d40 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x0d50 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x0d60 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 20,
|
||||
/* 0x0d70 */ 124,170, 40, 80, 59,231, 0, 1,125,102, 59, 46,127, 90,227,120,
|
||||
/* 0x0d80 */ 87,156, 8, 60, 66, 0,255,136, 55, 90, 0, 1, 65,130, 0, 72,
|
||||
/* 0x0d90 */ 127,154,200, 64, 56, 99, 0, 2, 65,157, 0, 92,124, 26,200, 80,
|
||||
/* 0x0da0 */ 127,245, 0,174, 56, 99,255,255,127,249,169,174, 59, 57, 0, 1,
|
||||
/* 0x0db0 */ 49, 99,255,255,125, 43, 25, 16,124, 20,200, 16,124, 0, 1, 16,
|
||||
/* 0x0dc0 */ 124, 0, 0,208,125, 43, 0, 57, 64,130,255,212,127,153,160, 64,
|
||||
/* 0x0dd0 */ 65,156,247,172, 60, 0, 0,255, 96, 0,255,255,127,136, 0, 64,
|
||||
/* 0x0de0 */ 65,157, 0, 32,127,140,232, 0, 56, 96, 0, 1, 65,158, 0, 40,
|
||||
/* 0x0df0 */ 72, 0, 0, 12, 56, 96, 0, 1, 72, 0, 0, 28, 57,140, 0, 1,
|
||||
/* 0x0e00 */ 125, 40, 2,166,124, 19, 96, 80,144, 14, 0, 0, 56, 96, 0, 0,
|
||||
/* 0x0e10 */ 147, 41, 0, 0,128, 1, 0,100,185,193, 0, 24,124, 8, 3,166,
|
||||
/* 0x0e20 */ 56, 33, 0, 96,124, 8, 2,166,148, 33,255,160,189,193, 0, 24,
|
||||
/* 0x0e30 */ 144, 1, 0,100, 59, 32, 0, 0,137, 67, 0, 2,137, 99, 0, 1,
|
||||
/* 0x0e40 */ 138, 67, 0, 0,147, 38, 0, 0,147, 41, 0, 0,136, 3, 0, 1,
|
||||
/* 0x0e50 */ 125, 40, 3,166,124, 18, 2, 20, 57, 32, 3, 0,125, 41, 0, 48,
|
||||
/* 0x0e60 */ 56, 9, 7, 54,127,153, 0, 64, 57, 32, 0, 1,125, 43, 88, 48,
|
||||
/* 0x0e70 */ 125, 41, 80, 48, 57, 41,255,255, 57,107,255,255,145, 33, 0, 8,
|
||||
/* 0x0e80 */ 124,206, 51,120,124,147, 35,120,124,245, 59,120,125, 20, 67,120,
|
||||
/* 0x0e90 */ 145, 97, 0, 12, 59, 3, 0, 4, 59,224, 0, 0, 58,224, 0, 0,
|
||||
/* 0x0ea0 */ 59, 64, 0, 1, 58, 32, 0, 1, 58, 0, 0, 1, 57,224, 0, 1,
|
||||
/* 0x0eb0 */ 57, 32, 0, 0, 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0,
|
||||
/* 0x0ec0 */ 85, 32, 8, 60,125,120, 3, 46, 57, 41, 0, 1, 66, 0,255,244,
|
||||
/* 0x0ed0 */ 127,179, 42, 20,126,108,155,120, 56,160, 0, 0, 57, 0,255,255,
|
||||
/* 0x0ee0 */ 57, 96, 0, 0,127,140,232, 0, 57,107, 0, 1, 47, 11, 0, 4,
|
||||
/* 0x0ef0 */ 84,169, 64, 46, 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,
|
||||
/* 0x0f00 */ 125, 37, 3,120, 64,153,255,224,127,153,160, 64, 64,156, 8,100,
|
||||
/* 0x0f10 */ 62,192, 0,255, 98,214,255,255,128, 1, 0, 8,127,136,176, 64,
|
||||
/* 0x0f20 */ 127, 35, 0, 56, 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60,
|
||||
/* 0x0f30 */ 65,157, 0, 32,127,140,232, 0, 65,158, 8, 88,137, 44, 0, 0,
|
||||
/* 0x0f40 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0f50 */ 124,230,194, 46, 85, 0,170,254,125, 64, 57,214,127,133, 80, 64,
|
||||
/* 0x0f60 */ 64,156, 1,172,128, 1, 0, 12, 47,151, 0, 6,127, 41, 0, 56,
|
||||
/* 0x0f70 */ 32, 18, 0, 8,127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20,
|
||||
/* 0x0f80 */ 29, 41, 6, 0, 32, 7, 8, 0,124, 0, 46,112,124, 7, 2, 20,
|
||||
/* 0x0f90 */ 125, 56, 74, 20,124, 6,195, 46,125, 72, 83,120, 56,201, 14,108,
|
||||
/* 0x0fa0 */ 56, 96, 0, 1, 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,
|
||||
/* 0x0fb0 */ 127,245, 0,174, 99,123,255,255, 87,255, 8, 60, 87,252, 5,238,
|
||||
/* 0x0fc0 */ 127,136,216, 64, 87,128, 8, 60, 84,100, 8, 60,124, 6, 2, 20,
|
||||
/* 0x0fd0 */ 127, 12,232, 0, 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24,
|
||||
/* 0x0fe0 */ 65,154, 7,176,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0ff0 */ 125, 37, 3,120,161,103, 2, 0, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x1000 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x1010 */ 124, 11, 2, 20, 47, 28, 0, 0,125,105, 88, 80,124,131, 35,120,
|
||||
/* 0x1020 */ 125, 10, 64, 80, 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120,
|
||||
/* 0x1030 */ 65,186, 0, 24, 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80,
|
||||
/* 0x1040 */ 56,100, 0, 1, 65,154, 0, 12, 47,131, 0,255, 64,157,255,108,
|
||||
/* 0x1050 */ 47,131, 0,255, 65,157, 0,132, 63,224, 0,255, 99,255,255,255,
|
||||
/* 0x1060 */ 127,136,248, 64, 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,
|
||||
/* 0x1070 */ 124,227, 59,120, 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0,
|
||||
/* 0x1080 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46,
|
||||
/* 0x1090 */ 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,
|
||||
/* 0x10a0 */ 124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,
|
||||
/* 0x10b0 */ 125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46,
|
||||
/* 0x10c0 */ 72, 0, 0, 16,124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1,
|
||||
/* 0x10d0 */ 47,131, 0,255, 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,
|
||||
/* 0x10e0 */ 127,249,169,174, 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0,
|
||||
/* 0x10f0 */ 72, 0, 6,120, 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253,
|
||||
/* 0x1100 */ 72, 0, 6,104, 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,
|
||||
/* 0x1110 */ 127,136,176, 64, 84,224,217,126,124, 0, 56, 80, 86,233, 8, 60,
|
||||
/* 0x1120 */ 124, 6,195, 46,124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,
|
||||
/* 0x1130 */ 127,140,232, 0, 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x1140 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,128,
|
||||
/* 0x1150 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64,
|
||||
/* 0x1160 */ 32, 11, 8, 0, 47,151, 0, 6,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x1170 */ 176, 7, 1,128,126, 15,131,120,125, 72, 83,120,126, 48,139,120,
|
||||
/* 0x1180 */ 56, 0, 0, 0,127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,
|
||||
/* 0x1190 */ 124, 23, 3,120, 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,
|
||||
/* 0x11a0 */ 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x11b0 */ 176, 7, 1,128, 65,157, 0, 32,127,140,232, 0, 65,158, 5,212,
|
||||
/* 0x11c0 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x11d0 */ 57,140, 0, 1,161,103, 1,152, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x11e0 */ 127,133, 80, 64, 64,156, 0,188, 32, 11, 8, 0,127,138,176, 64,
|
||||
/* 0x11f0 */ 124, 0, 46,112, 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20,
|
||||
/* 0x1200 */ 84,107, 8, 60,176, 7, 1,152,125, 72, 83,120,124,233, 90, 20,
|
||||
/* 0x1210 */ 65,157, 0, 32,127,140,232, 0, 65,158, 5,120,137, 44, 0, 0,
|
||||
/* 0x1220 */ 84,160, 64, 46,124, 5, 75,120, 85, 72, 64, 46, 57,140, 0, 1,
|
||||
/* 0x1230 */ 161,103, 1,224, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x1240 */ 64,156, 0, 72, 32, 11, 8, 0, 47,153, 0, 0,124, 0, 46,112,
|
||||
/* 0x1250 */ 124, 11, 2, 20,176, 7, 1,224,125, 72, 83,120, 65,158, 5, 52,
|
||||
/* 0x1260 */ 47,151, 0, 6, 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,
|
||||
/* 0x1270 */ 124, 26,200, 80,127,245, 0,174,125, 55, 75,120,127,249,169,174,
|
||||
/* 0x1280 */ 59, 57, 0, 1, 72, 0, 4,228, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x1290 */ 124,170, 40, 80,125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,
|
||||
/* 0x12a0 */ 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x12b0 */ 124,170, 40, 80,176, 7, 1,152, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x12c0 */ 65,158, 4,208,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x12d0 */ 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,176, 85, 0,170,254,
|
||||
/* 0x12e0 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,
|
||||
/* 0x12f0 */ 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,126, 41,139,120,
|
||||
/* 0x1300 */ 176, 7, 1,176, 72, 0, 0,140,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x1310 */ 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176,
|
||||
/* 0x1320 */ 65,157, 0, 32,127,140,232, 0, 65,158, 4,104,137, 44, 0, 0,
|
||||
/* 0x1330 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x1340 */ 161,103, 1,200, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x1350 */ 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x1360 */ 125, 72, 83,120,126, 9,131,120,176, 7, 1,200, 72, 0, 0, 32,
|
||||
/* 0x1370 */ 85, 96,217,126,124, 0, 88, 80,125,233,123,120,176, 7, 1,200,
|
||||
/* 0x1380 */ 124,170, 40, 80,125, 10, 64, 80,126, 15,131,120,126, 48,139,120,
|
||||
/* 0x1390 */ 127, 81,211,120,125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8,
|
||||
/* 0x13a0 */ 64,157, 0, 8, 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,
|
||||
/* 0x13b0 */ 127,136,176, 64, 65,157, 0, 32,127,140,232, 0, 65,158, 3,212,
|
||||
/* 0x13c0 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x13d0 */ 57,140, 0, 1,161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x13e0 */ 127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,
|
||||
/* 0x13f0 */ 125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,
|
||||
/* 0x1400 */ 56,137, 0, 4, 59,128, 0, 0, 59, 96, 0, 3,176, 6, 0, 0,
|
||||
/* 0x1410 */ 72, 0, 0,156,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,
|
||||
/* 0x1420 */ 124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,
|
||||
/* 0x1430 */ 127,140,232, 0, 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x1440 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 2,
|
||||
/* 0x1450 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48,
|
||||
/* 0x1460 */ 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,
|
||||
/* 0x1470 */ 124, 11, 2, 20,125, 72, 83,120, 56,137, 1, 4, 59,128, 0, 8,
|
||||
/* 0x1480 */ 59, 96, 0, 3,176, 6, 0, 2, 72, 0, 0, 36, 85, 96,217,126,
|
||||
/* 0x1490 */ 124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 2,125, 10, 64, 80,
|
||||
/* 0x14a0 */ 56,134, 2, 4, 59,128, 0, 16, 59, 96, 0, 8,127,105, 3,166,
|
||||
/* 0x14b0 */ 63,224, 0,255, 99,255,255,255, 56, 96, 0, 1,127,136,248, 64,
|
||||
/* 0x14c0 */ 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,227, 59,120,
|
||||
/* 0x14d0 */ 65,157, 0, 24, 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x14e0 */ 57,140, 0, 1,125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,
|
||||
/* 0x14f0 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x1500 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x1510 */ 64,156, 0, 16,125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x1520 */ 124,170, 40, 80, 56,103, 0, 1,125,100, 59, 46, 66, 0,255,144,
|
||||
/* 0x1530 */ 56, 0, 0, 1, 47,151, 0, 3,124, 0,216, 48,124, 96, 24, 80,
|
||||
/* 0x1540 */ 124, 99,226, 20, 65,157, 1,232, 47,131, 0, 3, 58,247, 0, 7,
|
||||
/* 0x1550 */ 124,105, 27,120, 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,
|
||||
/* 0x1560 */ 125, 56, 74, 20, 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166,
|
||||
/* 0x1570 */ 63,224, 0,255, 99,255,255,255, 56,128, 0, 1,127,136,248, 64,
|
||||
/* 0x1580 */ 84,135, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,228, 59,120,
|
||||
/* 0x1590 */ 65,157, 0, 24, 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x15a0 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x15b0 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x15c0 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x15d0 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x15e0 */ 124,170, 40, 80, 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144,
|
||||
/* 0x15f0 */ 56,132,255,192, 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40,
|
||||
/* 0x1600 */ 47,132, 0, 13,124,137, 14,112, 84,128, 7,254, 57,105,255,255,
|
||||
/* 0x1610 */ 96, 26, 0, 2,125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48,
|
||||
/* 0x1620 */ 87, 73, 8, 60,125, 56, 74, 20, 84,128, 8, 60,125, 32, 72, 80,
|
||||
/* 0x1630 */ 56,201, 5, 94, 72, 0, 0,100, 57, 41,255,251,125, 41, 3,166,
|
||||
/* 0x1640 */ 61, 96, 0,255, 97,107,255,255,127,136, 88, 64,127, 12,232, 0,
|
||||
/* 0x1650 */ 84,169, 64, 46, 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,
|
||||
/* 0x1660 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x1670 */ 85, 8,248,126,127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80,
|
||||
/* 0x1680 */ 99, 90, 0, 1, 66, 0,255,196, 56, 0, 0, 4,124, 9, 3,166,
|
||||
/* 0x1690 */ 87, 90, 32, 54, 56,216, 6, 68, 60,128, 0,255, 96,132,255,255,
|
||||
/* 0x16a0 */ 59,128, 0, 1, 59,224, 0, 1,127,136, 32, 64, 87,231, 8, 60,
|
||||
/* 0x16b0 */ 127, 12,232, 0, 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24,
|
||||
/* 0x16c0 */ 65,154, 0,208,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x16d0 */ 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x16e0 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x16f0 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x1700 */ 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80,
|
||||
/* 0x1710 */ 59,231, 0, 1,125,102, 59, 46,127, 90,227,120, 87,156, 8, 60,
|
||||
/* 0x1720 */ 66, 0,255,136, 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64,
|
||||
/* 0x1730 */ 56, 99, 0, 2, 65,157, 0, 92,124, 26,200, 80,127,245, 0,174,
|
||||
/* 0x1740 */ 56, 99,255,255,127,249,169,174, 59, 57, 0, 1, 49, 99,255,255,
|
||||
/* 0x1750 */ 125, 43, 25, 16,124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,
|
||||
/* 0x1760 */ 125, 43, 0, 57, 64,130,255,212,127,153,160, 64, 65,156,247,172,
|
||||
/* 0x1770 */ 60, 0, 0,255, 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,
|
||||
/* 0x1780 */ 127,140,232, 0, 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12,
|
||||
/* 0x1790 */ 56, 96, 0, 1, 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,
|
||||
/* 0x17a0 */ 124, 19, 96, 80,144, 14, 0, 0, 56, 96, 0, 0,147, 41, 0, 0,
|
||||
/* 0x17b0 */ 128, 1, 0,100,185,193, 0, 24,124, 8, 3,166, 56, 33, 0, 96,
|
||||
/* 0x17c0 */ 12, 0,161,128, 8, 0,225,128, 0, 0,165,128, 0, 0, 33,128,
|
||||
/* 0x17d0 */ 20, 58,165,124, 8, 0, 1,128,255,255,165, 56,166, 3, 8,124,
|
||||
/* 0x17e0 */ 0, 0,230,232,166, 3,168,125, 80, 24,100,124, 80, 40,135,124,
|
||||
/* 0x17f0 */ 1, 0, 99, 56, 1, 0,132, 56, 0, 0,134,248, 31, 0,231, 96,
|
||||
/* 0x1800 */ 108, 56, 0,124, 64, 40, 7,124,172, 63, 0,124, 32, 0,231, 56,
|
||||
/* 0x1810 */ 240,255,128, 65,172, 4, 0,124, 44, 1, 0, 76, 32, 0,128, 78,
|
||||
/* 0x1820 */ 17,255, 65,248, 8, 0, 97,248, 16, 0,129,248, 24, 0,161,248,
|
||||
/* 0x1830 */ 32, 0,193,248, 40, 0,225,248, 48, 0, 1,249, 56, 0, 33,249,
|
||||
/* 0x1840 */ 64, 0, 65,249, 72, 0, 97,249, 80, 0,129,249, 88, 0,161,249,
|
||||
/* 0x1850 */ 96, 0,193,249,104, 0,225,249,112, 0, 1,250,120, 0, 33,250,
|
||||
/* 0x1860 */ 128, 0, 65,250,136, 0, 97,250,144, 0,129,250,152, 0,161,250,
|
||||
/* 0x1870 */ 160, 0,193,250,168, 0,225,250,176, 0, 1,251,184, 0, 33,251,
|
||||
/* 0x1880 */ 192, 0, 65,251,200, 0, 97,251,208, 0,129,251,216, 0,161,251,
|
||||
/* 0x1890 */ 224, 0,193,251,232, 0,225,251,166, 2,232,127,252,255,191,130,
|
||||
/* 0x18a0 */ 244,255,191,131,186, 1,181, 86, 20,170,189,127,252,255,181, 58,
|
||||
/* 0x18b0 */ 0, 0, 96, 56,120,235,164,127, 3, 0,160, 56, 2, 16,192, 56,
|
||||
/* 0x18c0 */ 255,255,224, 56, 0, 0, 0, 57, 0, 0, 32, 57,197, 0, 0, 56,
|
||||
/* 0x18d0 */ 2, 0, 0, 68,255,255, 96, 56,120, 27,124,124,252, 1,160, 56,
|
||||
/* 0x18e0 */ 166, 3,169,124, 20,234,131,124, 20,250,117,124,255,255, 3,140,
|
||||
/* 0x18f0 */ 255,255, 4,156,248,255, 32, 67, 80,232,165,124,166, 3,136,124,
|
||||
/* 0x1900 */ 166, 3,169,124, 32, 0,128, 78,255,255, 3,140,255,255, 4,156,
|
||||
/* 0x1910 */ 248,255, 32, 67,232,255,223,131, 80,248,227,127, 20,250,228,127,
|
||||
/* 0x1920 */ 20, 26,222,127,236,255, 95,128, 20, 18, 68,127, 20, 18, 99,127,
|
||||
/* 0x1930 */ 232,255,123, 59, 4, 0, 90,128, 12, 0, 90, 59, 20, 18, 90,127,
|
||||
/* 0x1940 */ 120,211, 88,127,120,219,121,127, 0, 0,122, 56, 49, 1, 0, 72,
|
||||
/* 0x1950 */ 104, 0,130, 65, 20, 26,123,127,120, 27,119,124, 4, 0,122, 56,
|
||||
/* 0x1960 */ 29, 1, 0, 72, 20, 26, 90,127,120, 27,118,124, 12, 0, 90, 59,
|
||||
/* 0x1970 */ 249,255,225,250,166, 3,232,127, 12, 0,120, 56,120,179,196,126,
|
||||
/* 0x1980 */ 120,203, 37,127,120, 11, 38,124, 8, 0,248,136,208,255, 33, 56,
|
||||
/* 0x1990 */ 33, 0,128, 78, 56, 0, 33, 56, 9, 0,216,136, 0, 0, 6, 40,
|
||||
/* 0x19a0 */ 160,255,130, 65, 10, 0,184,136, 0, 0,152,232,120,203, 35,127,
|
||||
/* 0x19b0 */ 241, 0, 0, 72,140,255,255, 75,145, 0, 0, 72, 2, 0, 0, 68,
|
||||
/* 0x19c0 */ 255,255, 96, 56, 0, 0, 65,232, 8, 0, 97,232, 16, 0,129,232,
|
||||
/* 0x19d0 */ 24, 0,161,232, 32, 0,193,232, 40, 0,225,232, 48, 0, 1,233,
|
||||
/* 0x19e0 */ 56, 0, 33,233, 64, 0, 65,233, 72, 0, 97,233, 80, 0,129,233,
|
||||
/* 0x19f0 */ 88, 0,161,233, 96, 0,193,233,104, 0,225,233,112, 0, 1,234,
|
||||
/* 0x1a00 */ 120, 0, 33,234,128, 0, 65,234,136, 0, 97,234,144, 0,129,234,
|
||||
/* 0x1a10 */ 152, 0,161,234,160, 0,193,234,168, 0,225,234,176, 0, 1,235,
|
||||
/* 0x1a20 */ 184, 0, 33,235,192, 0, 65,235,200, 0, 97,235,208, 0,129,235,
|
||||
/* 0x1a30 */ 216, 0,161,235,224, 0,193,235,232, 0,225,235,240, 0, 33, 56,
|
||||
/* 0x1a40 */ 166, 3, 72,124, 32, 4,128, 78, 35, 0, 64, 56,166, 2,104,124,
|
||||
/* 0x1a50 */ 140, 0, 99, 56,166, 3, 73,124,252,255, 67,132,252,255, 89,148,
|
||||
/* 0x1a60 */ 248,255, 32, 67,166, 3, 40,127,166, 3,201,127,120,227,131,127,
|
||||
/* 0x1a70 */ 120,235,164,127, 73, 0, 0, 56, 32, 0,128, 78, 3, 0, 67,136,
|
||||
/* 0x1a80 */ 2, 0, 99,137, 46, 68, 98, 81, 1, 0, 99,137, 30,130, 98, 81,
|
||||
/* 0x1a90 */ 0, 0, 99,137, 14,192, 98, 81,121, 19, 67,124, 32, 0,128, 78,
|
||||
/* 0x1aa0 */ 208, 0, 6, 40, 32, 0,194, 76,191,240,132, 84, 32, 0,194, 77,
|
||||
/* 0x1ab0 */ 16, 0, 0, 60, 64, 0, 4,124, 8, 0,128, 65,120, 3, 4,124,
|
||||
/* 0x1ac0 */ 32, 1,165, 56,120, 27,103,124,252,255, 99, 56,166, 3,137,124,
|
||||
/* 0x1ad0 */ 28, 0, 0, 72,186, 2, 75, 84, 80, 88, 99,125, 20, 58,107,125,
|
||||
/* 0x1ae0 */ 186, 1, 98, 81, 0, 0, 67,144, 32, 0, 64, 79, 4, 0, 67,132,
|
||||
/* 0x1af0 */ 190, 85, 75, 84, 64, 40, 11,124,220,255,194, 65,240,255, 32, 67,
|
||||
/* 0x1b00 */ 32, 0,128, 78, 28,253,255, 75,102,105,108,101, 32,102,111,114,
|
||||
/* 0x1b10 */ 109, 97,116, 32,101,108,102, 54, 52, 45,112,111,119,101,114,112,
|
||||
/* 0x1b20 */ 99,108,101, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,
|
||||
/* 0x1b30 */ 100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1b40 */ 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32,
|
||||
/* 0x1b50 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65,
|
||||
/* 0x1b60 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,
|
||||
/* 0x1b70 */ 105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,
|
||||
/* 0x1b80 */ 108, 97,103,115, 10, 32, 32, 48, 32, 77, 65, 67, 79, 83, 48, 48,
|
||||
/* 0x1b90 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, 32,
|
||||
/* 0x1ba0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1bb0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1bc0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50,
|
||||
/* 0x1bd0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82,
|
||||
/* 0x1be0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32,
|
||||
/* 0x1bf0 */ 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32,
|
||||
/* 0x1c00 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1c10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x1c20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x1c30 */ 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67,
|
||||
/* 0x1c40 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76,
|
||||
/* 0x1c50 */ 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32,
|
||||
/* 0x1c60 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 54, 56, 32, 32, 48, 48,
|
||||
/* 0x1c70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x1c80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1c90 */ 32, 32, 48, 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48,
|
||||
/* 0x1ca0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79,
|
||||
/* 0x1cb0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32,
|
||||
/* 0x1cc0 */ 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48,
|
||||
/* 0x1cd0 */ 48, 48, 48, 49, 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ce0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1d00 */ 48, 49, 98, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
|
||||
/* 0x1d10 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65,
|
||||
/* 0x1d20 */ 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32,
|
||||
/* 0x1d30 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 48, 56,
|
||||
/* 0x1d40 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1d50 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1d60 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,102, 52, 32, 32,
|
||||
/* 0x1d70 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
|
||||
/* 0x1d80 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x1d90 */ 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32,
|
||||
/* 0x1da0 */ 32, 32, 48, 48, 48, 48, 48, 48, 56, 99, 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, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x1dd0 */ 48, 48, 48, 48, 48, 51,102, 99, 32, 32, 50, 42, 42, 48, 32, 32,
|
||||
/* 0x1de0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44,
|
||||
/* 0x1df0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90,
|
||||
/* 0x1e00 */ 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1e10 */ 48, 57, 57, 99, 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, 48, 48, 48, 48,
|
||||
/* 0x1e30 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52,
|
||||
/* 0x1e40 */ 56, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x1e50 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55,
|
||||
/* 0x1e60 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48,
|
||||
/* 0x1e70 */ 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x1ea0 */ 48, 48,101, 50, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
|
||||
/* 0x1eb0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x1ec0 */ 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32,
|
||||
/* 0x1ed0 */ 32, 32, 48, 48, 48, 48, 48, 48, 50, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x1ef0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x1f00 */ 48, 48, 48, 48, 49, 55, 99, 48, 32, 32, 50, 42, 42, 48, 32, 32,
|
||||
/* 0x1f10 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78,
|
||||
/* 0x1f20 */ 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32,
|
||||
/* 0x1f30 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48,
|
||||
/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1f50 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f60 */ 48, 32, 32, 48, 48, 48, 48, 49, 55,101, 48, 32, 32, 50, 42, 42,
|
||||
/* 0x1f70 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65,
|
||||
/* 0x1f80 */ 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72,
|
||||
/* 0x1f90 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52,
|
||||
/* 0x1fa0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fb0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fc0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55,102, 99, 32, 32,
|
||||
/* 0x1fd0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
|
||||
/* 0x1fe0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70,
|
||||
/* 0x1ff0 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x2000 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2010 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2020 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 56, 50,
|
||||
/* 0x2030 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
|
||||
/* 0x2040 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32,
|
||||
/* 0x2050 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48,
|
||||
/* 0x2060 */ 48, 48, 48, 50,101, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2080 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x2090 */ 49, 56, 50, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
|
||||
/* 0x20a0 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83,
|
||||
/* 0x20b0 */ 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48,
|
||||
/* 0x20c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x20d0 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48,
|
||||
/* 0x20e0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20f0 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48,
|
||||
/* 0x2100 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x2110 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48,
|
||||
/* 0x2120 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2130 */ 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2150 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77,
|
||||
/* 0x2170 */ 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2180 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65,
|
||||
/* 0x2190 */ 67, 79, 83, 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21a0 */ 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 79, 83, 48, 48, 48,
|
||||
/* 0x21b0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21c0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69,
|
||||
/* 0x21d0 */ 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21e0 */ 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48,
|
||||
/* 0x21f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x2200 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48,
|
||||
/* 0x2210 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86,
|
||||
/* 0x2220 */ 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2230 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50,
|
||||
/* 0x2240 */ 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2250 */ 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2260 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2270 */ 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2280 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48,
|
||||
/* 0x2290 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x22a0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70,
|
||||
/* 0x22b0 */ 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22c0 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48,
|
||||
/* 0x22d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x22e0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67,
|
||||
/* 0x22f0 */ 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2300 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48,
|
||||
/* 0x2310 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2320 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67,
|
||||
/* 0x2330 */ 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2340 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48,
|
||||
/* 0x2350 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2360 */ 108, 32, 32, 32, 32,100, 32, 32, 67, 70, 76, 85, 83, 72, 9, 48,
|
||||
/* 0x2370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2380 */ 67, 70, 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2390 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x23a0 */ 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x23c0 */ 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23d0 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 79,
|
||||
/* 0x23e0 */ 83, 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23f0 */ 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 10, 82, 69,
|
||||
/* 0x2400 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
|
||||
/* 0x2410 */ 32, 70, 79, 82, 32, 91, 77, 65, 67, 79, 83, 48, 48, 48, 93, 58,
|
||||
/* 0x2420 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2430 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2440 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2450 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67,
|
||||
/* 0x2460 */ 54, 52, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 69, 76, 70,
|
||||
/* 0x2470 */ 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2480 */ 48, 48, 48, 48, 48, 50,101, 52, 10, 10, 82, 69, 76, 79, 67, 65,
|
||||
/* 0x2490 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82,
|
||||
/* 0x24a0 */ 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84,
|
||||
/* 0x24b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32,
|
||||
/* 0x24c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76,
|
||||
/* 0x24d0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24e0 */ 48,100, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49,
|
||||
/* 0x24f0 */ 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10,
|
||||
/* 0x2500 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82,
|
||||
/* 0x2510 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10,
|
||||
/* 0x2520 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2530 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2540 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2550 */ 48, 48, 48, 48, 48, 48, 48, 99, 99, 32, 82, 95, 80, 80, 67, 54,
|
||||
/* 0x2560 */ 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95,
|
||||
/* 0x2570 */ 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
|
||||
/* 0x2580 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82,
|
||||
/* 0x2590 */ 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32,
|
||||
/* 0x25a0 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
|
||||
/* 0x25b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
|
||||
/* 0x25c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 97, 56, 32,
|
||||
/* 0x25d0 */ 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32,
|
||||
/* 0x25e0 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79,
|
||||
/* 0x25f0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70,
|
||||
/* 0x2600 */ 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58,
|
||||
/* 0x2610 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2620 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2630 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2640 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67,
|
||||
/* 0x2650 */ 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 76, 90, 77,
|
||||
/* 0x2660 */ 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2670 */ 48, 48, 48, 48, 48, 48, 48, 48, 50, 48, 10
|
||||
};
|
||||
614
src/stub/ppc64le-darwin.macho-entry.h
Normal file
614
src/stub/ppc64le-darwin.macho-entry.h
Normal file
@ -0,0 +1,614 @@
|
||||
/* ppc64le-darwin.macho-entry.h
|
||||
created from ppc64le-darwin.macho-entry.bin, 9187 (0x23e3) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2015 Laszlo Molnar
|
||||
Copyright (C) 2000-2015 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_PPC64LE_DARWIN_MACHO_ENTRY_SIZE 9187
|
||||
#define STUB_PPC64LE_DARWIN_MACHO_ENTRY_ADLER32 0xc60149d6
|
||||
#define STUB_PPC64LE_DARWIN_MACHO_ENTRY_CRC32 0x76bf1a09
|
||||
|
||||
unsigned char stub_ppc64le_darwin_macho_entry[9187] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 1, 0, 21, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 22, 0, 19, 0,
|
||||
/* 0x0040 */ 1, 0, 0, 72,236, 41, 0,124,166, 2,168,125, 8, 0, 7, 40,
|
||||
/* 0x0050 */ 92, 1,130, 64, 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,
|
||||
/* 0x0060 */ 198, 7, 0,120, 0,128, 32, 61,198, 7, 41,121,255,255, 99, 56,
|
||||
/* 0x0070 */ 255,255,165, 56,255,255, 64, 57, 36, 1, 0, 72, 1, 0, 32, 57,
|
||||
/* 0x0080 */ 46, 24, 41,125, 4, 0, 99, 56,198, 7, 41,121, 64, 0, 41,124,
|
||||
/* 0x0090 */ 20, 72, 41,125, 1, 0,128, 57,198, 7,140,121,120, 99, 41,125,
|
||||
/* 0x00a0 */ 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157, 64, 0, 41,124,
|
||||
/* 0x00b0 */ 20, 74, 41,125,201,255,194, 65,236,255,225, 65, 1, 0,224, 56,
|
||||
/* 0x00c0 */ 20, 0, 0, 72,255,255,231, 56, 21, 72, 41,125,177,255,194, 65,
|
||||
/* 0x00d0 */ 20, 57,231,124, 21, 72, 41,125,165,255,194, 65, 20, 57,231,124,
|
||||
/* 0x00e0 */ 64, 0, 41,124, 20, 74, 41,125,149,255,194, 65,216,255,192, 65,
|
||||
/* 0x00f0 */ 0, 0, 0, 57,253,255,231, 52, 46, 64,231, 84,255,255,128, 57,
|
||||
/* 0x0100 */ 198, 7,140,121,120, 99,231,124, 32, 0,192, 65, 1, 0, 67,140,
|
||||
/* 0x0110 */ 249, 16,234,124,112, 14, 74,125, 0, 0,194, 65, 1, 0, 66,112,
|
||||
/* 0x0120 */ 80, 0,226, 65, 20, 0, 0, 72, 64, 0, 41,124, 20, 74, 41,125,
|
||||
/* 0x0130 */ 77,255,194, 65, 60, 0,225, 65, 1, 0, 0, 57, 64, 0, 41,124,
|
||||
/* 0x0140 */ 20, 74, 41,125, 57,255,194, 65, 40, 0,225, 65, 21, 72, 41,125,
|
||||
/* 0x0150 */ 45,255,194, 65, 20, 65, 8,125, 64, 0, 41,124, 20, 74, 41,125,
|
||||
/* 0x0160 */ 29,255,194, 65,232,255,192, 65, 2, 0, 8, 57, 16, 0, 0, 72,
|
||||
/* 0x0170 */ 21, 72, 41,125, 9,255,194, 65, 20, 65, 8,125,255,250,234, 32,
|
||||
/* 0x0180 */ 2, 0, 8, 57,148, 1, 8,125, 20, 42,234,124,166, 3, 9,125,
|
||||
/* 0x0190 */ 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,
|
||||
/* 0x01a0 */ 236, 41, 7,124, 44, 26, 7,124, 4,255,255, 75,236, 41, 0,124,
|
||||
/* 0x01b0 */ 166, 2,168,125, 5, 0, 7, 40, 56, 1,130, 64, 0, 0,166,248,
|
||||
/* 0x01c0 */ 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120, 0,128, 32, 61,
|
||||
/* 0x01d0 */ 198, 7, 0,120,255,255, 99, 56,255,255,165, 56,255,255, 64, 57,
|
||||
/* 0x01e0 */ 0, 1, 0, 72, 1, 0, 32, 57, 46, 24, 41,125, 4, 0, 99, 56,
|
||||
/* 0x01f0 */ 198, 7, 41,121, 64, 0, 9,124, 20, 72, 41,125, 1, 0, 41, 97,
|
||||
/* 0x0200 */ 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157, 64, 0, 41,124,
|
||||
/* 0x0210 */ 20, 74, 41,125,209,255,194, 65,236,255,225, 65, 1, 0,224, 56,
|
||||
/* 0x0220 */ 20, 0, 0, 72,255,255,231, 56, 21, 72, 41,125,185,255,194, 65,
|
||||
/* 0x0230 */ 21, 57,231,124, 21, 72, 41,125,173,255,194, 65, 21, 57,231,124,
|
||||
/* 0x0240 */ 64, 0, 41,124, 20, 74, 41,125,157,255,194, 65,216,255,192, 65,
|
||||
/* 0x0250 */ 0, 0, 0, 57,253,255,231, 52, 46, 64,231, 84,255,255,128, 57,
|
||||
/* 0x0260 */ 198, 7,140,121,120, 99,231,124, 24, 0,192, 65, 1, 0, 67,140,
|
||||
/* 0x0270 */ 249, 16,234,124,112, 14, 74,125, 0, 0,194, 65, 12, 0, 0, 72,
|
||||
/* 0x0280 */ 21, 72, 41,125, 97,255,194, 65, 21, 65, 8,125, 21, 72, 41,125,
|
||||
/* 0x0290 */ 85,255,194, 65, 21, 65, 8,125, 40, 0,130, 64, 1, 0, 0, 57,
|
||||
/* 0x02a0 */ 21, 72, 41,125, 65,255,194, 65, 21, 65, 8,125, 64, 0, 41,124,
|
||||
/* 0x02b0 */ 20, 74, 41,125, 49,255,194, 65,232,255,192, 65, 2, 0, 8, 57,
|
||||
/* 0x02c0 */ 255,250,234, 32, 1, 0, 8, 57,148, 1, 8,125, 20, 42,234,124,
|
||||
/* 0x02d0 */ 166, 3, 9,125, 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67,
|
||||
/* 0x02e0 */ 0, 1,224, 56,236, 41, 7,124, 44, 26, 7,124, 32,255,255, 75,
|
||||
/* 0x02f0 */ 236, 41, 0,124,166, 2,168,125, 2, 0, 7, 40,252, 0,130, 64,
|
||||
/* 0x0300 */ 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120,
|
||||
/* 0x0310 */ 0,128, 32, 61,198, 7, 0,120,255,255, 99, 56,255,255,165, 56,
|
||||
/* 0x0320 */ 255,255, 64, 57,196, 0, 0, 72, 64, 0, 41,124, 20, 72, 41,125,
|
||||
/* 0x0330 */ 32, 0,226, 76, 1, 0, 32, 57, 46, 24, 41,125, 4, 0, 99, 56,
|
||||
/* 0x0340 */ 198, 7, 41,121, 64, 0, 41,124, 20, 73, 41,125, 32, 0,128, 78,
|
||||
/* 0x0350 */ 1, 0, 3,141, 1, 0, 5,157,209,255,255, 75,244,255,225, 65,
|
||||
/* 0x0360 */ 1, 0,224, 56,197,255,255, 75, 21, 57,231,124,189,255,255, 75,
|
||||
/* 0x0370 */ 244,255,192, 65,253,255,231, 52, 0, 0, 0, 57, 32, 0,192, 65,
|
||||
/* 0x0380 */ 1, 0, 67,140, 46, 64,231, 84,255,255,128, 57,198, 7,140,121,
|
||||
/* 0x0390 */ 120, 99,231,124,249, 16,234,124, 0, 0,194, 65,141,255,255, 75,
|
||||
/* 0x03a0 */ 21, 65, 8,125,133,255,255, 75, 21, 65, 8,125, 1, 0,224, 56,
|
||||
/* 0x03b0 */ 28, 0,194, 64, 3, 0,224, 56, 1, 0, 0, 57,109,255,255, 75,
|
||||
/* 0x03c0 */ 21, 65, 8,125,101,255,255, 75,244,255,192, 65,255,242, 74, 32,
|
||||
/* 0x03d0 */ 20, 57, 8,125, 20, 42,234,124,166, 3, 9,125, 1, 0, 7,141,
|
||||
/* 0x03e0 */ 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,236, 41, 7,124,
|
||||
/* 0x03f0 */ 44, 26, 7,124,100,255,255, 75, 14, 0, 7, 40, 0, 0,130, 64,
|
||||
/* 0x0400 */ 166, 2, 8,124,120, 51,201,124, 0, 0, 6,129,120, 43,167,124,
|
||||
/* 0x0410 */ 254,255,164, 56, 2, 0,131, 56, 8, 0, 1,144, 0, 0, 3,136,
|
||||
/* 0x0420 */ 254,232, 11, 84,126, 7, 2, 84, 0,250, 96, 56, 48, 88, 99,124,
|
||||
/* 0x0430 */ 124,241, 99, 56,120, 11, 38,124, 20, 26, 33,124, 52, 0, 33, 84,
|
||||
/* 0x0440 */ 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144,252,255, 3,148,
|
||||
/* 0x0450 */ 64, 24, 1,124,248,255,128, 65, 0, 0,193,144,255,255, 4,136,
|
||||
/* 0x0460 */ 8, 0,225,144, 16, 0,193, 56, 12, 0, 33,145, 20, 0, 97, 56,
|
||||
/* 0x0470 */ 62,225, 11, 84, 62, 7, 0, 84, 2, 0, 67,152, 1, 0, 99,153,
|
||||
/* 0x0480 */ 0, 0, 3,152,124, 8, 2,166,148, 33,255,160,189,193, 0, 24,
|
||||
/* 0x0490 */ 144, 1, 0,100, 59, 32, 0, 0,137, 67, 0, 2,137, 99, 0, 1,
|
||||
/* 0x04a0 */ 138, 67, 0, 0,147, 38, 0, 0,147, 41, 0, 0,136, 3, 0, 1,
|
||||
/* 0x04b0 */ 125, 40, 3,166,124, 18, 2, 20, 57, 32, 3, 0,125, 41, 0, 48,
|
||||
/* 0x04c0 */ 56, 9, 7, 54,127,153, 0, 64, 57, 32, 0, 1,125, 43, 88, 48,
|
||||
/* 0x04d0 */ 125, 41, 80, 48, 57, 41,255,255, 57,107,255,255,145, 33, 0, 8,
|
||||
/* 0x04e0 */ 124,206, 51,120,124,147, 35,120,124,245, 59,120,125, 20, 67,120,
|
||||
/* 0x04f0 */ 145, 97, 0, 12, 59, 3, 0, 4, 59,224, 0, 0, 58,224, 0, 0,
|
||||
/* 0x0500 */ 59, 64, 0, 1, 58, 32, 0, 1, 58, 0, 0, 1, 57,224, 0, 1,
|
||||
/* 0x0510 */ 57, 32, 0, 0, 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0,
|
||||
/* 0x0520 */ 85, 32, 8, 60,125,120, 3, 46, 57, 41, 0, 1, 66, 0,255,244,
|
||||
/* 0x0530 */ 127,179, 42, 20,126,108,155,120, 56,160, 0, 0, 57, 0,255,255,
|
||||
/* 0x0540 */ 57, 96, 0, 0,127,140,232, 0, 57,107, 0, 1, 47, 11, 0, 4,
|
||||
/* 0x0550 */ 84,169, 64, 46, 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,
|
||||
/* 0x0560 */ 125, 37, 3,120, 64,153,255,224,127,153,160, 64, 64,156, 8,100,
|
||||
/* 0x0570 */ 62,192, 0,255, 98,214,255,255,128, 1, 0, 8,127,136,176, 64,
|
||||
/* 0x0580 */ 127, 35, 0, 56, 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60,
|
||||
/* 0x0590 */ 65,157, 0, 32,127,140,232, 0, 65,158, 8, 88,137, 44, 0, 0,
|
||||
/* 0x05a0 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x05b0 */ 124,230,194, 46, 85, 0,170,254,125, 64, 57,214,127,133, 80, 64,
|
||||
/* 0x05c0 */ 64,156, 1,172,128, 1, 0, 12, 47,151, 0, 6,127, 41, 0, 56,
|
||||
/* 0x05d0 */ 32, 18, 0, 8,127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20,
|
||||
/* 0x05e0 */ 29, 41, 6, 0, 32, 7, 8, 0,124, 0, 46,112,124, 7, 2, 20,
|
||||
/* 0x05f0 */ 125, 56, 74, 20,124, 6,195, 46,125, 72, 83,120, 56,201, 14,108,
|
||||
/* 0x0600 */ 56, 96, 0, 1, 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,
|
||||
/* 0x0610 */ 127,245, 0,174, 99,123,255,255, 87,255, 8, 60, 87,252, 5,238,
|
||||
/* 0x0620 */ 127,136,216, 64, 87,128, 8, 60, 84,100, 8, 60,124, 6, 2, 20,
|
||||
/* 0x0630 */ 127, 12,232, 0, 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24,
|
||||
/* 0x0640 */ 65,154, 7,176,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0650 */ 125, 37, 3,120,161,103, 2, 0, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0660 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x0670 */ 124, 11, 2, 20, 47, 28, 0, 0,125,105, 88, 80,124,131, 35,120,
|
||||
/* 0x0680 */ 125, 10, 64, 80, 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120,
|
||||
/* 0x0690 */ 65,186, 0, 24, 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80,
|
||||
/* 0x06a0 */ 56,100, 0, 1, 65,154, 0, 12, 47,131, 0,255, 64,157,255,108,
|
||||
/* 0x06b0 */ 47,131, 0,255, 65,157, 0,132, 63,224, 0,255, 99,255,255,255,
|
||||
/* 0x06c0 */ 127,136,248, 64, 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,
|
||||
/* 0x06d0 */ 124,227, 59,120, 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0,
|
||||
/* 0x06e0 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46,
|
||||
/* 0x06f0 */ 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,
|
||||
/* 0x0700 */ 124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,
|
||||
/* 0x0710 */ 125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46,
|
||||
/* 0x0720 */ 72, 0, 0, 16,124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1,
|
||||
/* 0x0730 */ 47,131, 0,255, 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,
|
||||
/* 0x0740 */ 127,249,169,174, 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0,
|
||||
/* 0x0750 */ 72, 0, 6,120, 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253,
|
||||
/* 0x0760 */ 72, 0, 6,104, 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,
|
||||
/* 0x0770 */ 127,136,176, 64, 84,224,217,126,124, 0, 56, 80, 86,233, 8, 60,
|
||||
/* 0x0780 */ 124, 6,195, 46,124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,
|
||||
/* 0x0790 */ 127,140,232, 0, 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x07a0 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,128,
|
||||
/* 0x07b0 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64,
|
||||
/* 0x07c0 */ 32, 11, 8, 0, 47,151, 0, 6,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x07d0 */ 176, 7, 1,128,126, 15,131,120,125, 72, 83,120,126, 48,139,120,
|
||||
/* 0x07e0 */ 56, 0, 0, 0,127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,
|
||||
/* 0x07f0 */ 124, 23, 3,120, 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,
|
||||
/* 0x0800 */ 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x0810 */ 176, 7, 1,128, 65,157, 0, 32,127,140,232, 0, 65,158, 5,212,
|
||||
/* 0x0820 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x0830 */ 57,140, 0, 1,161,103, 1,152, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0840 */ 127,133, 80, 64, 64,156, 0,188, 32, 11, 8, 0,127,138,176, 64,
|
||||
/* 0x0850 */ 124, 0, 46,112, 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20,
|
||||
/* 0x0860 */ 84,107, 8, 60,176, 7, 1,152,125, 72, 83,120,124,233, 90, 20,
|
||||
/* 0x0870 */ 65,157, 0, 32,127,140,232, 0, 65,158, 5,120,137, 44, 0, 0,
|
||||
/* 0x0880 */ 84,160, 64, 46,124, 5, 75,120, 85, 72, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0890 */ 161,103, 1,224, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x08a0 */ 64,156, 0, 72, 32, 11, 8, 0, 47,153, 0, 0,124, 0, 46,112,
|
||||
/* 0x08b0 */ 124, 11, 2, 20,176, 7, 1,224,125, 72, 83,120, 65,158, 5, 52,
|
||||
/* 0x08c0 */ 47,151, 0, 6, 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,
|
||||
/* 0x08d0 */ 124, 26,200, 80,127,245, 0,174,125, 55, 75,120,127,249,169,174,
|
||||
/* 0x08e0 */ 59, 57, 0, 1, 72, 0, 4,228, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x08f0 */ 124,170, 40, 80,125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,
|
||||
/* 0x0900 */ 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x0910 */ 124,170, 40, 80,176, 7, 1,152, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x0920 */ 65,158, 4,208,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x0930 */ 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,176, 85, 0,170,254,
|
||||
/* 0x0940 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,
|
||||
/* 0x0950 */ 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,126, 41,139,120,
|
||||
/* 0x0960 */ 176, 7, 1,176, 72, 0, 0,140,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x0970 */ 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176,
|
||||
/* 0x0980 */ 65,157, 0, 32,127,140,232, 0, 65,158, 4,104,137, 44, 0, 0,
|
||||
/* 0x0990 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x09a0 */ 161,103, 1,200, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x09b0 */ 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x09c0 */ 125, 72, 83,120,126, 9,131,120,176, 7, 1,200, 72, 0, 0, 32,
|
||||
/* 0x09d0 */ 85, 96,217,126,124, 0, 88, 80,125,233,123,120,176, 7, 1,200,
|
||||
/* 0x09e0 */ 124,170, 40, 80,125, 10, 64, 80,126, 15,131,120,126, 48,139,120,
|
||||
/* 0x09f0 */ 127, 81,211,120,125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8,
|
||||
/* 0x0a00 */ 64,157, 0, 8, 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,
|
||||
/* 0x0a10 */ 127,136,176, 64, 65,157, 0, 32,127,140,232, 0, 65,158, 3,212,
|
||||
/* 0x0a20 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x0a30 */ 57,140, 0, 1,161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0a40 */ 127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,
|
||||
/* 0x0a50 */ 125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,
|
||||
/* 0x0a60 */ 56,137, 0, 4, 59,128, 0, 0, 59, 96, 0, 3,176, 6, 0, 0,
|
||||
/* 0x0a70 */ 72, 0, 0,156,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,
|
||||
/* 0x0a80 */ 124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,
|
||||
/* 0x0a90 */ 127,140,232, 0, 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x0aa0 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 2,
|
||||
/* 0x0ab0 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48,
|
||||
/* 0x0ac0 */ 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,
|
||||
/* 0x0ad0 */ 124, 11, 2, 20,125, 72, 83,120, 56,137, 1, 4, 59,128, 0, 8,
|
||||
/* 0x0ae0 */ 59, 96, 0, 3,176, 6, 0, 2, 72, 0, 0, 36, 85, 96,217,126,
|
||||
/* 0x0af0 */ 124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 2,125, 10, 64, 80,
|
||||
/* 0x0b00 */ 56,134, 2, 4, 59,128, 0, 16, 59, 96, 0, 8,127,105, 3,166,
|
||||
/* 0x0b10 */ 63,224, 0,255, 99,255,255,255, 56, 96, 0, 1,127,136,248, 64,
|
||||
/* 0x0b20 */ 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,227, 59,120,
|
||||
/* 0x0b30 */ 65,157, 0, 24, 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0b40 */ 57,140, 0, 1,125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,
|
||||
/* 0x0b50 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x0b60 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x0b70 */ 64,156, 0, 16,125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x0b80 */ 124,170, 40, 80, 56,103, 0, 1,125,100, 59, 46, 66, 0,255,144,
|
||||
/* 0x0b90 */ 56, 0, 0, 1, 47,151, 0, 3,124, 0,216, 48,124, 96, 24, 80,
|
||||
/* 0x0ba0 */ 124, 99,226, 20, 65,157, 1,232, 47,131, 0, 3, 58,247, 0, 7,
|
||||
/* 0x0bb0 */ 124,105, 27,120, 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,
|
||||
/* 0x0bc0 */ 125, 56, 74, 20, 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166,
|
||||
/* 0x0bd0 */ 63,224, 0,255, 99,255,255,255, 56,128, 0, 1,127,136,248, 64,
|
||||
/* 0x0be0 */ 84,135, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,228, 59,120,
|
||||
/* 0x0bf0 */ 65,157, 0, 24, 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0c00 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x0c10 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x0c20 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x0c30 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x0c40 */ 124,170, 40, 80, 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144,
|
||||
/* 0x0c50 */ 56,132,255,192, 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40,
|
||||
/* 0x0c60 */ 47,132, 0, 13,124,137, 14,112, 84,128, 7,254, 57,105,255,255,
|
||||
/* 0x0c70 */ 96, 26, 0, 2,125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48,
|
||||
/* 0x0c80 */ 87, 73, 8, 60,125, 56, 74, 20, 84,128, 8, 60,125, 32, 72, 80,
|
||||
/* 0x0c90 */ 56,201, 5, 94, 72, 0, 0,100, 57, 41,255,251,125, 41, 3,166,
|
||||
/* 0x0ca0 */ 61, 96, 0,255, 97,107,255,255,127,136, 88, 64,127, 12,232, 0,
|
||||
/* 0x0cb0 */ 84,169, 64, 46, 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,
|
||||
/* 0x0cc0 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x0cd0 */ 85, 8,248,126,127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80,
|
||||
/* 0x0ce0 */ 99, 90, 0, 1, 66, 0,255,196, 56, 0, 0, 4,124, 9, 3,166,
|
||||
/* 0x0cf0 */ 87, 90, 32, 54, 56,216, 6, 68, 60,128, 0,255, 96,132,255,255,
|
||||
/* 0x0d00 */ 59,128, 0, 1, 59,224, 0, 1,127,136, 32, 64, 87,231, 8, 60,
|
||||
/* 0x0d10 */ 127, 12,232, 0, 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24,
|
||||
/* 0x0d20 */ 65,154, 0,208,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0d30 */ 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0d40 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x0d50 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x0d60 */ 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80,
|
||||
/* 0x0d70 */ 59,231, 0, 1,125,102, 59, 46,127, 90,227,120, 87,156, 8, 60,
|
||||
/* 0x0d80 */ 66, 0,255,136, 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64,
|
||||
/* 0x0d90 */ 56, 99, 0, 2, 65,157, 0, 92,124, 26,200, 80,127,245, 0,174,
|
||||
/* 0x0da0 */ 56, 99,255,255,127,249,169,174, 59, 57, 0, 1, 49, 99,255,255,
|
||||
/* 0x0db0 */ 125, 43, 25, 16,124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,
|
||||
/* 0x0dc0 */ 125, 43, 0, 57, 64,130,255,212,127,153,160, 64, 65,156,247,172,
|
||||
/* 0x0dd0 */ 60, 0, 0,255, 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,
|
||||
/* 0x0de0 */ 127,140,232, 0, 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12,
|
||||
/* 0x0df0 */ 56, 96, 0, 1, 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,
|
||||
/* 0x0e00 */ 124, 19, 96, 80,144, 14, 0, 0, 56, 96, 0, 0,147, 41, 0, 0,
|
||||
/* 0x0e10 */ 128, 1, 0,100,185,193, 0, 24,124, 8, 3,166, 56, 33, 0, 96,
|
||||
/* 0x0e20 */ 124, 8, 2,166,148, 33,255,160,189,193, 0, 24,144, 1, 0,100,
|
||||
/* 0x0e30 */ 59, 32, 0, 0,137, 67, 0, 2,137, 99, 0, 1,138, 67, 0, 0,
|
||||
/* 0x0e40 */ 147, 38, 0, 0,147, 41, 0, 0,136, 3, 0, 1,125, 40, 3,166,
|
||||
/* 0x0e50 */ 124, 18, 2, 20, 57, 32, 3, 0,125, 41, 0, 48, 56, 9, 7, 54,
|
||||
/* 0x0e60 */ 127,153, 0, 64, 57, 32, 0, 1,125, 43, 88, 48,125, 41, 80, 48,
|
||||
/* 0x0e70 */ 57, 41,255,255, 57,107,255,255,145, 33, 0, 8,124,206, 51,120,
|
||||
/* 0x0e80 */ 124,147, 35,120,124,245, 59,120,125, 20, 67,120,145, 97, 0, 12,
|
||||
/* 0x0e90 */ 59, 3, 0, 4, 59,224, 0, 0, 58,224, 0, 0, 59, 64, 0, 1,
|
||||
/* 0x0ea0 */ 58, 32, 0, 1, 58, 0, 0, 1, 57,224, 0, 1, 57, 32, 0, 0,
|
||||
/* 0x0eb0 */ 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0, 85, 32, 8, 60,
|
||||
/* 0x0ec0 */ 125,120, 3, 46, 57, 41, 0, 1, 66, 0,255,244,127,179, 42, 20,
|
||||
/* 0x0ed0 */ 126,108,155,120, 56,160, 0, 0, 57, 0,255,255, 57, 96, 0, 0,
|
||||
/* 0x0ee0 */ 127,140,232, 0, 57,107, 0, 1, 47, 11, 0, 4, 84,169, 64, 46,
|
||||
/* 0x0ef0 */ 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x0f00 */ 64,153,255,224,127,153,160, 64, 64,156, 8,100, 62,192, 0,255,
|
||||
/* 0x0f10 */ 98,214,255,255,128, 1, 0, 8,127,136,176, 64,127, 35, 0, 56,
|
||||
/* 0x0f20 */ 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60, 65,157, 0, 32,
|
||||
/* 0x0f30 */ 127,140,232, 0, 65,158, 8, 88,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x0f40 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,124,230,194, 46,
|
||||
/* 0x0f50 */ 85, 0,170,254,125, 64, 57,214,127,133, 80, 64, 64,156, 1,172,
|
||||
/* 0x0f60 */ 128, 1, 0, 12, 47,151, 0, 6,127, 41, 0, 56, 32, 18, 0, 8,
|
||||
/* 0x0f70 */ 127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20, 29, 41, 6, 0,
|
||||
/* 0x0f80 */ 32, 7, 8, 0,124, 0, 46,112,124, 7, 2, 20,125, 56, 74, 20,
|
||||
/* 0x0f90 */ 124, 6,195, 46,125, 72, 83,120, 56,201, 14,108, 56, 96, 0, 1,
|
||||
/* 0x0fa0 */ 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,127,245, 0,174,
|
||||
/* 0x0fb0 */ 99,123,255,255, 87,255, 8, 60, 87,252, 5,238,127,136,216, 64,
|
||||
/* 0x0fc0 */ 87,128, 8, 60, 84,100, 8, 60,124, 6, 2, 20,127, 12,232, 0,
|
||||
/* 0x0fd0 */ 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24, 65,154, 7,176,
|
||||
/* 0x0fe0 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x0ff0 */ 161,103, 2, 0, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,
|
||||
/* 0x1000 */ 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,
|
||||
/* 0x1010 */ 47, 28, 0, 0,125,105, 88, 80,124,131, 35,120,125, 10, 64, 80,
|
||||
/* 0x1020 */ 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120, 65,186, 0, 24,
|
||||
/* 0x1030 */ 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80, 56,100, 0, 1,
|
||||
/* 0x1040 */ 65,154, 0, 12, 47,131, 0,255, 64,157,255,108, 47,131, 0,255,
|
||||
/* 0x1050 */ 65,157, 0,132, 63,224, 0,255, 99,255,255,255,127,136,248, 64,
|
||||
/* 0x1060 */ 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,227, 59,120,
|
||||
/* 0x1070 */ 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x1080 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x1090 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x10a0 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x10b0 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x10c0 */ 124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1, 47,131, 0,255,
|
||||
/* 0x10d0 */ 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,127,249,169,174,
|
||||
/* 0x10e0 */ 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0, 72, 0, 6,120,
|
||||
/* 0x10f0 */ 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253, 72, 0, 6,104,
|
||||
/* 0x1100 */ 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x1110 */ 84,224,217,126,124, 0, 56, 80, 86,233, 8, 60,124, 6,195, 46,
|
||||
/* 0x1120 */ 124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x1130 */ 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x1140 */ 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,128, 85, 0,170,254,
|
||||
/* 0x1150 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64, 32, 11, 8, 0,
|
||||
/* 0x1160 */ 47,151, 0, 6,124, 0, 46,112,124, 11, 2, 20,176, 7, 1,128,
|
||||
/* 0x1170 */ 126, 15,131,120,125, 72, 83,120,126, 48,139,120, 56, 0, 0, 0,
|
||||
/* 0x1180 */ 127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,124, 23, 3,120,
|
||||
/* 0x1190 */ 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x11a0 */ 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,128,
|
||||
/* 0x11b0 */ 65,157, 0, 32,127,140,232, 0, 65,158, 5,212,137, 44, 0, 0,
|
||||
/* 0x11c0 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x11d0 */ 161,103, 1,152, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x11e0 */ 64,156, 0,188, 32, 11, 8, 0,127,138,176, 64,124, 0, 46,112,
|
||||
/* 0x11f0 */ 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20, 84,107, 8, 60,
|
||||
/* 0x1200 */ 176, 7, 1,152,125, 72, 83,120,124,233, 90, 20, 65,157, 0, 32,
|
||||
/* 0x1210 */ 127,140,232, 0, 65,158, 5,120,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x1220 */ 124, 5, 75,120, 85, 72, 64, 46, 57,140, 0, 1,161,103, 1,224,
|
||||
/* 0x1230 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 72,
|
||||
/* 0x1240 */ 32, 11, 8, 0, 47,153, 0, 0,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x1250 */ 176, 7, 1,224,125, 72, 83,120, 65,158, 5, 52, 47,151, 0, 6,
|
||||
/* 0x1260 */ 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,124, 26,200, 80,
|
||||
/* 0x1270 */ 127,245, 0,174,125, 55, 75,120,127,249,169,174, 59, 57, 0, 1,
|
||||
/* 0x1280 */ 72, 0, 4,228, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x1290 */ 125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,125, 10, 64, 80,
|
||||
/* 0x12a0 */ 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x12b0 */ 176, 7, 1,152, 65,157, 0, 32,127,140,232, 0, 65,158, 4,208,
|
||||
/* 0x12c0 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x12d0 */ 57,140, 0, 1,161,103, 1,176, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x12e0 */ 127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112,
|
||||
/* 0x12f0 */ 124, 11, 2, 20,125, 72, 83,120,126, 41,139,120,176, 7, 1,176,
|
||||
/* 0x1300 */ 72, 0, 0,140,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,
|
||||
/* 0x1310 */ 124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176, 65,157, 0, 32,
|
||||
/* 0x1320 */ 127,140,232, 0, 65,158, 4,104,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x1330 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,200,
|
||||
/* 0x1340 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32,
|
||||
/* 0x1350 */ 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,
|
||||
/* 0x1360 */ 126, 9,131,120,176, 7, 1,200, 72, 0, 0, 32, 85, 96,217,126,
|
||||
/* 0x1370 */ 124, 0, 88, 80,125,233,123,120,176, 7, 1,200,124,170, 40, 80,
|
||||
/* 0x1380 */ 125, 10, 64, 80,126, 15,131,120,126, 48,139,120,127, 81,211,120,
|
||||
/* 0x1390 */ 125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8, 64,157, 0, 8,
|
||||
/* 0x13a0 */ 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,127,136,176, 64,
|
||||
/* 0x13b0 */ 65,157, 0, 32,127,140,232, 0, 65,158, 3,212,137, 44, 0, 0,
|
||||
/* 0x13c0 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x13d0 */ 161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x13e0 */ 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20,
|
||||
/* 0x13f0 */ 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120, 56,137, 0, 4,
|
||||
/* 0x1400 */ 59,128, 0, 0, 59, 96, 0, 3,176, 6, 0, 0, 72, 0, 0,156,
|
||||
/* 0x1410 */ 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x1420 */ 124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x1430 */ 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x1440 */ 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 2, 85, 0,170,254,
|
||||
/* 0x1450 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0,
|
||||
/* 0x1460 */ 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x1470 */ 125, 72, 83,120, 56,137, 1, 4, 59,128, 0, 8, 59, 96, 0, 3,
|
||||
/* 0x1480 */ 176, 6, 0, 2, 72, 0, 0, 36, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x1490 */ 124,170, 40, 80,176, 6, 0, 2,125, 10, 64, 80, 56,134, 2, 4,
|
||||
/* 0x14a0 */ 59,128, 0, 16, 59, 96, 0, 8,127,105, 3,166, 63,224, 0,255,
|
||||
/* 0x14b0 */ 99,255,255,255, 56, 96, 0, 1,127,136,248, 64, 84,103, 8, 60,
|
||||
/* 0x14c0 */ 127, 12,232, 0, 84,169, 64, 46,124,227, 59,120, 65,157, 0, 24,
|
||||
/* 0x14d0 */ 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x14e0 */ 125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x14f0 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x1500 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x1510 */ 125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,124,170, 40, 80,
|
||||
/* 0x1520 */ 56,103, 0, 1,125,100, 59, 46, 66, 0,255,144, 56, 0, 0, 1,
|
||||
/* 0x1530 */ 47,151, 0, 3,124, 0,216, 48,124, 96, 24, 80,124, 99,226, 20,
|
||||
/* 0x1540 */ 65,157, 1,232, 47,131, 0, 3, 58,247, 0, 7,124,105, 27,120,
|
||||
/* 0x1550 */ 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,125, 56, 74, 20,
|
||||
/* 0x1560 */ 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166, 63,224, 0,255,
|
||||
/* 0x1570 */ 99,255,255,255, 56,128, 0, 1,127,136,248, 64, 84,135, 8, 60,
|
||||
/* 0x1580 */ 127, 12,232, 0, 84,169, 64, 46,124,228, 59,120, 65,157, 0, 24,
|
||||
/* 0x1590 */ 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x15a0 */ 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x15b0 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x15c0 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x15d0 */ 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,124,170, 40, 80,
|
||||
/* 0x15e0 */ 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144, 56,132,255,192,
|
||||
/* 0x15f0 */ 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40, 47,132, 0, 13,
|
||||
/* 0x1600 */ 124,137, 14,112, 84,128, 7,254, 57,105,255,255, 96, 26, 0, 2,
|
||||
/* 0x1610 */ 125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48, 87, 73, 8, 60,
|
||||
/* 0x1620 */ 125, 56, 74, 20, 84,128, 8, 60,125, 32, 72, 80, 56,201, 5, 94,
|
||||
/* 0x1630 */ 72, 0, 0,100, 57, 41,255,251,125, 41, 3,166, 61, 96, 0,255,
|
||||
/* 0x1640 */ 97,107,255,255,127,136, 88, 64,127, 12,232, 0, 84,169, 64, 46,
|
||||
/* 0x1650 */ 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,136, 12, 0, 0,
|
||||
/* 0x1660 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120, 85, 8,248,126,
|
||||
/* 0x1670 */ 127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80, 99, 90, 0, 1,
|
||||
/* 0x1680 */ 66, 0,255,196, 56, 0, 0, 4,124, 9, 3,166, 87, 90, 32, 54,
|
||||
/* 0x1690 */ 56,216, 6, 68, 60,128, 0,255, 96,132,255,255, 59,128, 0, 1,
|
||||
/* 0x16a0 */ 59,224, 0, 1,127,136, 32, 64, 87,231, 8, 60,127, 12,232, 0,
|
||||
/* 0x16b0 */ 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24, 65,154, 0,208,
|
||||
/* 0x16c0 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x16d0 */ 125,102, 58, 46, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,
|
||||
/* 0x16e0 */ 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,
|
||||
/* 0x16f0 */ 125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,
|
||||
/* 0x1700 */ 124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80, 59,231, 0, 1,
|
||||
/* 0x1710 */ 125,102, 59, 46,127, 90,227,120, 87,156, 8, 60, 66, 0,255,136,
|
||||
/* 0x1720 */ 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64, 56, 99, 0, 2,
|
||||
/* 0x1730 */ 65,157, 0, 92,124, 26,200, 80,127,245, 0,174, 56, 99,255,255,
|
||||
/* 0x1740 */ 127,249,169,174, 59, 57, 0, 1, 49, 99,255,255,125, 43, 25, 16,
|
||||
/* 0x1750 */ 124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,125, 43, 0, 57,
|
||||
/* 0x1760 */ 64,130,255,212,127,153,160, 64, 65,156,247,172, 60, 0, 0,255,
|
||||
/* 0x1770 */ 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x1780 */ 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12, 56, 96, 0, 1,
|
||||
/* 0x1790 */ 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,124, 19, 96, 80,
|
||||
/* 0x17a0 */ 144, 14, 0, 0, 56, 96, 0, 0,147, 41, 0, 0,128, 1, 0,100,
|
||||
/* 0x17b0 */ 185,193, 0, 24,124, 8, 3,166, 56, 33, 0, 96, 12, 0,161,128,
|
||||
/* 0x17c0 */ 8, 0,225,128, 0, 0,165,128, 0, 0, 33,128, 20, 58,165,124,
|
||||
/* 0x17d0 */ 8, 0, 1,128,255,255,165, 56,166, 3, 8,124, 0, 0,230,232,
|
||||
/* 0x17e0 */ 166, 3,168,125, 80, 24,100,124, 80, 40,135,124, 1, 0, 99, 56,
|
||||
/* 0x17f0 */ 1, 0,132, 56, 0, 0,134,248, 31, 0,231, 96,108, 56, 0,124,
|
||||
/* 0x1800 */ 64, 40, 7,124,172, 63, 0,124, 32, 0,231, 56,240,255,128, 65,
|
||||
/* 0x1810 */ 172, 4, 0,124, 44, 1, 0, 76, 32, 0,128, 78,166, 2, 72,124,
|
||||
/* 0x1820 */ 8, 0,130,128,166, 3,137,124, 4, 0,194,128, 12, 0,226,136,
|
||||
/* 0x1830 */ 20, 18,164,124, 16, 0,165, 56, 20, 18,102,124,192, 0, 99, 56,
|
||||
/* 0x1840 */ 255,255, 5,140,255,255, 3,156,248,255, 32, 67,166, 3,233,127,
|
||||
/* 0x1850 */ 128, 0,162, 56,248,255,193,248,248,255,193, 56,208,255, 33, 56,
|
||||
/* 0x1860 */ 32, 4,128, 78,166, 2,232,127,181,255,255, 75,128, 0, 0, 72,
|
||||
/* 0x1870 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 54,
|
||||
/* 0x1880 */ 52, 45,112,111,119,101,114,112, 99,108,101, 10, 10, 83,101, 99,
|
||||
/* 0x1890 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32,
|
||||
/* 0x18a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32,
|
||||
/* 0x18b0 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x18c0 */ 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x18d0 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32,
|
||||
/* 0x18e0 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48,
|
||||
/* 0x18f0 */ 32, 77, 65, 67, 79, 83, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x1900 */ 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1910 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1920 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x1930 */ 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
|
||||
/* 0x1940 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69,
|
||||
/* 0x1950 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72,
|
||||
/* 0x1960 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1970 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1980 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1990 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 52, 32,
|
||||
/* 0x19a0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
|
||||
/* 0x19b0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82,
|
||||
/* 0x19c0 */ 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x19d0 */ 48, 49, 54, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x19f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1a00 */ 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x1a10 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79,
|
||||
/* 0x1a20 */ 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32,
|
||||
/* 0x1a30 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 52, 32, 32,
|
||||
/* 0x1a40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1a50 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1a60 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 97, 99, 32, 32, 50, 42,
|
||||
/* 0x1a70 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
|
||||
/* 0x1a80 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
|
||||
/* 0x1a90 */ 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1aa0 */ 48, 48, 48, 48, 48, 49, 48, 56, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x1ad0 */ 48, 48, 48, 50,102, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
|
||||
/* 0x1ae0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82,
|
||||
/* 0x1af0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65,
|
||||
/* 0x1b00 */ 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1b10 */ 56, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1b20 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1b30 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51,102, 56,
|
||||
/* 0x1b40 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x1b50 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76,
|
||||
/* 0x1b60 */ 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48,
|
||||
/* 0x1b70 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48,
|
||||
/* 0x1b80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x1b90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ba0 */ 32, 32, 48, 48, 48, 48, 48, 52, 56, 52, 32, 32, 50, 42, 42, 48,
|
||||
/* 0x1bb0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68,
|
||||
/* 0x1bc0 */ 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69,
|
||||
/* 0x1bd0 */ 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32,
|
||||
/* 0x1be0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1bf0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1c00 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,101, 50, 48, 32, 32, 50,
|
||||
/* 0x1c10 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82,
|
||||
/* 0x1c20 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65,
|
||||
/* 0x1c30 */ 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1c40 */ 50, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1c50 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1c60 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 98, 99,
|
||||
/* 0x1c70 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x1c80 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78,
|
||||
/* 0x1c90 */ 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48,
|
||||
/* 0x1ca0 */ 48, 48, 48, 49, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1cb0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1cc0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49,
|
||||
/* 0x1cd0 */ 55,100, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
|
||||
/* 0x1ce0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49,
|
||||
/* 0x1cf0 */ 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1d00 */ 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1d20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x1d30 */ 48, 48, 49, 55,102, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
|
||||
/* 0x1d40 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
|
||||
/* 0x1d50 */ 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32,
|
||||
/* 0x1d60 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x1d70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1d90 */ 32, 48, 48, 48, 48, 49, 56, 49, 99, 32, 32, 50, 42, 42, 48, 32,
|
||||
/* 0x1da0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79,
|
||||
/* 0x1db0 */ 78, 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90,
|
||||
/* 0x1dc0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 53, 52, 32, 32,
|
||||
/* 0x1dd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1de0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1df0 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 56, 49, 99, 32, 32, 50, 42,
|
||||
/* 0x1e00 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
|
||||
/* 0x1e10 */ 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65,
|
||||
/* 0x1e20 */ 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e30 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90,
|
||||
/* 0x1e40 */ 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68,
|
||||
/* 0x1e60 */ 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e70 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82,
|
||||
/* 0x1e80 */ 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76,
|
||||
/* 0x1ea0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1eb0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x1ec0 */ 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ed0 */ 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48,
|
||||
/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x1ef0 */ 32, 32, 32,100, 32, 32, 77, 65, 67, 79, 83, 48, 48, 48, 9, 48,
|
||||
/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1f10 */ 77, 65, 67, 79, 83, 48, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x1f30 */ 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95,
|
||||
/* 0x1f50 */ 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f60 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82,
|
||||
/* 0x1f70 */ 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f80 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x1fa0 */ 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68,
|
||||
/* 0x1fc0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fd0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9,
|
||||
/* 0x1fe0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ff0 */ 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2000 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2010 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x2020 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65,
|
||||
/* 0x2030 */ 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2040 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2050 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x2060 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65,
|
||||
/* 0x2070 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2080 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2090 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65,
|
||||
/* 0x20b0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20c0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x20d0 */ 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76, 85, 83, 72, 10, 48,
|
||||
/* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2100 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89,
|
||||
/* 0x2110 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2120 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x2130 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32,
|
||||
/* 0x2140 */ 32, 32, 32, 32, 77, 65, 67, 79, 83, 48, 48, 48, 9, 48, 48, 48,
|
||||
/* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,
|
||||
/* 0x2160 */ 116, 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
|
||||
/* 0x2170 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 77, 65,
|
||||
/* 0x2180 */ 67, 79, 83, 48, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
|
||||
/* 0x2190 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32,
|
||||
/* 0x21a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85,
|
||||
/* 0x21b0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21c0 */ 48, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 50, 52,
|
||||
/* 0x21d0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120,
|
||||
/* 0x21e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 56,
|
||||
/* 0x21f0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
|
||||
/* 0x2200 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93,
|
||||
/* 0x2210 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2220 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2230 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x2240 */ 48, 48, 48, 48, 48, 48, 48, 48, 48,100, 52, 32, 82, 95, 80, 80,
|
||||
/* 0x2250 */ 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82,
|
||||
/* 0x2260 */ 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
|
||||
/* 0x2270 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
|
||||
/* 0x2280 */ 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
|
||||
/* 0x2290 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32,
|
||||
/* 0x22a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69,
|
||||
/* 0x22b0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99,
|
||||
/* 0x22c0 */ 99, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32,
|
||||
/* 0x22d0 */ 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69,
|
||||
/* 0x22e0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
|
||||
/* 0x22f0 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70,
|
||||
/* 0x2300 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84,
|
||||
/* 0x2310 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2320 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2330 */ 48, 48, 48, 48, 48, 97, 56, 32, 82, 95, 80, 80, 67, 54, 52, 95,
|
||||
/* 0x2340 */ 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65,
|
||||
/* 0x2350 */ 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82,
|
||||
/* 0x2360 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65,
|
||||
/* 0x2370 */ 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
|
||||
/* 0x2380 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32,
|
||||
/* 0x2390 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85,
|
||||
/* 0x23a0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23b0 */ 48, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52,
|
||||
/* 0x23c0 */ 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43,
|
||||
/* 0x23d0 */ 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23e0 */ 50, 48, 10
|
||||
};
|
||||
143
src/stub/ppc64le-darwin.macho-fold.h
Normal file
143
src/stub/ppc64le-darwin.macho-fold.h
Normal file
@ -0,0 +1,143 @@
|
||||
/* ppc64le-darwin.macho-fold.h
|
||||
created from ppc64le-darwin.macho-fold.bin, 1664 (0x680) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2013 Laszlo Molnar
|
||||
Copyright (C) 2000-2013 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_PPC64LE_DARWIN_MACHO_FOLD_SIZE 1664
|
||||
#define STUB_PPC64LE_DARWIN_MACHO_FOLD_ADLER32 0x2e3a279d
|
||||
#define STUB_PPC64LE_DARWIN_MACHO_FOLD_CRC32 0xf61322eb
|
||||
|
||||
unsigned char stub_ppc64le_darwin_macho_fold[1664] = {
|
||||
/* 0x0000 */ 72, 0, 0,105, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191,
|
||||
/* 0x0010 */ 77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,
|
||||
/* 0x0020 */ 124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252,
|
||||
/* 0x0030 */ 124,137, 3,166, 72, 0, 0, 28, 84, 75, 2,186,125, 99, 88, 80,
|
||||
/* 0x0040 */ 125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 78, 64, 0, 32,
|
||||
/* 0x0050 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220,
|
||||
/* 0x0060 */ 66, 0,255,240, 78,128, 0, 32, 56, 33, 0, 24, 57, 32, 0, 0,
|
||||
/* 0x0070 */ 149, 33,255,252,124, 41, 11,120,125, 8, 2,166,128,159,255,248,
|
||||
/* 0x0080 */ 124,100,248, 80,128,195, 0, 24, 40, 6, 8, 0, 65,129, 0, 8,
|
||||
/* 0x0090 */ 56,192, 8, 0,124, 61, 11,120,124, 38, 8, 80,124, 37, 11,120,
|
||||
/* 0x00a0 */ 56, 33,255,232,127,231,251,120, 72, 0, 4, 61,127,161,235,120,
|
||||
/* 0x00b0 */ 128, 67, 0, 0,124, 73, 3,166,128, 67, 0,136,124, 79,241, 32,
|
||||
/* 0x00c0 */ 128, 67, 0,140,124, 65, 3,166,128, 67, 0,144,124, 72, 3,166,
|
||||
/* 0x00d0 */ 184,131, 0, 24,128, 3, 0, 8,128, 67, 0, 16,128, 99, 0, 20,
|
||||
/* 0x00e0 */ 78,128, 4, 32,124,199, 51,120, 56,192, 0, 0, 56, 0, 0,153,
|
||||
/* 0x00f0 */ 72, 0, 0, 16,125, 9, 67,120, 57, 0, 0, 0, 56, 0, 0,197,
|
||||
/* 0x0100 */ 68, 0, 0, 2, 56, 96,255,255, 78,128, 0, 32, 56, 0, 0, 1,
|
||||
/* 0x0110 */ 75,255,255,240, 56, 0, 0, 3, 75,255,255,232, 56, 0, 0, 5,
|
||||
/* 0x0120 */ 75,255,255,224, 56, 0, 0, 6, 75,255,255,216, 56, 0, 0, 74,
|
||||
/* 0x0130 */ 75,255,255,208,124, 8, 2,166,148, 33,255,240,144, 1, 0, 20,
|
||||
/* 0x0140 */ 128, 3, 0, 0,129, 35, 0, 4,127,128, 40, 64, 64,188, 0, 12,
|
||||
/* 0x0150 */ 56, 96, 0,127, 75,255,255,185, 47,133, 0, 0, 65,158, 0, 28,
|
||||
/* 0x0160 */ 124,169, 3,166,136, 9, 0, 0, 57, 41, 0, 1,152, 4, 0, 0,
|
||||
/* 0x0170 */ 56,132, 0, 1, 66, 0,255,240,128, 3, 0, 0,129, 35, 0, 4,
|
||||
/* 0x0180 */ 124, 5, 0, 80,144, 3, 0, 0,128, 1, 0, 20,125, 41, 42, 20,
|
||||
/* 0x0190 */ 124, 8, 3,166, 56, 33, 0, 16,145, 35, 0, 4, 78,128, 0, 32,
|
||||
/* 0x01a0 */ 124, 8, 2,166,148, 33,255,192,144, 1, 0, 68,128, 4, 0, 0,
|
||||
/* 0x01b0 */ 191,129, 0, 48, 47,128, 0, 0,124,159, 35,120,124,126, 27,120,
|
||||
/* 0x01c0 */ 124,188, 43,120,124,221, 51,120, 65,158, 1, 36, 56,160, 0, 12,
|
||||
/* 0x01d0 */ 127,195,243,120, 56,129, 0, 16, 75,255,255, 93,129, 33, 0, 16,
|
||||
/* 0x01e0 */ 128,161, 0, 20, 47,137, 0, 0, 64,190, 0, 36, 60, 0, 33, 88,
|
||||
/* 0x01f0 */ 96, 0, 80, 85,127,133, 0, 0, 64,190, 0, 28,128, 30, 0, 0,
|
||||
/* 0x0200 */ 47,128, 0, 0, 65,190, 0,232, 72, 0, 0, 12, 47,133, 0, 0,
|
||||
/* 0x0210 */ 64,190, 0, 12, 56, 96, 0,127, 75,255,254,245,127, 5, 72, 64,
|
||||
/* 0x0220 */ 65,185,255,244,128, 31, 0, 0,127,137, 0, 64, 65,189,255,232,
|
||||
/* 0x0230 */ 128, 31, 0, 4, 64,152, 0,136,124,164, 43,120,128,126, 0, 4,
|
||||
/* 0x0240 */ 124, 5, 3,120, 56,193, 0, 32,136,225, 0, 24,145, 33, 0, 32,
|
||||
/* 0x0250 */ 127,136, 3,166, 78,128, 0, 33, 47,131, 0, 0, 64,190,255,184,
|
||||
/* 0x0260 */ 128,129, 0, 32,128, 1, 0, 16,127,132, 0, 0, 64,190,255,168,
|
||||
/* 0x0270 */ 136,193, 0, 25, 49, 61,255,255,124, 9,233, 16,125, 38, 0,208,
|
||||
/* 0x0280 */ 85, 41, 15,254,125, 43, 0, 57, 65,162, 0, 20,128,127, 0, 4,
|
||||
/* 0x0290 */ 136,161, 0, 26,127,168, 3,166, 78,128, 0, 33,128, 30, 0, 4,
|
||||
/* 0x02a0 */ 129, 97, 0, 20,129, 62, 0, 0,124, 0, 90, 20,125, 43, 72, 80,
|
||||
/* 0x02b0 */ 144, 30, 0, 4,145, 62, 0, 0, 72, 0, 0, 16,124, 4, 3,120,
|
||||
/* 0x02c0 */ 127,195,243,120, 75,255,254,113,129, 97, 0, 16,129, 63, 0, 0,
|
||||
/* 0x02d0 */ 128, 31, 0, 4,125, 43, 72, 80, 47,137, 0, 0,124, 0, 90, 20,
|
||||
/* 0x02e0 */ 144, 31, 0, 4,145, 63, 0, 0, 75,255,254,224,128, 1, 0, 68,
|
||||
/* 0x02f0 */ 187,129, 0, 48,124, 8, 3,166, 56, 33, 0, 64, 78,128, 0, 32,
|
||||
/* 0x0300 */ 124, 8, 2,166,148, 33,255,176,144, 1, 0, 84,128, 3, 0, 16,
|
||||
/* 0x0310 */ 190, 65, 0, 24, 58,224, 0, 0,125,128, 0, 38,127,151, 0, 64,
|
||||
/* 0x0320 */ 145,129, 0, 20,124,122, 27,120,124,146, 35,120,124,187, 43,120,
|
||||
/* 0x0330 */ 124,211, 51,120,124,244, 59,120,125, 21, 67,120,125, 54, 75,120,
|
||||
/* 0x0340 */ 59,195, 0, 28, 59, 0, 0, 0, 64,156, 1,124,129, 62, 0, 0,
|
||||
/* 0x0350 */ 47,137, 0, 1, 64,190, 1, 48,129, 62, 0, 24,129,126, 0, 36,
|
||||
/* 0x0360 */ 85, 61, 5, 62,127,139,234, 20, 46, 28, 0, 0,128, 30, 0, 28,
|
||||
/* 0x0370 */ 145, 97, 0, 8,127, 41, 2, 20,145, 33, 0, 12,127,253, 72, 80,
|
||||
/* 0x0380 */ 65,146, 0, 76, 47,155, 0, 0, 64,190, 0, 16, 47,139, 0, 0,
|
||||
/* 0x0390 */ 56,192, 0, 18, 64,158, 0, 8, 56,192, 16, 18, 47,139, 0, 0,
|
||||
/* 0x03a0 */ 126,103,155,120, 64,158, 0, 8, 56,224,255,255,129, 30, 0, 32,
|
||||
/* 0x03b0 */ 127,227,251,120,125, 8,146, 20,127,132,227,120, 56,160, 0, 3,
|
||||
/* 0x03c0 */ 75,255,253, 53,127,159, 24, 0, 64,158, 0,124, 47,155, 0, 0,
|
||||
/* 0x03d0 */ 65,158, 0, 52,128, 30, 0, 36, 47,128, 0, 0, 65,158, 0, 40,
|
||||
/* 0x03e0 */ 128, 30, 0, 32, 47,128, 0, 0, 64,158, 0, 8,147,244, 0, 0,
|
||||
/* 0x03f0 */ 127, 99,219,120, 56,129, 0, 8,126,165,171,120,126,198,179,120,
|
||||
/* 0x0400 */ 75,255,253,161,124, 28, 0,208,112, 29, 15,255,125, 63,226, 20,
|
||||
/* 0x0410 */ 65,130, 0, 24,127,169, 3,166, 56, 0, 0, 0,152, 9, 0, 0,
|
||||
/* 0x0420 */ 57, 41, 0, 1, 66, 0,255,248, 65,178, 0, 36,128,190, 0, 44,
|
||||
/* 0x0430 */ 127,227,251,120,127,132,227,120, 75,255,252,245, 47,131, 0, 0,
|
||||
/* 0x0440 */ 65,190, 0, 12, 56, 96, 0,127, 75,255,252,197,124, 28,234, 20,
|
||||
/* 0x0450 */ 127,255, 2, 20,127,159,200, 64, 64,188, 0, 84,128,190, 0, 44,
|
||||
/* 0x0460 */ 124,159,200, 80,127,227,251,120, 56,192, 16, 18, 56,224,255,255,
|
||||
/* 0x0470 */ 57, 0, 0, 0, 75,255,252,129,127,159, 24, 0, 65,190, 0, 48,
|
||||
/* 0x0480 */ 75,255,255,196, 56, 9,255,252, 43,128, 0, 1, 65,157, 0, 32,
|
||||
/* 0x0490 */ 128, 30, 0, 8, 47,128, 0, 1, 64,190, 0, 20,128, 30, 0, 12,
|
||||
/* 0x04a0 */ 47,128, 0, 40, 64,190, 0, 8, 58,254, 0, 16,128, 26, 0, 16,
|
||||
/* 0x04b0 */ 59, 24, 0, 1,127,152, 0, 64,128, 30, 0, 4,127,222, 2, 20,
|
||||
/* 0x04c0 */ 75,255,254,136,128, 1, 0, 84,129,129, 0, 20,126,227,187,120,
|
||||
/* 0x04d0 */ 124, 8, 3,166,186, 65, 0, 24,125,128,129, 32, 56, 33, 0, 80,
|
||||
/* 0x04e0 */ 78,128, 0, 32,148, 33,255,192,144,129, 0, 8,124, 8, 2,166,
|
||||
/* 0x04f0 */ 129, 97, 0, 8,144, 1, 0, 68, 57,107,255,232, 56, 3, 0, 24,
|
||||
/* 0x0500 */ 145, 97, 0, 16,144, 1, 0, 20,191, 97, 0, 44,128, 3, 0, 24,
|
||||
/* 0x0510 */ 129, 65, 0, 20,125, 60, 75,120,129, 33, 0, 16,124,191, 43,120,
|
||||
/* 0x0520 */ 125, 27, 67,120,124,253, 59,120,124,229, 59,120, 56, 97, 0, 16,
|
||||
/* 0x0530 */ 56,129, 0, 24,124,222, 51,120, 56,192, 0, 0,145, 65, 0, 36,
|
||||
/* 0x0540 */ 144, 1, 0, 24,145, 33, 0, 32,147,225, 0, 28, 75,255,252, 85,
|
||||
/* 0x0550 */ 127,105,219,120,127,135,227,120,127,227,251,120,127,168,235,120,
|
||||
/* 0x0560 */ 56,128, 0, 0, 56,161, 0, 32, 56,192,255,255, 75,255,253,149,
|
||||
/* 0x0570 */ 129, 95, 0, 16, 57, 96, 0, 0,127,139, 80, 64,124,124, 27,120,
|
||||
/* 0x0580 */ 59, 96, 0, 0, 57, 63, 0, 28, 64,156, 0,224,128, 9, 0, 0,
|
||||
/* 0x0590 */ 57,107, 0, 1, 47,128, 0, 14,127, 11, 80, 64, 64,190, 0,192,
|
||||
/* 0x05a0 */ 128,105, 0, 8, 56,128, 0, 0,124,105, 26, 20, 56,160, 0, 0,
|
||||
/* 0x05b0 */ 75,255,251,109,124,125, 27,121, 65,128, 0, 32,127,163,235,120,
|
||||
/* 0x05c0 */ 127,228,251,120,127,197,243,120,127,102,219,120, 75,255,251, 25,
|
||||
/* 0x05d0 */ 127,158, 24, 0, 65,190, 0, 20, 56, 96, 0,127, 75,255,251, 49,
|
||||
/* 0x05e0 */ 131,105, 0, 8, 75,255,255,216,128, 31, 0, 0, 61, 32,202,254,
|
||||
/* 0x05f0 */ 97, 41,186,190,127,128, 72, 0, 64,158, 0, 52,129, 95, 0, 4,
|
||||
/* 0x0600 */ 57, 96, 0, 0,127,139, 80, 64, 57, 63, 0, 8, 64,156, 0, 32,
|
||||
/* 0x0610 */ 128, 9, 0, 0, 57,107, 0, 1, 47,128, 0, 18,127, 11, 80, 64,
|
||||
/* 0x0620 */ 65,190,255,192, 57, 41, 0, 20, 65,152,255,232,127,227,251,120,
|
||||
/* 0x0630 */ 127,100,219,120, 56,160, 0, 0,127,166,235,120, 56,224, 0, 0,
|
||||
/* 0x0640 */ 57, 0, 0, 0, 57, 32, 0, 0, 75,255,252,185,124,124, 27,120,
|
||||
/* 0x0650 */ 127,163,235,120, 75,255,250,209, 72, 0, 0, 16,128, 9, 0, 4,
|
||||
/* 0x0660 */ 125, 41, 2, 20, 65,152,255, 40,128, 1, 0, 68,127,131,227,120,
|
||||
/* 0x0670 */ 124, 8, 3,166,187, 97, 0, 44, 56, 33, 0, 64, 78,128, 0, 32
|
||||
};
|
||||
643
src/stub/ppc64le-linux.elf-entry.h
Normal file
643
src/stub/ppc64le-linux.elf-entry.h
Normal file
@ -0,0 +1,643 @@
|
||||
/* ppc64le-linux.elf-entry.h
|
||||
created from ppc64le-linux.elf-entry.bin, 9657 (0x25b9) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2015 Laszlo Molnar
|
||||
Copyright (C) 2000-2015 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_PPC64LE_LINUX_ELF_ENTRY_SIZE 9657
|
||||
#define STUB_PPC64LE_LINUX_ELF_ENTRY_ADLER32 0x09e5cde7
|
||||
#define STUB_PPC64LE_LINUX_ELF_ENTRY_CRC32 0x69edffe5
|
||||
|
||||
unsigned char stub_ppc64le_linux_elf_entry[9657] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 1, 0, 21, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 28, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 24, 0, 21, 0,
|
||||
/* 0x0040 */ 1, 0, 0, 72,236, 41, 0,124,166, 2,168,125, 8, 0, 7, 40,
|
||||
/* 0x0050 */ 92, 1,130, 64, 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,
|
||||
/* 0x0060 */ 198, 7, 0,120, 0,128, 32, 61,198, 7, 41,121,255,255, 99, 56,
|
||||
/* 0x0070 */ 255,255,165, 56,255,255, 64, 57, 36, 1, 0, 72, 1, 0, 32, 57,
|
||||
/* 0x0080 */ 46, 24, 41,125, 4, 0, 99, 56,198, 7, 41,121, 64, 0, 41,124,
|
||||
/* 0x0090 */ 20, 72, 41,125, 1, 0,128, 57,198, 7,140,121,120, 99, 41,125,
|
||||
/* 0x00a0 */ 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157, 64, 0, 41,124,
|
||||
/* 0x00b0 */ 20, 74, 41,125,201,255,194, 65,236,255,225, 65, 1, 0,224, 56,
|
||||
/* 0x00c0 */ 20, 0, 0, 72,255,255,231, 56, 21, 72, 41,125,177,255,194, 65,
|
||||
/* 0x00d0 */ 20, 57,231,124, 21, 72, 41,125,165,255,194, 65, 20, 57,231,124,
|
||||
/* 0x00e0 */ 64, 0, 41,124, 20, 74, 41,125,149,255,194, 65,216,255,192, 65,
|
||||
/* 0x00f0 */ 0, 0, 0, 57,253,255,231, 52, 46, 64,231, 84,255,255,128, 57,
|
||||
/* 0x0100 */ 198, 7,140,121,120, 99,231,124, 32, 0,192, 65, 1, 0, 67,140,
|
||||
/* 0x0110 */ 249, 16,234,124,112, 14, 74,125, 0, 0,194, 65, 1, 0, 66,112,
|
||||
/* 0x0120 */ 80, 0,226, 65, 20, 0, 0, 72, 64, 0, 41,124, 20, 74, 41,125,
|
||||
/* 0x0130 */ 77,255,194, 65, 60, 0,225, 65, 1, 0, 0, 57, 64, 0, 41,124,
|
||||
/* 0x0140 */ 20, 74, 41,125, 57,255,194, 65, 40, 0,225, 65, 21, 72, 41,125,
|
||||
/* 0x0150 */ 45,255,194, 65, 20, 65, 8,125, 64, 0, 41,124, 20, 74, 41,125,
|
||||
/* 0x0160 */ 29,255,194, 65,232,255,192, 65, 2, 0, 8, 57, 16, 0, 0, 72,
|
||||
/* 0x0170 */ 21, 72, 41,125, 9,255,194, 65, 20, 65, 8,125,255,250,234, 32,
|
||||
/* 0x0180 */ 2, 0, 8, 57,148, 1, 8,125, 20, 42,234,124,166, 3, 9,125,
|
||||
/* 0x0190 */ 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,
|
||||
/* 0x01a0 */ 236, 41, 7,124, 44, 26, 7,124, 4,255,255, 75,236, 41, 0,124,
|
||||
/* 0x01b0 */ 166, 2,168,125, 5, 0, 7, 40, 56, 1,130, 64, 0, 0,166,248,
|
||||
/* 0x01c0 */ 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120, 0,128, 32, 61,
|
||||
/* 0x01d0 */ 198, 7, 0,120,255,255, 99, 56,255,255,165, 56,255,255, 64, 57,
|
||||
/* 0x01e0 */ 0, 1, 0, 72, 1, 0, 32, 57, 46, 24, 41,125, 4, 0, 99, 56,
|
||||
/* 0x01f0 */ 198, 7, 41,121, 64, 0, 9,124, 20, 72, 41,125, 1, 0, 41, 97,
|
||||
/* 0x0200 */ 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157, 64, 0, 41,124,
|
||||
/* 0x0210 */ 20, 74, 41,125,209,255,194, 65,236,255,225, 65, 1, 0,224, 56,
|
||||
/* 0x0220 */ 20, 0, 0, 72,255,255,231, 56, 21, 72, 41,125,185,255,194, 65,
|
||||
/* 0x0230 */ 21, 57,231,124, 21, 72, 41,125,173,255,194, 65, 21, 57,231,124,
|
||||
/* 0x0240 */ 64, 0, 41,124, 20, 74, 41,125,157,255,194, 65,216,255,192, 65,
|
||||
/* 0x0250 */ 0, 0, 0, 57,253,255,231, 52, 46, 64,231, 84,255,255,128, 57,
|
||||
/* 0x0260 */ 198, 7,140,121,120, 99,231,124, 24, 0,192, 65, 1, 0, 67,140,
|
||||
/* 0x0270 */ 249, 16,234,124,112, 14, 74,125, 0, 0,194, 65, 12, 0, 0, 72,
|
||||
/* 0x0280 */ 21, 72, 41,125, 97,255,194, 65, 21, 65, 8,125, 21, 72, 41,125,
|
||||
/* 0x0290 */ 85,255,194, 65, 21, 65, 8,125, 40, 0,130, 64, 1, 0, 0, 57,
|
||||
/* 0x02a0 */ 21, 72, 41,125, 65,255,194, 65, 21, 65, 8,125, 64, 0, 41,124,
|
||||
/* 0x02b0 */ 20, 74, 41,125, 49,255,194, 65,232,255,192, 65, 2, 0, 8, 57,
|
||||
/* 0x02c0 */ 255,250,234, 32, 1, 0, 8, 57,148, 1, 8,125, 20, 42,234,124,
|
||||
/* 0x02d0 */ 166, 3, 9,125, 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67,
|
||||
/* 0x02e0 */ 0, 1,224, 56,236, 41, 7,124, 44, 26, 7,124, 32,255,255, 75,
|
||||
/* 0x02f0 */ 236, 41, 0,124,166, 2,168,125, 2, 0, 7, 40,252, 0,130, 64,
|
||||
/* 0x0300 */ 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120,
|
||||
/* 0x0310 */ 0,128, 32, 61,198, 7, 0,120,255,255, 99, 56,255,255,165, 56,
|
||||
/* 0x0320 */ 255,255, 64, 57,196, 0, 0, 72, 64, 0, 41,124, 20, 72, 41,125,
|
||||
/* 0x0330 */ 32, 0,226, 76, 1, 0, 32, 57, 46, 24, 41,125, 4, 0, 99, 56,
|
||||
/* 0x0340 */ 198, 7, 41,121, 64, 0, 41,124, 20, 73, 41,125, 32, 0,128, 78,
|
||||
/* 0x0350 */ 1, 0, 3,141, 1, 0, 5,157,209,255,255, 75,244,255,225, 65,
|
||||
/* 0x0360 */ 1, 0,224, 56,197,255,255, 75, 21, 57,231,124,189,255,255, 75,
|
||||
/* 0x0370 */ 244,255,192, 65,253,255,231, 52, 0, 0, 0, 57, 32, 0,192, 65,
|
||||
/* 0x0380 */ 1, 0, 67,140, 46, 64,231, 84,255,255,128, 57,198, 7,140,121,
|
||||
/* 0x0390 */ 120, 99,231,124,249, 16,234,124, 0, 0,194, 65,141,255,255, 75,
|
||||
/* 0x03a0 */ 21, 65, 8,125,133,255,255, 75, 21, 65, 8,125, 1, 0,224, 56,
|
||||
/* 0x03b0 */ 28, 0,194, 64, 3, 0,224, 56, 1, 0, 0, 57,109,255,255, 75,
|
||||
/* 0x03c0 */ 21, 65, 8,125,101,255,255, 75,244,255,192, 65,255,242, 74, 32,
|
||||
/* 0x03d0 */ 20, 57, 8,125, 20, 42,234,124,166, 3, 9,125, 1, 0, 7,141,
|
||||
/* 0x03e0 */ 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,236, 41, 7,124,
|
||||
/* 0x03f0 */ 44, 26, 7,124,100,255,255, 75, 14, 0, 7, 40, 0, 0,130, 64,
|
||||
/* 0x0400 */ 166, 2, 8,124,120, 51,201,124, 0, 0, 6,129,120, 43,167,124,
|
||||
/* 0x0410 */ 254,255,164, 56, 2, 0,131, 56, 8, 0, 1,144, 0, 0, 3,136,
|
||||
/* 0x0420 */ 254,232, 11, 84,126, 7, 2, 84, 0,250, 96, 56, 48, 88, 99,124,
|
||||
/* 0x0430 */ 124,241, 99, 56,120, 11, 38,124, 20, 26, 33,124, 52, 0, 33, 84,
|
||||
/* 0x0440 */ 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144,252,255, 3,148,
|
||||
/* 0x0450 */ 64, 24, 1,124,248,255,128, 65, 0, 0,193,144,255,255, 4,136,
|
||||
/* 0x0460 */ 8, 0,225,144, 16, 0,193, 56, 12, 0, 33,145, 20, 0, 97, 56,
|
||||
/* 0x0470 */ 62,225, 11, 84, 62, 7, 0, 84, 2, 0, 67,152, 1, 0, 99,153,
|
||||
/* 0x0480 */ 0, 0, 3,152,124, 8, 2,166,148, 33,255,160,189,193, 0, 24,
|
||||
/* 0x0490 */ 144, 1, 0,100, 59, 32, 0, 0,137, 67, 0, 2,137, 99, 0, 1,
|
||||
/* 0x04a0 */ 138, 67, 0, 0,147, 38, 0, 0,147, 41, 0, 0,136, 3, 0, 1,
|
||||
/* 0x04b0 */ 125, 40, 3,166,124, 18, 2, 20, 57, 32, 3, 0,125, 41, 0, 48,
|
||||
/* 0x04c0 */ 56, 9, 7, 54,127,153, 0, 64, 57, 32, 0, 1,125, 43, 88, 48,
|
||||
/* 0x04d0 */ 125, 41, 80, 48, 57, 41,255,255, 57,107,255,255,145, 33, 0, 8,
|
||||
/* 0x04e0 */ 124,206, 51,120,124,147, 35,120,124,245, 59,120,125, 20, 67,120,
|
||||
/* 0x04f0 */ 145, 97, 0, 12, 59, 3, 0, 4, 59,224, 0, 0, 58,224, 0, 0,
|
||||
/* 0x0500 */ 59, 64, 0, 1, 58, 32, 0, 1, 58, 0, 0, 1, 57,224, 0, 1,
|
||||
/* 0x0510 */ 57, 32, 0, 0, 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0,
|
||||
/* 0x0520 */ 85, 32, 8, 60,125,120, 3, 46, 57, 41, 0, 1, 66, 0,255,244,
|
||||
/* 0x0530 */ 127,179, 42, 20,126,108,155,120, 56,160, 0, 0, 57, 0,255,255,
|
||||
/* 0x0540 */ 57, 96, 0, 0,127,140,232, 0, 57,107, 0, 1, 47, 11, 0, 4,
|
||||
/* 0x0550 */ 84,169, 64, 46, 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,
|
||||
/* 0x0560 */ 125, 37, 3,120, 64,153,255,224,127,153,160, 64, 64,156, 8,100,
|
||||
/* 0x0570 */ 62,192, 0,255, 98,214,255,255,128, 1, 0, 8,127,136,176, 64,
|
||||
/* 0x0580 */ 127, 35, 0, 56, 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60,
|
||||
/* 0x0590 */ 65,157, 0, 32,127,140,232, 0, 65,158, 8, 88,137, 44, 0, 0,
|
||||
/* 0x05a0 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x05b0 */ 124,230,194, 46, 85, 0,170,254,125, 64, 57,214,127,133, 80, 64,
|
||||
/* 0x05c0 */ 64,156, 1,172,128, 1, 0, 12, 47,151, 0, 6,127, 41, 0, 56,
|
||||
/* 0x05d0 */ 32, 18, 0, 8,127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20,
|
||||
/* 0x05e0 */ 29, 41, 6, 0, 32, 7, 8, 0,124, 0, 46,112,124, 7, 2, 20,
|
||||
/* 0x05f0 */ 125, 56, 74, 20,124, 6,195, 46,125, 72, 83,120, 56,201, 14,108,
|
||||
/* 0x0600 */ 56, 96, 0, 1, 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,
|
||||
/* 0x0610 */ 127,245, 0,174, 99,123,255,255, 87,255, 8, 60, 87,252, 5,238,
|
||||
/* 0x0620 */ 127,136,216, 64, 87,128, 8, 60, 84,100, 8, 60,124, 6, 2, 20,
|
||||
/* 0x0630 */ 127, 12,232, 0, 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24,
|
||||
/* 0x0640 */ 65,154, 7,176,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0650 */ 125, 37, 3,120,161,103, 2, 0, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0660 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x0670 */ 124, 11, 2, 20, 47, 28, 0, 0,125,105, 88, 80,124,131, 35,120,
|
||||
/* 0x0680 */ 125, 10, 64, 80, 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120,
|
||||
/* 0x0690 */ 65,186, 0, 24, 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80,
|
||||
/* 0x06a0 */ 56,100, 0, 1, 65,154, 0, 12, 47,131, 0,255, 64,157,255,108,
|
||||
/* 0x06b0 */ 47,131, 0,255, 65,157, 0,132, 63,224, 0,255, 99,255,255,255,
|
||||
/* 0x06c0 */ 127,136,248, 64, 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,
|
||||
/* 0x06d0 */ 124,227, 59,120, 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0,
|
||||
/* 0x06e0 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46,
|
||||
/* 0x06f0 */ 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,
|
||||
/* 0x0700 */ 124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,
|
||||
/* 0x0710 */ 125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46,
|
||||
/* 0x0720 */ 72, 0, 0, 16,124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1,
|
||||
/* 0x0730 */ 47,131, 0,255, 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,
|
||||
/* 0x0740 */ 127,249,169,174, 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0,
|
||||
/* 0x0750 */ 72, 0, 6,120, 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253,
|
||||
/* 0x0760 */ 72, 0, 6,104, 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,
|
||||
/* 0x0770 */ 127,136,176, 64, 84,224,217,126,124, 0, 56, 80, 86,233, 8, 60,
|
||||
/* 0x0780 */ 124, 6,195, 46,124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,
|
||||
/* 0x0790 */ 127,140,232, 0, 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x07a0 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,128,
|
||||
/* 0x07b0 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64,
|
||||
/* 0x07c0 */ 32, 11, 8, 0, 47,151, 0, 6,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x07d0 */ 176, 7, 1,128,126, 15,131,120,125, 72, 83,120,126, 48,139,120,
|
||||
/* 0x07e0 */ 56, 0, 0, 0,127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,
|
||||
/* 0x07f0 */ 124, 23, 3,120, 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,
|
||||
/* 0x0800 */ 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x0810 */ 176, 7, 1,128, 65,157, 0, 32,127,140,232, 0, 65,158, 5,212,
|
||||
/* 0x0820 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x0830 */ 57,140, 0, 1,161,103, 1,152, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0840 */ 127,133, 80, 64, 64,156, 0,188, 32, 11, 8, 0,127,138,176, 64,
|
||||
/* 0x0850 */ 124, 0, 46,112, 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20,
|
||||
/* 0x0860 */ 84,107, 8, 60,176, 7, 1,152,125, 72, 83,120,124,233, 90, 20,
|
||||
/* 0x0870 */ 65,157, 0, 32,127,140,232, 0, 65,158, 5,120,137, 44, 0, 0,
|
||||
/* 0x0880 */ 84,160, 64, 46,124, 5, 75,120, 85, 72, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0890 */ 161,103, 1,224, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x08a0 */ 64,156, 0, 72, 32, 11, 8, 0, 47,153, 0, 0,124, 0, 46,112,
|
||||
/* 0x08b0 */ 124, 11, 2, 20,176, 7, 1,224,125, 72, 83,120, 65,158, 5, 52,
|
||||
/* 0x08c0 */ 47,151, 0, 6, 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,
|
||||
/* 0x08d0 */ 124, 26,200, 80,127,245, 0,174,125, 55, 75,120,127,249,169,174,
|
||||
/* 0x08e0 */ 59, 57, 0, 1, 72, 0, 4,228, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x08f0 */ 124,170, 40, 80,125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,
|
||||
/* 0x0900 */ 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x0910 */ 124,170, 40, 80,176, 7, 1,152, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x0920 */ 65,158, 4,208,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x0930 */ 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,176, 85, 0,170,254,
|
||||
/* 0x0940 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,
|
||||
/* 0x0950 */ 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,126, 41,139,120,
|
||||
/* 0x0960 */ 176, 7, 1,176, 72, 0, 0,140,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x0970 */ 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176,
|
||||
/* 0x0980 */ 65,157, 0, 32,127,140,232, 0, 65,158, 4,104,137, 44, 0, 0,
|
||||
/* 0x0990 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x09a0 */ 161,103, 1,200, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x09b0 */ 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x09c0 */ 125, 72, 83,120,126, 9,131,120,176, 7, 1,200, 72, 0, 0, 32,
|
||||
/* 0x09d0 */ 85, 96,217,126,124, 0, 88, 80,125,233,123,120,176, 7, 1,200,
|
||||
/* 0x09e0 */ 124,170, 40, 80,125, 10, 64, 80,126, 15,131,120,126, 48,139,120,
|
||||
/* 0x09f0 */ 127, 81,211,120,125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8,
|
||||
/* 0x0a00 */ 64,157, 0, 8, 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,
|
||||
/* 0x0a10 */ 127,136,176, 64, 65,157, 0, 32,127,140,232, 0, 65,158, 3,212,
|
||||
/* 0x0a20 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x0a30 */ 57,140, 0, 1,161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0a40 */ 127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,
|
||||
/* 0x0a50 */ 125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,
|
||||
/* 0x0a60 */ 56,137, 0, 4, 59,128, 0, 0, 59, 96, 0, 3,176, 6, 0, 0,
|
||||
/* 0x0a70 */ 72, 0, 0,156,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,
|
||||
/* 0x0a80 */ 124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,
|
||||
/* 0x0a90 */ 127,140,232, 0, 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x0aa0 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 2,
|
||||
/* 0x0ab0 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48,
|
||||
/* 0x0ac0 */ 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,
|
||||
/* 0x0ad0 */ 124, 11, 2, 20,125, 72, 83,120, 56,137, 1, 4, 59,128, 0, 8,
|
||||
/* 0x0ae0 */ 59, 96, 0, 3,176, 6, 0, 2, 72, 0, 0, 36, 85, 96,217,126,
|
||||
/* 0x0af0 */ 124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 2,125, 10, 64, 80,
|
||||
/* 0x0b00 */ 56,134, 2, 4, 59,128, 0, 16, 59, 96, 0, 8,127,105, 3,166,
|
||||
/* 0x0b10 */ 63,224, 0,255, 99,255,255,255, 56, 96, 0, 1,127,136,248, 64,
|
||||
/* 0x0b20 */ 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,227, 59,120,
|
||||
/* 0x0b30 */ 65,157, 0, 24, 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0b40 */ 57,140, 0, 1,125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,
|
||||
/* 0x0b50 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x0b60 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x0b70 */ 64,156, 0, 16,125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x0b80 */ 124,170, 40, 80, 56,103, 0, 1,125,100, 59, 46, 66, 0,255,144,
|
||||
/* 0x0b90 */ 56, 0, 0, 1, 47,151, 0, 3,124, 0,216, 48,124, 96, 24, 80,
|
||||
/* 0x0ba0 */ 124, 99,226, 20, 65,157, 1,232, 47,131, 0, 3, 58,247, 0, 7,
|
||||
/* 0x0bb0 */ 124,105, 27,120, 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,
|
||||
/* 0x0bc0 */ 125, 56, 74, 20, 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166,
|
||||
/* 0x0bd0 */ 63,224, 0,255, 99,255,255,255, 56,128, 0, 1,127,136,248, 64,
|
||||
/* 0x0be0 */ 84,135, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,228, 59,120,
|
||||
/* 0x0bf0 */ 65,157, 0, 24, 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0c00 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x0c10 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x0c20 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x0c30 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x0c40 */ 124,170, 40, 80, 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144,
|
||||
/* 0x0c50 */ 56,132,255,192, 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40,
|
||||
/* 0x0c60 */ 47,132, 0, 13,124,137, 14,112, 84,128, 7,254, 57,105,255,255,
|
||||
/* 0x0c70 */ 96, 26, 0, 2,125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48,
|
||||
/* 0x0c80 */ 87, 73, 8, 60,125, 56, 74, 20, 84,128, 8, 60,125, 32, 72, 80,
|
||||
/* 0x0c90 */ 56,201, 5, 94, 72, 0, 0,100, 57, 41,255,251,125, 41, 3,166,
|
||||
/* 0x0ca0 */ 61, 96, 0,255, 97,107,255,255,127,136, 88, 64,127, 12,232, 0,
|
||||
/* 0x0cb0 */ 84,169, 64, 46, 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,
|
||||
/* 0x0cc0 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x0cd0 */ 85, 8,248,126,127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80,
|
||||
/* 0x0ce0 */ 99, 90, 0, 1, 66, 0,255,196, 56, 0, 0, 4,124, 9, 3,166,
|
||||
/* 0x0cf0 */ 87, 90, 32, 54, 56,216, 6, 68, 60,128, 0,255, 96,132,255,255,
|
||||
/* 0x0d00 */ 59,128, 0, 1, 59,224, 0, 1,127,136, 32, 64, 87,231, 8, 60,
|
||||
/* 0x0d10 */ 127, 12,232, 0, 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24,
|
||||
/* 0x0d20 */ 65,154, 0,208,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0d30 */ 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0d40 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x0d50 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x0d60 */ 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80,
|
||||
/* 0x0d70 */ 59,231, 0, 1,125,102, 59, 46,127, 90,227,120, 87,156, 8, 60,
|
||||
/* 0x0d80 */ 66, 0,255,136, 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64,
|
||||
/* 0x0d90 */ 56, 99, 0, 2, 65,157, 0, 92,124, 26,200, 80,127,245, 0,174,
|
||||
/* 0x0da0 */ 56, 99,255,255,127,249,169,174, 59, 57, 0, 1, 49, 99,255,255,
|
||||
/* 0x0db0 */ 125, 43, 25, 16,124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,
|
||||
/* 0x0dc0 */ 125, 43, 0, 57, 64,130,255,212,127,153,160, 64, 65,156,247,172,
|
||||
/* 0x0dd0 */ 60, 0, 0,255, 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,
|
||||
/* 0x0de0 */ 127,140,232, 0, 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12,
|
||||
/* 0x0df0 */ 56, 96, 0, 1, 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,
|
||||
/* 0x0e00 */ 124, 19, 96, 80,144, 14, 0, 0, 56, 96, 0, 0,147, 41, 0, 0,
|
||||
/* 0x0e10 */ 128, 1, 0,100,185,193, 0, 24,124, 8, 3,166, 56, 33, 0, 96,
|
||||
/* 0x0e20 */ 124, 8, 2,166,148, 33,255,160,189,193, 0, 24,144, 1, 0,100,
|
||||
/* 0x0e30 */ 59, 32, 0, 0,137, 67, 0, 2,137, 99, 0, 1,138, 67, 0, 0,
|
||||
/* 0x0e40 */ 147, 38, 0, 0,147, 41, 0, 0,136, 3, 0, 1,125, 40, 3,166,
|
||||
/* 0x0e50 */ 124, 18, 2, 20, 57, 32, 3, 0,125, 41, 0, 48, 56, 9, 7, 54,
|
||||
/* 0x0e60 */ 127,153, 0, 64, 57, 32, 0, 1,125, 43, 88, 48,125, 41, 80, 48,
|
||||
/* 0x0e70 */ 57, 41,255,255, 57,107,255,255,145, 33, 0, 8,124,206, 51,120,
|
||||
/* 0x0e80 */ 124,147, 35,120,124,245, 59,120,125, 20, 67,120,145, 97, 0, 12,
|
||||
/* 0x0e90 */ 59, 3, 0, 4, 59,224, 0, 0, 58,224, 0, 0, 59, 64, 0, 1,
|
||||
/* 0x0ea0 */ 58, 32, 0, 1, 58, 0, 0, 1, 57,224, 0, 1, 57, 32, 0, 0,
|
||||
/* 0x0eb0 */ 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0, 85, 32, 8, 60,
|
||||
/* 0x0ec0 */ 125,120, 3, 46, 57, 41, 0, 1, 66, 0,255,244,127,179, 42, 20,
|
||||
/* 0x0ed0 */ 126,108,155,120, 56,160, 0, 0, 57, 0,255,255, 57, 96, 0, 0,
|
||||
/* 0x0ee0 */ 127,140,232, 0, 57,107, 0, 1, 47, 11, 0, 4, 84,169, 64, 46,
|
||||
/* 0x0ef0 */ 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x0f00 */ 64,153,255,224,127,153,160, 64, 64,156, 8,100, 62,192, 0,255,
|
||||
/* 0x0f10 */ 98,214,255,255,128, 1, 0, 8,127,136,176, 64,127, 35, 0, 56,
|
||||
/* 0x0f20 */ 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60, 65,157, 0, 32,
|
||||
/* 0x0f30 */ 127,140,232, 0, 65,158, 8, 88,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x0f40 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,124,230,194, 46,
|
||||
/* 0x0f50 */ 85, 0,170,254,125, 64, 57,214,127,133, 80, 64, 64,156, 1,172,
|
||||
/* 0x0f60 */ 128, 1, 0, 12, 47,151, 0, 6,127, 41, 0, 56, 32, 18, 0, 8,
|
||||
/* 0x0f70 */ 127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20, 29, 41, 6, 0,
|
||||
/* 0x0f80 */ 32, 7, 8, 0,124, 0, 46,112,124, 7, 2, 20,125, 56, 74, 20,
|
||||
/* 0x0f90 */ 124, 6,195, 46,125, 72, 83,120, 56,201, 14,108, 56, 96, 0, 1,
|
||||
/* 0x0fa0 */ 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,127,245, 0,174,
|
||||
/* 0x0fb0 */ 99,123,255,255, 87,255, 8, 60, 87,252, 5,238,127,136,216, 64,
|
||||
/* 0x0fc0 */ 87,128, 8, 60, 84,100, 8, 60,124, 6, 2, 20,127, 12,232, 0,
|
||||
/* 0x0fd0 */ 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24, 65,154, 7,176,
|
||||
/* 0x0fe0 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x0ff0 */ 161,103, 2, 0, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,
|
||||
/* 0x1000 */ 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,
|
||||
/* 0x1010 */ 47, 28, 0, 0,125,105, 88, 80,124,131, 35,120,125, 10, 64, 80,
|
||||
/* 0x1020 */ 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120, 65,186, 0, 24,
|
||||
/* 0x1030 */ 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80, 56,100, 0, 1,
|
||||
/* 0x1040 */ 65,154, 0, 12, 47,131, 0,255, 64,157,255,108, 47,131, 0,255,
|
||||
/* 0x1050 */ 65,157, 0,132, 63,224, 0,255, 99,255,255,255,127,136,248, 64,
|
||||
/* 0x1060 */ 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,227, 59,120,
|
||||
/* 0x1070 */ 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x1080 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x1090 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x10a0 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x10b0 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x10c0 */ 124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1, 47,131, 0,255,
|
||||
/* 0x10d0 */ 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,127,249,169,174,
|
||||
/* 0x10e0 */ 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0, 72, 0, 6,120,
|
||||
/* 0x10f0 */ 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253, 72, 0, 6,104,
|
||||
/* 0x1100 */ 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x1110 */ 84,224,217,126,124, 0, 56, 80, 86,233, 8, 60,124, 6,195, 46,
|
||||
/* 0x1120 */ 124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x1130 */ 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x1140 */ 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,128, 85, 0,170,254,
|
||||
/* 0x1150 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64, 32, 11, 8, 0,
|
||||
/* 0x1160 */ 47,151, 0, 6,124, 0, 46,112,124, 11, 2, 20,176, 7, 1,128,
|
||||
/* 0x1170 */ 126, 15,131,120,125, 72, 83,120,126, 48,139,120, 56, 0, 0, 0,
|
||||
/* 0x1180 */ 127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,124, 23, 3,120,
|
||||
/* 0x1190 */ 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x11a0 */ 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,128,
|
||||
/* 0x11b0 */ 65,157, 0, 32,127,140,232, 0, 65,158, 5,212,137, 44, 0, 0,
|
||||
/* 0x11c0 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x11d0 */ 161,103, 1,152, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x11e0 */ 64,156, 0,188, 32, 11, 8, 0,127,138,176, 64,124, 0, 46,112,
|
||||
/* 0x11f0 */ 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20, 84,107, 8, 60,
|
||||
/* 0x1200 */ 176, 7, 1,152,125, 72, 83,120,124,233, 90, 20, 65,157, 0, 32,
|
||||
/* 0x1210 */ 127,140,232, 0, 65,158, 5,120,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x1220 */ 124, 5, 75,120, 85, 72, 64, 46, 57,140, 0, 1,161,103, 1,224,
|
||||
/* 0x1230 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 72,
|
||||
/* 0x1240 */ 32, 11, 8, 0, 47,153, 0, 0,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x1250 */ 176, 7, 1,224,125, 72, 83,120, 65,158, 5, 52, 47,151, 0, 6,
|
||||
/* 0x1260 */ 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,124, 26,200, 80,
|
||||
/* 0x1270 */ 127,245, 0,174,125, 55, 75,120,127,249,169,174, 59, 57, 0, 1,
|
||||
/* 0x1280 */ 72, 0, 4,228, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x1290 */ 125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,125, 10, 64, 80,
|
||||
/* 0x12a0 */ 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x12b0 */ 176, 7, 1,152, 65,157, 0, 32,127,140,232, 0, 65,158, 4,208,
|
||||
/* 0x12c0 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x12d0 */ 57,140, 0, 1,161,103, 1,176, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x12e0 */ 127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112,
|
||||
/* 0x12f0 */ 124, 11, 2, 20,125, 72, 83,120,126, 41,139,120,176, 7, 1,176,
|
||||
/* 0x1300 */ 72, 0, 0,140,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,
|
||||
/* 0x1310 */ 124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176, 65,157, 0, 32,
|
||||
/* 0x1320 */ 127,140,232, 0, 65,158, 4,104,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x1330 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,200,
|
||||
/* 0x1340 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32,
|
||||
/* 0x1350 */ 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,
|
||||
/* 0x1360 */ 126, 9,131,120,176, 7, 1,200, 72, 0, 0, 32, 85, 96,217,126,
|
||||
/* 0x1370 */ 124, 0, 88, 80,125,233,123,120,176, 7, 1,200,124,170, 40, 80,
|
||||
/* 0x1380 */ 125, 10, 64, 80,126, 15,131,120,126, 48,139,120,127, 81,211,120,
|
||||
/* 0x1390 */ 125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8, 64,157, 0, 8,
|
||||
/* 0x13a0 */ 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,127,136,176, 64,
|
||||
/* 0x13b0 */ 65,157, 0, 32,127,140,232, 0, 65,158, 3,212,137, 44, 0, 0,
|
||||
/* 0x13c0 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x13d0 */ 161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x13e0 */ 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20,
|
||||
/* 0x13f0 */ 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120, 56,137, 0, 4,
|
||||
/* 0x1400 */ 59,128, 0, 0, 59, 96, 0, 3,176, 6, 0, 0, 72, 0, 0,156,
|
||||
/* 0x1410 */ 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x1420 */ 124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x1430 */ 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x1440 */ 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 2, 85, 0,170,254,
|
||||
/* 0x1450 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0,
|
||||
/* 0x1460 */ 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x1470 */ 125, 72, 83,120, 56,137, 1, 4, 59,128, 0, 8, 59, 96, 0, 3,
|
||||
/* 0x1480 */ 176, 6, 0, 2, 72, 0, 0, 36, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x1490 */ 124,170, 40, 80,176, 6, 0, 2,125, 10, 64, 80, 56,134, 2, 4,
|
||||
/* 0x14a0 */ 59,128, 0, 16, 59, 96, 0, 8,127,105, 3,166, 63,224, 0,255,
|
||||
/* 0x14b0 */ 99,255,255,255, 56, 96, 0, 1,127,136,248, 64, 84,103, 8, 60,
|
||||
/* 0x14c0 */ 127, 12,232, 0, 84,169, 64, 46,124,227, 59,120, 65,157, 0, 24,
|
||||
/* 0x14d0 */ 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x14e0 */ 125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x14f0 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x1500 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x1510 */ 125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,124,170, 40, 80,
|
||||
/* 0x1520 */ 56,103, 0, 1,125,100, 59, 46, 66, 0,255,144, 56, 0, 0, 1,
|
||||
/* 0x1530 */ 47,151, 0, 3,124, 0,216, 48,124, 96, 24, 80,124, 99,226, 20,
|
||||
/* 0x1540 */ 65,157, 1,232, 47,131, 0, 3, 58,247, 0, 7,124,105, 27,120,
|
||||
/* 0x1550 */ 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,125, 56, 74, 20,
|
||||
/* 0x1560 */ 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166, 63,224, 0,255,
|
||||
/* 0x1570 */ 99,255,255,255, 56,128, 0, 1,127,136,248, 64, 84,135, 8, 60,
|
||||
/* 0x1580 */ 127, 12,232, 0, 84,169, 64, 46,124,228, 59,120, 65,157, 0, 24,
|
||||
/* 0x1590 */ 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x15a0 */ 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x15b0 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x15c0 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x15d0 */ 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,124,170, 40, 80,
|
||||
/* 0x15e0 */ 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144, 56,132,255,192,
|
||||
/* 0x15f0 */ 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40, 47,132, 0, 13,
|
||||
/* 0x1600 */ 124,137, 14,112, 84,128, 7,254, 57,105,255,255, 96, 26, 0, 2,
|
||||
/* 0x1610 */ 125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48, 87, 73, 8, 60,
|
||||
/* 0x1620 */ 125, 56, 74, 20, 84,128, 8, 60,125, 32, 72, 80, 56,201, 5, 94,
|
||||
/* 0x1630 */ 72, 0, 0,100, 57, 41,255,251,125, 41, 3,166, 61, 96, 0,255,
|
||||
/* 0x1640 */ 97,107,255,255,127,136, 88, 64,127, 12,232, 0, 84,169, 64, 46,
|
||||
/* 0x1650 */ 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,136, 12, 0, 0,
|
||||
/* 0x1660 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120, 85, 8,248,126,
|
||||
/* 0x1670 */ 127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80, 99, 90, 0, 1,
|
||||
/* 0x1680 */ 66, 0,255,196, 56, 0, 0, 4,124, 9, 3,166, 87, 90, 32, 54,
|
||||
/* 0x1690 */ 56,216, 6, 68, 60,128, 0,255, 96,132,255,255, 59,128, 0, 1,
|
||||
/* 0x16a0 */ 59,224, 0, 1,127,136, 32, 64, 87,231, 8, 60,127, 12,232, 0,
|
||||
/* 0x16b0 */ 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24, 65,154, 0,208,
|
||||
/* 0x16c0 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x16d0 */ 125,102, 58, 46, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,
|
||||
/* 0x16e0 */ 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,
|
||||
/* 0x16f0 */ 125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,
|
||||
/* 0x1700 */ 124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80, 59,231, 0, 1,
|
||||
/* 0x1710 */ 125,102, 59, 46,127, 90,227,120, 87,156, 8, 60, 66, 0,255,136,
|
||||
/* 0x1720 */ 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64, 56, 99, 0, 2,
|
||||
/* 0x1730 */ 65,157, 0, 92,124, 26,200, 80,127,245, 0,174, 56, 99,255,255,
|
||||
/* 0x1740 */ 127,249,169,174, 59, 57, 0, 1, 49, 99,255,255,125, 43, 25, 16,
|
||||
/* 0x1750 */ 124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,125, 43, 0, 57,
|
||||
/* 0x1760 */ 64,130,255,212,127,153,160, 64, 65,156,247,172, 60, 0, 0,255,
|
||||
/* 0x1770 */ 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x1780 */ 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12, 56, 96, 0, 1,
|
||||
/* 0x1790 */ 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,124, 19, 96, 80,
|
||||
/* 0x17a0 */ 144, 14, 0, 0, 56, 96, 0, 0,147, 41, 0, 0,128, 1, 0,100,
|
||||
/* 0x17b0 */ 185,193, 0, 24,124, 8, 3,166, 56, 33, 0, 96, 12, 0,161,128,
|
||||
/* 0x17c0 */ 8, 0,225,128, 0, 0,165,128, 0, 0, 33,128, 20, 58,165,124,
|
||||
/* 0x17d0 */ 8, 0, 1,128,255,255,165, 56,166, 3, 8,124, 0, 0,230,232,
|
||||
/* 0x17e0 */ 166, 3,168,125, 80, 24,100,124, 80, 40,135,124, 1, 0, 99, 56,
|
||||
/* 0x17f0 */ 1, 0,132, 56, 0, 0,134,248, 31, 0,231, 96,108, 56, 0,124,
|
||||
/* 0x1800 */ 64, 40, 7,124,172, 63, 0,124, 32, 0,231, 56,240,255,128, 65,
|
||||
/* 0x1810 */ 172, 4, 0,124, 44, 1, 0, 76, 32, 0,128, 78, 1, 0, 0, 72,
|
||||
/* 0x1820 */ 80, 82, 79, 84, 95, 69, 88, 69, 67,124, 80, 82, 79, 84, 95, 87,
|
||||
/* 0x1830 */ 82, 73, 84, 69, 32,102, 97,105,108,101,100, 46, 10, 0, 30, 0,
|
||||
/* 0x1840 */ 160, 56,166, 2,136,124, 2, 0, 96, 56, 4, 0, 0, 56, 2, 0,
|
||||
/* 0x1850 */ 0, 68,127, 0, 96, 56, 1, 0, 0, 56, 2, 0, 0, 68,166, 2,
|
||||
/* 0x1860 */ 200,127, 0, 0, 0, 57,255,255,224, 56, 4, 0,126,128, 50, 0,
|
||||
/* 0x1870 */ 192, 56, 7, 0,160, 56, 1, 0,128, 60, 20,242, 99,124, 90, 0,
|
||||
/* 0x1880 */ 0, 56, 11, 0, 99, 56, 20, 34, 99,124, 30, 0, 99, 84, 2, 0,
|
||||
/* 0x1890 */ 0, 68, 0, 0,195, 65,166, 3,233,127, 0, 0, 30,128, 8, 0,
|
||||
/* 0x18a0 */ 254,136,248, 0,193, 56,248, 0, 1,248,120, 27,101,124,166, 3,
|
||||
/* 0x18b0 */ 104,124, 4, 0,158,128, 12, 0,126, 56,208,255, 33, 56, 32, 4,
|
||||
/* 0x18c0 */ 128, 78, 1,255, 33,248, 8, 0, 65,248, 16, 0, 97,248, 24, 0,
|
||||
/* 0x18d0 */ 129,248, 32, 0,161,248, 40, 0,193,248, 48, 0,225,248, 56, 0,
|
||||
/* 0x18e0 */ 1,249, 64, 0, 33,249, 72, 0, 65,249, 80, 0, 97,249, 88, 0,
|
||||
/* 0x18f0 */ 129,249, 96, 0,161,249,104, 0,193,249,112, 0,225,249,120, 0,
|
||||
/* 0x1900 */ 1,250,128, 0, 33,250,136, 0, 65,250,144, 0, 97,250,152, 0,
|
||||
/* 0x1910 */ 129,250,160, 0,161,250,168, 0,193,250,176, 0,225,250,184, 0,
|
||||
/* 0x1920 */ 1,251,192, 0, 33,251,200, 0, 65,251,208, 0, 97,251,216, 0,
|
||||
/* 0x1930 */ 129,251,224, 0,161,251,232, 0,193,251,240, 0,225,251,166, 2,
|
||||
/* 0x1940 */ 232,127, 29,255,255, 75,102,105,108,101, 32,102,111,114,109, 97,
|
||||
/* 0x1950 */ 116, 32,101,108,102, 54, 52, 45,112,111,119,101,114,112, 99,108,
|
||||
/* 0x1960 */ 101, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120,
|
||||
/* 0x1970 */ 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,
|
||||
/* 0x1980 */ 105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32,
|
||||
/* 0x1990 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32,
|
||||
/* 0x19a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,
|
||||
/* 0x19b0 */ 101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,
|
||||
/* 0x19c0 */ 103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32,
|
||||
/* 0x19d0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48,
|
||||
/* 0x19e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x19f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1a00 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42,
|
||||
/* 0x1a10 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76,
|
||||
/* 0x1a20 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49,
|
||||
/* 0x1a30 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x1a40 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1a50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1a60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x1a70 */ 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
|
||||
/* 0x1a80 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x1a90 */ 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1aa0 */ 32, 32, 48, 48, 48, 48, 48, 49, 54, 56, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x1ac0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x1ad0 */ 48, 48, 48, 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32,
|
||||
/* 0x1ae0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44,
|
||||
/* 0x1af0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82,
|
||||
/* 0x1b00 */ 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1b10 */ 48, 49, 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1b20 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1b30 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49,
|
||||
/* 0x1b40 */ 97, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x1b50 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79,
|
||||
/* 0x1b60 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32,
|
||||
/* 0x1b70 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 48, 56, 32, 32,
|
||||
/* 0x1b80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1b90 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ba0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,102, 48, 32, 32, 50, 42,
|
||||
/* 0x1bb0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
|
||||
/* 0x1bc0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
|
||||
/* 0x1bd0 */ 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32,
|
||||
/* 0x1be0 */ 48, 48, 48, 48, 48, 48, 56, 99, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1bf0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1c00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x1c10 */ 48, 48, 48, 51,102, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
|
||||
/* 0x1c20 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82,
|
||||
/* 0x1c30 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65,
|
||||
/* 0x1c40 */ 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,
|
||||
/* 0x1c50 */ 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1c60 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1c70 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 56, 52,
|
||||
/* 0x1c80 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x1c90 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76,
|
||||
/* 0x1ca0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48,
|
||||
/* 0x1cb0 */ 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1cc0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1cd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1ce0 */ 101, 50, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
|
||||
/* 0x1cf0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
|
||||
/* 0x1d00 */ 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32,
|
||||
/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 50, 48, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1d20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1d30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x1d40 */ 48, 48, 49, 55, 98, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
|
||||
/* 0x1d50 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
|
||||
/* 0x1d60 */ 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32,
|
||||
/* 0x1d70 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48,
|
||||
/* 0x1d80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x1d90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1da0 */ 32, 48, 48, 48, 48, 49, 55,100, 99, 32, 32, 50, 42, 42, 48, 32,
|
||||
/* 0x1db0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79,
|
||||
/* 0x1dc0 */ 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32,
|
||||
/* 0x1dd0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32,
|
||||
/* 0x1de0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1df0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e00 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 55,102, 56, 32, 32, 50, 42,
|
||||
/* 0x1e10 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
|
||||
/* 0x1e20 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65,
|
||||
/* 0x1e30 */ 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50,
|
||||
/* 0x1e40 */ 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e50 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e60 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 56, 49, 99, 32,
|
||||
/* 0x1e70 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
|
||||
/* 0x1e80 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
|
||||
/* 0x1e90 */ 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32,
|
||||
/* 0x1ea0 */ 32, 32, 32, 48, 48, 48, 48, 48, 49, 48, 56, 32, 32, 48, 48, 48,
|
||||
/* 0x1eb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1ed0 */ 32, 48, 48, 48, 48, 49, 56, 51,101, 32, 32, 50, 42, 42, 48, 32,
|
||||
/* 0x1ee0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67,
|
||||
/* 0x1ef0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79,
|
||||
/* 0x1f00 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x1f20 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48,
|
||||
/* 0x1f30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90,
|
||||
/* 0x1f40 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x1f60 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x1f70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95,
|
||||
/* 0x1f80 */ 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f90 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76,
|
||||
/* 0x1fa0 */ 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fb0 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89,
|
||||
/* 0x1fc0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fd0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x1fe0 */ 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ff0 */ 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48,
|
||||
/* 0x2000 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x2010 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48,
|
||||
/* 0x2020 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2030 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2040 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2050 */ 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x2060 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95,
|
||||
/* 0x2070 */ 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2080 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82,
|
||||
/* 0x2090 */ 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20a0 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 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, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68,
|
||||
/* 0x20e0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20f0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9,
|
||||
/* 0x2100 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2110 */ 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2120 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2130 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65,
|
||||
/* 0x2150 */ 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2170 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x2180 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65,
|
||||
/* 0x2190 */ 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21a0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x21b0 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x21c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65,
|
||||
/* 0x21d0 */ 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21e0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x21f0 */ 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2200 */ 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76, 85, 83, 72, 10, 48,
|
||||
/* 0x2210 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2220 */ 103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
|
||||
/* 0x2230 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2240 */ 48, 32, 95,115,116, 97,114,116, 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, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70,
|
||||
/* 0x2270 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89,
|
||||
/* 0x2280 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2290 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22a0 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82,
|
||||
/* 0x22b0 */ 69, 76, 50, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
|
||||
/* 0x22c0 */ 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22d0 */ 48, 48, 56, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
|
||||
/* 0x22e0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82,
|
||||
/* 0x22f0 */ 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32,
|
||||
/* 0x2300 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
|
||||
/* 0x2310 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
|
||||
/* 0x2320 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,100, 52, 32,
|
||||
/* 0x2330 */ 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32,
|
||||
/* 0x2340 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79,
|
||||
/* 0x2350 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70,
|
||||
/* 0x2360 */ 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83,
|
||||
/* 0x2370 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80,
|
||||
/* 0x2380 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86,
|
||||
/* 0x2390 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23a0 */ 48, 48, 48, 99, 99, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69,
|
||||
/* 0x23b0 */ 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76,
|
||||
/* 0x23c0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
|
||||
/* 0x23d0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93,
|
||||
/* 0x23e0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x23f0 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2400 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x2410 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 97, 56, 32, 82, 95, 80, 80,
|
||||
/* 0x2420 */ 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82,
|
||||
/* 0x2430 */ 86, 95, 84, 65, 73, 76, 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, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89,
|
||||
/* 0x2470 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2480 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2490 */ 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82,
|
||||
/* 0x24a0 */ 69, 76, 49, 52, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69,
|
||||
/* 0x24b0 */ 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24c0 */ 48, 48, 48, 48, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
|
||||
/* 0x24d0 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
|
||||
/* 0x24e0 */ 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69,
|
||||
/* 0x24f0 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69,
|
||||
/* 0x2500 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
|
||||
/* 0x2510 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2520 */ 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76,
|
||||
/* 0x2530 */ 50, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10,
|
||||
/* 0x2540 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79,
|
||||
/* 0x2550 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78,
|
||||
/* 0x2560 */ 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2570 */ 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2580 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
|
||||
/* 0x2590 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 52, 32, 82, 95,
|
||||
/* 0x25a0 */ 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32,
|
||||
/* 0x25b0 */ 69, 76, 70, 77, 65, 73, 78, 89, 10
|
||||
};
|
||||
187
src/stub/ppc64le-linux.elf-fold.h
Normal file
187
src/stub/ppc64le-linux.elf-fold.h
Normal file
@ -0,0 +1,187 @@
|
||||
/* ppc64le-linux.elf-fold.h
|
||||
created from ppc64le-linux.elf-fold.bin, 2368 (0x940) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2015 Laszlo Molnar
|
||||
Copyright (C) 2000-2015 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_PPC64LE_LINUX_ELF_FOLD_SIZE 2368
|
||||
#define STUB_PPC64LE_LINUX_ELF_FOLD_ADLER32 0x7c475e87
|
||||
#define STUB_PPC64LE_LINUX_ELF_FOLD_CRC32 0x2db86fe3
|
||||
|
||||
unsigned char stub_ppc64le_linux_elf_fold[2368] = {
|
||||
/* 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,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 */ 2, 0, 0, 0, 64, 0, 56, 0, 2, 0, 64, 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 */ 64, 9, 0, 0, 0, 0, 0, 0, 64, 9, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0080 */ 64, 9, 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,125, 0, 0, 72,
|
||||
/* 0x00c0 */ 208, 0, 6, 40, 32, 0,194, 76,191,240,132, 84, 32, 0,194, 77,
|
||||
/* 0x00d0 */ 16, 0, 0, 60, 64, 0, 4,124, 8, 0,128, 65,120, 3, 4,124,
|
||||
/* 0x00e0 */ 32, 1,165, 56,120, 27,103,124,252,255, 99, 56,166, 3,137,124,
|
||||
/* 0x00f0 */ 28, 0, 0, 72,186, 2, 75, 84, 80, 88, 99,125, 20, 58,107,125,
|
||||
/* 0x0100 */ 186, 1, 98, 81, 0, 0, 67,144, 32, 0, 64, 79, 4, 0, 67,132,
|
||||
/* 0x0110 */ 190, 85, 75, 84, 64, 40, 11,124,220,255,194, 65,240,255, 32, 67,
|
||||
/* 0x0120 */ 32, 0,128, 78, 0, 0, 73,232, 8, 0, 41, 57, 0, 0,130, 47,
|
||||
/* 0x0130 */ 244,255,254, 64, 32, 0,128, 78, 48, 0, 33, 56,166, 2, 8,125,
|
||||
/* 0x0140 */ 0, 0, 33,233,225,255,255, 75,221,255,255, 75,248,255,159,128,
|
||||
/* 0x0150 */ 38, 0, 30, 85,120,251,231,127, 80,248,164,127, 0,248,161, 56,
|
||||
/* 0x0160 */ 248,255,189, 59, 80,255,132, 56,176, 0,125, 56,208,247, 33, 56,
|
||||
/* 0x0170 */ 24, 0,195,128,181, 5, 0, 72,120, 27,127,124,120,235,163,127,
|
||||
/* 0x0180 */ 80,240,157,124,197, 0, 0, 72,166, 3,232,127, 56, 8, 65,232,
|
||||
/* 0x0190 */ 64, 8, 97,232, 72, 8,129,232, 80, 8,161,232, 88, 8,193,232,
|
||||
/* 0x01a0 */ 96, 8,225,232,104, 8, 1,233,112, 8, 33,233,120, 8, 65,233,
|
||||
/* 0x01b0 */ 128, 8, 97,233,136, 8,129,233,144, 8,161,233,152, 8,193,233,
|
||||
/* 0x01c0 */ 160, 8,225,233,168, 8, 1,234,176, 8, 33,234,184, 8, 65,234,
|
||||
/* 0x01d0 */ 192, 8, 97,234,200, 8,129,234,208, 8,161,234,216, 8,193,234,
|
||||
/* 0x01e0 */ 224, 8,225,234,232, 8, 1,235,240, 8, 33,235,248, 8, 65,235,
|
||||
/* 0x01f0 */ 0, 9, 97,235, 8, 9,129,235, 16, 9,161,235, 24, 9,193,235,
|
||||
/* 0x0200 */ 32, 9,225,235, 48, 8, 33,232, 32, 0,128, 78, 90, 0, 0, 56,
|
||||
/* 0x0210 */ 2, 0, 0, 68, 8, 0,227, 64,255,255, 96, 56, 32, 0,128, 78,
|
||||
/* 0x0220 */ 1, 0, 0, 56,236,255,255, 75, 3, 0, 0, 56,228,255,255, 75,
|
||||
/* 0x0230 */ 5, 0, 0, 56,220,255,255, 75, 6, 0, 0, 56,212,255,255, 75,
|
||||
/* 0x0240 */ 125, 0, 0, 56,204,255,255, 75, 91, 0, 0, 56,196,255,255, 75,
|
||||
/* 0x0250 */ 45, 0, 0, 56,188,255,255, 75, 0, 0, 35, 44, 32, 0,130, 77,
|
||||
/* 0x0260 */ 0, 0,164, 46, 0, 0, 67,233, 64, 32,170,127, 16, 0,158, 64,
|
||||
/* 0x0270 */ 0, 0,131,248, 8, 0,163,248, 32, 0,128, 78, 1, 0,170, 43,
|
||||
/* 0x0280 */ 8, 0,158, 64,236,255,150, 64, 16, 0, 99, 56,216,255,255, 75,
|
||||
/* 0x0290 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 64, 60,
|
||||
/* 0x02a0 */ 0,128, 66, 56, 0, 0, 35,233, 8, 0, 67,233, 64, 40,169,127,
|
||||
/* 0x02b0 */ 20, 0,220, 65, 1, 0, 5, 57, 0, 0, 32, 57,166, 3, 9,125,
|
||||
/* 0x02c0 */ 28, 0, 0, 72,166, 2, 8,124,127, 0, 96, 56, 16, 0, 1,248,
|
||||
/* 0x02d0 */ 225,255, 33,248, 77,255,255, 75, 0, 0, 0, 96, 20, 0, 64, 66,
|
||||
/* 0x02e0 */ 174, 72, 10,125,174, 73, 4,125, 1, 0, 41, 57,240,255,255, 75,
|
||||
/* 0x02f0 */ 8, 0, 35,233, 20, 42, 41,125, 8, 0, 35,249, 0, 0, 35,233,
|
||||
/* 0x0300 */ 80, 72,165,124, 0, 0,163,248, 32, 0,128, 78, 0, 0, 0, 0,
|
||||
/* 0x0310 */ 0, 0, 0, 1,128, 0, 0, 0, 17, 0, 64, 60, 0,128, 66, 56,
|
||||
/* 0x0320 */ 38,128,144,125,166, 2, 8,124, 8, 0,129,145, 0, 0, 38, 46,
|
||||
/* 0x0330 */ 169, 5, 0, 72,177,255, 33,248,120, 27,126,124,120, 35,159,124,
|
||||
/* 0x0340 */ 120, 43,189,124,120, 51,220,124, 0, 0, 63,233, 0, 0,169, 47,
|
||||
/* 0x0350 */ 44, 1,158, 65, 12, 0,160, 56, 32, 0,129, 56,120,243,195,127,
|
||||
/* 0x0360 */ 69,255,255, 75, 32, 0, 65,129, 36, 0, 33,129, 0, 0,170, 47,
|
||||
/* 0x0370 */ 32, 0,158, 64, 88, 33, 42,109, 85, 80,138, 47, 28, 0,158, 64,
|
||||
/* 0x0380 */ 0, 0, 62,233, 0, 0,169, 47,244, 0,254, 65, 12, 0, 0, 72,
|
||||
/* 0x0390 */ 0, 0,169, 47, 16, 0,254, 64,127, 0, 96, 56,133,254,255, 75,
|
||||
/* 0x03a0 */ 0, 0, 0, 96, 64, 72,138,126,240,255,212, 65, 0, 0, 31,233,
|
||||
/* 0x03b0 */ 64, 64,170,127,228,255,221, 65, 8, 0,159,232,148, 0,149, 64,
|
||||
/* 0x03c0 */ 166, 3,169,127,120, 35,133,124, 44, 0, 65,145, 40, 0,225,136,
|
||||
/* 0x03d0 */ 8, 0,126,232, 44, 0,193, 56,120, 75, 36,125, 24, 0, 65,248,
|
||||
/* 0x03e0 */ 120,235,172,127, 33, 4,128, 78, 24, 0, 65,232, 0, 0,163, 47,
|
||||
/* 0x03f0 */ 168,255,222, 64, 32, 0,129,128, 44, 0, 33,129, 0, 32,137,127,
|
||||
/* 0x0400 */ 152,255,222, 64, 41, 0,193,136, 0, 0,166, 47, 36, 0,158, 65,
|
||||
/* 0x0410 */ 32, 0,146, 65,166, 3,137,127, 8, 0,127,232, 42, 0,161,136,
|
||||
/* 0x0420 */ 24, 0, 65,248,120,227,140,127, 33, 4,128, 78, 24, 0, 65,232,
|
||||
/* 0x0430 */ 36, 0, 33,129, 8, 0, 94,233, 20, 74, 74,125, 8, 0, 94,249,
|
||||
/* 0x0440 */ 0, 0, 94,233, 80, 80, 41,125, 0, 0, 62,249, 16, 0, 0, 72,
|
||||
/* 0x0450 */ 120, 75, 37,125,120,243,195,127, 77,254,255, 75, 32, 0, 33,129,
|
||||
/* 0x0460 */ 8, 0, 95,233, 20, 74, 74,125, 8, 0, 95,249, 0, 0, 95,233,
|
||||
/* 0x0470 */ 80, 80, 41,125, 0, 0, 63,249,208,254,255, 75, 80, 0, 33, 56,
|
||||
/* 0x0480 */ 8, 0,129,129, 32,129,144,125,156, 4, 0, 72, 0, 0, 0, 0,
|
||||
/* 0x0490 */ 0, 0, 0, 3,128, 4, 0, 0, 17, 0, 64, 60, 0,128, 66, 56,
|
||||
/* 0x04a0 */ 166, 2, 8,124, 56, 0, 35,161, 38,128,144,125, 1, 0, 41, 57,
|
||||
/* 0x04b0 */ 166, 3, 41,125, 8, 0,129,145,237, 3, 0, 72,120, 51,217,124,
|
||||
/* 0x04c0 */ 16, 0,195,160, 32, 0,195,235, 65,255, 33,248,120, 35,154,124,
|
||||
/* 0x04d0 */ 120, 27,123,124,120, 43,189,124,120, 59,248,124,120, 67, 23,125,
|
||||
/* 0x04e0 */ 3, 0,198,104, 20,242,195,127, 52, 0,198,124,120,243,202,127,
|
||||
/* 0x04f0 */ 0, 0,128, 56,255,255,224, 59,126,217,198, 84, 1, 0,198,104,
|
||||
/* 0x0500 */ 228, 38,198,120, 34, 8,198, 56, 60, 0, 64, 66, 0, 0, 42,129,
|
||||
/* 0x0510 */ 1, 0,137, 47, 40, 0,158, 64, 16, 0, 10,233, 64, 64,191,127,
|
||||
/* 0x0520 */ 8, 0,157, 64,120, 67, 31,125, 40, 0, 42,233, 20, 74, 40,125,
|
||||
/* 0x0530 */ 64, 72,164,127, 8, 0,156, 64,120, 75, 36,125, 56, 0, 74, 57,
|
||||
/* 0x0540 */ 200,255,255, 75, 1, 0,132, 60,228, 3,255,123,255,255,132, 56,
|
||||
/* 0x0550 */ 120,251,227,127, 80, 32,159,124, 0, 0, 0, 57,255,255,224, 56,
|
||||
/* 0x0560 */ 180, 7,198,124, 0, 0,160, 56,228, 3,132,120, 0, 0, 58, 46,
|
||||
/* 0x0570 */ 157,252,255, 75, 0, 0, 0, 96,255,255,186, 50,255,255, 96, 58,
|
||||
/* 0x0580 */ 16,209,181,126, 60, 8,181, 86, 80, 24,255,127, 32, 0,181,122,
|
||||
/* 0x0590 */ 8, 0,146, 64,120,235,179,127,180, 7,115,126, 12, 0,146, 65,
|
||||
/* 0x05a0 */ 50, 0, 64, 58, 8, 0, 0, 72, 18, 0, 64, 58, 81,115, 32, 62,
|
||||
/* 0x05b0 */ 180, 7, 82,126, 0, 0,128, 58, 64, 98, 49, 98, 56, 0, 59,161,
|
||||
/* 0x05c0 */ 0,160,137,127, 56, 1,157, 64, 0, 0, 62,129, 40, 0,146, 65,
|
||||
/* 0x05d0 */ 6, 0,137, 47, 32, 0,158, 64, 16, 0,190,232, 3, 0,128, 56,
|
||||
/* 0x05e0 */ 120,203, 35,127, 20,250,165,124, 32, 0,165,120,109,252,255, 75,
|
||||
/* 0x05f0 */ 252, 0, 0, 72, 1, 0,137, 47,244, 0,158, 64, 4, 0,222,130,
|
||||
/* 0x0600 */ 16, 0, 62,233, 32, 0,158,235, 40, 0, 30,234,120,155,103,126,
|
||||
/* 0x0610 */ 120,147, 70,126, 8, 0, 30,233,250, 22,214, 86, 32, 4, 42,121,
|
||||
/* 0x0620 */ 32, 0,129,251, 40, 0, 33,249, 48,180, 54,126,228, 3, 47,121,
|
||||
/* 0x0630 */ 96, 7,214,122, 20, 82,188,127, 20,250,239,125,120,179,165,126,
|
||||
/* 0x0640 */ 20,130, 31,126, 80, 64, 10,125,180, 7,165,124,120,235,164,127,
|
||||
/* 0x0650 */ 120,123,227,125, 20,130, 9,126,181,251,255, 75, 0, 0, 0, 96,
|
||||
/* 0x0660 */ 0, 24,175,127, 16, 0,254, 65,127, 0, 96, 56,181,251,255, 75,
|
||||
/* 0x0670 */ 0, 0, 0, 96, 24, 0,146, 65,120,187,230,126,120,195, 5,127,
|
||||
/* 0x0680 */ 32, 0,129, 56,120,211, 67,127,153,252,255, 75,208, 0,125,124,
|
||||
/* 0x0690 */ 32, 4,124,120, 32, 0,146, 65,180, 7,197,126,120,235,164,127,
|
||||
/* 0x06a0 */ 120,123,227,125,157,251,255, 75, 0, 0, 0, 96, 0, 0,163, 47,
|
||||
/* 0x06b0 */ 184,255,222, 64, 20,226,157,127, 20,226,175,127, 64,232,176,127,
|
||||
/* 0x06c0 */ 44, 0,157, 64, 0, 0, 0, 57,255,255,224, 56, 50, 0,192, 56,
|
||||
/* 0x06d0 */ 180, 7,197,126, 80,128,157,124,120,235,163,127, 49,251,255, 75,
|
||||
/* 0x06e0 */ 0, 0, 0, 96, 0, 24,189,127,128,255,222, 64, 1, 0,148, 58,
|
||||
/* 0x06f0 */ 56, 0,222, 59,180, 7,148,126,196,254,255, 75,192, 0, 33, 56,
|
||||
/* 0x0700 */ 24, 0,123,232, 8, 0,129,129, 20, 26,127,124, 32,129,144,125,
|
||||
/* 0x0710 */ 224, 1, 0, 72, 0, 0, 0, 0, 0, 0, 0, 3,128, 17, 0, 0,
|
||||
/* 0x0720 */ 17, 0, 64, 60, 0,128, 66, 56,166, 2, 8,124,232,255,132, 56,
|
||||
/* 0x0730 */ 0, 0,192, 56,161, 1, 0, 72,113,255, 33,248,120, 75, 62,125,
|
||||
/* 0x0740 */ 24, 0, 35, 57,120, 43,191,124, 64, 0,165, 59, 72, 0, 33,249,
|
||||
/* 0x0750 */ 64, 0,129,248, 48, 0,129, 56, 24, 0, 35,129, 56, 0,161,248,
|
||||
/* 0x0760 */ 64, 0, 97, 56,120, 59,229,124, 80, 0,225,248, 88, 0, 1,249,
|
||||
/* 0x0770 */ 48, 0, 33,249, 64, 0, 65,233, 72, 0, 97,233, 32, 0, 65,249,
|
||||
/* 0x0780 */ 40, 0, 97,249,157,251,255, 75, 80, 0,191,232,120,243,195,127,
|
||||
/* 0x0790 */ 3, 0,128, 56, 64, 0,165, 56, 32, 0,165,120,189,250,255, 75,
|
||||
/* 0x07a0 */ 56, 0,191,160,120,243,195,127, 5, 0,128, 56,173,250,255, 75,
|
||||
/* 0x07b0 */ 24, 0,191,128,120,243,195,127, 9, 0,128, 56,157,250,255, 75,
|
||||
/* 0x07c0 */ 88, 0, 1,233, 80, 0,225,232,120,243,198,127, 0, 0,160, 56,
|
||||
/* 0x07d0 */ 32, 0,129, 56,120,251,227,127,201,252,255, 75, 9, 0,128, 56,
|
||||
/* 0x07e0 */ 32, 0,101,120,120, 27,124,124,120,243,195,127, 0, 0,192, 59,
|
||||
/* 0x07f0 */ 105,250,255, 75, 56, 0, 63,161, 0,240,137,127,144, 0,157, 64,
|
||||
/* 0x0800 */ 0, 0, 61,129, 3, 0,137, 47,116, 0,158, 64, 16, 0,125,232,
|
||||
/* 0x0810 */ 0, 0,160, 56, 0, 0,128, 56, 25,250,255, 75, 0, 0, 0, 96,
|
||||
/* 0x0820 */ 0, 0,131, 47,120, 27,123,124, 16, 0,252, 64,127, 0, 96, 56,
|
||||
/* 0x0830 */ 241,249,255, 75, 0, 0, 0, 96, 0, 4,160, 56,120,251,228,127,
|
||||
/* 0x0840 */ 233,249,255, 75, 0, 0, 0, 96, 0, 4,163, 47,224,255,222, 64,
|
||||
/* 0x0850 */ 0, 0, 0, 57, 0, 0,224, 56, 0, 0,192, 56,120,219,101,127,
|
||||
/* 0x0860 */ 0, 0,128, 56,120,251,227,127, 57,252,255, 75,120, 27,124,124,
|
||||
/* 0x0870 */ 120,219, 99,127,197,249,255, 75, 0, 0, 0, 96, 1, 0,222, 59,
|
||||
/* 0x0880 */ 56, 0,189, 59,180, 7,222,127,108,255,255, 75,144, 0, 33, 56,
|
||||
/* 0x0890 */ 120,227,131,127,140, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
/* 0x08a0 */ 128, 5, 0, 0,120,255,225,249,128,255, 1,250,136,255, 33,250,
|
||||
/* 0x08b0 */ 144,255, 65,250,152,255, 97,250,160,255,129,250,168,255,161,250,
|
||||
/* 0x08c0 */ 176,255,193,250,184,255,225,250,192,255, 1,251,200,255, 33,251,
|
||||
/* 0x08d0 */ 208,255, 65,251,216,255, 97,251,224,255,129,251,232,255,161,251,
|
||||
/* 0x08e0 */ 240,255,193,251,248,255,225,251, 16, 0, 1,248, 32, 0,128, 78,
|
||||
/* 0x08f0 */ 120,255,225,233,128,255, 1,234,136,255, 33,234,144,255, 65,234,
|
||||
/* 0x0900 */ 152,255, 97,234,160,255,129,234,168,255,161,234,176,255,193,234,
|
||||
/* 0x0910 */ 184,255,225,234,192,255, 1,235,200,255, 33,235,208,255, 65,235,
|
||||
/* 0x0920 */ 216,255, 97,235,224,255,129,235, 16, 0, 1,232,232,255,161,235,
|
||||
/* 0x0930 */ 166, 3, 8,124,240,255,193,235,248,255,225,235, 32, 0,128, 78
|
||||
};
|
||||
40
src/stub/ppc64le-linux.kernel.vmlinux-head.h
Normal file
40
src/stub/ppc64le-linux.kernel.vmlinux-head.h
Normal file
@ -0,0 +1,40 @@
|
||||
/* ppc64le-linux.kernel.vmlinux-head.h
|
||||
created from ppc64le-linux.kernel.vmlinux-head.bin, 8 (0x8) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2015 Laszlo Molnar
|
||||
Copyright (C) 2000-2015 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_PPC64LE_LINUX_KERNEL_VMLINUX_HEAD_SIZE 8
|
||||
#define STUB_PPC64LE_LINUX_KERNEL_VMLINUX_HEAD_ADLER32 0x0d7d0259
|
||||
#define STUB_PPC64LE_LINUX_KERNEL_VMLINUX_HEAD_CRC32 0xdfb1607d
|
||||
|
||||
unsigned char stub_ppc64le_linux_kernel_vmlinux_head[8] = {
|
||||
/* 0x0000 */ 166, 2,232,127, 1, 0, 0, 72
|
||||
};
|
||||
653
src/stub/ppc64le-linux.kernel.vmlinux.h
Normal file
653
src/stub/ppc64le-linux.kernel.vmlinux.h
Normal file
@ -0,0 +1,653 @@
|
||||
/* ppc64le-linux.kernel.vmlinux.h
|
||||
created from ppc64le-linux.kernel.vmlinux.bin, 9824 (0x2660) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2015 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2015 Laszlo Molnar
|
||||
Copyright (C) 2000-2015 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_PPC64LE_LINUX_KERNEL_VMLINUX_SIZE 9824
|
||||
#define STUB_PPC64LE_LINUX_KERNEL_VMLINUX_ADLER32 0xd50cc44b
|
||||
#define STUB_PPC64LE_LINUX_KERNEL_VMLINUX_CRC32 0x5c4b88d2
|
||||
|
||||
unsigned char stub_ppc64le_linux_kernel_vmlinux[9824] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 1, 0, 21, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 25, 0, 22, 0,
|
||||
/* 0x0040 */ 0, 0, 0, 72, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0050 */ 208, 0, 6, 40, 32, 0,194, 76,191,240,132, 84, 32, 0,194, 77,
|
||||
/* 0x0060 */ 16, 0, 0, 60, 64, 0, 4,124, 8, 0,128, 65,120, 3, 4,124,
|
||||
/* 0x0070 */ 32, 1,165, 56,120, 27,103,124,252,255, 99, 56,166, 3,137,124,
|
||||
/* 0x0080 */ 28, 0, 0, 72,186, 2, 75, 84, 80, 88, 99,125, 20, 58,107,125,
|
||||
/* 0x0090 */ 186, 1, 98, 81, 0, 0, 67,144, 32, 0, 64, 79, 4, 0, 67,132,
|
||||
/* 0x00a0 */ 190, 85, 75, 84, 64, 40, 11,124,220,255,194, 65,240,255, 32, 67,
|
||||
/* 0x00b0 */ 32, 0,128, 78,236, 41, 0,124,166, 2,168,125, 2, 0, 7, 40,
|
||||
/* 0x00c0 */ 252, 0,130, 64, 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,
|
||||
/* 0x00d0 */ 198, 7, 0,120, 0,128, 32, 61,198, 7, 0,120,255,255, 99, 56,
|
||||
/* 0x00e0 */ 255,255,165, 56,255,255, 64, 57,196, 0, 0, 72, 64, 0, 41,124,
|
||||
/* 0x00f0 */ 20, 72, 41,125, 32, 0,226, 76, 1, 0, 32, 57, 46, 24, 41,125,
|
||||
/* 0x0100 */ 4, 0, 99, 56,198, 7, 41,121, 64, 0, 41,124, 20, 73, 41,125,
|
||||
/* 0x0110 */ 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157,209,255,255, 75,
|
||||
/* 0x0120 */ 244,255,225, 65, 1, 0,224, 56,197,255,255, 75, 21, 57,231,124,
|
||||
/* 0x0130 */ 189,255,255, 75,244,255,192, 65,253,255,231, 52, 0, 0, 0, 57,
|
||||
/* 0x0140 */ 32, 0,192, 65, 1, 0, 67,140, 46, 64,231, 84,255,255,128, 57,
|
||||
/* 0x0150 */ 198, 7,140,121,120, 99,231,124,249, 16,234,124, 0, 0,194, 65,
|
||||
/* 0x0160 */ 141,255,255, 75, 21, 65, 8,125,133,255,255, 75, 21, 65, 8,125,
|
||||
/* 0x0170 */ 1, 0,224, 56, 28, 0,194, 64, 3, 0,224, 56, 1, 0, 0, 57,
|
||||
/* 0x0180 */ 109,255,255, 75, 21, 65, 8,125,101,255,255, 75,244,255,192, 65,
|
||||
/* 0x0190 */ 255,242, 74, 32, 20, 57, 8,125, 20, 42,234,124,166, 3, 9,125,
|
||||
/* 0x01a0 */ 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,
|
||||
/* 0x01b0 */ 236, 41, 7,124, 44, 26, 7,124,100,255,255, 75,236, 41, 0,124,
|
||||
/* 0x01c0 */ 166, 2,168,125, 5, 0, 7, 40, 56, 1,130, 64, 0, 0,166,248,
|
||||
/* 0x01d0 */ 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120, 0,128, 32, 61,
|
||||
/* 0x01e0 */ 198, 7, 0,120,255,255, 99, 56,255,255,165, 56,255,255, 64, 57,
|
||||
/* 0x01f0 */ 0, 1, 0, 72, 1, 0, 32, 57, 46, 24, 41,125, 4, 0, 99, 56,
|
||||
/* 0x0200 */ 198, 7, 41,121, 64, 0, 9,124, 20, 72, 41,125, 1, 0, 41, 97,
|
||||
/* 0x0210 */ 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157, 64, 0, 41,124,
|
||||
/* 0x0220 */ 20, 74, 41,125,209,255,194, 65,236,255,225, 65, 1, 0,224, 56,
|
||||
/* 0x0230 */ 20, 0, 0, 72,255,255,231, 56, 21, 72, 41,125,185,255,194, 65,
|
||||
/* 0x0240 */ 21, 57,231,124, 21, 72, 41,125,173,255,194, 65, 21, 57,231,124,
|
||||
/* 0x0250 */ 64, 0, 41,124, 20, 74, 41,125,157,255,194, 65,216,255,192, 65,
|
||||
/* 0x0260 */ 0, 0, 0, 57,253,255,231, 52, 46, 64,231, 84,255,255,128, 57,
|
||||
/* 0x0270 */ 198, 7,140,121,120, 99,231,124, 24, 0,192, 65, 1, 0, 67,140,
|
||||
/* 0x0280 */ 249, 16,234,124,112, 14, 74,125, 0, 0,194, 65, 12, 0, 0, 72,
|
||||
/* 0x0290 */ 21, 72, 41,125, 97,255,194, 65, 21, 65, 8,125, 21, 72, 41,125,
|
||||
/* 0x02a0 */ 85,255,194, 65, 21, 65, 8,125, 40, 0,130, 64, 1, 0, 0, 57,
|
||||
/* 0x02b0 */ 21, 72, 41,125, 65,255,194, 65, 21, 65, 8,125, 64, 0, 41,124,
|
||||
/* 0x02c0 */ 20, 74, 41,125, 49,255,194, 65,232,255,192, 65, 2, 0, 8, 57,
|
||||
/* 0x02d0 */ 255,250,234, 32, 1, 0, 8, 57,148, 1, 8,125, 20, 42,234,124,
|
||||
/* 0x02e0 */ 166, 3, 9,125, 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67,
|
||||
/* 0x02f0 */ 0, 1,224, 56,236, 41, 7,124, 44, 26, 7,124, 32,255,255, 75,
|
||||
/* 0x0300 */ 236, 41, 0,124,166, 2,168,125, 8, 0, 7, 40, 92, 1,130, 64,
|
||||
/* 0x0310 */ 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120,
|
||||
/* 0x0320 */ 0,128, 32, 61,198, 7, 41,121,255,255, 99, 56,255,255,165, 56,
|
||||
/* 0x0330 */ 255,255, 64, 57, 36, 1, 0, 72, 1, 0, 32, 57, 46, 24, 41,125,
|
||||
/* 0x0340 */ 4, 0, 99, 56,198, 7, 41,121, 64, 0, 41,124, 20, 72, 41,125,
|
||||
/* 0x0350 */ 1, 0,128, 57,198, 7,140,121,120, 99, 41,125, 32, 0,128, 78,
|
||||
/* 0x0360 */ 1, 0, 3,141, 1, 0, 5,157, 64, 0, 41,124, 20, 74, 41,125,
|
||||
/* 0x0370 */ 201,255,194, 65,236,255,225, 65, 1, 0,224, 56, 20, 0, 0, 72,
|
||||
/* 0x0380 */ 255,255,231, 56, 21, 72, 41,125,177,255,194, 65, 20, 57,231,124,
|
||||
/* 0x0390 */ 21, 72, 41,125,165,255,194, 65, 20, 57,231,124, 64, 0, 41,124,
|
||||
/* 0x03a0 */ 20, 74, 41,125,149,255,194, 65,216,255,192, 65, 0, 0, 0, 57,
|
||||
/* 0x03b0 */ 253,255,231, 52, 46, 64,231, 84,255,255,128, 57,198, 7,140,121,
|
||||
/* 0x03c0 */ 120, 99,231,124, 32, 0,192, 65, 1, 0, 67,140,249, 16,234,124,
|
||||
/* 0x03d0 */ 112, 14, 74,125, 0, 0,194, 65, 1, 0, 66,112, 80, 0,226, 65,
|
||||
/* 0x03e0 */ 20, 0, 0, 72, 64, 0, 41,124, 20, 74, 41,125, 77,255,194, 65,
|
||||
/* 0x03f0 */ 60, 0,225, 65, 1, 0, 0, 57, 64, 0, 41,124, 20, 74, 41,125,
|
||||
/* 0x0400 */ 57,255,194, 65, 40, 0,225, 65, 21, 72, 41,125, 45,255,194, 65,
|
||||
/* 0x0410 */ 20, 65, 8,125, 64, 0, 41,124, 20, 74, 41,125, 29,255,194, 65,
|
||||
/* 0x0420 */ 232,255,192, 65, 2, 0, 8, 57, 16, 0, 0, 72, 21, 72, 41,125,
|
||||
/* 0x0430 */ 9,255,194, 65, 20, 65, 8,125,255,250,234, 32, 2, 0, 8, 57,
|
||||
/* 0x0440 */ 148, 1, 8,125, 20, 42,234,124,166, 3, 9,125, 1, 0, 7,141,
|
||||
/* 0x0450 */ 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,236, 41, 7,124,
|
||||
/* 0x0460 */ 44, 26, 7,124, 4,255,255, 75, 0, 0,230,232,166, 3,168,125,
|
||||
/* 0x0470 */ 80, 24,100,124, 80, 40,135,124, 1, 0, 99, 56, 1, 0,132, 56,
|
||||
/* 0x0480 */ 0, 0,134,248, 31, 0,231, 96,108, 56, 0,124, 64, 40, 7,124,
|
||||
/* 0x0490 */ 172, 63, 0,124, 32, 0,231, 56,240,255,128, 65,172, 4, 0,124,
|
||||
/* 0x04a0 */ 44, 1, 0, 76, 32, 0,128, 78, 14, 0, 7, 40, 0, 0,130, 64,
|
||||
/* 0x04b0 */ 166, 2, 8,124,120, 51,201,124, 0, 0, 6,129,120, 43,167,124,
|
||||
/* 0x04c0 */ 254,255,164, 56, 2, 0,131, 56, 8, 0, 1,144, 0, 0, 3,136,
|
||||
/* 0x04d0 */ 254,232, 11, 84,126, 7, 2, 84, 0,250, 96, 56, 48, 88, 99,124,
|
||||
/* 0x04e0 */ 124,241, 99, 56,120, 11, 38,124, 20, 26, 33,124, 52, 0, 33, 84,
|
||||
/* 0x04f0 */ 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144,252,255, 3,148,
|
||||
/* 0x0500 */ 64, 24, 1,124,248,255,128, 65, 0, 0,193,144,255,255, 4,136,
|
||||
/* 0x0510 */ 8, 0,225,144, 16, 0,193, 56, 12, 0, 33,145, 20, 0, 97, 56,
|
||||
/* 0x0520 */ 62,225, 11, 84, 62, 7, 0, 84, 2, 0, 67,152, 1, 0, 99,153,
|
||||
/* 0x0530 */ 0, 0, 3,152,124, 8, 2,166,148, 33,255,160,189,193, 0, 24,
|
||||
/* 0x0540 */ 144, 1, 0,100, 59, 32, 0, 0,137, 67, 0, 2,137, 99, 0, 1,
|
||||
/* 0x0550 */ 138, 67, 0, 0,147, 38, 0, 0,147, 41, 0, 0,136, 3, 0, 1,
|
||||
/* 0x0560 */ 125, 40, 3,166,124, 18, 2, 20, 57, 32, 3, 0,125, 41, 0, 48,
|
||||
/* 0x0570 */ 56, 9, 7, 54,127,153, 0, 64, 57, 32, 0, 1,125, 43, 88, 48,
|
||||
/* 0x0580 */ 125, 41, 80, 48, 57, 41,255,255, 57,107,255,255,145, 33, 0, 8,
|
||||
/* 0x0590 */ 124,206, 51,120,124,147, 35,120,124,245, 59,120,125, 20, 67,120,
|
||||
/* 0x05a0 */ 145, 97, 0, 12, 59, 3, 0, 4, 59,224, 0, 0, 58,224, 0, 0,
|
||||
/* 0x05b0 */ 59, 64, 0, 1, 58, 32, 0, 1, 58, 0, 0, 1, 57,224, 0, 1,
|
||||
/* 0x05c0 */ 57, 32, 0, 0, 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0,
|
||||
/* 0x05d0 */ 85, 32, 8, 60,125,120, 3, 46, 57, 41, 0, 1, 66, 0,255,244,
|
||||
/* 0x05e0 */ 127,179, 42, 20,126,108,155,120, 56,160, 0, 0, 57, 0,255,255,
|
||||
/* 0x05f0 */ 57, 96, 0, 0,127,140,232, 0, 57,107, 0, 1, 47, 11, 0, 4,
|
||||
/* 0x0600 */ 84,169, 64, 46, 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,
|
||||
/* 0x0610 */ 125, 37, 3,120, 64,153,255,224,127,153,160, 64, 64,156, 8,100,
|
||||
/* 0x0620 */ 62,192, 0,255, 98,214,255,255,128, 1, 0, 8,127,136,176, 64,
|
||||
/* 0x0630 */ 127, 35, 0, 56, 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60,
|
||||
/* 0x0640 */ 65,157, 0, 32,127,140,232, 0, 65,158, 8, 88,137, 44, 0, 0,
|
||||
/* 0x0650 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0660 */ 124,230,194, 46, 85, 0,170,254,125, 64, 57,214,127,133, 80, 64,
|
||||
/* 0x0670 */ 64,156, 1,172,128, 1, 0, 12, 47,151, 0, 6,127, 41, 0, 56,
|
||||
/* 0x0680 */ 32, 18, 0, 8,127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20,
|
||||
/* 0x0690 */ 29, 41, 6, 0, 32, 7, 8, 0,124, 0, 46,112,124, 7, 2, 20,
|
||||
/* 0x06a0 */ 125, 56, 74, 20,124, 6,195, 46,125, 72, 83,120, 56,201, 14,108,
|
||||
/* 0x06b0 */ 56, 96, 0, 1, 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,
|
||||
/* 0x06c0 */ 127,245, 0,174, 99,123,255,255, 87,255, 8, 60, 87,252, 5,238,
|
||||
/* 0x06d0 */ 127,136,216, 64, 87,128, 8, 60, 84,100, 8, 60,124, 6, 2, 20,
|
||||
/* 0x06e0 */ 127, 12,232, 0, 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24,
|
||||
/* 0x06f0 */ 65,154, 7,176,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0700 */ 125, 37, 3,120,161,103, 2, 0, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0710 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x0720 */ 124, 11, 2, 20, 47, 28, 0, 0,125,105, 88, 80,124,131, 35,120,
|
||||
/* 0x0730 */ 125, 10, 64, 80, 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120,
|
||||
/* 0x0740 */ 65,186, 0, 24, 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80,
|
||||
/* 0x0750 */ 56,100, 0, 1, 65,154, 0, 12, 47,131, 0,255, 64,157,255,108,
|
||||
/* 0x0760 */ 47,131, 0,255, 65,157, 0,132, 63,224, 0,255, 99,255,255,255,
|
||||
/* 0x0770 */ 127,136,248, 64, 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,
|
||||
/* 0x0780 */ 124,227, 59,120, 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0,
|
||||
/* 0x0790 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46,
|
||||
/* 0x07a0 */ 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,
|
||||
/* 0x07b0 */ 124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,
|
||||
/* 0x07c0 */ 125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46,
|
||||
/* 0x07d0 */ 72, 0, 0, 16,124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1,
|
||||
/* 0x07e0 */ 47,131, 0,255, 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,
|
||||
/* 0x07f0 */ 127,249,169,174, 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0,
|
||||
/* 0x0800 */ 72, 0, 6,120, 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253,
|
||||
/* 0x0810 */ 72, 0, 6,104, 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,
|
||||
/* 0x0820 */ 127,136,176, 64, 84,224,217,126,124, 0, 56, 80, 86,233, 8, 60,
|
||||
/* 0x0830 */ 124, 6,195, 46,124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,
|
||||
/* 0x0840 */ 127,140,232, 0, 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x0850 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,128,
|
||||
/* 0x0860 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64,
|
||||
/* 0x0870 */ 32, 11, 8, 0, 47,151, 0, 6,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x0880 */ 176, 7, 1,128,126, 15,131,120,125, 72, 83,120,126, 48,139,120,
|
||||
/* 0x0890 */ 56, 0, 0, 0,127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,
|
||||
/* 0x08a0 */ 124, 23, 3,120, 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,
|
||||
/* 0x08b0 */ 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x08c0 */ 176, 7, 1,128, 65,157, 0, 32,127,140,232, 0, 65,158, 5,212,
|
||||
/* 0x08d0 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x08e0 */ 57,140, 0, 1,161,103, 1,152, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x08f0 */ 127,133, 80, 64, 64,156, 0,188, 32, 11, 8, 0,127,138,176, 64,
|
||||
/* 0x0900 */ 124, 0, 46,112, 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20,
|
||||
/* 0x0910 */ 84,107, 8, 60,176, 7, 1,152,125, 72, 83,120,124,233, 90, 20,
|
||||
/* 0x0920 */ 65,157, 0, 32,127,140,232, 0, 65,158, 5,120,137, 44, 0, 0,
|
||||
/* 0x0930 */ 84,160, 64, 46,124, 5, 75,120, 85, 72, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0940 */ 161,103, 1,224, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x0950 */ 64,156, 0, 72, 32, 11, 8, 0, 47,153, 0, 0,124, 0, 46,112,
|
||||
/* 0x0960 */ 124, 11, 2, 20,176, 7, 1,224,125, 72, 83,120, 65,158, 5, 52,
|
||||
/* 0x0970 */ 47,151, 0, 6, 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,
|
||||
/* 0x0980 */ 124, 26,200, 80,127,245, 0,174,125, 55, 75,120,127,249,169,174,
|
||||
/* 0x0990 */ 59, 57, 0, 1, 72, 0, 4,228, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x09a0 */ 124,170, 40, 80,125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,
|
||||
/* 0x09b0 */ 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x09c0 */ 124,170, 40, 80,176, 7, 1,152, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x09d0 */ 65,158, 4,208,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x09e0 */ 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,176, 85, 0,170,254,
|
||||
/* 0x09f0 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,
|
||||
/* 0x0a00 */ 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,126, 41,139,120,
|
||||
/* 0x0a10 */ 176, 7, 1,176, 72, 0, 0,140,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x0a20 */ 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176,
|
||||
/* 0x0a30 */ 65,157, 0, 32,127,140,232, 0, 65,158, 4,104,137, 44, 0, 0,
|
||||
/* 0x0a40 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0a50 */ 161,103, 1,200, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x0a60 */ 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x0a70 */ 125, 72, 83,120,126, 9,131,120,176, 7, 1,200, 72, 0, 0, 32,
|
||||
/* 0x0a80 */ 85, 96,217,126,124, 0, 88, 80,125,233,123,120,176, 7, 1,200,
|
||||
/* 0x0a90 */ 124,170, 40, 80,125, 10, 64, 80,126, 15,131,120,126, 48,139,120,
|
||||
/* 0x0aa0 */ 127, 81,211,120,125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8,
|
||||
/* 0x0ab0 */ 64,157, 0, 8, 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,
|
||||
/* 0x0ac0 */ 127,136,176, 64, 65,157, 0, 32,127,140,232, 0, 65,158, 3,212,
|
||||
/* 0x0ad0 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x0ae0 */ 57,140, 0, 1,161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0af0 */ 127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,
|
||||
/* 0x0b00 */ 125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,
|
||||
/* 0x0b10 */ 56,137, 0, 4, 59,128, 0, 0, 59, 96, 0, 3,176, 6, 0, 0,
|
||||
/* 0x0b20 */ 72, 0, 0,156,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,
|
||||
/* 0x0b30 */ 124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,
|
||||
/* 0x0b40 */ 127,140,232, 0, 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x0b50 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 2,
|
||||
/* 0x0b60 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48,
|
||||
/* 0x0b70 */ 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,
|
||||
/* 0x0b80 */ 124, 11, 2, 20,125, 72, 83,120, 56,137, 1, 4, 59,128, 0, 8,
|
||||
/* 0x0b90 */ 59, 96, 0, 3,176, 6, 0, 2, 72, 0, 0, 36, 85, 96,217,126,
|
||||
/* 0x0ba0 */ 124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 2,125, 10, 64, 80,
|
||||
/* 0x0bb0 */ 56,134, 2, 4, 59,128, 0, 16, 59, 96, 0, 8,127,105, 3,166,
|
||||
/* 0x0bc0 */ 63,224, 0,255, 99,255,255,255, 56, 96, 0, 1,127,136,248, 64,
|
||||
/* 0x0bd0 */ 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,227, 59,120,
|
||||
/* 0x0be0 */ 65,157, 0, 24, 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0bf0 */ 57,140, 0, 1,125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,
|
||||
/* 0x0c00 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x0c10 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x0c20 */ 64,156, 0, 16,125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x0c30 */ 124,170, 40, 80, 56,103, 0, 1,125,100, 59, 46, 66, 0,255,144,
|
||||
/* 0x0c40 */ 56, 0, 0, 1, 47,151, 0, 3,124, 0,216, 48,124, 96, 24, 80,
|
||||
/* 0x0c50 */ 124, 99,226, 20, 65,157, 1,232, 47,131, 0, 3, 58,247, 0, 7,
|
||||
/* 0x0c60 */ 124,105, 27,120, 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,
|
||||
/* 0x0c70 */ 125, 56, 74, 20, 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166,
|
||||
/* 0x0c80 */ 63,224, 0,255, 99,255,255,255, 56,128, 0, 1,127,136,248, 64,
|
||||
/* 0x0c90 */ 84,135, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,228, 59,120,
|
||||
/* 0x0ca0 */ 65,157, 0, 24, 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0cb0 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x0cc0 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x0cd0 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x0ce0 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x0cf0 */ 124,170, 40, 80, 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144,
|
||||
/* 0x0d00 */ 56,132,255,192, 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40,
|
||||
/* 0x0d10 */ 47,132, 0, 13,124,137, 14,112, 84,128, 7,254, 57,105,255,255,
|
||||
/* 0x0d20 */ 96, 26, 0, 2,125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48,
|
||||
/* 0x0d30 */ 87, 73, 8, 60,125, 56, 74, 20, 84,128, 8, 60,125, 32, 72, 80,
|
||||
/* 0x0d40 */ 56,201, 5, 94, 72, 0, 0,100, 57, 41,255,251,125, 41, 3,166,
|
||||
/* 0x0d50 */ 61, 96, 0,255, 97,107,255,255,127,136, 88, 64,127, 12,232, 0,
|
||||
/* 0x0d60 */ 84,169, 64, 46, 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,
|
||||
/* 0x0d70 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x0d80 */ 85, 8,248,126,127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80,
|
||||
/* 0x0d90 */ 99, 90, 0, 1, 66, 0,255,196, 56, 0, 0, 4,124, 9, 3,166,
|
||||
/* 0x0da0 */ 87, 90, 32, 54, 56,216, 6, 68, 60,128, 0,255, 96,132,255,255,
|
||||
/* 0x0db0 */ 59,128, 0, 1, 59,224, 0, 1,127,136, 32, 64, 87,231, 8, 60,
|
||||
/* 0x0dc0 */ 127, 12,232, 0, 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24,
|
||||
/* 0x0dd0 */ 65,154, 0,208,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0de0 */ 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0df0 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x0e00 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x0e10 */ 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80,
|
||||
/* 0x0e20 */ 59,231, 0, 1,125,102, 59, 46,127, 90,227,120, 87,156, 8, 60,
|
||||
/* 0x0e30 */ 66, 0,255,136, 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64,
|
||||
/* 0x0e40 */ 56, 99, 0, 2, 65,157, 0, 92,124, 26,200, 80,127,245, 0,174,
|
||||
/* 0x0e50 */ 56, 99,255,255,127,249,169,174, 59, 57, 0, 1, 49, 99,255,255,
|
||||
/* 0x0e60 */ 125, 43, 25, 16,124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,
|
||||
/* 0x0e70 */ 125, 43, 0, 57, 64,130,255,212,127,153,160, 64, 65,156,247,172,
|
||||
/* 0x0e80 */ 60, 0, 0,255, 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,
|
||||
/* 0x0e90 */ 127,140,232, 0, 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12,
|
||||
/* 0x0ea0 */ 56, 96, 0, 1, 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,
|
||||
/* 0x0eb0 */ 124, 19, 96, 80,144, 14, 0, 0, 56, 96, 0, 0,147, 41, 0, 0,
|
||||
/* 0x0ec0 */ 128, 1, 0,100,185,193, 0, 24,124, 8, 3,166, 56, 33, 0, 96,
|
||||
/* 0x0ed0 */ 124, 8, 2,166,148, 33,255,160,189,193, 0, 24,144, 1, 0,100,
|
||||
/* 0x0ee0 */ 59, 32, 0, 0,137, 67, 0, 2,137, 99, 0, 1,138, 67, 0, 0,
|
||||
/* 0x0ef0 */ 147, 38, 0, 0,147, 41, 0, 0,136, 3, 0, 1,125, 40, 3,166,
|
||||
/* 0x0f00 */ 124, 18, 2, 20, 57, 32, 3, 0,125, 41, 0, 48, 56, 9, 7, 54,
|
||||
/* 0x0f10 */ 127,153, 0, 64, 57, 32, 0, 1,125, 43, 88, 48,125, 41, 80, 48,
|
||||
/* 0x0f20 */ 57, 41,255,255, 57,107,255,255,145, 33, 0, 8,124,206, 51,120,
|
||||
/* 0x0f30 */ 124,147, 35,120,124,245, 59,120,125, 20, 67,120,145, 97, 0, 12,
|
||||
/* 0x0f40 */ 59, 3, 0, 4, 59,224, 0, 0, 58,224, 0, 0, 59, 64, 0, 1,
|
||||
/* 0x0f50 */ 58, 32, 0, 1, 58, 0, 0, 1, 57,224, 0, 1, 57, 32, 0, 0,
|
||||
/* 0x0f60 */ 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0, 85, 32, 8, 60,
|
||||
/* 0x0f70 */ 125,120, 3, 46, 57, 41, 0, 1, 66, 0,255,244,127,179, 42, 20,
|
||||
/* 0x0f80 */ 126,108,155,120, 56,160, 0, 0, 57, 0,255,255, 57, 96, 0, 0,
|
||||
/* 0x0f90 */ 127,140,232, 0, 57,107, 0, 1, 47, 11, 0, 4, 84,169, 64, 46,
|
||||
/* 0x0fa0 */ 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x0fb0 */ 64,153,255,224,127,153,160, 64, 64,156, 8,100, 62,192, 0,255,
|
||||
/* 0x0fc0 */ 98,214,255,255,128, 1, 0, 8,127,136,176, 64,127, 35, 0, 56,
|
||||
/* 0x0fd0 */ 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60, 65,157, 0, 32,
|
||||
/* 0x0fe0 */ 127,140,232, 0, 65,158, 8, 88,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x0ff0 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,124,230,194, 46,
|
||||
/* 0x1000 */ 85, 0,170,254,125, 64, 57,214,127,133, 80, 64, 64,156, 1,172,
|
||||
/* 0x1010 */ 128, 1, 0, 12, 47,151, 0, 6,127, 41, 0, 56, 32, 18, 0, 8,
|
||||
/* 0x1020 */ 127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20, 29, 41, 6, 0,
|
||||
/* 0x1030 */ 32, 7, 8, 0,124, 0, 46,112,124, 7, 2, 20,125, 56, 74, 20,
|
||||
/* 0x1040 */ 124, 6,195, 46,125, 72, 83,120, 56,201, 14,108, 56, 96, 0, 1,
|
||||
/* 0x1050 */ 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,127,245, 0,174,
|
||||
/* 0x1060 */ 99,123,255,255, 87,255, 8, 60, 87,252, 5,238,127,136,216, 64,
|
||||
/* 0x1070 */ 87,128, 8, 60, 84,100, 8, 60,124, 6, 2, 20,127, 12,232, 0,
|
||||
/* 0x1080 */ 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24, 65,154, 7,176,
|
||||
/* 0x1090 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x10a0 */ 161,103, 2, 0, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,
|
||||
/* 0x10b0 */ 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,
|
||||
/* 0x10c0 */ 47, 28, 0, 0,125,105, 88, 80,124,131, 35,120,125, 10, 64, 80,
|
||||
/* 0x10d0 */ 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120, 65,186, 0, 24,
|
||||
/* 0x10e0 */ 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80, 56,100, 0, 1,
|
||||
/* 0x10f0 */ 65,154, 0, 12, 47,131, 0,255, 64,157,255,108, 47,131, 0,255,
|
||||
/* 0x1100 */ 65,157, 0,132, 63,224, 0,255, 99,255,255,255,127,136,248, 64,
|
||||
/* 0x1110 */ 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,227, 59,120,
|
||||
/* 0x1120 */ 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x1130 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x1140 */ 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112,
|
||||
/* 0x1150 */ 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80,
|
||||
/* 0x1160 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x1170 */ 124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1, 47,131, 0,255,
|
||||
/* 0x1180 */ 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,127,249,169,174,
|
||||
/* 0x1190 */ 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0, 72, 0, 6,120,
|
||||
/* 0x11a0 */ 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253, 72, 0, 6,104,
|
||||
/* 0x11b0 */ 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x11c0 */ 84,224,217,126,124, 0, 56, 80, 86,233, 8, 60,124, 6,195, 46,
|
||||
/* 0x11d0 */ 124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x11e0 */ 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x11f0 */ 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,128, 85, 0,170,254,
|
||||
/* 0x1200 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64, 32, 11, 8, 0,
|
||||
/* 0x1210 */ 47,151, 0, 6,124, 0, 46,112,124, 11, 2, 20,176, 7, 1,128,
|
||||
/* 0x1220 */ 126, 15,131,120,125, 72, 83,120,126, 48,139,120, 56, 0, 0, 0,
|
||||
/* 0x1230 */ 127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,124, 23, 3,120,
|
||||
/* 0x1240 */ 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,127,136,176, 64,
|
||||
/* 0x1250 */ 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,128,
|
||||
/* 0x1260 */ 65,157, 0, 32,127,140,232, 0, 65,158, 5,212,137, 44, 0, 0,
|
||||
/* 0x1270 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x1280 */ 161,103, 1,152, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x1290 */ 64,156, 0,188, 32, 11, 8, 0,127,138,176, 64,124, 0, 46,112,
|
||||
/* 0x12a0 */ 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20, 84,107, 8, 60,
|
||||
/* 0x12b0 */ 176, 7, 1,152,125, 72, 83,120,124,233, 90, 20, 65,157, 0, 32,
|
||||
/* 0x12c0 */ 127,140,232, 0, 65,158, 5,120,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x12d0 */ 124, 5, 75,120, 85, 72, 64, 46, 57,140, 0, 1,161,103, 1,224,
|
||||
/* 0x12e0 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 72,
|
||||
/* 0x12f0 */ 32, 11, 8, 0, 47,153, 0, 0,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x1300 */ 176, 7, 1,224,125, 72, 83,120, 65,158, 5, 52, 47,151, 0, 6,
|
||||
/* 0x1310 */ 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,124, 26,200, 80,
|
||||
/* 0x1320 */ 127,245, 0,174,125, 55, 75,120,127,249,169,174, 59, 57, 0, 1,
|
||||
/* 0x1330 */ 72, 0, 4,228, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x1340 */ 125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,125, 10, 64, 80,
|
||||
/* 0x1350 */ 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x1360 */ 176, 7, 1,152, 65,157, 0, 32,127,140,232, 0, 65,158, 4,208,
|
||||
/* 0x1370 */ 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46,
|
||||
/* 0x1380 */ 57,140, 0, 1,161,103, 1,176, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x1390 */ 127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112,
|
||||
/* 0x13a0 */ 124, 11, 2, 20,125, 72, 83,120,126, 41,139,120,176, 7, 1,176,
|
||||
/* 0x13b0 */ 72, 0, 0,140,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,
|
||||
/* 0x13c0 */ 124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176, 65,157, 0, 32,
|
||||
/* 0x13d0 */ 127,140,232, 0, 65,158, 4,104,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x13e0 */ 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,200,
|
||||
/* 0x13f0 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32,
|
||||
/* 0x1400 */ 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,
|
||||
/* 0x1410 */ 126, 9,131,120,176, 7, 1,200, 72, 0, 0, 32, 85, 96,217,126,
|
||||
/* 0x1420 */ 124, 0, 88, 80,125,233,123,120,176, 7, 1,200,124,170, 40, 80,
|
||||
/* 0x1430 */ 125, 10, 64, 80,126, 15,131,120,126, 48,139,120,127, 81,211,120,
|
||||
/* 0x1440 */ 125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8, 64,157, 0, 8,
|
||||
/* 0x1450 */ 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,127,136,176, 64,
|
||||
/* 0x1460 */ 65,157, 0, 32,127,140,232, 0, 65,158, 3,212,137, 44, 0, 0,
|
||||
/* 0x1470 */ 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x1480 */ 161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x1490 */ 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20,
|
||||
/* 0x14a0 */ 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120, 56,137, 0, 4,
|
||||
/* 0x14b0 */ 59,128, 0, 0, 59, 96, 0, 3,176, 6, 0, 0, 72, 0, 0,156,
|
||||
/* 0x14c0 */ 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x14d0 */ 124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x14e0 */ 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120,
|
||||
/* 0x14f0 */ 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 2, 85, 0,170,254,
|
||||
/* 0x1500 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0,
|
||||
/* 0x1510 */ 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x1520 */ 125, 72, 83,120, 56,137, 1, 4, 59,128, 0, 8, 59, 96, 0, 3,
|
||||
/* 0x1530 */ 176, 6, 0, 2, 72, 0, 0, 36, 85, 96,217,126,124, 0, 88, 80,
|
||||
/* 0x1540 */ 124,170, 40, 80,176, 6, 0, 2,125, 10, 64, 80, 56,134, 2, 4,
|
||||
/* 0x1550 */ 59,128, 0, 16, 59, 96, 0, 8,127,105, 3,166, 63,224, 0,255,
|
||||
/* 0x1560 */ 99,255,255,255, 56, 96, 0, 1,127,136,248, 64, 84,103, 8, 60,
|
||||
/* 0x1570 */ 127, 12,232, 0, 84,169, 64, 46,124,227, 59,120, 65,157, 0, 24,
|
||||
/* 0x1580 */ 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x1590 */ 125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x15a0 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x15b0 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x15c0 */ 125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,124,170, 40, 80,
|
||||
/* 0x15d0 */ 56,103, 0, 1,125,100, 59, 46, 66, 0,255,144, 56, 0, 0, 1,
|
||||
/* 0x15e0 */ 47,151, 0, 3,124, 0,216, 48,124, 96, 24, 80,124, 99,226, 20,
|
||||
/* 0x15f0 */ 65,157, 1,232, 47,131, 0, 3, 58,247, 0, 7,124,105, 27,120,
|
||||
/* 0x1600 */ 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,125, 56, 74, 20,
|
||||
/* 0x1610 */ 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166, 63,224, 0,255,
|
||||
/* 0x1620 */ 99,255,255,255, 56,128, 0, 1,127,136,248, 64, 84,135, 8, 60,
|
||||
/* 0x1630 */ 127, 12,232, 0, 84,169, 64, 46,124,228, 59,120, 65,157, 0, 24,
|
||||
/* 0x1640 */ 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x1650 */ 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x1660 */ 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126,
|
||||
/* 0x1670 */ 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,
|
||||
/* 0x1680 */ 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,124,170, 40, 80,
|
||||
/* 0x1690 */ 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144, 56,132,255,192,
|
||||
/* 0x16a0 */ 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40, 47,132, 0, 13,
|
||||
/* 0x16b0 */ 124,137, 14,112, 84,128, 7,254, 57,105,255,255, 96, 26, 0, 2,
|
||||
/* 0x16c0 */ 125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48, 87, 73, 8, 60,
|
||||
/* 0x16d0 */ 125, 56, 74, 20, 84,128, 8, 60,125, 32, 72, 80, 56,201, 5, 94,
|
||||
/* 0x16e0 */ 72, 0, 0,100, 57, 41,255,251,125, 41, 3,166, 61, 96, 0,255,
|
||||
/* 0x16f0 */ 97,107,255,255,127,136, 88, 64,127, 12,232, 0, 84,169, 64, 46,
|
||||
/* 0x1700 */ 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,136, 12, 0, 0,
|
||||
/* 0x1710 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120, 85, 8,248,126,
|
||||
/* 0x1720 */ 127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80, 99, 90, 0, 1,
|
||||
/* 0x1730 */ 66, 0,255,196, 56, 0, 0, 4,124, 9, 3,166, 87, 90, 32, 54,
|
||||
/* 0x1740 */ 56,216, 6, 68, 60,128, 0,255, 96,132,255,255, 59,128, 0, 1,
|
||||
/* 0x1750 */ 59,224, 0, 1,127,136, 32, 64, 87,231, 8, 60,127, 12,232, 0,
|
||||
/* 0x1760 */ 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24, 65,154, 0,208,
|
||||
/* 0x1770 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x1780 */ 125,102, 58, 46, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,
|
||||
/* 0x1790 */ 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20,
|
||||
/* 0x17a0 */ 125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120,
|
||||
/* 0x17b0 */ 124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80, 59,231, 0, 1,
|
||||
/* 0x17c0 */ 125,102, 59, 46,127, 90,227,120, 87,156, 8, 60, 66, 0,255,136,
|
||||
/* 0x17d0 */ 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64, 56, 99, 0, 2,
|
||||
/* 0x17e0 */ 65,157, 0, 92,124, 26,200, 80,127,245, 0,174, 56, 99,255,255,
|
||||
/* 0x17f0 */ 127,249,169,174, 59, 57, 0, 1, 49, 99,255,255,125, 43, 25, 16,
|
||||
/* 0x1800 */ 124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,125, 43, 0, 57,
|
||||
/* 0x1810 */ 64,130,255,212,127,153,160, 64, 65,156,247,172, 60, 0, 0,255,
|
||||
/* 0x1820 */ 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,127,140,232, 0,
|
||||
/* 0x1830 */ 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12, 56, 96, 0, 1,
|
||||
/* 0x1840 */ 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,124, 19, 96, 80,
|
||||
/* 0x1850 */ 144, 14, 0, 0, 56, 96, 0, 0,147, 41, 0, 0,128, 1, 0,100,
|
||||
/* 0x1860 */ 185,193, 0, 24,124, 8, 3,166, 56, 33, 0, 96, 12, 0,161,128,
|
||||
/* 0x1870 */ 8, 0,225,128, 0, 0,165,128, 0, 0, 33,128, 20, 58,165,124,
|
||||
/* 0x1880 */ 8, 0, 1,128,255,255,165, 56,166, 3, 8,124, 85, 80, 88, 33,
|
||||
/* 0x1890 */ 161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x18a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,102,105,108,101,
|
||||
/* 0x18b0 */ 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45,112,111,
|
||||
/* 0x18c0 */ 119,101,114,112, 99,108,101, 10, 10, 83,101, 99,116,105,111,110,
|
||||
/* 0x18d0 */ 115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32,
|
||||
/* 0x18e0 */ 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86,
|
||||
/* 0x18f0 */ 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1900 */ 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1910 */ 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,
|
||||
/* 0x1920 */ 110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 76, 73, 78,
|
||||
/* 0x1930 */ 85, 88, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1940 */ 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1950 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1960 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52,
|
||||
/* 0x1970 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
|
||||
/* 0x1980 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78,
|
||||
/* 0x1990 */ 76, 89, 10, 32, 32, 49, 32, 76, 73, 78, 85, 88, 48, 49, 48, 32,
|
||||
/* 0x19a0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, 32, 32, 48,
|
||||
/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x19c0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x19d0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42,
|
||||
/* 0x19e0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76,
|
||||
/* 0x19f0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50,
|
||||
/* 0x1a00 */ 32, 76, 73, 78, 85, 88, 48, 50, 48, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x1a10 */ 48, 48, 48, 48, 48, 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1a20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1a30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x1a40 */ 48, 48, 48, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
|
||||
/* 0x1a50 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x1a60 */ 32, 32, 51, 32, 76, 73, 78, 85, 88, 48, 51, 48, 32, 32, 32, 32,
|
||||
/* 0x1a70 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1a80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x1a90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 98, 52, 32, 32, 50, 42, 42, 48, 32, 32,
|
||||
/* 0x1ab0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78,
|
||||
/* 0x1ac0 */ 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32,
|
||||
/* 0x1ad0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 48, 56, 32, 32, 48,
|
||||
/* 0x1ae0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1af0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1b00 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 98, 52, 32, 32, 50, 42, 42,
|
||||
/* 0x1b10 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76,
|
||||
/* 0x1b20 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53,
|
||||
/* 0x1b30 */ 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x1b40 */ 48, 48, 48, 48, 49, 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1b50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x1b70 */ 48, 48, 49, 98, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
|
||||
/* 0x1b80 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69,
|
||||
/* 0x1b90 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 78, 82, 86, 50, 69,
|
||||
/* 0x1ba0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 54,
|
||||
/* 0x1bb0 */ 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1bc0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1bd0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 48, 48, 32,
|
||||
/* 0x1be0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
|
||||
/* 0x1bf0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
|
||||
/* 0x1c00 */ 10, 32, 32, 55, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32,
|
||||
/* 0x1c10 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48,
|
||||
/* 0x1c20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x1c30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1c40 */ 32, 48, 48, 48, 48, 48, 52, 54, 56, 32, 32, 50, 42, 42, 48, 32,
|
||||
/* 0x1c50 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79,
|
||||
/* 0x1c60 */ 78, 76, 89, 10, 32, 32, 56, 32, 67, 70, 76, 85, 83, 72, 32, 32,
|
||||
/* 0x1c70 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32,
|
||||
/* 0x1c80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1c90 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ca0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 56, 52, 32, 32, 50, 42,
|
||||
/* 0x1cb0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
|
||||
/* 0x1cc0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 76, 90, 77, 65, 32,
|
||||
/* 0x1cd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ce0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1cf0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1d00 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 97, 56, 32,
|
||||
/* 0x1d10 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
|
||||
/* 0x1d20 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 76, 90,
|
||||
/* 0x1d30 */ 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1d40 */ 48, 48, 56, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1d50 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1d60 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52,
|
||||
/* 0x1d70 */ 97, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x1d80 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79,
|
||||
/* 0x1d90 */ 78, 76, 89, 10, 32, 49, 49, 32, 76, 90, 77, 65, 95, 68, 69, 67,
|
||||
/* 0x1da0 */ 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32, 32,
|
||||
/* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1dc0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1dd0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 53, 51, 52, 32, 32, 50, 42,
|
||||
/* 0x1de0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
|
||||
/* 0x1df0 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 76, 90, 77, 65, 95,
|
||||
/* 0x1e00 */ 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57,
|
||||
/* 0x1e10 */ 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e20 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e30 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,101,100, 48, 32,
|
||||
/* 0x1e40 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
|
||||
/* 0x1e50 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 51, 32, 76, 90,
|
||||
/* 0x1e60 */ 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1e70 */ 48, 48, 50, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e90 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 56,
|
||||
/* 0x1ea0 */ 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x1eb0 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 52,
|
||||
/* 0x1ec0 */ 32, 85, 80, 88, 49, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x1ed0 */ 48, 48, 48, 48, 48, 50, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1ef0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x1f00 */ 48, 49, 56, 56, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
|
||||
/* 0x1f10 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x1f20 */ 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48,
|
||||
/* 0x1f30 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
|
||||
/* 0x1f40 */ 32, 32, 32, 32,100, 32, 32, 76, 73, 78, 85, 88, 48, 50, 48, 9,
|
||||
/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f60 */ 32, 76, 73, 78, 85, 88, 48, 50, 48, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
|
||||
/* 0x1f80 */ 100, 32, 32, 76, 73, 78, 85, 88, 48, 51, 48, 9, 48, 48, 48, 48,
|
||||
/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 73, 78,
|
||||
/* 0x1fa0 */ 85, 88, 48, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fb0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78,
|
||||
/* 0x1fc0 */ 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73,
|
||||
/* 0x1fe0 */ 76, 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, 51, 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, 51,
|
||||
/* 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, 73, 78, 85, 88,
|
||||
/* 0x2040 */ 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2050 */ 48, 48, 48, 48, 32, 76, 73, 78, 85, 88, 48, 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, 73, 78, 85, 88, 48, 49, 48, 9,
|
||||
/* 0x2080 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2090 */ 32, 76, 73, 78, 85, 88, 48, 49, 48, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
|
||||
/* 0x20b0 */ 100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10,
|
||||
/* 0x20d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20e0 */ 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48,
|
||||
/* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2100 */ 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2110 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78,
|
||||
/* 0x2120 */ 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2130 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48,
|
||||
/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32,
|
||||
/* 0x2150 */ 32, 32,100, 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, 48,
|
||||
/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76,
|
||||
/* 0x2170 */ 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2180 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77,
|
||||
/* 0x2190 */ 65, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21a0 */ 48, 48, 32, 76, 90, 77, 65, 10, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
|
||||
/* 0x21c0 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48,
|
||||
/* 0x21d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77,
|
||||
/* 0x21e0 */ 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
|
||||
/* 0x2200 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48,
|
||||
/* 0x2210 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77,
|
||||
/* 0x2220 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2230 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
|
||||
/* 0x2240 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48,
|
||||
/* 0x2250 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77,
|
||||
/* 0x2260 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2270 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
|
||||
/* 0x2280 */ 32, 85, 80, 88, 49, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2290 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 85, 80, 88, 49, 72,
|
||||
/* 0x22a0 */ 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22b0 */ 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78,
|
||||
/* 0x22c0 */ 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22d0 */ 48, 48, 48, 32,102,105,108,116,101,114, 95,108,101,110,103,116,
|
||||
/* 0x22e0 */ 104, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22f0 */ 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42,
|
||||
/* 0x2300 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2310 */ 48, 32,102,105,108,116,101,114, 95, 99,116,111, 10, 10, 82, 69,
|
||||
/* 0x2320 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
|
||||
/* 0x2330 */ 32, 70, 79, 82, 32, 91, 76, 73, 78, 85, 88, 48, 48, 48, 93, 58,
|
||||
/* 0x2340 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2350 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2360 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67,
|
||||
/* 0x2380 */ 54, 52, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 76, 73, 78,
|
||||
/* 0x2390 */ 85, 88, 48, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23a0 */ 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82,
|
||||
/* 0x23b0 */ 69, 76, 50, 52, 32, 32, 32, 32, 32, 76, 73, 78, 85, 88, 48, 50,
|
||||
/* 0x23c0 */ 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69,
|
||||
/* 0x23d0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 73, 78, 85, 88,
|
||||
/* 0x23e0 */ 48, 49, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32,
|
||||
/* 0x23f0 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
|
||||
/* 0x2400 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
|
||||
/* 0x2410 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2420 */ 82, 95, 80, 80, 67, 54, 52, 95, 65, 68, 68, 82, 51, 50, 32, 32,
|
||||
/* 0x2430 */ 32, 32,102,105,108,116,101,114, 95,108,101,110,103,116,104, 10,
|
||||
/* 0x2440 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52,
|
||||
/* 0x2450 */ 32, 82, 95, 80, 80, 67, 54, 52, 95, 65, 68, 68, 82, 51, 50, 32,
|
||||
/* 0x2460 */ 32, 32, 32,102,105,108,116,101,114, 95, 99,116,111, 10, 10, 82,
|
||||
/* 0x2470 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68,
|
||||
/* 0x2480 */ 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79,
|
||||
/* 0x2490 */ 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x24a0 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x24b0 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24c0 */ 48, 48, 48, 48, 48, 48, 97, 56, 32, 82, 95, 80, 80, 67, 54, 52,
|
||||
/* 0x24d0 */ 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84,
|
||||
/* 0x24e0 */ 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
|
||||
/* 0x24f0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86,
|
||||
/* 0x2500 */ 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32,
|
||||
/* 0x2510 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2520 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48,
|
||||
/* 0x2530 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, 99, 32, 82,
|
||||
/* 0x2540 */ 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32,
|
||||
/* 0x2550 */ 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67,
|
||||
/* 0x2560 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79,
|
||||
/* 0x2570 */ 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69,
|
||||
/* 0x2580 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69,
|
||||
/* 0x2590 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
|
||||
/* 0x25a0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x25b0 */ 48, 48,100, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76,
|
||||
/* 0x25c0 */ 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10,
|
||||
/* 0x25d0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79,
|
||||
/* 0x25e0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76,
|
||||
/* 0x25f0 */ 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32,
|
||||
/* 0x2600 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
|
||||
/* 0x2610 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
|
||||
/* 0x2620 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32,
|
||||
/* 0x2630 */ 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32,
|
||||
/* 0x2640 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48,
|
||||
/* 0x2650 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 48, 10
|
||||
};
|
||||
@ -173,10 +173,10 @@ def do_file(fn):
|
||||
odata = None
|
||||
pos = idata.find("\0.symtab\0.strtab\0.shstrtab\0")
|
||||
if opts.with_dump:
|
||||
eh, odata = strip_with_dump(opts.with_dump, eh, idata)
|
||||
assert len(odata) == pos, "unexpected strip_with_dump"
|
||||
eh, odata = strip_with_dump(opts.with_dump, eh, idata)
|
||||
# assert len(odata) == pos, "unexpected strip_with_dump"
|
||||
else:
|
||||
if pos >= 0:
|
||||
if pos >= 0:
|
||||
odata = idata[:pos]
|
||||
|
||||
if eh and odata and not opts.dry_run:
|
||||
|
||||
3
src/stub/src/arch/ppc64le/64/Makefile
Normal file
3
src/stub/src/arch/ppc64le/64/Makefile
Normal file
@ -0,0 +1,3 @@
|
||||
# convenience Makefile
|
||||
default %:
|
||||
$(MAKE) -C ../../../.. $@
|
||||
55
src/stub/src/arch/ppc64le/64/Makefile.extra
Normal file
55
src/stub/src/arch/ppc64le/64/Makefile.extra
Normal file
@ -0,0 +1,55 @@
|
||||
MAKEFLAGS += -rR
|
||||
.SUFFIXES:
|
||||
.SECONDEXPANSION:
|
||||
|
||||
ifndef top_srcdir
|
||||
__dir_list = . .. ../.. ../../.. ../../../.. ../../../../..
|
||||
__dir_list += ../../../../../.. ../../../../../../.. ../../../../../../../..
|
||||
__dir_search = $(firstword $(foreach v,$1,$(if $(wildcard $v/$2),$v)) $3)
|
||||
top_srcdir := $(call __dir_search,$(__dir_list),src/bele.h,NOT_FOUND)
|
||||
endif
|
||||
include $(wildcard $(top_srcdir)/Makevars.global ./Makevars.local)
|
||||
vpath %.c $(top_srcdir)/src/stub/src/c
|
||||
|
||||
STUBS =
|
||||
include $(top_srcdir)/src/stub/src/c/Makevars.lzma
|
||||
ifneq ($(UPX_LZMA_VERSION),)
|
||||
STUBS += lzma_d_cf.S lzma_d_cs.S
|
||||
endif
|
||||
|
||||
default.targets = all
|
||||
ifeq ($(strip $(STUBS)),)
|
||||
STUBS = NO_STUBS
|
||||
all.targets =
|
||||
endif
|
||||
include $(top_srcdir)/src/stub/Makefile
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // method-lzma
|
||||
# ************************************************************************/
|
||||
|
||||
lzma_d_c%.S : tc_list = method-lzma ppc64le-linux.elf default
|
||||
lzma_d_c%.S : tc_bfdname = elf64-ppc64le
|
||||
|
||||
c := tc.method-lzma.gcc
|
||||
$c = $(tc.ppc64le-linux.elf.gcc)
|
||||
$c += -mcpu=405 -fPIC
|
||||
$c += -Os -fomit-frame-pointer
|
||||
$c += -fno-unit-at-a-time
|
||||
$c += -ffunction-sections
|
||||
$c += -fwrapv
|
||||
$c += -DWITH_LZMA=$(UPX_LZMA_VERSION)
|
||||
$c += -I$(UPX_LZMADIR)
|
||||
$c += -I$(top_srcdir)/src
|
||||
|
||||
lzma_d_c%.S : lzma_d_c.c
|
||||
$(call tc,gcc) $(PP_FLAGS) -c $< -o tmp/$T.o
|
||||
$(call tc,f-objstrip,tmp/$T.o)
|
||||
$(call tc,objcopy) -O binary --only-section .text.LzmaDecode tmp/$T.o tmp/$T.bin
|
||||
head -c-4 tmp/$T.bin > tmp/$T.out
|
||||
$(call tc,objdump) -b binary -m ppc64le -D tmp/$T.out | $(RTRIM) > tmp/$T.out.disasm
|
||||
$(call tc,bin2h) --mode=gas tmp/$T.out $@
|
||||
|
||||
lzma_d_cf.% : PP_FLAGS = -DFAST
|
||||
lzma_d_cs.% : PP_FLAGS = -DSMALL
|
||||
69
src/stub/src/arch/ppc64le/64/bxx.S
Normal file
69
src/stub/src/arch/ppc64le/64/bxx.S
Normal file
@ -0,0 +1,69 @@
|
||||
/* ppc_bxx.S -- PowerPC Branch Trick unfilter
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 2005-2013 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
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#include "ppc_regs.h"
|
||||
|
||||
ppcbxx: # (*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
#define W_CTO 4 /* must match filteri/ppcbxx.h */
|
||||
|
||||
#define ptr a0
|
||||
#define len a1
|
||||
#define cto8 a2
|
||||
#define ftid a3
|
||||
|
||||
#define ptr0 a4
|
||||
|
||||
cmpli cr0,ftid,0xd0; bnelr- cr0 # if (0xd0!=ftid) return;
|
||||
rlwinm. len,len,32-2,2,31; beqlr- cr0 # if (0==(len>>=2)) return;
|
||||
lis r0,-(~0<<(32-16- (2+6+ W_CTO))) # limit in 32-bit words
|
||||
cmpl cr0,len,r0
|
||||
blt cr0,L5
|
||||
mr len,r0
|
||||
L5:
|
||||
addi cto8,cto8,18<<W_CTO # cat(bxx_opcode, cto8)
|
||||
movr ptr0,ptr # save base address
|
||||
addi ptr,ptr,-4 # prepare for 'lwzu'
|
||||
mtctr len # count of words
|
||||
b L20
|
||||
L10:
|
||||
rlwinm t1,t0,0,6+W_CTO,31-2 # the displacement field in position
|
||||
subf t1,ptr,t1 # raw distance
|
||||
add t1,t1,ptr0 # relative to virtual address of base
|
||||
rlwimi t0,t1,0,6 ,31-2 # unfiltered instruction
|
||||
stw t0,0(ptr) # replace in memory
|
||||
bdzlr- # if (0==--ctr) return; // extremely unlikely
|
||||
L20:
|
||||
lwzu t0,4(ptr) # t0= *++ptr;
|
||||
rlwinm t1,t0,6+W_CTO,32-(6+W_CTO),31 # t1= top (6+W_CTO) bits of t0
|
||||
cmpl cr0,t1,cto8; beq- cr0,L10 # unconditional branch marked with cto8; unlikely
|
||||
bdnz+ L20 # if (0!=--ctr) goto L20; // likely
|
||||
ret
|
||||
|
||||
#undef ptr0
|
||||
#undef ftid
|
||||
#undef cto8
|
||||
#undef len
|
||||
#undef ptr
|
||||
119
src/stub/src/arch/ppc64le/64/lzma_d.S
Normal file
119
src/stub/src/arch/ppc64le/64/lzma_d.S
Normal file
@ -0,0 +1,119 @@
|
||||
/*
|
||||
; lzma_d.S -- 32-bit PowerPC assembly
|
||||
;
|
||||
; This file is part of the UPX executable compressor.
|
||||
;
|
||||
; Copyright (C) 2006-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
; 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
|
||||
; <markus@oberhumer.com>
|
||||
; http://www.oberhumer.com/opensource/upx/
|
||||
;
|
||||
*/
|
||||
|
||||
#include "ppc_regs.h"
|
||||
retaddr = 6*8 // (sp,cr,pc, xx,yy,zz) save area per calling convention
|
||||
|
||||
#define section .section
|
||||
|
||||
section LZMA_ELF00
|
||||
//decompress: // (uchar const *src, size_t lsrc, uchar *dst, u32 &ldst, uint method)
|
||||
/* Arguments according to calling convention */
|
||||
#define src a0
|
||||
#define lsrc a1
|
||||
#define dst a2
|
||||
#define ldst a3 /* Out: actually a reference: &len_dst */
|
||||
#define meth a4
|
||||
|
||||
//// teq r0,r0 // debugging
|
||||
|
||||
#define M_LZMA 14
|
||||
cmpli cr0,meth,M_LZMA
|
||||
bne cr0,not_lzma
|
||||
mflr r0
|
||||
|
||||
//LzmaDecode( // from lzmaSDK/C/7zip/Compress/LZMA_C/LzmaDecode.h
|
||||
// a0= &CLzmaDecoderState,
|
||||
// a1= inp, a2= inSize, a3= &inSizeProcessed,
|
||||
// a4= outp, a5= outSize, a6= &outSizeProcessed
|
||||
//)
|
||||
mr a6,ldst // &outSizeProcessed
|
||||
lwz a5,0(ldst) // outSize
|
||||
mr a4,dst // outp
|
||||
|
||||
addi a2,lsrc,-2 // inSize
|
||||
la a1,2(src) // inp
|
||||
|
||||
std r0,retaddr(sp) // save return address in caller's frame
|
||||
lbz r0,0(src) // first byte, replaces LzmaDecodeProperties()
|
||||
rlwinm t1,r0,32-3,3,31 // t1= (r0>>3)==(lit_context-bits + lit_pos_bits)
|
||||
rlwinm t0,r0,0,32-3,31 // t0= (7& t0)==pos_bits
|
||||
|
||||
#define LZMA_BASE_SIZE 1846
|
||||
#define LZMA_LIT_SIZE 768
|
||||
#define szSizeT 4
|
||||
|
||||
li a0,-2*LZMA_LIT_SIZE
|
||||
slw a0,a0,t1 // -2*LZMA_LIT_SIZE << (lit_context_bits + lit_pos_bits)
|
||||
addi a0,a0,-4*4 -(szSizeT +4) - 2*LZMA_BASE_SIZE
|
||||
// alloca{sp,ra,orig_dst,&outSizeProcessed, inSizeProcessed,*_bits, CLzmaDecoderState}
|
||||
mr a3,sp
|
||||
add sp,sp,a0
|
||||
rlwinm sp,sp,0,0,32-6 // (1<<6) byte align
|
||||
|
||||
li r0,0
|
||||
mr a0,a3 // old sp
|
||||
stw r0,0(a6) // outSizeProcessed= 0;
|
||||
1:
|
||||
stwu r0,-4(a0) // clear CLZmaDecoderState on stack
|
||||
cmpl cr0,sp,a0 // compare logical ==> compare unsigned
|
||||
blt cr0,1b
|
||||
stw a3,0(sp) // frame chain
|
||||
|
||||
lbz r0,-1(a1) // second byte, replaces LzmaDecodeProperties()
|
||||
stw a4,2*4(sp) // outp
|
||||
la a3,4*4 (sp) // &inSizeProcessed
|
||||
stw a6,3*4(sp) // &outSizeProcessed
|
||||
la a0,4*4+szSizeT(sp) // &CLzmaDecoderState
|
||||
rlwinm t1,r0,32-4,4,31 // t1= (r0>>4)==lit_pos_bits
|
||||
rlwinm r0,r0,0,32-4,31 // r0= (0xf& r0)==lit_context_bits
|
||||
stb t0,2(a0) // pos_bits
|
||||
stb t1,1(a0) // lit_pos_bits
|
||||
stb r0,0(a0) // lit_context_bits
|
||||
|
||||
section LZMA_DEC10
|
||||
#include "lzma_d_cs.S"
|
||||
|
||||
section LZMA_DEC20
|
||||
#include "lzma_d_cf.S"
|
||||
|
||||
section LZMA_DEC30 // Out: a0= retval; a2= &hi stored; a4= &lo stored; lr= retaddr
|
||||
lwz a2,3*4(sp) // &outSizeProcessed
|
||||
lwz a4,2*4(sp) // &lowest byte stored
|
||||
lwz a2,0(a2) // outSizeProcessed
|
||||
lwz sp,0(sp) // old sp
|
||||
add a2,a2,a4 // &next byte to store
|
||||
lwz r0,retaddr(sp)
|
||||
addi a2,a2,-1 // &highest byte stored
|
||||
mtlr r0
|
||||
|
||||
not_lzma:
|
||||
|
||||
// vi:ts=8:et
|
||||
|
||||
154
src/stub/src/arch/ppc64le/64/lzma_d_cf.S
Normal file
154
src/stub/src/arch/ppc64le/64/lzma_d_cf.S
Normal file
@ -0,0 +1,154 @@
|
||||
/* 0x0000 */ .byte 124, 8, 2,166,148, 33,255,160,189,193, 0, 24,144, 1, 0,100
|
||||
/* 0x0010 */ .byte 59, 32, 0, 0,137, 67, 0, 2,137, 99, 0, 1,138, 67, 0, 0
|
||||
/* 0x0020 */ .byte 147, 38, 0, 0,147, 41, 0, 0,136, 3, 0, 1,125, 40, 3,166
|
||||
/* 0x0030 */ .byte 124, 18, 2, 20, 57, 32, 3, 0,125, 41, 0, 48, 56, 9, 7, 54
|
||||
/* 0x0040 */ .byte 127,153, 0, 64, 57, 32, 0, 1,125, 43, 88, 48,125, 41, 80, 48
|
||||
/* 0x0050 */ .byte 57, 41,255,255, 57,107,255,255,145, 33, 0, 8,124,206, 51,120
|
||||
/* 0x0060 */ .byte 124,147, 35,120,124,245, 59,120,125, 20, 67,120,145, 97, 0, 12
|
||||
/* 0x0070 */ .byte 59, 3, 0, 4, 59,224, 0, 0, 58,224, 0, 0, 59, 64, 0, 1
|
||||
/* 0x0080 */ .byte 58, 32, 0, 1, 58, 0, 0, 1, 57,224, 0, 1, 57, 32, 0, 0
|
||||
/* 0x0090 */ .byte 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0, 85, 32, 8, 60
|
||||
/* 0x00a0 */ .byte 125,120, 3, 46, 57, 41, 0, 1, 66, 0,255,244,127,179, 42, 20
|
||||
/* 0x00b0 */ .byte 126,108,155,120, 56,160, 0, 0, 57, 0,255,255, 57, 96, 0, 0
|
||||
/* 0x00c0 */ .byte 127,140,232, 0, 57,107, 0, 1, 47, 11, 0, 4, 84,169, 64, 46
|
||||
/* 0x00d0 */ .byte 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,125, 37, 3,120
|
||||
/* 0x00e0 */ .byte 64,153,255,224,127,153,160, 64, 64,156, 8,100, 62,192, 0,255
|
||||
/* 0x00f0 */ .byte 98,214,255,255,128, 1, 0, 8,127,136,176, 64,127, 35, 0, 56
|
||||
/* 0x0100 */ .byte 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60, 65,157, 0, 32
|
||||
/* 0x0110 */ .byte 127,140,232, 0, 65,158, 8, 88,137, 44, 0, 0, 84,160, 64, 46
|
||||
/* 0x0120 */ .byte 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,124,230,194, 46
|
||||
/* 0x0130 */ .byte 85, 0,170,254,125, 64, 57,214,127,133, 80, 64, 64,156, 1,172
|
||||
/* 0x0140 */ .byte 128, 1, 0, 12, 47,151, 0, 6,127, 41, 0, 56, 32, 18, 0, 8
|
||||
/* 0x0150 */ .byte 127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20, 29, 41, 6, 0
|
||||
/* 0x0160 */ .byte 32, 7, 8, 0,124, 0, 46,112,124, 7, 2, 20,125, 56, 74, 20
|
||||
/* 0x0170 */ .byte 124, 6,195, 46,125, 72, 83,120, 56,201, 14,108, 56, 96, 0, 1
|
||||
/* 0x0180 */ .byte 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,127,245, 0,174
|
||||
/* 0x0190 */ .byte 99,123,255,255, 87,255, 8, 60, 87,252, 5,238,127,136,216, 64
|
||||
/* 0x01a0 */ .byte 87,128, 8, 60, 84,100, 8, 60,124, 6, 2, 20,127, 12,232, 0
|
||||
/* 0x01b0 */ .byte 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24, 65,154, 7,176
|
||||
/* 0x01c0 */ .byte 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120
|
||||
/* 0x01d0 */ .byte 161,103, 2, 0, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0
|
||||
/* 0x01e0 */ .byte 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20
|
||||
/* 0x01f0 */ .byte 47, 28, 0, 0,125,105, 88, 80,124,131, 35,120,125, 10, 64, 80
|
||||
/* 0x0200 */ .byte 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120, 65,186, 0, 24
|
||||
/* 0x0210 */ .byte 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80, 56,100, 0, 1
|
||||
/* 0x0220 */ .byte 65,154, 0, 12, 47,131, 0,255, 64,157,255,108, 47,131, 0,255
|
||||
/* 0x0230 */ .byte 65,157, 0,132, 63,224, 0,255, 99,255,255,255,127,136,248, 64
|
||||
/* 0x0240 */ .byte 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,227, 59,120
|
||||
/* 0x0250 */ .byte 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0, 85, 8, 64, 46
|
||||
/* 0x0260 */ .byte 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254
|
||||
/* 0x0270 */ .byte 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112
|
||||
/* 0x0280 */ .byte 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80
|
||||
/* 0x0290 */ .byte 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16
|
||||
/* 0x02a0 */ .byte 124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1, 47,131, 0,255
|
||||
/* 0x02b0 */ .byte 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,127,249,169,174
|
||||
/* 0x02c0 */ .byte 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0, 72, 0, 6,120
|
||||
/* 0x02d0 */ .byte 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253, 72, 0, 6,104
|
||||
/* 0x02e0 */ .byte 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,127,136,176, 64
|
||||
/* 0x02f0 */ .byte 84,224,217,126,124, 0, 56, 80, 86,233, 8, 60,124, 6,195, 46
|
||||
/* 0x0300 */ .byte 124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,127,140,232, 0
|
||||
/* 0x0310 */ .byte 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120
|
||||
/* 0x0320 */ .byte 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,128, 85, 0,170,254
|
||||
/* 0x0330 */ .byte 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64, 32, 11, 8, 0
|
||||
/* 0x0340 */ .byte 47,151, 0, 6,124, 0, 46,112,124, 11, 2, 20,176, 7, 1,128
|
||||
/* 0x0350 */ .byte 126, 15,131,120,125, 72, 83,120,126, 48,139,120, 56, 0, 0, 0
|
||||
/* 0x0360 */ .byte 127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,124, 23, 3,120
|
||||
/* 0x0370 */ .byte 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,127,136,176, 64
|
||||
/* 0x0380 */ .byte 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,128
|
||||
/* 0x0390 */ .byte 65,157, 0, 32,127,140,232, 0, 65,158, 5,212,137, 44, 0, 0
|
||||
/* 0x03a0 */ .byte 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1
|
||||
/* 0x03b0 */ .byte 161,103, 1,152, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64
|
||||
/* 0x03c0 */ .byte 64,156, 0,188, 32, 11, 8, 0,127,138,176, 64,124, 0, 46,112
|
||||
/* 0x03d0 */ .byte 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20, 84,107, 8, 60
|
||||
/* 0x03e0 */ .byte 176, 7, 1,152,125, 72, 83,120,124,233, 90, 20, 65,157, 0, 32
|
||||
/* 0x03f0 */ .byte 127,140,232, 0, 65,158, 5,120,137, 44, 0, 0, 84,160, 64, 46
|
||||
/* 0x0400 */ .byte 124, 5, 75,120, 85, 72, 64, 46, 57,140, 0, 1,161,103, 1,224
|
||||
/* 0x0410 */ .byte 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 72
|
||||
/* 0x0420 */ .byte 32, 11, 8, 0, 47,153, 0, 0,124, 0, 46,112,124, 11, 2, 20
|
||||
/* 0x0430 */ .byte 176, 7, 1,224,125, 72, 83,120, 65,158, 5, 52, 47,151, 0, 6
|
||||
/* 0x0440 */ .byte 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,124, 26,200, 80
|
||||
/* 0x0450 */ .byte 127,245, 0,174,125, 55, 75,120,127,249,169,174, 59, 57, 0, 1
|
||||
/* 0x0460 */ .byte 72, 0, 4,228, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80
|
||||
/* 0x0470 */ .byte 125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,125, 10, 64, 80
|
||||
/* 0x0480 */ .byte 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80
|
||||
/* 0x0490 */ .byte 176, 7, 1,152, 65,157, 0, 32,127,140,232, 0, 65,158, 4,208
|
||||
/* 0x04a0 */ .byte 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46
|
||||
/* 0x04b0 */ .byte 57,140, 0, 1,161,103, 1,176, 85, 0,170,254,125, 64, 89,214
|
||||
/* 0x04c0 */ .byte 127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112
|
||||
/* 0x04d0 */ .byte 124, 11, 2, 20,125, 72, 83,120,126, 41,139,120,176, 7, 1,176
|
||||
/* 0x04e0 */ .byte 72, 0, 0,140,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126
|
||||
/* 0x04f0 */ .byte 124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176, 65,157, 0, 32
|
||||
/* 0x0500 */ .byte 127,140,232, 0, 65,158, 4,104,137, 44, 0, 0, 84,160, 64, 46
|
||||
/* 0x0510 */ .byte 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,200
|
||||
/* 0x0520 */ .byte 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32
|
||||
/* 0x0530 */ .byte 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120
|
||||
/* 0x0540 */ .byte 126, 9,131,120,176, 7, 1,200, 72, 0, 0, 32, 85, 96,217,126
|
||||
/* 0x0550 */ .byte 124, 0, 88, 80,125,233,123,120,176, 7, 1,200,124,170, 40, 80
|
||||
/* 0x0560 */ .byte 125, 10, 64, 80,126, 15,131,120,126, 48,139,120,127, 81,211,120
|
||||
/* 0x0570 */ .byte 125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8, 64,157, 0, 8
|
||||
/* 0x0580 */ .byte 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,127,136,176, 64
|
||||
/* 0x0590 */ .byte 65,157, 0, 32,127,140,232, 0, 65,158, 3,212,137, 44, 0, 0
|
||||
/* 0x05a0 */ .byte 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1
|
||||
/* 0x05b0 */ .byte 161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64
|
||||
/* 0x05c0 */ .byte 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20
|
||||
/* 0x05d0 */ .byte 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120, 56,137, 0, 4
|
||||
/* 0x05e0 */ .byte 59,128, 0, 0, 59, 96, 0, 3,176, 6, 0, 0, 72, 0, 0,156
|
||||
/* 0x05f0 */ .byte 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80
|
||||
/* 0x0600 */ .byte 124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,127,140,232, 0
|
||||
/* 0x0610 */ .byte 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120
|
||||
/* 0x0620 */ .byte 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 2, 85, 0,170,254
|
||||
/* 0x0630 */ .byte 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0
|
||||
/* 0x0640 */ .byte 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20
|
||||
/* 0x0650 */ .byte 125, 72, 83,120, 56,137, 1, 4, 59,128, 0, 8, 59, 96, 0, 3
|
||||
/* 0x0660 */ .byte 176, 6, 0, 2, 72, 0, 0, 36, 85, 96,217,126,124, 0, 88, 80
|
||||
/* 0x0670 */ .byte 124,170, 40, 80,176, 6, 0, 2,125, 10, 64, 80, 56,134, 2, 4
|
||||
/* 0x0680 */ .byte 59,128, 0, 16, 59, 96, 0, 8,127,105, 3,166, 63,224, 0,255
|
||||
/* 0x0690 */ .byte 99,255,255,255, 56, 96, 0, 1,127,136,248, 64, 84,103, 8, 60
|
||||
/* 0x06a0 */ .byte 127, 12,232, 0, 84,169, 64, 46,124,227, 59,120, 65,157, 0, 24
|
||||
/* 0x06b0 */ .byte 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1
|
||||
/* 0x06c0 */ .byte 125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,125, 64, 89,214
|
||||
/* 0x06d0 */ .byte 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126
|
||||
/* 0x06e0 */ .byte 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16
|
||||
/* 0x06f0 */ .byte 125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,124,170, 40, 80
|
||||
/* 0x0700 */ .byte 56,103, 0, 1,125,100, 59, 46, 66, 0,255,144, 56, 0, 0, 1
|
||||
/* 0x0710 */ .byte 47,151, 0, 3,124, 0,216, 48,124, 96, 24, 80,124, 99,226, 20
|
||||
/* 0x0720 */ .byte 65,157, 1,232, 47,131, 0, 3, 58,247, 0, 7,124,105, 27,120
|
||||
/* 0x0730 */ .byte 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,125, 56, 74, 20
|
||||
/* 0x0740 */ .byte 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166, 63,224, 0,255
|
||||
/* 0x0750 */ .byte 99,255,255,255, 56,128, 0, 1,127,136,248, 64, 84,135, 8, 60
|
||||
/* 0x0760 */ .byte 127, 12,232, 0, 84,169, 64, 46,124,228, 59,120, 65,157, 0, 24
|
||||
/* 0x0770 */ .byte 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1
|
||||
/* 0x0780 */ .byte 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214
|
||||
/* 0x0790 */ .byte 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126
|
||||
/* 0x07a0 */ .byte 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16
|
||||
/* 0x07b0 */ .byte 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,124,170, 40, 80
|
||||
/* 0x07c0 */ .byte 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144, 56,132,255,192
|
||||
/* 0x07d0 */ .byte 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40, 47,132, 0, 13
|
||||
/* 0x07e0 */ .byte 124,137, 14,112, 84,128, 7,254, 57,105,255,255, 96, 26, 0, 2
|
||||
/* 0x07f0 */ .byte 125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48, 87, 73, 8, 60
|
||||
/* 0x0800 */ .byte 125, 56, 74, 20, 84,128, 8, 60,125, 32, 72, 80, 56,201, 5, 94
|
||||
/* 0x0810 */ .byte 72, 0, 0,100, 57, 41,255,251,125, 41, 3,166, 61, 96, 0,255
|
||||
/* 0x0820 */ .byte 97,107,255,255,127,136, 88, 64,127, 12,232, 0, 84,169, 64, 46
|
||||
/* 0x0830 */ .byte 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,136, 12, 0, 0
|
||||
/* 0x0840 */ .byte 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120, 85, 8,248,126
|
||||
/* 0x0850 */ .byte 127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80, 99, 90, 0, 1
|
||||
/* 0x0860 */ .byte 66, 0,255,196, 56, 0, 0, 4,124, 9, 3,166, 87, 90, 32, 54
|
||||
/* 0x0870 */ .byte 56,216, 6, 68, 60,128, 0,255, 96,132,255,255, 59,128, 0, 1
|
||||
/* 0x0880 */ .byte 59,224, 0, 1,127,136, 32, 64, 87,231, 8, 60,127, 12,232, 0
|
||||
/* 0x0890 */ .byte 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24, 65,154, 0,208
|
||||
/* 0x08a0 */ .byte 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120
|
||||
/* 0x08b0 */ .byte 125,102, 58, 46, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0
|
||||
/* 0x08c0 */ .byte 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20
|
||||
/* 0x08d0 */ .byte 125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120
|
||||
/* 0x08e0 */ .byte 124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80, 59,231, 0, 1
|
||||
/* 0x08f0 */ .byte 125,102, 59, 46,127, 90,227,120, 87,156, 8, 60, 66, 0,255,136
|
||||
/* 0x0900 */ .byte 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64, 56, 99, 0, 2
|
||||
/* 0x0910 */ .byte 65,157, 0, 92,124, 26,200, 80,127,245, 0,174, 56, 99,255,255
|
||||
/* 0x0920 */ .byte 127,249,169,174, 59, 57, 0, 1, 49, 99,255,255,125, 43, 25, 16
|
||||
/* 0x0930 */ .byte 124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,125, 43, 0, 57
|
||||
/* 0x0940 */ .byte 64,130,255,212,127,153,160, 64, 65,156,247,172, 60, 0, 0,255
|
||||
/* 0x0950 */ .byte 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,127,140,232, 0
|
||||
/* 0x0960 */ .byte 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12, 56, 96, 0, 1
|
||||
/* 0x0970 */ .byte 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,124, 19, 96, 80
|
||||
/* 0x0980 */ .byte 144, 14, 0, 0, 56, 96, 0, 0,147, 41, 0, 0,128, 1, 0,100
|
||||
/* 0x0990 */ .byte 185,193, 0, 24,124, 8, 3,166, 56, 33, 0, 96
|
||||
154
src/stub/src/arch/ppc64le/64/lzma_d_cs.S
Normal file
154
src/stub/src/arch/ppc64le/64/lzma_d_cs.S
Normal file
@ -0,0 +1,154 @@
|
||||
/* 0x0000 */ .byte 124, 8, 2,166,148, 33,255,160,189,193, 0, 24,144, 1, 0,100
|
||||
/* 0x0010 */ .byte 59, 32, 0, 0,137, 67, 0, 2,137, 99, 0, 1,138, 67, 0, 0
|
||||
/* 0x0020 */ .byte 147, 38, 0, 0,147, 41, 0, 0,136, 3, 0, 1,125, 40, 3,166
|
||||
/* 0x0030 */ .byte 124, 18, 2, 20, 57, 32, 3, 0,125, 41, 0, 48, 56, 9, 7, 54
|
||||
/* 0x0040 */ .byte 127,153, 0, 64, 57, 32, 0, 1,125, 43, 88, 48,125, 41, 80, 48
|
||||
/* 0x0050 */ .byte 57, 41,255,255, 57,107,255,255,145, 33, 0, 8,124,206, 51,120
|
||||
/* 0x0060 */ .byte 124,147, 35,120,124,245, 59,120,125, 20, 67,120,145, 97, 0, 12
|
||||
/* 0x0070 */ .byte 59, 3, 0, 4, 59,224, 0, 0, 58,224, 0, 0, 59, 64, 0, 1
|
||||
/* 0x0080 */ .byte 58, 32, 0, 1, 58, 0, 0, 1, 57,224, 0, 1, 57, 32, 0, 0
|
||||
/* 0x0090 */ .byte 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0, 85, 32, 8, 60
|
||||
/* 0x00a0 */ .byte 125,120, 3, 46, 57, 41, 0, 1, 66, 0,255,244,127,179, 42, 20
|
||||
/* 0x00b0 */ .byte 126,108,155,120, 56,160, 0, 0, 57, 0,255,255, 57, 96, 0, 0
|
||||
/* 0x00c0 */ .byte 127,140,232, 0, 57,107, 0, 1, 47, 11, 0, 4, 84,169, 64, 46
|
||||
/* 0x00d0 */ .byte 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,125, 37, 3,120
|
||||
/* 0x00e0 */ .byte 64,153,255,224,127,153,160, 64, 64,156, 8,100, 62,192, 0,255
|
||||
/* 0x00f0 */ .byte 98,214,255,255,128, 1, 0, 8,127,136,176, 64,127, 35, 0, 56
|
||||
/* 0x0100 */ .byte 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60, 65,157, 0, 32
|
||||
/* 0x0110 */ .byte 127,140,232, 0, 65,158, 8, 88,137, 44, 0, 0, 84,160, 64, 46
|
||||
/* 0x0120 */ .byte 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,124,230,194, 46
|
||||
/* 0x0130 */ .byte 85, 0,170,254,125, 64, 57,214,127,133, 80, 64, 64,156, 1,172
|
||||
/* 0x0140 */ .byte 128, 1, 0, 12, 47,151, 0, 6,127, 41, 0, 56, 32, 18, 0, 8
|
||||
/* 0x0150 */ .byte 127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20, 29, 41, 6, 0
|
||||
/* 0x0160 */ .byte 32, 7, 8, 0,124, 0, 46,112,124, 7, 2, 20,125, 56, 74, 20
|
||||
/* 0x0170 */ .byte 124, 6,195, 46,125, 72, 83,120, 56,201, 14,108, 56, 96, 0, 1
|
||||
/* 0x0180 */ .byte 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,127,245, 0,174
|
||||
/* 0x0190 */ .byte 99,123,255,255, 87,255, 8, 60, 87,252, 5,238,127,136,216, 64
|
||||
/* 0x01a0 */ .byte 87,128, 8, 60, 84,100, 8, 60,124, 6, 2, 20,127, 12,232, 0
|
||||
/* 0x01b0 */ .byte 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24, 65,154, 7,176
|
||||
/* 0x01c0 */ .byte 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120
|
||||
/* 0x01d0 */ .byte 161,103, 2, 0, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0
|
||||
/* 0x01e0 */ .byte 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20
|
||||
/* 0x01f0 */ .byte 47, 28, 0, 0,125,105, 88, 80,124,131, 35,120,125, 10, 64, 80
|
||||
/* 0x0200 */ .byte 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120, 65,186, 0, 24
|
||||
/* 0x0210 */ .byte 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80, 56,100, 0, 1
|
||||
/* 0x0220 */ .byte 65,154, 0, 12, 47,131, 0,255, 64,157,255,108, 47,131, 0,255
|
||||
/* 0x0230 */ .byte 65,157, 0,132, 63,224, 0,255, 99,255,255,255,127,136,248, 64
|
||||
/* 0x0240 */ .byte 84,103, 8, 60,127, 12,232, 0, 84,169, 64, 46,124,227, 59,120
|
||||
/* 0x0250 */ .byte 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0, 85, 8, 64, 46
|
||||
/* 0x0260 */ .byte 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254
|
||||
/* 0x0270 */ .byte 125, 64, 89,214, 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112
|
||||
/* 0x0280 */ .byte 85,105,217,126,124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80
|
||||
/* 0x0290 */ .byte 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16
|
||||
/* 0x02a0 */ .byte 124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1, 47,131, 0,255
|
||||
/* 0x02b0 */ .byte 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,127,249,169,174
|
||||
/* 0x02c0 */ .byte 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0, 72, 0, 6,120
|
||||
/* 0x02d0 */ .byte 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253, 72, 0, 6,104
|
||||
/* 0x02e0 */ .byte 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,127,136,176, 64
|
||||
/* 0x02f0 */ .byte 84,224,217,126,124, 0, 56, 80, 86,233, 8, 60,124, 6,195, 46
|
||||
/* 0x0300 */ .byte 124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,127,140,232, 0
|
||||
/* 0x0310 */ .byte 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120
|
||||
/* 0x0320 */ .byte 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,128, 85, 0,170,254
|
||||
/* 0x0330 */ .byte 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64, 32, 11, 8, 0
|
||||
/* 0x0340 */ .byte 47,151, 0, 6,124, 0, 46,112,124, 11, 2, 20,176, 7, 1,128
|
||||
/* 0x0350 */ .byte 126, 15,131,120,125, 72, 83,120,126, 48,139,120, 56, 0, 0, 0
|
||||
/* 0x0360 */ .byte 127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,124, 23, 3,120
|
||||
/* 0x0370 */ .byte 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,127,136,176, 64
|
||||
/* 0x0380 */ .byte 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,128
|
||||
/* 0x0390 */ .byte 65,157, 0, 32,127,140,232, 0, 65,158, 5,212,137, 44, 0, 0
|
||||
/* 0x03a0 */ .byte 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1
|
||||
/* 0x03b0 */ .byte 161,103, 1,152, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64
|
||||
/* 0x03c0 */ .byte 64,156, 0,188, 32, 11, 8, 0,127,138,176, 64,124, 0, 46,112
|
||||
/* 0x03d0 */ .byte 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20, 84,107, 8, 60
|
||||
/* 0x03e0 */ .byte 176, 7, 1,152,125, 72, 83,120,124,233, 90, 20, 65,157, 0, 32
|
||||
/* 0x03f0 */ .byte 127,140,232, 0, 65,158, 5,120,137, 44, 0, 0, 84,160, 64, 46
|
||||
/* 0x0400 */ .byte 124, 5, 75,120, 85, 72, 64, 46, 57,140, 0, 1,161,103, 1,224
|
||||
/* 0x0410 */ .byte 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 72
|
||||
/* 0x0420 */ .byte 32, 11, 8, 0, 47,153, 0, 0,124, 0, 46,112,124, 11, 2, 20
|
||||
/* 0x0430 */ .byte 176, 7, 1,224,125, 72, 83,120, 65,158, 5, 52, 47,151, 0, 6
|
||||
/* 0x0440 */ .byte 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,124, 26,200, 80
|
||||
/* 0x0450 */ .byte 127,245, 0,174,125, 55, 75,120,127,249,169,174, 59, 57, 0, 1
|
||||
/* 0x0460 */ .byte 72, 0, 4,228, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80
|
||||
/* 0x0470 */ .byte 125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,125, 10, 64, 80
|
||||
/* 0x0480 */ .byte 127,136,176, 64, 85, 96,217,126,124, 0, 88, 80,124,170, 40, 80
|
||||
/* 0x0490 */ .byte 176, 7, 1,152, 65,157, 0, 32,127,140,232, 0, 65,158, 4,208
|
||||
/* 0x04a0 */ .byte 137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46
|
||||
/* 0x04b0 */ .byte 57,140, 0, 1,161,103, 1,176, 85, 0,170,254,125, 64, 89,214
|
||||
/* 0x04c0 */ .byte 127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,124, 0, 46,112
|
||||
/* 0x04d0 */ .byte 124, 11, 2, 20,125, 72, 83,120,126, 41,139,120,176, 7, 1,176
|
||||
/* 0x04e0 */ .byte 72, 0, 0,140,125, 10, 64, 80,127,136,176, 64, 85, 96,217,126
|
||||
/* 0x04f0 */ .byte 124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176, 65,157, 0, 32
|
||||
/* 0x0500 */ .byte 127,140,232, 0, 65,158, 4,104,137, 44, 0, 0, 84,160, 64, 46
|
||||
/* 0x0510 */ .byte 124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1,161,103, 1,200
|
||||
/* 0x0520 */ .byte 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32
|
||||
/* 0x0530 */ .byte 32, 11, 8, 0,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120
|
||||
/* 0x0540 */ .byte 126, 9,131,120,176, 7, 1,200, 72, 0, 0, 32, 85, 96,217,126
|
||||
/* 0x0550 */ .byte 124, 0, 88, 80,125,233,123,120,176, 7, 1,200,124,170, 40, 80
|
||||
/* 0x0560 */ .byte 125, 10, 64, 80,126, 15,131,120,126, 48,139,120,127, 81,211,120
|
||||
/* 0x0570 */ .byte 125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8, 64,157, 0, 8
|
||||
/* 0x0580 */ .byte 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,127,136,176, 64
|
||||
/* 0x0590 */ .byte 65,157, 0, 32,127,140,232, 0, 65,158, 3,212,137, 44, 0, 0
|
||||
/* 0x05a0 */ .byte 84,160, 64, 46,124, 5, 75,120, 85, 8, 64, 46, 57,140, 0, 1
|
||||
/* 0x05b0 */ .byte 161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64
|
||||
/* 0x05c0 */ .byte 64,156, 0, 48, 32, 11, 8, 0, 84,105, 32, 54,125, 38, 74, 20
|
||||
/* 0x05d0 */ .byte 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120, 56,137, 0, 4
|
||||
/* 0x05e0 */ .byte 59,128, 0, 0, 59, 96, 0, 3,176, 6, 0, 0, 72, 0, 0,156
|
||||
/* 0x05f0 */ .byte 125, 10, 64, 80,127,136,176, 64, 85, 96,217,126,124, 0, 88, 80
|
||||
/* 0x0600 */ .byte 124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,127,140,232, 0
|
||||
/* 0x0610 */ .byte 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,124, 5, 75,120
|
||||
/* 0x0620 */ .byte 85, 8, 64, 46, 57,140, 0, 1,161,102, 0, 2, 85, 0,170,254
|
||||
/* 0x0630 */ .byte 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48, 32, 11, 8, 0
|
||||
/* 0x0640 */ .byte 84,105, 32, 54,125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20
|
||||
/* 0x0650 */ .byte 125, 72, 83,120, 56,137, 1, 4, 59,128, 0, 8, 59, 96, 0, 3
|
||||
/* 0x0660 */ .byte 176, 6, 0, 2, 72, 0, 0, 36, 85, 96,217,126,124, 0, 88, 80
|
||||
/* 0x0670 */ .byte 124,170, 40, 80,176, 6, 0, 2,125, 10, 64, 80, 56,134, 2, 4
|
||||
/* 0x0680 */ .byte 59,128, 0, 16, 59, 96, 0, 8,127,105, 3,166, 63,224, 0,255
|
||||
/* 0x0690 */ .byte 99,255,255,255, 56, 96, 0, 1,127,136,248, 64, 84,103, 8, 60
|
||||
/* 0x06a0 */ .byte 127, 12,232, 0, 84,169, 64, 46,124,227, 59,120, 65,157, 0, 24
|
||||
/* 0x06b0 */ .byte 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1
|
||||
/* 0x06c0 */ .byte 125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,125, 64, 89,214
|
||||
/* 0x06d0 */ .byte 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126
|
||||
/* 0x06e0 */ .byte 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16
|
||||
/* 0x06f0 */ .byte 125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,124,170, 40, 80
|
||||
/* 0x0700 */ .byte 56,103, 0, 1,125,100, 59, 46, 66, 0,255,144, 56, 0, 0, 1
|
||||
/* 0x0710 */ .byte 47,151, 0, 3,124, 0,216, 48,124, 96, 24, 80,124, 99,226, 20
|
||||
/* 0x0720 */ .byte 65,157, 1,232, 47,131, 0, 3, 58,247, 0, 7,124,105, 27,120
|
||||
/* 0x0730 */ .byte 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,125, 56, 74, 20
|
||||
/* 0x0740 */ .byte 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166, 63,224, 0,255
|
||||
/* 0x0750 */ .byte 99,255,255,255, 56,128, 0, 1,127,136,248, 64, 84,135, 8, 60
|
||||
/* 0x0760 */ .byte 127, 12,232, 0, 84,169, 64, 46,124,228, 59,120, 65,157, 0, 24
|
||||
/* 0x0770 */ .byte 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1
|
||||
/* 0x0780 */ .byte 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214
|
||||
/* 0x0790 */ .byte 32, 11, 8, 0,127,133, 80, 64,124, 0, 46,112, 85,105,217,126
|
||||
/* 0x07a0 */ .byte 124, 11, 2, 20,125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16
|
||||
/* 0x07b0 */ .byte 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,124,170, 40, 80
|
||||
/* 0x07c0 */ .byte 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144, 56,132,255,192
|
||||
/* 0x07d0 */ .byte 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40, 47,132, 0, 13
|
||||
/* 0x07e0 */ .byte 124,137, 14,112, 84,128, 7,254, 57,105,255,255, 96, 26, 0, 2
|
||||
/* 0x07f0 */ .byte 125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48, 87, 73, 8, 60
|
||||
/* 0x0800 */ .byte 125, 56, 74, 20, 84,128, 8, 60,125, 32, 72, 80, 56,201, 5, 94
|
||||
/* 0x0810 */ .byte 72, 0, 0,100, 57, 41,255,251,125, 41, 3,166, 61, 96, 0,255
|
||||
/* 0x0820 */ .byte 97,107,255,255,127,136, 88, 64,127, 12,232, 0, 84,169, 64, 46
|
||||
/* 0x0830 */ .byte 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,136, 12, 0, 0
|
||||
/* 0x0840 */ .byte 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120, 85, 8,248,126
|
||||
/* 0x0850 */ .byte 127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80, 99, 90, 0, 1
|
||||
/* 0x0860 */ .byte 66, 0,255,196, 56, 0, 0, 4,124, 9, 3,166, 87, 90, 32, 54
|
||||
/* 0x0870 */ .byte 56,216, 6, 68, 60,128, 0,255, 96,132,255,255, 59,128, 0, 1
|
||||
/* 0x0880 */ .byte 59,224, 0, 1,127,136, 32, 64, 87,231, 8, 60,127, 12,232, 0
|
||||
/* 0x0890 */ .byte 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24, 65,154, 0,208
|
||||
/* 0x08a0 */ .byte 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120
|
||||
/* 0x08b0 */ .byte 125,102, 58, 46, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0
|
||||
/* 0x08c0 */ .byte 127,133, 80, 64,124, 0, 46,112, 85,105,217,126,124, 11, 2, 20
|
||||
/* 0x08d0 */ .byte 125, 10, 64, 80,125,105, 88, 80, 64,156, 0, 16,125, 72, 83,120
|
||||
/* 0x08e0 */ .byte 124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80, 59,231, 0, 1
|
||||
/* 0x08f0 */ .byte 125,102, 59, 46,127, 90,227,120, 87,156, 8, 60, 66, 0,255,136
|
||||
/* 0x0900 */ .byte 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64, 56, 99, 0, 2
|
||||
/* 0x0910 */ .byte 65,157, 0, 92,124, 26,200, 80,127,245, 0,174, 56, 99,255,255
|
||||
/* 0x0920 */ .byte 127,249,169,174, 59, 57, 0, 1, 49, 99,255,255,125, 43, 25, 16
|
||||
/* 0x0930 */ .byte 124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,125, 43, 0, 57
|
||||
/* 0x0940 */ .byte 64,130,255,212,127,153,160, 64, 65,156,247,172, 60, 0, 0,255
|
||||
/* 0x0950 */ .byte 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,127,140,232, 0
|
||||
/* 0x0960 */ .byte 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12, 56, 96, 0, 1
|
||||
/* 0x0970 */ .byte 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,124, 19, 96, 80
|
||||
/* 0x0980 */ .byte 144, 14, 0, 0, 56, 96, 0, 0,147, 41, 0, 0,128, 1, 0,100
|
||||
/* 0x0990 */ .byte 185,193, 0, 24,124, 8, 3,166, 56, 33, 0, 96
|
||||
36
src/stub/src/arch/ppc64le/64/macros.S
Normal file
36
src/stub/src/arch/ppc64le/64/macros.S
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
; macros.S --
|
||||
;
|
||||
; This file is part of the UPX executable compressor.
|
||||
;
|
||||
; Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
; Copyright (C) 1996-2013 Laszlo Molnar
|
||||
; 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
|
||||
; <markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
;
|
||||
*/
|
||||
|
||||
//.altmacro
|
||||
|
||||
.macro section name
|
||||
.section \name
|
||||
.endm
|
||||
|
||||
// vi:ts=8:et:nowrap
|
||||
156
src/stub/src/arch/ppc64le/64/nrv2b_d.S
Normal file
156
src/stub/src/arch/ppc64le/64/nrv2b_d.S
Normal file
@ -0,0 +1,156 @@
|
||||
/* ppc_d_nrv2b.S -- ppc64le decompressor for NRV2B
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2013 Laszlo Molnar
|
||||
Copyright (C) 2000-2013 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#define M_NRV2B_LE32 2
|
||||
dcbtst 0,dst // prime dcache for store
|
||||
mflr t3 // return address
|
||||
|
||||
cmpli cr0,meth,M_NRV2B_LE32
|
||||
bne cr0,not_nrv2b
|
||||
|
||||
std dst,0(ldst) // original dst
|
||||
add lsrc,lsrc,src // input eof
|
||||
|
||||
lis hibit,0x8000 // 0x80000000 for detecting next bit
|
||||
rldicr hibit,hibit,32,31 // upper bits
|
||||
lis bits,0x8000 // prepare for first load
|
||||
rldicr hibit,hibit,32,31 // upper bits
|
||||
addi src,src,-1 // prepare for 'lbzu'
|
||||
addi dst,dst,-1 // prepare for 'stbu'
|
||||
li disp,-1 // initial displacement
|
||||
b bot_n2b
|
||||
|
||||
#undef jnextb0y
|
||||
#undef jnextb0n
|
||||
#undef jnextb1y
|
||||
#undef jnextb1n
|
||||
/* jump on next bit, with branch prediction: y==>likely; n==>unlikely
|
||||
cr0 is set by the cmpl ["compare logical"==>unsigned]:
|
||||
lt next bit is 0
|
||||
gt next bit is 1
|
||||
eq must load next 32 bits from memory
|
||||
*/
|
||||
#define jnextb0y call get1; blt+ cr0,
|
||||
#define jnextb0n call get1; blt- cr0,
|
||||
#define jnextb1y call get1; bgt+ cr0,
|
||||
#define jnextb1n call get1; bgt- cr0,
|
||||
|
||||
#undef getnextb
|
||||
/* rotate next bit into bottom bit of reg; set cr0 based on entire result reg */
|
||||
#define getnextb(reg) call get1; adde. reg,reg,reg
|
||||
|
||||
get1:
|
||||
cmpl cr0,1,bits,hibit // cr0 for jnextb
|
||||
addc bits,bits,bits // CArry for getnextb
|
||||
bnelr+ cr0 // return if reload not needed; likely 31/32
|
||||
|
||||
/* CArry has been set from adding 0x80000000 to itself; preserve for 'adde' */
|
||||
// fetch 4 bytes unaligned and LITTLE ENDIAN
|
||||
#if 0 /*{ clean; but 4 instr larger, and 3 cycles longer */
|
||||
lbz bits,1(src) // lo8
|
||||
lbz t0,2(src); rlwimi bits,t0, 8,16,23
|
||||
lbz t0,3(src); rlwimi bits,t0,16, 8,15
|
||||
lbzu t0,4(src); rlwimi bits,t0,24, 0, 7
|
||||
#else /*}{ pray for no unalignment trap or slowdown */
|
||||
li bits,1 // compensate for 'lbzu'
|
||||
// lwbrx bits,bits,src // bits= fetch_le32(bits+src)
|
||||
lwzx bits,bits,src
|
||||
addi src,src,4
|
||||
#endif /*}*/
|
||||
|
||||
rldicr bits,bits,32,31 // upper bits
|
||||
cmpl cr0,1,bits,hibit // cr0 for jnextb
|
||||
adde bits,bits,bits // CArry for getnextb; set lo bit from CarryIn
|
||||
ret
|
||||
|
||||
lit_n2b:
|
||||
#define tmp len
|
||||
lbzu tmp,1(src) // tmp= *++src;
|
||||
stbu tmp,1(dst) // *++dst= tmp;
|
||||
#undef tmp
|
||||
top_n2b:
|
||||
jnextb1y lit_n2b
|
||||
li off,1 // "the msb"
|
||||
offmore_n2b:
|
||||
getnextb(off)
|
||||
jnextb0n offmore_n2b
|
||||
|
||||
addic. off,off,-3 // CArry set [and ignored], but no 'addi.'
|
||||
li len,0
|
||||
blt- offprev_n2b
|
||||
lbzu t0,1(src)
|
||||
rlwinm off,off,8,0,31-8 // off<<=8;
|
||||
li t2,-1
|
||||
rldicr t2,t2,32,31 // 0xffffffff00000000 mask
|
||||
or off,off,t2 // simulate 32bits extended to 64 bits
|
||||
nor. disp,off,t0 // disp = -(1+ (off|t0));
|
||||
beq- eof_nrv
|
||||
|
||||
offprev_n2b: // In: 0==len
|
||||
getnextb(len); getnextb(len) // two bits; cr0 set on result
|
||||
li off,1; bne- gotlen_n2b // raw 1,2,3 ==> 2,3,4
|
||||
li off,3 // raw 2.. ==> 5..
|
||||
li len,1 // "the msb"
|
||||
lenmore_n2b:
|
||||
getnextb(len)
|
||||
jnextb0n lenmore_n2b
|
||||
gotlen_n2b:
|
||||
subfic t0,disp,(~0)+(-0xd00) // want CArry only
|
||||
adde len,len,off // len += off + (disp < -0xd00);
|
||||
|
||||
copy:
|
||||
#define back off
|
||||
add back,disp,dst // point back to match in dst
|
||||
mtctr len
|
||||
short_n2b:
|
||||
#define tmp len
|
||||
lbzu tmp,1(back)
|
||||
stbu tmp,1(dst)
|
||||
#undef tmp
|
||||
bdnz+ short_n2b
|
||||
|
||||
/* This "prefetch for store" is simple, small, and effective. Matches
|
||||
usually occur more frequently than once per 128 bytes, but G4 line size
|
||||
is only 32 bytes anyway. Assume that an 'unnecessary' dcbtst costs only
|
||||
about as much as a hit. The counter register is free at top_n2b, so we could
|
||||
pace the dcbtst optimally; but that takes 7 or 8 instructions of space.
|
||||
*/
|
||||
bot_n2b:
|
||||
li back,2*SZ_DLINE
|
||||
dcbtst back,dst // 2 lines ahead [-1 for stbu]
|
||||
dcbt back,src // jump start auto prefetch at page boundary
|
||||
/* Auto prefetch for Read quits at page boundary; needs 2 misses to restart. */
|
||||
#undef back
|
||||
b top_n2b
|
||||
|
||||
not_nrv2b:
|
||||
|
||||
// vi:ts=8:et
|
||||
163
src/stub/src/arch/ppc64le/64/nrv2d_d.S
Normal file
163
src/stub/src/arch/ppc64le/64/nrv2d_d.S
Normal file
@ -0,0 +1,163 @@
|
||||
/* nrv2d_d.S -- ppc64le decompressor for NRV2D
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2013 Laszlo Molnar
|
||||
Copyright (C) 2000-2013 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#define M_NRV2D_LE32 5
|
||||
dcbtst 0,dst // prime dcache for store
|
||||
mflr t3 // return address
|
||||
|
||||
cmpli cr0,meth,M_NRV2D_LE32
|
||||
bne cr0,not_nrv2d
|
||||
|
||||
std dst,0(ldst) // original dst
|
||||
add lsrc,lsrc,src // input eof
|
||||
|
||||
lis hibit,0x8000 // 0x80000000 for detecting next bit
|
||||
rldicr hibit,hibit,32,31 // upper bits
|
||||
lis bits,0x8000 // prepare for first load
|
||||
rldicr hibit,hibit,32,31 // upper bits
|
||||
addi src,src,-1 // prepare for 'lbzu'
|
||||
addi dst,dst,-1 // prepare for 'stbu'
|
||||
li disp,-1 // initial displacement
|
||||
b bot_n2d
|
||||
|
||||
#undef jnextb0y
|
||||
#undef jnextb0n
|
||||
#undef jnextb1y
|
||||
#undef jnextb1n
|
||||
/* jump on next bit, with branch prediction: y==>likely; n==>unlikely
|
||||
cr0 is set by the cmpl ["compare logical"==>unsigned]:
|
||||
lt next bit is 0
|
||||
gt next bit is 1
|
||||
eq must load next 32 bits from memory
|
||||
|
||||
beql-: branch and link [call subroutine] if cr0 is eq, unlikely
|
||||
*/
|
||||
#define jnextb0y cmpl 0,1,bits,hibit; add bits,bits,bits; beql- get32d; blt+
|
||||
#define jnextb0n cmpl 0,1,bits,hibit; add bits,bits,bits; beql- get32d; blt-
|
||||
#define jnextb1y cmpl 0,1,bits,hibit; add bits,bits,bits; beql- get32d; bgt+
|
||||
#define jnextb1n cmpl 0,1,bits,hibit; add bits,bits,bits; beql- get32d; bgt-
|
||||
|
||||
#undef getnextb
|
||||
/* rotate next bit into bottom bit of reg, set CC on entire result */
|
||||
#define getnextb(reg) addc. bits,bits,bits; beql- get32d; adde. reg,reg,reg
|
||||
|
||||
get32d:
|
||||
// fetch 4 bytes unaligned and LITTLE ENDIAN
|
||||
#if 0 /*{ clean; but 4 instr larger, and 3 cycles longer */
|
||||
lbz bits,1(src) // lo8
|
||||
lbz t0,2(src); rlwimi bits,t0, 8,16,23
|
||||
lbz t0,3(src); rlwimi bits,t0,16, 8,15
|
||||
lbzu t0,4(src); rlwimi bits,t0,24, 0, 7
|
||||
#else /*}{ pray for no unalignment trap or slowdown */
|
||||
li bits,1 // compensate for 'lbzu'
|
||||
// lwbrx bits,bits,src // bits= fetch_le32(bits+src)
|
||||
lwzx bits,bits,src
|
||||
addi src,src,4
|
||||
#endif /*}*/
|
||||
|
||||
rldicr bits,bits,32,31 // upper bits
|
||||
cmpl 0,bits,hibit // cr0 for jnextb
|
||||
addc bits,bits,bits // CArry for getnextb
|
||||
ori bits,bits,1 // the flag bit
|
||||
ret
|
||||
|
||||
lit_n2d:
|
||||
#define tmp len
|
||||
lbzu tmp,1(src) // tmp= *++src;
|
||||
stbu tmp,1(dst) // *++dst= tmp;
|
||||
#undef tmp
|
||||
top_n2d:
|
||||
jnextb1y lit_n2d
|
||||
li off,1 // start ss12
|
||||
b getoff_n2d
|
||||
|
||||
off_n2d:
|
||||
addi off,off,-1
|
||||
getnextb(off)
|
||||
getoff_n2d:
|
||||
getnextb(off)
|
||||
jnextb0n off_n2d
|
||||
|
||||
li len,0
|
||||
addic. off,off,-3 // CArry set [and ignored], but no 'addi.'
|
||||
rlwinm off,off,8,0,31-8 // off<<=8;
|
||||
li t2,-1
|
||||
rldicr t2,t2,32,31 // 0xffffffff00000000 mask
|
||||
or off,off,t2 // simulate 32bits extended to 64 bits
|
||||
blt- offprev_n2d
|
||||
lbzu t0,1(src)
|
||||
nor. disp,off,t0 // disp = -(1+ (off|t0));
|
||||
srawi disp,disp,1 // shift off low bit (sets CArry)
|
||||
beq- eof_nrv // test the 'nor'
|
||||
b len_n2d -4 // CHEAT [getnextb ends "adde. len,len,len"]: bit from srawi
|
||||
offprev_n2d:
|
||||
getnextb(len)
|
||||
len_n2d:
|
||||
getnextb(len); bne gotlen_n2d // need getnextb() to set Condition Register
|
||||
li len,1 // begin ss11
|
||||
lenmore_n2d:
|
||||
getnextb(len)
|
||||
jnextb0n lenmore_n2d
|
||||
addi len,len,2 // 2.. ==> 4..
|
||||
gotlen_n2d:
|
||||
|
||||
#define tmp off
|
||||
subfic tmp,disp,(~0)+(-0x500) // want CArry only
|
||||
#undef tmp
|
||||
addi len,len,1
|
||||
addze len,len // len += (disp < -0x500);
|
||||
|
||||
#define back off
|
||||
add back,disp,dst // point back to match in dst
|
||||
mtctr len
|
||||
short_n2d:
|
||||
#define tmp len
|
||||
lbzu tmp,1(back)
|
||||
stbu tmp,1(dst)
|
||||
#undef tmp
|
||||
bdnz+ short_n2d
|
||||
bot_n2d:
|
||||
/* This "prefetch for store" is simple, small, and effective. Matches
|
||||
usually occur more frequently than once per 128 bytes, but G4 line size
|
||||
is only 32 bytes anyway. Assume that an 'unnecessary' dcbtst costs only
|
||||
about as much as a hit. The counter register is free at top_n2d, so we could
|
||||
pace the dcbtst optimally; but that takes 7 or 8 instructions of space.
|
||||
*/
|
||||
li back,2*SZ_DLINE
|
||||
dcbtst back,dst // 2 lines ahead [-1 for stbu]
|
||||
dcbt back,src // jump start auto prefetch at page boundary
|
||||
/* Auto prefetch for Read quits at page boundary; needs 2 misses to restart. */
|
||||
b top_n2d
|
||||
#undef back
|
||||
|
||||
not_nrv2d:
|
||||
|
||||
// vi:ts=8:et
|
||||
172
src/stub/src/arch/ppc64le/64/nrv2e_d.S
Normal file
172
src/stub/src/arch/ppc64le/64/nrv2e_d.S
Normal file
@ -0,0 +1,172 @@
|
||||
/* ppc_d_nrv2e.S -- PowerPC decompressor for NRV2E
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2013 Laszlo Molnar
|
||||
Copyright (C) 2000-2013 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#define M_NRV2E_LE32 8
|
||||
dcbtst 0,dst // prime dcache for store
|
||||
mflr t3 // return address
|
||||
|
||||
cmpli cr0,meth,M_NRV2E_LE32
|
||||
bne cr0,not_nrv2e
|
||||
|
||||
std dst,0(ldst) // original dst
|
||||
add lsrc,lsrc,src // input eof
|
||||
|
||||
lis hibit,0x8000 // 0x80000000 for detecting next bit
|
||||
rldicr hibit,hibit,32,31 // upper bits
|
||||
lis bits,0x8000 // prepare for first load
|
||||
rldicr bits,bits,32,31 // upper bits
|
||||
addi src,src,-1 // prepare for 'lbzu'
|
||||
addi dst,dst,-1 // prepare for 'stbu'
|
||||
li disp,-1 // initial displacement
|
||||
b bot_n2e
|
||||
|
||||
#undef jnextb0y
|
||||
#undef jnextb0n
|
||||
#undef jnextb1y
|
||||
#undef jnextb1n
|
||||
/* jump on next bit, with branch prediction: y==>likely; n==>unlikely
|
||||
cr0 is set by the cmpl ["compare logical"==>unsigned]:
|
||||
lt next bit is 0
|
||||
gt next bit is 1
|
||||
eq must load next 32 bits from memory
|
||||
|
||||
beql-: branch and link [call subroutine] if cr0 is eq, unlikely
|
||||
*/
|
||||
#define jnextb0y cmpl 0,1,bits,hibit; add bits,bits,bits; beql- get32; blt+
|
||||
#define jnextb0n cmpl 0,1,bits,hibit; add bits,bits,bits; beql- get32; blt-
|
||||
#define jnextb1y cmpl 0,1,bits,hibit; add bits,bits,bits; beql- get32; bgt+
|
||||
#define jnextb1n cmpl 0,1,bits,hibit; add bits,bits,bits; beql- get32; bgt-
|
||||
|
||||
#undef getnextb
|
||||
/* rotate next bit into bottom bit of reg */
|
||||
#define getnextb(reg) addc. bits,bits,bits; beql- get32; adde reg,reg,reg
|
||||
|
||||
get32:
|
||||
// fetch 4 bytes unaligned and LITTLE ENDIAN
|
||||
#if 0 /*{ clean; but 4 instr larger, and 3 cycles longer */
|
||||
lbz bits,1(src) // lo8
|
||||
lbz t0,2(src); rlwimi bits,t0, 8,16,23
|
||||
lbz t0,3(src); rlwimi bits,t0,16, 8,15
|
||||
lbzu t0,4(src); rlwimi bits,t0,24, 0, 7
|
||||
#else /*}{ pray for no unalignment trap or slowdown */
|
||||
li bits,1 // compensate for 'lbzu'
|
||||
// lwbrx bits,bits,src // bits= fetch_le32(bits+src) endianess
|
||||
lwzx bits,bits,src
|
||||
addi src,src,4
|
||||
#endif /*}*/
|
||||
|
||||
rldicr bits,bits,32,31 // upper bits
|
||||
cmpl 0,1,bits,hibit // cr0 for jnextb
|
||||
addc bits,bits,bits // CArry for getnextb
|
||||
// ori bits,bits,1 // the flag bit
|
||||
li t2,1
|
||||
rldicr t2,t2,32,31
|
||||
or bits,bits,t2 // the flag bit
|
||||
ret
|
||||
|
||||
lit_n2e:
|
||||
#define tmp len
|
||||
lbzu tmp,1(src) // tmp= *++src;
|
||||
stbu tmp,1(dst) // *++dst= tmp;
|
||||
#undef tmp
|
||||
top_n2e:
|
||||
jnextb1y lit_n2e
|
||||
li off,1
|
||||
b getoff_n2e
|
||||
|
||||
off_n2e:
|
||||
addi off,off,-1
|
||||
getnextb(off)
|
||||
getoff_n2e:
|
||||
getnextb(off)
|
||||
jnextb0n off_n2e
|
||||
|
||||
li len,0
|
||||
addic. off,off,-3 // CArry set [and ignored], but no 'addi.'
|
||||
rlwinm off,off,8,0,31-8 // off<<=8;
|
||||
li t2,-1
|
||||
rldicr t2,t2,32,31 // 0xffffffff00000000 mask
|
||||
or off,off,t2 // simulate 32bits extended to 64 bits
|
||||
blt- offprev_n2e
|
||||
lbzu t0,1(src)
|
||||
nor. disp,off,t0 // disp = -(1+ (off|t0));
|
||||
srawi disp,disp,1 // shift off low bit (sets CArry; ignored)
|
||||
beq- eof_nrv
|
||||
andi. t0,t0,1 // complement of low bit of unshifted disp
|
||||
beq+ lenlast_n2e // low bit was 1
|
||||
b lenmore_n2e // low bit was 0
|
||||
|
||||
offprev_n2e:
|
||||
jnextb1y lenlast_n2e
|
||||
lenmore_n2e:
|
||||
li len,1 // 1: "the msb"
|
||||
jnextb1y lenlast_n2e
|
||||
len_n2e:
|
||||
getnextb(len)
|
||||
jnextb0n len_n2e
|
||||
addi len,len,6-2-2
|
||||
b gotlen_n2e
|
||||
|
||||
lenlast_n2e:
|
||||
getnextb(len) // 0,1,2,3
|
||||
gotlen_n2e:
|
||||
#define tmp off
|
||||
subfic tmp,disp,(~0)+(-0x500) // want CArry only
|
||||
#undef tmp
|
||||
addi len,len,2
|
||||
addze len,len // len += (disp < -0x500);
|
||||
|
||||
#define back off
|
||||
add back,disp,dst // point back to match in dst
|
||||
mtctr len
|
||||
short_n2e:
|
||||
#define tmp len
|
||||
lbzu tmp,1(back)
|
||||
stbu tmp,1(dst)
|
||||
#undef tmp
|
||||
bdnz+ short_n2e
|
||||
bot_n2e:
|
||||
/* This "prefetch for store" is simple, small, and effective. Matches
|
||||
usually occur more frequently than once per 128 bytes, but G4 line size
|
||||
is only 32 bytes anyway. Assume that an 'unnecessary' dcbtst costs only
|
||||
about as much as a hit. The counter register is free at top_n2e, so we could
|
||||
pace the dcbtst optimally; but that takes 7 or 8 instructions of space.
|
||||
*/
|
||||
li back,2*SZ_DLINE
|
||||
dcbtst back,dst // 2 lines ahead [-1 for stbu]
|
||||
dcbt back,src // jump start auto prefetch at page boundary
|
||||
/* Auto prefetch for Read quits at page boundary; needs 2 misses to restart. */
|
||||
b top_n2e
|
||||
#undef back
|
||||
|
||||
not_nrv2e:
|
||||
|
||||
// vi:ts=8:et
|
||||
46
src/stub/src/arch/ppc64le/64/ppc_regs.h
Normal file
46
src/stub/src/arch/ppc64le/64/ppc_regs.h
Normal file
@ -0,0 +1,46 @@
|
||||
#ifndef __PPC_REGS__ /*{*/
|
||||
#define __PPC_REGS__ 1
|
||||
|
||||
#define r0 0
|
||||
#define r1 1
|
||||
#define r2 2
|
||||
|
||||
#define r29 29
|
||||
#define r30 30
|
||||
#define r31 31
|
||||
|
||||
/* Stack pointer */
|
||||
#define sp 1
|
||||
|
||||
/* Subroutine arguments; not saved by callee */
|
||||
#define a0 3
|
||||
#define a1 4
|
||||
#define a2 5
|
||||
#define a3 6
|
||||
#define a4 7
|
||||
#define a5 8
|
||||
#define a6 9
|
||||
#define a7 10
|
||||
|
||||
/* Scratch (temporary) registers; not saved by callee */
|
||||
#define t0 2
|
||||
#define t1 11
|
||||
#define t2 12
|
||||
#define t3 13
|
||||
|
||||
/* branch and link */
|
||||
#define call bl
|
||||
|
||||
/* branch to link register */
|
||||
#define ret blr
|
||||
|
||||
/* move register */
|
||||
#define movr mr
|
||||
|
||||
#endif /*} __PPC_REGS__ */
|
||||
|
||||
|
||||
/*
|
||||
vi:ts=4:et:nowrap
|
||||
*/
|
||||
|
||||
3
src/stub/src/arch/ppc64le/Makefile
Normal file
3
src/stub/src/arch/ppc64le/Makefile
Normal file
@ -0,0 +1,3 @@
|
||||
# convenience Makefile
|
||||
default %:
|
||||
$(MAKE) -C ../../.. $@
|
||||
@ -90,15 +90,15 @@ struct timespec {
|
||||
|
||||
// misc constants
|
||||
|
||||
#if defined(__amd64__) || defined(__powerpc64__)
|
||||
#if defined(__mips__) || defined(__powerpc64__)
|
||||
#define PAGE_MASK (~0ul<<16) // discards the offset, keeps the page
|
||||
#define PAGE_SIZE ( 1ul<<16)
|
||||
#elif defined(__amd64__)
|
||||
#define PAGE_MASK (~0ul<<12) // discards the offset, keeps the page
|
||||
#define PAGE_SIZE ( 1ul<<12)
|
||||
#elif defined(__i386__) || defined(__powerpc__) || defined(__arm__)
|
||||
#define PAGE_MASK (~0ul<<12) // discards the offset, keeps the page
|
||||
#define PAGE_SIZE ( 1ul<<12)
|
||||
#elif defined(__mips__)
|
||||
#define PAGE_MASK (~0ul<<16) // discards the offset, keeps the page
|
||||
#define PAGE_SIZE ( 1ul<<16)
|
||||
#endif
|
||||
|
||||
#define SEEK_SET 0
|
||||
|
||||
@ -159,12 +159,12 @@ ERR_LAB
|
||||
|
||||
if (h.sz_cpr < h.sz_unc) { // Decompress block
|
||||
nrv_uint out_len = h.sz_unc; // EOF for lzma
|
||||
int const j = (*f_decompress)(xi->buf, h.sz_cpr,
|
||||
xo->buf, &out_len, h.b_method);
|
||||
int const j = (*f_decompress)((unsigned char *)xi->buf, h.sz_cpr,
|
||||
(unsigned char *)xo->buf, &out_len, h.b_method);
|
||||
if (j != 0 || out_len != (nrv_uint)h.sz_unc)
|
||||
err_exit(7);
|
||||
if (h.b_ftid!=0 && f_unf) { // have filter
|
||||
(*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
(*f_unf)((unsigned char *)xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
}
|
||||
xi->buf += h.sz_cpr;
|
||||
xi->size -= h.sz_cpr;
|
||||
|
||||
@ -138,12 +138,12 @@ ERR_LAB
|
||||
|
||||
if (h.sz_cpr < h.sz_unc) { // Decompress block
|
||||
nrv_uint out_len = h.sz_unc; // EOF for lzma
|
||||
int const j = (*f_decompress)(xi->buf, h.sz_cpr,
|
||||
xo->buf, &out_len, h.b_method);
|
||||
int const j = (*f_decompress)((unsigned char *)xi->buf, h.sz_cpr,
|
||||
(unsigned char *)xo->buf, &out_len, h.b_method);
|
||||
if (j != 0 || out_len != (nrv_uint)h.sz_unc)
|
||||
err_exit(7);
|
||||
if (h.b_ftid!=0 && f_unf) { // have filter
|
||||
(*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
(*f_unf)((unsigned char *)xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
}
|
||||
xi->buf += h.sz_cpr;
|
||||
xi->size -= h.sz_cpr;
|
||||
|
||||
354
src/stub/src/ppc64le-darwin.dylib-entry.S
Normal file
354
src/stub/src/ppc64le-darwin.dylib-entry.S
Normal file
@ -0,0 +1,354 @@
|
||||
/*
|
||||
* ppc64le-darwin.dylib-entry.S -- program entry point & decompress (PowerPC32 dylib)
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 2005-2013 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
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "arch/ppc64le/64/macros.S"
|
||||
#include "arch/ppc64le/64/ppc_regs.h"
|
||||
|
||||
/*************************************************************************
|
||||
// We have been CALLed as a subroutine from dyld; C-language rules apply.
|
||||
// -4*4+_start: .long offset(user_init_function)
|
||||
// -3*4+_start: .long offset(b_info of compressed Mach_headers)
|
||||
// -2*4+_start: .long length(compressed __TEXT)
|
||||
// -1*4+_start: .long 8+ total_length # 8+ number of preceding bytes in file
|
||||
**************************************************************************/
|
||||
|
||||
section MACOS000
|
||||
_start: .globl _start
|
||||
mflr r2
|
||||
call main # must be exactly 1 instruction; link_register= &decompress
|
||||
decompress:
|
||||
section NRV_HEAD
|
||||
SZ_DLINE=128 # size of data cache line in Apple G5
|
||||
|
||||
/* PowerPC has no 'cmplis': compare logical [unsigned] immediate shifted [by 16] */
|
||||
#define hibit r0 /* holds 0x80000000 during decompress */
|
||||
|
||||
#define src a0
|
||||
#define lsrc a1
|
||||
#define dst a2
|
||||
#define ldst a3 /* Out: actually a reference: &len_dst */
|
||||
#define meth a4
|
||||
|
||||
#define off a4
|
||||
#define len a5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
section NRV2E
|
||||
#include "arch/ppc64le/64/nrv2e_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/ppc64le/64/nrv2d_d.S"
|
||||
|
||||
section NRV2B
|
||||
#include "arch/ppc64le/64/nrv2b_d.S"
|
||||
|
||||
#include "arch/ppc64le/64/lzma_d.S"
|
||||
|
||||
#undef off
|
||||
#undef len
|
||||
#undef bits
|
||||
#undef disp
|
||||
|
||||
section NRV_TAIL
|
||||
eof_nrv:
|
||||
#define dst0 a4
|
||||
#define tmp a1
|
||||
ld dst0,0(ldst) // original dst
|
||||
mtlr t3 // return address
|
||||
subf a0,lsrc,src
|
||||
subf tmp,dst0,dst // -1+ dst length
|
||||
addi a0,a0,1 // return 0: good; else: bad [+1: correct for lbzu]
|
||||
addi tmp,tmp,1 // dst length
|
||||
std tmp,0(ldst)
|
||||
#undef tmp
|
||||
|
||||
// CACHELINE=32 is the observed minimum line size of any cache.
|
||||
// Some caches may have larger lines, but it is cumbersome to lookup
|
||||
// {AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE: /usr/include/elf.h},
|
||||
// then save the correct size in a variable {where to put it?}, or to modify
|
||||
// the two instructions here. If a cache has larger lines, then we expect
|
||||
// that the second dcbst (or icbi) on a the same line will be fast.
|
||||
// If not, then too bad.
|
||||
|
||||
section CFLUSH // In: a2=dst= &highest stored byte; a4=dst0= &lowest stored byte
|
||||
CACHELINE=32
|
||||
ori dst0,dst0,-1+ CACHELINE // highest addr on cache line
|
||||
cfl_nrv:
|
||||
dcbst 0,dst0 // initiate store (modified) cacheline to memory
|
||||
cmpl cr0,dst0,dst // did we cover the highest-addressed byte?
|
||||
icbi 0,dst0 // discard instructions from cacheline
|
||||
addi dst0,dst0,CACHELINE // highest addr on next line
|
||||
blt cr0,cfl_nrv // not done yet
|
||||
#undef dst0
|
||||
sync // wait for all memory operations to finish
|
||||
isync // discard prefetched instructions (if any)
|
||||
cfl_ret:
|
||||
ret
|
||||
|
||||
section ELFMAINY
|
||||
// IDENTSTR goes here
|
||||
|
||||
section ELFMAINZ
|
||||
sz_l_info= 12
|
||||
sz_p_info= 12
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
b_ftid= 9
|
||||
b_cto8= 10
|
||||
|
||||
// register numbers during entry
|
||||
#define f_unc 31
|
||||
#define f_uini 30
|
||||
#define l_unm 29
|
||||
#define a_unm 28
|
||||
#define r_unc 27
|
||||
#define r_cpr 26
|
||||
#define s_unc 25
|
||||
#define s_cpr 24
|
||||
#define l_unc 23
|
||||
#define l_cpr 22
|
||||
#define t_h 21 /* temporary */
|
||||
|
||||
LINKAREA= 6*8 // (sp,pc,cr, xx,yy.zz) save area per calling convention
|
||||
|
||||
PROT_NONE =0x00
|
||||
PROT_READ =0x01
|
||||
PROT_WRITE =0x02
|
||||
PROT_EXEC =0x04
|
||||
|
||||
MAP_SHARED =0x1
|
||||
MAP_PRIVATE =0x2
|
||||
MAP_ANON =0x1000
|
||||
|
||||
SYS_mmap =197
|
||||
SYS_munmap= 73
|
||||
SYS_mprotect= 74
|
||||
|
||||
main2:
|
||||
//teq r0,r0 // debugging
|
||||
stdu r2,-8*(1+ 32-a0)(sp) # retaddr
|
||||
// stmw a0,4*1(sp)
|
||||
std 3,3*8-8*2(sp)
|
||||
std 4,4*8-8*2(sp)
|
||||
std 5,5*8-8*2(sp)
|
||||
std 6,6*8-8*2(sp)
|
||||
std 7,7*8-8*2(sp)
|
||||
std 8,8*8-8*2(sp)
|
||||
std 9,9*8-8*2(sp)
|
||||
std 10,10*8-8*2(sp)
|
||||
std 11,11*8-8*2(sp)
|
||||
std 12,12*8-8*2(sp)
|
||||
std 13,13*8-8*2(sp)
|
||||
std 14,14*8-8*2(sp)
|
||||
std 15,15*8-8*2(sp)
|
||||
std 16,16*8-8*2(sp)
|
||||
std 17,17*8-8*2(sp)
|
||||
std 18,18*8-8*2(sp)
|
||||
std 19,19*8-8*2(sp)
|
||||
std 20,20*8-8*2(sp)
|
||||
std 21,21*8-8*2(sp)
|
||||
std 22,22*8-8*2(sp)
|
||||
std 23,23*8-8*2(sp)
|
||||
std 24,24*8-8*2(sp)
|
||||
std 25,25*8-8*2(sp)
|
||||
std 26,26*8-8*2(sp)
|
||||
std 27,27*8-8*2(sp)
|
||||
std 28,28*8-8*2(sp)
|
||||
std 29,29*8-8*2(sp)
|
||||
std 30,30*8-8*2(sp)
|
||||
std 31,31*8-8*2(sp)
|
||||
|
||||
mflr f_unc # f_unc= &decompress
|
||||
lwz t_h, -4*1(f_unc) # "call main" at _start
|
||||
lwz l_unm,-4*1+ _start - decompress(f_unc) # 4+ offset(_start)
|
||||
rlwinm t_h,t_h,0,6,29 # 4+ main - decompress
|
||||
add l_unm,l_unm,t_h # offset(main); ASSUMES (8+_start)==decompress
|
||||
addi t_h,t_h,-4 # main - decompress
|
||||
|
||||
li a0,0 # addr
|
||||
mr a1,l_unm # length for munmap
|
||||
li a2,PROT_READ|PROT_WRITE
|
||||
li a3,MAP_ANON|MAP_PRIVATE
|
||||
li a4,-1
|
||||
li a5,0 # hi32(offset)
|
||||
li a6,0 # lo32(offset)
|
||||
li 0,SYS_mmap
|
||||
sc
|
||||
li a0,-1 # failure
|
||||
mr a_unm,a0 # address for munmap
|
||||
|
||||
|
||||
li a2,main - movup2
|
||||
mtctr a2
|
||||
add a1,a0 ,l_unm # lwa(dst); new_page + offset(main)
|
||||
add a0,t_h,f_unc # lwa(src); &main
|
||||
movup1: # descending copy [moveup2, main)
|
||||
lbzu r0,-1(a0)
|
||||
stbu r0,-1(a1)
|
||||
bdnz+ movup1
|
||||
|
||||
subf a2,a2,l_unm # offset(movup2)
|
||||
mtlr a1 # &copied movup2
|
||||
mtctr a2 # offset(movup2)
|
||||
blr # goto the copied code
|
||||
|
||||
movup2: # descending copy [base, movup2)
|
||||
lbzu r0,-1(a0)
|
||||
stbu r0,-1(a1)
|
||||
bdnz+ movup2
|
||||
|
||||
lwz f_uini,-4*4+ _start - decompress(f_unc) # offset(user_init_fn)
|
||||
subf f_unc,a0,f_unc
|
||||
add f_unc,a1,f_unc # relocated decompress
|
||||
add f_uini,f_uini,a0
|
||||
|
||||
lwz t0,-4*3+ _start - decompress(f_unc) # offset(b_info)
|
||||
add r_cpr,a1,t0 # &b_info
|
||||
add r_unc,a0,t0 # &b_info
|
||||
addi r_unc,r_unc,-sz_l_info -sz_p_info
|
||||
|
||||
// skip compressed Mach headers
|
||||
lwz t0,sz_cpr(r_cpr)
|
||||
addi r_cpr,r_cpr,sz_b_info
|
||||
add r_cpr,r_cpr,t0
|
||||
dy_uncpr:
|
||||
mr s_cpr,r_cpr
|
||||
mr s_unc,r_unc
|
||||
addi a0,r_cpr,sz_unc
|
||||
call get4; beq dy_done
|
||||
add r_unc,r_unc,a0
|
||||
mr l_unc,a0
|
||||
addi a0,r_cpr,sz_cpr
|
||||
call get4
|
||||
add r_cpr,r_cpr,a0
|
||||
mr l_cpr,a0
|
||||
addi r_cpr,r_cpr,sz_b_info
|
||||
|
||||
stdu l_unc,-8(sp) # keep stack 8-byte aligned
|
||||
mtlr f_unc
|
||||
addi a0,s_cpr,sz_b_info # src
|
||||
mr a1,l_cpr
|
||||
mr a2,s_unc # dst
|
||||
mr a3,sp # &l_dst
|
||||
lbz a4,b_method(s_cpr)
|
||||
la sp,-LINKAREA(sp)
|
||||
blrl # uncompress
|
||||
la sp,8+LINKAREA(sp)
|
||||
// FIXME: check status
|
||||
|
||||
lbz a3,b_ftid(s_cpr)
|
||||
cmpli cr0,a3,0
|
||||
beq dy_uncpr
|
||||
lbz a2,b_cto8(s_cpr)
|
||||
ld a1,sz_unc(s_cpr)
|
||||
mr a0,s_unc
|
||||
bl unfilter
|
||||
b dy_uncpr
|
||||
|
||||
dy_done:
|
||||
bl dy_done2
|
||||
dy_done1: # escape hatch
|
||||
sc # munmap
|
||||
li a0,~0 # failure
|
||||
// lmw t0,0(sp)
|
||||
ld 2,2*8-8*2(sp)
|
||||
ld 3,3*8-8*2(sp)
|
||||
ld 4,4*8-8*2(sp)
|
||||
ld 5,5*8-8*2(sp)
|
||||
ld 6,6*8-8*2(sp)
|
||||
ld 7,7*8-8*2(sp)
|
||||
ld 8,8*8-8*2(sp)
|
||||
ld 9,9*8-8*2(sp)
|
||||
ld 10,10*8-8*2(sp)
|
||||
ld 11,11*8-8*2(sp)
|
||||
ld 12,12*8-8*2(sp)
|
||||
ld 13,13*8-8*2(sp)
|
||||
ld 14,14*8-8*2(sp)
|
||||
ld 15,15*8-8*2(sp)
|
||||
ld 16,16*8-8*2(sp)
|
||||
ld 17,17*8-8*2(sp)
|
||||
ld 18,18*8-8*2(sp)
|
||||
ld 19,19*8-8*2(sp)
|
||||
ld 20,20*8-8*2(sp)
|
||||
ld 21,21*8-8*2(sp)
|
||||
ld 22,22*8-8*2(sp)
|
||||
ld 23,23*8-8*2(sp)
|
||||
ld 24,24*8-8*2(sp)
|
||||
ld 25,25*8-8*2(sp)
|
||||
ld 26,26*8-8*2(sp)
|
||||
ld 27,27*8-8*2(sp)
|
||||
ld 28,28*8-8*2(sp)
|
||||
ld 29,29*8-8*2(sp)
|
||||
ld 30,30*8-8*2(sp)
|
||||
ld 31,31*8-8*2(sp)
|
||||
addi sp,sp,8*(32-t0)
|
||||
mtlr t0 # &continuation in dyld
|
||||
bctr # goto user_init_function
|
||||
dy_done2:
|
||||
li t0,(dy_done2 - dy_done1)/4
|
||||
mflr a0
|
||||
la a0,dy_done2 - dy_done1(a0)
|
||||
mtctr t0
|
||||
dy_done3:
|
||||
lwzu t0,-4(a0)
|
||||
stwu t0,-4(s_unc)
|
||||
bdnz+ dy_done3
|
||||
|
||||
mtlr s_unc
|
||||
mtctr f_uini # user_init_function
|
||||
mr a0,a_unm
|
||||
mr a1,l_unm
|
||||
li 0,SYS_munmap
|
||||
blr # goto relocated dy_done1
|
||||
|
||||
get4:
|
||||
lbz t0,3(a0)
|
||||
lbz t1,2(a0)
|
||||
rlwimi t0,t1, 8,16,23
|
||||
lbz t1,1(a0)
|
||||
rlwimi t0,t1,16, 8,15
|
||||
lbz t1,0(a0)
|
||||
rlwimi t0,t1,24, 0, 7
|
||||
mr. a0,t0 # set condition codes
|
||||
blr
|
||||
|
||||
unfilter:
|
||||
#include "arch/ppc64le/64/bxx.S"
|
||||
|
||||
main:
|
||||
b main2
|
||||
dy_top:
|
||||
len_top = dy_top - main
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
144
src/stub/src/ppc64le-darwin.macho-entry.S
Normal file
144
src/stub/src/ppc64le-darwin.macho-entry.S
Normal file
@ -0,0 +1,144 @@
|
||||
/*
|
||||
* ppc64le-darwin.macho-entry.S -- program entry point & decompressor (PowerPC32 Mach-o)
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 2005-2013 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
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*
|
||||
*/
|
||||
|
||||
#include "arch/ppc64le/64/macros.S"
|
||||
#include "arch/ppc64le/64/ppc_regs.h"
|
||||
|
||||
section MACOS000
|
||||
_start: .globl _start
|
||||
call main # must be exactly 1 instruction; link_register= &decompress
|
||||
|
||||
section NRV_HEAD
|
||||
SZ_DLINE=128 # size of data cache line in Apple G5
|
||||
|
||||
/* PowerPC has no 'cmplis': compare logical [unsigned] immediate shifted [by 16] */
|
||||
#define hibit r0 /* holds 0x80000000 during decompress */
|
||||
|
||||
#define src a0
|
||||
#define lsrc a1
|
||||
#define dst a2
|
||||
#define ldst a3 /* Out: actually a reference: &len_dst */
|
||||
#define meth a4
|
||||
|
||||
#define off a4
|
||||
#define len a5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
section NRV2E
|
||||
#include "arch/ppc64le/64/nrv2e_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/ppc64le/64/nrv2d_d.S"
|
||||
|
||||
section NRV2B
|
||||
#include "arch/ppc64le/64/nrv2b_d.S"
|
||||
|
||||
#include "arch/ppc64le/64/lzma_d.S"
|
||||
|
||||
section NRV_TAIL
|
||||
eof_nrv:
|
||||
#define dst0 a4
|
||||
#define tmp a1
|
||||
ld dst0,0(ldst) // original dst
|
||||
mtlr t3 // return address
|
||||
subf a0,lsrc,src
|
||||
subf tmp,dst0,dst // -1+ dst length
|
||||
addi a0,a0,1 // return 0: good; else: bad [+1: correct for lbzu]
|
||||
addi tmp,tmp,1 // dst length
|
||||
std tmp,0(ldst)
|
||||
#undef tmp
|
||||
|
||||
// CACHELINE=32 is the observed minimum line size of any cache.
|
||||
// Some caches may have larger lines, but it is cumbersome to lookup
|
||||
// {AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE: /usr/include/elf.h},
|
||||
// then save the correct size in a variable {where to put it?}, or to modify
|
||||
// the two instructions here. If a cache has larger lines, then we expect
|
||||
// that the second dcbst (or icbi) on a the same line will be fast.
|
||||
// If not, then too bad.
|
||||
|
||||
section CFLUSH // In: a2=dst= &highest stored byte; a4=dst0= &lowest stored byte
|
||||
CACHELINE=32
|
||||
ori dst0,dst0,-1+ CACHELINE // highest addr on cache line
|
||||
cfl_nrv:
|
||||
dcbst 0,dst0 // initiate store (modified) cacheline to memory
|
||||
cmpl cr0,dst0,dst // did we cover the highest-addressed byte?
|
||||
icbi 0,dst0 // discard instructions from cacheline
|
||||
addi dst0,dst0,CACHELINE // highest addr on next line
|
||||
blt cr0,cfl_nrv // not done yet
|
||||
#undef dst0
|
||||
sync // wait for all memory operations to finish
|
||||
isync // discard prefetched instructions (if any)
|
||||
cfl_ret:
|
||||
ret
|
||||
|
||||
section ELFMAINY
|
||||
// IDENTSTR goes here
|
||||
|
||||
section ELFMAINZ
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
|
||||
/* Decompress the rest of this loader, and jump to it. */
|
||||
unfold:
|
||||
mflr t0 # -4+ &{ b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...}
|
||||
|
||||
lwz lsrc,4+sz_cpr(t0)
|
||||
mtctr lsrc # length to copy (and decompress)
|
||||
lwz ldst,4+sz_unc(t0)
|
||||
lbz meth,4+b_method(t0)
|
||||
add dst,lsrc,t0
|
||||
addi dst,dst,4+sz_b_info
|
||||
add src,ldst,t0
|
||||
addi src,src,GAP+64 # defend against prefetch and overlap
|
||||
movup: # descending copy moves folded_loader to higher address
|
||||
lbzu r0,-1(dst)
|
||||
stbu r0,-1(src)
|
||||
bdnz+ movup # typical count is about 0x4cb(1227) bytes
|
||||
|
||||
mtctr r31 # &decompress
|
||||
addi dst,t0,GAP # &unfolded result
|
||||
std ldst,-8(sp) # LZMA needs for EOF
|
||||
la ldst,-8(sp) # &sz_result
|
||||
la sp,-6*8(sp) // (sp,cr,pc, xx,yy,zz) save area per calling convention
|
||||
bctr # call decompress: branch to counter register, return to link register
|
||||
|
||||
main:
|
||||
//// teq r0,r0 // debugging
|
||||
mflr r31 # r31= &decompress
|
||||
call unfold
|
||||
L100: GAP= 128 # > farthest_prefetch; must match ../p_mach.cpp
|
||||
b GAP+L100 # 'isync' has trouble on Macintosh G4?
|
||||
/* { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} */
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
136
src/stub/src/ppc64le-darwin.macho-fold.S
Normal file
136
src/stub/src/ppc64le-darwin.macho-fold.S
Normal file
@ -0,0 +1,136 @@
|
||||
/* powerpc-darwin.macho-fold.S -- linkage to C code to process Mach-o binary
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
* Copyright (C) 1996-2013 Laszlo Molnar
|
||||
* Copyright (C) 2000-2013 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
|
||||
* <markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#include "arch/powerpc/32/macros.S"
|
||||
#include "arch/powerpc/32/ppc_regs.h"
|
||||
retaddr = 2*4 // (sp,cr,pc, xx,yy,zz) save area per calling convention
|
||||
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
|
||||
sz_l_info= 12
|
||||
sz_p_info= 12
|
||||
|
||||
/* Mach_ppc_thread_state */
|
||||
srr0 = 0*4
|
||||
srr1 = 1*4
|
||||
reg0 = 2*4
|
||||
|
||||
reg_cr = 34*4
|
||||
reg_xer = 35*4
|
||||
reg_lr = 36*4
|
||||
reg_ctr = 37*4
|
||||
reg_mq = 38*4
|
||||
reg_vrsave = 39*4
|
||||
|
||||
|
||||
_start: .globl _start # ignored, but silence "cannot find entry symbol _start" from ld
|
||||
/* In:
|
||||
r31= &decompress; also 8+ (char *)&(offset to {l_info; p_info; b_info})
|
||||
*/
|
||||
fold_begin:
|
||||
call L90
|
||||
#include "arch/powerpc/32/bxx.S"
|
||||
|
||||
L90:
|
||||
la sp,6*4(sp) // trim save area used by decompressor
|
||||
li a6,0
|
||||
stwu a6,-4(sp) # _push_ default value for dyld
|
||||
movr a6,sp # &mhdrp
|
||||
mflr a5 # &ppcbxx: f_unfilter
|
||||
|
||||
lwz a1,-8(r31) # offset to {l_info; p_info; b_info}
|
||||
subf a0,a1,r31 # &l_info
|
||||
lwz a3,sz_unc+sz_p_info+sz_l_info(a0) # sz_mach_headers
|
||||
cmpli 0,a3,2048; bgt L100; li a3,2048 # at least 2 KiB for /usr/lib/dyld
|
||||
L100:
|
||||
movr r29,sp # remember for restoring later
|
||||
subf sp,a3,sp # alloca
|
||||
movr a2,sp # &temp char[sz_mach_headers]
|
||||
addi sp,sp,-4*6 # linkage area assumed by C code (sp,cr,lr, xx,yy,zz)
|
||||
movr a4,r31 # f_decompress
|
||||
call upx_main # Out: a0= &Mach_ppc_thread_state of dyld
|
||||
|
||||
movr sp,r29 # restore stack pointer
|
||||
lwz t0, srr0(a0); mtctr t0 # entry address
|
||||
/* Next 3 lines probably are not needed, but ... */
|
||||
lwz t0, reg_cr(a0); mtcr t0 # condition code
|
||||
lwz t0,reg_xer(a0); mtxer t0 # extended error reg (CArry, etc.)
|
||||
lwz t0, reg_lr(a0); mtlr t0 # link register
|
||||
|
||||
lmw 4,4*4+reg0(3) # reg 4 thru 31
|
||||
lwz 0,0*4+reg0(3)
|
||||
lwz 2,2*4+reg0(3)
|
||||
lwz 3,3*4+reg0(3)
|
||||
bctr # goto dyld
|
||||
|
||||
SYS_exit =1
|
||||
SYS_fork =2
|
||||
SYS_read =3
|
||||
SYS_write =4
|
||||
SYS_open =5
|
||||
SYS_close =6
|
||||
|
||||
SYS_pread =153
|
||||
SYS_mmap =197
|
||||
SYS_mprotect= 74
|
||||
|
||||
/* SYS_mmap takes a 64-bit off_t, but gcc-3.4.1-20040827 passes long long
|
||||
in wrong registers. So change C interface to use size_t (32-bits) instead
|
||||
of off_t (64 bits), and convert here.
|
||||
*/
|
||||
pread: .globl pread
|
||||
movr a4,a3; li a3,0 # zero extend 4th arg size_t to off_t
|
||||
li 0,SYS_pread; b sysgo
|
||||
mmap: .globl mmap
|
||||
movr a6,a5; li a5,0 # zero extend 6th arg size_t to off_t
|
||||
li 0,SYS_mmap
|
||||
sysgo:
|
||||
sc
|
||||
li a0,-1 # failure return
|
||||
ret
|
||||
|
||||
exit: .globl exit
|
||||
li 0,SYS_exit; b sysgo
|
||||
read: .globl read
|
||||
li 0,SYS_read; b sysgo
|
||||
open: .globl open
|
||||
li 0,SYS_open; b sysgo
|
||||
close: .globl close
|
||||
li 0,SYS_close; b sysgo
|
||||
mprotect: .globl mprotect
|
||||
li 0,SYS_mprotect; b sysgo
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
460
src/stub/src/ppc64le-darwin.macho-main.c
Normal file
460
src/stub/src/ppc64le-darwin.macho-main.c
Normal file
@ -0,0 +1,460 @@
|
||||
/* ppc64le-darwin.macho-main.c -- loader stub for Mach-o PowerPC64LE
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2013 Laszlo Molnar
|
||||
Copyright (C) 2000-2013 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#include "include/darwin.h"
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// configuration section
|
||||
**************************************************************************/
|
||||
|
||||
// In order to make it much easier to move this code at runtime and execute
|
||||
// it at an address different from it load address: there must be no
|
||||
// static data, and no string constants.
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// "file" util
|
||||
**************************************************************************/
|
||||
|
||||
typedef struct {
|
||||
size_t size; // must be first to match size[0] uncompressed size
|
||||
char *buf;
|
||||
} Extent;
|
||||
|
||||
|
||||
static void
|
||||
xread(Extent *x, char *buf, size_t count)
|
||||
{
|
||||
char *p=x->buf, *q=buf;
|
||||
size_t j;
|
||||
if (x->size < count) {
|
||||
exit(127);
|
||||
}
|
||||
for (j = count; 0!=j--; ++p, ++q) {
|
||||
*q = *p;
|
||||
}
|
||||
x->buf += count;
|
||||
x->size -= count;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// util
|
||||
**************************************************************************/
|
||||
|
||||
#if 1 //{ save space
|
||||
#define ERR_LAB error: exit(127);
|
||||
#define err_exit(a) goto error
|
||||
#else //}{ save debugging time
|
||||
#define ERR_LAB /*empty*/
|
||||
static void
|
||||
err_exit(int a)
|
||||
{
|
||||
(void)a; // debugging convenience
|
||||
exit(127);
|
||||
}
|
||||
#endif //}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// UPX & NRV stuff
|
||||
**************************************************************************/
|
||||
|
||||
struct l_info { // 12-byte trailer for loader (after macho headers)
|
||||
unsigned l_checksum;
|
||||
unsigned l_magic; // UPX_MAGIC_LE32
|
||||
unsigned short l_lsize;
|
||||
unsigned char l_version;
|
||||
unsigned char l_format;
|
||||
};
|
||||
struct p_info { // 12-byte packed program header
|
||||
unsigned p_progid;
|
||||
unsigned p_filesize;
|
||||
unsigned p_blocksize;
|
||||
};
|
||||
|
||||
struct b_info { // 12-byte header before each compressed block
|
||||
unsigned sz_unc; // uncompressed_size
|
||||
unsigned sz_cpr; // compressed_size
|
||||
unsigned char b_method; // compression algorithm
|
||||
unsigned char b_ftid; // filter id
|
||||
unsigned char b_cto8; // filter parameter
|
||||
unsigned char b_unused;
|
||||
};
|
||||
|
||||
typedef void f_unfilter(
|
||||
nrv_byte *, // also addvalue
|
||||
nrv_uint,
|
||||
unsigned cto8, // junk in high 24 bits
|
||||
unsigned ftid
|
||||
);
|
||||
typedef int f_expand(
|
||||
const nrv_byte *, nrv_uint,
|
||||
nrv_byte *, nrv_uint *, unsigned );
|
||||
|
||||
static void
|
||||
unpackExtent(
|
||||
Extent *const xi, // input
|
||||
Extent *const xo, // output
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *f_unf
|
||||
)
|
||||
{
|
||||
while (xo->size) {
|
||||
struct b_info h;
|
||||
// Note: if h.sz_unc == h.sz_cpr then the block was not
|
||||
// compressible and is stored in its uncompressed form.
|
||||
|
||||
// Read and check block sizes.
|
||||
xread(xi, (char *)&h, sizeof(h));
|
||||
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);
|
||||
if (xi->size != 0) // all bytes must be written
|
||||
err_exit(3);
|
||||
break;
|
||||
}
|
||||
if (h.sz_cpr <= 0) {
|
||||
err_exit(4);
|
||||
ERR_LAB
|
||||
}
|
||||
if (h.sz_cpr > h.sz_unc
|
||||
|| h.sz_unc > xo->size ) {
|
||||
err_exit(5);
|
||||
}
|
||||
// Now we have:
|
||||
// assert(h.sz_cpr <= h.sz_unc);
|
||||
// assert(h.sz_unc > 0 && h.sz_unc <= blocksize);
|
||||
// assert(h.sz_cpr > 0 && h.sz_cpr <= blocksize);
|
||||
|
||||
if (h.sz_cpr < h.sz_unc) { // Decompress block
|
||||
nrv_uint out_len = h.sz_unc; // EOF for lzma
|
||||
int const j = (*f_decompress)((const unsigned char *)xi->buf, h.sz_cpr,
|
||||
(unsigned char *)xo->buf, &out_len, h.b_method);
|
||||
if (j != 0 || out_len != (nrv_uint)h.sz_unc)
|
||||
err_exit(7);
|
||||
if (h.b_ftid!=0 && f_unf) { // have filter
|
||||
(*f_unf)((unsigned char *)xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
}
|
||||
xi->buf += h.sz_cpr;
|
||||
xi->size -= h.sz_cpr;
|
||||
}
|
||||
else { // copy literal block
|
||||
xread(xi, xo->buf, h.sz_cpr);
|
||||
}
|
||||
xo->buf += h.sz_unc;
|
||||
xo->size -= h.sz_unc;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
upx_bzero(char *p, size_t len)
|
||||
{
|
||||
if (len) do {
|
||||
*p++= 0;
|
||||
} while (--len);
|
||||
}
|
||||
#define bzero upx_bzero
|
||||
|
||||
|
||||
// The PF_* and PROT_* bits are {1,2,4}; the conversion table fits in 32 bits.
|
||||
#define REP8(x) \
|
||||
((x)|((x)<<4)|((x)<<8)|((x)<<12)|((x)<<16)|((x)<<20)|((x)<<24)|((x)<<28))
|
||||
#define EXP8(y) \
|
||||
((1&(y)) ? 0xf0f0f0f0 : (2&(y)) ? 0xff00ff00 : (4&(y)) ? 0xffff0000 : 0)
|
||||
#define PF_TO_PROT(pf) \
|
||||
((PROT_READ|PROT_WRITE|PROT_EXEC) & ( \
|
||||
( (REP8(PROT_EXEC ) & EXP8(PF_X)) \
|
||||
|(REP8(PROT_READ ) & EXP8(PF_R)) \
|
||||
|(REP8(PROT_WRITE) & EXP8(PF_W)) \
|
||||
) >> ((pf & (PF_R|PF_W|PF_X))<<2) ))
|
||||
|
||||
typedef struct {
|
||||
unsigned magic;
|
||||
unsigned nfat_arch;
|
||||
} Fat_header;
|
||||
typedef struct {
|
||||
unsigned cputype;
|
||||
unsigned cpusubtype;
|
||||
unsigned offset;
|
||||
unsigned size;
|
||||
unsigned align; /* power of 2 */
|
||||
} Fat_arch;
|
||||
enum e8 {
|
||||
FAT_MAGIC = 0xcafebabe
|
||||
};
|
||||
enum e9 {
|
||||
CPU_TYPE_I386 = 7,
|
||||
CPU_TYPE_POWERPC = 0x00000012,
|
||||
CPU_TYPE_POWERPC64 = 0x01000012
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned magic;
|
||||
unsigned cputype;
|
||||
unsigned cpysubtype;
|
||||
unsigned filetype;
|
||||
unsigned ncmds;
|
||||
unsigned sizeofcmds;
|
||||
unsigned flags;
|
||||
} Mach_header;
|
||||
enum e0 {
|
||||
MH_MAGIC = 0xfeedface
|
||||
};
|
||||
enum e2 {
|
||||
MH_EXECUTE = 2
|
||||
};
|
||||
enum e3 {
|
||||
MH_NOUNDEFS = 1
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned cmd;
|
||||
unsigned cmdsize;
|
||||
} Mach_load_command;
|
||||
enum e4 {
|
||||
LC_SEGMENT = 0x1,
|
||||
LC_THREAD = 0x4,
|
||||
LC_UNIXTHREAD = 0x5,
|
||||
LC_LOAD_DYLINKER = 0xe
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned cmd;
|
||||
unsigned cmdsize;
|
||||
char segname[16];
|
||||
unsigned vmaddr;
|
||||
unsigned vmsize;
|
||||
unsigned fileoff;
|
||||
unsigned filesize;
|
||||
unsigned maxprot;
|
||||
unsigned initprot;
|
||||
unsigned nsects;
|
||||
unsigned flags;
|
||||
} Mach_segment_command;
|
||||
enum e5 {
|
||||
VM_PROT_READ = 1,
|
||||
VM_PROT_WRITE = 2,
|
||||
VM_PROT_EXECUTE = 4
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned srr0; /* Instruction address register (PC; entry addr) */
|
||||
unsigned srr1; /* Machine state register (supervisor) */
|
||||
unsigned r0, r1, r2, r3, r4, r5, r6, r7;
|
||||
unsigned r8, r9,r10,r11,r12,r13,r14,r15;
|
||||
unsigned r16,r17,r18,r19,r20,r21,r22,r23;
|
||||
unsigned r24,r25,r26,r27,r28,r29,r30,r31;
|
||||
|
||||
unsigned cr; /* Condition register */
|
||||
unsigned xer; /* User's integer exception register */
|
||||
unsigned lr; /* Link register */
|
||||
unsigned ctr; /* Count register */
|
||||
unsigned mq; /* MQ register (601 only) */
|
||||
|
||||
unsigned vrsave; /* Vector Save Register */
|
||||
} Mach_ppcle_thread_state64;
|
||||
|
||||
typedef struct {
|
||||
unsigned cmd; /* LC_THREAD or LC_UNIXTHREAD */
|
||||
unsigned cmdsize; /* total size of this command */
|
||||
unsigned flavor;
|
||||
unsigned count; /* sizeof(following_thread_state)/4 */
|
||||
Mach_ppcle_thread_state64 state;
|
||||
} Mach_thread_command;
|
||||
enum e6 {
|
||||
PPC_THREAD_STATE = 1
|
||||
};
|
||||
enum e7 {
|
||||
PPC_THREAD_STATE_COUNT = sizeof(Mach_ppcle_thread_state64)/4
|
||||
};
|
||||
|
||||
typedef union {
|
||||
unsigned long offset; /* from start of load command to string */
|
||||
char *ptr;
|
||||
} Mach_lc_str;
|
||||
|
||||
#define MAP_FIXED 0x10
|
||||
#define MAP_PRIVATE 0x02
|
||||
#define MAP_ANON 0x1000
|
||||
#define PROT_READ 1
|
||||
#define PROT_WRITE 2
|
||||
#define PROT_EXEC 4
|
||||
|
||||
/* bug in crosstool/powerpc-750-linux-gnu/gcc-3.4.1-glibc-20040827:
|
||||
unsigned long long off_t goes into registers (9,10) instead of (8,9).
|
||||
Adjust in mmap(), pread(), and include/darwin.h .
|
||||
*/
|
||||
extern char *mmap(char *, size_t, unsigned, unsigned, int, off_t);
|
||||
ssize_t pread(int, void *, size_t, off_t);
|
||||
|
||||
static Mach_ppcle_thread_state64 const *
|
||||
do_xmap(
|
||||
Mach_header const *const mhdr,
|
||||
off_t const fat_offset,
|
||||
Extent *const xi,
|
||||
int const fdi,
|
||||
Mach_header **mhdrpp,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf
|
||||
)
|
||||
{
|
||||
Mach_segment_command const *sc = (Mach_segment_command const *)(1+ mhdr);
|
||||
Mach_ppcle_thread_state64 const *entry = 0;
|
||||
unsigned j;
|
||||
|
||||
for ( j=0; j < mhdr->ncmds; ++j,
|
||||
(sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc))
|
||||
) if (LC_SEGMENT==sc->cmd) {
|
||||
Extent xo;
|
||||
size_t mlen = xo.size = sc->filesize;
|
||||
char *addr = xo.buf = (char *)(long)sc->vmaddr;
|
||||
char *haddr = sc->vmsize + addr;
|
||||
size_t frag = (long)addr &~ PAGE_MASK;
|
||||
addr -= frag;
|
||||
mlen += frag;
|
||||
|
||||
if (0!=mlen && addr != mmap(addr, mlen, VM_PROT_READ | VM_PROT_WRITE,
|
||||
MAP_FIXED | MAP_PRIVATE |
|
||||
((xi || 0==sc->filesize) ? MAP_ANON : 0),
|
||||
((0==sc->filesize) ? -1 : fdi), sc->fileoff + fat_offset) ) {
|
||||
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 (addr != mmap(addr, haddr - addr, sc->initprot,
|
||||
MAP_FIXED | MAP_PRIVATE | MAP_ANON, -1, 0 ) ) {
|
||||
err_exit(9);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (LC_UNIXTHREAD==sc->cmd || LC_THREAD==sc->cmd) {
|
||||
Mach_thread_command const *const thrc = (Mach_thread_command const *)sc;
|
||||
if (PPC_THREAD_STATE ==thrc->flavor
|
||||
&& PPC_THREAD_STATE_COUNT==thrc->count ) {
|
||||
entry = &thrc->state;
|
||||
}
|
||||
}
|
||||
return entry;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// upx_main - called by our entry code
|
||||
//
|
||||
**************************************************************************/
|
||||
|
||||
Mach_ppcle_thread_state64 const *
|
||||
upx_main(
|
||||
struct l_info const *const li,
|
||||
size_t volatile sz_compressed, // total length
|
||||
Mach_header *const mhdr, // temp char[sz_mhdr] for decompressing
|
||||
size_t const sz_mhdr,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf,
|
||||
Mach_header **const mhdrpp // Out: *mhdrpp= &real Mach_header
|
||||
)
|
||||
{
|
||||
Mach_ppcle_thread_state64 const *entry;
|
||||
off_t fat_offset = 0;
|
||||
Extent xi, xo, xi0;
|
||||
xi.buf = CONST_CAST(char *, 1+ (struct p_info const *)(1+ li)); // &b_info
|
||||
xi.size = sz_compressed - (sizeof(struct l_info) + sizeof(struct p_info));
|
||||
xo.buf = (char *)mhdr;
|
||||
xo.size = ((struct b_info const *)xi.buf)->sz_unc;
|
||||
xi0 = xi;
|
||||
|
||||
// Uncompress Macho headers
|
||||
unpackExtent(&xi, &xo, f_decompress, 0); // never filtered?
|
||||
|
||||
entry = do_xmap(mhdr, fat_offset, &xi0, -1, mhdrpp, f_decompress, f_unf);
|
||||
|
||||
{ // Map dyld dynamic loader
|
||||
Mach_load_command const *lc = (Mach_load_command const *)(1+ mhdr);
|
||||
unsigned j;
|
||||
|
||||
for (j=0; j < mhdr->ncmds; ++j,
|
||||
(lc = (Mach_load_command const *)(lc->cmdsize + (char const *)lc))
|
||||
) if (LC_LOAD_DYLINKER==lc->cmd) {
|
||||
char const *const dyld_name = ((Mach_lc_str const *)(1+ lc))->offset +
|
||||
(char const *)lc;
|
||||
int const fdi = open(dyld_name, O_RDONLY, 0);
|
||||
if (0 > fdi) {
|
||||
err_exit(18);
|
||||
}
|
||||
fat:
|
||||
if ((ssize_t)sz_mhdr!=pread(fdi, (void *)mhdr, sz_mhdr, fat_offset)) {
|
||||
ERR_LAB
|
||||
err_exit(19);
|
||||
}
|
||||
switch (mhdr->magic) {
|
||||
case MH_MAGIC: break;
|
||||
case FAT_MAGIC: {
|
||||
// stupid Apple: waste code and a page fault on EVERY execve
|
||||
Fat_header const *const fh = (Fat_header const *)mhdr;
|
||||
Fat_arch const *fa = (Fat_arch const *)(1+ fh);
|
||||
for (j= 0; j < fh->nfat_arch; ++j, ++fa) {
|
||||
if (CPU_TYPE_POWERPC==fa->cputype) {
|
||||
fat_offset= fa->offset;
|
||||
goto fat;
|
||||
}
|
||||
}
|
||||
} break;
|
||||
} // switch
|
||||
entry = do_xmap(mhdr, fat_offset, 0, fdi, 0, 0, 0);
|
||||
close(fdi);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return entry;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
vi:ts=4:et:nowrap
|
||||
*/
|
||||
|
||||
229
src/stub/src/ppc64le-linux.elf-entry.S
Normal file
229
src/stub/src/ppc64le-linux.elf-entry.S
Normal file
@ -0,0 +1,229 @@
|
||||
/* ppc64le-linux.elf-entry.S -- Linux program entry point & decompressor (Elf binary)
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
* Copyright (C) 1996-2013 Laszlo Molnar
|
||||
* Copyright (C) 2000-2013 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
|
||||
* <markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#include "arch/ppc64le/64/macros.S"
|
||||
#include "arch/ppc64le/64/ppc_regs.h"
|
||||
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
|
||||
PROT_READ= 1
|
||||
PROT_WRITE= 2
|
||||
PROT_EXEC= 4
|
||||
|
||||
MAP_PRIVATE= 2
|
||||
MAP_FIXED= 0x10
|
||||
MAP_ANONYMOUS= 0x20
|
||||
|
||||
PAGE_SHIFT= 16
|
||||
PAGE_SIZE = -(~0<<PAGE_SHIFT)
|
||||
|
||||
/* /usr/include/asm-ppc/unistd.h */
|
||||
__NR_write = 4
|
||||
__NR_exit = 1
|
||||
__NR_mmap = 90
|
||||
|
||||
section ELFMAINX
|
||||
_start: .globl _start
|
||||
call main // must be exactly 1 instruction; link_register= &decompress
|
||||
|
||||
/* Returns 0 on success; non-zero on failure. */
|
||||
decompress: // (uchar const *src, size_t lsrc, uchar *dst, size_t &ldst, uint method)
|
||||
|
||||
section NRV_HEAD
|
||||
SZ_DLINE=128 # size of data cache line in Apple G5
|
||||
|
||||
/* PowerPC has no 'cmplis': compare logical [unsigned] immediate shifted [by 16] */
|
||||
#define hibit r0 /* holds 0x80000000 during decompress */
|
||||
|
||||
#define src a0
|
||||
#define lsrc a1
|
||||
#define dst a2
|
||||
#define ldst a3 /* Out: actually a reference: &len_dst */
|
||||
#define meth a4
|
||||
|
||||
#define off a4
|
||||
#define len a5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
section NRV2E
|
||||
#include "arch/ppc64le/64/nrv2e_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/ppc64le/64/nrv2d_d.S"
|
||||
|
||||
section NRV2B
|
||||
#include "arch/ppc64le/64/nrv2b_d.S"
|
||||
|
||||
#include "arch/ppc64le/64/lzma_d.S"
|
||||
|
||||
section NRV_TAIL
|
||||
eof_nrv:
|
||||
#define dst0 a4
|
||||
#define tmp a1
|
||||
ld dst0,0(ldst) // original dst
|
||||
mtlr t3 // return address
|
||||
subf a0,lsrc,src
|
||||
subf tmp,dst0,dst // -1+ dst length
|
||||
addi a0,a0,1 // return 0: good; else: bad [+1: correct for lbzu]
|
||||
addi tmp,tmp,1 // dst length
|
||||
std tmp,0(ldst)
|
||||
#undef tmp
|
||||
|
||||
// CACHELINE=32 is the observed minimum line size of any cache.
|
||||
// Some caches may have larger lines, but it is cumbersome to lookup
|
||||
// {AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE: /usr/include/elf.h},
|
||||
// then save the correct size in a variable {where to put it?}, or to modify
|
||||
// the two instructions here. If a cache has larger lines, then we expect
|
||||
// that the second dcbst (or icbi) on a the same line will be fast.
|
||||
// If not, then too bad.
|
||||
|
||||
section CFLUSH // In: a2=dst= &highest stored byte; a4=dst0= &lowest stored byte
|
||||
CACHELINE=32
|
||||
ori dst0,dst0,-1+ CACHELINE // highest addr on cache line
|
||||
cfl_nrv:
|
||||
dcbst 0,dst0 // initiate store (modified) cacheline to memory
|
||||
cmpl cr0,dst0,dst // did we cover the highest-addressed byte?
|
||||
icbi 0,dst0 // discard instructions from cacheline
|
||||
addi dst0,dst0,CACHELINE // highest addr on next line
|
||||
blt cr0,cfl_nrv // not done yet
|
||||
#undef dst0
|
||||
sync // wait for all memory operations to finish
|
||||
isync // discard prefetched instructions (if any)
|
||||
cfl_ret:
|
||||
ret
|
||||
|
||||
section ELFMAINY
|
||||
msg_SELinux:
|
||||
call L72
|
||||
L70:
|
||||
.asciz "PROT_EXEC|PROT_WRITE failed.\n"
|
||||
L71:
|
||||
// IDENTSTR goes here
|
||||
|
||||
section ELFMAINZ
|
||||
L72:
|
||||
li a2,L71 - L70 // length
|
||||
mflr a1 // message text
|
||||
li a0,2 // fd stderr
|
||||
li 0,__NR_write; sc
|
||||
die:
|
||||
li a0,127
|
||||
li 0,__NR_exit; sc
|
||||
|
||||
/* Decompress the rest of this loader, and jump to it. */
|
||||
unfold:
|
||||
mflr r30 // &{ b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...}
|
||||
|
||||
li a5,0 // off_t
|
||||
li a4,-1 // fd; cater to *BSD for MAP_ANON
|
||||
lwz a0,sz_cpr(r30) // size < 1 Page
|
||||
li a3,MAP_PRIVATE | MAP_FIXED | MAP_ANONYMOUS
|
||||
li a2,PROT_READ | PROT_WRITE | PROT_EXEC
|
||||
// li a1,PAGE_SIZE
|
||||
lis a1,1
|
||||
add a0,a0,r30
|
||||
li 0,__NR_mmap
|
||||
// addi a0,a0,sz_b_info+PAGE_SIZE-1
|
||||
addi a0,a0,sz_b_info-1
|
||||
add a0,a0,a1
|
||||
rlwinm a0,a0,0,0,31-PAGE_SHIFT // next page boundary after fold
|
||||
sc; bso- msg_SELinux // Branch if SummaryOverflow (failure)
|
||||
0:
|
||||
mtctr r31
|
||||
lwz r0,sz_unc(r30) // size uncompressed
|
||||
lbz meth,b_method(r30)
|
||||
la ldst,31*8(sp) // &slot on stack
|
||||
std r0,31*8(sp) // lzma uses for EOF
|
||||
mr dst,a0
|
||||
mtlr a0 // &continuation
|
||||
lwz lsrc,sz_cpr(r30) // size of compressed
|
||||
addi src,r30,sz_b_info
|
||||
la sp,-6*8(sp) // (sp,pc,cr, xx,yy,zz) save area per calling convention
|
||||
bctr // goto decomrpess; return to link register (mmap'ed page)
|
||||
|
||||
// Example code at entrypoint of C-language subroutine:
|
||||
// mflr r0 # r0= return address
|
||||
// stwu sp,-96(sp) # allocate local frame; chain to previous frame
|
||||
// stmw r14,24(sp) # save 18 regs r14,r15,...,r31; 4*18 == (96 - 24)
|
||||
// stw r0,100(sp) # save return address into caller's frame (100 >= 96)
|
||||
// Example code at exit:
|
||||
// lwz r0,100(sp) # r0= return address
|
||||
// lmw r14,24(sp) # restore 18 regs r14,r15,...,r31
|
||||
// mtlr r0 # prepare for indirect jump
|
||||
// addi sp,sp,96 # de-allocate local frame
|
||||
// blr # goto return address
|
||||
|
||||
main:
|
||||
//// teq r0,r0 // debugging
|
||||
stdu r1,-32*8(sp) // allocate space (keeping 0 mod 16), save r1
|
||||
// stm r2,8(sp) // save registers r2 thru r31 - 32bits save
|
||||
std 2,2*8-8(sp)
|
||||
std 3,3*8-8(sp)
|
||||
std 4,4*8-8(sp)
|
||||
std 5,5*8-8(sp)
|
||||
std 6,6*8-8(sp)
|
||||
std 7,7*8-8(sp)
|
||||
std 8,8*8-8(sp)
|
||||
std 9,9*8-8(sp)
|
||||
std 10,10*8-8(sp)
|
||||
std 11,11*8-8(sp)
|
||||
std 12,12*8-8(sp)
|
||||
std 13,13*8-8(sp)
|
||||
std 14,14*8-8(sp)
|
||||
std 15,15*8-8(sp)
|
||||
std 16,16*8-8(sp)
|
||||
std 17,17*8-8(sp)
|
||||
std 18,18*8-8(sp)
|
||||
std 19,19*8-8(sp)
|
||||
std 20,20*8-8(sp)
|
||||
std 21,21*8-8(sp)
|
||||
std 22,22*8-8(sp)
|
||||
std 23,23*8-8(sp)
|
||||
std 24,24*8-8(sp)
|
||||
std 25,25*8-8(sp)
|
||||
std 26,26*8-8(sp)
|
||||
std 27,27*8-8(sp)
|
||||
std 28,28*8-8(sp)
|
||||
std 29,29*8-8(sp)
|
||||
std 30,30*8-8(sp)
|
||||
std 31,31*8-8(sp)
|
||||
mflr r31 // &decompress
|
||||
call unfold
|
||||
/* { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} */
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
203
src/stub/src/ppc64le-linux.elf-fold.S
Normal file
203
src/stub/src/ppc64le-linux.elf-fold.S
Normal file
@ -0,0 +1,203 @@
|
||||
/* ppc64le-linux.elf-fold.S -- linkage to C code to process ELF binary
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
* Copyright (C) 1996-2013 Laszlo Molnar
|
||||
* Copyright (C) 2000-2013 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
|
||||
* <markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#include "arch/ppc64le/64/macros.S"
|
||||
#include "arch/ppc64le/64/ppc_regs.h"
|
||||
|
||||
#define szElf64_Ehdr 0x40
|
||||
#define szElf64_Phdr 0x38
|
||||
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
|
||||
sz_l_info= 12
|
||||
sz_p_info= 12
|
||||
|
||||
OVERHEAD= 2048
|
||||
LINKAREA= 6*8 // (sp,pc,cr, xx,yy.zz) save area per calling convention
|
||||
/* In:
|
||||
r31= &decompress; also 8+ (char *)&(#bytes which preceed &-8(r31)
|
||||
*/
|
||||
fold_begin:
|
||||
call L90
|
||||
#include "arch/ppc64le/64/bxx.S"
|
||||
|
||||
/* The SysV convention for argument registers after execve is nice:
|
||||
a0= argc
|
||||
a1= argv
|
||||
a2= envp
|
||||
a3= auxvp
|
||||
a4= fini
|
||||
sp= ~0xf & (-2*4 + (void *)&argc) // 0(sp): old_sp, pc
|
||||
Instead, Linux gives only
|
||||
sp= &{argc,argv...,0,env...,0,auxv...,strings} // 16-byte aligned?
|
||||
We must figure out the rest, particularly auxvp.
|
||||
*/
|
||||
zfind:
|
||||
ld t0,0(a6) // parameters are 16byte aligned
|
||||
addi a6,a6,8
|
||||
cmpi cr7,t0,0; bne+ cr7,zfind
|
||||
ret
|
||||
L90:
|
||||
la sp,LINKAREA(sp) // trim save area used by decompressor
|
||||
mflr a5 // &ppcbxx: f_unfilter
|
||||
ld a6,0(sp) // sp at execve
|
||||
call zfind // a6= &env
|
||||
call zfind // a6= &Elf64_auxv
|
||||
lwz a1,-8(r31) // #bytes which preceed -8(r31)
|
||||
rlwinm r30,a5,0,0,31-12 // r30= &this_page
|
||||
mr a4,r31 // &decompress: f_expand
|
||||
subf r29,a1,r31 // 8+ (char *)&our_Elf64_Ehdr
|
||||
la a2,-OVERHEAD(sp) // &Elf64_Ehdr temporary space
|
||||
addi r29,r29,-8 // &our_Elf64_Ehdr
|
||||
addi a1,a1,-(szElf64_Ehdr + 2*szElf64_Phdr)
|
||||
addi a0,r29,(szElf64_Ehdr + 2*szElf64_Phdr) // &{l_info; p_info; b_info}
|
||||
addi sp,sp,-(LINKAREA+OVERHEAD)
|
||||
lwz a3,sz_unc+sz_p_info+sz_l_info(a0) // sz_elf_headers
|
||||
call upx_main // Out: a0= entry
|
||||
/* entry= upx_main(l_info *a0, total_size a1, Elf64_Ehdr *a2, sz_ehdr a3,
|
||||
f_decomp a4, f_unf a5, Elf64_auxv_t *a6)
|
||||
*/
|
||||
mr r31,a0 // save &entry
|
||||
|
||||
mr a0,r29 // &our_Elf64_Ehdr
|
||||
subf a1,r29,r30 // size
|
||||
call munmap // unmap compressed program; /proc/self/exe disappears
|
||||
|
||||
mtlr r31 // entry address
|
||||
// lmw r2,4+LINKAREA+OVERHEAD(sp) // restore registers r2 thru r31 32bits load
|
||||
ld 2,2*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 3,3*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 4,4*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 5,5*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 6,6*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 7,7*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 8,8*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 9,9*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 10,10*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 11,11*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 12,12*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 13,13*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 14,14*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 15,15*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 16,16*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 17,17*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 18,18*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 19,19*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 20,20*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 21,21*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 22,22*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 23,23*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 24,24*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 25,25*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 26,26*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 27,27*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 28,28*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 29,29*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 30,30*8-8+LINKAREA+OVERHEAD(sp)
|
||||
ld 31,31*8-8+LINKAREA+OVERHEAD(sp)
|
||||
|
||||
ld r1,LINKAREA+OVERHEAD(sp) // restore r1; deallocate space
|
||||
/*
|
||||
ld 2,2*8-8(r1)
|
||||
ld 3,3*8-8(r1)
|
||||
ld 4,4*8-8(r1)
|
||||
ld 5,5*8-8(r1)
|
||||
ld 6,6*8-8(r1)
|
||||
ld 7,7*8-8(r1)
|
||||
ld 8,8*8-8(r1)
|
||||
ld 9,9*8-8(r1)
|
||||
ld 10,10*8-8(r1)
|
||||
ld 11,11*8-8(r1)
|
||||
ld 12,12*8-8(r1)
|
||||
ld 13,13*8-8(r1)
|
||||
ld 14,14*8-8(r1)
|
||||
ld 15,15*8-8(r1)
|
||||
ld 16,16*8-8(r1)
|
||||
ld 17,17*8-8(r1)
|
||||
ld 18,18*8-8(r1)
|
||||
ld 19,19*8-8(r1)
|
||||
ld 20,20*8-8(r1)
|
||||
ld 21,21*8-8(r1)
|
||||
ld 22,22*8-8(r1)
|
||||
ld 23,23*8-8(r1)
|
||||
ld 24,24*8-8(r1)
|
||||
ld 25,25*8-8(r1)
|
||||
ld 26,26*8-8(r1)
|
||||
ld 27,27*8-8(r1)
|
||||
ld 28,28*8-8(r1)
|
||||
ld 29,29*8-8(r1)
|
||||
ld 30,30*8-8(r1)
|
||||
ld 31,31*8-8(r1)
|
||||
*/
|
||||
ret // enter /lib/ld.so.1
|
||||
|
||||
SYS_exit= 1
|
||||
SYS_fork= 2
|
||||
SYS_read= 3
|
||||
SYS_write= 4
|
||||
SYS_open= 5
|
||||
SYS_close= 6
|
||||
|
||||
SYS_brk= 45
|
||||
SYS_mmap= 90
|
||||
SYS_munmap= 91
|
||||
SYS_mprotect= 125
|
||||
|
||||
mmap: .globl mmap
|
||||
li 0,SYS_mmap
|
||||
sysgo:
|
||||
sc
|
||||
bns+ no_fail // 'bns': branch if No Summary[Overflow]
|
||||
li a0,-1 // failure; IGNORE errno
|
||||
no_fail:
|
||||
ret
|
||||
|
||||
exit: .globl exit
|
||||
li 0,SYS_exit; b sysgo
|
||||
read: .globl read
|
||||
li 0,SYS_read; b sysgo
|
||||
open: .globl open
|
||||
li 0,SYS_open; b sysgo
|
||||
close: .globl close
|
||||
li 0,SYS_close; b sysgo
|
||||
mprotect: .globl mprotect
|
||||
li 0,SYS_mprotect; b sysgo
|
||||
munmap: .globl munmap
|
||||
li 0,SYS_munmap; b sysgo
|
||||
brk: .globl brk
|
||||
li 0,SYS_brk; b sysgo
|
||||
|
||||
/*
|
||||
vi:ts=8:et:nowrap
|
||||
*/
|
||||
|
||||
48
src/stub/src/ppc64le-linux.elf-fold.lds
Normal file
48
src/stub/src/ppc64le-linux.elf-fold.lds
Normal file
@ -0,0 +1,48 @@
|
||||
/* ppc64le-linux.elf-fold.lds --
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 2000-2013 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
OUTPUT_FORMAT("elf64-powerpcle", "elf64-powerpcle", "elf64-powerpcle")
|
||||
OUTPUT_ARCH(powerpc:common64)
|
||||
/*ENTRY(_start)*/
|
||||
PHDRS
|
||||
{
|
||||
text PT_LOAD FILEHDR PHDRS ;
|
||||
data PT_LOAD ; /* for setting brk(0) */
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
|
||||
.text : {
|
||||
*(.text)
|
||||
*(.data)
|
||||
} : text
|
||||
.data : {
|
||||
} : data
|
||||
}
|
||||
355
src/stub/src/ppc64le-linux.elf-main.c
Normal file
355
src/stub/src/ppc64le-linux.elf-main.c
Normal file
@ -0,0 +1,355 @@
|
||||
/* ppc64le-linux.elf-main.c -- stub loader for Linux ELF PowerPC64LE xecutable
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2013 Laszlo Molnar
|
||||
Copyright (C) 2000-2013 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
|
||||
<markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#include "include/linux.h"
|
||||
|
||||
/*************************************************************************
|
||||
// configuration section
|
||||
**************************************************************************/
|
||||
|
||||
// In order to make it much easier to move this code at runtime and execute
|
||||
// it at an address different from it load address: there must be no
|
||||
// static data, and no string constants.
|
||||
|
||||
#define MAX_ELF_HDR 1024 // Elf64_Ehdr + n*Elf64_Phdr must fit in this
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// "file" util
|
||||
**************************************************************************/
|
||||
|
||||
typedef struct {
|
||||
size_t size; // must be first to match size[0] uncompressed size
|
||||
char *buf;
|
||||
} Extent;
|
||||
|
||||
|
||||
static void
|
||||
xread(Extent *x, char *buf, size_t count)
|
||||
{
|
||||
char *p=x->buf, *q=buf;
|
||||
size_t j;
|
||||
if (x->size < count) {
|
||||
exit(127);
|
||||
}
|
||||
for (j = count; 0!=j--; ++p, ++q) {
|
||||
*q = *p;
|
||||
}
|
||||
x->buf += count;
|
||||
x->size -= count;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// util
|
||||
**************************************************************************/
|
||||
|
||||
#if 1 //{ save space
|
||||
#define ERR_LAB error: exit(127);
|
||||
#define err_exit(a) goto error
|
||||
#else //}{ save debugging time
|
||||
#define ERR_LAB /*empty*/
|
||||
static void
|
||||
err_exit(int a)
|
||||
{
|
||||
(void)a; // debugging convenience
|
||||
exit(127);
|
||||
}
|
||||
#endif //}
|
||||
|
||||
/*************************************************************************
|
||||
// UPX & NRV stuff
|
||||
**************************************************************************/
|
||||
|
||||
typedef void f_unfilter(
|
||||
nrv_byte *, // also addvalue
|
||||
nrv_uint,
|
||||
unsigned cto8, // junk in high 24 bits
|
||||
unsigned ftid
|
||||
);
|
||||
typedef int f_expand(
|
||||
const nrv_byte *, nrv_uint,
|
||||
nrv_byte *, nrv_uint *, unsigned );
|
||||
|
||||
static void
|
||||
unpackExtent(
|
||||
Extent *const xi, // input
|
||||
Extent *const xo, // output
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *f_unf
|
||||
)
|
||||
{
|
||||
while (xo->size) {
|
||||
struct b_info h;
|
||||
// Note: if h.sz_unc == h.sz_cpr then the block was not
|
||||
// compressible and is stored in its uncompressed form.
|
||||
|
||||
// Read and check block sizes.
|
||||
xread(xi, (char *)&h, sizeof(h));
|
||||
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);
|
||||
if (xi->size != 0) // all bytes must be written
|
||||
err_exit(3);
|
||||
break;
|
||||
}
|
||||
if (h.sz_cpr <= 0) {
|
||||
err_exit(4);
|
||||
ERR_LAB
|
||||
}
|
||||
if (h.sz_cpr > h.sz_unc
|
||||
|| h.sz_unc > xo->size ) {
|
||||
err_exit(5);
|
||||
}
|
||||
// Now we have:
|
||||
// assert(h.sz_cpr <= h.sz_unc);
|
||||
// assert(h.sz_unc > 0 && h.sz_unc <= blocksize);
|
||||
// assert(h.sz_cpr > 0 && h.sz_cpr <= blocksize);
|
||||
|
||||
if (h.sz_cpr < h.sz_unc) { // Decompress block
|
||||
nrv_uint out_len = h.sz_unc; // EOF for lzma
|
||||
int const j = (*f_decompress)((const unsigned char *)xi->buf, h.sz_cpr,
|
||||
(unsigned char *)xo->buf, &out_len, h.b_method);
|
||||
if (j != 0 || out_len != (nrv_uint)h.sz_unc)
|
||||
err_exit(7);
|
||||
if (h.b_ftid!=0 && f_unf) { // have filter
|
||||
(*f_unf)((unsigned char *)xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
}
|
||||
xi->buf += h.sz_cpr;
|
||||
xi->size -= h.sz_cpr;
|
||||
}
|
||||
else { // copy literal block
|
||||
xread(xi, xo->buf, h.sz_cpr);
|
||||
}
|
||||
xo->buf += h.sz_unc;
|
||||
xo->size -= h.sz_unc;
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void
|
||||
upx_bzero(char *p, size_t len)
|
||||
{
|
||||
if (len) do {
|
||||
*p++= 0;
|
||||
} while (--len);
|
||||
}
|
||||
#define bzero upx_bzero
|
||||
#endif
|
||||
|
||||
|
||||
static void
|
||||
auxv_up(Elf64_auxv_t *av, unsigned type, unsigned const value)
|
||||
{
|
||||
if (av)
|
||||
for (;; ++av) {
|
||||
if (av->a_type==type || (av->a_type==AT_IGNORE && type!=AT_NULL)) {
|
||||
av->a_type = type;
|
||||
av->a_un.a_val = value;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// The PF_* and PROT_* bits are {1,2,4}; the conversion table fits in 32 bits.
|
||||
#define REP8(x) \
|
||||
((x)|((x)<<4)|((x)<<8)|((x)<<12)|((x)<<16)|((x)<<20)|((x)<<24)|((x)<<28))
|
||||
#define EXP8(y) \
|
||||
((1&(y)) ? 0xf0f0f0f0 : (2&(y)) ? 0xff00ff00 : (4&(y)) ? 0xffff0000 : 0)
|
||||
#define PF_TO_PROT(pf) \
|
||||
((PROT_READ|PROT_WRITE|PROT_EXEC) & ( \
|
||||
( (REP8(PROT_EXEC ) & EXP8(PF_X)) \
|
||||
|(REP8(PROT_READ ) & EXP8(PF_R)) \
|
||||
|(REP8(PROT_WRITE) & EXP8(PF_W)) \
|
||||
) >> ((pf & (PF_R|PF_W|PF_X))<<2) ))
|
||||
|
||||
|
||||
// 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 unsigned long // returns relocation constant
|
||||
xfind_pages(unsigned mflags, Elf64_Phdr const *phdr, int phnum,
|
||||
char **const p_brk
|
||||
)
|
||||
{
|
||||
size_t lo= ~0, hi= 0, szlo= 0;
|
||||
char *addr;
|
||||
mflags += MAP_PRIVATE | MAP_ANONYMOUS | MAP_DENYWRITE; // '+' can optimize better than '|'
|
||||
for (; --phnum>=0; ++phdr) if (PT_LOAD==phdr->p_type) {
|
||||
if (phdr->p_vaddr < lo) {
|
||||
lo = phdr->p_vaddr;
|
||||
szlo = phdr->p_filesz;
|
||||
}
|
||||
if (hi < (phdr->p_memsz + phdr->p_vaddr)) {
|
||||
hi = phdr->p_memsz + phdr->p_vaddr;
|
||||
}
|
||||
}
|
||||
szlo += ~PAGE_MASK & lo; // page fragment on lo edge
|
||||
lo -= ~PAGE_MASK & lo; // round down to page boundary
|
||||
hi = PAGE_MASK & (hi - lo - PAGE_MASK -1); // page length
|
||||
szlo = PAGE_MASK & (szlo - PAGE_MASK -1); // page length
|
||||
addr = mmap((void *)lo, hi, PROT_NONE, mflags, -1, 0);
|
||||
*p_brk = hi + addr; // the logical value of brk(0)
|
||||
//mprotect(szlo + addr, hi - szlo, PROT_NONE); // but keep the frames!
|
||||
return (unsigned long)addr - lo;
|
||||
}
|
||||
|
||||
static Elf64_Addr // entry address
|
||||
do_xmap(
|
||||
Elf64_Ehdr const *const ehdr,
|
||||
Extent *const xi,
|
||||
int const fdi,
|
||||
Elf64_auxv_t *const av,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf
|
||||
)
|
||||
{
|
||||
Elf64_Phdr const *phdr = (Elf64_Phdr const *) (ehdr->e_phoff +
|
||||
(char const *)ehdr);
|
||||
char *v_brk;
|
||||
unsigned long const reloc = xfind_pages(
|
||||
((ET_DYN!=ehdr->e_type) ? MAP_FIXED : 0), phdr, ehdr->e_phnum, &v_brk);
|
||||
int j;
|
||||
for (j=0; j < ehdr->e_phnum; ++phdr, ++j)
|
||||
if (xi && PT_PHDR==phdr->p_type) {
|
||||
auxv_up(av, AT_PHDR, phdr->p_vaddr + reloc);
|
||||
} else
|
||||
if (PT_LOAD==phdr->p_type) {
|
||||
unsigned const prot = PF_TO_PROT(phdr->p_flags);
|
||||
Extent xo;
|
||||
size_t mlen = xo.size = phdr->p_filesz;
|
||||
char *addr = xo.buf = (char *)phdr->p_vaddr;
|
||||
char *haddr = phdr->p_memsz + addr;
|
||||
size_t frag = (long)addr &~ PAGE_MASK;
|
||||
mlen += frag;
|
||||
addr -= frag;
|
||||
addr += reloc;
|
||||
haddr += reloc;
|
||||
|
||||
if (addr != mmap(addr, mlen, prot | (xi ? PROT_WRITE : 0),
|
||||
MAP_FIXED | MAP_PRIVATE | (xi ? MAP_ANONYMOUS : 0),
|
||||
(xi ? -1 : fdi), phdr->p_offset - frag) ) {
|
||||
err_exit(8);
|
||||
}
|
||||
if (xi) {
|
||||
unpackExtent(xi, &xo, f_decompress, f_unf);
|
||||
}
|
||||
// Linux does not fixup the low end, so neither do we.
|
||||
//if (PROT_WRITE & prot) {
|
||||
// bzero(addr, frag); // fragment at lo end
|
||||
//}
|
||||
frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary
|
||||
/* if (! (PROT_WRITE & prot)) {
|
||||
bzero(mlen+addr, frag); // fragment at hi end
|
||||
} */
|
||||
if (xi) {
|
||||
if (0!=mprotect(addr, mlen, prot)) {
|
||||
err_exit(10);
|
||||
ERR_LAB
|
||||
}
|
||||
}
|
||||
addr += mlen + frag; /* page boundary on hi end */
|
||||
if (addr < haddr) { // need pages for .bss
|
||||
if (addr != mmap(addr, haddr - addr, prot,
|
||||
MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0 ) ) {
|
||||
err_exit(9);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ehdr->e_entry + reloc;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// upx_main - called by our entry code
|
||||
**************************************************************************/
|
||||
|
||||
void *upx_main(
|
||||
struct l_info const *const li,
|
||||
size_t const sz_compressed, // total length
|
||||
Elf64_Ehdr *const ehdr, // temp char[sz_ehdr] for decompressing
|
||||
size_t const sz_ehdr,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf,
|
||||
Elf64_auxv_t *const av
|
||||
)
|
||||
{
|
||||
Elf64_Phdr const *phdr = (Elf64_Phdr const *)(1+ ehdr);
|
||||
Elf64_Addr entry;
|
||||
|
||||
Extent xi, xo, xi0;
|
||||
xi.buf = CONST_CAST(char *, 1+ (struct p_info const *)(1+ li)); // &b_info
|
||||
xi.size = sz_compressed - (sizeof(struct l_info) + sizeof(struct p_info));
|
||||
xo.buf = (char *)ehdr;
|
||||
xo.size = ((struct b_info const *)xi.buf)->sz_unc;
|
||||
xi0 = xi;
|
||||
|
||||
ACC_UNUSED(sz_ehdr);
|
||||
|
||||
// ehdr = Uncompress Ehdr and Phdrs
|
||||
unpackExtent(&xi, &xo, f_decompress, 0); // never filtered?
|
||||
|
||||
// AT_PHDR.a_un.a_val is set again by do_xmap if PT_PHDR is present.
|
||||
auxv_up(av, (unsigned ) AT_PHDR , (long )(1+(Elf64_Ehdr *)phdr->p_vaddr));
|
||||
auxv_up(av, (unsigned ) AT_PHNUM , ehdr->e_phnum);
|
||||
auxv_up(av, (unsigned ) AT_ENTRY , (unsigned ) ehdr->e_entry);
|
||||
//auxv_up(av, AT_PHENT , ehdr->e_phentsize); /* this can never change */
|
||||
//auxv_up(av, AT_PAGESZ, PAGE_SIZE); /* ld-linux.so.2 does not need this */
|
||||
|
||||
entry = do_xmap(ehdr, &xi0, 0, av, f_decompress, f_unf);
|
||||
auxv_up(av, AT_ENTRY , entry);
|
||||
|
||||
{ // Map PT_INTERP program interpreter
|
||||
int j;
|
||||
for (j=0; j < ehdr->e_phnum; ++phdr, ++j) if (PT_INTERP==phdr->p_type) {
|
||||
char const *const iname = (char const *)phdr->p_vaddr;
|
||||
int const fdi = open(iname, O_RDONLY, 0);
|
||||
if (0 > fdi) {
|
||||
err_exit(18);
|
||||
}
|
||||
if (MAX_ELF_HDR!=read(fdi, (void *)ehdr, MAX_ELF_HDR)) {
|
||||
ERR_LAB
|
||||
err_exit(19);
|
||||
}
|
||||
entry = do_xmap(ehdr, 0, fdi, 0, 0, 0);
|
||||
close(fdi);
|
||||
}
|
||||
}
|
||||
|
||||
return (void *)entry;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
vi:ts=4:et:nowrap
|
||||
*/
|
||||
|
||||
31
src/stub/src/ppc64le-linux.kernel.vmlinux-head.S
Normal file
31
src/stub/src/ppc64le-linux.kernel.vmlinux-head.S
Normal file
@ -0,0 +1,31 @@
|
||||
/*
|
||||
; ppc64le-linux.kernel.vmlinux-head.S -- set up stack for vmlinux/powerpc format
|
||||
;
|
||||
; This file is part of the UPX executable compressor.
|
||||
;
|
||||
; Copyright (C) 2007-2013 John 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 Reiser
|
||||
; <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
mflr 31
|
||||
bl LINUX000
|
||||
|
||||
// vi:ts=8:et:nowrap
|
||||
149
src/stub/src/ppc64le-linux.kernel.vmlinux.S
Normal file
149
src/stub/src/ppc64le-linux.kernel.vmlinux.S
Normal file
@ -0,0 +1,149 @@
|
||||
/*
|
||||
; ppc64le-linux.kernel.vmlinux.S -- loader & decompressor for the vmlinux/ppc64le format
|
||||
;
|
||||
; This file is part of the UPX executable compressor.
|
||||
;
|
||||
; Copyright (C) 1996-2013 Markus Franz Xaver Johannes Oberhumer
|
||||
; Copyright (C) 1996-2013 Laszlo Molnar
|
||||
; Copyright (C) 2004-2013 John 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
|
||||
; <markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||
;
|
||||
; John Reiser
|
||||
; <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#include "arch/ppc64le/64/macros.S"
|
||||
#include "arch/ppc64le/64/ppc_regs.h"
|
||||
|
||||
// offsets in struct b_info
|
||||
sz_unc = 0
|
||||
sz_cpr = 4
|
||||
b_method = 8
|
||||
b_ftid = 9
|
||||
b_cto8 = 10
|
||||
sz_b_info = 12
|
||||
|
||||
// ========== ENTRY POINT
|
||||
|
||||
section LINUX000 // adjust parameters; call decompressor
|
||||
b uncompress
|
||||
b unfilter
|
||||
|
||||
section LINUX010 // call unfilter
|
||||
.long filter_length
|
||||
.long filter_cto
|
||||
|
||||
section LINUX020 // adjust return value
|
||||
|
||||
// ========== UNFILTER
|
||||
|
||||
unfilter:
|
||||
//section ctok32.00
|
||||
#include "arch/ppc64le/64/bxx.S"
|
||||
|
||||
// ========== DECOMPRESSION
|
||||
|
||||
section LINUX030 // decompressor
|
||||
uncompress:
|
||||
|
||||
SZ_DLINE=128 # size of data cache line in Apple G5
|
||||
|
||||
/* register assingments for NRV algorithms */
|
||||
#define hibit r0 /* holds 0x80000000 during decompress */
|
||||
|
||||
#define src a0
|
||||
#define lsrc a1
|
||||
#define dst a2
|
||||
#define ldst a3 /* Out: actually a reference: &len_dst */
|
||||
#define meth a4
|
||||
|
||||
#define off a4
|
||||
#define len a5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
|
||||
section NRV2B
|
||||
#include "arch/ppc64le/64/nrv2b_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/ppc64le/64/nrv2d_d.S"
|
||||
|
||||
section NRV2E
|
||||
#include "arch/ppc64le/64/nrv2e_d.S"
|
||||
|
||||
section NRV_TAIL
|
||||
eof_nrv:
|
||||
#define dst0 a4
|
||||
#define tmp a1
|
||||
ld dst0,0(ldst) // original dst
|
||||
mtlr t3 // return address
|
||||
subf a0,lsrc,src
|
||||
subf tmp,dst0,dst // -1+ dst length
|
||||
addi a0,a0,1 // return 0: good; else: bad [+1: correct for lbzu]
|
||||
addi tmp,tmp,1 // dst length
|
||||
std tmp,0(ldst)
|
||||
#undef tmp
|
||||
|
||||
// CACHELINE=32 is the observed minimum line size of any cache.
|
||||
// Some caches may have larger lines, but it is cumbersome to lookup
|
||||
// {AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE: /usr/include/elf.h},
|
||||
// then save the correct size in a variable {where to put it?}, or to modify
|
||||
// the two instructions here. If a cache has larger lines, then we expect
|
||||
// that the second dcbst (or icbi) on a the same line will be fast.
|
||||
// If not, then too bad.
|
||||
|
||||
section CFLUSH // In: a2=dst= &highest stored byte; a4=dst0= &lowest stored byte
|
||||
CACHELINE=32
|
||||
ori dst0,dst0,-1+ CACHELINE // highest addr on cache line
|
||||
cfl_nrv:
|
||||
dcbst 0,dst0 // initiate store (modified) cacheline to memory
|
||||
cmpl cr0,dst0,dst // did we cover the highest-addressed byte?
|
||||
icbi 0,dst0 // discard instructions from cacheline
|
||||
addi dst0,dst0,CACHELINE // highest addr on next line
|
||||
blt cr0,cfl_nrv // not done yet
|
||||
#undef dst0
|
||||
sync // wait for all memory operations to finish
|
||||
isync // discard prefetched instructions (if any)
|
||||
cfl_ret:
|
||||
ret
|
||||
|
||||
#undef hibit
|
||||
|
||||
#undef src
|
||||
#undef lsrc
|
||||
#undef dst
|
||||
#undef ldst
|
||||
#undef meth
|
||||
|
||||
#undef off
|
||||
#undef len
|
||||
#undef bits
|
||||
#undef disp
|
||||
|
||||
section LZMA
|
||||
#include "arch/ppc64le/64/lzma_d.S"
|
||||
|
||||
// ========== IDENT
|
||||
|
||||
#include "include/header.S"
|
||||
|
||||
// vi:ts=8:et:nowrap
|
||||
Loading…
Reference in New Issue
Block a user