New ps1/exe version from Jens.

committer: mfx <mfx> 1083813373 +0000
This commit is contained in:
Markus F.X.J. Oberhumer 2004-05-06 03:16:13 +00:00
parent 23f5370dcf
commit 767e4e2ce6
9 changed files with 519 additions and 287 deletions

View File

@ -195,6 +195,7 @@ void show_help(int x)
fg = con_fg(f,fg);
con_fprintf(f,
" --all-methods try all available compression methods\n"
" --8-bit uses 8 bit size compression [default: 32 bit]\n"
" --console-run enables client/host transfer compatibility\n"
" --no-align don't align to 2048 bytes [enables: --console-run]\n"
"\n");

View File

@ -705,6 +705,9 @@ static int do_option(int optc, const char *arg)
opt->ps1_exe.no_align = true;
opt->ps1_exe.console_run = true;
break;
case 672:
opt->ps1_exe.do_8bit = true;
break;
case '\0':
return -1;
@ -824,6 +827,7 @@ static const struct mfx_option longopts[] =
// ps1/exe
{"console-run", 0x10, 0, 670},
{"no-align", 0x10, 0, 671},
{"8-bit", 0x10, 0, 672},
{ NULL, 0, NULL, 0 }
};

View File

@ -111,6 +111,7 @@ struct options_t {
struct {
bool console_run;
bool no_align;
bool do_8bit;
} ps1_exe;
struct {
unsigned blocksize;

View File

@ -54,6 +54,10 @@ static const
#define SZ_IH_BKUP (10 * sizeof(LE32))
#define HD_CODE_OFS (sizeof(ps1_exe_t))
#define K0_BS (0x80000000)
#define K1_BS (0xa0000000)
#define FIX_PSVR (K1_BS - (ih.epc & K0_BS)) + (PS_HDR_SIZE - HD_CODE_OFS)
/*************************************************************************
// ps1 exe looks like this:
@ -70,16 +74,18 @@ static const
**************************************************************************/
PackPs1::PackPs1(InputFile *f) :
super(f), overlap(0), sa_cnt(0), cfile_size(0), isCon(false)
super(f),
isCon(false^opt->ps1_exe.console_run), is32Bit(true^opt->ps1_exe.do_8bit),
overlap(0), sa_cnt(0), cfile_size(0)
{
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)
COMPILE_TIME_ASSERT(sizeof(nrv_boot_loader) == 1950);
COMPILE_TIME_ASSERT(NRV_BOOT_LOADER_CRC32 == 0x10936e44);
COMPILE_TIME_ASSERT(sizeof(nrv_con_loader) == 1434);
COMPILE_TIME_ASSERT(NRV_CON_LOADER_CRC32 == 0xe2a42bc3);
COMPILE_TIME_ASSERT(sizeof(nrv_boot_loader) == 3918);
COMPILE_TIME_ASSERT(NRV_BOOT_LOADER_CRC32 == 0xb1939f02);
COMPILE_TIME_ASSERT(sizeof(nrv_con_loader) == 2810);
COMPILE_TIME_ASSERT(NRV_CON_LOADER_CRC32 == 0xaf39f37f);
#endif
fdata_size = file_size - PS_HDR_SIZE;
}
@ -87,7 +93,10 @@ PackPs1::PackPs1(InputFile *f) :
const int *PackPs1::getCompressionMethods(int method, int level) const
{
return Packer::getDefaultCompressionMethods_8(method, level);
if (is32Bit)
return Packer::getDefaultCompressionMethods_le32(method, level);
else
return Packer::getDefaultCompressionMethods_8(method, level);
}
@ -107,10 +116,10 @@ int PackPs1::readFileHeader()
{
fi->seek(0, SEEK_SET);
fi->readx(&ih, sizeof(ih));
if (memcmp(&ih.id,"PS-X EXE",8) != 0
&& memcmp(&ih.id,"EXE X-SP",8) != 0)
if (memcmp(&ih.id,"PS-X EXE",8) != 0 &&
memcmp(&ih.id,"EXE X-SP",8) != 0)
return 0;
if (ih.text != 0 && ih.data != 0)
if (ih.text != 0 || ih.data != 0)
return 0;
return UPX_F_PS1_EXE;
}
@ -118,20 +127,22 @@ int PackPs1::readFileHeader()
bool PackPs1::checkFileHeader()
{
// FIXME: check ih for legal but unsupported values
if (fdata_size != ih.tx_len || (ih.tx_len & 3))
if (fdata_size != ih.tx_len || (ih.tx_len & 3) && !opt->force )
{
if (!opt->force)
{
infoWarning("check header for file size");
return false;
}
cfile_size = fdata_size;
}
if (ih.da_ptr != 0 || ih.da_len != 0
|| ih.bs_ptr != 0 || ih.bs_len != 0
&& !opt->force)
infoWarning("check header for file size");
return false;
}
cfile_size = fdata_size;
if (ih.da_ptr != 0 || ih.da_len != 0 ||
ih.bs_ptr != 0 || ih.bs_len != 0 && !opt->force)
{
return false;
}
if (ih.is_ptr == 0 && !opt->force)
{
infoWarning("check header for stack pointer");
return false;
}
cfile_size = ih.tx_len;
return true;
}
@ -143,16 +154,16 @@ bool PackPs1::checkFileHeader()
void PackPs1::patch_mips_le(void *b, int blen, const void *old, unsigned new_)
{
size_t type = strlen((const char*)old);
size_t patch_len = strlen((const char*)old);
if (type == 2)
if (patch_len == 2)
{
unsigned char w[2];
set_le16(w, get_be16(old));
patch_le16(b, blen, w, MIPS_LO(new_));
}
else if (type == 4)
else if (patch_len == 4)
{
unsigned char w[4];
@ -165,9 +176,7 @@ void PackPs1::patch_mips_le(void *b, int blen, const void *old, unsigned new_)
patch_le16(b, blen, &w[2], MIPS_HI(new_));
}
else
{
patch_le32((unsigned char *)b + boff, (blen-boff), &w, new_);
}
}
else
throwInternalError("bad marker length");
@ -183,17 +192,18 @@ bool PackPs1::canPack()
if (!readFileHeader())
return false;
unsigned char buf[1024];
unsigned char buf[PS_HDR_SIZE-HD_CODE_OFS];
fi->readx(buf, sizeof(buf));
for (unsigned i = 0; i < sizeof(buf); i++)
if (buf[i] != 0 && !opt->force)
throwCantPack("unknown data in header (try --force)");
checkAlreadyPacked(buf, sizeof(buf));
if (!checkFileHeader())
throwCantPack("unsupported header flags (try --force)");
if (file_size <= (PS_HDR_SIZE*3) && !opt->force)
if (file_size <= (PS_HDR_SIZE*3) && !opt->force)
throwCantPack("file is too small (try --force)");
if (file_size > PS_MAX_SIZE && !opt->force)
throwCantPack("file is too big (try --force)");
isCon = opt->ps1_exe.console_run;
return true;
}
@ -217,11 +227,17 @@ int PackPs1::buildLoader(const Filter *)
);
if (ph.method == M_NRV2B_8)
addLoader("PS1N2BD8", NULL);
addLoader("PS1N2B08", NULL);
else if (ph.method == M_NRV2D_8)
addLoader("PS1N2DD8", NULL);
addLoader("PS1N2D08", NULL);
else if (ph.method == M_NRV2E_8)
addLoader("PS1N2ED8", NULL);
addLoader("PS1N2E08", NULL);
else if (ph.method == M_NRV2B_LE32)
addLoader("PS1N2B32", NULL);
else if (ph.method == M_NRV2D_LE32)
addLoader("PS1N2D32", NULL);
else if (ph.method == M_NRV2E_LE32)
addLoader("PS1N2E32", NULL);
else
throwInternalError("unknown compression method");
@ -230,7 +246,7 @@ int PackPs1::buildLoader(const Filter *)
ih.tx_len & 3 ? "PS1MSETU" : "PS1MSETA", // un/aligned memset
NULL
);
addLoader("PS1FLUSH", "PS1JMPEP", "IDENTSTR", "PS1PAHDR",
addLoader("PS1EXITC", "IDENTSTR", "PS1PAHDR",
isCon ? "PS1SREGS" : "",
NULL
);
@ -252,7 +268,7 @@ void PackPs1::pack(OutputFile *fo)
fi->seek(PS_HDR_SIZE,SEEK_SET);
fi->readx(ibuf,fdata_size);
// scan the end of file for 2048 bytes sector alignment
// scan EOF for 2048 bytes sector alignment
// the removed space will secure in-place decompression
while (!(*p_scan--)) { if (sa_cnt++ > (0xfffc<<3)) break; }
@ -290,7 +306,7 @@ void PackPs1::pack(OutputFile *fo)
const int lsize = getLoaderSize();
MemBuffer loader(lsize);
memcpy(loader,getLoader(),lsize);
memcpy(loader, getLoader(), lsize);
patchPackHeader(loader,lsize);
@ -301,8 +317,8 @@ void PackPs1::pack(OutputFile *fo)
const unsigned decomp_data_start = ih.tx_ptr;
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;
const int h_len = lsize - getLoaderSectionStart("IDENTSTR");
const int c_len = lsize - h_len;
int d_len = 0;
int e_len = 0;
@ -344,21 +360,20 @@ 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, "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")]));
// ps1_exe_t structure 188 bytes
fo->write(&oh,sizeof(oh));
// ps1_exe_t structure 188 bytes
fo->write(&oh,sizeof(oh));
// id & upx header
fo->write(loader + e_len,h_len);
}
else
{
patch_mips_le(loader,c_len,"CPDO",comp_data_start);
patch_mips_le(loader, e_len,"PSVR",
(0xa0000000 - (ih.epc & 0x80000000)) + (0x800 - HD_CODE_OFS));
patch_mips_le(loader, c_len, "CPDO", comp_data_start);
patch_mips_le(loader, e_len, "PSVR", FIX_PSVR);
// ps1_exe_t structure 188 bytes
fo->write(&oh,sizeof(oh));
@ -390,7 +405,6 @@ void PackPs1::pack(OutputFile *fo)
printf("%-13s: decompressor : %8ld bytes\n", getName(), (long) lsize - h_len);
printf("%-13s: code entry : %08X bytes\n", getName(), (unsigned int) oh.epc);
printf("%-13s: load address : %08X bytes\n", getName(), (unsigned int) oh.tx_ptr);
printf("%-13s: section size : %8ld bytes\n", getName(), (long) oh.tx_len);
printf("%-13s: eof in mem IF: %08X bytes\n", getName(), (unsigned int) ih.tx_ptr+ih.tx_len);
printf("%-13s: eof in mem OF: %08X bytes\n", getName(), (unsigned int) oh.tx_ptr+oh.tx_len);
char method_name[32+1]; set_method_name(method_name, sizeof(method_name), ph.method, ph.level);
@ -410,8 +424,8 @@ int PackPs1::canUnpack()
if (!readPackHeader(1024))
return false;
// check header as set by packer
if (ih.ih_csum != upx_adler32(&ih.ih_bkup, SZ_IH_BKUP)
&& (ph.c_len >= fdata_size))
if (ih.ih_csum != upx_adler32(&ih.ih_bkup, SZ_IH_BKUP) &&
(ph.c_len >= fdata_size))
throwCantUnpack("header damaged");
// generic check
if (!checkFileHeader())
@ -444,7 +458,7 @@ void PackPs1::unpack(OutputFile *fo)
memset(&oh.ih_bkup, 0, SZ_IH_BKUP+4);
// decompress
decompress(ibuf+(fdata_size-ph.c_len), obuf);
decompress(ibuf + (fdata_size - ph.c_len), obuf);
// write decompressed file
if (fo)

View File

@ -66,43 +66,39 @@ protected:
{
// ident string
char id[8];
// contains NULL in normal ps-x exe
// is NULL
LE32 text;
// contains NULL in normal ps-x exe
// is NULL
LE32 data;
// entry offset
// initial program counter
LE32 epc;
// gp register value load at execution
// initial gp register value
LE32 gp;
// load offset of binary data
LE32 tx_ptr;
// file length
LE32 tx_len;
LE32 da_ptr;
LE32 da_len;
LE32 bs_ptr;
LE32 bs_len;
LE32 sd_ptr;
LE32 sd_len;
LE32 sp,fp,gp0,ra,k0;
// origin of executable Jap/USA/Europe
LE32 tx_ptr, tx_len;
LE32 da_ptr, da_len;
LE32 bs_ptr, bs_len;
// initial stack params
LE32 is_ptr, is_len;
// saved regs on execution
LE32 sp, fp, gp0, ra, k0;
// origin Jap/USA/Europe
char origin[60];
// some safety space after that
char pad[8];
// i'll place the backup of the original
// execution file structure here (epc - sd_len)
// backup of the original header (epc - is_len)
LE32 ih_bkup[10];
// plus checksum for the backup
LE32 ih_csum;
// here will find the id & the upx header it's place.
// btw only the 'epc - sd_len' entries init the executable.
// so stuff placed here will not load and waste memory.
// id & the upx header.
}
__attribute_packed;
ps1_exe_t ih, oh;
bool isCon;
bool is32Bit;
unsigned overlap;
unsigned sa_cnt;
@ -110,8 +106,6 @@ protected:
unsigned fdata_size;
// calculated filesize
unsigned cfile_size;
bool isCon;
};

