From c026121c0e2276383de53b97e765a7ae97c4dcd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Moln=C3=A1r?= Date: Thu, 6 Jul 2006 00:54:14 +0200 Subject: [PATCH] mips conversion to ElfLinker almost ready --- src/p_ps1.cpp | 64 +- src/p_ps1.h | 1 + src/stub/Makefile | 17 +- src/stub/mipsel.r3000-ps1-boot.h | 685 +++++++++++------- src/stub/mipsel.r3000-ps1-console.h | 614 +++++++++++----- .../src/arch/mips/mipsel.r3000/macros.ash | 31 +- src/stub/src/mipsel.r3000-ps1.asm | 38 +- 7 files changed, 935 insertions(+), 515 deletions(-) diff --git a/src/p_ps1.cpp b/src/p_ps1.cpp index bb4a5bab..3a693b88 100644 --- a/src/p_ps1.cpp +++ b/src/p_ps1.cpp @@ -35,6 +35,7 @@ #include "filter.h" #include "packer.h" #include "p_ps1.h" +#include "linker.h" static const #include "stub/mipsel.r3000-ps1-boot.h" @@ -83,7 +84,7 @@ PackPs1::PackPs1(InputFile *f) : COMPILE_TIME_ASSERT(sizeof(ps1_exe_t) == 188); COMPILE_TIME_ASSERT(PS_HDR_SIZE > sizeof(ps1_exe_t)); COMPILE_TIME_ASSERT(SZ_IH_BKUP == 40); -#if 1 || defined(WITH_NRV) +#if 0 // 1 || defined(WITH_NRV) COMPILE_TIME_ASSERT(sizeof(nrv_boot_loader) == 3935); COMPILE_TIME_ASSERT(NRV_BOOT_LOADER_CRC32 == 0x0ac25782); COMPILE_TIME_ASSERT(sizeof(nrv_con_loader) == 2829); @@ -108,6 +109,29 @@ const int *PackPs1::getFilters() const } +Linker* PackPs1::newLinker() const +{ + class ElfLinkerMipsLE : public ElfLinker + { + typedef ElfLinker super; + + virtual void relocate1(Relocation *rel, upx_byte *location, + unsigned value, const char *type) + { + if (strcmp(type, "R_MIPS_LO16") == 0) + set_le16(location, get_le16(location) + value); + else if (strcmp(type, "R_MIPS_HI16") == 0) + set_le16(location, get_le16(location) + (value >> 16)); + else if (strcmp(type, "R_MIPS_32") == 0) + set_le32(location, get_le32(location) + value); + else + super::relocate1(rel, location, value, type); + } + }; + + return new ElfLinkerMipsLE; +} + /************************************************************************* // util // readFileHeader() reads ih and checks for illegal values @@ -264,7 +288,7 @@ int PackPs1::buildLoader(const Filter *) ih.tx_len & 3 ? "PS1MSETU" : "PS1MSETA", NULL); - addLoader("PS1EXITC", "IDENTSTR", "PS1PAHDR", + addLoader("PS1EXITC", "IDENTSTR", "UPX1HEAD", isCon ? "PS1SREGS" : "", NULL); @@ -337,8 +361,6 @@ void PackPs1::pack(OutputFile *fo) MemBuffer loader(lsize); memcpy(loader, getLoader(), lsize); - patchPackHeader(loader,lsize); - unsigned pad = 0; unsigned filelen = ALIGN_UP(ih.tx_len, 4); unsigned pad_code = TIL_ALIGNED(ph.c_len, 4); @@ -347,7 +369,6 @@ void PackPs1::pack(OutputFile *fo) const unsigned comp_data_start = ((decomp_data_start + filelen + overlap) - ph.c_len); const int h_len = lsize - getLoaderSectionStart("IDENTSTR"); - const int c_len = lsize - h_len; int d_len = 0; int e_len = 0; @@ -362,14 +383,10 @@ void PackPs1::pack(OutputFile *fo) e_len = (lsize - d_len) - h_len; } - patch_mips_le(loader,c_len,"JPEP",MIPS_JP(ih.epc)); - if (sa_cnt) - patch_mips_le(loader,c_len,"SC", - MIPS_LO(sa_cnt > (0x10000 << 2) ? sa_cnt >> 5 : sa_cnt >> 2)); - if (ih.tx_ptr & 0xffff) - patch_mips_le(loader,c_len,"DECO",decomp_data_start); - else - patch_mips_le(loader,c_len,"DE",MIPS_HI(decomp_data_start)); + linker->defineSymbol("JPEP", MIPS_JP(ih.epc)); + linker->defineSymbol("SC", MIPS_LO(sa_cnt > (0x10000 << 2) ? + sa_cnt >> 5 : sa_cnt >> 2)); + linker->defineSymbol("DECO",decomp_data_start); const unsigned entry = comp_data_start - e_len - pad_code; oh.tx_ptr = entry; @@ -389,11 +406,14 @@ void PackPs1::pack(OutputFile *fo) if (isCon) { - if (pad_code) - patch_mips_le(loader, c_len, "PC", pad_code); - patch_mips_le(loader, c_len, "DCRT", entry + (e_len - d_len)); - patch_mips_le(loader, c_len, "LS", - d_len + get_le32(&loader[getLoaderSectionStart("PS1SREGS")])); + linker->defineSymbol("PC", pad_code); + linker->defineSymbol("DCRT", entry + (e_len - d_len)); + linker->defineSymbol("LS", + d_len + get_le32(&loader[getLoaderSectionStart("PS1SREGS")])); + + linker->relocate(); + memcpy(loader, getLoader(), lsize); + patchPackHeader(loader,lsize); // ps1_exe_t structure 188 bytes fo->write(&oh,sizeof(oh)); @@ -402,8 +422,12 @@ void PackPs1::pack(OutputFile *fo) } else { - patch_mips_le(loader, c_len, "CPDO", comp_data_start); - patch_mips_le(loader, e_len, "PSVR", FIX_PSVR); + linker->defineSymbol("CPDO", comp_data_start); + linker->defineSymbol("PSVR", FIX_PSVR); + + linker->relocate(); + memcpy(loader, getLoader(), lsize); + patchPackHeader(loader,lsize); // ps1_exe_t structure 188 bytes fo->write(&oh,sizeof(oh)); diff --git a/src/p_ps1.h b/src/p_ps1.h index dba180d2..141b879d 100644 --- a/src/p_ps1.h +++ b/src/p_ps1.h @@ -58,6 +58,7 @@ public: protected: virtual void patch_mips_le(void *b, int blen, const void *old, unsigned new_); virtual int buildLoader(const Filter *ft); + virtual Linker* newLinker() const; virtual int readFileHeader(); virtual bool checkFileHeader(); diff --git a/src/stub/Makefile b/src/stub/Makefile index 3ae7032e..d67f3a66 100644 --- a/src/stub/Makefile +++ b/src/stub/Makefile @@ -635,21 +635,18 @@ m68k-atari.tos-nrv2%.small.h : IDENT_SUFFIX = _small mipsel.r3000-ps1-%.h : tc_list = mipsel.r3000-ps1 default -tc.mipsel.r3000-ps1.app-asm5900 = perl -w $(srcdir)/src/arch/mips/mipsel.r3000/app-asm5900.pl -tc.mipsel.r3000-ps1.asm5900 = asm5900 -tc.mipsel.r3000-ps1.gas = asm5900 +tc.mipsel.r3000-ps1.as = mipsel-unknown-linux-gnu-as -O2 -mips2 -mno-pdr +tc.mipsel.r3000-ps1.pp-asm = gcc -E -nostdinc -x assembler-with-cpp -Wall mipsel.r3000-ps1-%.h : $(srcdir)/src/mipsel.r3000-ps1.asm # call gpp_inc to generate .d file $(call tc,gpp_inc) --mode=c --MMD=$@ --MF=tmp/$T.tmp1.d $< -o /dev/null $(call tc,pp-asm) $(PP_FLAGS) $< -o tmp/$T.tmp1 - #$(call tc,app-asm5900) tmp/$T.tmp1 tmp/$T.tmp2 - #$(call tc,asm5900) --nologo -q -ltmp/$T.bin.lst tmp/$T.tmp2 -otmp/$T.bin - - $(call tc,m-objcopy) --strip-unneeded tmp/$T.bin - $(call tc,m-objcopy) -R .text -R .data -R .bss tmp/$T.bin - $(call tc,m-objcopy) -R .note -R .comment tmp/$T.bin - $(call tc,m-objdump) -trwh tmp/$T.bin >> tmp/$T.bin + $(call tc,as) tmp/$T.tmp1 -o tmp/$T.bin + $(call tc,m-objcopy) -F elf32-littlemips --strip-unneeded tmp/$T.bin + $(call tc,m-objcopy) -F elf32-littlemips -R .text -R .data -R .bss tmp/$T.bin + $(call tc,m-objcopy) -F elf32-littlemips -R .note -R .comment -R .reginfo tmp/$T.bin + $(call tc,m-objdump) -b elf32-littlemips -trwh tmp/$T.bin >> tmp/$T.bin $(call tc,bin2h) --ident=$(IDENT_NAME) tmp/$T.bin $@ mipsel.r3000-ps1-boot.h: PP_FLAGS += -DCDBOOT diff --git a/src/stub/mipsel.r3000-ps1-boot.h b/src/stub/mipsel.r3000-ps1-boot.h index fc4ffff2..032671f2 100644 --- a/src/stub/mipsel.r3000-ps1-boot.h +++ b/src/stub/mipsel.r3000-ps1-boot.h @@ -1,4 +1,4 @@ -/* mipsel.r3000-ps1-boot.h -- created from mipsel.r3000-ps1-boot.bin, 3935 (0xf5f) bytes +/* mipsel.r3000-ps1-boot.h -- created from mipsel.r3000-ps1-boot.bin, 6855 (0x1ac7) bytes This file is part of the UPX executable compressor. @@ -27,255 +27,438 @@ */ -#define NRV_BOOT_LOADER_SIZE 3935 -#define NRV_BOOT_LOADER_ADLER32 0x07b10524 -#define NRV_BOOT_LOADER_CRC32 0x0ac25782 +#define NRV_BOOT_LOADER_SIZE 6855 +#define NRV_BOOT_LOADER_ADLER32 0xe4e76282 +#define NRV_BOOT_LOADER_CRC32 0xb70dba68 -unsigned char nrv_boot_loader[3935] = { - 83, 80, 8, 60, 82, 86, 8, 53, 35, 64, 8, 2, 8, 0, 0, 1, /* 0x 0 */ -228,255,189, 39, 0, 0,164,175, 4, 0,165,175, 8, 0,166,175, /* 0x 10 */ - 12, 0,167,175, 16, 0,162,175, 20, 0,163,175, 24, 0,191,175, /* 0x 20 */ - 80, 67, 4, 60, 79, 68,132, 52, 69, 68, 6, 60, 79, 67,198, 52, /* 0x 30 */ - 69, 68, 6, 60, 33, 72, 0, 0, 1, 0, 11, 36, 33, 64,128, 0, /* 0x 40 */ -127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 50 */ - 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 60 */ - 1, 0, 66, 48, 6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, /* 0x 70 */ - 1, 0, 8, 37, 0, 0,194,160,241,255, 0, 16, 1, 0,198, 36, /* 0x 80 */ -127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 90 */ - 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x a0 */ - 1, 0, 66, 48, 64, 24, 3, 0, 33, 24, 98, 0,127, 0, 34, 49, /* 0x b0 */ - 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x c0 */ - 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x d0 */ -236,255, 64, 16,127, 0, 34, 49, 2, 0, 2, 36, 3, 0, 98, 20, /* 0x e0 */ -253,255, 99, 36, 9, 0, 0, 16, 33, 24, 96, 1, 0, 0, 2,145, /* 0x f0 */ - 1, 0, 8, 37, 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, /* 0x 100 */ - 77, 0, 98, 16, 1, 0, 99, 36, 33, 88, 96, 0,127, 0, 34, 49, /* 0x 110 */ - 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 120 */ - 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 130 */ - 33, 96, 64, 0, 64, 96, 12, 0,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 140 */ - 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 150 */ - 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 33, 96,130, 1, /* 0x 160 */ - 26, 0,128, 21, 1, 13, 98, 44, 1, 0, 12, 36,127, 0, 34, 49, /* 0x 170 */ - 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 180 */ - 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 190 */ - 64, 96, 12, 0, 33, 96,130, 1,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 1a0 */ - 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 1b0 */ - 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48,236,255, 64, 16, /* 0x 1c0 */ -127, 0, 34, 49, 2, 0,140, 37, 1, 13, 98, 44, 1, 0, 66, 56, /* 0x 1d0 */ - 33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, /* 0x 1e0 */ - 35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, /* 0x 1f0 */ - 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, 3, 0,194,168, /* 0x 200 */ - 4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36,141,255, 0, 16, /* 0x 210 */ -127, 0, 34, 49, 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, /* 0x 220 */ - 0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36, /* 0x 230 */ -132,255, 0, 16,127, 0, 34, 49, 33, 72, 0, 0, 1, 0, 11, 36, /* 0x 240 */ - 33, 64,128, 0,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 250 */ - 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 260 */ - 2, 18, 9, 0, 1, 0, 66, 48, 6, 0, 64, 16, 1, 0, 3, 36, /* 0x 270 */ - 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160,241,255, 0, 16, /* 0x 280 */ - 1, 0,198, 36,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 290 */ - 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 2a0 */ - 2, 18, 9, 0, 1, 0, 66, 48, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 2b0 */ -127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 2c0 */ - 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 2d0 */ - 1, 0, 66, 48, 13, 0, 64, 20,255,255, 98, 36, 64, 24, 2, 0, /* 0x 2e0 */ -127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 2f0 */ - 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 300 */ - 1, 0, 66, 48,223,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 310 */ - 13, 0, 98, 20,253,255, 99, 36,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 320 */ - 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 330 */ - 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 33, 24, 96, 1, /* 0x 340 */ - 12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 350 */ - 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 70, 0, 98, 16, /* 0x 360 */ - 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x 370 */ - 33, 88, 96, 0,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 380 */ - 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 390 */ - 2, 18, 9, 0, 1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 3a0 */ - 26, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36,127, 0, 34, 49, /* 0x 3b0 */ - 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 3c0 */ - 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 3d0 */ - 64, 96, 12, 0, 33, 96,130, 1,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 3e0 */ - 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 3f0 */ - 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48,236,255, 64, 16, /* 0x 400 */ -127, 0, 34, 49, 2, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, /* 0x 410 */ - 33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, /* 0x 420 */ - 35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, /* 0x 430 */ - 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, 3, 0,194,168, /* 0x 440 */ - 4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36,126,255, 0, 16, /* 0x 450 */ -127, 0, 34, 49, 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, /* 0x 460 */ - 0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36, /* 0x 470 */ -117,255, 0, 16,127, 0, 34, 49, 33, 72, 0, 0, 1, 0, 11, 36, /* 0x 480 */ - 33, 64,128, 0,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 490 */ - 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 4a0 */ - 2, 18, 9, 0, 1, 0, 66, 48, 6, 0, 64, 16, 1, 0, 3, 36, /* 0x 4b0 */ - 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160,241,255, 0, 16, /* 0x 4c0 */ - 1, 0,198, 36,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 4d0 */ - 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 4e0 */ - 2, 18, 9, 0, 1, 0, 66, 48, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 4f0 */ -127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 500 */ - 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 510 */ - 1, 0, 66, 48, 13, 0, 64, 20,255,255, 98, 36, 64, 24, 2, 0, /* 0x 520 */ -127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 530 */ - 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 540 */ - 1, 0, 66, 48,223,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 550 */ - 13, 0, 98, 20,253,255, 99, 36, 33, 24, 96, 1,127, 0, 34, 49, /* 0x 560 */ - 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 570 */ - 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 580 */ - 12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, 0, 26, 3, 0, /* 0x 590 */ - 33, 24, 98, 0,255,255, 2, 36, 92, 0, 98, 16, 1, 0, 8, 37, /* 0x 5a0 */ - 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x 5b0 */ - 33, 88, 96, 0, 13, 0,128, 17,127, 0, 34, 49,127, 0, 34, 49, /* 0x 5c0 */ - 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 5d0 */ - 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 5e0 */ - 46, 0, 0, 16, 1, 0, 76, 36,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 5f0 */ - 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 600 */ - 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 12, 0, 64, 16, /* 0x 610 */ - 1, 0,140, 37,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 620 */ - 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 630 */ - 2, 18, 9, 0, 1, 0, 66, 48, 24, 0, 0, 16, 3, 0, 76, 36, /* 0x 640 */ -127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 650 */ - 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 660 */ - 1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1,127, 0, 34, 49, /* 0x 670 */ - 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 680 */ - 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 690 */ -236,255, 64, 16,127, 0, 34, 49, 3, 0,140, 37, 1, 5, 98, 44, /* 0x 6a0 */ - 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, /* 0x 6b0 */ - 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, /* 0x 6c0 */ - 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, /* 0x 6d0 */ - 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36, /* 0x 6e0 */ -105,255, 0, 16,127, 0, 34, 49, 35, 24,195, 0, 0, 0, 98,144, /* 0x 6f0 */ -255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, /* 0x 700 */ - 1, 0,198, 36, 96,255, 0, 16,127, 0, 34, 49, 33, 72, 0, 0, /* 0x 710 */ - 33,104, 32, 1, 1, 0, 11, 36, 33, 64,128, 0,255,255,173, 37, /* 0x 720 */ - 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x 730 */ - 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, /* 0x 740 */ - 6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 750 */ - 0, 0,194,160,241,255, 0, 16, 1, 0,198, 36,255,255,173, 37, /* 0x 760 */ - 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x 770 */ - 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, /* 0x 780 */ - 64, 24, 3, 0, 33, 24, 98, 0,255,255,173, 37, 6, 0,161, 5, /* 0x 790 */ - 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x 7a0 */ - 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48,235,255, 64, 16, /* 0x 7b0 */ - 0, 0, 0, 0, 2, 0, 2, 36, 3, 0, 98, 20,253,255, 99, 36, /* 0x 7c0 */ - 9, 0, 0, 16, 33, 24, 96, 1, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 7d0 */ - 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 77, 0, 98, 16, /* 0x 7e0 */ - 1, 0, 99, 36, 33, 88, 96, 0,255,255,173, 37, 6, 0,161, 5, /* 0x 7f0 */ - 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x 800 */ - 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 33, 96, 64, 0, /* 0x 810 */ - 64, 96, 12, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x 820 */ - 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 830 */ - 6, 16,169, 1, 1, 0, 66, 48, 33, 96,130, 1, 26, 0,128, 21, /* 0x 840 */ - 1, 13, 98, 44, 1, 0, 12, 36,255,255,173, 37, 6, 0,161, 5, /* 0x 850 */ - 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x 860 */ - 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 64, 96, 12, 0, /* 0x 870 */ - 33, 96,130, 1,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x 880 */ - 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 890 */ - 6, 16,169, 1, 1, 0, 66, 48,235,255, 64, 16, 0, 0, 0, 0, /* 0x 8a0 */ - 2, 0,140, 37, 1, 13, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, /* 0x 8b0 */ - 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, /* 0x 8c0 */ - 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136, /* 0x 8d0 */ -252,255,140, 37, 0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36, /* 0x 8e0 */ -247,255,128, 21, 4, 0,198, 36,141,255, 0, 16,255,255,173, 37, /* 0x 8f0 */ - 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, 0, 0,194,160, /* 0x 900 */ - 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36,132,255, 0, 16, /* 0x 910 */ -255,255,173, 37, 33, 72, 0, 0, 33,104, 32, 1, 1, 0, 11, 36, /* 0x 920 */ - 33, 64,128, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x 930 */ - 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 940 */ - 6, 16,169, 1, 1, 0, 66, 48, 6, 0, 64, 16, 1, 0, 3, 36, /* 0x 950 */ - 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160,241,255, 0, 16, /* 0x 960 */ - 1, 0,198, 36,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x 970 */ - 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 980 */ - 6, 16,169, 1, 1, 0, 66, 48, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 990 */ -255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 9a0 */ - 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 9b0 */ - 1, 0, 66, 48, 13, 0, 64, 20,255,255, 98, 36, 64, 24, 2, 0, /* 0x 9c0 */ -255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 9d0 */ - 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 9e0 */ - 1, 0, 66, 48,223,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 9f0 */ - 13, 0, 98, 20,253,255, 99, 36,255,255,173, 37, 6, 0,161, 5, /* 0x a00 */ - 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x a10 */ - 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 33, 24, 96, 1, /* 0x a20 */ - 12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, 1, 0, 8, 37, /* 0x a30 */ - 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 70, 0, 98, 16, /* 0x a40 */ - 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x a50 */ - 33, 88, 96, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x a60 */ - 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x a70 */ - 6, 16,169, 1, 1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1, /* 0x a80 */ - 26, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36,255,255,173, 37, /* 0x a90 */ - 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x aa0 */ - 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, /* 0x ab0 */ - 64, 96, 12, 0, 33, 96,130, 1,255,255,173, 37, 6, 0,161, 5, /* 0x ac0 */ - 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x ad0 */ - 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48,235,255, 64, 16, /* 0x ae0 */ - 0, 0, 0, 0, 2, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, /* 0x af0 */ - 33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, /* 0x b00 */ - 35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, /* 0x b10 */ - 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, 3, 0,194,168, /* 0x b20 */ - 4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36,126,255, 0, 16, /* 0x b30 */ -255,255,173, 37, 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, /* 0x b40 */ - 0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36, /* 0x b50 */ -117,255, 0, 16,255,255,173, 37, 33, 72, 0, 0, 33,104, 32, 1, /* 0x b60 */ - 1, 0, 11, 36, 33, 64,128, 0,255,255,173, 37, 6, 0,161, 5, /* 0x b70 */ - 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x b80 */ - 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 6, 0, 64, 16, /* 0x b90 */ - 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160, /* 0x ba0 */ -241,255, 0, 16, 1, 0,198, 36,255,255,173, 37, 6, 0,161, 5, /* 0x bb0 */ - 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x bc0 */ - 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 64, 24, 3, 0, /* 0x bd0 */ - 33, 24, 98, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x be0 */ - 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x bf0 */ - 6, 16,169, 1, 1, 0, 66, 48, 13, 0, 64, 20,255,255, 98, 36, /* 0x c00 */ - 64, 24, 2, 0,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x c10 */ - 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x c20 */ - 6, 16,169, 1, 1, 0, 66, 48,223,255, 0, 16, 33, 24, 98, 0, /* 0x c30 */ - 2, 0, 2, 36, 13, 0, 98, 20,253,255, 99, 36, 33, 24, 96, 1, /* 0x c40 */ -255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x c50 */ - 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x c60 */ - 1, 0, 66, 48, 12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, /* 0x c70 */ - 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 92, 0, 98, 16, /* 0x c80 */ - 1, 0, 8, 37, 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, /* 0x c90 */ - 1, 0, 99, 36, 33, 88, 96, 0, 12, 0,128, 17, 0, 0, 0, 0, /* 0x ca0 */ -255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x cb0 */ - 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x cc0 */ - 1, 0, 66, 48, 46, 0, 0, 16, 1, 0, 76, 36,255,255,173, 37, /* 0x cd0 */ - 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x ce0 */ - 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, /* 0x cf0 */ - 12, 0, 64, 16, 1, 0,140, 37,255,255,173, 37, 6, 0,161, 5, /* 0x d00 */ - 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x d10 */ - 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 24, 0, 0, 16, /* 0x d20 */ - 3, 0, 76, 36,255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, /* 0x d30 */ - 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x d40 */ - 6, 16,169, 1, 1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1, /* 0x d50 */ -255,255,173, 37, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x d60 */ - 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x d70 */ - 1, 0, 66, 48,235,255, 64, 16, 0, 0, 0, 0, 3, 0,140, 37, /* 0x d80 */ - 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, /* 0x d90 */ - 14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, /* 0x da0 */ - 12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, /* 0x db0 */ - 0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, /* 0x dc0 */ - 4, 0,198, 36,105,255, 0, 16,255,255,173, 37, 35, 24,195, 0, /* 0x dd0 */ - 0, 0, 98,144,255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36, /* 0x de0 */ -251,255,128, 21, 1, 0,198, 36, 96,255, 0, 16,255,255,173, 37, /* 0x df0 */ - 67, 83, 4, 52, 67, 83, 4, 52,192, 32, 4, 0, 0, 0,192,172, /* 0x e00 */ -255,255,132, 36,253,255,128, 20, 4, 0,198, 36, 3, 0,192,168, /* 0x e10 */ - 0, 0,192,184,255,255,132, 36,252,255,128, 20, 4, 0,198, 36, /* 0x e20 */ -160, 0, 10, 36, 9,248, 64, 1, 68, 0, 9, 36, 0, 0,164,143, /* 0x e30 */ - 4, 0,165,143, 8, 0,166,143, 12, 0,167,143, 16, 0,162,143, /* 0x e40 */ - 20, 0,163,143, 80, 69, 80, 74, 24, 0,191,143, 85, 80, 88, 33, /* 0x e50 */ -161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x e60 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 80, 83, 49, 83, /* 0x e70 */ - 84, 65, 82, 84, 0, 0, 0, 0, 0, 80, 83, 49, 69, 78, 84, 82, /* 0x e80 */ - 89, 0, 20, 0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 76, 0, 56, /* 0x e90 */ - 0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 73, 0, 64, 0, 0, 0, /* 0x ea0 */ - 80, 83, 49, 78, 50, 66, 48, 56, 0, 68, 0, 0, 0, 80, 83, 49, /* 0x eb0 */ - 78, 50, 68, 48, 56, 0, 72, 2, 0, 0, 80, 83, 49, 78, 50, 69, /* 0x ec0 */ - 48, 56, 0,136, 4, 0, 0, 80, 83, 49, 78, 50, 66, 51, 50, 0, /* 0x ed0 */ - 28, 7, 0, 0, 80, 83, 49, 78, 50, 68, 51, 50, 0, 36, 9, 0, /* 0x ee0 */ - 0, 80, 83, 49, 78, 50, 69, 51, 50, 0,104, 11, 0, 0, 80, 83, /* 0x ef0 */ - 49, 77, 83, 69, 84, 83, 0, 0, 14, 0, 0, 80, 83, 49, 77, 83, /* 0x f00 */ - 69, 84, 66, 0, 4, 14, 0, 0, 80, 83, 49, 77, 83, 69, 84, 65, /* 0x f10 */ - 0, 12, 14, 0, 0, 80, 83, 49, 77, 83, 69, 84, 85, 0, 28, 14, /* 0x f20 */ - 0, 0, 80, 83, 49, 69, 88, 73, 84, 67, 0, 48, 14, 0, 0, 80, /* 0x f30 */ - 83, 49, 80, 65, 72, 68, 82, 0, 92, 14, 0, 0, 80, 83, 49, 69, /* 0x f40 */ - 79, 65, 83, 77, 0,124, 14, 0, 0,255,255,255,255,124, 14 /* 0x f50 */ +unsigned char nrv_boot_loader[6855] = { +127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */ + 1, 0, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 10 */ +144, 7, 0, 0, 0, 16, 0, 16, 52, 0, 0, 0, 0, 0, 40, 0, /* 0x 20 */ + 27, 0, 24, 0, 0, 0, 8, 60, 0, 0, 8, 37, 35, 64, 8, 2, /* 0x 30 */ + 8, 0, 0, 1, 0, 0, 0, 0,228,255,189, 39, 0, 0,164,175, /* 0x 40 */ + 4, 0,165,175, 8, 0,166,175, 12, 0,167,175, 16, 0,162,175, /* 0x 50 */ + 20, 0,163,175, 24, 0,191,175, 0, 0, 4, 60, 0, 0,132, 36, /* 0x 60 */ + 0, 0, 6, 60, 0, 0,198, 36, 0, 0, 6, 60, 33, 72, 0, 0, /* 0x 70 */ + 1, 0, 11, 36, 33, 64,128, 0,127, 0, 34, 49, 6, 0, 64, 20, /* 0x 80 */ + 0, 0, 0, 0, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 90 */ + 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x a0 */ + 7, 0, 64, 16, 0, 0, 0, 0, 1, 0, 3, 36, 0, 0, 2,145, /* 0x b0 */ + 1, 0, 8, 37,240,255, 0, 16, 0, 0,194,160, 1, 0,198, 36, /* 0x c0 */ +127, 0, 34, 49, 6, 0, 64, 20, 0, 0, 0, 0, 64, 72, 9, 0, /* 0x d0 */ + 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x e0 */ + 2, 18, 9, 0, 1, 0, 66, 48, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x f0 */ +127, 0, 34, 49, 6, 0, 64, 20, 0, 0, 0, 0, 64, 72, 9, 0, /* 0x 100 */ + 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 110 */ + 2, 18, 9, 0, 1, 0, 66, 48, 15, 0, 64, 20, 0, 0, 0, 0, /* 0x 120 */ +255,255, 98, 36, 64, 24, 2, 0,127, 0, 34, 49, 6, 0, 64, 20, /* 0x 130 */ + 0, 0, 0, 0, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 140 */ + 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0,220,255, 0, 16, /* 0x 150 */ + 1, 0, 66, 48, 33, 24, 98, 0, 2, 0, 2, 36, 15, 0, 98, 20, /* 0x 160 */ + 0, 0, 0, 0,253,255, 99, 36, 33, 24, 96, 1,127, 0, 34, 49, /* 0x 170 */ + 6, 0, 64, 20, 0, 0, 0, 0, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 180 */ + 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 190 */ + 14, 0, 0, 16, 1, 0, 66, 48, 1, 0, 76, 48, 0, 0, 2,145, /* 0x 1a0 */ + 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36,103, 0, 98, 16, /* 0x 1b0 */ + 0, 0, 0, 0, 1, 0, 8, 37, 39, 16, 3, 0, 1, 0, 76, 48, /* 0x 1c0 */ + 66, 24, 3, 0, 1, 0, 99, 36, 33, 88, 96, 0, 15, 0,128, 17, /* 0x 1d0 */ + 0, 0, 0, 0,127, 0, 34, 49,127, 0, 34, 49, 6, 0, 64, 20, /* 0x 1e0 */ + 0, 0, 0, 0, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 1f0 */ + 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 53, 0, 0, 16, /* 0x 200 */ + 1, 0, 66, 48, 1, 0, 76, 36,127, 0, 34, 49, 6, 0, 64, 20, /* 0x 210 */ + 0, 0, 0, 0, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 220 */ + 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 230 */ + 14, 0, 64, 16, 0, 0, 0, 0, 1, 0,140, 37,127, 0, 34, 49, /* 0x 240 */ + 6, 0, 64, 20, 0, 0, 0, 0, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 250 */ + 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 260 */ + 28, 0, 0, 16, 1, 0, 66, 48, 3, 0, 76, 36,127, 0, 34, 49, /* 0x 270 */ + 6, 0, 64, 20, 0, 0, 0, 0, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 280 */ + 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 290 */ + 1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1,127, 0, 34, 49, /* 0x 2a0 */ + 6, 0, 64, 20, 0, 0, 0, 0, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 2b0 */ + 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 2c0 */ + 1, 0, 66, 48,234,255, 64, 16, 0, 0, 0, 0,127, 0, 34, 49, /* 0x 2d0 */ + 3, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, /* 0x 2e0 */ + 4, 0, 98, 40, 16, 0, 64, 20, 0, 0, 0, 0, 1, 0,140, 37, /* 0x 2f0 */ + 35, 24,195, 0, 4, 0,130, 41, 13, 0, 64, 20, 0, 0, 0, 0, /* 0x 300 */ + 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, /* 0x 310 */ + 3, 0,194,168,247,255,128, 21, 4, 0, 99, 36, 87,255, 0, 16, /* 0x 320 */ + 4, 0,198, 36,127, 0, 34, 49, 35, 24,195, 0, 0, 0, 98,144, /* 0x 330 */ +255,255,140, 37, 0, 0,194,160,252,255,128, 21, 1, 0, 99, 36, /* 0x 340 */ + 78,255, 0, 16, 1, 0,198, 36,127, 0, 34, 49, 33, 72, 0, 0, /* 0x 350 */ + 33,104, 32, 1, 1, 0, 11, 36, 33, 64,128, 0,255,255,173, 37, /* 0x 360 */ + 7, 0,161, 5, 0, 0, 0, 0, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 370 */ + 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 380 */ + 1, 0, 66, 48, 7, 0, 64, 16, 0, 0, 0, 0, 1, 0, 3, 36, /* 0x 390 */ + 0, 0, 2,145, 1, 0, 8, 37,240,255, 0, 16, 0, 0,194,160, /* 0x 3a0 */ + 1, 0,198, 36,255,255,173, 37, 7, 0,161, 5, 0, 0, 0, 0, /* 0x 3b0 */ + 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x 3c0 */ + 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 64, 24, 3, 0, /* 0x 3d0 */ + 33, 24, 98, 0,255,255,173, 37, 7, 0,161, 5, 0, 0, 0, 0, /* 0x 3e0 */ + 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x 3f0 */ + 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 15, 0, 64, 20, /* 0x 400 */ + 0, 0, 0, 0,255,255, 98, 36, 64, 24, 2, 0,255,255,173, 37, /* 0x 410 */ + 7, 0,161, 5, 0, 0, 0, 0, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 420 */ + 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 430 */ +220,255, 0, 16, 1, 0, 66, 48, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 440 */ + 15, 0, 98, 20, 0, 0, 0, 0,253,255, 99, 36, 33, 24, 96, 1, /* 0x 450 */ +255,255,173, 37, 7, 0,161, 5, 0, 0, 0, 0, 6, 16,169, 1, /* 0x 460 */ + 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 470 */ + 6, 16,169, 1, 14, 0, 0, 16, 1, 0, 66, 48, 1, 0, 76, 48, /* 0x 480 */ + 0, 0, 2,145, 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, /* 0x 490 */ +103, 0, 98, 16, 0, 0, 0, 0, 1, 0, 8, 37, 39, 16, 3, 0, /* 0x 4a0 */ + 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, 33, 88, 96, 0, /* 0x 4b0 */ + 14, 0,128, 17, 0, 0, 0, 0, 0, 0, 0, 0,255,255,173, 37, /* 0x 4c0 */ + 7, 0,161, 5, 0, 0, 0, 0, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 4d0 */ + 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 4e0 */ + 53, 0, 0, 16, 1, 0, 66, 48, 1, 0, 76, 36,255,255,173, 37, /* 0x 4f0 */ + 7, 0,161, 5, 0, 0, 0, 0, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 500 */ + 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 510 */ + 1, 0, 66, 48, 14, 0, 64, 16, 0, 0, 0, 0, 1, 0,140, 37, /* 0x 520 */ +255,255,173, 37, 7, 0,161, 5, 0, 0, 0, 0, 6, 16,169, 1, /* 0x 530 */ + 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 540 */ + 6, 16,169, 1, 28, 0, 0, 16, 1, 0, 66, 48, 3, 0, 76, 36, /* 0x 550 */ +255,255,173, 37, 7, 0,161, 5, 0, 0, 0, 0, 6, 16,169, 1, /* 0x 560 */ + 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 570 */ + 6, 16,169, 1, 1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 580 */ +255,255,173, 37, 7, 0,161, 5, 0, 0, 0, 0, 6, 16,169, 1, /* 0x 590 */ + 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 5a0 */ + 6, 16,169, 1, 1, 0, 66, 48,233,255, 64, 16, 0, 0, 0, 0, /* 0x 5b0 */ + 0, 0, 0, 0, 3, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, /* 0x 5c0 */ + 33, 96,130, 1, 4, 0, 98, 40, 16, 0, 64, 20, 0, 0, 0, 0, /* 0x 5d0 */ + 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, 13, 0, 64, 20, /* 0x 5e0 */ + 0, 0, 0, 0, 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, /* 0x 5f0 */ + 0, 0,194,184, 3, 0,194,168,247,255,128, 21, 4, 0, 99, 36, /* 0x 600 */ + 87,255, 0, 16, 4, 0,198, 36,255,255,173, 37, 35, 24,195, 0, /* 0x 610 */ + 0, 0, 98,144,255,255,140, 37, 0, 0,194,160,252,255,128, 21, /* 0x 620 */ + 1, 0, 99, 36, 78,255, 0, 16, 1, 0,198, 36,255,255,173, 37, /* 0x 630 */ + 0, 0, 4, 52, 0, 0, 4, 52,192, 32, 4, 0, 0, 0,192,172, /* 0x 640 */ +255,255,132, 36,253,255,128, 20, 0, 0, 0, 0, 4, 0,198, 36, /* 0x 650 */ + 3, 0,192,168, 0, 0,192,184,255,255,132, 36,252,255,128, 20, /* 0x 660 */ + 0, 0, 0, 0, 4, 0,198, 36,160, 0, 10, 36, 9,248, 64, 1, /* 0x 670 */ + 0, 0, 0, 0, 68, 0, 9, 36, 0, 0,164,143, 4, 0,165,143, /* 0x 680 */ + 8, 0,166,143, 12, 0,167,143, 16, 0,162,143, 20, 0,163,143, /* 0x 690 */ + 0, 0, 0, 0, 24, 0,191,143, 85, 80, 88, 33,161,216,208,213, /* 0x 6a0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 6b0 */ + 0, 0, 0, 0, 0, 0, 0, 45, 0, 46,115,121,109,116, 97, 98, /* 0x 6c0 */ + 0, 46,115,116,114,116, 97, 98, 0, 46,115,104,115,116,114,116, /* 0x 6d0 */ + 97, 98, 0, 46,114,101,108, 80, 83, 49, 83, 84, 65, 82, 84, 0, /* 0x 6e0 */ + 46,114,101,108, 80, 83, 49, 69, 78, 84, 82, 89, 0, 46,114,101, /* 0x 6f0 */ +108, 80, 83, 49, 67, 79, 78, 72, 76, 0, 46,114,101,108, 80, 83, /* 0x 700 */ + 49, 67, 79, 78, 72, 73, 0, 80, 83, 49, 78, 50, 66, 48, 56, 0, /* 0x 710 */ + 80, 83, 49, 78, 50, 68, 48, 56, 0, 80, 83, 49, 78, 50, 69, 48, /* 0x 720 */ + 56, 0, 80, 83, 49, 78, 50, 66, 51, 50, 0, 80, 83, 49, 78, 50, /* 0x 730 */ + 68, 51, 50, 0, 80, 83, 49, 78, 50, 69, 51, 50, 0, 46,114,101, /* 0x 740 */ +108, 80, 83, 49, 77, 83, 69, 84, 83, 0, 46,114,101,108, 80, 83, /* 0x 750 */ + 49, 77, 83, 69, 84, 66, 0, 80, 83, 49, 77, 83, 69, 84, 65, 0, /* 0x 760 */ + 80, 83, 49, 77, 83, 69, 84, 85, 0, 46,114,101,108, 80, 83, 49, /* 0x 770 */ + 69, 88, 73, 84, 67, 0, 85, 80, 88, 49, 72, 69, 65, 68, 0, 0, /* 0x 780 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 790 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 7a0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, /* 0x 7b0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 24, 0, 0, 0, /* 0x 7c0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 7d0 */ + 27, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 7e0 */ +208, 13, 0, 0, 16, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, /* 0x 7f0 */ + 4, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, /* 0x 800 */ + 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 36, 0, 0, 0, /* 0x 810 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 820 */ + 40, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 830 */ +224, 13, 0, 0, 16, 0, 0, 0, 25, 0, 0, 0, 3, 0, 0, 0, /* 0x 840 */ + 4, 0, 0, 0, 8, 0, 0, 0, 57, 0, 0, 0, 1, 0, 0, 0, /* 0x 850 */ + 0, 0, 0, 0, 0, 0, 0, 0,112, 0, 0, 0, 8, 0, 0, 0, /* 0x 860 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 870 */ + 53, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 880 */ +240, 13, 0, 0, 16, 0, 0, 0, 25, 0, 0, 0, 5, 0, 0, 0, /* 0x 890 */ + 4, 0, 0, 0, 8, 0, 0, 0, 70, 0, 0, 0, 1, 0, 0, 0, /* 0x 8a0 */ + 0, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0, 4, 0, 0, 0, /* 0x 8b0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 8c0 */ + 66, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 8d0 */ + 0, 14, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 7, 0, 0, 0, /* 0x 8e0 */ + 4, 0, 0, 0, 8, 0, 0, 0, 79, 0, 0, 0, 1, 0, 0, 0, /* 0x 8f0 */ + 0, 0, 0, 0, 0, 0, 0, 0,124, 0, 0, 0, 0, 0, 0, 0, /* 0x 900 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 910 */ + 88, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 920 */ +124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 930 */ + 1, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 1, 0, 0, 0, /* 0x 940 */ + 0, 0, 0, 0, 0, 0, 0, 0,124, 0, 0, 0,224, 2, 0, 0, /* 0x 950 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 960 */ +106, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 970 */ + 92, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 980 */ + 1, 0, 0, 0, 0, 0, 0, 0,115, 0, 0, 0, 1, 0, 0, 0, /* 0x 990 */ + 0, 0, 0, 0, 0, 0, 0, 0, 92, 3, 0, 0, 0, 0, 0, 0, /* 0x 9a0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 9b0 */ +124, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 9c0 */ + 92, 3, 0, 0,228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 9d0 */ + 1, 0, 0, 0, 0, 0, 0, 0,137, 0, 0, 0, 1, 0, 0, 0, /* 0x 9e0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 64, 6, 0, 0, 4, 0, 0, 0, /* 0x 9f0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x a00 */ +133, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a10 */ + 8, 14, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 15, 0, 0, 0, /* 0x a20 */ + 4, 0, 0, 0, 8, 0, 0, 0,150, 0, 0, 0, 1, 0, 0, 0, /* 0x a30 */ + 0, 0, 0, 0, 0, 0, 0, 0, 68, 6, 0, 0, 8, 0, 0, 0, /* 0x a40 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x a50 */ +146, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a60 */ + 16, 14, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 17, 0, 0, 0, /* 0x a70 */ + 4, 0, 0, 0, 8, 0, 0, 0,159, 0, 0, 0, 1, 0, 0, 0, /* 0x a80 */ + 0, 0, 0, 0, 0, 0, 0, 0, 76, 6, 0, 0, 20, 0, 0, 0, /* 0x a90 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x aa0 */ +168, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x ab0 */ + 96, 6, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x ac0 */ + 1, 0, 0, 0, 0, 0, 0, 0,181, 0, 0, 0, 1, 0, 0, 0, /* 0x ad0 */ + 0, 0, 0, 0, 0, 0, 0, 0,120, 6, 0, 0, 48, 0, 0, 0, /* 0x ae0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x af0 */ +177, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b00 */ + 24, 14, 0, 0, 8, 0, 0, 0, 25, 0, 0, 0, 21, 0, 0, 0, /* 0x b10 */ + 4, 0, 0, 0, 8, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, /* 0x b20 */ + 0, 0, 0, 0, 0, 0, 0, 0,168, 6, 0, 0, 32, 0, 0, 0, /* 0x b30 */ + 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x b40 */ + 17, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b50 */ +200, 6, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b60 */ + 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, /* 0x b70 */ + 0, 0, 0, 0, 0, 0, 0, 0,200, 11, 0, 0, 96, 1, 0, 0, /* 0x b80 */ + 26, 0, 0, 0, 17, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 0, /* 0x b90 */ + 9, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x ba0 */ + 40, 13, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x bb0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x bc0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x bd0 */ + 0, 0, 0, 0, 3, 0, 1, 0, 10, 0, 0, 0, 0, 0, 0, 0, /* 0x be0 */ + 0, 0, 0, 0, 3, 0, 3, 0, 19, 0, 0, 0, 0, 0, 0, 0, /* 0x bf0 */ + 0, 0, 0, 0, 3, 0, 5, 0, 28, 0, 0, 0, 0, 0, 0, 0, /* 0x c00 */ + 0, 0, 0, 0, 3, 0, 7, 0, 37, 0, 0, 0, 0, 0, 0, 0, /* 0x c10 */ + 0, 0, 0, 0, 3, 0, 9, 0, 46, 0, 0, 0, 0, 0, 0, 0, /* 0x c20 */ + 0, 0, 0, 0, 3, 0, 10, 0, 55, 0, 0, 0, 0, 0, 0, 0, /* 0x c30 */ + 0, 0, 0, 0, 3, 0, 11, 0, 64, 0, 0, 0, 0, 0, 0, 0, /* 0x c40 */ + 0, 0, 0, 0, 3, 0, 12, 0, 73, 0, 0, 0, 0, 0, 0, 0, /* 0x c50 */ + 0, 0, 0, 0, 3, 0, 13, 0, 82, 0, 0, 0, 0, 0, 0, 0, /* 0x c60 */ + 0, 0, 0, 0, 3, 0, 14, 0, 91, 0, 0, 0, 0, 0, 0, 0, /* 0x c70 */ + 0, 0, 0, 0, 3, 0, 15, 0,100, 0, 0, 0, 0, 0, 0, 0, /* 0x c80 */ + 0, 0, 0, 0, 3, 0, 17, 0,109, 0, 0, 0, 0, 0, 0, 0, /* 0x c90 */ + 0, 0, 0, 0, 3, 0, 19, 0,118, 0, 0, 0, 0, 0, 0, 0, /* 0x ca0 */ + 0, 0, 0, 0, 3, 0, 20, 0,127, 0, 0, 0, 0, 0, 0, 0, /* 0x cb0 */ + 0, 0, 0, 0, 3, 0, 21, 0,136, 0, 0, 0, 0, 0, 0, 0, /* 0x cc0 */ + 0, 0, 0, 0, 3, 0, 23, 0,145, 0, 0, 0, 0, 0, 0, 0, /* 0x cd0 */ + 0, 0, 0, 0, 16, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, /* 0x ce0 */ + 0, 0, 0, 0, 16, 0, 0, 0,155, 0, 0, 0, 0, 0, 0, 0, /* 0x cf0 */ + 0, 0, 0, 0, 16, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, /* 0x d00 */ + 0, 0, 0, 0, 16, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 0, /* 0x d10 */ + 0, 0, 0, 0, 16, 0, 0, 0, 0, 80, 83, 49, 83, 84, 65, 82, /* 0x d20 */ + 84, 0, 80, 83, 49, 69, 78, 84, 82, 89, 0, 80, 83, 49, 67, 79, /* 0x d30 */ + 78, 72, 76, 0, 80, 83, 49, 67, 79, 78, 72, 73, 0, 80, 83, 49, /* 0x d40 */ + 78, 50, 66, 48, 56, 0, 80, 83, 49, 78, 50, 68, 48, 56, 0, 80, /* 0x d50 */ + 83, 49, 78, 50, 69, 48, 56, 0, 80, 83, 49, 78, 50, 66, 51, 50, /* 0x d60 */ + 0, 80, 83, 49, 78, 50, 68, 51, 50, 0, 80, 83, 49, 78, 50, 69, /* 0x d70 */ + 51, 50, 0, 80, 83, 49, 77, 83, 69, 84, 83, 0, 80, 83, 49, 77, /* 0x d80 */ + 83, 69, 84, 66, 0, 80, 83, 49, 77, 83, 69, 84, 65, 0, 80, 83, /* 0x d90 */ + 49, 77, 83, 69, 84, 85, 0, 80, 83, 49, 69, 88, 73, 84, 67, 0, /* 0x da0 */ + 85, 80, 88, 49, 72, 69, 65, 68, 0, 80, 83, 86, 82, 0, 67, 80, /* 0x db0 */ + 68, 79, 0, 68, 69, 67, 79, 0, 83, 67, 0, 74, 80, 69, 80, 0, /* 0x dc0 */ + 0, 0, 0, 0, 5, 17, 0, 0, 4, 0, 0, 0, 6, 17, 0, 0, /* 0x dd0 */ + 28, 0, 0, 0, 5, 18, 0, 0, 32, 0, 0, 0, 6, 18, 0, 0, /* 0x de0 */ + 0, 0, 0, 0, 5, 19, 0, 0, 4, 0, 0, 0, 6, 19, 0, 0, /* 0x df0 */ + 0, 0, 0, 0, 5, 19, 0, 0, 0, 0, 0, 0, 6, 20, 0, 0, /* 0x e00 */ + 0, 0, 0, 0, 6, 20, 0, 0, 40, 0, 0, 0, 2, 21, 0, 0, /* 0x e10 */ + 10,116,109,112, 47,109,105,112,115,101,108, 46,114, 51, 48, 48, /* 0x e20 */ + 48, 45,112,115, 49, 45, 98,111,111,116, 46, 98,105,110, 58, 32, /* 0x e30 */ + 32, 32, 32, 32,102,105,108,101, 32,102,111,114,109, 97,116, 32, /* 0x e40 */ +101,108,102, 51, 50, 45,108,105,116,116,108,101,109,105,112,115, /* 0x e50 */ + 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, /* 0x e60 */ + 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105, /* 0x e70 */ +122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, /* 0x e80 */ + 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, /* 0x e90 */ + 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103, /* 0x ea0 */ +115, 10, 32, 32, 48, 32, 80, 83, 49, 83, 84, 65, 82, 84, 32, 32, /* 0x eb0 */ + 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 56, 32, 32, 48, 48, /* 0x ec0 */ + 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x ed0 */ + 32, 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, /* 0x ee0 */ + 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, /* 0x ef0 */ + 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, /* 0x f00 */ + 80, 83, 49, 69, 78, 84, 82, 89, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x f10 */ + 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x f20 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x f30 */ + 48, 48, 52, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x f40 */ + 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x f50 */ + 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 80, 83, 49, 67, 79, 78, /* 0x f60 */ + 72, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, /* 0x f70 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x f80 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 55, 48, 32, 32, /* 0x f90 */ + 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x fa0 */ + 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x fb0 */ + 32, 32, 51, 32, 80, 83, 49, 67, 79, 78, 72, 73, 32, 32, 32, 32, /* 0x fc0 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, /* 0x fd0 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x fe0 */ + 48, 48, 48, 48, 48, 48, 55, 56, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x ff0 */ + 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, /* 0x1000 */ + 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 80, 83, /* 0x1010 */ + 49, 78, 50, 66, 48, 56, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x1020 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1030 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x1040 */ + 55, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x1050 */ + 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, /* 0x1060 */ + 32, 80, 83, 49, 78, 50, 68, 48, 56, 32, 32, 32, 32, 32, 32, 48, /* 0x1070 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1080 */ + 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x1090 */ + 48, 48, 48, 55, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x10a0 */ + 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x10b0 */ + 32, 32, 54, 32, 80, 83, 49, 78, 50, 69, 48, 56, 32, 32, 32, 32, /* 0x10c0 */ + 32, 32, 48, 48, 48, 48, 48, 50,101, 48, 32, 32, 48, 48, 48, 48, /* 0x10d0 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x10e0 */ + 48, 48, 48, 48, 48, 48, 55, 99, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x10f0 */ + 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x1100 */ + 76, 89, 10, 32, 32, 55, 32, 80, 83, 49, 78, 50, 66, 51, 50, 32, /* 0x1110 */ + 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1120 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1130 */ + 48, 32, 32, 48, 48, 48, 48, 48, 51, 53, 99, 32, 32, 50, 42, 42, /* 0x1140 */ + 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, /* 0x1150 */ + 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 80, 83, 49, 78, 50, 68, /* 0x1160 */ + 51, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1170 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1180 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 53, 99, 32, 32, /* 0x1190 */ + 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x11a0 */ + 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 80, 83, 49, /* 0x11b0 */ + 78, 50, 69, 51, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x11c0 */ + 50,101, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x11d0 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 53, /* 0x11e0 */ + 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x11f0 */ + 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, /* 0x1200 */ + 80, 83, 49, 77, 83, 69, 84, 83, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x1210 */ + 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1220 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1230 */ + 48, 54, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x1240 */ + 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x1250 */ + 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 80, 83, 49, 77, 83, 69, /* 0x1260 */ + 84, 66, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, /* 0x1270 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1280 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 54, 52, 52, 32, 32, /* 0x1290 */ + 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x12a0 */ + 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x12b0 */ + 32, 49, 50, 32, 80, 83, 49, 77, 83, 69, 84, 65, 32, 32, 32, 32, /* 0x12c0 */ + 32, 32, 48, 48, 48, 48, 48, 48, 49, 52, 32, 32, 48, 48, 48, 48, /* 0x12d0 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x12e0 */ + 48, 48, 48, 48, 48, 54, 52, 99, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x12f0 */ + 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x1300 */ + 76, 89, 10, 32, 49, 51, 32, 80, 83, 49, 77, 83, 69, 84, 85, 32, /* 0x1310 */ + 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 56, 32, 32, 48, /* 0x1320 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1330 */ + 48, 32, 32, 48, 48, 48, 48, 48, 54, 54, 48, 32, 32, 50, 42, 42, /* 0x1340 */ + 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, /* 0x1350 */ + 68, 79, 78, 76, 89, 10, 32, 49, 52, 32, 80, 83, 49, 69, 88, 73, /* 0x1360 */ + 84, 67, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 51, 48, /* 0x1370 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1380 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 54, 55, 56, 32, 32, /* 0x1390 */ + 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x13a0 */ + 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x13b0 */ + 32, 49, 53, 32, 85, 80, 88, 49, 72, 69, 65, 68, 32, 32, 32, 32, /* 0x13c0 */ + 32, 32, 48, 48, 48, 48, 48, 48, 50, 48, 32, 32, 48, 48, 48, 48, /* 0x13d0 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x13e0 */ + 48, 48, 48, 48, 48, 54, 97, 56, 32, 32, 50, 42, 42, 50, 32, 32, /* 0x13f0 */ + 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x1400 */ + 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, /* 0x1410 */ + 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, /* 0x1420 */ + 32, 32, 80, 83, 49, 83, 84, 65, 82, 84, 9, 48, 48, 48, 48, 48, /* 0x1430 */ + 48, 48, 48, 32, 80, 83, 49, 83, 84, 65, 82, 84, 10, 48, 48, 48, /* 0x1440 */ + 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, /* 0x1450 */ + 49, 69, 78, 84, 82, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1460 */ + 80, 83, 49, 69, 78, 84, 82, 89, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x1470 */ + 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 67, 79, 78, /* 0x1480 */ + 72, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 67, /* 0x1490 */ + 79, 78, 72, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, /* 0x14a0 */ + 32, 32, 32,100, 32, 32, 80, 83, 49, 67, 79, 78, 72, 73, 9, 48, /* 0x14b0 */ + 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 67, 79, 78, 72, 73, /* 0x14c0 */ + 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, /* 0x14d0 */ + 32, 32, 80, 83, 49, 78, 50, 66, 48, 56, 9, 48, 48, 48, 48, 48, /* 0x14e0 */ + 48, 48, 48, 32, 80, 83, 49, 78, 50, 66, 48, 56, 10, 48, 48, 48, /* 0x14f0 */ + 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, /* 0x1500 */ + 49, 78, 50, 68, 48, 56, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1510 */ + 80, 83, 49, 78, 50, 68, 48, 56, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x1520 */ + 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 78, 50, 69, /* 0x1530 */ + 48, 56, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 78, /* 0x1540 */ + 50, 69, 48, 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, /* 0x1550 */ + 32, 32, 32,100, 32, 32, 80, 83, 49, 78, 50, 66, 51, 50, 9, 48, /* 0x1560 */ + 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 78, 50, 66, 51, 50, /* 0x1570 */ + 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, /* 0x1580 */ + 32, 32, 80, 83, 49, 78, 50, 68, 51, 50, 9, 48, 48, 48, 48, 48, /* 0x1590 */ + 48, 48, 48, 32, 80, 83, 49, 78, 50, 68, 51, 50, 10, 48, 48, 48, /* 0x15a0 */ + 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, /* 0x15b0 */ + 49, 78, 50, 69, 51, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x15c0 */ + 80, 83, 49, 78, 50, 69, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x15d0 */ + 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 77, 83, 69, /* 0x15e0 */ + 84, 83, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 77, /* 0x15f0 */ + 83, 69, 84, 83, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, /* 0x1600 */ + 32, 32, 32,100, 32, 32, 80, 83, 49, 77, 83, 69, 84, 66, 9, 48, /* 0x1610 */ + 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 77, 83, 69, 84, 66, /* 0x1620 */ + 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, /* 0x1630 */ + 32, 32, 80, 83, 49, 77, 83, 69, 84, 65, 9, 48, 48, 48, 48, 48, /* 0x1640 */ + 48, 48, 48, 32, 80, 83, 49, 77, 83, 69, 84, 65, 10, 48, 48, 48, /* 0x1650 */ + 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, /* 0x1660 */ + 49, 77, 83, 69, 84, 85, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1670 */ + 80, 83, 49, 77, 83, 69, 84, 85, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x1680 */ + 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 69, 88, 73, /* 0x1690 */ + 84, 67, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 69, /* 0x16a0 */ + 88, 73, 84, 67, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, /* 0x16b0 */ + 32, 32, 32,100, 32, 32, 85, 80, 88, 49, 72, 69, 65, 68, 9, 48, /* 0x16c0 */ + 48, 48, 48, 48, 48, 48, 48, 32, 85, 80, 88, 49, 72, 69, 65, 68, /* 0x16d0 */ + 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, /* 0x16e0 */ + 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x16f0 */ + 32, 80, 83, 86, 82, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1700 */ + 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, /* 0x1710 */ + 48, 48, 48, 48, 48, 32, 67, 80, 68, 79, 10, 48, 48, 48, 48, 48, /* 0x1720 */ + 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, /* 0x1730 */ + 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 68, 69, 67, 79, 10, /* 0x1740 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x1750 */ + 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1760 */ + 83, 67, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, /* 0x1770 */ + 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, /* 0x1780 */ + 48, 48, 32, 74, 80, 69, 80, 10, 10, 10, 82, 69, 76, 79, 67, 65, /* 0x1790 */ + 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, /* 0x17a0 */ + 32, 91, 80, 83, 49, 83, 84, 65, 82, 84, 93, 58, 10, 79, 70, 70, /* 0x17b0 */ + 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, /* 0x17c0 */ + 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 32, 10, 48, /* 0x17d0 */ + 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, 72, /* 0x17e0 */ + 73, 49, 54, 32, 32, 32, 32, 32, 32, 32, 80, 83, 86, 82, 10, 48, /* 0x17f0 */ + 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 77, 73, 80, 83, 95, 76, /* 0x1800 */ + 79, 49, 54, 32, 32, 32, 32, 32, 32, 32, 80, 83, 86, 82, 10, 10, /* 0x1810 */ + 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, /* 0x1820 */ + 82, 68, 83, 32, 70, 79, 82, 32, 91, 80, 83, 49, 69, 78, 84, 82, /* 0x1830 */ + 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, /* 0x1840 */ + 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, /* 0x1850 */ + 65, 76, 85, 69, 32, 10, 48, 48, 48, 48, 48, 48, 49, 99, 32, 82, /* 0x1860 */ + 95, 77, 73, 80, 83, 95, 72, 73, 49, 54, 32, 32, 32, 32, 32, 32, /* 0x1870 */ + 32, 67, 80, 68, 79, 10, 48, 48, 48, 48, 48, 48, 50, 48, 32, 82, /* 0x1880 */ + 95, 77, 73, 80, 83, 95, 76, 79, 49, 54, 32, 32, 32, 32, 32, 32, /* 0x1890 */ + 32, 67, 80, 68, 79, 10, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, /* 0x18a0 */ + 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, /* 0x18b0 */ + 80, 83, 49, 67, 79, 78, 72, 76, 93, 58, 10, 79, 70, 70, 83, 69, /* 0x18c0 */ + 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x18d0 */ + 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 32, 10, 48, 48, 48, /* 0x18e0 */ + 48, 48, 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, 72, 73, 49, /* 0x18f0 */ + 54, 32, 32, 32, 32, 32, 32, 32, 68, 69, 67, 79, 10, 48, 48, 48, /* 0x1900 */ + 48, 48, 48, 48, 52, 32, 82, 95, 77, 73, 80, 83, 95, 76, 79, 49, /* 0x1910 */ + 54, 32, 32, 32, 32, 32, 32, 32, 68, 69, 67, 79, 10, 10, 10, 82, /* 0x1920 */ + 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, /* 0x1930 */ + 83, 32, 70, 79, 82, 32, 91, 80, 83, 49, 67, 79, 78, 72, 73, 93, /* 0x1940 */ + 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, /* 0x1950 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, /* 0x1960 */ + 85, 69, 32, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 77, /* 0x1970 */ + 73, 80, 83, 95, 72, 73, 49, 54, 32, 32, 32, 32, 32, 32, 32, 68, /* 0x1980 */ + 69, 67, 79, 10, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, /* 0x1990 */ + 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 80, 83, /* 0x19a0 */ + 49, 77, 83, 69, 84, 83, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, /* 0x19b0 */ + 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x19c0 */ + 32, 32, 32, 32, 86, 65, 76, 85, 69, 32, 10, 48, 48, 48, 48, 48, /* 0x19d0 */ + 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, 76, 79, 49, 54, 32, /* 0x19e0 */ + 32, 32, 32, 32, 32, 32, 83, 67, 10, 10, 10, 82, 69, 76, 79, 67, /* 0x19f0 */ + 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, /* 0x1a00 */ + 82, 32, 91, 80, 83, 49, 77, 83, 69, 84, 66, 93, 58, 10, 79, 70, /* 0x1a10 */ + 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, /* 0x1a20 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 32, 10, /* 0x1a30 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, /* 0x1a40 */ + 76, 79, 49, 54, 32, 32, 32, 32, 32, 32, 32, 83, 67, 10, 10, 10, /* 0x1a50 */ + 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, /* 0x1a60 */ + 68, 83, 32, 70, 79, 82, 32, 91, 80, 83, 49, 69, 88, 73, 84, 67, /* 0x1a70 */ + 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, /* 0x1a80 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, /* 0x1a90 */ + 76, 85, 69, 32, 10, 48, 48, 48, 48, 48, 48, 50, 56, 32, 82, 95, /* 0x1aa0 */ + 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x1ab0 */ + 74, 80, 69, 80, 10, 10, 10 /* 0x1ac0 */ }; diff --git a/src/stub/mipsel.r3000-ps1-console.h b/src/stub/mipsel.r3000-ps1-console.h index d749ee71..9e49983c 100644 --- a/src/stub/mipsel.r3000-ps1-console.h +++ b/src/stub/mipsel.r3000-ps1-console.h @@ -1,4 +1,4 @@ -/* mipsel.r3000-ps1-console.h -- created from mipsel.r3000-ps1-console.bin, 2829 (0xb0d) bytes +/* mipsel.r3000-ps1-console.h -- created from mipsel.r3000-ps1-console.bin, 6821 (0x1aa5) bytes This file is part of the UPX executable compressor. @@ -27,186 +27,436 @@ */ -#define NRV_CON_LOADER_SIZE 2829 -#define NRV_CON_LOADER_ADLER32 0xa3df7da3 -#define NRV_CON_LOADER_CRC32 0x923b55c4 +#define NRV_CON_LOADER_SIZE 6821 +#define NRV_CON_LOADER_ADLER32 0xe35389b5 +#define NRV_CON_LOADER_CRC32 0xf52dd104 -unsigned char nrv_con_loader[2829] = { - 83, 76, 1, 36, 35,232,161, 3, 0, 0,161,175, 4, 0,164,175, /* 0x 0 */ - 8, 0,165,175, 12, 0,166,175, 16, 0,167,175, 20, 0,162,175, /* 0x 10 */ - 24, 0,163,175, 28, 0,191,175,224,255, 38, 36, 32, 0,167, 39, /* 0x 20 */ - 33, 40,224, 0, 67, 68, 4, 60, 84, 82,132, 52, 0, 0,129,140, /* 0x 30 */ -252,255,198, 36, 0, 0,161,172, 4, 0,132, 36,251,255,192, 20, /* 0x 40 */ - 4, 0,165, 36, 67, 80,132, 36, 69, 68, 6, 60, 8, 0,224, 0, /* 0x 50 */ - 79, 67,198, 52, 8, 0,224, 0, 69, 68, 6, 60, 33, 72, 0, 0, /* 0x 60 */ - 1, 0, 11, 36, 33, 64,128, 0, 76, 0, 17, 4,127, 0, 34, 49, /* 0x 70 */ - 6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 80 */ - 0, 0,194,160,248,255, 0, 16, 1, 0,198, 36, 67, 0, 17, 4, /* 0x 90 */ -127, 0, 34, 49, 64, 24, 3, 0, 33, 24, 98, 0, 63, 0, 17, 4, /* 0x a0 */ -127, 0, 34, 49,249,255, 64, 16, 0, 0, 0, 0, 2, 0, 2, 36, /* 0x b0 */ - 3, 0, 98, 20,253,255, 99, 36, 9, 0, 0, 16, 33, 24, 96, 1, /* 0x c0 */ - 0, 0, 2,145, 1, 0, 8, 37, 0, 26, 3, 0, 33, 24, 98, 0, /* 0x d0 */ -255,255, 2, 36, 58, 0, 98, 16, 1, 0, 99, 36, 33, 88, 96, 0, /* 0x e0 */ - 46, 0, 17, 4,127, 0, 34, 49, 33, 96, 64, 0, 64, 96, 12, 0, /* 0x f0 */ - 42, 0, 17, 4,127, 0, 34, 49, 33, 96,130, 1, 12, 0,128, 21, /* 0x 100 */ - 1, 13, 98, 44, 1, 0, 12, 36, 36, 0, 17, 4,127, 0, 34, 49, /* 0x 110 */ - 64, 96, 12, 0, 33, 96,130, 1, 32, 0, 17, 4,127, 0, 34, 49, /* 0x 120 */ -249,255, 64, 16, 0, 0, 0, 0, 2, 0,140, 37, 1, 13, 98, 44, /* 0x 130 */ - 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, /* 0x 140 */ - 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, /* 0x 150 */ - 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, /* 0x 160 */ - 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36, /* 0x 170 */ -189,255, 0, 16, 0, 0, 0, 0, 35, 24,195, 0, 0, 0, 98,144, /* 0x 180 */ -255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, /* 0x 190 */ - 1, 0,198, 36,180,255, 0, 16, 0, 0, 0, 0, 5, 0, 64, 20, /* 0x 1a0 */ - 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 1b0 */ - 1, 0, 73, 36, 2, 18, 9, 0, 8, 0,224, 3, 1, 0, 66, 48, /* 0x 1c0 */ - 33, 72, 0, 0, 1, 0, 11, 36, 33, 64,128, 0, 84, 0, 17, 4, /* 0x 1d0 */ -127, 0, 34, 49, 6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, /* 0x 1e0 */ - 1, 0, 8, 37, 0, 0,194,160,248,255, 0, 16, 1, 0,198, 36, /* 0x 1f0 */ - 75, 0, 17, 4,127, 0, 34, 49, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 200 */ - 71, 0, 17, 4,127, 0, 34, 49, 6, 0, 64, 20,255,255, 98, 36, /* 0x 210 */ - 64, 24, 2, 0, 66, 0, 17, 4,127, 0, 34, 49,244,255, 0, 16, /* 0x 220 */ - 33, 24, 98, 0, 2, 0, 2, 36, 6, 0, 98, 20,253,255, 99, 36, /* 0x 230 */ - 59, 0, 17, 4,127, 0, 34, 49, 33, 24, 96, 1, 12, 0, 0, 16, /* 0x 240 */ - 1, 0, 76, 48, 0, 0, 2,145, 1, 0, 8, 37, 0, 26, 3, 0, /* 0x 250 */ - 33, 24, 98, 0,255,255, 2, 36, 58, 0, 98, 16, 39, 16, 3, 0, /* 0x 260 */ - 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, 33, 88, 96, 0, /* 0x 270 */ - 43, 0, 17, 4,127, 0, 34, 49, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 280 */ - 12, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36, 36, 0, 17, 4, /* 0x 290 */ -127, 0, 34, 49, 64, 96, 12, 0, 33, 96,130, 1, 32, 0, 17, 4, /* 0x 2a0 */ -127, 0, 34, 49,249,255, 64, 16, 0, 0, 0, 0, 2, 0,140, 37, /* 0x 2b0 */ - 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, /* 0x 2c0 */ - 14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, /* 0x 2d0 */ - 12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, /* 0x 2e0 */ - 0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, /* 0x 2f0 */ - 4, 0,198, 36,181,255, 0, 16, 0, 0, 0, 0, 35, 24,195, 0, /* 0x 300 */ - 0, 0, 98,144,255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36, /* 0x 310 */ -251,255,128, 21, 1, 0,198, 36,172,255, 0, 16, 0, 0, 0, 0, /* 0x 320 */ - 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 330 */ - 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 8, 0,224, 3, /* 0x 340 */ - 1, 0, 66, 48, 33, 72, 0, 0, 1, 0, 11, 36, 33, 64,128, 0, /* 0x 350 */ - 91, 0, 17, 4,127, 0, 34, 49, 6, 0, 64, 16, 1, 0, 3, 36, /* 0x 360 */ - 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160,248,255, 0, 16, /* 0x 370 */ - 1, 0,198, 36, 82, 0, 17, 4,127, 0, 34, 49, 64, 24, 3, 0, /* 0x 380 */ - 33, 24, 98, 0, 78, 0, 17, 4,127, 0, 34, 49, 6, 0, 64, 20, /* 0x 390 */ -255,255, 98, 36, 64, 24, 2, 0, 73, 0, 17, 4,127, 0, 34, 49, /* 0x 3a0 */ -244,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, 6, 0, 98, 20, /* 0x 3b0 */ -253,255, 99, 36, 33, 24, 96, 1, 65, 0, 17, 4,127, 0, 34, 49, /* 0x 3c0 */ - 12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, 0, 26, 3, 0, /* 0x 3d0 */ - 33, 24, 98, 0,255,255, 2, 36, 66, 0, 98, 16, 1, 0, 8, 37, /* 0x 3e0 */ - 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x 3f0 */ - 33, 88, 96, 0, 5, 0,128, 17, 0, 0, 0, 0, 48, 0, 17, 4, /* 0x 400 */ -127, 0, 34, 49, 18, 0, 0, 16, 1, 0, 76, 36, 44, 0, 17, 4, /* 0x 410 */ -127, 0, 34, 49, 5, 0, 64, 16, 1, 0,140, 37, 40, 0, 17, 4, /* 0x 420 */ -127, 0, 34, 49, 10, 0, 0, 16, 3, 0, 76, 36, 36, 0, 17, 4, /* 0x 430 */ -127, 0, 34, 49, 64, 96, 12, 0, 33, 96,130, 1, 32, 0, 17, 4, /* 0x 440 */ -127, 0, 34, 49,249,255, 64, 16, 0, 0, 0, 0, 3, 0,140, 37, /* 0x 450 */ - 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, /* 0x 460 */ - 14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, /* 0x 470 */ - 12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, /* 0x 480 */ - 0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, /* 0x 490 */ - 4, 0,198, 36,174,255, 0, 16, 0, 0, 0, 0, 35, 24,195, 0, /* 0x 4a0 */ - 0, 0, 98,144,255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36, /* 0x 4b0 */ -251,255,128, 21, 1, 0,198, 36,165,255, 0, 16, 0, 0, 0, 0, /* 0x 4c0 */ - 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 4d0 */ - 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 8, 0,224, 3, /* 0x 4e0 */ - 1, 0, 66, 48, 33, 72, 0, 0, 33,104, 32, 1, 1, 0, 11, 36, /* 0x 4f0 */ - 33, 64,128, 0, 76, 0, 17, 4,255,255,173, 37, 6, 0, 64, 16, /* 0x 500 */ - 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160, /* 0x 510 */ -248,255, 0, 16, 1, 0,198, 36, 67, 0, 17, 4,255,255,173, 37, /* 0x 520 */ - 64, 24, 3, 0, 33, 24, 98, 0, 63, 0, 17, 4,255,255,173, 37, /* 0x 530 */ -249,255, 64, 16, 0, 0, 0, 0, 2, 0, 2, 36, 3, 0, 98, 20, /* 0x 540 */ -253,255, 99, 36, 9, 0, 0, 16, 33, 24, 96, 1, 0, 0, 2,145, /* 0x 550 */ - 1, 0, 8, 37, 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, /* 0x 560 */ - 58, 0, 98, 16, 1, 0, 99, 36, 33, 88, 96, 0, 46, 0, 17, 4, /* 0x 570 */ -255,255,173, 37, 33, 96, 64, 0, 64, 96, 12, 0, 42, 0, 17, 4, /* 0x 580 */ -255,255,173, 37, 33, 96,130, 1, 12, 0,128, 21, 1, 13, 98, 44, /* 0x 590 */ - 1, 0, 12, 36, 36, 0, 17, 4,255,255,173, 37, 64, 96, 12, 0, /* 0x 5a0 */ - 33, 96,130, 1, 32, 0, 17, 4,255,255,173, 37,249,255, 64, 16, /* 0x 5b0 */ - 0, 0, 0, 0, 2, 0,140, 37, 1, 13, 98, 44, 1, 0, 66, 56, /* 0x 5c0 */ - 33, 96,130, 1, 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, /* 0x 5d0 */ - 35, 24,195, 0, 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, /* 0x 5e0 */ - 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, 3, 0,194,168, /* 0x 5f0 */ - 4, 0, 99, 36,247,255,128, 21, 4, 0,198, 36,189,255, 0, 16, /* 0x 600 */ - 0, 0, 0, 0, 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, /* 0x 610 */ - 0, 0,194,160, 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36, /* 0x 620 */ -180,255, 0, 16, 0, 0, 0, 0, 6, 0,161, 5, 6, 16,169, 1, /* 0x 630 */ - 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, /* 0x 640 */ - 6, 16,169, 1, 8, 0,224, 3, 1, 0, 66, 48, 33, 72, 0, 0, /* 0x 650 */ - 33,104, 32, 1, 1, 0, 11, 36, 33, 64,128, 0, 84, 0, 17, 4, /* 0x 660 */ -255,255,173, 37, 6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, /* 0x 670 */ - 1, 0, 8, 37, 0, 0,194,160,248,255, 0, 16, 1, 0,198, 36, /* 0x 680 */ - 75, 0, 17, 4,255,255,173, 37, 64, 24, 3, 0, 33, 24, 98, 0, /* 0x 690 */ - 71, 0, 17, 4,255,255,173, 37, 6, 0, 64, 20,255,255, 98, 36, /* 0x 6a0 */ - 64, 24, 2, 0, 66, 0, 17, 4,255,255,173, 37,244,255, 0, 16, /* 0x 6b0 */ - 33, 24, 98, 0, 2, 0, 2, 36, 6, 0, 98, 20,253,255, 99, 36, /* 0x 6c0 */ - 59, 0, 17, 4,255,255,173, 37, 33, 24, 96, 1, 12, 0, 0, 16, /* 0x 6d0 */ - 1, 0, 76, 48, 0, 0, 2,145, 1, 0, 8, 37, 0, 26, 3, 0, /* 0x 6e0 */ - 33, 24, 98, 0,255,255, 2, 36, 58, 0, 98, 16, 39, 16, 3, 0, /* 0x 6f0 */ - 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, 33, 88, 96, 0, /* 0x 700 */ - 43, 0, 17, 4,255,255,173, 37, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 710 */ - 12, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36, 36, 0, 17, 4, /* 0x 720 */ -255,255,173, 37, 64, 96, 12, 0, 33, 96,130, 1, 32, 0, 17, 4, /* 0x 730 */ -255,255,173, 37,249,255, 64, 16, 0, 0, 0, 0, 2, 0,140, 37, /* 0x 740 */ - 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, /* 0x 750 */ - 14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, /* 0x 760 */ - 12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136,252,255,140, 37, /* 0x 770 */ - 0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36,247,255,128, 21, /* 0x 780 */ - 4, 0,198, 36,181,255, 0, 16, 0, 0, 0, 0, 35, 24,195, 0, /* 0x 790 */ - 0, 0, 98,144,255,255,140, 37, 0, 0,194,160, 1, 0, 99, 36, /* 0x 7a0 */ -251,255,128, 21, 1, 0,198, 36,172,255, 0, 16, 0, 0, 0, 0, /* 0x 7b0 */ - 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, /* 0x 7c0 */ - 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, 8, 0,224, 3, /* 0x 7d0 */ - 1, 0, 66, 48, 33, 72, 0, 0, 33,104, 32, 1, 1, 0, 11, 36, /* 0x 7e0 */ - 33, 64,128, 0, 91, 0, 17, 4,255,255,173, 37, 6, 0, 64, 16, /* 0x 7f0 */ - 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160, /* 0x 800 */ -248,255, 0, 16, 1, 0,198, 36, 82, 0, 17, 4,255,255,173, 37, /* 0x 810 */ - 64, 24, 3, 0, 33, 24, 98, 0, 78, 0, 17, 4,255,255,173, 37, /* 0x 820 */ - 6, 0, 64, 20,255,255, 98, 36, 64, 24, 2, 0, 73, 0, 17, 4, /* 0x 830 */ -255,255,173, 37,244,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 840 */ - 6, 0, 98, 20,253,255, 99, 36, 33, 24, 96, 1, 65, 0, 17, 4, /* 0x 850 */ -255,255,173, 37, 12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, /* 0x 860 */ - 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 66, 0, 98, 16, /* 0x 870 */ - 1, 0, 8, 37, 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, /* 0x 880 */ - 1, 0, 99, 36, 33, 88, 96, 0, 5, 0,128, 17, 0, 0, 0, 0, /* 0x 890 */ - 48, 0, 17, 4,255,255,173, 37, 18, 0, 0, 16, 1, 0, 76, 36, /* 0x 8a0 */ - 44, 0, 17, 4,255,255,173, 37, 5, 0, 64, 16, 1, 0,140, 37, /* 0x 8b0 */ - 40, 0, 17, 4,255,255,173, 37, 10, 0, 0, 16, 3, 0, 76, 36, /* 0x 8c0 */ - 36, 0, 17, 4,255,255,173, 37, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 8d0 */ - 32, 0, 17, 4,255,255,173, 37,249,255, 64, 16, 0, 0, 0, 0, /* 0x 8e0 */ - 3, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, /* 0x 8f0 */ - 4, 0, 98, 40, 14, 0, 64, 20, 1, 0,140, 37, 35, 24,195, 0, /* 0x 900 */ - 4, 0,130, 41, 12, 0, 64, 20, 0, 0, 98,152, 3, 0, 98,136, /* 0x 910 */ -252,255,140, 37, 0, 0,194,184, 3, 0,194,168, 4, 0, 99, 36, /* 0x 920 */ -247,255,128, 21, 4, 0,198, 36,174,255, 0, 16, 0, 0, 0, 0, /* 0x 930 */ - 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, 0, 0,194,160, /* 0x 940 */ - 1, 0, 99, 36,251,255,128, 21, 1, 0,198, 36,165,255, 0, 16, /* 0x 950 */ - 0, 0, 0, 0, 6, 0,161, 5, 6, 16,169, 1, 31, 0, 13, 36, /* 0x 960 */ - 0, 0, 9,153, 3, 0, 9,137, 4, 0, 8, 37, 6, 16,169, 1, /* 0x 970 */ - 8, 0,224, 3, 1, 0, 66, 48, 67, 83, 4, 52, 67, 83, 4, 52, /* 0x 980 */ -192, 32, 4, 0, 0, 0,192,172,255,255,132, 36,253,255,128, 20, /* 0x 990 */ - 4, 0,198, 36, 3, 0,192,168, 0, 0,192,184,255,255,132, 36, /* 0x 9a0 */ -252,255,128, 20, 4, 0,198, 36,160, 0, 10, 36, 9,248, 64, 1, /* 0x 9b0 */ - 68, 0, 9, 36, 0, 0,161,143, 4, 0,164,143, 8, 0,165,143, /* 0x 9c0 */ - 12, 0,166,143, 16, 0,167,143, 20, 0,162,143, 24, 0,163,143, /* 0x 9d0 */ - 28, 0,191,143, 80, 69, 80, 74, 33,232,161, 3, 85, 80, 88, 33, /* 0x 9e0 */ -161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 9f0 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 32, 0, 0, 0, /* 0x a00 */ - 80, 83, 49, 83, 84, 65, 82, 84, 0, 0, 0, 0, 0, 80, 83, 49, /* 0x a10 */ - 80, 65, 68, 67, 68, 0, 84, 0, 0, 0, 80, 83, 49, 67, 79, 78, /* 0x a20 */ - 72, 76, 0, 88, 0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 73, 0, /* 0x a30 */ -100, 0, 0, 0, 80, 83, 49, 69, 78, 84, 82, 89, 0,108, 0, 0, /* 0x a40 */ - 0, 80, 83, 49, 78, 50, 66, 48, 56, 0,108, 0, 0, 0, 80, 83, /* 0x a50 */ - 49, 78, 50, 68, 48, 56, 0,208, 1, 0, 0, 80, 83, 49, 78, 50, /* 0x a60 */ - 69, 48, 56, 0, 84, 3, 0, 0, 80, 83, 49, 78, 50, 66, 51, 50, /* 0x a70 */ - 0,244, 4, 0, 0, 80, 83, 49, 78, 50, 68, 51, 50, 0, 92, 6, /* 0x a80 */ - 0, 0, 80, 83, 49, 78, 50, 69, 51, 50, 0,228, 7, 0, 0, 80, /* 0x a90 */ - 83, 49, 77, 83, 69, 84, 83, 0,136, 9, 0, 0, 80, 83, 49, 77, /* 0x aa0 */ - 83, 69, 84, 66, 0,140, 9, 0, 0, 80, 83, 49, 77, 83, 69, 84, /* 0x ab0 */ - 65, 0,148, 9, 0, 0, 80, 83, 49, 77, 83, 69, 84, 85, 0,164, /* 0x ac0 */ - 9, 0, 0, 80, 83, 49, 69, 88, 73, 84, 67, 0,184, 9, 0, 0, /* 0x ad0 */ - 80, 83, 49, 80, 65, 72, 68, 82, 0,236, 9, 0, 0, 80, 83, 49, /* 0x ae0 */ - 83, 82, 69, 71, 83, 0, 12, 10, 0, 0, 80, 83, 49, 69, 79, 65, /* 0x af0 */ - 83, 77, 0, 16, 10, 0, 0,255,255,255,255, 16, 10 /* 0x b00 */ +unsigned char nrv_con_loader[6821] = { +127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */ + 1, 0, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 10 */ +188, 5, 0, 0, 0, 16, 0, 16, 52, 0, 0, 0, 0, 0, 40, 0, /* 0x 20 */ + 29, 0, 26, 0, 0, 0, 1, 36, 35,232,161, 3, 0, 0,161,175, /* 0x 30 */ + 4, 0,164,175, 8, 0,165,175, 12, 0,166,175, 16, 0,167,175, /* 0x 40 */ + 20, 0,162,175, 24, 0,163,175, 28, 0,191,175,224,255, 38, 36, /* 0x 50 */ + 32, 0,167, 39, 33, 40,224, 0, 0, 0, 4, 60, 0, 0,132, 36, /* 0x 60 */ + 0, 0,129,140,252,255,198, 36, 0, 0,161,172,252,255,192, 20, /* 0x 70 */ + 4, 0,132, 36, 4, 0,165, 36, 0, 0,132, 36, 0, 0, 6, 60, /* 0x 80 */ + 0, 0,198, 36, 8, 0,224, 0, 0, 0, 0, 0, 8, 0,224, 0, /* 0x 90 */ + 0, 0, 0, 0, 0, 0, 6, 60, 33, 72, 0, 0, 1, 0, 11, 36, /* 0x a0 */ + 33, 64,128, 0,104, 0, 17, 4, 0, 0, 0, 0,127, 0, 34, 49, /* 0x b0 */ + 7, 0, 64, 16, 0, 0, 0, 0, 1, 0, 3, 36, 0, 0, 2,145, /* 0x c0 */ + 1, 0, 8, 37,247,255, 0, 16, 0, 0,194,160, 1, 0,198, 36, /* 0x d0 */ + 93, 0, 17, 4, 0, 0, 0, 0,127, 0, 34, 49, 64, 24, 3, 0, /* 0x e0 */ + 89, 0, 17, 4, 33, 24, 98, 0,127, 0, 34, 49, 7, 0, 64, 20, /* 0x f0 */ + 0, 0, 0, 0,255,255, 98, 36, 83, 0, 17, 4, 64, 24, 2, 0, /* 0x 100 */ +243,255, 0, 16,127, 0, 34, 49, 33, 24, 98, 0, 2, 0, 2, 36, /* 0x 110 */ + 7, 0, 98, 20, 0, 0, 0, 0,253,255, 99, 36, 74, 0, 17, 4, /* 0x 120 */ + 33, 24, 96, 1, 14, 0, 0, 16,127, 0, 34, 49, 1, 0, 76, 48, /* 0x 130 */ + 0, 0, 2,145, 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, /* 0x 140 */ + 75, 0, 98, 16, 0, 0, 0, 0, 1, 0, 8, 37, 39, 16, 3, 0, /* 0x 150 */ + 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, 33, 88, 96, 0, /* 0x 160 */ + 6, 0,128, 17, 0, 0, 0, 0, 55, 0, 17, 4, 0, 0, 0, 0, /* 0x 170 */ + 23, 0, 0, 16,127, 0, 34, 49, 1, 0, 76, 36, 50, 0, 17, 4, /* 0x 180 */ + 0, 0, 0, 0,127, 0, 34, 49, 6, 0, 64, 16, 0, 0, 0, 0, /* 0x 190 */ + 45, 0, 17, 4, 1, 0,140, 37, 13, 0, 0, 16,127, 0, 34, 49, /* 0x 1a0 */ + 3, 0, 76, 36, 40, 0, 17, 4, 0, 0, 0, 0,127, 0, 34, 49, /* 0x 1b0 */ + 64, 96, 12, 0, 36, 0, 17, 4, 33, 96,130, 1,127, 0, 34, 49, /* 0x 1c0 */ +248,255, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,140, 37, /* 0x 1d0 */ + 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, /* 0x 1e0 */ + 16, 0, 64, 20, 0, 0, 0, 0, 1, 0,140, 37, 35, 24,195, 0, /* 0x 1f0 */ + 4, 0,130, 41, 13, 0, 64, 20, 0, 0, 0, 0, 0, 0, 98,152, /* 0x 200 */ + 3, 0, 98,136,252,255,140, 37, 0, 0,194,184, 3, 0,194,168, /* 0x 210 */ +247,255,128, 21, 4, 0, 99, 36,162,255, 0, 16, 4, 0,198, 36, /* 0x 220 */ + 0, 0, 0, 0, 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, /* 0x 230 */ + 0, 0,194,160,252,255,128, 21, 1, 0, 99, 36,153,255, 0, 16, /* 0x 240 */ + 1, 0,198, 36, 0, 0, 0, 0, 6, 0, 64, 20, 0, 0, 0, 0, /* 0x 250 */ + 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 260 */ + 1, 0, 73, 36, 8, 0,224, 3, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 270 */ + 33, 72, 0, 0, 33,104, 32, 1, 1, 0, 11, 36, 33, 64,128, 0, /* 0x 280 */ +100, 0, 17, 4, 0, 0, 0, 0, 7, 0, 64, 16,255,255,173, 37, /* 0x 290 */ + 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37,248,255, 0, 16, /* 0x 2a0 */ + 0, 0,194,160, 1, 0,198, 36, 90, 0, 17, 4, 0, 0, 0, 0, /* 0x 2b0 */ +255,255,173, 37, 64, 24, 3, 0, 86, 0, 17, 4, 33, 24, 98, 0, /* 0x 2c0 */ + 7, 0, 64, 20,255,255,173, 37,255,255, 98, 36, 81, 0, 17, 4, /* 0x 2d0 */ + 64, 24, 2, 0,244,255, 0, 16,255,255,173, 37, 33, 24, 98, 0, /* 0x 2e0 */ + 2, 0, 2, 36, 7, 0, 98, 20, 0, 0, 0, 0,253,255, 99, 36, /* 0x 2f0 */ + 72, 0, 17, 4, 33, 24, 96, 1, 14, 0, 0, 16,255,255,173, 37, /* 0x 300 */ + 1, 0, 76, 48, 0, 0, 2,145, 0, 26, 3, 0, 33, 24, 98, 0, /* 0x 310 */ +255,255, 2, 36, 73, 0, 98, 16, 0, 0, 0, 0, 1, 0, 8, 37, /* 0x 320 */ + 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x 330 */ + 33, 88, 96, 0, 6, 0,128, 17, 0, 0, 0, 0, 53, 0, 17, 4, /* 0x 340 */ + 0, 0, 0, 0, 21, 0, 0, 16,255,255,173, 37, 1, 0, 76, 36, /* 0x 350 */ + 48, 0, 17, 4, 0, 0, 0, 0, 6, 0, 64, 16,255,255,173, 37, /* 0x 360 */ + 44, 0, 17, 4, 1, 0,140, 37, 12, 0, 0, 16,255,255,173, 37, /* 0x 370 */ + 3, 0, 76, 36, 39, 0, 17, 4, 0, 0, 0, 0,255,255,173, 37, /* 0x 380 */ + 64, 96, 12, 0, 35, 0, 17, 4, 33, 96,130, 1,249,255, 64, 16, /* 0x 390 */ +255,255,173, 37, 0, 0, 0, 0, 3, 0,140, 37, 1, 5, 98, 44, /* 0x 3a0 */ + 1, 0, 66, 56, 33, 96,130, 1, 4, 0, 98, 40, 16, 0, 64, 20, /* 0x 3b0 */ + 0, 0, 0, 0, 1, 0,140, 37, 35, 24,195, 0, 4, 0,130, 41, /* 0x 3c0 */ + 13, 0, 64, 20, 0, 0, 0, 0, 0, 0, 98,152, 3, 0, 98,136, /* 0x 3d0 */ +252,255,140, 37, 0, 0,194,184, 3, 0,194,168,247,255,128, 21, /* 0x 3e0 */ + 4, 0, 99, 36,167,255, 0, 16, 4, 0,198, 36,255,255,173, 37, /* 0x 3f0 */ + 35, 24,195, 0, 0, 0, 98,144,255,255,140, 37, 0, 0,194,160, /* 0x 400 */ +252,255,128, 21, 1, 0, 99, 36,158,255, 0, 16, 1, 0,198, 36, /* 0x 410 */ +255,255,173, 37,255,255,173, 37, 7, 0,161, 5, 0, 0, 0, 0, /* 0x 420 */ + 6, 16,169, 1, 31, 0, 13, 36, 0, 0, 9,153, 3, 0, 9,137, /* 0x 430 */ + 4, 0, 8, 37, 6, 16,169, 1, 1, 0, 66, 48, 0, 0, 4, 52, /* 0x 440 */ + 0, 0, 4, 52,192, 32, 4, 0, 0, 0,192,172,255,255,132, 36, /* 0x 450 */ +253,255,128, 20, 0, 0, 0, 0, 4, 0,198, 36, 3, 0,192,168, /* 0x 460 */ + 0, 0,192,184,255,255,132, 36,252,255,128, 20, 0, 0, 0, 0, /* 0x 470 */ + 4, 0,198, 36,160, 0, 10, 36, 9,248, 64, 1, 0, 0, 0, 0, /* 0x 480 */ + 68, 0, 9, 36, 0, 0,161,143, 4, 0,164,143, 8, 0,165,143, /* 0x 490 */ + 12, 0,166,143, 16, 0,167,143, 20, 0,162,143, 24, 0,163,143, /* 0x 4a0 */ + 28, 0,191,143, 0, 0, 0, 0, 33,232,161, 3, 85, 80, 88, 33, /* 0x 4b0 */ +161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 4c0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 32, 0, 0, 0, /* 0x 4d0 */ + 0, 46,115,121,109,116, 97, 98, 0, 46,115,116,114,116, 97, 98, /* 0x 4e0 */ + 0, 46,115,104,115,116,114,116, 97, 98, 0, 46,114,101,108, 80, /* 0x 4f0 */ + 83, 49, 83, 84, 65, 82, 84, 0, 46,114,101,108, 80, 83, 49, 80, /* 0x 500 */ + 65, 68, 67, 68, 0, 46,114,101,108, 80, 83, 49, 67, 79, 78, 72, /* 0x 510 */ + 76, 0, 46,114,101,108, 80, 83, 49, 67, 79, 78, 72, 73, 0, 80, /* 0x 520 */ + 83, 49, 69, 78, 84, 82, 89, 0, 80, 83, 49, 78, 50, 66, 48, 56, /* 0x 530 */ + 0, 80, 83, 49, 78, 50, 68, 48, 56, 0, 80, 83, 49, 78, 50, 69, /* 0x 540 */ + 48, 56, 0, 80, 83, 49, 78, 50, 66, 51, 50, 0, 80, 83, 49, 78, /* 0x 550 */ + 50, 68, 51, 50, 0, 80, 83, 49, 78, 50, 69, 51, 50, 0, 46,114, /* 0x 560 */ +101,108, 80, 83, 49, 77, 83, 69, 84, 83, 0, 46,114,101,108, 80, /* 0x 570 */ + 83, 49, 77, 83, 69, 84, 66, 0, 80, 83, 49, 77, 83, 69, 84, 65, /* 0x 580 */ + 0, 80, 83, 49, 77, 83, 69, 84, 85, 0, 46,114,101,108, 80, 83, /* 0x 590 */ + 49, 69, 88, 73, 84, 67, 0, 85, 80, 88, 49, 72, 69, 65, 68, 0, /* 0x 5a0 */ + 80, 83, 49, 83, 82, 69, 71, 83, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 5b0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 5c0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 5d0 */ + 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 5e0 */ + 0, 0, 0, 0, 52, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, /* 0x 5f0 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, /* 0x 600 */ + 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 12, 0, 0, /* 0x 610 */ + 24, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, /* 0x 620 */ + 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 630 */ + 0, 0, 0, 0,136, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x 640 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, /* 0x 650 */ + 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 12, 0, 0, /* 0x 660 */ + 8, 0, 0, 0, 27, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, /* 0x 670 */ + 8, 0, 0, 0, 57, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 680 */ + 0, 0, 0, 0,140, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, /* 0x 690 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, /* 0x 6a0 */ + 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 12, 0, 0, /* 0x 6b0 */ + 16, 0, 0, 0, 27, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, /* 0x 6c0 */ + 8, 0, 0, 0, 70, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 6d0 */ + 0, 0, 0, 0,156, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, /* 0x 6e0 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, /* 0x 6f0 */ + 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 12, 0, 0, /* 0x 700 */ + 8, 0, 0, 0, 27, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0, /* 0x 710 */ + 8, 0, 0, 0, 79, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 720 */ + 0, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 730 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, /* 0x 740 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 0, 0, 0, /* 0x 750 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 760 */ + 0, 0, 0, 0, 97, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 770 */ + 0, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 780 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, /* 0x 790 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 0, 0, 0, /* 0x 7a0 */ +216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 7b0 */ + 0, 0, 0, 0,115, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 7c0 */ + 0, 0, 0, 0,128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 7d0 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,124, 0, 0, 0, /* 0x 7e0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2, 0, 0, /* 0x 7f0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 800 */ + 0, 0, 0, 0,133, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 810 */ + 0, 0, 0, 0,128, 2, 0, 0,204, 1, 0, 0, 0, 0, 0, 0, /* 0x 820 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,146, 0, 0, 0, /* 0x 830 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 4, 0, 0, /* 0x 840 */ + 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 850 */ + 0, 0, 0, 0,142, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x 860 */ + 0, 0, 0, 0,200, 12, 0, 0, 8, 0, 0, 0, 27, 0, 0, 0, /* 0x 870 */ + 16, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,159, 0, 0, 0, /* 0x 880 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 4, 0, 0, /* 0x 890 */ + 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 8a0 */ + 0, 0, 0, 0,155, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x 8b0 */ + 0, 0, 0, 0,208, 12, 0, 0, 8, 0, 0, 0, 27, 0, 0, 0, /* 0x 8c0 */ + 18, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,168, 0, 0, 0, /* 0x 8d0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 4, 0, 0, /* 0x 8e0 */ + 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 8f0 */ + 0, 0, 0, 0,177, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 900 */ + 0, 0, 0, 0,108, 4, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, /* 0x 910 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,190, 0, 0, 0, /* 0x 920 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 4, 0, 0, /* 0x 930 */ + 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, /* 0x 940 */ + 0, 0, 0, 0,186, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x 950 */ + 0, 0, 0, 0,216, 12, 0, 0, 8, 0, 0, 0, 27, 0, 0, 0, /* 0x 960 */ + 22, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,199, 0, 0, 0, /* 0x 970 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,188, 4, 0, 0, /* 0x 980 */ + 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, /* 0x 990 */ + 0, 0, 0, 0,208, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 9a0 */ + 0, 0, 0, 0,220, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x 9b0 */ + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, /* 0x 9c0 */ + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 4, 0, 0, /* 0x 9d0 */ +217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 9e0 */ + 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x 9f0 */ + 0, 0, 0, 0, 68, 10, 0, 0,144, 1, 0, 0, 28, 0, 0, 0, /* 0x a00 */ + 19, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, /* 0x a10 */ + 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 11, 0, 0, /* 0x a20 */ +187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x a30 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a40 */ + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a50 */ + 3, 0, 1, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a60 */ + 3, 0, 3, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a70 */ + 3, 0, 5, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a80 */ + 3, 0, 7, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a90 */ + 3, 0, 9, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x aa0 */ + 3, 0, 10, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x ab0 */ + 3, 0, 11, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x ac0 */ + 3, 0, 12, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x ad0 */ + 3, 0, 13, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x ae0 */ + 3, 0, 14, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x af0 */ + 3, 0, 15, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b00 */ + 3, 0, 16, 0,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b10 */ + 3, 0, 18, 0,118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b20 */ + 3, 0, 20, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b30 */ + 3, 0, 21, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b40 */ + 3, 0, 22, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b50 */ + 3, 0, 24, 0,154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b60 */ + 3, 0, 25, 0,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b70 */ + 16, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b80 */ + 16, 0, 0, 0,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x b90 */ + 16, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x ba0 */ + 16, 0, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x bb0 */ + 16, 0, 0, 0,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x bc0 */ + 16, 0, 0, 0, 0, 80, 83, 49, 83, 84, 65, 82, 84, 0, 80, 83, /* 0x bd0 */ + 49, 80, 65, 68, 67, 68, 0, 80, 83, 49, 67, 79, 78, 72, 76, 0, /* 0x be0 */ + 80, 83, 49, 67, 79, 78, 72, 73, 0, 80, 83, 49, 69, 78, 84, 82, /* 0x bf0 */ + 89, 0, 80, 83, 49, 78, 50, 66, 48, 56, 0, 80, 83, 49, 78, 50, /* 0x c00 */ + 68, 48, 56, 0, 80, 83, 49, 78, 50, 69, 48, 56, 0, 80, 83, 49, /* 0x c10 */ + 78, 50, 66, 51, 50, 0, 80, 83, 49, 78, 50, 68, 51, 50, 0, 80, /* 0x c20 */ + 83, 49, 78, 50, 69, 51, 50, 0, 80, 83, 49, 77, 83, 69, 84, 83, /* 0x c30 */ + 0, 80, 83, 49, 77, 83, 69, 84, 66, 0, 80, 83, 49, 77, 83, 69, /* 0x c40 */ + 84, 65, 0, 80, 83, 49, 77, 83, 69, 84, 85, 0, 80, 83, 49, 69, /* 0x c50 */ + 88, 73, 84, 67, 0, 85, 80, 88, 49, 72, 69, 65, 68, 0, 80, 83, /* 0x c60 */ + 49, 83, 82, 69, 71, 83, 0, 76, 83, 0, 68, 67, 82, 84, 0, 80, /* 0x c70 */ + 67, 0, 68, 69, 67, 79, 0, 83, 67, 0, 74, 80, 69, 80, 0, 0, /* 0x c80 */ + 0, 0, 0, 0, 6, 19, 0, 0, 52, 0, 0, 0, 5, 20, 0, 0, /* 0x c90 */ + 56, 0, 0, 0, 6, 20, 0, 0, 0, 0, 0, 0, 6, 21, 0, 0, /* 0x ca0 */ + 0, 0, 0, 0, 5, 22, 0, 0, 4, 0, 0, 0, 6, 22, 0, 0, /* 0x cb0 */ + 8, 0, 0, 0, 5, 22, 0, 0, 0, 0, 0, 0, 6, 23, 0, 0, /* 0x cc0 */ + 0, 0, 0, 0, 6, 23, 0, 0, 48, 0, 0, 0, 2, 24, 0, 0, /* 0x cd0 */ + 10,116,109,112, 47,109,105,112,115,101,108, 46,114, 51, 48, 48, /* 0x ce0 */ + 48, 45,112,115, 49, 45, 99,111,110,115,111,108,101, 46, 98,105, /* 0x cf0 */ +110, 58, 32, 32, 32, 32, 32,102,105,108,101, 32,102,111,114,109, /* 0x d00 */ + 97,116, 32,101,108,102, 51, 50, 45,108,105,116,116,108,101,109, /* 0x d10 */ +105,112,115, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73, /* 0x d20 */ +100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x d30 */ + 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, /* 0x d40 */ + 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70, /* 0x d50 */ +105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70, /* 0x d60 */ +108, 97,103,115, 10, 32, 32, 48, 32, 80, 83, 49, 83, 84, 65, 82, /* 0x d70 */ + 84, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 53, 52, 32, /* 0x d80 */ + 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x d90 */ + 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, /* 0x da0 */ + 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, /* 0x db0 */ + 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, /* 0x dc0 */ + 32, 49, 32, 80, 83, 49, 80, 65, 68, 67, 68, 32, 32, 32, 32, 32, /* 0x dd0 */ + 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, /* 0x de0 */ + 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x df0 */ + 48, 48, 48, 48, 48, 56, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x e00 */ + 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, /* 0x e10 */ + 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 80, 83, 49, /* 0x e20 */ + 67, 79, 78, 72, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x e30 */ + 48, 49, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x e40 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 56, /* 0x e50 */ + 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x e60 */ + 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x e70 */ + 76, 89, 10, 32, 32, 51, 32, 80, 83, 49, 67, 79, 78, 72, 73, 32, /* 0x e80 */ + 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 99, 32, 32, 48, /* 0x e90 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x ea0 */ + 48, 32, 32, 48, 48, 48, 48, 48, 48, 57, 99, 32, 32, 50, 42, 42, /* 0x eb0 */ + 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, /* 0x ec0 */ + 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, /* 0x ed0 */ + 32, 80, 83, 49, 69, 78, 84, 82, 89, 32, 32, 32, 32, 32, 32, 48, /* 0x ee0 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x ef0 */ + 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x f00 */ + 48, 48, 48, 97, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x f10 */ + 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x f20 */ + 32, 32, 53, 32, 80, 83, 49, 78, 50, 66, 48, 56, 32, 32, 32, 32, /* 0x f30 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x f40 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x f50 */ + 48, 48, 48, 48, 48, 48, 97, 56, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x f60 */ + 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x f70 */ + 76, 89, 10, 32, 32, 54, 32, 80, 83, 49, 78, 50, 68, 48, 56, 32, /* 0x f80 */ + 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x f90 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x fa0 */ + 48, 32, 32, 48, 48, 48, 48, 48, 48, 97, 56, 32, 32, 50, 42, 42, /* 0x fb0 */ + 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, /* 0x fc0 */ + 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 80, 83, 49, 78, 50, 69, /* 0x fd0 */ + 48, 56, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49,100, 56, /* 0x fe0 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x ff0 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 97, 56, 32, 32, /* 0x1000 */ + 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1010 */ + 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 80, 83, 49, /* 0x1020 */ + 78, 50, 66, 51, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x1030 */ + 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1040 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 56, /* 0x1050 */ + 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x1060 */ + 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, /* 0x1070 */ + 80, 83, 49, 78, 50, 68, 51, 50, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x1080 */ + 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1090 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x10a0 */ + 48, 50, 56, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x10b0 */ + 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, /* 0x10c0 */ + 49, 48, 32, 80, 83, 49, 78, 50, 69, 51, 50, 32, 32, 32, 32, 32, /* 0x10d0 */ + 32, 48, 48, 48, 48, 48, 49, 99, 99, 32, 32, 48, 48, 48, 48, 48, /* 0x10e0 */ + 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x10f0 */ + 48, 48, 48, 48, 50, 56, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x1100 */ + 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x1110 */ + 89, 10, 32, 49, 49, 32, 80, 83, 49, 77, 83, 69, 84, 83, 32, 32, /* 0x1120 */ + 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, /* 0x1130 */ + 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1140 */ + 32, 32, 48, 48, 48, 48, 48, 52, 52, 99, 32, 32, 50, 42, 42, 48, /* 0x1150 */ + 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, /* 0x1160 */ + 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, /* 0x1170 */ + 80, 83, 49, 77, 83, 69, 84, 66, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x1180 */ + 48, 48, 48, 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1190 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x11a0 */ + 48, 52, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x11b0 */ + 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x11c0 */ + 68, 79, 78, 76, 89, 10, 32, 49, 51, 32, 80, 83, 49, 77, 83, 69, /* 0x11d0 */ + 84, 65, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 52, /* 0x11e0 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x11f0 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 53, 56, 32, 32, /* 0x1200 */ + 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1210 */ + 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 52, 32, 80, 83, 49, /* 0x1220 */ + 77, 83, 69, 84, 85, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x1230 */ + 48, 49, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1240 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 54, /* 0x1250 */ + 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x1260 */ + 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 53, 32, /* 0x1270 */ + 80, 83, 49, 69, 88, 73, 84, 67, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x1280 */ + 48, 48, 48, 48, 51, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1290 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x12a0 */ + 48, 52, 56, 52, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, /* 0x12b0 */ + 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x12c0 */ + 68, 79, 78, 76, 89, 10, 32, 49, 54, 32, 85, 80, 88, 49, 72, 69, /* 0x12d0 */ + 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 48, /* 0x12e0 */ + 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x12f0 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 98, 99, 32, 32, /* 0x1300 */ + 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1310 */ + 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 55, 32, 80, 83, 49, /* 0x1320 */ + 83, 82, 69, 71, 83, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x1330 */ + 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1340 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52,100, /* 0x1350 */ + 99, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x1360 */ + 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, /* 0x1370 */ + 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, /* 0x1380 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 83, 84, /* 0x1390 */ + 65, 82, 84, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, /* 0x13a0 */ + 83, 84, 65, 82, 84, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x13b0 */ + 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 80, 65, 68, 67, 68, 9, /* 0x13c0 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 80, 65, 68, 67, /* 0x13d0 */ + 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x13e0 */ +100, 32, 32, 80, 83, 49, 67, 79, 78, 72, 76, 9, 48, 48, 48, 48, /* 0x13f0 */ + 48, 48, 48, 48, 32, 80, 83, 49, 67, 79, 78, 72, 76, 10, 48, 48, /* 0x1400 */ + 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, /* 0x1410 */ + 83, 49, 67, 79, 78, 72, 73, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1420 */ + 32, 80, 83, 49, 67, 79, 78, 72, 73, 10, 48, 48, 48, 48, 48, 48, /* 0x1430 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 69, 78, /* 0x1440 */ + 84, 82, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, /* 0x1450 */ + 69, 78, 84, 82, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x1460 */ + 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 78, 50, 66, 48, 56, 9, /* 0x1470 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 78, 50, 66, 48, /* 0x1480 */ + 56, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x1490 */ +100, 32, 32, 80, 83, 49, 78, 50, 68, 48, 56, 9, 48, 48, 48, 48, /* 0x14a0 */ + 48, 48, 48, 48, 32, 80, 83, 49, 78, 50, 68, 48, 56, 10, 48, 48, /* 0x14b0 */ + 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, /* 0x14c0 */ + 83, 49, 78, 50, 69, 48, 56, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x14d0 */ + 32, 80, 83, 49, 78, 50, 69, 48, 56, 10, 48, 48, 48, 48, 48, 48, /* 0x14e0 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 78, 50, /* 0x14f0 */ + 66, 51, 50, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, /* 0x1500 */ + 78, 50, 66, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x1510 */ + 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 78, 50, 68, 51, 50, 9, /* 0x1520 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 78, 50, 68, 51, /* 0x1530 */ + 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x1540 */ +100, 32, 32, 80, 83, 49, 78, 50, 69, 51, 50, 9, 48, 48, 48, 48, /* 0x1550 */ + 48, 48, 48, 48, 32, 80, 83, 49, 78, 50, 69, 51, 50, 10, 48, 48, /* 0x1560 */ + 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, /* 0x1570 */ + 83, 49, 77, 83, 69, 84, 83, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1580 */ + 32, 80, 83, 49, 77, 83, 69, 84, 83, 10, 48, 48, 48, 48, 48, 48, /* 0x1590 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 77, 83, /* 0x15a0 */ + 69, 84, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, /* 0x15b0 */ + 77, 83, 69, 84, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x15c0 */ + 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 77, 83, 69, 84, 65, 9, /* 0x15d0 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 77, 83, 69, 84, /* 0x15e0 */ + 65, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x15f0 */ +100, 32, 32, 80, 83, 49, 77, 83, 69, 84, 85, 9, 48, 48, 48, 48, /* 0x1600 */ + 48, 48, 48, 48, 32, 80, 83, 49, 77, 83, 69, 84, 85, 10, 48, 48, /* 0x1610 */ + 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 80, /* 0x1620 */ + 83, 49, 69, 88, 73, 84, 67, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1630 */ + 32, 80, 83, 49, 69, 88, 73, 84, 67, 10, 48, 48, 48, 48, 48, 48, /* 0x1640 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 85, 80, 88, 49, 72, /* 0x1650 */ + 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 85, 80, 88, /* 0x1660 */ + 49, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x1670 */ + 32, 32, 32, 32,100, 32, 32, 80, 83, 49, 83, 82, 69, 71, 83, 9, /* 0x1680 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 83, 49, 83, 82, 69, 71, /* 0x1690 */ + 83, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, /* 0x16a0 */ + 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x16b0 */ + 48, 32, 76, 83, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, /* 0x16c0 */ + 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, /* 0x16d0 */ + 48, 48, 48, 48, 32, 68, 67, 82, 84, 10, 48, 48, 48, 48, 48, 48, /* 0x16e0 */ + 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, /* 0x16f0 */ + 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 80, 67, 10, 48, 48, 48, /* 0x1700 */ + 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, /* 0x1710 */ + 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 68, 69, 67, /* 0x1720 */ + 79, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, /* 0x1730 */ + 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x1740 */ + 48, 32, 83, 67, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, /* 0x1750 */ + 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, /* 0x1760 */ + 48, 48, 48, 48, 32, 74, 80, 69, 80, 10, 10, 10, 82, 69, 76, 79, /* 0x1770 */ + 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, /* 0x1780 */ + 79, 82, 32, 91, 80, 83, 49, 83, 84, 65, 82, 84, 93, 58, 10, 79, /* 0x1790 */ + 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, /* 0x17a0 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 32, /* 0x17b0 */ + 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, /* 0x17c0 */ + 95, 76, 79, 49, 54, 32, 32, 32, 32, 32, 32, 32, 76, 83, 10, 48, /* 0x17d0 */ + 48, 48, 48, 48, 48, 51, 52, 32, 82, 95, 77, 73, 80, 83, 95, 72, /* 0x17e0 */ + 73, 49, 54, 32, 32, 32, 32, 32, 32, 32, 68, 67, 82, 84, 10, 48, /* 0x17f0 */ + 48, 48, 48, 48, 48, 51, 56, 32, 82, 95, 77, 73, 80, 83, 95, 76, /* 0x1800 */ + 79, 49, 54, 32, 32, 32, 32, 32, 32, 32, 68, 67, 82, 84, 10, 10, /* 0x1810 */ + 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, /* 0x1820 */ + 82, 68, 83, 32, 70, 79, 82, 32, 91, 80, 83, 49, 80, 65, 68, 67, /* 0x1830 */ + 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, /* 0x1840 */ + 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, /* 0x1850 */ + 65, 76, 85, 69, 32, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, /* 0x1860 */ + 95, 77, 73, 80, 83, 95, 76, 79, 49, 54, 32, 32, 32, 32, 32, 32, /* 0x1870 */ + 32, 80, 67, 10, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, /* 0x1880 */ + 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 80, 83, /* 0x1890 */ + 49, 67, 79, 78, 72, 76, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, /* 0x18a0 */ + 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x18b0 */ + 32, 32, 32, 32, 86, 65, 76, 85, 69, 32, 10, 48, 48, 48, 48, 48, /* 0x18c0 */ + 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, 72, 73, 49, 54, 32, /* 0x18d0 */ + 32, 32, 32, 32, 32, 32, 68, 69, 67, 79, 10, 48, 48, 48, 48, 48, /* 0x18e0 */ + 48, 48, 52, 32, 82, 95, 77, 73, 80, 83, 95, 76, 79, 49, 54, 32, /* 0x18f0 */ + 32, 32, 32, 32, 32, 32, 68, 69, 67, 79, 10, 10, 10, 82, 69, 76, /* 0x1900 */ + 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, /* 0x1910 */ + 70, 79, 82, 32, 91, 80, 83, 49, 67, 79, 78, 72, 73, 93, 58, 10, /* 0x1920 */ + 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, /* 0x1930 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, /* 0x1940 */ + 32, 10, 48, 48, 48, 48, 48, 48, 48, 56, 32, 82, 95, 77, 73, 80, /* 0x1950 */ + 83, 95, 72, 73, 49, 54, 32, 32, 32, 32, 32, 32, 32, 68, 69, 67, /* 0x1960 */ + 79, 10, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, /* 0x1970 */ + 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 80, 83, 49, 77, /* 0x1980 */ + 83, 69, 84, 83, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, /* 0x1990 */ + 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x19a0 */ + 32, 32, 86, 65, 76, 85, 69, 32, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x19b0 */ + 48, 32, 82, 95, 77, 73, 80, 83, 95, 76, 79, 49, 54, 32, 32, 32, /* 0x19c0 */ + 32, 32, 32, 32, 83, 67, 10, 10, 10, 82, 69, 76, 79, 67, 65, 84, /* 0x19d0 */ + 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, /* 0x19e0 */ + 91, 80, 83, 49, 77, 83, 69, 84, 66, 93, 58, 10, 79, 70, 70, 83, /* 0x19f0 */ + 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, /* 0x1a00 */ + 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 32, 10, 48, 48, /* 0x1a10 */ + 48, 48, 48, 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, 76, 79, /* 0x1a20 */ + 49, 54, 32, 32, 32, 32, 32, 32, 32, 83, 67, 10, 10, 10, 82, 69, /* 0x1a30 */ + 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, /* 0x1a40 */ + 32, 70, 79, 82, 32, 91, 80, 83, 49, 69, 88, 73, 84, 67, 93, 58, /* 0x1a50 */ + 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, /* 0x1a60 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, /* 0x1a70 */ + 69, 32, 10, 48, 48, 48, 48, 48, 48, 51, 48, 32, 82, 95, 77, 73, /* 0x1a80 */ + 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 74, 80, /* 0x1a90 */ + 69, 80, 10, 10, 10 /* 0x1aa0 */ }; diff --git a/src/stub/src/arch/mips/mipsel.r3000/macros.ash b/src/stub/src/arch/mips/mipsel.r3000/macros.ash index fa9b06f5..400c29b9 100644 --- a/src/stub/src/arch/mips/mipsel.r3000/macros.ash +++ b/src/stub/src/arch/mips/mipsel.r3000/macros.ash @@ -50,6 +50,7 @@ #define t5 $13 #define t6 $14 #define t7 $15 +#define s0 $16 #define sp $29 #define ra $31 @@ -60,36 +61,8 @@ #define DW .long #define DB .byte -// Load Address macro - -.macro la reg,addr - lui \reg,(\addr >> 16)+((\addr >> 15)&1) - addiu \reg,\reg,((\addr & 0xFFFF)) -.endm - -// Load Immidiate macro - -#if 0 -.macro li reg,imm -IF (\imm == -1) - addiu \reg, zero, -1 -ELSE - IF ((\imm>>16)!=0) - lui \reg,\imm >> 16 - ori \reg,\reg,(\imm & 0xFFFF) - ELSE - IF ((\imm&0xffff)>0x8000) - ori \reg,zero,(\imm & 0xFFFF) - ELSE - addiu \reg,zero,(\imm & 0xFFFF) - ENDIF - ENDIF -ENDIF -.endm -#endif - .macro subiu reg, p1, p2 - .if p2 + .ifnb p2 addiu \reg, p1, -p2 .else addiu \reg, -p1 diff --git a/src/stub/src/mipsel.r3000-ps1.asm b/src/stub/src/mipsel.r3000-ps1.asm index 29acd6fc..8b8ba297 100644 --- a/src/stub/src/mipsel.r3000-ps1.asm +++ b/src/stub/src/mipsel.r3000-ps1.asm @@ -31,12 +31,8 @@ ; */ - #include "arch/mips/mipsel.r3000/macros.ash" -#define HI(a) (a >> 16) -#define LO(a) (a & 0xffff) - #define SZ_REG 4 #if CDBOOT @@ -83,19 +79,18 @@ ENDIF // for cd-boot only section PS1START - li t0, PSVR // prepare to compute value + la t0, PSVR // prepare to compute value subu t0,s0,t0 // get stored header offset in mem jr t0 - subiu sp, REG_SZ // adjust stack -cutpoint: + subiu sp, REG_SZ // adjust stack section PS1ENTRY regs sw,0 // push used regs - li a0, CPDO // load COMPDATA offset -// li a1,'CDSZ' // compressed data size - disabled! + la a0, CPDO // load COMPDATA offset +// li a1,'CDSZ' // compressed data size - disabled! section PS1CONHL - li a2, DECO + la a2, DECO section PS1CONHI - lui a2,HI( DECO) + lui a2, %hi(DECO) #else //CONSOLE @@ -105,14 +100,13 @@ section PS1CONHI // for console- / cd-boot section PS1START - addiu at,zero, LS // size of decomp. routine + addiu at,zero, LS // size of decomp. routine subu sp,at // adjust the stack with this size regs sw,0 // push used regs subiu a2,at,REG_SZ // a2 = counter copyloop addiu a3,sp,REG_SZ // get offset for decomp. routine move a1,a3 - lui a0, DCRT // load decompression routine's offset -// ori a0, LO(DCRT) // load decompression routine's offset + la a0, DCRT // load decompression routine's offset copyloop: lw at,0(a0) // memcpy *a0 -> at -> *a1 addiu a2,-4 @@ -122,15 +116,13 @@ copyloop: addiu a1,4 section PS1PADCD - addiu a0, PC // a0 = pointer compressed data + addiu a0, PC // a0 = pointer compressed data section PS1CONHL - lui a2,HI( DECO) // load DECOMPDATA HI offset + la a2, DECO // load DECOMPDATA HI offset jr a3 - ori a2,LO( DECO) // load DECOMPDATA LO offset section PS1CONHI jr a3 - lui a2,HI( DECO) // same for HI only !(offset&0xffff) -cutpoint: + lui a2, %hi(DECO) // same for HI only !(offset&0xffff) section PS1ENTRY #endif //CDBOOT @@ -180,10 +172,10 @@ section PS1N2E32 // ============= section PS1MSETS - ori a0,zero, SC // amount of removed zeros at eof + ori a0,zero, SC // amount of removed zeros at eof section PS1MSETB - ori a0,zero, SC // amount of removed zeros at eof - sll a0,3 // (cd mode 2 data sector alignment) + ori a0,zero, SC // amount of removed zeros at eof + sll a0,3 // (cd mode 2 data sector alignment) section PS1MSETA memset_aligned: sw zero,0(a2) @@ -204,7 +196,7 @@ section PS1EXITC li t2,160 // flushes jalr ra,t2 // instruction li t1,68 // cache - regs lw, JPEP // marker for the entry jump + regs lw, JPEP // marker for the entry jump // =============