ELF2 for powerpc (32-bit) main programs
modified: ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: p_lx_elf.cpp
modified: stub/Makefile
modified: stub/src/arch/powerpc/32/macros.S
modified: stub/src/i386-linux.elf-main2.c
new file: stub/src/powerpc-expand.S
modified: stub/src/powerpc-linux.elf-entry.S
modified: stub/src/powerpc-linux.elf-fold.S
modified: stub/src/powerpc-linux.elf-fold.lds
new file: stub/src/powerpc-linux.elf-main2.c
modified: stub/src/powerpc64-linux.elf-fold.S
plus generated *.h *.map *.dump
interactive rebase in progress; onto ac82d473
Last commands done (17 commands done):
pick 1b9ddea5 ELF2 arm32-linux unmap_all_pages
pick 1f372e54 ELF2 for powerpc (32-bit) main programs
Next commands to do (10 remaining commands):
pick 5f5849a9 ELF2 stragglers from stub make
pick 2ba8b5da ELF2 for mips 32-bit main programs
You are currently rebasing branch 'jreiser-ELF2' on 'ac82d473'.
Changes to be committed:
modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
modified: src/p_lx_elf.cpp
modified: src/stub/Makefile
modified: src/stub/powerpc-linux.elf-entry.h
modified: src/stub/powerpc-linux.elf-fold.h
modified: src/stub/powerpc64-linux.elf-fold.h
modified: src/stub/powerpc64le-linux.elf-fold.h
modified: src/stub/src/arch/powerpc/32/macros.S
modified: src/stub/src/i386-linux.elf-main2.c
new file: src/stub/src/powerpc-expand.S
modified: src/stub/src/powerpc-linux.elf-entry.S
modified: src/stub/src/powerpc-linux.elf-fold.S
modified: src/stub/src/powerpc-linux.elf-fold.lds
new file: src/stub/src/powerpc-linux.elf-main2.c
modified: src/stub/src/powerpc64-linux.elf-fold.S
modified: src/stub/tmp/powerpc-linux.elf-entry.bin.dump
modified: src/stub/tmp/powerpc-linux.elf-fold.map
modified: src/stub/tmp/powerpc64-linux.elf-fold.map
modified: src/stub/tmp/powerpc64le-linux.elf-fold.map
This commit is contained in:
parent
6cda0b6016
commit
88c94d1cc0
@ -64,9 +64,9 @@ e5ccaa48ec0223990abc7681bb97a9f49b0192db4d04a21b0525dd610bfcbcae *i386-linux.elf
|
||||
e7bfe2365ce83121ef757f8be47aa158da537e8992c3b2082e08a0fc4512708b *mips-linux.elf/upx-3.95
|
||||
502515712de82f6dabaad1cc5887a04edbb28d4da7017dd50b677f5708e625aa *mipsel-linux.elf/upx-3.91
|
||||
fcbd8b4709ee324eb772e5de45a85bac5b8e560460fb1d50d0958f2ce568be97 *mipsel-linux.elf/upx-3.95
|
||||
16b0df199ae2055fb98ddf8cf77a0ee2ea3fa9a386e9cc6dd940647532130c2f *powerpc-linux.elf/upx-3.91
|
||||
1561a7e36653475eeabe33f65890e9a25e9e00b69ffcfa7928f68d4c0f6b2179 *powerpc-linux.elf/upx-3.95
|
||||
037374e757fdac5832e00fc5901545543279bc5dc492a583dcf47275939c1ce0 *powerpc64le-linux.elf/upx-3.95
|
||||
24d55fdb89305d4c767fdd38c0a0c53abffed8a5d540c470054f761fa9cfebee *powerpc-linux.elf/upx-3.91
|
||||
6e414a871d14d8feec0e8abfc26678dc89dfaa120b17d71b340a3406ba0c161d *powerpc-linux.elf/upx-3.95
|
||||
6b71e490524ccaab029b87a984bfd0c3a5f191b7e9497f795f916f2da98b9764 *powerpc64le-linux.elf/upx-3.95
|
||||
"
|
||||
expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
|
||||
7ae7eea1444d1b6e56dda4a0512ff94e5ebaf8c02288a4132def5fdf46fb4b2e *amd64-linux.elf/upx-3.91
|
||||
@ -87,9 +87,9 @@ b8d481769be7aa7768bb1bd8775e766512c5720813e5d8bab6decb200a916f11 *m68k-atari.tos
|
||||
0e79d59ea6651e43d757fd584ac909df8e2719179664f61daaf842fdaf4abd36 *mips-linux.elf/upx-3.95
|
||||
ee769694227b4f2e6195852ce6cbd899fc0c3308f978dcb85c9fc768d21ce37f *mipsel-linux.elf/upx-3.91
|
||||
73c3d6cee83136438b884e8dd3af19c9cb8298401e295bf0428616c75589090b *mipsel-linux.elf/upx-3.95
|
||||
d05786b4b729f13a9b325322c2ea41ca7db6f60fee9f82c58874a25ee7eca086 *powerpc-linux.elf/upx-3.91
|
||||
5068e792280ded5f51eb7003807514bdb7fce8739170952fa3ec631d9743bb69 *powerpc-linux.elf/upx-3.95
|
||||
2f50e82cfca013d37d0081982f8731590bbb79cf95257736ef2dfa3ad4a42d93 *powerpc64le-linux.elf/upx-3.95
|
||||
3411eafdbac912015e1e8eb53e4210e775b46ce699efe917be95cb495c6e4902 *powerpc-linux.elf/upx-3.91
|
||||
9b0195a869a97db2e24d381f93fc7e937c8d9c0d6321c8432601dd919894ed03 *powerpc-linux.elf/upx-3.95
|
||||
c42eee3abe1b44d2e0fe491910314cce2800d321abb8dc468a81e049ed6bdf3e *powerpc64le-linux.elf/upx-3.95
|
||||
"
|
||||
expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
|
||||
34959e4a8682e4270e7a1a471fca0d8cd20391201ec50c2815b7dbfb6df5b9a8 *amd64-linux.elf/upx-3.91
|
||||
@ -110,9 +110,9 @@ a47825b63e33e2ff5f07ec2b8e51991172a1e26e17fa1b2a19dc7857ab76db35 *i386-win32.pe/
|
||||
023eac920d1eccb97d491880fc754a7ebca0d0b1fd2d69a799247e0fd86b0a1c *mips-linux.elf/upx-3.95
|
||||
d18aa30ba7a8bc500517b8dcdd16976806c88c5a49e721f8a54d216fb7f7b230 *mipsel-linux.elf/upx-3.91
|
||||
fa3be8f93006a88c7ad3d9fd13f600c4f69745859eb76f7eab317a5b87d256ea *mipsel-linux.elf/upx-3.95
|
||||
1eaa5a0165d9d7cd6c0dd1f6c223f60cb5c213ff8f74af78764b075a7202f334 *powerpc-linux.elf/upx-3.91
|
||||
39133844ee0264df192e96e2447f5383e7cef42dbf08e9dd5b8928328894f62b *powerpc-linux.elf/upx-3.95
|
||||
9f0562baf5988ec9bc11b07593a64bd7428cd77405dbefb52ff9a380c91d3d21 *powerpc64le-linux.elf/upx-3.95
|
||||
006e6471ccc74f1367b82ee84ce2c1d5f0a24fee18f8d44a9fbdb51bfba2cfd0 *powerpc-linux.elf/upx-3.91
|
||||
9b130ab4725daa1f7e262a6e40c6999516a8bddb3089e57b42fcf97d70fd29d1 *powerpc-linux.elf/upx-3.95
|
||||
13ce7ab52c606c265e77a12967ec67d0548a8e3b39d0019a8c332c2cc980c0e3 *powerpc64le-linux.elf/upx-3.95
|
||||
"
|
||||
expected_sha256sums__t140_compress_lzma_2_no_filter="\
|
||||
b028e56efb322a8d3a462cde72ff1ed193ba1e53bb055a40e20f436fa374403d *amd64-linux.elf/upx-3.91
|
||||
@ -133,9 +133,9 @@ d81bbba6a8ede3aa9bebcd28280914c1084dc0a9ff1d000389e3f52ff05a1ac7 *m68k-atari.tos
|
||||
5e05bfd0d6ad9b3d5378705e35165accaf7008742b26b0cbe72c7d7137ef20f6 *mips-linux.elf/upx-3.95
|
||||
bfbcb18537081e3393c6d144101675bfe935192390405c3072449fbfa3b38069 *mipsel-linux.elf/upx-3.91
|
||||
c8b1cbc45bc1c34f481bdf535bb21ea62d2a6a7ce8bcfb1460cb8c5de85e3c43 *mipsel-linux.elf/upx-3.95
|
||||
d2ee5c94812125bcc8970f42dd363ebe0f0fd9b3bdfe8973214e956978bc1dad *powerpc-linux.elf/upx-3.91
|
||||
a214c035d403c1dc7b5d80d6cfd8e00e2278f8600332875f2e53e1c61648fdc2 *powerpc-linux.elf/upx-3.95
|
||||
4018c5dcc8d1479ab64977c8b714421235a72b900d406c891c6913195bfc3a6c *powerpc64le-linux.elf/upx-3.95
|
||||
44b9dba881ff6203d77c4af7f7183a1ef9178a43e12bcdb383223093873047c2 *powerpc-linux.elf/upx-3.91
|
||||
a2eb3334b926429225f81ae7f73e10b1ba88585a4d427b724efcd5f1be2096c7 *powerpc-linux.elf/upx-3.95
|
||||
83ee22373cdeae5cb78582f4852b979673e908729bfaf429e09c379d4bf6ee16 *powerpc64le-linux.elf/upx-3.95
|
||||
"
|
||||
expected_sha256sums__t150_compress_ucl_2_all_filters="\
|
||||
fc70cf55446c99b6e6845511f86c7f9496c97bcd44f0844206c9b70722fc33eb *amd64-linux.elf/upx-3.91
|
||||
@ -156,9 +156,9 @@ b233f8508a150a20dffaeb6da057ccfd1cf78fbb89d9bdf3fbdd1c21716665e3 *i386-win32.pe/
|
||||
da433fd7ab5139a574f4ab21f0c2401eda8aa977ca5988a70c93b6f295ed6248 *mips-linux.elf/upx-3.95
|
||||
c30fa4adac1d1b0838e452e7f6591d433352ed719d32b161e6383828927e9b13 *mipsel-linux.elf/upx-3.91
|
||||
b5ece56b5e674b8ba1a6bdd488ad41495d52a8a9e594bd84651e1d7f393d5e23 *mipsel-linux.elf/upx-3.95
|
||||
e3825daa7fb8d509590c1db347a8403dbd899da453fb43850ebf1d31abbe0cba *powerpc-linux.elf/upx-3.91
|
||||
20e2b5270c00b18770cc7fd9b2c4d523b2a33b215d354fb00d129d35219094f0 *powerpc-linux.elf/upx-3.95
|
||||
7bb92d8d8a53d9ff563d1512c47874ad9bc6bf0ecb06f1c2da92ec22b4206de5 *powerpc64le-linux.elf/upx-3.95
|
||||
4bb696766de1658a4e42d79d2f2f73f1108d7e754e882fb064c88637285726b6 *powerpc-linux.elf/upx-3.91
|
||||
41bdafc3d9f4218fb448d0584e17770bbe9124da2d66f45e2d55b58135ff7ffc *powerpc-linux.elf/upx-3.95
|
||||
a44f6615d689956d2f2d0325721abbeb758b9f3e0035ddeb098488d861096633 *powerpc64le-linux.elf/upx-3.95
|
||||
"
|
||||
expected_sha256sums__t160_compress_all_methods_1_no_filter="\
|
||||
09724f7b02c462d992ec9f4464f72bd7c25eb6e2918c9ad14fa88d4edc1207dc *amd64-linux.elf/upx-3.91
|
||||
@ -179,9 +179,9 @@ f6a7a90073cf16f53c17a2ae7aea1c91beff0c2926d41c628a8d1a724bc37e6b *i386-win32.pe/
|
||||
4b28f7ad82b9172ff8e65c03f48b23184494f0b82704e39d2c9b3fc854db1d9a *mips-linux.elf/upx-3.95
|
||||
c4cf58843905b62b0fe50266b926f46041a7329ca1f8237a5743fc54a6daed68 *mipsel-linux.elf/upx-3.91
|
||||
558047321b8771a5445bd56741334a954f1d722d9e70764ca13a1075ad139378 *mipsel-linux.elf/upx-3.95
|
||||
4a57ba95ab87a2710d2e3f93a344b3f56cae08043c5b3f2ce55965a59d13762e *powerpc-linux.elf/upx-3.91
|
||||
c37806b0d68697276cdd208ab37c92e01055bfbab73c6bbdf054c95fe9cef3b9 *powerpc-linux.elf/upx-3.95
|
||||
8747ba2fc2b332588fe3aa50fcc303fcd516798552e0092699b8a9b718096ad5 *powerpc64le-linux.elf/upx-3.95
|
||||
fbae47b348a8bf6e9cba7f4a92f9fb701d9f655b8468c2547e6826c99e8cc23a *powerpc-linux.elf/upx-3.91
|
||||
3618c0b70a7a8b505db67a173413dc8c49b8b2bc1ab0b967cc23d27beb440912 *powerpc-linux.elf/upx-3.95
|
||||
e3e83f1f43c2af7873ee0ada32e1b322b31fcfee1baf2c51e58a5fe6f5163eb5 *powerpc64le-linux.elf/upx-3.95
|
||||
"
|
||||
expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
|
||||
cdc4ed9c5f1f724c436a3fc97a45b6b89605b34d8210ab6fdbbefb5954b5361b *amd64-linux.elf/upx-3.91
|
||||
@ -202,8 +202,8 @@ eb01b6f27798690115cabb88314551579da509455232bbaa3276eddc25106d0d *i386-win32.pe/
|
||||
4ab3160a6486ab2fe9f65e008fa084f1d1df5ebe3bd2b3960d0257ed6a11e5ad *mips-linux.elf/upx-3.95
|
||||
846565c58b637ec7c59a962dd68848d375468f02a03490d972255150412e7f19 *mipsel-linux.elf/upx-3.91
|
||||
b34e08324b5f078b1f7408afcf72f7b6fb7f2a25e76332459aa30c020124f04c *mipsel-linux.elf/upx-3.95
|
||||
1c0fde4880d16710cba3d2d285d8af01aff2b50bd8f0203afcd3a338a8a0b0b1 *powerpc-linux.elf/upx-3.91
|
||||
60f7c8153f3e0ae5d793645b88b6323630fd1b8caf40511a26836835aa99228d *powerpc-linux.elf/upx-3.95
|
||||
d6ff4a6d2f0d4edd68dd8ab7c1c219a5d7820d53ccd512cc1eb6837b58b237d4 *powerpc64le-linux.elf/upx-3.95
|
||||
5cdd68abc67e8009acbfefeb49b887206a504bf7492e8f8da9ef281f50394f53 *powerpc-linux.elf/upx-3.91
|
||||
bf42c5453264a033ba786c9b661b12d7a725ecad99092b797e146d214f7149db *powerpc-linux.elf/upx-3.95
|
||||
1a610a97f83fce54f88ad410072ab0d40fc5138f47412d24526caf175ef3c18d *powerpc64le-linux.elf/upx-3.95
|
||||
"
|
||||
########## end .sha256sums.recreate
|
||||
|
||||
@ -1498,8 +1498,8 @@ PackLinuxElf32::buildLinuxLoader(
|
||||
else if (0
|
||||
|| this->e_machine==Elf32_Ehdr::EM_386
|
||||
|| this->e_machine==Elf32_Ehdr::EM_ARM
|
||||
|| this->e_machine==Elf32_Ehdr::EM_PPC
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_MIPS
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_PPC
|
||||
) { // main program with ELF2 de-compressor
|
||||
initLoader(fold, szfold);
|
||||
char sec[120];
|
||||
@ -1569,8 +1569,8 @@ PackLinuxElf32::buildLinuxLoader(
|
||||
&& (0
|
||||
|| this->e_machine==Elf32_Ehdr::EM_386
|
||||
|| this->e_machine==Elf32_Ehdr::EM_ARM
|
||||
|| this->e_machine==Elf32_Ehdr::EM_PPC
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_MIPS
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_PPC
|
||||
)
|
||||
) { // shlib with ELF2 de-compressor
|
||||
addLoader("ELFMAINX,ELFMAINZ,FOLDEXEC,IDENTSTR");
|
||||
@ -1578,8 +1578,8 @@ PackLinuxElf32::buildLinuxLoader(
|
||||
else if (0
|
||||
|| this->e_machine==Elf32_Ehdr::EM_386
|
||||
|| this->e_machine==Elf32_Ehdr::EM_ARM
|
||||
|| this->e_machine==Elf32_Ehdr::EM_PPC
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_MIPS
|
||||
//ELF2 NYI || this->e_machine==Elf32_Ehdr::EM_PPC
|
||||
) { // main program with ELF2 de-compressor
|
||||
addLoader("ELFMAINX,ELFMAINZ,FOLDEXEC,IDENTSTR");
|
||||
defineSymbols(ft);
|
||||
|
||||
@ -1682,7 +1682,7 @@ 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 -mtune=powerpc -nostdinc -MMD -MT $@
|
||||
tc.powerpc-linux.elf.gcc = powerpc.405-linux-gcc-3.4.5 -m32 -mbig-endian -DBIG_ENDIAN=1 -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
|
||||
|
||||
@ -1691,20 +1691,30 @@ powerpc-linux.elf-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(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,f-objstrip,tmp/$T.bin)
|
||||
$(call tc,sstrip) tmp/$T.bin
|
||||
powerpc-linux.elf-fold.h : $(srcdir)/src/$$T.lds \
|
||||
tmp/$$T.o \
|
||||
tmp/powerpc-linux.elf-upxfd_android.o \
|
||||
tmp/powerpc-expand.o \
|
||||
tmp/powerpc-linux.elf-main2.o
|
||||
$(call tc,ld) -r -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo_without_xstrip_keep_dot_text,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
tmp/powerpc-linux.elf-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
tmp/powerpc-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||
tmp/powerpc-linux.elf-main2.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
tmp/powerpc-linux.elf-upxfd_android.o : $(srcdir)/src/upxfd_android.c
|
||||
$(call tc,gcc) -c -O $< -o $@
|
||||
$(call tc,objcopy) -R .comment $@
|
||||
$(call tc,objdump) -Dr $(tc_objdump_disasm_options) $@ | $(RTRIM) > $@.disasm
|
||||
|
||||
tmp/powerpc-expand.o: $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
|
||||
# /***********************************************************************
|
||||
# // powerpc-linux.kernel.vmlinux
|
||||
|
||||
623
src/stub/powerpc-linux.elf-entry.h
generated
623
src/stub/powerpc-linux.elf-entry.h
generated
@ -1,5 +1,5 @@
|
||||
/* powerpc-linux.elf-entry.h
|
||||
created from powerpc-linux.elf-entry.bin, 8471 (0x2117) bytes
|
||||
created from powerpc-linux.elf-entry.bin, 1420 (0x58c) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@ -32,539 +32,98 @@
|
||||
|
||||
/* clang-format off */
|
||||
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 8471
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x1993c3e0
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0xb3750514
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 1420
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x0c907cef
|
||||
#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x4d50d660
|
||||
|
||||
unsigned char stub_powerpc_linux_elf_entry[8471] = {
|
||||
unsigned char stub_powerpc_linux_elf_entry[1420] = {
|
||||
/* 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,180, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 72, 0, 0,213,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x0040 */ 40, 7, 0, 8, 64,130, 1, 64,144,166, 0, 0,124,132, 26, 20,
|
||||
/* 0x0020 */ 0, 0, 3, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 72, 0, 1, 13,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x0040 */ 40, 7, 0, 2, 64,130, 0,232,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, 16, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x0070 */ 56, 99, 0, 4, 97, 43, 0, 1,124, 11, 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,209, 65,129,255,236,
|
||||
/* 0x00a0 */ 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21,
|
||||
/* 0x00b0 */ 65,162,255,185,124,231, 57, 20,125, 41, 72, 21, 65,162,255,173,
|
||||
/* 0x00c0 */ 124,231, 57, 20,124, 9, 0, 64,125, 41, 74, 20, 65,162,255,157,
|
||||
/* 0x00d0 */ 65,160,255,216, 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46,
|
||||
/* 0x00e0 */ 65,128, 0, 32,141, 99, 0, 1,124,234, 88,249,125, 74, 14,112,
|
||||
/* 0x00f0 */ 65,130, 0, 0,113,107, 0, 1, 65,162, 0, 80, 72, 0, 0, 20,
|
||||
/* 0x0100 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 97, 65,161, 0, 60,
|
||||
/* 0x0110 */ 57, 0, 0, 1,124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 77,
|
||||
/* 0x0120 */ 65,161, 0, 40,125, 41, 72, 21, 65,162,255, 65,125, 8, 65, 20,
|
||||
/* 0x0130 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 49, 65,160,255,232,
|
||||
/* 0x0140 */ 57, 8, 0, 2, 72, 0, 0, 16,125, 41, 72, 21, 65,162,255, 29,
|
||||
/* 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,
|
||||
/* 0x0180 */ 75,255,255, 16,124, 0, 41,236,125,168, 2,166, 40, 7, 0, 5,
|
||||
/* 0x0190 */ 64,130, 1, 36,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,244, 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,
|
||||
/* 0x01c0 */ 97, 43, 0, 1,124, 11, 0, 64,125, 41, 72, 20, 97, 41, 0, 1,
|
||||
/* 0x01d0 */ 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1,124, 9, 0, 64,
|
||||
/* 0x01e0 */ 125, 41, 74, 20, 65,162,255,209, 65,129,255,236, 56,224, 0, 1,
|
||||
/* 0x01f0 */ 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21, 65,162,255,185,
|
||||
/* 0x0200 */ 124,231, 57, 21,125, 41, 72, 21, 65,162,255,173,124,231, 57, 21,
|
||||
/* 0x0210 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255,157, 65,160,255,216,
|
||||
/* 0x0220 */ 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46, 65,128, 0, 24,
|
||||
/* 0x0230 */ 141, 99, 0, 1,124,234, 88,249,125, 74, 14,112, 65,130, 0, 0,
|
||||
/* 0x0240 */ 72, 0, 0, 12,125, 41, 72, 21, 65,162,255,109,125, 8, 65, 21,
|
||||
/* 0x0250 */ 125, 41, 72, 21, 65,162,255, 97,125, 8, 65, 21, 64,130, 0, 40,
|
||||
/* 0x0260 */ 57, 0, 0, 1,125, 41, 72, 21, 65,162,255, 77,125, 8, 65, 21,
|
||||
/* 0x0270 */ 124, 9, 0, 64,125, 41, 74, 20, 65,162,255, 61, 65,160,255,232,
|
||||
/* 0x0280 */ 57, 8, 0, 2, 32,234,250,255, 57, 8, 0, 1,125, 8, 1,148,
|
||||
/* 0x0290 */ 124,234, 42, 20,125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1,
|
||||
/* 0x02a0 */ 66, 0,255,248, 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44,
|
||||
/* 0x02b0 */ 75,255,255, 44,124, 0, 41,236,125,168, 2,166, 40, 7, 0, 2,
|
||||
/* 0x02c0 */ 64,130, 0,232,144,166, 0, 0,124,132, 26, 20, 60, 0,128, 0,
|
||||
/* 0x02d0 */ 61, 32,128, 0, 56, 99,255,255, 56,165,255,255, 57, 64,255,255,
|
||||
/* 0x02e0 */ 72, 0, 0,184,124, 9, 0, 64,125, 41, 72, 20, 76,162, 0, 32,
|
||||
/* 0x02f0 */ 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4, 97, 43, 0, 1,
|
||||
/* 0x0300 */ 124, 11, 0, 64,125, 41, 73, 20, 78,128, 0, 32,141, 3, 0, 1,
|
||||
/* 0x0310 */ 157, 5, 0, 1, 75,255,255,209, 65,129,255,244, 56,224, 0, 1,
|
||||
/* 0x0320 */ 75,255,255,197,124,231, 57, 21, 75,255,255,189, 65,160,255,244,
|
||||
/* 0x0330 */ 52,231,255,253, 57, 0, 0, 0, 65,128, 0, 20,141, 99, 0, 1,
|
||||
/* 0x0340 */ 84,231, 64, 46,124,234, 88,249, 65,130, 0, 0, 75,255,255,153,
|
||||
/* 0x0350 */ 125, 8, 65, 21, 75,255,255,145,125, 8, 65, 21, 56,224, 0, 1,
|
||||
/* 0x0360 */ 64,130, 0, 28, 56,224, 0, 3, 57, 0, 0, 1, 75,255,255,121,
|
||||
/* 0x0370 */ 125, 8, 65, 21, 75,255,255,113, 65,160,255,244, 33,106,242,255,
|
||||
/* 0x0380 */ 125, 8, 57, 20,124,234, 42, 20,125, 9, 3,166,141, 7, 0, 1,
|
||||
/* 0x0390 */ 157, 5, 0, 1, 66, 0,255,248, 56,224, 1, 0,124, 7, 41,236,
|
||||
/* 0x03a0 */ 124, 7, 26, 44, 75,255,255,112, 40, 7, 0, 14, 64,130, 0, 36,
|
||||
/* 0x03b0 */ 148, 33,255,232,124, 8, 2,166,124,201, 51,120,129, 6, 0, 0,
|
||||
/* 0x03c0 */ 124,167, 43,120, 56,164,255,254, 56,131, 0, 2,144, 1, 0, 8,
|
||||
/* 0x03d0 */ 136, 3, 0, 0, 84, 11,232,254, 84, 12, 7,126, 56, 96,250, 0,
|
||||
/* 0x03e0 */ 124, 99, 88, 48, 56, 99,241,124,124, 38, 11,120,124, 33, 26, 20,
|
||||
/* 0x03f0 */ 84, 33, 0, 52, 56, 0, 0, 0,124,195, 51,120,144, 9, 0, 0,
|
||||
/* 0x0400 */ 148, 3,255,252,124, 1, 24, 64, 65,128,255,248,144,193, 0, 0,
|
||||
/* 0x0410 */ 136, 4,255,255,144,225, 0, 8, 56,193, 0, 16,145, 33, 0, 12,
|
||||
/* 0x0420 */ 56, 97, 0, 20, 84, 11,225, 62, 84, 0, 7, 62,153,131, 0, 2,
|
||||
/* 0x0430 */ 153, 99, 0, 1,152, 3, 0, 0,124, 8, 2,166,148, 33,255,160,
|
||||
/* 0x0440 */ 189,193, 0, 24, 59, 32, 0, 0,125, 40, 3,166,124,206, 51,120,
|
||||
/* 0x0450 */ 124,147, 35,120,144, 1, 0,100,124,245, 59,120,125, 20, 67,120,
|
||||
/* 0x0460 */ 137, 67, 0, 2, 59, 3, 0, 4, 59,224, 0, 0,137, 99, 0, 1,
|
||||
/* 0x0470 */ 58,224, 0, 0, 59, 64, 0, 1,138, 67, 0, 0, 58, 32, 0, 1,
|
||||
/* 0x0480 */ 58, 0, 0, 1,147, 38, 0, 0, 57,224, 0, 1,147, 41, 0, 0,
|
||||
/* 0x0490 */ 57, 32, 3, 0,136, 3, 0, 1,124, 18, 2, 20,125, 41, 0, 48,
|
||||
/* 0x04a0 */ 56, 9, 7, 54, 57, 32, 0, 1,127,153, 0, 64,125, 43, 88, 48,
|
||||
/* 0x04b0 */ 125, 41, 80, 48, 57,107,255,255, 57, 41,255,255,145, 97, 0, 12,
|
||||
/* 0x04c0 */ 145, 33, 0, 8, 57, 32, 0, 0, 64,156, 0, 28,124, 9, 3,166,
|
||||
/* 0x04d0 */ 57, 96, 4, 0, 85, 32, 8, 60, 57, 41, 0, 1,125,120, 3, 46,
|
||||
/* 0x04e0 */ 66, 0,255,244,127,147, 42, 20,126,108,155,120, 56,160, 0, 0,
|
||||
/* 0x04f0 */ 57, 0,255,255, 57, 96, 0, 0,127,140,224, 0, 57,107, 0, 1,
|
||||
/* 0x0500 */ 47, 11, 0, 4, 84,169, 64, 46, 65,158, 8,156,136, 12, 0, 0,
|
||||
/* 0x0510 */ 57,140, 0, 1,125, 37, 3,120, 64,153,255,224,127,153,160, 64,
|
||||
/* 0x0520 */ 64,156, 8,100, 62,192, 0,255, 98,214,255,255,127,136,176, 64,
|
||||
/* 0x0530 */ 128, 1, 0, 8,127, 35, 0, 56, 86,224, 32, 54,124, 0, 26, 20,
|
||||
/* 0x0540 */ 84, 6, 8, 60, 65,157, 0, 32,127,140,224, 0, 65,158, 8, 88,
|
||||
/* 0x0550 */ 137, 44, 0, 0, 84,160, 64, 46, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0560 */ 124, 5, 75,120,124,230,194, 46, 85, 0,170,254,125, 64, 57,214,
|
||||
/* 0x0570 */ 127,133, 80, 64, 64,156, 1,172,128, 1, 0, 12, 47,151, 0, 6,
|
||||
/* 0x0580 */ 125, 72, 83,120, 56, 96, 0, 1,127, 41, 0, 56, 32, 18, 0, 8,
|
||||
/* 0x0590 */ 127,224, 6, 48,125, 41,144, 48,125, 41, 2, 20, 32, 7, 8, 0,
|
||||
/* 0x05a0 */ 29, 41, 6, 0,124, 0, 46,112,124, 7, 2, 20,124, 6,195, 46,
|
||||
/* 0x05b0 */ 125, 56, 74, 20, 56,201, 14,108, 64,157, 0,180,124, 26,200, 80,
|
||||
/* 0x05c0 */ 63, 96, 0,255,127,245, 0,174, 99,123,255,255,127,136,216, 64,
|
||||
/* 0x05d0 */ 87,255, 8, 60, 87,253, 5,238, 84,100, 8, 60, 87,160, 8, 60,
|
||||
/* 0x05e0 */ 127, 12,224, 0,124, 6, 2, 20, 84,169, 64, 46,124,224, 34, 20,
|
||||
/* 0x05f0 */ 65,157, 0, 24, 65,154, 7,176,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0600 */ 57,140, 0, 1,125, 37, 3,120,161,103, 2, 0, 85, 0,170,254,
|
||||
/* 0x0610 */ 47, 29, 0, 0,124,131, 35,120,125, 64, 89,214, 32, 11, 8, 0,
|
||||
/* 0x0620 */ 85,105,217,126,124, 0, 46,112,124, 11, 2, 20,125,105, 88, 80,
|
||||
/* 0x0630 */ 127,133, 80, 64,125, 10, 64, 80, 64,156, 0, 20,176, 7, 2, 0,
|
||||
/* 0x0640 */ 125, 72, 83,120, 65,186, 0, 24, 72, 0, 0, 28,177,103, 2, 0,
|
||||
/* 0x0650 */ 124,170, 40, 80, 56,100, 0, 1, 65,154, 0, 12, 47,131, 0,255,
|
||||
/* 0x0660 */ 64,157,255,108, 47,131, 0,255, 65,157, 0,132, 63,224, 0,255,
|
||||
/* 0x0670 */ 99,255,255,255,127,136,248, 64, 84,103, 8, 60,127, 12,224, 0,
|
||||
/* 0x0680 */ 84,169, 64, 46,124,227, 59,120, 65,157, 0, 24, 65,154, 7, 24,
|
||||
/* 0x0690 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x06a0 */ 125,102, 58, 46, 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0,
|
||||
/* 0x06b0 */ 85,105,217,126,124, 0, 46,112,124, 11, 2, 20,125,105, 88, 80,
|
||||
/* 0x06c0 */ 127,133, 80, 64,125, 10, 64, 80, 64,156, 0, 16,125, 72, 83,120,
|
||||
/* 0x06d0 */ 124, 6, 59, 46, 72, 0, 0, 16,124,170, 40, 80,125,102, 59, 46,
|
||||
/* 0x06e0 */ 56,103, 0, 1, 47,131, 0,255, 64,157,255,140, 47,151, 0, 3,
|
||||
/* 0x06f0 */ 84,127, 6, 62,127,249,169,174, 59, 57, 0, 1, 65,157, 0, 12,
|
||||
/* 0x0700 */ 58,224, 0, 0, 72, 0, 6,120, 47,151, 0, 9, 65,157, 0, 12,
|
||||
/* 0x0710 */ 58,247,255,253, 72, 0, 6,104, 58,247,255,250, 72, 0, 6, 96,
|
||||
/* 0x0720 */ 125, 10, 64, 80, 84,224,217,126,127,136,176, 64,124, 0, 56, 80,
|
||||
/* 0x0730 */ 86,233, 8, 60,124, 6,195, 46,124,170, 40, 80,124,248, 74, 20,
|
||||
/* 0x0740 */ 65,157, 0, 32,127,140,224, 0, 65,158, 6, 92,137, 44, 0, 0,
|
||||
/* 0x0750 */ 84,160, 64, 46, 85, 8, 64, 46, 57,140, 0, 1,124, 5, 75,120,
|
||||
/* 0x0760 */ 161,103, 1,128, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x0770 */ 64,156, 0, 64, 47,151, 0, 6, 32, 11, 8, 0,124, 0, 46,112,
|
||||
/* 0x0780 */ 126, 15,131,120,124, 11, 2, 20,126, 48,139,120,176, 7, 1,128,
|
||||
/* 0x0790 */ 125, 72, 83,120, 56, 0, 0, 0,127, 81,211,120, 64,157, 0, 8,
|
||||
/* 0x07a0 */ 56, 0, 0, 3,124, 23, 3,120, 56,216, 6,100, 72, 0, 2, 24,
|
||||
/* 0x07b0 */ 125, 10, 64, 80, 85, 96,217,126,127,136,176, 64,124, 0, 88, 80,
|
||||
/* 0x07c0 */ 124,170, 40, 80,176, 7, 1,128, 65,157, 0, 32,127,140,224, 0,
|
||||
/* 0x07d0 */ 65,158, 5,212,137, 44, 0, 0, 84,160, 64, 46, 85, 8, 64, 46,
|
||||
/* 0x07e0 */ 57,140, 0, 1,124, 5, 75,120,161,103, 1,152, 85, 0,170,254,
|
||||
/* 0x07f0 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0,188,127,138,176, 64,
|
||||
/* 0x0800 */ 32, 11, 8, 0,124, 0, 46,112, 86,233, 40, 52,124, 11, 2, 20,
|
||||
/* 0x0810 */ 125, 56, 74, 20, 84,107, 8, 60,176, 7, 1,152,125, 72, 83,120,
|
||||
/* 0x0820 */ 124,233, 90, 20, 65,157, 0, 32,127,140,224, 0, 65,158, 5,120,
|
||||
/* 0x0830 */ 137, 44, 0, 0, 84,160, 64, 46, 85, 72, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0840 */ 124, 5, 75,120,161,103, 1,224, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0850 */ 127,133, 80, 64, 64,156, 0, 72, 47,153, 0, 0, 32, 11, 8, 0,
|
||||
/* 0x0860 */ 124, 0, 46,112,125, 72, 83,120,124, 11, 2, 20,176, 7, 1,224,
|
||||
/* 0x0870 */ 65,158, 5, 52, 47,151, 0, 6, 57, 32, 0, 9, 64,157, 0, 8,
|
||||
/* 0x0880 */ 57, 32, 0, 11,124, 26,200, 80,125, 55, 75,120,127,245, 0,174,
|
||||
/* 0x0890 */ 127,249,169,174, 59, 57, 0, 1, 72, 0, 4,228, 85, 96,217,126,
|
||||
/* 0x08a0 */ 124,170, 40, 80,124, 0, 88, 80,125, 10, 64, 80,176, 7, 1,224,
|
||||
/* 0x08b0 */ 72, 0, 0,252,125, 10, 64, 80, 85, 96,217,126,127,136,176, 64,
|
||||
/* 0x08c0 */ 124, 0, 88, 80,124,170, 40, 80,176, 7, 1,152, 65,157, 0, 32,
|
||||
/* 0x08d0 */ 127,140,224, 0, 65,158, 4,208,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x08e0 */ 85, 8, 64, 46, 57,140, 0, 1,124, 5, 75,120,161,103, 1,176,
|
||||
/* 0x08f0 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32,
|
||||
/* 0x0900 */ 32, 11, 8, 0,125, 72, 83,120,124, 0, 46,112,126, 41,139,120,
|
||||
/* 0x0910 */ 124, 11, 2, 20,176, 7, 1,176, 72, 0, 0,140,125, 10, 64, 80,
|
||||
/* 0x0920 */ 85, 96,217,126,127,136,176, 64,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x0930 */ 176, 7, 1,176, 65,157, 0, 32,127,140,224, 0, 65,158, 4,104,
|
||||
/* 0x0940 */ 137, 44, 0, 0, 84,160, 64, 46, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0950 */ 124, 5, 75,120,161,103, 1,200, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x0960 */ 127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,125, 72, 83,120,
|
||||
/* 0x0970 */ 124, 0, 46,112,126, 9,131,120,124, 11, 2, 20,176, 7, 1,200,
|
||||
/* 0x0980 */ 72, 0, 0, 32, 85, 96,217,126,125,233,123,120,124, 0, 88, 80,
|
||||
/* 0x0990 */ 124,170, 40, 80,176, 7, 1,200,125, 10, 64, 80,126, 15,131,120,
|
||||
/* 0x09a0 */ 126, 48,139,120,127, 81,211,120,125, 58, 75,120, 47,151, 0, 6,
|
||||
/* 0x09b0 */ 56, 0, 0, 8, 64,157, 0, 8, 56, 0, 0, 11,124, 23, 3,120,
|
||||
/* 0x09c0 */ 56,216, 10,104,127,136,176, 64, 65,157, 0, 32,127,140,224, 0,
|
||||
/* 0x09d0 */ 65,158, 3,212,137, 44, 0, 0, 84,160, 64, 46, 85, 8, 64, 46,
|
||||
/* 0x09e0 */ 57,140, 0, 1,124, 5, 75,120,161,102, 0, 0, 85, 0,170,254,
|
||||
/* 0x09f0 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48, 84,105, 32, 54,
|
||||
/* 0x0a00 */ 32, 11, 8, 0,125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x0a10 */ 125, 72, 83,120, 56,137, 0, 4, 59, 96, 0, 0,176, 6, 0, 0,
|
||||
/* 0x0a20 */ 56, 96, 0, 3, 72, 0, 0,156,125, 10, 64, 80, 85, 96,217,126,
|
||||
/* 0x0a30 */ 127,136,176, 64,124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 0,
|
||||
/* 0x0a40 */ 65,157, 0, 32,127,140,224, 0, 65,158, 3, 92,137, 44, 0, 0,
|
||||
/* 0x0a50 */ 84,160, 64, 46, 85, 8, 64, 46, 57,140, 0, 1,124, 5, 75,120,
|
||||
/* 0x0a60 */ 161,102, 0, 2, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x0a70 */ 64,156, 0, 48, 84,105, 32, 54, 32, 11, 8, 0,125, 38, 74, 20,
|
||||
/* 0x0a80 */ 124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120, 56,137, 1, 4,
|
||||
/* 0x0a90 */ 59, 96, 0, 8,176, 6, 0, 2, 56, 96, 0, 3, 72, 0, 0, 36,
|
||||
/* 0x0aa0 */ 85, 96,217,126,124,170, 40, 80,124, 0, 88, 80,125, 10, 64, 80,
|
||||
/* 0x0ab0 */ 176, 6, 0, 2, 56,134, 2, 4, 59, 96, 0, 16, 56, 96, 0, 8,
|
||||
/* 0x0ac0 */ 63,224, 0,255,124,105, 3,166, 59,160, 0, 1, 99,255,255,255,
|
||||
/* 0x0ad0 */ 127,136,248, 64, 87,167, 8, 60,127, 12,224, 0, 84,169, 64, 46,
|
||||
/* 0x0ae0 */ 124,253, 59,120, 65,157, 0, 24, 65,154, 2,188,136, 12, 0, 0,
|
||||
/* 0x0af0 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,125,100, 58, 46,
|
||||
/* 0x0b00 */ 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0, 85,105,217,126,
|
||||
/* 0x0b10 */ 124, 0, 46,112,124, 11, 2, 20,125,105, 88, 80,127,133, 80, 64,
|
||||
/* 0x0b20 */ 125, 10, 64, 80, 64,156, 0, 16,125, 72, 83,120,124, 4, 59, 46,
|
||||
/* 0x0b30 */ 72, 0, 0, 16,124,170, 40, 80, 59,167, 0, 1,125,100, 59, 46,
|
||||
/* 0x0b40 */ 66, 0,255,144, 47,151, 0, 3, 56, 0, 0, 1,124, 0, 24, 48,
|
||||
/* 0x0b50 */ 127,160,232, 80,127,189,218, 20, 65,157, 1,232, 47,157, 0, 3,
|
||||
/* 0x0b60 */ 58,247, 0, 7,127,169,235,120, 64,157, 0, 8, 57, 32, 0, 3,
|
||||
/* 0x0b70 */ 85, 41, 56, 48, 63,224, 0,255,125, 56, 74, 20, 99,255,255,255,
|
||||
/* 0x0b80 */ 56,201, 3, 96, 57, 32, 0, 6,125, 41, 3,166, 56,128, 0, 1,
|
||||
/* 0x0b90 */ 127,136,248, 64, 84,135, 8, 60,127, 12,224, 0, 84,169, 64, 46,
|
||||
/* 0x0ba0 */ 124,228, 59,120, 65,157, 0, 24, 65,154, 1,252,136, 12, 0, 0,
|
||||
/* 0x0bb0 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46,
|
||||
/* 0x0bc0 */ 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0, 85,105,217,126,
|
||||
/* 0x0bd0 */ 124, 0, 46,112,124, 11, 2, 20,125,105, 88, 80,127,133, 80, 64,
|
||||
/* 0x0be0 */ 125, 10, 64, 80, 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46,
|
||||
/* 0x0bf0 */ 72, 0, 0, 16,124,170, 40, 80, 56,135, 0, 1,125,102, 59, 46,
|
||||
/* 0x0c00 */ 66, 0,255,144, 56,132,255,192, 47,132, 0, 3,124,154, 35,120,
|
||||
/* 0x0c10 */ 64,157, 1, 40, 47,132, 0, 13,124,137, 14,112, 84,128, 7,254,
|
||||
/* 0x0c20 */ 57,105,255,255, 96, 26, 0, 2,125,105, 3,166, 65,157, 0, 32,
|
||||
/* 0x0c30 */ 127, 90, 88, 48, 84,128, 8, 60, 87, 73, 8, 60,125, 56, 74, 20,
|
||||
/* 0x0c40 */ 125, 32, 72, 80, 56,201, 5, 94, 72, 0, 0,100, 57, 41,255,251,
|
||||
/* 0x0c50 */ 61, 96, 0,255,125, 41, 3,166, 97,107,255,255,127,136, 88, 64,
|
||||
/* 0x0c60 */ 127, 12,224, 0, 84,169, 64, 46, 87, 90, 8, 60, 65,157, 0, 24,
|
||||
/* 0x0c70 */ 65,154, 1, 52,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0c80 */ 125, 37, 3,120, 85, 8,248,126,127,133, 64, 64, 65,156, 0, 12,
|
||||
/* 0x0c90 */ 124,168, 40, 80, 99, 90, 0, 1, 66, 0,255,196, 56, 0, 0, 4,
|
||||
/* 0x0ca0 */ 87, 90, 32, 54,124, 9, 3,166, 56,216, 6, 68, 60, 96, 0,255,
|
||||
/* 0x0cb0 */ 56,128, 0, 1, 96, 99,255,255, 59,224, 0, 1,127,136, 24, 64,
|
||||
/* 0x0cc0 */ 87,231, 8, 60,127, 12,224, 0, 84,169, 64, 46,124,255, 59,120,
|
||||
/* 0x0cd0 */ 65,157, 0, 24, 65,154, 0,208,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x0ce0 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x0cf0 */ 125, 64, 89,214, 32, 11, 8, 0, 85,105,217,126,124, 0, 46,112,
|
||||
/* 0x0d00 */ 124, 11, 2, 20,125,105, 88, 80,127,133, 80, 64,125, 10, 64, 80,
|
||||
/* 0x0d10 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 20,
|
||||
/* 0x0d20 */ 124,170, 40, 80, 59,231, 0, 1,125,102, 59, 46,127, 90, 35,120,
|
||||
/* 0x0d30 */ 84,132, 8, 60, 66, 0,255,136, 55, 90, 0, 1, 65,130, 0, 72,
|
||||
/* 0x0d40 */ 127,154,200, 64, 59,189, 0, 2, 65,157, 0, 92,124, 26,200, 80,
|
||||
/* 0x0d50 */ 59,189,255,255,127,245, 0,174, 49,125,255,255,125, 43,233, 16,
|
||||
/* 0x0d60 */ 127,249,169,174, 59, 57, 0, 1,124, 20,200, 16,124, 0, 1, 16,
|
||||
/* 0x0d70 */ 124, 0, 0,208,125, 43, 0, 57, 64,130,255,212,127,153,160, 64,
|
||||
/* 0x0d80 */ 65,156,247,172, 60, 0, 0,255, 96, 0,255,255,127,136, 0, 64,
|
||||
/* 0x0d90 */ 65,157, 0, 32,127,140,224, 0, 56, 96, 0, 1, 65,158, 0, 40,
|
||||
/* 0x0da0 */ 72, 0, 0, 12, 56, 96, 0, 1, 72, 0, 0, 28, 57,140, 0, 1,
|
||||
/* 0x0db0 */ 125, 40, 2,166,124, 19, 96, 80, 56, 96, 0, 0,144, 14, 0, 0,
|
||||
/* 0x0dc0 */ 147, 41, 0, 0,128, 1, 0,100,185,193, 0, 24, 56, 33, 0, 96,
|
||||
/* 0x0dd0 */ 124, 8, 3,166,124, 8, 2,166,148, 33,255,160,189,193, 0, 24,
|
||||
/* 0x0de0 */ 59, 32, 0, 0,125, 40, 3,166,124,206, 51,120,124,147, 35,120,
|
||||
/* 0x0df0 */ 144, 1, 0,100,124,245, 59,120,125, 20, 67,120,137, 67, 0, 2,
|
||||
/* 0x0e00 */ 59, 3, 0, 4, 59,224, 0, 0,137, 99, 0, 1, 58,224, 0, 0,
|
||||
/* 0x0e10 */ 59, 64, 0, 1,138, 67, 0, 0, 58, 32, 0, 1, 58, 0, 0, 1,
|
||||
/* 0x0e20 */ 147, 38, 0, 0, 57,224, 0, 1,147, 41, 0, 0, 57, 32, 3, 0,
|
||||
/* 0x0e30 */ 136, 3, 0, 1,124, 18, 2, 20,125, 41, 0, 48, 56, 9, 7, 54,
|
||||
/* 0x0e40 */ 57, 32, 0, 1,127,153, 0, 64,125, 43, 88, 48,125, 41, 80, 48,
|
||||
/* 0x0e50 */ 57,107,255,255, 57, 41,255,255,145, 97, 0, 12,145, 33, 0, 8,
|
||||
/* 0x0e60 */ 57, 32, 0, 0, 64,156, 0, 28,124, 9, 3,166, 57, 96, 4, 0,
|
||||
/* 0x0e70 */ 85, 32, 8, 60, 57, 41, 0, 1,125,120, 3, 46, 66, 0,255,244,
|
||||
/* 0x0e80 */ 127,147, 42, 20,126,108,155,120, 56,160, 0, 0, 57, 0,255,255,
|
||||
/* 0x0e90 */ 57, 96, 0, 0,127,140,224, 0, 57,107, 0, 1, 47, 11, 0, 4,
|
||||
/* 0x0ea0 */ 84,169, 64, 46, 65,158, 8,156,136, 12, 0, 0, 57,140, 0, 1,
|
||||
/* 0x0eb0 */ 125, 37, 3,120, 64,153,255,224,127,153,160, 64, 64,156, 8,100,
|
||||
/* 0x0ec0 */ 62,192, 0,255, 98,214,255,255,127,136,176, 64,128, 1, 0, 8,
|
||||
/* 0x0ed0 */ 127, 35, 0, 56, 86,224, 32, 54,124, 0, 26, 20, 84, 6, 8, 60,
|
||||
/* 0x0ee0 */ 65,157, 0, 32,127,140,224, 0, 65,158, 8, 88,137, 44, 0, 0,
|
||||
/* 0x0ef0 */ 84,160, 64, 46, 85, 8, 64, 46, 57,140, 0, 1,124, 5, 75,120,
|
||||
/* 0x0f00 */ 124,230,194, 46, 85, 0,170,254,125, 64, 57,214,127,133, 80, 64,
|
||||
/* 0x0f10 */ 64,156, 1,172,128, 1, 0, 12, 47,151, 0, 6,125, 72, 83,120,
|
||||
/* 0x0f20 */ 56, 96, 0, 1,127, 41, 0, 56, 32, 18, 0, 8,127,224, 6, 48,
|
||||
/* 0x0f30 */ 125, 41,144, 48,125, 41, 2, 20, 32, 7, 8, 0, 29, 41, 6, 0,
|
||||
/* 0x0f40 */ 124, 0, 46,112,124, 7, 2, 20,124, 6,195, 46,125, 56, 74, 20,
|
||||
/* 0x0f50 */ 56,201, 14,108, 64,157, 0,180,124, 26,200, 80, 63, 96, 0,255,
|
||||
/* 0x0f60 */ 127,245, 0,174, 99,123,255,255,127,136,216, 64, 87,255, 8, 60,
|
||||
/* 0x0f70 */ 87,253, 5,238, 84,100, 8, 60, 87,160, 8, 60,127, 12,224, 0,
|
||||
/* 0x0f80 */ 124, 6, 2, 20, 84,169, 64, 46,124,224, 34, 20, 65,157, 0, 24,
|
||||
/* 0x0f90 */ 65,154, 7,176,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x0fa0 */ 125, 37, 3,120,161,103, 2, 0, 85, 0,170,254, 47, 29, 0, 0,
|
||||
/* 0x0fb0 */ 124,131, 35,120,125, 64, 89,214, 32, 11, 8, 0, 85,105,217,126,
|
||||
/* 0x0fc0 */ 124, 0, 46,112,124, 11, 2, 20,125,105, 88, 80,127,133, 80, 64,
|
||||
/* 0x0fd0 */ 125, 10, 64, 80, 64,156, 0, 20,176, 7, 2, 0,125, 72, 83,120,
|
||||
/* 0x0fe0 */ 65,186, 0, 24, 72, 0, 0, 28,177,103, 2, 0,124,170, 40, 80,
|
||||
/* 0x0ff0 */ 56,100, 0, 1, 65,154, 0, 12, 47,131, 0,255, 64,157,255,108,
|
||||
/* 0x1000 */ 47,131, 0,255, 65,157, 0,132, 63,224, 0,255, 99,255,255,255,
|
||||
/* 0x1010 */ 127,136,248, 64, 84,103, 8, 60,127, 12,224, 0, 84,169, 64, 46,
|
||||
/* 0x1020 */ 124,227, 59,120, 65,157, 0, 24, 65,154, 7, 24,136, 12, 0, 0,
|
||||
/* 0x1030 */ 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46,
|
||||
/* 0x1040 */ 85, 0,170,254,125, 64, 89,214, 32, 11, 8, 0, 85,105,217,126,
|
||||
/* 0x1050 */ 124, 0, 46,112,124, 11, 2, 20,125,105, 88, 80,127,133, 80, 64,
|
||||
/* 0x1060 */ 125, 10, 64, 80, 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46,
|
||||
/* 0x1070 */ 72, 0, 0, 16,124,170, 40, 80,125,102, 59, 46, 56,103, 0, 1,
|
||||
/* 0x1080 */ 47,131, 0,255, 64,157,255,140, 47,151, 0, 3, 84,127, 6, 62,
|
||||
/* 0x1090 */ 127,249,169,174, 59, 57, 0, 1, 65,157, 0, 12, 58,224, 0, 0,
|
||||
/* 0x10a0 */ 72, 0, 6,120, 47,151, 0, 9, 65,157, 0, 12, 58,247,255,253,
|
||||
/* 0x10b0 */ 72, 0, 6,104, 58,247,255,250, 72, 0, 6, 96,125, 10, 64, 80,
|
||||
/* 0x10c0 */ 84,224,217,126,127,136,176, 64,124, 0, 56, 80, 86,233, 8, 60,
|
||||
/* 0x10d0 */ 124, 6,195, 46,124,170, 40, 80,124,248, 74, 20, 65,157, 0, 32,
|
||||
/* 0x10e0 */ 127,140,224, 0, 65,158, 6, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x10f0 */ 85, 8, 64, 46, 57,140, 0, 1,124, 5, 75,120,161,103, 1,128,
|
||||
/* 0x1100 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 64,
|
||||
/* 0x1110 */ 47,151, 0, 6, 32, 11, 8, 0,124, 0, 46,112,126, 15,131,120,
|
||||
/* 0x1120 */ 124, 11, 2, 20,126, 48,139,120,176, 7, 1,128,125, 72, 83,120,
|
||||
/* 0x1130 */ 56, 0, 0, 0,127, 81,211,120, 64,157, 0, 8, 56, 0, 0, 3,
|
||||
/* 0x1140 */ 124, 23, 3,120, 56,216, 6,100, 72, 0, 2, 24,125, 10, 64, 80,
|
||||
/* 0x1150 */ 85, 96,217,126,127,136,176, 64,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x1160 */ 176, 7, 1,128, 65,157, 0, 32,127,140,224, 0, 65,158, 5,212,
|
||||
/* 0x1170 */ 137, 44, 0, 0, 84,160, 64, 46, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x1180 */ 124, 5, 75,120,161,103, 1,152, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x1190 */ 127,133, 80, 64, 64,156, 0,188,127,138,176, 64, 32, 11, 8, 0,
|
||||
/* 0x11a0 */ 124, 0, 46,112, 86,233, 40, 52,124, 11, 2, 20,125, 56, 74, 20,
|
||||
/* 0x11b0 */ 84,107, 8, 60,176, 7, 1,152,125, 72, 83,120,124,233, 90, 20,
|
||||
/* 0x11c0 */ 65,157, 0, 32,127,140,224, 0, 65,158, 5,120,137, 44, 0, 0,
|
||||
/* 0x11d0 */ 84,160, 64, 46, 85, 72, 64, 46, 57,140, 0, 1,124, 5, 75,120,
|
||||
/* 0x11e0 */ 161,103, 1,224, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x11f0 */ 64,156, 0, 72, 47,153, 0, 0, 32, 11, 8, 0,124, 0, 46,112,
|
||||
/* 0x1200 */ 125, 72, 83,120,124, 11, 2, 20,176, 7, 1,224, 65,158, 5, 52,
|
||||
/* 0x1210 */ 47,151, 0, 6, 57, 32, 0, 9, 64,157, 0, 8, 57, 32, 0, 11,
|
||||
/* 0x1220 */ 124, 26,200, 80,125, 55, 75,120,127,245, 0,174,127,249,169,174,
|
||||
/* 0x1230 */ 59, 57, 0, 1, 72, 0, 4,228, 85, 96,217,126,124,170, 40, 80,
|
||||
/* 0x1240 */ 124, 0, 88, 80,125, 10, 64, 80,176, 7, 1,224, 72, 0, 0,252,
|
||||
/* 0x1250 */ 125, 10, 64, 80, 85, 96,217,126,127,136,176, 64,124, 0, 88, 80,
|
||||
/* 0x1260 */ 124,170, 40, 80,176, 7, 1,152, 65,157, 0, 32,127,140,224, 0,
|
||||
/* 0x1270 */ 65,158, 4,208,137, 44, 0, 0, 84,160, 64, 46, 85, 8, 64, 46,
|
||||
/* 0x1280 */ 57,140, 0, 1,124, 5, 75,120,161,103, 1,176, 85, 0,170,254,
|
||||
/* 0x1290 */ 125, 64, 89,214,127,133, 80, 64, 64,156, 0, 32, 32, 11, 8, 0,
|
||||
/* 0x12a0 */ 125, 72, 83,120,124, 0, 46,112,126, 41,139,120,124, 11, 2, 20,
|
||||
/* 0x12b0 */ 176, 7, 1,176, 72, 0, 0,140,125, 10, 64, 80, 85, 96,217,126,
|
||||
/* 0x12c0 */ 127,136,176, 64,124, 0, 88, 80,124,170, 40, 80,176, 7, 1,176,
|
||||
/* 0x12d0 */ 65,157, 0, 32,127,140,224, 0, 65,158, 4,104,137, 44, 0, 0,
|
||||
/* 0x12e0 */ 84,160, 64, 46, 85, 8, 64, 46, 57,140, 0, 1,124, 5, 75,120,
|
||||
/* 0x12f0 */ 161,103, 1,200, 85, 0,170,254,125, 64, 89,214,127,133, 80, 64,
|
||||
/* 0x1300 */ 64,156, 0, 32, 32, 11, 8, 0,125, 72, 83,120,124, 0, 46,112,
|
||||
/* 0x1310 */ 126, 9,131,120,124, 11, 2, 20,176, 7, 1,200, 72, 0, 0, 32,
|
||||
/* 0x1320 */ 85, 96,217,126,125,233,123,120,124, 0, 88, 80,124,170, 40, 80,
|
||||
/* 0x1330 */ 176, 7, 1,200,125, 10, 64, 80,126, 15,131,120,126, 48,139,120,
|
||||
/* 0x1340 */ 127, 81,211,120,125, 58, 75,120, 47,151, 0, 6, 56, 0, 0, 8,
|
||||
/* 0x1350 */ 64,157, 0, 8, 56, 0, 0, 11,124, 23, 3,120, 56,216, 10,104,
|
||||
/* 0x1360 */ 127,136,176, 64, 65,157, 0, 32,127,140,224, 0, 65,158, 3,212,
|
||||
/* 0x1370 */ 137, 44, 0, 0, 84,160, 64, 46, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x1380 */ 124, 5, 75,120,161,102, 0, 0, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x1390 */ 127,133, 80, 64, 64,156, 0, 48, 84,105, 32, 54, 32, 11, 8, 0,
|
||||
/* 0x13a0 */ 125, 38, 74, 20,124, 0, 46,112,124, 11, 2, 20,125, 72, 83,120,
|
||||
/* 0x13b0 */ 56,137, 0, 4, 59, 96, 0, 0,176, 6, 0, 0, 56, 96, 0, 3,
|
||||
/* 0x13c0 */ 72, 0, 0,156,125, 10, 64, 80, 85, 96,217,126,127,136,176, 64,
|
||||
/* 0x13d0 */ 124, 0, 88, 80,124,170, 40, 80,176, 6, 0, 0, 65,157, 0, 32,
|
||||
/* 0x13e0 */ 127,140,224, 0, 65,158, 3, 92,137, 44, 0, 0, 84,160, 64, 46,
|
||||
/* 0x13f0 */ 85, 8, 64, 46, 57,140, 0, 1,124, 5, 75,120,161,102, 0, 2,
|
||||
/* 0x1400 */ 85, 0,170,254,125, 64, 89,214,127,133, 80, 64, 64,156, 0, 48,
|
||||
/* 0x1410 */ 84,105, 32, 54, 32, 11, 8, 0,125, 38, 74, 20,124, 0, 46,112,
|
||||
/* 0x1420 */ 124, 11, 2, 20,125, 72, 83,120, 56,137, 1, 4, 59, 96, 0, 8,
|
||||
/* 0x1430 */ 176, 6, 0, 2, 56, 96, 0, 3, 72, 0, 0, 36, 85, 96,217,126,
|
||||
/* 0x1440 */ 124,170, 40, 80,124, 0, 88, 80,125, 10, 64, 80,176, 6, 0, 2,
|
||||
/* 0x1450 */ 56,134, 2, 4, 59, 96, 0, 16, 56, 96, 0, 8, 63,224, 0,255,
|
||||
/* 0x1460 */ 124,105, 3,166, 59,160, 0, 1, 99,255,255,255,127,136,248, 64,
|
||||
/* 0x1470 */ 87,167, 8, 60,127, 12,224, 0, 84,169, 64, 46,124,253, 59,120,
|
||||
/* 0x1480 */ 65,157, 0, 24, 65,154, 2,188,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x1490 */ 57,140, 0, 1,125, 37, 3,120,125,100, 58, 46, 85, 0,170,254,
|
||||
/* 0x14a0 */ 125, 64, 89,214, 32, 11, 8, 0, 85,105,217,126,124, 0, 46,112,
|
||||
/* 0x14b0 */ 124, 11, 2, 20,125,105, 88, 80,127,133, 80, 64,125, 10, 64, 80,
|
||||
/* 0x14c0 */ 64,156, 0, 16,125, 72, 83,120,124, 4, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x14d0 */ 124,170, 40, 80, 59,167, 0, 1,125,100, 59, 46, 66, 0,255,144,
|
||||
/* 0x14e0 */ 47,151, 0, 3, 56, 0, 0, 1,124, 0, 24, 48,127,160,232, 80,
|
||||
/* 0x14f0 */ 127,189,218, 20, 65,157, 1,232, 47,157, 0, 3, 58,247, 0, 7,
|
||||
/* 0x1500 */ 127,169,235,120, 64,157, 0, 8, 57, 32, 0, 3, 85, 41, 56, 48,
|
||||
/* 0x1510 */ 63,224, 0,255,125, 56, 74, 20, 99,255,255,255, 56,201, 3, 96,
|
||||
/* 0x1520 */ 57, 32, 0, 6,125, 41, 3,166, 56,128, 0, 1,127,136,248, 64,
|
||||
/* 0x1530 */ 84,135, 8, 60,127, 12,224, 0, 84,169, 64, 46,124,228, 59,120,
|
||||
/* 0x1540 */ 65,157, 0, 24, 65,154, 1,252,136, 12, 0, 0, 85, 8, 64, 46,
|
||||
/* 0x1550 */ 57,140, 0, 1,125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,
|
||||
/* 0x1560 */ 125, 64, 89,214, 32, 11, 8, 0, 85,105,217,126,124, 0, 46,112,
|
||||
/* 0x1570 */ 124, 11, 2, 20,125,105, 88, 80,127,133, 80, 64,125, 10, 64, 80,
|
||||
/* 0x1580 */ 64,156, 0, 16,125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 16,
|
||||
/* 0x1590 */ 124,170, 40, 80, 56,135, 0, 1,125,102, 59, 46, 66, 0,255,144,
|
||||
/* 0x15a0 */ 56,132,255,192, 47,132, 0, 3,124,154, 35,120, 64,157, 1, 40,
|
||||
/* 0x15b0 */ 47,132, 0, 13,124,137, 14,112, 84,128, 7,254, 57,105,255,255,
|
||||
/* 0x15c0 */ 96, 26, 0, 2,125,105, 3,166, 65,157, 0, 32,127, 90, 88, 48,
|
||||
/* 0x15d0 */ 84,128, 8, 60, 87, 73, 8, 60,125, 56, 74, 20,125, 32, 72, 80,
|
||||
/* 0x15e0 */ 56,201, 5, 94, 72, 0, 0,100, 57, 41,255,251, 61, 96, 0,255,
|
||||
/* 0x15f0 */ 125, 41, 3,166, 97,107,255,255,127,136, 88, 64,127, 12,224, 0,
|
||||
/* 0x1600 */ 84,169, 64, 46, 87, 90, 8, 60, 65,157, 0, 24, 65,154, 1, 52,
|
||||
/* 0x1610 */ 136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,125, 37, 3,120,
|
||||
/* 0x1620 */ 85, 8,248,126,127,133, 64, 64, 65,156, 0, 12,124,168, 40, 80,
|
||||
/* 0x1630 */ 99, 90, 0, 1, 66, 0,255,196, 56, 0, 0, 4, 87, 90, 32, 54,
|
||||
/* 0x1640 */ 124, 9, 3,166, 56,216, 6, 68, 60, 96, 0,255, 56,128, 0, 1,
|
||||
/* 0x1650 */ 96, 99,255,255, 59,224, 0, 1,127,136, 24, 64, 87,231, 8, 60,
|
||||
/* 0x1660 */ 127, 12,224, 0, 84,169, 64, 46,124,255, 59,120, 65,157, 0, 24,
|
||||
/* 0x1670 */ 65,154, 0,208,136, 12, 0, 0, 85, 8, 64, 46, 57,140, 0, 1,
|
||||
/* 0x1680 */ 125, 37, 3,120,125,102, 58, 46, 85, 0,170,254,125, 64, 89,214,
|
||||
/* 0x1690 */ 32, 11, 8, 0, 85,105,217,126,124, 0, 46,112,124, 11, 2, 20,
|
||||
/* 0x16a0 */ 125,105, 88, 80,127,133, 80, 64,125, 10, 64, 80, 64,156, 0, 16,
|
||||
/* 0x16b0 */ 125, 72, 83,120,124, 6, 59, 46, 72, 0, 0, 20,124,170, 40, 80,
|
||||
/* 0x16c0 */ 59,231, 0, 1,125,102, 59, 46,127, 90, 35,120, 84,132, 8, 60,
|
||||
/* 0x16d0 */ 66, 0,255,136, 55, 90, 0, 1, 65,130, 0, 72,127,154,200, 64,
|
||||
/* 0x16e0 */ 59,189, 0, 2, 65,157, 0, 92,124, 26,200, 80, 59,189,255,255,
|
||||
/* 0x16f0 */ 127,245, 0,174, 49,125,255,255,125, 43,233, 16,127,249,169,174,
|
||||
/* 0x1700 */ 59, 57, 0, 1,124, 20,200, 16,124, 0, 1, 16,124, 0, 0,208,
|
||||
/* 0x1710 */ 125, 43, 0, 57, 64,130,255,212,127,153,160, 64, 65,156,247,172,
|
||||
/* 0x1720 */ 60, 0, 0,255, 96, 0,255,255,127,136, 0, 64, 65,157, 0, 32,
|
||||
/* 0x1730 */ 127,140,224, 0, 56, 96, 0, 1, 65,158, 0, 40, 72, 0, 0, 12,
|
||||
/* 0x1740 */ 56, 96, 0, 1, 72, 0, 0, 28, 57,140, 0, 1,125, 40, 2,166,
|
||||
/* 0x1750 */ 124, 19, 96, 80, 56, 96, 0, 0,144, 14, 0, 0,147, 41, 0, 0,
|
||||
/* 0x1760 */ 128, 1, 0,100,185,193, 0, 24, 56, 33, 0, 96,124, 8, 3,166,
|
||||
/* 0x1770 */ 128,161, 0, 12,128,225, 0, 8,128,165, 0, 0,128, 33, 0, 0,
|
||||
/* 0x1780 */ 124,165, 58, 20,128, 1, 0, 8, 56,165,255,255,128, 33, 0, 0,
|
||||
/* 0x1790 */ 124, 8, 3,166,128,230, 0, 0,125,168, 3,166,124,100, 24, 80,
|
||||
/* 0x17a0 */ 124,135, 40, 80, 56, 99, 0, 1, 56,132, 0, 1,144,134, 0, 0,
|
||||
/* 0x17b0 */ 96,231, 0, 31,124, 0, 56,108,124, 7, 40, 64,124, 0, 63,172,
|
||||
/* 0x17c0 */ 56,231, 0, 32, 65,128,255,240,124, 0, 4,172, 76, 0, 1, 44,
|
||||
/* 0x17d0 */ 78,128, 0, 32, 72, 0, 0, 1,109,109, 97,112, 32,102, 97,105,
|
||||
/* 0x17e0 */ 108,101,100, 46, 10, 0, 56,160, 0, 14,124,136, 2,166, 56, 96,
|
||||
/* 0x17f0 */ 0, 2, 56, 0, 0, 4, 68, 0, 0, 2, 56, 96, 0,127, 56, 0,
|
||||
/* 0x1800 */ 0, 1, 68, 0, 0, 2,126,200, 2,166,128, 31,255,248, 59, 63,
|
||||
/* 0x1810 */ 255,248,127, 32,200, 80, 56,224,255,255,130,182, 0, 4, 56,192,
|
||||
/* 0x1820 */ 0, 34, 56, 96, 0, 0,126,164,171,120,124,156, 35,120, 72, 0,
|
||||
/* 0x1830 */ 0, 93,124,125, 27,120,130,118, 0, 0, 86,115, 0, 58,127,233,
|
||||
/* 0x1840 */ 3,166,136,246, 0, 12,146,161, 0,140, 56,193, 0,140,127,165,
|
||||
/* 0x1850 */ 235,120,128,150, 0, 8, 56,118, 0, 16, 78,128, 4, 33,147,221,
|
||||
/* 0x1860 */ 0, 8, 56,160, 0, 5,127,132,227,120,127,163,235,120, 56, 0,
|
||||
/* 0x1870 */ 0,125, 68, 0, 0, 2,130,255,255,248,127,169, 3,166,127, 25,
|
||||
/* 0x1880 */ 154, 20, 56, 0, 0, 36, 78,128, 4, 32, 57, 0, 0, 0, 56,160,
|
||||
/* 0x1890 */ 0, 3, 56, 0, 0, 90, 68, 0, 0, 2, 64,131, 0, 8,124,128,
|
||||
/* 0x18a0 */ 0, 8, 78,128, 0, 32,128, 3, 0, 0, 56, 99, 0, 4, 44, 0,
|
||||
/* 0x18b0 */ 0, 0, 64,130,255,244, 78,128, 0, 32,148, 33,255,112,188, 65,
|
||||
/* 0x18c0 */ 0, 20,127,232, 2,166, 56, 97, 0,148, 75,255,255,221, 75,255,
|
||||
/* 0x18d0 */ 255,217,124,122, 27,120,128, 3, 0, 0,128,131, 0, 4, 56, 99,
|
||||
/* 0x18e0 */ 0, 8, 44, 0, 0, 6, 65,130, 0, 16, 44, 0, 0, 0, 64,130,
|
||||
/* 0x18f0 */ 255,232, 56,128, 16, 0,127,196, 0,208, 75,255,255, 13, 0, 0,
|
||||
/* 0x1900 */ 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,
|
||||
/* 0x1910 */ 102, 51, 50, 45,112,111,119,101,114,112, 99, 10, 10, 83,101, 99,
|
||||
/* 0x1920 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32,
|
||||
/* 0x1930 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32,
|
||||
/* 0x1940 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65,
|
||||
/* 0x1950 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32,
|
||||
/* 0x1960 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48,
|
||||
/* 0x1970 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x1980 */ 52, 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 52, 32, 32, 50, 42,
|
||||
/* 0x1990 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49,
|
||||
/* 0x19a0 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x19b0 */ 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 56, 32, 32, 50, 42, 42,
|
||||
/* 0x19c0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 50, 32,
|
||||
/* 0x19d0 */ 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 49,
|
||||
/* 0x19e0 */ 52, 99, 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 56, 32, 32, 50,
|
||||
/* 0x19f0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32,
|
||||
/* 0x1a00 */ 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1a10 */ 48, 49, 51, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 56, 52,
|
||||
/* 0x1a20 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x1a30 */ 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1a40 */ 32, 32, 32, 48,102, 52, 32, 32, 48, 32, 32, 48, 32, 32, 48, 50,
|
||||
/* 0x1a50 */ 98, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x1a60 */ 84, 83, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48,
|
||||
/* 0x1a70 */ 48, 32, 32, 32, 32, 48, 57, 48, 32, 32, 48, 32, 32, 48, 32, 32,
|
||||
/* 0x1a80 */ 48, 51, 97, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
|
||||
/* 0x1a90 */ 69, 78, 84, 83, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69,
|
||||
/* 0x1aa0 */ 67, 49, 48, 32, 32, 32, 32, 48, 57, 57, 99, 32, 32, 48, 32, 32,
|
||||
/* 0x1ab0 */ 48, 32, 32, 48, 52, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67,
|
||||
/* 0x1ac0 */ 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 55, 32, 76, 90, 77, 65,
|
||||
/* 0x1ad0 */ 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 57, 57, 99, 32, 32,
|
||||
/* 0x1ae0 */ 48, 32, 32, 48, 32, 32, 48,100,100, 52, 32, 32, 50, 42, 42, 48,
|
||||
/* 0x1af0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 56, 32, 76,
|
||||
/* 0x1b00 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 50, 52,
|
||||
/* 0x1b10 */ 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 55, 55, 48, 32, 32, 50,
|
||||
/* 0x1b20 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32,
|
||||
/* 0x1b30 */ 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1b40 */ 48, 49, 99, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 55, 57, 52,
|
||||
/* 0x1b50 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x1b60 */ 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, 32, 32, 32,
|
||||
/* 0x1b70 */ 32, 32, 32, 48, 50, 52, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49,
|
||||
/* 0x1b80 */ 55, 98, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
|
||||
/* 0x1b90 */ 78, 84, 83, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 89,
|
||||
/* 0x1ba0 */ 32, 32, 32, 32, 32, 32, 48, 49, 50, 32, 32, 48, 32, 32, 48, 32,
|
||||
/* 0x1bb0 */ 32, 48, 49, 55,100, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
|
||||
/* 0x1bc0 */ 78, 84, 69, 78, 84, 83, 10, 32, 49, 50, 32, 69, 76, 70, 77, 65,
|
||||
/* 0x1bd0 */ 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 49, 49, 99, 32, 32, 48,
|
||||
/* 0x1be0 */ 32, 32, 48, 32, 32, 48, 49, 55,101, 54, 32, 32, 50, 42, 42, 48,
|
||||
/* 0x1bf0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79,
|
||||
/* 0x1c00 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1c10 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68,
|
||||
/* 0x1c20 */ 69, 67, 51, 48, 32, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51,
|
||||
/* 0x1c30 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
|
||||
/* 0x1c40 */ 100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 48, 32, 78, 82,
|
||||
/* 0x1c50 */ 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1c60 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,
|
||||
/* 0x1c70 */ 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48,
|
||||
/* 0x1c80 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70,
|
||||
/* 0x1c90 */ 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88,
|
||||
/* 0x1ca0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x1cb0 */ 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 48, 32, 78, 82, 86,
|
||||
/* 0x1cc0 */ 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
|
||||
/* 0x1cd0 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 32, 48, 32, 78,
|
||||
/* 0x1ce0 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x1cf0 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 32, 48, 32, 78, 82,
|
||||
/* 0x1d00 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32,
|
||||
/* 0x1d10 */ 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 32, 48, 32, 78, 82, 86,
|
||||
/* 0x1d20 */ 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x1d30 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 48,
|
||||
/* 0x1d40 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48,
|
||||
/* 0x1d50 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77,
|
||||
/* 0x1d60 */ 65, 95, 68, 69, 67, 49, 48, 32, 48, 32, 76, 90, 77, 65, 95, 68,
|
||||
/* 0x1d70 */ 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x1d80 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48,
|
||||
/* 0x1d90 */ 32, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48,
|
||||
/* 0x1da0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67,
|
||||
/* 0x1db0 */ 70, 76, 85, 83, 72, 32, 48, 32, 67, 70, 76, 85, 83, 72, 10, 48,
|
||||
/* 0x1dc0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x1dd0 */ 69, 76, 70, 77, 65, 73, 78, 89, 32, 48, 32, 69, 76, 70, 77, 65,
|
||||
/* 0x1de0 */ 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32,
|
||||
/* 0x1df0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,
|
||||
/* 0x1e00 */ 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1e10 */ 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32,
|
||||
/* 0x1e20 */ 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84,
|
||||
/* 0x1e30 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32,
|
||||
/* 0x1e40 */ 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83,
|
||||
/* 0x1e50 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1e60 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
|
||||
/* 0x1e70 */ 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50,
|
||||
/* 0x1e80 */ 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,
|
||||
/* 0x1e90 */ 43, 48,120, 48, 48, 48, 48, 48, 48,100, 52, 10, 10, 82, 69, 76,
|
||||
/* 0x1ea0 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32,
|
||||
/* 0x1eb0 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70,
|
||||
/* 0x1ec0 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1ed0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48,
|
||||
/* 0x1ee0 */ 48, 48, 48, 48, 98, 56, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76,
|
||||
/* 0x1ef0 */ 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73,
|
||||
/* 0x1f00 */ 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69,
|
||||
/* 0x1f10 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68,
|
||||
/* 0x1f20 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
|
||||
/* 0x1f30 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
|
||||
/* 0x1f40 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 56, 32, 82, 95, 80,
|
||||
/* 0x1f50 */ 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78,
|
||||
/* 0x1f60 */ 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84,
|
||||
/* 0x1f70 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32,
|
||||
/* 0x1f80 */ 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
|
||||
/* 0x1f90 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1fa0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fb0 */ 57, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32,
|
||||
/* 0x1fc0 */ 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82,
|
||||
/* 0x1fd0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68,
|
||||
/* 0x1fe0 */ 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, 48,
|
||||
/* 0x1ff0 */ 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80,
|
||||
/* 0x2000 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86,
|
||||
/* 0x2010 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95,
|
||||
/* 0x2020 */ 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2030 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, 48,
|
||||
/* 0x2040 */ 48, 48, 48, 50, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79,
|
||||
/* 0x2050 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69,
|
||||
/* 0x2060 */ 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84,
|
||||
/* 0x2070 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2080 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x2090 */ 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32,
|
||||
/* 0x20a0 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10,
|
||||
/* 0x20b0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82,
|
||||
/* 0x20c0 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90,
|
||||
/* 0x20d0 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
|
||||
/* 0x20e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
|
||||
/* 0x20f0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, 56, 32, 82, 95, 80,
|
||||
/* 0x2100 */ 80, 67, 95, 65, 68, 68, 82, 51, 50, 32, 32, 32, 32, 32, 32, 79,
|
||||
/* 0x2110 */ 95, 66, 73, 78, 70, 79, 10
|
||||
/* 0x0060 */ 57, 64,255,255, 72, 0, 0,184,124, 9, 0, 64,125, 41, 72, 20,
|
||||
/* 0x0070 */ 76,162, 0, 32, 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,
|
||||
/* 0x0080 */ 97, 43, 0, 1,124, 11, 0, 64,125, 41, 73, 20, 78,128, 0, 32,
|
||||
/* 0x0090 */ 141, 3, 0, 1,157, 5, 0, 1, 75,255,255,209, 65,129,255,244,
|
||||
/* 0x00a0 */ 56,224, 0, 1, 75,255,255,197,124,231, 57, 21, 75,255,255,189,
|
||||
/* 0x00b0 */ 65,160,255,244, 52,231,255,253, 57, 0, 0, 0, 65,128, 0, 20,
|
||||
/* 0x00c0 */ 141, 99, 0, 1, 84,231, 64, 46,124,234, 88,249, 65,130, 0, 96,
|
||||
/* 0x00d0 */ 75,255,255,153,125, 8, 65, 21, 75,255,255,145,125, 8, 65, 21,
|
||||
/* 0x00e0 */ 56,224, 0, 1, 64,130, 0, 28, 56,224, 0, 3, 57, 0, 0, 1,
|
||||
/* 0x00f0 */ 75,255,255,121,125, 8, 65, 21, 75,255,255,113, 65,160,255,244,
|
||||
/* 0x0100 */ 33,106,242,255,125, 8, 57, 20,124,234, 42, 20,125, 9, 3,166,
|
||||
/* 0x0110 */ 141, 7, 0, 1,157, 5, 0, 1, 66, 0,255,248, 56,224, 1, 0,
|
||||
/* 0x0120 */ 124, 7, 41,236,124, 7, 26, 44, 75,255,255,112,128,230, 0, 0,
|
||||
/* 0x0130 */ 125,168, 3,166,124,100, 24, 80,124,135, 40, 80, 56, 99, 0, 1,
|
||||
/* 0x0140 */ 56,132, 0, 1,144,134, 0, 0, 96,231, 0, 31,124, 0, 56,108,
|
||||
/* 0x0150 */ 124, 7, 40, 64,124, 0, 63,172, 56,231, 0, 32, 65,128,255,240,
|
||||
/* 0x0160 */ 124, 0, 4,172, 76, 0, 1, 44, 78,128, 0, 32,126,200, 2,166,
|
||||
/* 0x0170 */ 128, 31,255,248, 59, 63,255,248,127, 32,200, 80,131,150, 0, 4,
|
||||
/* 0x0180 */ 72, 0, 0, 9,117,112,120, 0,124,104, 2,166, 56,128, 0, 16,
|
||||
/* 0x0190 */ 56, 0, 1,104, 68, 0, 0, 2, 64,163, 0, 8,124,128, 0, 8,
|
||||
/* 0x01a0 */ 124,123, 27,120,124, 62, 11,120, 56, 0,255,224,124, 60, 8, 80,
|
||||
/* 0x01b0 */ 124, 33, 0, 56,130,118, 0, 0,136,246, 0, 12,147,158, 0,140,
|
||||
/* 0x01c0 */ 56,222, 0,140,124, 37, 11,120,128,150, 0, 8, 56,118, 0, 16,
|
||||
/* 0x01d0 */ 72, 0, 0, 5,146,129, 0, 0,127, 99,219,120,124, 36, 11,120,
|
||||
/* 0x01e0 */ 127,133,227,120, 56, 0, 0, 4, 68, 0, 0, 2, 64,163, 0, 8,
|
||||
/* 0x01f0 */ 124,128, 0, 8,127,193,243,120, 57, 0, 0, 0,127,103,219,120,
|
||||
/* 0x0200 */ 56,192, 0, 2, 56,160, 0, 7,127,132,227,120, 56, 96, 0, 0,
|
||||
/* 0x0210 */ 56, 0, 0, 90, 68, 0, 0, 2, 64,163, 0, 8,124,128, 0, 8,
|
||||
/* 0x0220 */ 124,125, 27,120,127, 99,219,120, 56, 96, 0, 6, 68, 0, 0, 2,
|
||||
/* 0x0230 */ 56, 29, 0, 8,127, 25,154, 20,124, 9, 3,166, 56, 0, 0, 36,
|
||||
/* 0x0240 */ 130,255,255,248, 78,128, 4, 32, 57, 0, 0, 0, 56,160, 0, 3,
|
||||
/* 0x0250 */ 56, 0, 0, 90, 68, 0, 0, 2, 64,163, 0, 8,124,128, 0, 8,
|
||||
/* 0x0260 */ 78,128, 0, 32,128, 3, 0, 0, 56, 99, 0, 4, 47,128, 0, 0,
|
||||
/* 0x0270 */ 64,158,255,244, 78,128, 0, 32,148, 33,255,112,188, 65, 0, 20,
|
||||
/* 0x0280 */ 127,232, 2,166, 56, 97, 0,148, 75,255,255,221, 75,255,255,217,
|
||||
/* 0x0290 */ 124,122, 27,120,128, 3, 0, 0,128,131, 0, 4, 56, 99, 0, 8,
|
||||
/* 0x02a0 */ 47,128, 0, 6, 65,158, 0, 16, 44, 0, 0, 0, 64,130,255,232,
|
||||
/* 0x02b0 */ 56,128, 16, 0,126,132, 0,208, 75,255,254,181, 0, 0, 0, 0,
|
||||
/* 0x02c0 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51,
|
||||
/* 0x02d0 */ 50, 45,112,111,119,101,114,112, 99, 10, 10, 83,101, 99,116,105,
|
||||
/* 0x02e0 */ 111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32,
|
||||
/* 0x02f0 */ 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32,
|
||||
/* 0x0300 */ 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32,
|
||||
/* 0x0310 */ 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,
|
||||
/* 0x0320 */ 108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69,
|
||||
/* 0x0330 */ 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 49, 51,
|
||||
/* 0x0340 */ 56, 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 52, 32, 32, 50, 42,
|
||||
/* 0x0350 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49,
|
||||
/* 0x0360 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x0370 */ 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 54, 99, 32, 32, 50, 42,
|
||||
/* 0x0380 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 50,
|
||||
/* 0x0390 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x03a0 */ 49, 53, 52, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 54, 99, 32,
|
||||
/* 0x03b0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10,
|
||||
/* 0x03c0 */ 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48,
|
||||
/* 0x03d0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69,
|
||||
/* 0x03e0 */ 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x03f0 */ 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x0400 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69,
|
||||
/* 0x0410 */ 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x0420 */ 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78,
|
||||
/* 0x0430 */ 89, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48,
|
||||
/* 0x0440 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76,
|
||||
/* 0x0450 */ 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,116, 10,
|
||||
/* 0x0460 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0470 */ 32, 42, 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, 73, 78, 70, 79,
|
||||
/* 0x0480 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
|
||||
/* 0x0490 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x04a0 */ 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89,
|
||||
/* 0x04b0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x04c0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82,
|
||||
/* 0x04d0 */ 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x04e0 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48,
|
||||
/* 0x04f0 */ 48, 49, 48, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
|
||||
/* 0x0500 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76,
|
||||
/* 0x0510 */ 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
|
||||
/* 0x0520 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x0530 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x0540 */ 54, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32,
|
||||
/* 0x0550 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 43, 48,120,
|
||||
/* 0x0560 */ 48, 48, 48, 48, 48, 48, 48, 52, 10, 48, 48, 48, 48, 48, 49, 53,
|
||||
/* 0x0570 */ 48, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, 82, 51, 50, 32, 32,
|
||||
/* 0x0580 */ 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
|
||||
};
|
||||
|
||||
1648
src/stub/powerpc-linux.elf-fold.h
generated
1648
src/stub/powerpc-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
1990
src/stub/powerpc64-linux.elf-fold.h
generated
1990
src/stub/powerpc64-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
1991
src/stub/powerpc64le-linux.elf-fold.h
generated
1991
src/stub/powerpc64le-linux.elf-fold.h
generated
File diff suppressed because it is too large
Load Diff
@ -33,4 +33,38 @@
|
||||
.section \name
|
||||
.endm
|
||||
|
||||
.macro PUSH4 p1,p2,p3,p4
|
||||
stwu \p1,-4*NBPW(sp)
|
||||
stw \p2, 1*NBPW(sp)
|
||||
stw \p3, 2*NBPW(sp)
|
||||
stw \p4, 3*NBPW(sp)
|
||||
.endm
|
||||
.macro POP4 p1,p2,p3,p4
|
||||
lwz \p1, 0*NBPW(sp)
|
||||
lwz \p2, 1*NBPW(sp)
|
||||
lwz \p3, 2*NBPW(sp)
|
||||
lwz \p4, 3*NBPW(sp)
|
||||
addi sp,sp,4*NBPW
|
||||
.endm
|
||||
.macro PUSH3 p1,p2,p3
|
||||
stwu \p1,-3*NBPW(sp)
|
||||
stw \p2, 1*NBPW(sp)
|
||||
stw \p3, 2*NBPW(sp)
|
||||
.endm
|
||||
.macro POP3 p1,p2,p3
|
||||
lwz \p1, 0*NBPW(sp)
|
||||
lwz \p2, 1*NBPW(sp)
|
||||
lwz \p3, 2*NBPW(sp)
|
||||
addi sp,sp,3*NBPW
|
||||
.endm
|
||||
.macro POP2 p1,p2
|
||||
lwz \p1, 0*NBPW(sp)
|
||||
lwz \p2, 1*NBPW(sp)
|
||||
addi sp,sp,2*NBPW
|
||||
.endm
|
||||
.macro POP1 p1
|
||||
lwz \p1, 0*NBPW(sp)
|
||||
addi sp,sp,1*NBPW
|
||||
.endm
|
||||
|
||||
// vi:ts=8:et:nowrap
|
||||
|
||||
@ -658,7 +658,7 @@ do_xmap(
|
||||
#if defined(__i386__) //{
|
||||
void *const hatch = make_hatch_i386(phdr, xo.buf, ~page_mask);
|
||||
#elif defined(__powerpc__) //}{
|
||||
void *const hatch = make_hatch_ppc(phdr, xo.buf, ~page_mask);
|
||||
void *const hatch = make_hatch_ppc32(phdr, xo.buf, ~page_mask);
|
||||
#elif defined(__arm__) //}{
|
||||
void *const hatch = make_hatch_arm32(phdr, xo.buf, ~page_mask);
|
||||
#endif //}
|
||||
@ -726,7 +726,7 @@ upx_main( // returns entry address
|
||||
// ehdr = Uncompress Ehdr and Phdrs
|
||||
unpackExtent(&xi2, &xo); // never filtered?
|
||||
|
||||
#if defined(__i386__) || defined(__arm__) //{
|
||||
#if defined(__i386__) || defined(__arm__) || defined(__powerpc__) //{
|
||||
ElfW(Addr) *const p_reloc = &elfaddr;
|
||||
#endif //}
|
||||
ElfW(Addr) page_mask = get_page_mask(); (void)page_mask;
|
||||
|
||||
183
src/stub/src/powerpc-expand.S
Normal file
183
src/stub/src/powerpc-expand.S
Normal file
@ -0,0 +1,183 @@
|
||||
/*
|
||||
; powerpc-expand.S -- decompressors for powerpc
|
||||
;
|
||||
; This file is part of the UPX executable compressor.
|
||||
;
|
||||
; Copyright (C) 1996-2021 Markus Franz Xaver Johannes Oberhumer
|
||||
; Copyright (C) 1996-2021 Laszlo Molnar
|
||||
; Copyright (C) 2000-2021 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> <ezerotven+github@gmail.com>
|
||||
;
|
||||
; John F. Reiser
|
||||
; <jreiser@users.sourceforge.net>
|
||||
;
|
||||
*/
|
||||
|
||||
// FIXME This assembles, but has ERRORS in translation from amd64
|
||||
|
||||
NBPW= 4
|
||||
SZ_DLINE= 128 # size of data cache line in Apple G5
|
||||
#ifndef BIG_ENDIAN //{
|
||||
#define BIG_ENDIAN 1
|
||||
#endif //}
|
||||
|
||||
#include "arch/powerpc/32/ppc_regs.h"
|
||||
#include "arch/powerpc/32/macros.S"
|
||||
|
||||
section EXP_HEAD
|
||||
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
b_ftid= 9
|
||||
b_cto8= 10
|
||||
b_extra= 11
|
||||
sz_binfo= 12
|
||||
|
||||
f_expand: .globl f_expand // f_expand(b_info *, dst, &dstlen)
|
||||
.type f_expand,function
|
||||
// Supervisor for de-compression, un-filter, and sync_cache
|
||||
// Input to supervisor:
|
||||
#define fx_src a0
|
||||
#define fx_dst a1
|
||||
#define fx_dstlen a2
|
||||
mflr r0
|
||||
PUSH4 fx_src,fx_dst,fx_dstlen,r0 // params to unfilter and sync_cache
|
||||
|
||||
// Input to de-compressor:
|
||||
#define xsrc a0
|
||||
#define xsrclen a1
|
||||
#define xdst a2
|
||||
#define xdstlen a3
|
||||
#define methb a4
|
||||
lbz methb,b_method(fx_src)
|
||||
movr xdstlen,fx_dstlen // arg4
|
||||
movr xdst,fx_dst // arg3
|
||||
lwz xsrclen,sz_cpr(xsrc) // arg2
|
||||
addi xsrc,fx_src,sz_binfo // arg1
|
||||
call decompress
|
||||
movr a3,a0 // save retval
|
||||
|
||||
POP3 a2,a0,a1 // fx_src,fx_dst,fx_dstlen; keep f_expand.retaddr
|
||||
lwz a1,0(a1) // actual length used by decompressor
|
||||
PUSH3 a0,a1,a3 // params for sync_cache
|
||||
lbz a3,b_ftid(a2)
|
||||
lbz a2,b_cto8(a2)
|
||||
cmpi cr0,a3,0; beq no_unf
|
||||
call unfilter
|
||||
no_unf:
|
||||
|
||||
POP2 a0,a1 // dst, len
|
||||
add a1,a1,a0 // lo, hi
|
||||
|
||||
CACHELINE=32
|
||||
ori a0,a0,-1+ CACHELINE // highest addr on cache line
|
||||
cfl_nrv:
|
||||
dcbst 0,a0 // initiate store (modified) cacheline to memory
|
||||
cmpl cr0,a0,a1 // did we cover the highest-addressed byte?
|
||||
icbi 0,a0 // discard instructions from cacheline
|
||||
addi a0,a0,CACHELINE // highest addr on next line
|
||||
blt cr0,cfl_nrv // not done yet
|
||||
sync // wait for all memory operations to finish
|
||||
isync // discard prefetched instructions (if any)
|
||||
cfl_ret:
|
||||
POP2 a0,r0 // retval, retaddr from f_expand
|
||||
mtlr r0
|
||||
ret
|
||||
// .unreq fx_src
|
||||
// .unreq fx_dst
|
||||
// .unreq fx_dstlen
|
||||
// .unreq xsrc
|
||||
// .unreq xsrclen
|
||||
// .unreq xdst
|
||||
// .unreq xdstlen
|
||||
// .unreq methb
|
||||
|
||||
decompress: // (src *, cpr_len, dst *, &dstlen);
|
||||
// sections NRV2B, etc, inserted here by addLoader() from ::buildLinuxLoader()
|
||||
|
||||
section EXP_TAIL
|
||||
#define M_NRV2B_LE32 2
|
||||
#define M_NRV2B_8 3
|
||||
#define M_NRV2D_LE32 5
|
||||
#define M_NRV2D_8 6
|
||||
#define M_NRV2E_LE32 8
|
||||
#define M_NRV2E_8 9
|
||||
#define M_CL1B_LE32 11
|
||||
#define M_LZMA 14
|
||||
|
||||
#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
|
||||
|
||||
.globl eof_nrv
|
||||
eof_nrv:
|
||||
#define tmp a1
|
||||
#define dst0 a4
|
||||
lwz 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
|
||||
stw tmp,0(ldst)
|
||||
blr
|
||||
#undef tmp
|
||||
#undef dst0
|
||||
|
||||
unfilter:
|
||||
#include "arch/powerpc/64/bxx.S" // unfilter code; args in registers, fall-through return
|
||||
|
||||
// FIXME: will need extra parameter for multi-method decompression
|
||||
#define NO_METHOD_CHECK 1
|
||||
|
||||
#define off a4
|
||||
#define len a5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
section NRV2E
|
||||
#include "arch/powerpc/32/nrv2e_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/powerpc/32/nrv2d_d.S"
|
||||
|
||||
section NRV2B
|
||||
#include "arch/powerpc/32/nrv2b_d.S"
|
||||
|
||||
#undef off
|
||||
#undef len
|
||||
#undef bits
|
||||
#undef disp
|
||||
|
||||
#undef src
|
||||
#undef lsrc
|
||||
#undef dst
|
||||
#undef ldst
|
||||
#undef meth
|
||||
|
||||
/* lzma has its own 'section's */
|
||||
#include "arch/powerpc/32/lzma_d.S"
|
||||
|
||||
@ -61,6 +61,7 @@ PROT_EXEC= 4
|
||||
MAP_PRIVATE= 2
|
||||
MAP_FIXED= 0x10
|
||||
MAP_ANONYMOUS= 0x20
|
||||
MFD_EXEC= 0x10
|
||||
|
||||
PAGE_SHIFT= 12
|
||||
PAGE_SIZE = -(~0<<PAGE_SHIFT)
|
||||
@ -70,6 +71,7 @@ PAGE_SIZE64 = -(~0<<PAGE_SHIFT64)
|
||||
|
||||
/* /usr/include/asm-ppc/unistd.h */
|
||||
__NR_exit = 1
|
||||
__NR_memfd_create= 360
|
||||
__NR_mmap = 90
|
||||
__NR_mprotect = 125
|
||||
__NR_munmap = 91
|
||||
@ -85,7 +87,6 @@ f_exp:
|
||||
/* 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] */
|
||||
@ -102,18 +103,8 @@ SZ_DLINE=128 # size of data cache line in Apple G5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
section NRV2E
|
||||
#include "arch/powerpc/32/nrv2e_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/powerpc/32/nrv2d_d.S"
|
||||
|
||||
section NRV2B
|
||||
#include "arch/powerpc/32/nrv2b_d.S"
|
||||
|
||||
#include "arch/powerpc/32/lzma_d.S"
|
||||
|
||||
section NRV_TAIL
|
||||
eof_nrv:
|
||||
#define dst0 a4
|
||||
#define tmp a1
|
||||
@ -134,7 +125,6 @@ eof_nrv:
|
||||
// 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:
|
||||
@ -150,25 +140,11 @@ cfl_ret:
|
||||
ret
|
||||
|
||||
section ELFMAINY
|
||||
msg_SELinux:
|
||||
call L72
|
||||
L70:
|
||||
.asciz "mmap 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
|
||||
|
||||
r_exp= 31
|
||||
r_PMASK= 30
|
||||
r_fp= 30
|
||||
r_ADRU= 29
|
||||
r_LENU= 28
|
||||
r_fd= 27
|
||||
@ -177,53 +153,71 @@ r_elf= 25
|
||||
r_ADRX= 24
|
||||
r_LENX= 23
|
||||
r_FLD= 22
|
||||
r_szuf= 21
|
||||
|
||||
r_PMASK= 20
|
||||
r_obinf= 19
|
||||
|
||||
/* Decompress the rest of this loader, and jump to it. */
|
||||
unfold: // IN: r_exp, r_auxv, r_PMASK
|
||||
unfold: // IN: r_auxv, r_PMASK
|
||||
mflr r_FLD // LrFLD
|
||||
|
||||
//Reserve enough space to decompress the folded code of the stub
|
||||
lwz r0, sz_pack2 - f_exp(r_exp)
|
||||
lwz r0, sz_pack2 - f_exp(r_exp)
|
||||
la r_elf,sz_pack2 - f_exp(r_exp)
|
||||
sub r_elf,r_elf,r0 // r_elf=&Elf32_Ehdr of stub
|
||||
li a4,-1
|
||||
lwz r_szuf, sz_unc + LBINFO - LrFLD(r_FLD) // sz_unc of fold
|
||||
li a3,MAP_PRIVATE|MAP_ANONYMOUS
|
||||
li a0,0 // kernel chooses addr
|
||||
mr a1,r_szuf // length needed
|
||||
mr r_LENU,a1
|
||||
call mmapRW0 // fills in a5, a2
|
||||
mr r_ADRU,a0
|
||||
lwz r_LENU, sz_unc + LBINFO - LrFLD(r_FLD) // sz_unc of fold
|
||||
|
||||
call 0f; .asciz "upx"; 0:
|
||||
mflr a0
|
||||
li a1,MFD_EXEC
|
||||
SYS_memfd_create= __NR_memfd_create
|
||||
li r0,SYS_memfd_create; sc; bns+ 0f; teq r0,r0; 0:
|
||||
mr r_fd,a0
|
||||
|
||||
//Reserve enough space to decompress the folded code of the stub
|
||||
mr r_fp,sp
|
||||
li r0,-CACHELINE
|
||||
// alloca
|
||||
sub sp,sp,r_LENU
|
||||
and sp,sp,r0
|
||||
|
||||
lwz r_obinf, LOBINFO - LrFLD(r_FLD) // O_BINFO
|
||||
clrrwi r_obinf,r_obinf,2 // clear is_ptinterp | unmap_all_pages
|
||||
// Decompress folded code
|
||||
mtctr r_exp
|
||||
lbz meth,b_method + LBINFO - LrFLD(r_FLD)
|
||||
stw r_szuf,SZ_FRAME+31*NBPW(sp) // lzma uses for EOF
|
||||
la ldst, SZ_FRAME+31*NBPW(sp) // &slot on stack
|
||||
mr dst,r_ADRU // dst for unfolding
|
||||
stw r_LENU,SZ_FRAME+31*NBPW(r_fp) // lzma uses for EOF
|
||||
la ldst, SZ_FRAME+31*NBPW(r_fp) // &slot on stack
|
||||
mr dst,sp // dst for unfolding
|
||||
lwz lsrc,sz_cpr + LBINFO - LrFLD(r_FLD)
|
||||
la src,sz_b_info + LBINFO - LrFLD(r_FLD) // folded code
|
||||
bctrl // decompress it
|
||||
bl decompress
|
||||
stw r_PMASK,0(sp) // forward the actual PAGE_MASK
|
||||
|
||||
// Generate code to compute PAGE_MASK.
|
||||
stw r_PMASK,2*4(r_ADRU) // page_mask in powerpc-linux.elf-fold.S
|
||||
mr a0,r_fd
|
||||
mr a1,sp
|
||||
mr a2,r_LENU
|
||||
SYS_write= __NR_write
|
||||
li r0,SYS_write; sc; bns+ 0f; teq r0,r0; 0:
|
||||
mr sp,r_fp
|
||||
|
||||
// PROT_EXEC
|
||||
li a2,PROT_EXEC|PROT_READ
|
||||
mr a1,r_LENU // length
|
||||
mr a0,r_ADRU // base
|
||||
li r0,__NR_mprotect; sc
|
||||
li a5,0
|
||||
mr a4,r_fd
|
||||
li a3,MAP_PRIVATE
|
||||
li a2,PROT_WRITE|PROT_EXEC|PROT_READ // PROT_WRITE: DEBUG only
|
||||
mr a1,r_LENU
|
||||
li a0,0
|
||||
SYS_mmap= __NR_mmap
|
||||
li r0,SYS_mmap; sc; bns+ 0f; teq r0,r0; 0:
|
||||
mr r_ADRU,a0
|
||||
|
||||
mr a0,r_fd
|
||||
SYS_close= 6
|
||||
li a0,SYS_close; sc
|
||||
|
||||
// Use the unfolded code
|
||||
lwz r_LENX, sz_pack2 - f_exp(r_exp)
|
||||
mtctr r_ADRU
|
||||
addi r0,r_ADRU,2*NBPW // skip page_mask, other word
|
||||
add r_ADRX,r_elf,r_obinf // compressed data
|
||||
mtctr r0
|
||||
li r0,(SZ_FRAME+32*NBPW)/NBPW // words before &argc
|
||||
lwz r_LENX, sz_pack2 - f_exp(r_exp)
|
||||
bctr
|
||||
|
||||
// Example code at entrypoint of C-language subroutine:
|
||||
@ -243,12 +237,12 @@ mmapRW0:
|
||||
mmapRW:
|
||||
li a2,PROT_READ|PROT_WRITE
|
||||
mmap:
|
||||
li r0,__NR_mmap; sc; bns 0f; teq r0,r0; 0:
|
||||
li r0,__NR_mmap; sc; bns+ 0f; teq r0,r0; 0:
|
||||
ret
|
||||
|
||||
zfind:
|
||||
lwz r0,0(a0); addi a0,a0,NBPW
|
||||
cmpi cr0,r0,0; bne+ cr0,zfind
|
||||
cmpi cr7,r0,0; bne+ cr7,zfind
|
||||
ret
|
||||
|
||||
main:
|
||||
@ -256,7 +250,7 @@ main:
|
||||
stmw r2, SZ_FRAME+ 2*NBPW - NBPW(sp) // save registers r2 thru r31
|
||||
mflr r_exp // &f_exp (decompress)
|
||||
|
||||
la a0,SZ_FRAME+32*NBPW+NBPW(sp) // argv; argc could be zero
|
||||
la a0,SZ_FRAME+32*NBPW+NBPW(sp) // &argv; argc could be zero!
|
||||
call zfind // a0= envp
|
||||
call zfind // a0= &Elf32_auxv
|
||||
mr r_auxv,a0 // save for folded code
|
||||
@ -264,7 +258,7 @@ main:
|
||||
// set r_PMASK by finding actual page size in Elf32_auxv_t
|
||||
1:
|
||||
lwz r0,a_type(a0); lwz a1,a_val(a0); addi a0,a0,sz_auxv
|
||||
cmpi cr0,r0,AT_PAGESZ; beq- cr0,2f
|
||||
cmpi cr7,r0,AT_PAGESZ; beq- cr7,2f
|
||||
cmpi cr0,r0,AT_NULL; bne+ cr0,1b
|
||||
li a1,PAGE_SIZE // not found; use default
|
||||
2:
|
||||
@ -273,7 +267,7 @@ main:
|
||||
call unfold
|
||||
LrFLD:
|
||||
LOBINFO:
|
||||
.long O_BINFO // | unmap_all_pages
|
||||
.long O_BINFO
|
||||
LBINFO:
|
||||
/* { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} */
|
||||
|
||||
|
||||
@ -71,17 +71,17 @@ r_ADRX= 24 // compressed input
|
||||
r_LENX= 23 // total size
|
||||
r_FLD= 22
|
||||
// Local:
|
||||
r_unf= 22 // f_unf == &unfilter()
|
||||
r_90b= 22
|
||||
av_hi= 21
|
||||
av_len= 20
|
||||
cblk= 19
|
||||
r_buf= 18
|
||||
|
||||
b fold_begin
|
||||
nop
|
||||
|
||||
page_mask:
|
||||
.int -0x1000 // default page mask (4KiB)
|
||||
.int 0 // something else?
|
||||
b fold_begin
|
||||
|
||||
.balign 4
|
||||
get_page_mask: .globl get_page_mask
|
||||
mflr r0 // retaddr
|
||||
@ -102,24 +102,23 @@ mprotect: .globl mprotect
|
||||
b sysgo
|
||||
|
||||
fold_begin:
|
||||
mtctr r0 // # words of stuff
|
||||
teq r0,r0 // DEBUG
|
||||
mtctr r0 // # words before argc FIXME: fragile
|
||||
lwz r0,0(r_FLD) // O_BINFO | is_ptinterp | unmap_all_pages
|
||||
slwi r0,r0,3*4
|
||||
mtcrf 0x8,r0 // cr4.eq = unmap_all_pages
|
||||
call L90
|
||||
L90b:
|
||||
#include "arch/powerpc/32/bxx.S"
|
||||
L90a:
|
||||
L_PFX= 4 // strlen(" =")
|
||||
.asciz " =/proc/self/exe"
|
||||
L_PFX= 4 // strlen(" =")
|
||||
.balign 4
|
||||
L90:
|
||||
mflr r_unf // L90b = &ppcbxx: f_unfilter
|
||||
mflr r_90b
|
||||
// slide {<<stuff>>,argc,argv,0,env,0,auxv} down with maximum room before strings
|
||||
la a1,-NBPW(sp) // src ready for lwzu
|
||||
beq cr4,0f; la sp,-(-AL_STK & (-1+ AL_STK + (NBPW + L_PFX + PATH_MAX)))(sp); 0:
|
||||
la a0,-NBPW(sp) // dst ready for stwu
|
||||
0: // copy stuff
|
||||
0: // copy stuff below argc (count in r0 at fold_begin)
|
||||
lwzu r0,NBPW(a1)
|
||||
stwu r0,NBPW(a0); bdnz 0b
|
||||
|
||||
@ -143,22 +142,22 @@ L90:
|
||||
|
||||
beq cr4,no_pse_env
|
||||
subf av_len,r_auxv,av_hi // length of auxv
|
||||
lwz r0,L90a - L90b(r_unf) // " ="
|
||||
lwz r0,0(r_90b) // " ="
|
||||
la cblk,NBPW(a1) // original &strings
|
||||
stwu r0,NBPW(a0)
|
||||
la r_buf,L_PFX(a0) // buffer
|
||||
// r_fd = open("/proc/self/exe", O_RDONLY)
|
||||
li a1,O_RDONLY
|
||||
la a0,L_PFX+ L90a - L90b(r_unf) // "/proc/self/exe"
|
||||
la a0,L_PFX(r_90b) // "/proc/self/exe"
|
||||
call open; mr r_fd,a0
|
||||
// readlink("/proc/self/exe", buffer, -1+ PATH_MAX)
|
||||
li a2,-1+ PATH_MAX
|
||||
movr a1,r_buf // buffer
|
||||
la a0,L_PFX+ L90a - L90b(r_unf) // "/proc/self/exe"
|
||||
la a0,L_PFX(r_90b) // "/proc/self/exe"
|
||||
call readlink; la a2,-L_PFX(r_buf) // a0= len; a2= buffer
|
||||
cmpwi a0,0; bgt 0f // success
|
||||
la a2,L90a - L90b(r_unf) // " =/proc/self/exe"
|
||||
li a0,L90 - (NBPW+ L90a) // round_up(NBPW, strlen("/proc/self/exe"))
|
||||
la a2,0(r_90b) // " =/proc/self/exe"
|
||||
li a0,L90 - (NBPW+ L90b) // round_up(NBPW, strlen("/proc/self/exe"))
|
||||
0:
|
||||
addi a0,a0,L_PFX
|
||||
add a1,a2,a0 // beyond end of path and prefix
|
||||
@ -198,14 +197,13 @@ no_pse_env:
|
||||
stwu sp,-(SZ_FRAME+OVERHEAD)(sp) // allocate this frame
|
||||
mr a0,r_ADRX // &b_info
|
||||
mr a1,r_LENX // total_size
|
||||
la a2,SZ_FRAME(sp) // &Elf32_Ehdr temporary space
|
||||
mr a2,r_elfa // elfaddr
|
||||
mr a3,r_auxv // &Elf32_auxv_t
|
||||
mr a4,r_exp // &decompress: f_expand
|
||||
mr a5,r_unf // &f_unf
|
||||
mr a6,r_elfa // elfaddr
|
||||
la a4,SZ_FRAME(sp) // &Elf32_Ehdr temporary space
|
||||
teq r0,r0 //DEBUG
|
||||
call upx_main // Out: a0= entry
|
||||
// entry= upx_main(b_info *a0, total_size a1, Elf32_Ehdr *a2, ELf32_auxv_t *a3,
|
||||
// f_exp a4, f_unf a5, elfaddr a6)
|
||||
// tmp_ehdr[])
|
||||
|
||||
la sp,SZ_FRAME+OVERHEAD(sp) // deallocate this frame
|
||||
mr r_exp,a0 // save &entry
|
||||
@ -261,6 +259,7 @@ sz_auxv= 2*NBPW
|
||||
|
||||
bctr // goto escape hatch
|
||||
|
||||
section SYSCALLS
|
||||
SYS_exit= 1
|
||||
SYS_fork= 2
|
||||
SYS_read= 3
|
||||
@ -272,7 +271,9 @@ SYS_brk= 45
|
||||
SYS_readlink= 85
|
||||
SYS_mmap= 90
|
||||
SYS_munmap= 91
|
||||
SYS_ftruncate= 93
|
||||
SYS_mprotect= 125
|
||||
SYS_memfd_create= 360
|
||||
|
||||
mmap: .globl mmap
|
||||
li r0,SYS_mmap
|
||||
@ -283,6 +284,10 @@ sysgo:
|
||||
no_fail:
|
||||
ret
|
||||
|
||||
memfd_create: .globl memfd_create
|
||||
li r0,SYS_memfd_create; b 5f
|
||||
ftruncate: .globl ftruncate
|
||||
li r0,SYS_ftruncate;5: b 5f
|
||||
exit: .globl exit
|
||||
li r0,SYS_exit; b 5f
|
||||
brk: .globl brk
|
||||
@ -300,6 +305,28 @@ close: .globl close
|
||||
munmap: .globl munmap
|
||||
li r0,SYS_munmap; 5: b sysgo
|
||||
|
||||
memcpy: .globl memcpy // (dst, src, n)
|
||||
cmpwi a2,0; beq- 9f
|
||||
mtctr a2
|
||||
subi a3,a0,1
|
||||
subi a1,a1,1
|
||||
0:
|
||||
lbzu r0,1(a1)
|
||||
stbu r0,1(a3)
|
||||
bdnz 0b
|
||||
9:
|
||||
blr // return original dst
|
||||
|
||||
memset: .globl memset // (dst, val, n)
|
||||
cmpwi a2,0; beq- 9f
|
||||
mtctr a2
|
||||
subi a3,a0,1
|
||||
0:
|
||||
stbu a1,1(a3)
|
||||
bdnz 0b
|
||||
9:
|
||||
blr // return original dst
|
||||
|
||||
my_bkpt: .globl my_bkpt
|
||||
teq r0,r0 // my_bkpt
|
||||
blr
|
||||
|
||||
@ -38,7 +38,6 @@ PHDRS
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x00100000 + SIZEOF_HEADERS + 12; /* 12==sizeof(l_info) */
|
||||
.text : {
|
||||
*(.text)
|
||||
*(.data)
|
||||
|
||||
1
src/stub/src/powerpc-linux.elf-main2.c
Normal file
1
src/stub/src/powerpc-linux.elf-main2.c
Normal file
@ -0,0 +1 @@
|
||||
#include "i386-linux.elf-main2.c"
|
||||
@ -398,15 +398,17 @@ O_TMPFILE= 020000000 // 0x400000
|
||||
ok_memfd:
|
||||
ret
|
||||
|
||||
memcpy: .globl memcpy // FIXME: opcodes!
|
||||
memcpy: .globl memcpy // (dst, src, n)
|
||||
cmpwi a2,0; beq- 9f
|
||||
mtctr a2
|
||||
subi a0,a0,1
|
||||
subi a3,a0,1
|
||||
subi a1,a1,1
|
||||
L999:
|
||||
0:
|
||||
lbzu r0,1(a1)
|
||||
stbu r0,1(a0)
|
||||
bdnz L999
|
||||
blr
|
||||
stbu r0,1(a3)
|
||||
bdnz 0b
|
||||
9:
|
||||
blr // return original dst
|
||||
|
||||
my_bkpt: .globl my_bkpt
|
||||
teq r0,r0 // my_bkpt
|
||||
|
||||
53
src/stub/tmp/powerpc-linux.elf-entry.bin.dump
generated
vendored
53
src/stub/tmp/powerpc-linux.elf-entry.bin.dump
generated
vendored
@ -2,60 +2,21 @@ file format elf32-powerpc
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn Flags
|
||||
0 ELFMAINX 04 0 0 034 2**0 CONTENTS
|
||||
1 NRV_HEAD 0 0 0 038 2**0 CONTENTS
|
||||
2 NRV2E 014c 0 0 038 2**0 CONTENTS
|
||||
3 NRV2D 0130 0 0 0184 2**0 CONTENTS
|
||||
4 NRV2B 0f4 0 0 02b4 2**0 CONTENTS
|
||||
5 LZMA_ELF00 090 0 0 03a8 2**0 CONTENTS
|
||||
6 LZMA_DEC10 099c 0 0 0438 2**0 CONTENTS
|
||||
7 LZMA_DEC20 099c 0 0 0dd4 2**0 CONTENTS
|
||||
8 LZMA_DEC30 024 0 0 01770 2**0 CONTENTS
|
||||
9 NRV_TAIL 01c 0 0 01794 2**0 CONTENTS
|
||||
10 CFLUSH 024 0 0 017b0 2**0 CONTENTS
|
||||
11 ELFMAINY 012 0 0 017d4 2**0 CONTENTS
|
||||
12 ELFMAINZ 011c 0 0 017e6 2**0 CONTENTS
|
||||
0 ELFMAINX 0138 0 0 034 2**0 CONTENTS
|
||||
1 ELFMAINY 0 0 0 016c 2**0 CONTENTS
|
||||
2 ELFMAINZ 0154 0 0 016c 2**0 CONTENTS
|
||||
SYMBOL TABLE:
|
||||
00000000 l d LZMA_DEC30 0 LZMA_DEC30
|
||||
00000000 l d NRV_TAIL 0 NRV_TAIL
|
||||
00000000 l d ELFMAINZ 0 ELFMAINZ
|
||||
00000000 l d ELFMAINX 0 ELFMAINX
|
||||
00000000 l d NRV_HEAD 0 NRV_HEAD
|
||||
00000000 l d NRV2E 0 NRV2E
|
||||
00000000 l d NRV2D 0 NRV2D
|
||||
00000000 l d NRV2B 0 NRV2B
|
||||
00000000 l d LZMA_ELF00 0 LZMA_ELF00
|
||||
00000000 l d LZMA_DEC10 0 LZMA_DEC10
|
||||
00000000 l d LZMA_DEC20 0 LZMA_DEC20
|
||||
00000000 l d CFLUSH 0 CFLUSH
|
||||
00000000 l d ELFMAINZ 0 ELFMAINZ
|
||||
00000000 l d ELFMAINY 0 ELFMAINY
|
||||
00000000 g ELFMAINX 0 _start
|
||||
00000000 *UND* 0 O_BINFO
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000 R_PPC_REL24 ELFMAINZ+0x000000d4
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2E]:
|
||||
OFFSET TYPE VALUE
|
||||
000000b8 R_PPC_REL14 NRV_TAIL
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2D]:
|
||||
OFFSET TYPE VALUE
|
||||
000000b8 R_PPC_REL14 NRV_TAIL
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2B]:
|
||||
OFFSET TYPE VALUE
|
||||
00000094 R_PPC_REL14 NRV_TAIL
|
||||
|
||||
RELOCATION RECORDS FOR [LZMA_ELF00]:
|
||||
OFFSET TYPE VALUE
|
||||
00000004 R_PPC_REL14 LZMA_DEC30+0x00000024
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINY]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000 R_PPC_REL24 ELFMAINZ
|
||||
00000000 R_PPC_REL24 ELFMAINZ+0x0000010c
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000118 R_PPC_ADDR32 O_BINFO
|
||||
00000064 R_PPC_REL24 ELFMAINX+0x00000004
|
||||
00000150 R_PPC_ADDR32 O_BINFO
|
||||
|
||||
101
src/stub/tmp/powerpc-linux.elf-fold.map
generated
vendored
101
src/stub/tmp/powerpc-linux.elf-fold.map
generated
vendored
@ -7,38 +7,85 @@ Name Origin Length Attributes
|
||||
Linker script and memory map
|
||||
|
||||
TARGET(elf32-powerpc)
|
||||
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000100080 0x1164
|
||||
.text 0x0000000000000000 0x2248
|
||||
*(.text)
|
||||
.text 0x0000000000100080 0x318 tmp/powerpc-linux.elf-fold.o
|
||||
0x000000000010008c get_page_mask
|
||||
0x0000000000100388 munmap
|
||||
0x0000000000100360 readlink
|
||||
0x000000000010033c mmap
|
||||
0x0000000000100368 write
|
||||
0x0000000000100370 read
|
||||
0x0000000000100390 my_bkpt
|
||||
0x00000000001000a4 Pprotect
|
||||
0x0000000000100350 exit
|
||||
0x0000000000100358 brk
|
||||
0x0000000000100378 open
|
||||
0x00000000001000a4 mprotect
|
||||
0x0000000000100380 close
|
||||
.text 0x0000000000100398 0xe4c tmp/powerpc-linux.elf-main.o
|
||||
0x0000000000100fe4 upx_main
|
||||
.text 0x0000000000000000 0x258 tmp/powerpc-linux.elf-fold.o
|
||||
0x000000000000000c get_page_mask
|
||||
0x0000000000000024 Pprotect
|
||||
0x0000000000000024 mprotect
|
||||
.text 0x0000000000000258 0xb8 tmp/powerpc-linux.elf-upxfd_android.o
|
||||
0x0000000000000258 upx_mmap_and_fd
|
||||
.text 0x0000000000000310 0x0 tmp/powerpc-expand.o
|
||||
.text 0x0000000000000310 0x1f38 tmp/powerpc-linux.elf-main2.o
|
||||
0x0000000000000af0 underlay
|
||||
0x0000000000001804 upx_main
|
||||
*(.data)
|
||||
.data 0x00000000001011e4 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
.data 0x00000000001011e4 0x0 tmp/powerpc-linux.elf-main.o
|
||||
.data 0x0000000000002248 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
.data 0x0000000000002248 0x0 tmp/powerpc-linux.elf-upxfd_android.o
|
||||
.data 0x0000000000002248 0x0 tmp/powerpc-expand.o
|
||||
.data 0x0000000000002248 0x0 tmp/powerpc-linux.elf-main2.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x00000000001011e4 0x0
|
||||
.bss 0x00000000001011e4 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
.bss 0x00000000001011e4 0x0 tmp/powerpc-linux.elf-main.o
|
||||
|
||||
.rela.dyn 0x00000000001011e4 0x0
|
||||
.rela.text 0x0000000000000000 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
.bss 0x0000000000000000 0x0
|
||||
.bss 0x0000000000000000 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
.bss 0x0000000000000000 0x0 tmp/powerpc-linux.elf-upxfd_android.o
|
||||
.bss 0x0000000000000000 0x0 tmp/powerpc-expand.o
|
||||
.bss 0x0000000000000000 0x0 tmp/powerpc-linux.elf-main2.o
|
||||
LOAD tmp/powerpc-linux.elf-fold.o
|
||||
LOAD tmp/powerpc-linux.elf-main.o
|
||||
LOAD tmp/powerpc-linux.elf-upxfd_android.o
|
||||
LOAD tmp/powerpc-expand.o
|
||||
LOAD tmp/powerpc-linux.elf-main2.o
|
||||
OUTPUT(tmp/powerpc-linux.elf-fold.bin elf32-powerpc)
|
||||
|
||||
SYSCALLS 0x0000000000000000 0xac
|
||||
SYSCALLS 0x0000000000000000 0xac tmp/powerpc-linux.elf-fold.o
|
||||
0x000000000000005c munmap
|
||||
0x0000000000000064 memcpy
|
||||
0x0000000000000034 readlink
|
||||
0x000000000000001c ftruncate
|
||||
0x0000000000000000 mmap
|
||||
0x000000000000003c write
|
||||
0x0000000000000014 memfd_create
|
||||
0x0000000000000044 read
|
||||
0x0000000000000088 memset
|
||||
0x00000000000000a4 my_bkpt
|
||||
0x0000000000000024 exit
|
||||
0x000000000000002c brk
|
||||
0x000000000000004c open
|
||||
0x0000000000000054 close
|
||||
|
||||
.note.GNU-stack
|
||||
0x0000000000000000 0x0
|
||||
.note.GNU-stack
|
||||
0x0000000000000000 0x0 tmp/powerpc-linux.elf-upxfd_android.o
|
||||
|
||||
EXP_HEAD 0x0000000000000000 0xa8
|
||||
EXP_HEAD 0x0000000000000000 0xa8 tmp/powerpc-expand.o
|
||||
0x0000000000000000 f_expand
|
||||
|
||||
EXP_TAIL 0x0000000000000000 0x84
|
||||
EXP_TAIL 0x0000000000000000 0x84 tmp/powerpc-expand.o
|
||||
0x0000000000000000 eof_nrv
|
||||
|
||||
NRV2E 0x0000000000000000 0x14c
|
||||
NRV2E 0x0000000000000000 0x14c tmp/powerpc-expand.o
|
||||
|
||||
NRV2D 0x0000000000000000 0x130
|
||||
NRV2D 0x0000000000000000 0x130 tmp/powerpc-expand.o
|
||||
|
||||
NRV2B 0x0000000000000000 0xf4
|
||||
NRV2B 0x0000000000000000 0xf4 tmp/powerpc-expand.o
|
||||
|
||||
LZMA_ELF00 0x0000000000000000 0x90
|
||||
LZMA_ELF00 0x0000000000000000 0x90 tmp/powerpc-expand.o
|
||||
|
||||
LZMA_DEC10 0x0000000000000000 0x99c
|
||||
LZMA_DEC10 0x0000000000000000 0x99c tmp/powerpc-expand.o
|
||||
|
||||
LZMA_DEC20 0x0000000000000000 0x99c
|
||||
LZMA_DEC20 0x0000000000000000 0x99c tmp/powerpc-expand.o
|
||||
|
||||
LZMA_DEC30 0x0000000000000000 0x24
|
||||
LZMA_DEC30 0x0000000000000000 0x24 tmp/powerpc-expand.o
|
||||
|
||||
6
src/stub/tmp/powerpc64-linux.elf-fold.map
generated
vendored
6
src/stub/tmp/powerpc64-linux.elf-fold.map
generated
vendored
@ -27,8 +27,8 @@ OUTPUT(tmp/powerpc64-linux.elf-fold.bin elf64-powerpc)
|
||||
.bss 0x0000000000000000 0x0
|
||||
.bss 0x0000000000000000 0x0 tmp/powerpc64-linux.elf-fold.o
|
||||
|
||||
SYSCALLS 0x0000000000000000 0xf4
|
||||
SYSCALLS 0x0000000000000000 0xf4 tmp/powerpc64-linux.elf-fold.o
|
||||
SYSCALLS 0x0000000000000000 0xfc
|
||||
SYSCALLS 0x0000000000000000 0xfc tmp/powerpc64-linux.elf-fold.o
|
||||
0x0000000000000008 mmap
|
||||
0x0000000000000020 munmap
|
||||
0x0000000000000028 mprotect
|
||||
@ -43,7 +43,7 @@ SYSCALLS 0x0000000000000000 0xf4
|
||||
0x0000000000000070 close
|
||||
0x0000000000000078 upxfd_create
|
||||
0x00000000000000d0 memcpy
|
||||
0x00000000000000ec my_bkpt
|
||||
0x00000000000000f4 my_bkpt
|
||||
|
||||
.comment 0x0000000000000000 0x33
|
||||
.comment 0x0000000000000000 0x33 tmp/powerpc64-linux.elf-fold.o
|
||||
|
||||
6
src/stub/tmp/powerpc64le-linux.elf-fold.map
generated
vendored
6
src/stub/tmp/powerpc64le-linux.elf-fold.map
generated
vendored
@ -27,8 +27,8 @@ OUTPUT(tmp/powerpc64le-linux.elf-fold.bin elf64-powerpcle)
|
||||
.bss 0x0000000000000000 0x0
|
||||
.bss 0x0000000000000000 0x0 tmp/powerpc64le-linux.elf-fold.o
|
||||
|
||||
SYSCALLS 0x0000000000000000 0xf4
|
||||
SYSCALLS 0x0000000000000000 0xf4 tmp/powerpc64le-linux.elf-fold.o
|
||||
SYSCALLS 0x0000000000000000 0xfc
|
||||
SYSCALLS 0x0000000000000000 0xfc tmp/powerpc64le-linux.elf-fold.o
|
||||
0x0000000000000008 mmap
|
||||
0x0000000000000020 munmap
|
||||
0x0000000000000028 mprotect
|
||||
@ -43,7 +43,7 @@ SYSCALLS 0x0000000000000000 0xf4
|
||||
0x0000000000000070 close
|
||||
0x0000000000000078 upxfd_create
|
||||
0x00000000000000d0 memcpy
|
||||
0x00000000000000ec my_bkpt
|
||||
0x00000000000000f4 my_bkpt
|
||||
|
||||
.comment 0x0000000000000000 0x33
|
||||
.comment 0x0000000000000000 0x33 tmp/powerpc64le-linux.elf-fold.o
|
||||
|
||||
Loading…
Reference in New Issue
Block a user