View File

@ -35,12 +35,6 @@
#define HI(a) (a >> 16)
#define LO(a) (a & 0xffff)
#if 1
# define NRV_BB 8
#else
# define NRV_BB 32
#endif
#define SZ_REG 4
#if CDBOOT
@ -61,7 +55,7 @@ regs ENDM
#else //console
regs MACRO _w
regs MACRO _w, marker
_w at,SZ_REG*0(sp)
_w a0,SZ_REG*1(sp)
_w a1,SZ_REG*2(sp)
@ -70,6 +64,10 @@ regs MACRO _w
_w v0,SZ_REG*5(sp)
_w v1,SZ_REG*6(sp)
_w ra,SZ_REG*7(sp)
IF (marker != 0)
DW marker
addu sp,at
ENDIF
regs ENDM
#define REG_SZ (8*SZ_REG)
@ -77,7 +75,6 @@ regs ENDM
#endif //CDBOOT
ORG 0
start:
#if CDBOOT
@ -93,7 +90,7 @@ start:
subiu sp,REG_SZ ; adjust stack
cutpoint:
; __PS1ENTRY__
regs sw, 0 ; push used regs
regs sw,0 ; push used regs
li a0,'CPDO' ; load COMPDATA offset
; li a1,'CDSZ' ; compressed data size - disabled!
; __PS1CONHL__
@ -111,16 +108,16 @@ cutpoint:
; __PS1START__
addiu at,zero,'LS' ; size of decomp. routine
subu sp,at ; adjust the stack with this size
regs sw ; push used regs
subiu a2,at,REG_SZ ; a0 = counter copyloop
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
li a0,'DCRT' ; load decompression routine's offset
copyloop:
addi a2,-4
lw at,0(a0) ; memcpy *a2 -> at -> *a1
addiu a0,4
lw at,0(a0) ; memcpy *a0 -> at -> *a1
addiu a2,-4
sw at,0(a1)
addiu a0,4
bnez a2,copyloop
addiu a1,4
@ -141,23 +138,45 @@ cutpoint:
; ============= DECOMPRESSION
; =============
#ifndef FAST
# define FAST
#endif
#if CDBOOT
# if SMALL
# ifdef SMALL
# undef SMALL
# endif
#else //CONSOLE
# if !SMALL
# define SMALL
# ifndef SMALL
# define SMALL
# endif
#endif //CDBOOT
; __PS1N2BD8__
#ifdef NRV_BB
# undef NRV_BB
#endif
#define NRV_BB 8
; __PS1N2B08__
#include <mr3k/n2b_d.ash>
; __PS1N2DD8__
; __PS1N2D08__
#include <mr3k/n2d_d.ash>
; __PS1N2ED8__
; __PS1N2E08__
#include <mr3k/n2e_d.ash>
#ifdef NRV_BB
# undef NRV_BB
#endif
#define NRV_BB 32
; __PS1N2B32__
#include <mr3k/n2b_d.ash>
; __PS1N2D32__
#include <mr3k/n2d_d.ash>
; __PS1N2E32__
#include <mr3k/n2e_d.ash>
; =============
; __PS1MSETB__
@ -167,36 +186,26 @@ cutpoint:
ori a0,zero,'SC' ; amount of removed zero's at eof
; __PS1MSETA__
memset_aligned:
addi a0,-4
sw zero,0(a2)
addiu a0,-4
bnez a0,memset_aligned
addiu a2,4
; __PS1MSETU__
memset_unaligned:
addi a0,-4
swl zero,3(a2)
swr zero,0(a2)
addiu a0,-4
bnez a0,memset_unaligned
addiu a2,4
; =============
; __PS1FLUSH__
; __PS1EXITC__
li t2,160 ; flushes
jalr ra,t2 ; instruction
li t1,68 ; cache
; =============
; __PS1JMPEP__
#if CDBOOT
regs lw, 'JPEP' ; marker for the entry jump
#else //CONSOLE
regs lw ; pop used regs
DW 'JPEP' ; marker for the entry jump
addu sp,at
#endif //CDBOOT
; =============
; __PS1PAHDR__
@ -222,6 +231,6 @@ memset_unaligned:
; __PS1EOASM__
eof:
; section .data
; section .data
DW -1
DH eof

View File

@ -1,4 +1,4 @@
/* l_ps1b.h -- created from l_ps1b.bin, 1950 (0x79e) bytes
/* l_ps1b.h -- created from l_ps1b.bin, 3918 (0xf4e) bytes
This file is part of the UPX executable compressor.
@ -26,10 +26,10 @@
*/
#define NRV_BOOT_LOADER_ADLER32 0x0aef52ee
#define NRV_BOOT_LOADER_CRC32 0x10936e44
#define NRV_BOOT_LOADER_ADLER32 0x4d310522
#define NRV_BOOT_LOADER_CRC32 0xb1939f02
unsigned char nrv_boot_loader[1950] = {
unsigned char nrv_boot_loader[3918] = {
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 */
@ -47,10 +47,10 @@ unsigned char nrv_boot_loader[1950] = {
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 */
62, 0, 98, 16, 1, 0, 99, 36, 33, 88, 96, 0,127, 0, 34, 49, /* 0x 110 */
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 */
194, 17, 9, 0, 2, 0, 76, 48,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 140 */
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 */
@ -60,96 +60,219 @@ unsigned char nrv_boot_loader[1950] = {
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, 35, 24,195, 0, 1, 0,140, 37, 0, 0, 98,144, /* 0x 1e0 */
1, 0, 99, 36,255,255,140, 37, 0, 0,194,160,251,255,128, 21, /* 0x 1f0 */
1, 0,198, 36,147,255, 0, 16,127, 0, 34, 49, 33, 72, 0, 0, /* 0x 200 */
1, 0, 11, 36, 33, 64,128, 0,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 210 */
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 220 */
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 6, 0, 64, 16, /* 0x 230 */
1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160, /* 0x 240 */
241,255, 0, 16, 1, 0,198, 36,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 250 */
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 260 */
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 64, 24, 3, 0, /* 0x 270 */
33, 24, 98, 0,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 280 */
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 290 */
2, 18, 9, 0, 1, 0, 66, 48, 13, 0, 64, 20,255,255, 98, 36, /* 0x 2a0 */
64, 24, 2, 0,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 2b0 */
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 2c0 */
2, 18, 9, 0, 1, 0, 66, 48,223,255, 0, 16, 33, 24, 98, 0, /* 0x 2d0 */
2, 0, 2, 36, 13, 0, 98, 20,253,255, 99, 36,127, 0, 34, 49, /* 0x 2e0 */
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 2f0 */
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 300 */
33, 24, 96, 1, 12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, /* 0x 310 */
1, 0, 8, 37, 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, /* 0x 320 */
55, 0, 98, 16, 39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, /* 0x 330 */
1, 0, 99, 36, 33, 88, 96, 0,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 340 */
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 350 */
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 64, 96, 12, 0, /* 0x 360 */
33, 96,130, 1, 26, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36, /* 0x 370 */
127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 380 */
1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 390 */
1, 0, 66, 48, 64, 96, 12, 0, 33, 96,130, 1,127, 0, 34, 49, /* 0x 3a0 */
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 3b0 */
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 3c0 */
236,255, 64, 16,127, 0, 34, 49, 2, 0,140, 37, 1, 5, 98, 44, /* 0x 3d0 */
1, 0, 66, 56, 33, 96,130, 1, 35, 24,195, 0, 1, 0,140, 37, /* 0x 3e0 */
0, 0, 98,144, 1, 0, 99, 36,255,255,140, 37, 0, 0,194,160, /* 0x 3f0 */
251,255,128, 21, 1, 0,198, 36,132,255, 0, 16,127, 0, 34, 49, /* 0x 400 */
33, 72, 0, 0, 1, 0, 11, 36, 33, 64,128, 0,127, 0, 34, 49, /* 0x 410 */
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 420 */
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 430 */
6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 440 */
0, 0,194,160,241,255, 0, 16, 1, 0,198, 36,127, 0, 34, 49, /* 0x 450 */
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 460 */
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 470 */
64, 24, 3, 0, 33, 24, 98, 0,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 480 */
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 490 */
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 13, 0, 64, 20, /* 0x 4a0 */
255,255, 98, 36, 64, 24, 2, 0,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 4b0 */
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 4c0 */
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48,223,255, 0, 16, /* 0x 4d0 */
33, 24, 98, 0, 2, 0, 2, 36, 13, 0, 98, 20,253,255, 99, 36, /* 0x 4e0 */
33, 24, 96, 1,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 4f0 */
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 500 */
2, 18, 9, 0, 1, 0, 66, 48, 12, 0, 0, 16, 1, 0, 76, 48, /* 0x 510 */
0, 0, 2,145, 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, /* 0x 520 */
77, 0, 98, 16, 1, 0, 8, 37, 39, 16, 3, 0, 1, 0, 76, 48, /* 0x 530 */
66, 24, 3, 0, 1, 0, 99, 36, 33, 88, 96, 0, 13, 0,128, 17, /* 0x 540 */
127, 0, 34, 49,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 550 */
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 560 */
2, 18, 9, 0, 1, 0, 66, 48, 46, 0, 0, 16, 1, 0, 76, 36, /* 0x 570 */
127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, /* 0x 580 */
1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, /* 0x 590 */
1, 0, 66, 48, 12, 0, 64, 16, 1, 0,140, 37,127, 0, 34, 49, /* 0x 5a0 */
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 5b0 */
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, /* 0x 5c0 */
24, 0, 0, 16, 3, 0, 76, 36,127, 0, 34, 49, 5, 0, 64, 20, /* 0x 5d0 */
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 5e0 */
1, 0, 73, 36, 2, 18, 9, 0, 1, 0, 66, 48, 64, 96, 12, 0, /* 0x 5f0 */
33, 96,130, 1,127, 0, 34, 49, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 600 */
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 610 */
2, 18, 9, 0, 1, 0, 66, 48,236,255, 64, 16,127, 0, 34, 49, /* 0x 620 */
3, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, /* 0x 630 */
35, 24,195, 0, 1, 0,140, 37, 0, 0, 98,144, 1, 0, 99, 36, /* 0x 640 */
255,255,140, 37, 0, 0,194,160,251,255,128, 21, 1, 0,198, 36, /* 0x 650 */
111,255, 0, 16,127, 0, 34, 49, 67, 83, 4, 52,192, 32, 4, 0, /* 0x 660 */
67, 83, 4, 52,252,255,132, 32, 0, 0,192,172,253,255,128, 20, /* 0x 670 */
4, 0,198, 36,252,255,132, 32, 3, 0,192,168, 0, 0,192,184, /* 0x 680 */
252,255,128, 20, 4, 0,198, 36,160, 0, 10, 36, 9,248, 64, 1, /* 0x 690 */
68, 0, 9, 36, 0, 0,164,143, 4, 0,165,143, 8, 0,166,143, /* 0x 6a0 */
12, 0,167,143, 16, 0,162,143, 20, 0,163,143, 80, 69, 80, 74, /* 0x 6b0 */
24, 0,191,143, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, /* 0x 6c0 */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 6d0 */
0, 0, 0, 45, 80, 83, 49, 83, 84, 65, 82, 84, 0, 0, 0, 0, /* 0x 6e0 */
80, 83, 49, 69, 78, 84, 82, 89, 20, 0, 0, 0, 80, 83, 49, 67, /* 0x 6f0 */
79, 78, 72, 76, 56, 0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 73, /* 0x 700 */
64, 0, 0, 0, 80, 83, 49, 78, 50, 66, 68, 56, 68, 0, 0, 0, /* 0x 710 */
80, 83, 49, 78, 50, 68, 68, 56, 12, 2, 0, 0, 80, 83, 49, 78, /* 0x 720 */
50, 69, 68, 56, 16, 4, 0, 0, 80, 83, 49, 77, 83, 69, 84, 66, /* 0x 730 */
104, 6, 0, 0, 80, 83, 49, 77, 83, 69, 84, 83,112, 6, 0, 0, /* 0x 740 */
80, 83, 49, 77, 83, 69, 84, 65,116, 6, 0, 0, 80, 83, 49, 77, /* 0x 750 */
83, 69, 84, 85,132, 6, 0, 0, 80, 83, 49, 70, 76, 85, 83, 72, /* 0x 760 */
152, 6, 0, 0, 80, 83, 49, 74, 77, 80, 69, 80,164, 6, 0, 0, /* 0x 770 */
80, 83, 49, 80, 65, 72, 68, 82,196, 6, 0, 0, 80, 83, 49, 69, /* 0x 780 */
79, 65, 83, 77,228, 6, 0, 0,255,255,255,255,228, 6 /* 0x 790 */
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,192, 32, 4, 0, 67, 83, 4, 52, 0, 0,192,172, /* 0x e00 */
252,255,132, 36,253,255,128, 20, 4, 0,198, 36, 3, 0,192,168, /* 0x e10 */
0, 0,192,184,252,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, 80, 83, 49, 69, 78, 84, 82, 89, /* 0x e80 */
20, 0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 76, 56, 0, 0, 0, /* 0x e90 */
80, 83, 49, 67, 79, 78, 72, 73, 64, 0, 0, 0, 80, 83, 49, 78, /* 0x ea0 */
50, 66, 48, 56, 68, 0, 0, 0, 80, 83, 49, 78, 50, 68, 48, 56, /* 0x eb0 */
72, 2, 0, 0, 80, 83, 49, 78, 50, 69, 48, 56,136, 4, 0, 0, /* 0x ec0 */
80, 83, 49, 78, 50, 66, 51, 50, 28, 7, 0, 0, 80, 83, 49, 78, /* 0x ed0 */
50, 68, 51, 50, 36, 9, 0, 0, 80, 83, 49, 78, 50, 69, 51, 50, /* 0x ee0 */
104, 11, 0, 0, 80, 83, 49, 77, 83, 69, 84, 66, 0, 14, 0, 0, /* 0x ef0 */
80, 83, 49, 77, 83, 69, 84, 83, 8, 14, 0, 0, 80, 83, 49, 77, /* 0x f00 */
83, 69, 84, 65, 12, 14, 0, 0, 80, 83, 49, 77, 83, 69, 84, 85, /* 0x f10 */
28, 14, 0, 0, 80, 83, 49, 69, 88, 73, 84, 67, 48, 14, 0, 0, /* 0x f20 */
80, 83, 49, 80, 65, 72, 68, 82, 92, 14, 0, 0, 80, 83, 49, 69, /* 0x f30 */
79, 65, 83, 77,124, 14, 0, 0,255,255,255,255,124, 14 /* 0x f40 */
};

View File

@ -1,4 +1,4 @@
/* l_ps1c.h -- created from l_ps1c.bin, 1434 (0x59a) bytes
/* l_ps1c.h -- created from l_ps1c.bin, 2810 (0xafa) bytes
This file is part of the UPX executable compressor.
@ -26,98 +26,184 @@
*/
#define NRV_CON_LOADER_ADLER32 0x2b312d43
#define NRV_CON_LOADER_CRC32 0xe2a42bc3
#define NRV_CON_LOADER_ADLER32 0x7c7c7da1
#define NRV_CON_LOADER_CRC32 0xaf39f37f
unsigned char nrv_con_loader[1434] = {
unsigned char nrv_con_loader[2810] = {
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,252,255,198, 32, /* 0x 30 */
0, 0,129,140, 4, 0,132, 36, 0, 0,161,172,251,255,192, 20, /* 0x 40 */
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, 61, 0, 17, 4,127, 0, 34, 49, /* 0x 70 */
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, 52, 0, 17, 4, /* 0x 90 */
127, 0, 34, 49, 64, 24, 3, 0, 33, 24, 98, 0, 48, 0, 17, 4, /* 0x a0 */
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, 43, 0, 98, 16, 1, 0, 99, 36, 33, 88, 96, 0, /* 0x e0 */
31, 0, 17, 4,127, 0, 34, 49,194, 17, 9, 0, 2, 0, 76, 48, /* 0x f0 */
27, 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, 21, 0, 17, 4,127, 0, 34, 49, /* 0x 110 */
64, 96, 12, 0, 33, 96,130, 1, 17, 0, 17, 4,127, 0, 34, 49, /* 0x 120 */
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, 35, 24,195, 0, 1, 0,140, 37, /* 0x 140 */
0, 0, 98,144, 1, 0, 99, 36,255,255,140, 37, 0, 0,194,160, /* 0x 150 */
251,255,128, 21, 1, 0,198, 36,195,255, 0, 16, 0, 0, 0, 0, /* 0x 160 */
5, 0, 64, 20, 64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 170 */
64, 16, 2, 0, 1, 0, 73, 36, 2, 18, 9, 0, 8, 0,224, 3, /* 0x 180 */
1, 0, 66, 48, 33, 72, 0, 0, 1, 0, 11, 36, 33, 64,128, 0, /* 0x 190 */
69, 0, 17, 4,127, 0, 34, 49, 6, 0, 64, 16, 1, 0, 3, 36, /* 0x 1a0 */
0, 0, 2,145, 1, 0, 8, 37, 0, 0,194,160,248,255, 0, 16, /* 0x 1b0 */
1, 0,198, 36, 60, 0, 17, 4,127, 0, 34, 49, 64, 24, 3, 0, /* 0x 1c0 */
33, 24, 98, 0, 56, 0, 17, 4,127, 0, 34, 49, 6, 0, 64, 20, /* 0x 1d0 */
255,255, 98, 36, 64, 24, 2, 0, 51, 0, 17, 4,127, 0, 34, 49, /* 0x 1e0 */
244,255, 0, 16, 33, 24, 98, 0, 2, 0, 2, 36, 6, 0, 98, 20, /* 0x 1f0 */
253,255, 99, 36, 44, 0, 17, 4,127, 0, 34, 49, 33, 24, 96, 1, /* 0x 200 */
12, 0, 0, 16, 1, 0, 76, 48, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 210 */
0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, 43, 0, 98, 16, /* 0x 220 */
39, 16, 3, 0, 1, 0, 76, 48, 66, 24, 3, 0, 1, 0, 99, 36, /* 0x 230 */
33, 88, 96, 0, 28, 0, 17, 4,127, 0, 34, 49, 64, 96, 12, 0, /* 0x 240 */
33, 96,130, 1, 12, 0,128, 21, 1, 5, 98, 44, 1, 0, 12, 36, /* 0x 250 */
21, 0, 17, 4,127, 0, 34, 49, 64, 96, 12, 0, 33, 96,130, 1, /* 0x 260 */
17, 0, 17, 4,127, 0, 34, 49,249,255, 64, 16, 0, 0, 0, 0, /* 0x 270 */
2, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, 33, 96,130, 1, /* 0x 280 */
35, 24,195, 0, 1, 0,140, 37, 0, 0, 98,144, 1, 0, 99, 36, /* 0x 290 */
255,255,140, 37, 0, 0,194,160,251,255,128, 21, 1, 0,198, 36, /* 0x 2a0 */
187,255, 0, 16, 0, 0, 0, 0, 5, 0, 64, 20, 64, 72, 9, 0, /* 0x 2b0 */
0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, 1, 0, 73, 36, /* 0x 2c0 */
2, 18, 9, 0, 8, 0,224, 3, 1, 0, 66, 48, 33, 72, 0, 0, /* 0x 2d0 */
1, 0, 11, 36, 33, 64,128, 0, 76, 0, 17, 4,127, 0, 34, 49, /* 0x 2e0 */
6, 0, 64, 16, 1, 0, 3, 36, 0, 0, 2,145, 1, 0, 8, 37, /* 0x 2f0 */
0, 0,194,160,248,255, 0, 16, 1, 0,198, 36, 67, 0, 17, 4, /* 0x 300 */
127, 0, 34, 49, 64, 24, 3, 0, 33, 24, 98, 0, 63, 0, 17, 4, /* 0x 310 */
127, 0, 34, 49, 6, 0, 64, 20,255,255, 98, 36, 64, 24, 2, 0, /* 0x 320 */
58, 0, 17, 4,127, 0, 34, 49,244,255, 0, 16, 33, 24, 98, 0, /* 0x 330 */
2, 0, 2, 36, 6, 0, 98, 20,253,255, 99, 36, 33, 24, 96, 1, /* 0x 340 */
50, 0, 17, 4,127, 0, 34, 49, 12, 0, 0, 16, 1, 0, 76, 48, /* 0x 350 */
0, 0, 2,145, 0, 26, 3, 0, 33, 24, 98, 0,255,255, 2, 36, /* 0x 360 */
51, 0, 98, 16, 1, 0, 8, 37, 39, 16, 3, 0, 1, 0, 76, 48, /* 0x 370 */
66, 24, 3, 0, 1, 0, 99, 36, 33, 88, 96, 0, 5, 0,128, 17, /* 0x 380 */
0, 0, 0, 0, 33, 0, 17, 4,127, 0, 34, 49, 18, 0, 0, 16, /* 0x 390 */
1, 0, 76, 36, 29, 0, 17, 4,127, 0, 34, 49, 5, 0, 64, 16, /* 0x 3a0 */
1, 0,140, 37, 25, 0, 17, 4,127, 0, 34, 49, 10, 0, 0, 16, /* 0x 3b0 */
3, 0, 76, 36, 21, 0, 17, 4,127, 0, 34, 49, 64, 96, 12, 0, /* 0x 3c0 */
33, 96,130, 1, 17, 0, 17, 4,127, 0, 34, 49,249,255, 64, 16, /* 0x 3d0 */
0, 0, 0, 0, 3, 0,140, 37, 1, 5, 98, 44, 1, 0, 66, 56, /* 0x 3e0 */
33, 96,130, 1, 35, 24,195, 0, 1, 0,140, 37, 0, 0, 98,144, /* 0x 3f0 */
1, 0, 99, 36,255,255,140, 37, 0, 0,194,160,251,255,128, 21, /* 0x 400 */
1, 0,198, 36,180,255, 0, 16, 0, 0, 0, 0, 5, 0, 64, 20, /* 0x 410 */
64, 72, 9, 0, 0, 0, 2,145, 1, 0, 8, 37, 64, 16, 2, 0, /* 0x 420 */
1, 0, 73, 36, 2, 18, 9, 0, 8, 0,224, 3, 1, 0, 66, 48, /* 0x 430 */
67, 83, 4, 52,192, 32, 4, 0, 67, 83, 4, 52,252,255,132, 32, /* 0x 440 */
0, 0,192,172,253,255,128, 20, 4, 0,198, 36,252,255,132, 32, /* 0x 450 */
3, 0,192,168, 0, 0,192,184,252,255,128, 20, 4, 0,198, 36, /* 0x 460 */
160, 0, 10, 36, 9,248, 64, 1, 68, 0, 9, 36, 0, 0,161,143, /* 0x 470 */
4, 0,164,143, 8, 0,165,143, 12, 0,166,143, 16, 0,167,143, /* 0x 480 */
20, 0,162,143, 24, 0,163,143, 28, 0,191,143, 80, 69, 80, 74, /* 0x 490 */
33,232,161, 3, 85, 80, 88, 33,161,216,208,213, 0, 0, 0, 0, /* 0x 4a0 */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 4b0 */
0, 0, 0, 45, 32, 0, 0, 0, 80, 83, 49, 83, 84, 65, 82, 84, /* 0x 4c0 */
0, 0, 0, 0, 80, 83, 49, 80, 65, 68, 67, 68, 84, 0, 0, 0, /* 0x 4d0 */
80, 83, 49, 67, 79, 78, 72, 76, 88, 0, 0, 0, 80, 83, 49, 67, /* 0x 4e0 */
79, 78, 72, 73,100, 0, 0, 0, 80, 83, 49, 69, 78, 84, 82, 89, /* 0x 4f0 */
108, 0, 0, 0, 80, 83, 49, 78, 50, 66, 68, 56,108, 0, 0, 0, /* 0x 500 */
80, 83, 49, 78, 50, 68, 68, 56,148, 1, 0, 0, 80, 83, 49, 78, /* 0x 510 */
50, 69, 68, 56,220, 2, 0, 0, 80, 83, 49, 77, 83, 69, 84, 66, /* 0x 520 */
64, 4, 0, 0, 80, 83, 49, 77, 83, 69, 84, 83, 72, 4, 0, 0, /* 0x 530 */
80, 83, 49, 77, 83, 69, 84, 65, 76, 4, 0, 0, 80, 83, 49, 77, /* 0x 540 */
83, 69, 84, 85, 92, 4, 0, 0, 80, 83, 49, 70, 76, 85, 83, 72, /* 0x 550 */
112, 4, 0, 0, 80, 83, 49, 74, 77, 80, 69, 80,124, 4, 0, 0, /* 0x 560 */
80, 83, 49, 80, 65, 72, 68, 82,164, 4, 0, 0, 80, 83, 49, 83, /* 0x 570 */
82, 69, 71, 83,196, 4, 0, 0, 80, 83, 49, 69, 79, 65, 83, 77, /* 0x 580 */
200, 4, 0, 0,255,255,255,255,200, 4 /* 0x 590 */
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,192, 32, 4, 0, /* 0x 980 */
67, 83, 4, 52, 0, 0,192,172,252,255,132, 36,253,255,128, 20, /* 0x 990 */
4, 0,198, 36, 3, 0,192,168, 0, 0,192,184,252,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, 80, 83, 49, 80, /* 0x a10 */
65, 68, 67, 68, 84, 0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 76, /* 0x a20 */
88, 0, 0, 0, 80, 83, 49, 67, 79, 78, 72, 73,100, 0, 0, 0, /* 0x a30 */
80, 83, 49, 69, 78, 84, 82, 89,108, 0, 0, 0, 80, 83, 49, 78, /* 0x a40 */
50, 66, 48, 56,108, 0, 0, 0, 80, 83, 49, 78, 50, 68, 48, 56, /* 0x a50 */
208, 1, 0, 0, 80, 83, 49, 78, 50, 69, 48, 56, 84, 3, 0, 0, /* 0x a60 */
80, 83, 49, 78, 50, 66, 51, 50,244, 4, 0, 0, 80, 83, 49, 78, /* 0x a70 */
50, 68, 51, 50, 92, 6, 0, 0, 80, 83, 49, 78, 50, 69, 51, 50, /* 0x a80 */
228, 7, 0, 0, 80, 83, 49, 77, 83, 69, 84, 66,136, 9, 0, 0, /* 0x a90 */
80, 83, 49, 77, 83, 69, 84, 83,144, 9, 0, 0, 80, 83, 49, 77, /* 0x aa0 */
83, 69, 84, 65,148, 9, 0, 0, 80, 83, 49, 77, 83, 69, 84, 85, /* 0x ab0 */
164, 9, 0, 0, 80, 83, 49, 69, 88, 73, 84, 67,184, 9, 0, 0, /* 0x ac0 */
80, 83, 49, 80, 65, 72, 68, 82,236, 9, 0, 0, 80, 83, 49, 83, /* 0x ad0 */
82, 69, 71, 83, 12, 10, 0, 0, 80, 83, 49, 69, 79, 65, 83, 77, /* 0x ae0 */
16, 10, 0, 0,255,255,255,255, 16, 10 /* 0x af0 */
};

View File

@ -1,4 +1,4 @@
#define UPX_VERSION_HEX 0x019100 /* 01.91.00 */
#define UPX_VERSION_STRING "1.91 beta"
#define UPX_VERSION_STRING4 "1.91"
#define UPX_VERSION_DATE "Jan 20th 2004"
#define UPX_VERSION_DATE "Apr 14th 2004"