Import 0.3.5

This commit is contained in:
Gregory Montoir 2017-12-07 00:00:00 +08:00
parent 31757e48dc
commit e2f30e28a0
15 changed files with 1139 additions and 306 deletions

View File

@ -1,6 +1,6 @@
REminiscence README
Release version: 0.3.4
Release version: 0.3.5
-------------------------------------------------------------------------------
@ -45,7 +45,12 @@ directory. These paths can be changed using command line switches :
--levelnum=NUM Level to start from (default '0')
--fullscreen Fullscreen display
--scaler=NAME@X Graphics scaler (default 'scale@3')
--language=LANG Language (fr,en,de,sp,it)
--language=LANG Language (fr,en,de,sp,it,jp)
The scaler option specifies the algorithm used to smoothen the image in
addition to a scaling factor. External scalers are also supported, the
suffix shall be used as the name. Eg. If you have scaler_xbrz.dll, you can
pass '--scaler xbrz@2' to use that algorithm with a window size 512x448.
In-game hotkeys :

View File

@ -89,12 +89,17 @@ void Cutscene::setRotationTransform(uint16_t a, uint16_t b, uint16_t c) { // ide
_rotMat[3] /* .y2 */ = (-sin_c * cos_a) >> 8;
}
static bool isNewLineChar(uint8_t chr, Resource *res) {
const uint8_t nl = (res->_lang == LANG_JP) ? 0xD1 : 0x7C;
return chr == nl;
}
uint16_t Cutscene::findTextSeparators(const uint8_t *p) {
uint8_t *q = _textSep;
uint16_t ret = 0;
uint16_t pos = 0;
for (; *p != 0xA && *p; ++p) {
if (*p == 0x7C) {
if (isNewLineChar(*p, _res)) {
*q++ = pos;
if (pos > ret) {
ret = pos;
@ -115,6 +120,7 @@ uint16_t Cutscene::findTextSeparators(const uint8_t *p) {
void Cutscene::drawText(int16_t x, int16_t y, const uint8_t *p, uint16_t color, uint8_t *page, uint8_t n) {
debug(DBG_CUT, "Cutscene::drawText(x=%d, y=%d, c=%d)", x, y, color);
Video::drawCharFunc dcf = _vid->_drawChar;
const uint8_t *fnt = (_res->_lang == LANG_JP) ? Video::_font8Jp : _res->_fnt;
uint16_t last_sep = 0;
if (n != 0) {
last_sep = findTextSeparators(p);
@ -131,7 +137,7 @@ void Cutscene::drawText(int16_t x, int16_t y, const uint8_t *p, uint16_t color,
xx += ((last_sep - *sep++) & 0xFE) * 4;
}
for (; *p != 0xA && *p; ++p) {
if (*p == 0x7C) {
if (isNewLineChar(*p, _res)) {
yy += 8;
xx = x;
if (n != 0) {
@ -143,7 +149,7 @@ void Cutscene::drawText(int16_t x, int16_t y, const uint8_t *p, uint16_t color,
// ignore tab
} else {
uint8_t *dst = page + 256 * yy + xx;
(_vid->*dcf)(dst, 256, _res->_fnt, color, *p);
(_vid->*dcf)(dst, 256, fnt, color, *p);
xx += 8;
}
}

View File

@ -452,25 +452,36 @@ bool Game::handleConfigPanel() {
_vid._charFrontColor = 0xEE;
_vid._charTransparentColor = 0xFF;
_vid.PC_drawChar(0x81, y, x);
// the panel background is drawn using special characters from FB_TXT.FNT
static const bool kUseDefaultFont = true;
// top-left rounded corder
_vid.PC_drawChar(0x81, y, x, kUseDefaultFont);
// top horizontal line
for (int i = 1; i < w; ++i) {
_vid.PC_drawChar(0x85, y, x + i);
_vid.PC_drawChar(0x85, y, x + i, kUseDefaultFont);
}
_vid.PC_drawChar(0x82, y, x + w);
// top-right rounded corner
_vid.PC_drawChar(0x82, y, x + w, kUseDefaultFont);
for (int j = 1; j < h; ++j) {
_vid.PC_drawChar(0x86, y + j, x);
// left vertical line
_vid.PC_drawChar(0x86, y + j, x, kUseDefaultFont);
for (int i = 1; i < w; ++i) {
_vid._charTransparentColor = 0xE2;
_vid.PC_drawChar(0x20, y + j, x + i);
_vid.PC_drawChar(0x20, y + j, x + i, kUseDefaultFont);
}
_vid._charTransparentColor = 0xFF;
_vid.PC_drawChar(0x87, y + j, x + w);
// right vertical line
_vid.PC_drawChar(0x87, y + j, x + w, kUseDefaultFont);
}
_vid.PC_drawChar(0x83, y + h, x);
// bottom-left rounded corner
_vid.PC_drawChar(0x83, y + h, x, kUseDefaultFont);
// bottom horizontal line
for (int i = 1; i < w; ++i) {
_vid.PC_drawChar(0x88, y + h, x + i);
_vid.PC_drawChar(0x88, y + h, x + i, kUseDefaultFont);
}
_vid.PC_drawChar(0x84, y + h, x + w);
// bottom-right rounded corner
_vid.PC_drawChar(0x84, y + h, x + w, kUseDefaultFont);
_menu._charVar3 = 0xE4;
_menu._charVar4 = 0xE5;
@ -727,7 +738,7 @@ void Game::drawLevelTexts() {
uint8_t icon_num = obj - 1;
drawIcon(icon_num, 80, 8, 0xA);
uint8_t txt_num = pge->init_PGE->text_num;
const char *str = (const char *)_res.getTextString(txt_num);
const char *str = (const char *)_res.getTextString(_currentLevel, txt_num);
_vid.drawString(str, (176 - strlen(str) * 8) / 2, 26, 0xE6);
if (icon_num == 2) {
printSaveStateCompleted();
@ -740,23 +751,48 @@ void Game::drawLevelTexts() {
_saveStateCompleted = false;
}
static int getLineLength(const uint8_t *str) {
int len = 0;
while (*str && *str != 0xB && *str != 0xA) {
++str;
++len;
}
return len;
}
void Game::drawStoryTexts() {
if (_textToDisplay != 0xFFFF) {
uint16_t text_col_mask = 0xE8;
uint8_t textColor = 0xE8;
const uint8_t *str = _res.getGameString(_textToDisplay);
memcpy(_vid._tempLayer, _vid._frontLayer, _vid._layerSize);
int textSpeechSegment = 0;
while (!_stub->_pi.quit) {
drawIcon(_currentInventoryIconNum, 80, 8, 0xA);
if (*str == 0xFF) {
text_col_mask = READ_LE_UINT16(str + 1);
str += 3;
if (_res._lang == LANG_JP) {
switch (str[1]) {
case 0:
textColor = 0xE9;
break;
case 1:
textColor = 0xEB;
break;
default:
warning("Unhandled JP color code 0x%x", str[1]);
break;
}
str += 2;
} else {
textColor = str[1];
// str[2] is an unused color (possibly the shadow)
str += 3;
}
}
int16_t text_y_pos = 26;
int yPos = 26;
while (1) {
uint16_t len = getLineLength(str);
str = (const uint8_t *)_vid.drawString((const char *)str, (176 - len * 8) / 2, text_y_pos, text_col_mask);
text_y_pos += 8;
const int len = getLineLength(str);
str = (const uint8_t *)_vid.drawString((const char *)str, (176 - len * 8) / 2, yPos, textColor);
yPos += 8;
if (*str == 0 || *str == 0xB) {
break;
}
@ -1495,15 +1531,6 @@ void Game::changeLevel() {
_vid.fullRefresh();
}
uint16_t Game::getLineLength(const uint8_t *str) const {
uint16_t len = 0;
while (*str && *str != 0xB && *str != 0xA) {
++str;
++len;
}
return len;
}
void Game::handleInventory() {
LivePGE *selected_pge = 0;
LivePGE *pge = &_pgeLive[0];
@ -1566,7 +1593,7 @@ void Game::handleInventory() {
drawIcon(76, icon_x_pos, 157, 0xA);
selected_pge = items[item_it].live_pge;
uint8_t txt_num = items[item_it].init_pge->text_num;
const char *str = (const char *)_res.getTextString(txt_num);
const char *str = (const char *)_res.getTextString(_currentLevel, txt_num);
_vid.drawString(str, (256 - strlen(str) * 8) / 2, 189, 0xED);
if (items[item_it].init_pge->init_flags & 4) {
char buf[10];

1
game.h
View File

@ -120,7 +120,6 @@ struct Game {
void playSound(uint8_t sfxId, uint8_t softVol);
uint16_t getRandomNumber();
void changeLevel();
uint16_t getLineLength(const uint8_t *str) const;
void handleInventory();

View File

@ -74,7 +74,8 @@ enum Language {
LANG_EN,
LANG_DE,
LANG_SP,
LANG_IT
LANG_IT,
LANG_JP,
};
enum ResourceType {

View File

@ -1,38 +0,0 @@
/*
* REminiscence - Flashback interpreter
* Copyright (C) 2005-2015 Gregory Montoir (cyx@users.sourceforge.net)
*/
#include "locale.h"
Locale::Locale(Version ver)
: _ver(ver) {
switch (_ver) {
case LANG_FR:
_stringsTable = _stringsTableFR;
_textsTable = _textsTableFR;
break;
case LANG_EN:
_stringsTable = _stringsTableEN;
_textsTable = _textsTableEN;
break;
case LANG_DE:
_stringsTable = _stringsTableDE;
_textsTable = _textsTableDE;
break;
case LANG_SP:
_stringsTable = _stringsTableSP;
_textsTable = _textsTableSP;
break;
}
}
const char *Locale::get(int id) const {
const char *text = 0;
if (id >= 0 && id < LI_NUM) {
text = _textsTable[id];
}
return text;
}

View File

@ -1,57 +0,0 @@
/*
* REminiscence - Flashback interpreter
* Copyright (C) 2005-2015 Gregory Montoir (cyx@users.sourceforge.net)
*/
#ifndef LOCALE_H__
#define LOCALE_H__
#include "intern.h"
struct Locale {
enum Id {
LI_01_CONTINUE_OR_ABORT = 0,
LI_02_TIME,
LI_03_CONTINUE,
LI_04_ABORT,
LI_05_COMPLETED,
LI_06_LEVEL,
LI_07_START,
LI_08_SKILL,
LI_09_PASSWORD,
LI_10_INFO,
LI_11_QUIT,
LI_12_SKILL_LEVEL,
LI_13_EASY,
LI_14_NORMAL,
LI_15_EXPERT,
LI_16_ENTER_PASSWORD1,
LI_17_ENTER_PASSWORD2,
LI_18_RESUME_GAME,
LI_19_ABORT_GAME,
LI_20_LOAD_GAME,
LI_21_SAVE_GAME,
LI_22_SAVE_SLOT,
LI_NUM
};
static const char *_textsTableFR[];
static const char *_textsTableEN[];
static const char *_textsTableDE[];
static const char *_textsTableSP[];
static const uint8_t _stringsTableFR[];
static const uint8_t _stringsTableEN[];
static const uint8_t _stringsTableDE[];
static const uint8_t _stringsTableSP[];
Version _ver;
const char **_textsTable;
const uint8_t *_stringsTable;
Locale(Version ver);
const char *get(int id) const;
};
#endif // LOCALE_H__

View File

@ -23,7 +23,7 @@ static const char *USAGE =
" --levelnum=NUM Start to level, bypass introduction\n"
" --fullscreen Fullscreen display\n"
" --scaler=NAME@X Graphics scaler (default 'scale@3')\n"
" --language=LANG Language (fr,en,de,sp,it)\n"
" --language=LANG Language (fr,en,de,sp,it,jp)\n"
;
static int detectVersion(FileSystem *fs) {
@ -153,11 +153,13 @@ static void parseScaler(char *name, ScalerParameters *scalerParameters) {
char libname[32];
snprintf(libname, sizeof(libname), "scaler_%s", name);
const Scaler *scaler = findScaler(libname);
if (scaler) {
if (!scaler) {
warning("Scaler '%s' not found, using default", libname);
} else if (scaler->tag != SCALER_TAG) {
warning("Unexpected tag %d for scaler '%s'", scaler->tag, libname);
} else {
scalerParameters->type = kScalerTypeExternal;
scalerParameters->scaler = scaler;
} else {
warning("Scaler '%s' not found, using default", libname);
}
}
if (sep) {
@ -222,6 +224,7 @@ int main(int argc, char *argv[]) {
{ LANG_DE, "DE" },
{ LANG_SP, "SP" },
{ LANG_IT, "IT" },
{ LANG_JP, "JP" },
{ -1, 0 }
};
for (int i = 0; languages[i].str; ++i) {

View File

@ -66,7 +66,7 @@ void Menu::drawString2(const char *str, int16_t y, int16_t x) {
debug(DBG_MENU, "Menu::drawString2()");
int i = 0;
for (; str[i]; ++i) {
_vid->PC_drawChar((uint8_t)str[i], y, x + i);
_vid->PC_drawChar((uint8_t)str[i], y, x + i, true);
}
_vid->markBlockAsDirty(x * 8, y * 8, i * 8, 8);
}

View File

@ -382,105 +382,74 @@ void Resource::load_CINE() {
}
void Resource::load_TEXT() {
File f;
// Load game strings
_stringsTable = 0;
if (f.open("STRINGS.TXT", "rb", _fs)) {
const int sz = f.size();
_extStringsTable = (uint8_t *)malloc(sz);
if (_extStringsTable) {
f.read(_extStringsTable, sz);
_stringsTable = _extStringsTable;
}
f.close();
}
if (!_stringsTable) {
switch (_lang) {
case LANG_FR:
_stringsTable = LocaleData::_stringsTableFR;
break;
case LANG_EN:
_stringsTable = LocaleData::_stringsTableEN;
break;
case LANG_DE:
_stringsTable = LocaleData::_stringsTableDE;
break;
case LANG_SP:
_stringsTable = LocaleData::_stringsTableSP;
break;
case LANG_IT:
_stringsTable = LocaleData::_stringsTableIT;
break;
}
switch (_lang) {
case LANG_FR:
_stringsTable = LocaleData::_stringsTableFR;
break;
case LANG_EN:
_stringsTable = LocaleData::_stringsTableEN;
break;
case LANG_DE:
_stringsTable = LocaleData::_stringsTableDE;
break;
case LANG_SP:
_stringsTable = LocaleData::_stringsTableSP;
break;
case LANG_IT:
_stringsTable = LocaleData::_stringsTableIT;
break;
case LANG_JP:
_stringsTable = LocaleData::_stringsTableJP;
break;
}
// Load menu strings
_textsTable = 0;
if (f.open("MENUS.TXT", "rb", _fs)) {
const int offs = LocaleData::LI_NUM * sizeof(char *);
const int sz = f.size() + 1;
_extTextsTable = (char **)malloc(offs + sz);
if (_extTextsTable) {
char *textData = (char *)_extTextsTable + offs;
f.read(textData, sz);
textData[sz] = 0;
int textsCount = 0;
for (char *eol; (eol = strpbrk(textData, "\r\n")) != 0; ) {
*eol++ = 0;
if (*eol == '\r' || *eol == '\n') {
*eol++ = 0;
}
if (textsCount < LocaleData::LI_NUM && textData[0] != 0) {
_extTextsTable[textsCount] = textData;
++textsCount;
}
textData = eol;
}
if (textsCount < LocaleData::LI_NUM && textData[0] != 0) {
_extTextsTable[textsCount] = textData;
++textsCount;
}
if (textsCount < LocaleData::LI_NUM) {
free(_extTextsTable);
_extTextsTable = 0;
} else {
_textsTable = (const char **)_extTextsTable;
}
}
}
if (!_textsTable) {
switch (_lang) {
case LANG_FR:
_textsTable = LocaleData::_textsTableFR;
break;
case LANG_EN:
_textsTable = LocaleData::_textsTableEN;
break;
case LANG_DE:
_textsTable = LocaleData::_textsTableDE;
break;
case LANG_SP:
_textsTable = LocaleData::_textsTableSP;
break;
case LANG_IT:
_textsTable = LocaleData::_textsTableIT;
break;
}
switch (_lang) {
case LANG_FR:
_textsTable = LocaleData::_textsTableFR;
break;
case LANG_EN:
_textsTable = LocaleData::_textsTableEN;
break;
case LANG_DE:
_textsTable = LocaleData::_textsTableDE;
break;
case LANG_SP:
_textsTable = LocaleData::_textsTableSP;
break;
case LANG_IT:
_textsTable = LocaleData::_textsTableIT;
break;
case LANG_JP:
_textsTable = LocaleData::_textsTableEN;
break;
}
}
void Resource::free_TEXT() {
if (_extTextsTable) {
free(_extTextsTable);
_extTextsTable = 0;
}
_stringsTable = 0;
if (_extStringsTable) {
free(_extStringsTable);
_extStringsTable = 0;
}
_textsTable = 0;
}
static const char *getTextBin(Language lang, ResourceType type) {
// FB PC-CD version has language specific files
// .TBN is used as fallback if open fails
switch (lang) {
case LANG_FR:
return "TBF";
case LANG_DE:
return "TBG";
case LANG_SP:
return "TBS";
case LANG_IT:
return "TBI";
case LANG_EN:
default:
return "TBN";
}
}
void Resource::load(const char *objName, int objType, const char *ext) {
debug(DBG_RES, "Resource::load('%s', %d)", objName, objType);
LoadStub loadStub = 0;
@ -542,7 +511,10 @@ void Resource::load(const char *objName, int objType, const char *ext) {
loadStub = &Resource::load_ANI;
break;
case OT_TBN:
snprintf(_entryName, sizeof(_entryName), "%s.TBN", objName);
snprintf(_entryName, sizeof(_entryName), "%s.%s", objName, getTextBin(_lang, _type));
if (!_fs->exists(_entryName)) {
snprintf(_entryName, sizeof(_entryName), "%s.TBN", objName);
}
loadStub = &Resource::load_TBN;
break;
case OT_CMD:

View File

@ -46,11 +46,24 @@ struct LocaleData {
static const char *_textsTableDE[];
static const char *_textsTableSP[];
static const char *_textsTableIT[];
static const uint8_t _stringsTableFR[];
static const uint8_t _stringsTableEN[];
static const uint8_t _stringsTableDE[];
static const uint8_t _stringsTableSP[];
static const uint8_t _stringsTableIT[];
static const uint8_t _stringsTableJP[];
static const uint8_t _level1TbnJP[];
static const uint8_t _level2TbnJP[];
static const uint8_t _level3TbnJP[];
static const uint8_t _level41TbnJP[];
static const uint8_t _level42TbnJP[];
static const uint8_t _level51TbnJP[];
static const uint8_t _level52TbnJP[];
static const uint8_t _cineBinJP[];
static const uint8_t _cineTxtJP[];
};
struct Resource {
@ -139,9 +152,7 @@ struct Resource {
uint8_t *_cineStrings[NUM_CUTSCENE_TEXTS];
uint8_t *_cine_off;
uint8_t *_cine_txt;
char **_extTextsTable;
const char **_textsTable;
uint8_t *_extStringsTable;
const uint8_t *_stringsTable;
uint8_t *_bankData;
uint8_t *_bankDataHead;
@ -203,13 +214,46 @@ struct Resource {
const int offset = _readUint16(_ani + 2 + num * 2);
return _ani + 2 + offset;
}
const uint8_t *getTextString(int num) {
const uint8_t *getTextString(int level, int num) {
if (_lang == LANG_JP) {
const uint8_t *p = 0;
switch (level) {
case 0:
p = LocaleData::_level1TbnJP;
break;
case 1:
p = LocaleData::_level2TbnJP;
break;
case 2:
p = LocaleData::_level3TbnJP;
break;
case 3:
p = LocaleData::_level41TbnJP;
break;
case 4:
p = LocaleData::_level42TbnJP;
break;
case 5:
p = LocaleData::_level51TbnJP;
break;
case 6:
p = LocaleData::_level52TbnJP;
break;
default:
return 0;
}
return p + READ_LE_UINT16(p + num * 2);
}
return _tbn + _readUint16(_tbn + num * 2);
}
const uint8_t *getGameString(int num) {
return _stringsTable + READ_LE_UINT16(_stringsTable + num * 2);
}
const uint8_t *getCineString(int num) {
if (_lang == LANG_JP) {
const int offset = READ_BE_UINT16(LocaleData::_cineBinJP + num * 2);
return LocaleData::_cineTxtJP + offset;
}
if (_cine_off) {
const int offset = READ_BE_UINT16(_cine_off + num * 2);
return _cine_txt + offset;

View File

@ -2094,6 +2094,173 @@ const uint8_t LocaleData::_stringsTableIT[] = {
0x6F, 0x69, 0x2E, 0x00
};
const uint8_t LocaleData::_stringsTableJP[] = {
0x5a, 0x00, 0x69, 0x00, 0x7d, 0x00, 0x58, 0x01, 0xce, 0x01, 0xe2, 0x01, 0x1a, 0x02, 0x3b, 0x02,
0x85, 0x02, 0x98, 0x02, 0xc2, 0x02, 0xfb, 0x02, 0x2d, 0x03, 0x66, 0x03, 0xbf, 0x03, 0xdb, 0x03,
0xec, 0x03, 0x47, 0x04, 0x54, 0x04, 0x68, 0x04, 0xc9, 0x04, 0x34, 0x06, 0x82, 0x06, 0x95, 0x06,
0xd1, 0x06, 0xe2, 0x06, 0xf3, 0x06, 0x12, 0x07, 0x30, 0x07, 0x4b, 0x07, 0x4c, 0x07, 0x4d, 0x07,
0x81, 0x07, 0x90, 0x07, 0x0a, 0x08, 0x2a, 0x08, 0xa4, 0x08, 0xb3, 0x08, 0xd4, 0x08, 0xfa, 0x08,
0x66, 0x09, 0x8f, 0x09, 0xbf, 0x09, 0xd6, 0x09, 0xff, 0x09, 0xb0, 0xca, 0x2d, 0xa2, 0xcf, 0x60,
0xcf, 0x20, 0x6e, 0x88, 0x6d, 0xcf, 0x5c, 0x83, 0x00, 0x80, 0x66, 0x92, 0x0a, 0x64, 0x84, 0x6d,
0xcf, 0x93, 0x5d, 0x64, 0xcf, 0x62, 0x74, 0x67, 0xcf, 0x6a, 0xcf, 0x92, 0x00, 0xff, 0x01, 0x9a,
0xbf, 0x60, 0xcf, 0x20, 0xa1, 0xcf, 0xc9, 0xcc, 0x9d, 0x6a, 0xcf, 0x92, 0x0a, 0xab, 0xa3, 0x73,
0xaf, 0xd0, 0xa2, 0xb3, 0xd0, 0x2d, 0xa9, 0x60, 0xcf, 0x0a, 0x78, 0x66, 0x5c, 0x88, 0x6a, 0xcf,
0x91, 0x6d, 0x3f, 0x0b, 0xff, 0x00, 0x5b, 0x5b, 0x92, 0x6d, 0xcf, 0x61, 0x83, 0x6a, 0xcf, 0x63,
0x20, 0x74, 0x7e, 0x62, 0x6f, 0x92, 0x0b, 0xff, 0x01, 0x31, 0x35, 0x30, 0x30, 0x9d, 0xbf, 0xa1,
0xcf, 0xcc, 0xa9, 0x6a, 0xcf, 0x6f, 0x21, 0x0b, 0xff, 0x00, 0x31, 0x35, 0x30, 0x30, 0x9d, 0xbf,
0xa1, 0xcf, 0xcc, 0xa9, 0x6a, 0xcf, 0x91, 0x6d, 0x3f, 0x0b, 0xff, 0x01, 0x5b, 0x5b, 0x93, 0x6c,
0x62, 0x83, 0x70, 0x74, 0x20, 0x5c, 0x85, 0x5c, 0x85, 0x0a, 0x6d, 0x79, 0x60, 0xcf, 0x20, 0x60,
0x60, 0x91, 0x6d, 0x72, 0x2e, 0x2e, 0x2e, 0x92, 0x0b, 0xff, 0x00, 0x6a, 0xcf, 0x63, 0x6e, 0xcf,
0x2e, 0x2e, 0x2e, 0x0a, 0x69, 0x88, 0x6f, 0x70, 0x20, 0x7d, 0x91, 0x6d, 0x6f, 0x5c, 0x68, 0xcf,
0x2e, 0x2e, 0x2e, 0x92, 0x0b, 0xff, 0x01, 0x66, 0x90, 0x62, 0x61, 0xcf, 0x90, 0x5d, 0x0a, 0x5b,
0x88, 0x6f, 0x5c, 0x66, 0xcf, 0x90, 0x70, 0x20, 0x5c, 0x63, 0x92, 0x0b, 0x69, 0x64, 0x6d, 0xcf,
0x93, 0x66, 0x64, 0xcf, 0x6e, 0x87, 0x0a, 0x65, 0x60, 0xcf, 0x67, 0x88, 0x6a, 0xcf, 0x6f, 0x92,
0x0b, 0x9b, 0xad, 0x60, 0xcf, 0x20, 0x6d, 0xcf, 0x61, 0x6d, 0x60, 0x81, 0x93, 0x0a, 0x6e, 0x82,
0x75, 0x61, 0x20, 0x66, 0x80, 0x5d, 0x92, 0x00, 0xff, 0x01, 0xb9, 0xa7, 0x6f, 0x81, 0x20, 0x66,
0x91, 0x6d, 0x83, 0x68, 0xcf, 0x92, 0x0a, 0x63, 0x5c, 0x66, 0xcf, 0x73, 0x20, 0x66, 0x82, 0x5b,
0x5c, 0x60, 0xcf, 0x0a, 0x5c, 0x83, 0x88, 0x6a, 0xcf, 0x91, 0x6d, 0x80, 0x92, 0x0b, 0xff, 0x00,
0x69, 0x73, 0x63, 0x5c, 0x66, 0xcf, 0x74, 0x93, 0x0a, 0x6e, 0xcf, 0x64, 0x70, 0x20, 0x5c, 0x83,
0x88, 0x6a, 0xcf, 0x3f, 0x0b, 0xff, 0x01, 0x41, 0x52, 0x45, 0x41, 0x31, 0x70, 0x20, 0x5c, 0x91,
0x6d, 0x7a, 0x6f, 0x92, 0x0a, 0x6a, 0x76, 0xcf, 0x88, 0x93, 0x69, 0x64, 0x6d, 0xcf, 0x0a, 0x74,
0x6a, 0x81, 0x5c, 0x6d, 0x83, 0x68, 0xcf, 0x92, 0x0b, 0x61, 0x87, 0x6c, 0x63, 0x6f, 0x92, 0x0a,
0xb9, 0xa7, 0x81, 0x74, 0x20, 0x61, 0x6a, 0x72, 0x8c, 0x60, 0x81, 0x6f, 0x92, 0x00, 0xff, 0x01,
0x7d, 0x5d, 0x93, 0x69, 0x84, 0x5c, 0x66, 0xcf, 0x90, 0x5d, 0x0a, 0x66, 0x81, 0x72, 0x8c, 0x80,
0x92, 0x00, 0xff, 0x01, 0xa0, 0x97, 0xb3, 0xcf, 0x2d, 0x9d, 0xcf, 0x32, 0x31, 0x60, 0xcf, 0x93,
0x9c, 0xb5, 0x6e, 0x20, 0x0a, 0x6e, 0x82, 0x75, 0x61, 0x20, 0x66, 0x6a, 0x60, 0xcf, 0x91, 0x6d,
0x5c, 0x83, 0x92, 0x0b, 0xaf, 0xcf, 0x2d, 0x73, 0x20, 0x5d, 0x81, 0x6d, 0xcf, 0x0a, 0x79, 0x91,
0x6d, 0x5c, 0x83, 0x20, 0x69, 0x5d, 0x6a, 0xcf, 0x92, 0x00, 0xff, 0x01, 0xaf, 0xcf, 0x2d, 0x70,
0x20, 0x5c, 0x61, 0x6f, 0x93, 0x0a, 0xa0, 0x97, 0xb3, 0xcf, 0x2d, 0x9d, 0xcf, 0x32, 0x31, 0x60,
0xcf, 0x0a, 0x79, 0x91, 0x6d, 0x5c, 0x83, 0x68, 0xcf, 0x92, 0x00, 0xff, 0x01, 0x5d, 0x6c, 0x6f,
0x21, 0x9a, 0xbf, 0x74, 0x93, 0x0a, 0xa0, 0x97, 0xb3, 0xcf, 0x2d, 0x9d, 0xcf, 0x32, 0x31, 0x66,
0xcf, 0x8e, 0x6f, 0x5c, 0x21, 0x0b, 0xb9, 0xa7, 0x73, 0x20, 0x60, 0x62, 0x84, 0x60, 0xcf, 0x74,
0x0a, 0x64, 0x73, 0x20, 0x66, 0x6a, 0x6a, 0xcf, 0x92, 0x0b, 0xb9, 0xa7, 0x73, 0x20, 0x6f, 0x60,
0x79, 0x73, 0x20, 0x63, 0x5c, 0x66, 0xcf, 0x60, 0xcf, 0x0a, 0x9c, 0x2d, 0x87, 0x20, 0x7d, 0x91,
0x6d, 0x5c, 0x83, 0x92, 0x00, 0xff, 0x01, 0x78, 0x60, 0x70, 0x74, 0x93, 0x0a, 0x6f, 0x70, 0x7d,
0x20, 0x66, 0x81, 0x6f, 0x5c, 0x80, 0x92, 0x00, 0xff, 0x01, 0x66, 0x6c, 0x84, 0x5c, 0x6d, 0xcf,
0x67, 0x60, 0xcf, 0x93, 0x0b, 0xa1, 0xcf, 0xc9, 0xcc, 0x9d, 0x6e, 0x5c, 0x5d, 0x20, 0x60, 0x6a,
0x60, 0xcf, 0x0a, 0xaf, 0xcf, 0x2d, 0x6d, 0xcf, 0x20, 0x5b, 0x5c, 0x6a, 0x5c, 0x6e, 0x2e, 0x2e,
0x2e, 0x00, 0x22, 0x61, 0x90, 0x60, 0x66, 0x90, 0x5d, 0x22, 0x60, 0xcf, 0x93, 0x0a, 0x78, 0x66,
0x5c, 0x88, 0x6a, 0xcf, 0x60, 0xcf, 0x92, 0x0b, 0xff, 0x01, 0x64, 0x64, 0x74, 0x20, 0x6b, 0x60,
0xcf, 0x5c, 0x79, 0x67, 0x92, 0x0a, 0x43, 0x73, 0x79, 0x6e, 0xcf, 0x62, 0xcf, 0x6b, 0x70, 0x93,
0x0a, 0x5c, 0x91, 0x6d, 0x62, 0x6a, 0xcf, 0x65, 0x5c, 0x92, 0x00, 0x22, 0x61, 0x90, 0x60, 0x66,
0x90, 0x5d, 0x22, 0x60, 0xcf, 0x93, 0x0a, 0x78, 0x66, 0x5c, 0x88, 0x6a, 0xcf, 0x60, 0xcf, 0x92,
0x0b, 0xff, 0x01, 0x69, 0x84, 0x6d, 0xcf, 0x74, 0x2e, 0x2e, 0x2e, 0x0a, 0x66, 0x90, 0x6b, 0x90,
0x5d, 0x70, 0x0a, 0x5b, 0x91, 0x6d, 0x62, 0x6a, 0xcf, 0x65, 0x5c, 0x92, 0x00, 0x22, 0x61, 0x90,
0x60, 0x66, 0x90, 0x5d, 0x22, 0x60, 0xcf, 0x93, 0x0a, 0x78, 0x66, 0x5c, 0x88, 0x6a, 0xcf, 0x60,
0xcf, 0x92, 0x0b, 0xff, 0x01, 0x64, 0x64, 0x74, 0x20, 0x6b, 0x60, 0xcf, 0x5c, 0x79, 0x67, 0x92,
0x0a, 0x42, 0x73, 0x79, 0x6e, 0xcf, 0x62, 0xcf, 0x6b, 0x70, 0x93, 0x0a, 0x5c, 0x91, 0x6d, 0x62,
0x6a, 0xcf, 0x65, 0x5c, 0x92, 0x00, 0xa1, 0xcf, 0xc9, 0xcc, 0x9d, 0x91, 0x6d, 0x20, 0xb9, 0xa7,
0x74, 0x93, 0x0a, 0x5c, 0x83, 0x60, 0x5c, 0x3f, 0x0b, 0xff, 0x01, 0xa1, 0xcf, 0xc9, 0xcc, 0x9d,
0x60, 0x3f, 0x0a, 0x64, 0x64, 0x70, 0x74, 0x20, 0x5c, 0x6f, 0x5c, 0x72, 0x92, 0x0b, 0xff, 0x00,
0x97, 0x96, 0xc3, 0x60, 0x81, 0x0a, 0x61, 0x5c, 0x6d, 0x20, 0x61, 0x6a, 0x88, 0x6a, 0xcf, 0x60,
0xcf, 0x92, 0x0b, 0xff, 0x01, 0x4f, 0x2e, 0x4b, 0x2e, 0x0a, 0xa1, 0xcf, 0xc9, 0xcc, 0x9d, 0x74,
0x20, 0x69, 0x6e, 0x6d, 0xcf, 0x0a, 0x79, 0x91, 0x6d, 0x5c, 0x83, 0x68, 0xcf, 0x92, 0x00, 0xff,
0x01, 0x66, 0xcf, 0x8e, 0x79, 0x6a, 0xcf, 0x92, 0x0a, 0x9b, 0xcf, 0x9c, 0x70, 0x20, 0x73, 0x79,
0x68, 0x83, 0x0a, 0x65, 0x63, 0x74, 0x72, 0x8c, 0x80, 0x92, 0x00, 0xff, 0x01, 0xaf, 0xd0, 0xa2,
0xb3, 0xd0, 0x2d, 0xa9, 0x87, 0x20, 0x6a, 0xcf, 0x66, 0x6d, 0x92, 0x00, 0x6c, 0x60, 0x5c, 0x73,
0x20, 0x7d, 0x73, 0x6a, 0xcf, 0x60, 0xcf, 0x92, 0x0b, 0xff, 0x01, 0x69, 0x5d, 0x6d, 0xcf, 0x67,
0x60, 0x21, 0x0a, 0x6d, 0xcf, 0x74, 0x93, 0x64, 0x64, 0x70, 0x5b, 0x83, 0x20, 0x64, 0x6c, 0xcf,
0x6c, 0x7a, 0x87, 0x0a, 0x96, 0xb1, 0xbd, 0x9b, 0x66, 0x6d, 0x88, 0x70, 0x0a, 0x7d, 0x91, 0x6d,
0x5c, 0x91, 0x6d, 0x20, 0x62, 0x6a, 0xcf, 0x65, 0x5c, 0x92, 0x0b, 0x61, 0x87, 0x6c, 0x63, 0x6d,
0x20, 0x62, 0x6a, 0xcf, 0x65, 0x5c, 0x72, 0x93, 0x0a, 0x64, 0x5d, 0x60, 0x6f, 0x7d, 0x73, 0x20,
0x6d, 0xcf, 0x67, 0x60, 0x81, 0x92, 0x00, 0xa5, 0x97, 0xb6, 0x9a, 0x2d, 0xaf, 0xcf, 0x2d, 0x6d,
0xcf, 0x67, 0x92, 0x00, 0x9b, 0x2d, 0xa9, 0xcf, 0x73, 0x0a, 0x65, 0x66, 0x64, 0x7a, 0x62, 0xcf,
0x6b, 0x60, 0xcf, 0x20, 0x5b, 0x83, 0x92, 0x00, 0xff, 0x01, 0x6a, 0x67, 0x60, 0x91, 0x6a, 0x93,
0x9f, 0xc3, 0xbc, 0xcc, 0xa9, 0xcf, 0x92, 0x0a, 0xb9, 0xa7, 0x81, 0x70, 0x20, 0x6c, 0x83, 0x66,
0x5b, 0x63, 0xcf, 0x81, 0x84, 0x83, 0x0a, 0x6e, 0x64, 0x85, 0x6a, 0xcf, 0x91, 0x6a, 0x68, 0xcf,
0x92, 0x0b, 0x5b, 0x91, 0x93, 0x69, 0x91, 0x60, 0x92, 0x9a, 0xbf, 0x73, 0x64, 0x6e, 0x74, 0x0a,
0x24, 0x78, 0xcf, 0x5e, 0x6d, 0x20, 0x5c, 0x6f, 0x5c, 0x88, 0x6a, 0xcf, 0x91, 0x6a, 0x6f, 0x92,
0x0b, 0x79, 0x89, 0x20, 0x67, 0x86, 0x84, 0x80, 0x92, 0x0a, 0x6d, 0x7a, 0x66, 0xcf, 0x60, 0x70,
0x20, 0x24, 0x86, 0x81, 0x68, 0x80, 0x5d, 0x92, 0x00, 0x97, 0x96, 0xc3, 0x93, 0x0a, 0x6b, 0x61,
0x8f, 0x5d, 0x70, 0x20, 0x60, 0x5e, 0x83, 0x70, 0x74, 0x93, 0x0a, 0x6e, 0xcf, 0x5d, 0x66, 0x6a,
0x81, 0x20, 0x5c, 0x5c, 0x88, 0x6a, 0xcf, 0x3f, 0x0b, 0xff, 0x01, 0x6b, 0x61, 0x8f, 0x5d, 0x5c,
0x61, 0x73, 0x20, 0xa6, 0x9e, 0xcc, 0xa9, 0x74, 0x0a, 0x74, 0xcf, 0x60, 0x20, 0x6a, 0x60, 0x5c,
0x60, 0x81, 0x6f, 0x92, 0x0b, 0x69, 0x5d, 0x6a, 0xcf, 0x6f, 0x2e, 0x2e, 0x2e, 0x0a, 0x78, 0x5d,
0x78, 0x5d, 0x74, 0x20, 0x6a, 0x6a, 0xcf, 0x75, 0x6e, 0x6c, 0x93, 0x0a, 0xa8, 0xcf, 0xa2, 0xa5,
0xc1, 0x2d, 0x70, 0x0a, 0x6b, 0x90, 0x5d, 0x68, 0x88, 0x66, 0x85, 0x80, 0x92, 0x0b, 0xff, 0x00,
0xa8, 0xcf, 0xa2, 0xa5, 0xc1, 0x2d, 0x3f, 0x0b, 0xff, 0x01, 0x69, 0x5d, 0x93, 0x0a, 0xa8, 0xbf,
0xb0, 0xcf, 0x73, 0x20, 0x9e, 0xcf, 0x2d, 0xb6, 0xa1, 0xcb, 0x2d, 0x6a, 0xcf, 0x92, 0x0a, 0x9e,
0xcf, 0x2d, 0xb6, 0x70, 0x20, 0x60, 0x6d, 0x74, 0xcf, 0x93, 0x0a, 0xa6, 0x9e, 0xcc, 0xa9, 0x60,
0xcf, 0x20, 0x6d, 0x70, 0x74, 0x5c, 0x83, 0x92, 0x0b, 0xff, 0x00, 0x86, 0x60, 0x91, 0x6a, 0x80,
0x92, 0x0a, 0x70, 0x68, 0x73, 0x20, 0xaf, 0xd0, 0xa2, 0xb3, 0xd0, 0x2d, 0xa9, 0x87, 0x0a, 0x6c,
0x62, 0x84, 0x83, 0x60, 0x5c, 0x3f, 0x0b, 0xff, 0x01, 0x7d, 0x6b, 0x85, 0x88, 0x65, 0x92, 0x0a,
0xaf, 0xcf, 0x2d, 0x70, 0x20, 0xa1, 0xcf, 0xc9, 0xcc, 0x9d, 0x6e, 0x5c, 0x5d, 0x0a, 0xb9, 0xa7,
0x60, 0xcf, 0x5c, 0x83, 0x92, 0x0a, 0x69, 0x5c, 0x6c, 0x70, 0x20, 0x61, 0x62, 0x6e, 0x5c, 0x5c,
0x92, 0x0b, 0x9a, 0xbf, 0x70, 0x20, 0x61, 0x5c, 0x6a, 0x6e, 0x20, 0x5c, 0x5e, 0x74, 0xcf, 0x5c,
0x5c, 0x92, 0x0a, 0x6e, 0x64, 0x85, 0x6d, 0xcf, 0x2e, 0x2e, 0x2e, 0x0b, 0x6a, 0x73, 0x79, 0x84,
0x6d, 0x5c, 0x6a, 0x0a, 0xb1, 0xc8, 0x2d, 0xa2, 0xb1, 0xc5, 0x2d, 0xbe, 0xa9, 0xcf, 0x87, 0x93,
0x0a, 0x9c, 0xb5, 0x73, 0x20, 0xb3, 0xd0, 0x9e, 0xcc, 0xa9, 0x70, 0x0a, 0x5c, 0x84, 0x6d, 0x20,
0x24, 0x5c, 0x6a, 0x60, 0x81, 0x6f, 0x92, 0x0b, 0xff, 0x00, 0x69, 0x5d, 0x60, 0x93, 0x5b, 0x82,
0x60, 0xcf, 0x6e, 0x5d, 0x92, 0x0a, 0x97, 0x96, 0xc3, 0x93, 0x79, 0x6a, 0x5b, 0x24, 0x5d, 0x2e,
0x2e, 0x2e, 0x0b, 0xff, 0x01, 0x60, 0xcf, 0x88, 0x74, 0xcf, 0x84, 0x80, 0x92, 0x0a, 0x6b, 0x61,
0x8f, 0x5d, 0x70, 0x20, 0x6c, 0x5c, 0x6a, 0x81, 0x0a, 0x84, 0x88, 0x81, 0x62, 0x20, 0x66, 0x6d,
0x62, 0x84, 0x92, 0x00, 0xff, 0x01, 0xab, 0xca, 0x2d, 0xc1, 0xa1, 0xc3, 0xa9, 0xc3, 0x77, 0x0a,
0x80, 0x5d, 0x64, 0x69, 0x20, 0x5c, 0x81, 0x91, 0x66, 0x8e, 0x5c, 0x79, 0x66, 0x6a, 0x92, 0x0b,
0x64, 0x73, 0x6b, 0x67, 0xcf, 0x87, 0x20, 0x6e, 0xcf, 0x5d, 0x69, 0xcf, 0x92, 0x0a, 0x5c, 0x61,
0x6a, 0x5c, 0x20, 0x74, 0xcf, 0x66, 0x90, 0x60, 0xcf, 0x93, 0x0a, 0x67, 0x62, 0xcf, 0x70, 0x20,
0x86, 0x60, 0x82, 0x79, 0x67, 0x80, 0x92, 0x0b, 0xff, 0x00, 0x5b, 0x82, 0x60, 0xcf, 0x6e, 0x5d,
0x92, 0x00, 0xff, 0x01, 0x61, 0x87, 0x6c, 0x63, 0x6d, 0x93, 0x0a, 0x5c, 0x91, 0x6d, 0x81, 0x91,
0x66, 0x8e, 0x5c, 0x92, 0x00, 0xff, 0x01, 0x74, 0x6a, 0x81, 0x62, 0x73, 0x6f, 0x81, 0x0a, 0x61,
0x90, 0x60, 0x60, 0xcf, 0x20, 0x75, 0x6c, 0x80, 0x5d, 0x6a, 0xcf, 0x92, 0x0b, 0x66, 0x90, 0x62,
0x61, 0xcf, 0x90, 0x5d, 0x20, 0x5b, 0x88, 0x6f, 0x5c, 0x66, 0xcf, 0x90, 0x73, 0x0a, 0x22, 0x61,
0x90, 0x60, 0x66, 0x90, 0x5d, 0x22, 0x74, 0x0a, 0x7d, 0x91, 0x6d, 0x5c, 0x79, 0x67, 0x60, 0x3f,
0x00, 0xff, 0x01, 0x74, 0x6f, 0x66, 0x6d, 0x5c, 0x83, 0x20, 0xb0, 0xb4, 0x74, 0x6f, 0x5c, 0x80,
0x92, 0x00, 0x7e, 0x89, 0x93, 0x24, 0x74, 0x80, 0x5d, 0x92, 0x0b, 0xff, 0x01, 0x24, 0x74, 0x80,
0x5d, 0x92, 0x00, 0xff, 0x01, 0x69, 0x5c, 0x6c, 0x6f, 0x81, 0x93, 0x0a, 0x79, 0x5e, 0x70, 0x20,
0xaf, 0xcf, 0x2d, 0x6d, 0xcf, 0x0a, 0x7a, 0x6a, 0x64, 0x6e, 0x60, 0xcf, 0x20, 0x5b, 0x83, 0x80,
0x92, 0x00, 0x5c, 0x5c, 0x6d, 0x88, 0x61, 0x6d, 0xcf, 0x67, 0x72, 0x92, 0x0b, 0xff, 0x01, 0x79,
0x91, 0x6a, 0x62, 0x6a, 0xcf, 0x93, 0x74, 0x84, 0x74, 0xcf, 0x84, 0x67, 0x83, 0x80, 0x92, 0x00,
0xff, 0x01, 0x69, 0x5c, 0x6c, 0x6f, 0x81, 0x20, 0x66, 0x91, 0x6d, 0x83, 0x68, 0xcf, 0x93, 0x0a,
0x80, 0x62, 0x7a, 0x83, 0x20, 0xb9, 0xa7, 0x6a, 0xcf, 0x92, 0x00, 0x00, 0x00, 0x22, 0x61, 0x90,
0x60, 0x66, 0x90, 0x5d, 0x22, 0x60, 0xcf, 0x93, 0x0a, 0x78, 0x66, 0x5c, 0x88, 0x6a, 0xcf, 0x60,
0xcf, 0x92, 0x0b, 0xff, 0x01, 0x5c, 0x5c, 0x6d, 0xcf, 0x67, 0x80, 0x92, 0x0a, 0x49, 0x44, 0x9b,
0x2d, 0xa9, 0xcf, 0x87, 0x93, 0x0a, 0x7a, 0x68, 0x6d, 0x20, 0x62, 0x6a, 0xcf, 0x65, 0x5c, 0x92,
0x00, 0xff, 0x01, 0x6a, 0x2e, 0x2e, 0x6a, 0x67, 0x63, 0x6d, 0x62, 0x84, 0x2e, 0x2e, 0x2e, 0x00,
0xff, 0x01, 0x24, 0x86, 0x60, 0x5c, 0x73, 0x20, 0x6a, 0x67, 0x63, 0x6d, 0x62, 0x84, 0x88, 0x60,
0x92, 0x0a, 0x86, 0x66, 0x74, 0x93, 0x0a, 0xb5, 0xca, 0x2d, 0xa5, 0xc3, 0xa9, 0x70, 0x20, 0x7e,
0x81, 0x84, 0x6d, 0x2e, 0x2e, 0x2e, 0x0b, 0x5b, 0x83, 0x63, 0x6f, 0x62, 0x20, 0x6f, 0x91, 0x6d,
0x93, 0x0a, 0x66, 0x79, 0x91, 0x6a, 0x88, 0x66, 0xcf, 0x8e, 0x92, 0x0b, 0x67, 0x62, 0xcf, 0x70,
0x20, 0x5c, 0x66, 0x8e, 0x73, 0x20, 0x6d, 0x5b, 0x6d, 0x60, 0xcf, 0x93, 0x0a, 0x75, 0x6c, 0x80,
0x5d, 0x20, 0x6f, 0x88, 0x66, 0xcf, 0x8e, 0x60, 0xcf, 0x93, 0x0a, 0x6e, 0xcf, 0x5d, 0x60, 0x20,
0x86, 0x66, 0x73, 0xa8, 0xbf, 0xb3, 0xd0, 0x2d, 0xa5, 0x2d, 0x87, 0x0a, 0x65, 0x60, 0xcf, 0x66,
0x6d, 0x74, 0x20, 0x62, 0x84, 0x88, 0x60, 0x72, 0x92, 0x00, 0xff, 0x01, 0x5b, 0x82, 0x60, 0xcf,
0x6e, 0x5d, 0x92, 0x0a, 0x5b, 0x88, 0x6a, 0x74, 0x20, 0x5c, 0x73, 0x6b, 0x73, 0x0a, 0x24, 0x88,
0x66, 0xcf, 0x88, 0x20, 0x66, 0xcf, 0x8e, 0x80, 0x92, 0x00, 0xff, 0x01, 0x64, 0x73, 0x5b, 0x6f,
0x70, 0x20, 0x6e, 0x75, 0xcf, 0x64, 0x79, 0x6f, 0x63, 0x84, 0x74, 0xcf, 0x0a, 0xab, 0xca, 0x2d,
0xc1, 0xa1, 0xc3, 0xa9, 0xc3, 0x70, 0x74, 0x0a, 0x5c, 0x63, 0x88, 0x73, 0x66, 0xcf, 0x8e, 0x92,
0x0b, 0x79, 0x89, 0x93, 0x86, 0x66, 0x6f, 0x81, 0x0a, 0x96, 0xc3, 0xa6, 0x47, 0xb2, 0xcf, 0xbe,
0xa9, 0x87, 0x0a, 0x6c, 0x60, 0x5d, 0x60, 0xcf, 0x73, 0x92, 0x0b, 0xff, 0x00, 0x69, 0x84, 0x74,
0x20, 0x6e, 0xcf, 0x64, 0x70, 0x5b, 0x83, 0x88, 0x6a, 0xcf, 0x5c, 0x3f, 0x0b, 0xff, 0x01, 0x5c,
0x79, 0x93, 0x86, 0x66, 0x60, 0xcf, 0x20, 0x7d, 0x91, 0x6e, 0x83, 0x92, 0x0a, 0x31, 0x6c, 0x20,
0x35, 0x30, 0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x6d, 0xcf, 0x0a, 0x6e, 0xcf, 0x5d, 0x66,
0xcf, 0x8e, 0x92, 0x00, 0xff, 0x01, 0x86, 0x60, 0x5c, 0x73, 0x20, 0x61, 0x87, 0x6c, 0x63, 0x6d,
0x6f, 0x21, 0x00, 0x66, 0xcf, 0x8f, 0x5d, 0x6d, 0xcf, 0x88, 0x67, 0xcf, 0x7a, 0x73, 0x0a, 0x9b,
0x2d, 0xa9, 0xbd, 0xcc, 0xa1, 0xcf, 0x9c, 0x2d, 0x60, 0xcf, 0x0a, 0x75, 0x6c, 0x80, 0x5d, 0x6d,
0xcf, 0x67, 0x92, 0x00, 0x22, 0x61, 0x90, 0x60, 0x66, 0x90, 0x5d, 0x22, 0x60, 0xcf, 0x93, 0x0a,
0x78, 0x66, 0x5c, 0x88, 0x6a, 0xcf, 0x60, 0xcf, 0x92, 0x0b, 0xff, 0x01, 0x5d, 0x5e, 0x77, 0x20,
0x5c, 0x91, 0x6d, 0x62, 0x6a, 0xcf, 0x65, 0x5c, 0x92, 0x00, 0x6f, 0x70, 0x7d, 0x73, 0x60, 0x73,
0x20, 0x64, 0x5e, 0x60, 0xcf, 0x93, 0x0a, 0x61, 0x7a, 0x73, 0x20, 0x64, 0x64, 0x85, 0x70, 0x0a,
0x60, 0x6a, 0x82, 0x60, 0x63, 0x6d, 0x62, 0x83, 0x92, 0x0b, 0xff, 0x01, 0x86, 0x6a, 0x66, 0x87,
0x20, 0x66, 0x88, 0x66, 0xcf, 0x6d, 0x93, 0x64, 0x64, 0x70, 0x0a, 0x96, 0xa9, 0xb5, 0xcc, 0x9d,
0xa6, 0xc9, 0x2d, 0xa1, 0xcf, 0x87, 0x0a, 0x24, 0x62, 0x73, 0x6a, 0xcf, 0xcd, 0xcd, 0xcd, 0x0b,
0x69, 0x66, 0x6d, 0x93, 0x69, 0x84, 0x60, 0xcf, 0x0a, 0x86, 0x62, 0x68, 0x5c, 0x73, 0x20, 0x60,
0x62, 0x70, 0x20, 0x24, 0x6b, 0x6a, 0x81, 0x93, 0x0a, 0x67, 0x62, 0xcf, 0x20, 0x70, 0x63, 0xcf,
0x6d, 0x62, 0x84, 0x21, 0x21, 0x00, 0xff, 0x01, 0x61, 0x7a, 0x60, 0xcf, 0x93, 0x6c, 0x84, 0x6d,
0x5c, 0x91, 0x6d, 0x0a, 0x62, 0x84, 0x83, 0x73, 0x60, 0x92, 0x0b, 0xbd, 0xa0, 0x2d, 0xa6, 0xa3,
0xc3, 0xa5, 0x2d, 0x79, 0x6d, 0xcf, 0x93, 0x0a, 0x6a, 0x73, 0x7b, 0x69, 0xcf, 0x92, 0x00, 0xff,
0x01, 0x5b, 0x82, 0x60, 0xcf, 0x6e, 0x5d, 0x92, 0x6a, 0x67, 0x60, 0x91, 0x6a, 0x80, 0x92, 0x0b,
0x76, 0xcf, 0x66, 0xcf, 0x70, 0x20, 0x6a, 0x6e, 0xcf, 0x82, 0x6c, 0x63, 0x6a, 0x92, 0x0a, 0x64,
0x64, 0x74, 0x20, 0x7d, 0x5d, 0x93, 0x5b, 0x88, 0x68, 0xcf, 0x88, 0x6a, 0xcf, 0x92, 0x00, 0xff,
0x01, 0x64, 0x6c, 0xcf, 0x6c, 0x7a, 0x87, 0x93, 0x0a, 0x7d, 0x91, 0x6d, 0x61, 0x6d, 0x20, 0x62,
0x84, 0x6a, 0x73, 0x60, 0x3f, 0x00, 0x6b, 0x61, 0x8f, 0x5d, 0x79, 0x6d, 0xcf, 0x73, 0x0a, 0xa6,
0x9e, 0xcc, 0xa9, 0x74, 0x20, 0x5c, 0x62, 0x81, 0x6a, 0xcf, 0x5c, 0x3f, 0x0b, 0xff, 0x01, 0x35,
0x30, 0x30, 0x30, 0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x6d, 0xcf, 0x67, 0x92, 0x00, 0xff,
0x01, 0x24, 0x6a, 0x60, 0xcf, 0x5c, 0x65, 0x79, 0x20, 0x6a, 0xcf, 0x6f, 0x92, 0x0b, 0x31, 0x35,
0x30, 0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x87, 0x0a, 0x5c, 0x6a, 0x6a, 0xcf, 0x64, 0x5d,
0x60, 0x92, 0x0b, 0x61, 0xcf, 0x69, 0xcf, 0x5d, 0xaf, 0xd0, 0xa2, 0xb3, 0xd0, 0x2d, 0xa9, 0x74,
0x0a, 0x61, 0x7a, 0x73, 0x20, 0x7d, 0x73, 0x6a, 0xcf, 0x92, 0x00
};
const char *LocaleData::_textsTableFR[] = {
"CONTINUER OU ABANDONNER ?",
"TEMPS",
@ -2219,6 +2386,326 @@ const char *LocaleData::_textsTableIT[] = {
"SLOT"
};
const uint8_t LocaleData::_level1TbnJP[] = {
0x2e, 0x00, 0x2f, 0x00, 0x35, 0x00, 0x3d, 0x00, 0x48, 0x00, 0x52, 0x00, 0x56, 0x00, 0x5e, 0x00,
0x64, 0x00, 0x72, 0x00, 0x7a, 0x00, 0x7f, 0x00, 0x85, 0x00, 0x8f, 0x00, 0x98, 0x00, 0xa1, 0x00,
0xab, 0x00, 0xb5, 0x00, 0xbd, 0x00, 0xc4, 0x00, 0xce, 0x00, 0xd4, 0x00, 0xdd, 0x00, 0x00, 0xb0,
0xa2, 0xa9, 0xae, 0xbf, 0x00, 0xb3, 0xc0, 0x9c, 0xca, 0x2d, 0xb1, 0xcf, 0x00, 0x9b, 0x2d, 0xa9,
0xbd, 0xcc, 0xa1, 0xcf, 0xc0, 0xcc, 0x9d, 0x00, 0x9b, 0x2d, 0xa9, 0xbd, 0xcc, 0xa1, 0xcf, 0x9c,
0x2d, 0x00, 0x64, 0x5c, 0x66, 0x00, 0xa8, 0xbf, 0xb3, 0xd0, 0x2d, 0xa5, 0x2d, 0x00, 0x9c, 0x2d,
0xc0, 0xcc, 0x9d, 0x00, 0x99, 0xad, 0xbe, 0x9c, 0xcf, 0x2d, 0xa6, 0xc9, 0x2d, 0xa1, 0xcf, 0xc9,
0x2d, 0x00, 0x9d, 0xbd, 0xa2, 0xa5, 0xbe, 0x9c, 0x2d, 0x00, 0xa2, 0x97, 0xcc, 0xa6, 0x00, 0xa1,
0x2d, 0xbe, 0xa9, 0xcf, 0x00, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x9e, 0x2d, 0xa2, 0x00, 0x31,
0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x00, 0x35, 0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9,
0x00, 0x35, 0x30, 0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x00, 0x31, 0x30, 0x30, 0x9d, 0xbf,
0xa1, 0xcf, 0xcc, 0xa9, 0x00, 0x9b, 0x2d, 0xa9, 0xcf, 0xc0, 0xcc, 0x9d, 0x00, 0x49, 0x44, 0x9b,
0x2d, 0xa9, 0xcf, 0x00, 0xa3, 0x2d, 0xb1, 0xcf, 0xa2, 0xa5, 0xc3, 0xa9, 0xcf, 0x00, 0x85, 0x5d,
0x66, 0xcf, 0x88, 0x00, 0x96, 0xc3, 0xa6, 0x47, 0xb2, 0xcf, 0xbe, 0xa9, 0x00, 0x63, 0x60, 0xcf,
0x70, 0x88, 0x00
};
const uint8_t LocaleData::_level2TbnJP[] = {
0x4c, 0x00, 0x4d, 0x00, 0x53, 0x00, 0x5a, 0x00, 0x60, 0x00, 0x6e, 0x00, 0x72, 0x00, 0x78, 0x00,
0x7d, 0x00, 0x85, 0x00, 0x8a, 0x00, 0x94, 0x00, 0x9f, 0x00, 0xa9, 0x00, 0xb2, 0x00, 0xbf, 0x00,
0xc7, 0x00, 0xcf, 0x00, 0xd7, 0x00, 0xdd, 0x00, 0xe3, 0x00, 0xe9, 0x00, 0xf1, 0x00, 0xf7, 0x00,
0xfb, 0x00, 0x05, 0x01, 0x0a, 0x01, 0x10, 0x01, 0x18, 0x01, 0x1d, 0x01, 0x22, 0x01, 0x26, 0x01,
0x30, 0x01, 0x38, 0x01, 0x41, 0x01, 0x4b, 0x01, 0x56, 0x01, 0x5a, 0x01, 0x00, 0xb0, 0xa2, 0xa9,
0xae, 0xbf, 0x00, 0x49, 0x44, 0x9b, 0x2d, 0xa9, 0xcf, 0x00, 0xa1, 0x2d, 0xbe, 0xa9, 0xcf, 0x00,
0x99, 0xad, 0xbe, 0x9c, 0xcf, 0x2d, 0xa6, 0xc9, 0x2d, 0xa1, 0xcf, 0xc9, 0x2d, 0x00, 0x97, 0x96,
0xc3, 0x00, 0xb0, 0xca, 0x2d, 0xa2, 0xcf, 0x00, 0xa2, 0x97, 0xcc, 0xa6, 0x00, 0xaf, 0xd0, 0xa2,
0xb3, 0xd0, 0x2d, 0xa9, 0x00, 0xb3, 0xcf, 0x2d, 0x97, 0x00, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9,
0x9e, 0x2d, 0xa2, 0x00, 0x66, 0xcf, 0x76, 0xcf, 0x88, 0x73, 0x66, 0x8e, 0x66, 0x88, 0x00, 0x97,
0xc3, 0xa2, 0xa5, 0xc3, 0xa9, 0xb1, 0xc8, 0xa9, 0x00, 0x6c, 0x5d, 0x66, 0x88, 0xb8, 0xab, 0xa5,
0x2d, 0x00, 0x85, 0x5d, 0x6e, 0xcf, 0x5d, 0x20, 0x61, 0x90, 0x60, 0x66, 0x90, 0x5d, 0x00, 0x79,
0x6e, 0xcf, 0x62, 0xcf, 0x6b, 0x41, 0x00, 0x79, 0x6e, 0xcf, 0x62, 0xcf, 0x6b, 0x42, 0x00, 0x79,
0x6e, 0xcf, 0x62, 0xcf, 0x6b, 0x43, 0x00, 0x66, 0x90, 0x6b, 0x90, 0x5d, 0x00, 0xaf, 0xcf, 0x2d,
0xa8, 0xc3, 0x00, 0xa1, 0xcf, 0xc9, 0xcc, 0x9d, 0x00, 0x9d, 0xbd, 0xa2, 0xa5, 0xbe, 0x9c, 0x2d,
0x00, 0x9c, 0x2d, 0xc0, 0xcc, 0x9d, 0x00, 0x64, 0x5c, 0x66, 0x00, 0x31, 0x30, 0x30, 0x9d, 0xbf,
0xa1, 0xcf, 0xcc, 0xa9, 0x00, 0x5d, 0x63, 0x6c, 0x63, 0x00, 0x64, 0x6c, 0xcf, 0x6c, 0x7a, 0x00,
0xb8, 0xc3, 0xa5, 0x2d, 0xa1, 0xcf, 0xca, 0x00, 0x63, 0x5c, 0x66, 0xcf, 0x00, 0x9e, 0xb5, 0x9b,
0xbe, 0x00, 0x56, 0x49, 0x50, 0x00, 0xa3, 0x2d, 0xb1, 0xcf, 0xa2, 0xa5, 0xc3, 0xa9, 0xcf, 0x00,
0x73, 0x64, 0x82, 0x66, 0xcf, 0x60, 0x88, 0x00, 0x68, 0x5c, 0x61, 0xcf, 0x90, 0x69, 0x5d, 0x6b,
0x00, 0x68, 0x5c, 0x61, 0xcf, 0x90, 0x61, 0x74, 0xcf, 0x88, 0x00, 0xb1, 0xc8, 0x2d, 0xa2, 0xb1,
0xc5, 0x2d, 0xbe, 0xa9, 0xcf, 0x00, 0xa1, 0x2d, 0xa9, 0x00, 0xb4, 0xcc, 0xb1, 0xd0, 0x00
};
const uint8_t LocaleData::_level3TbnJP[] = {
0x10, 0x00, 0x11, 0x00, 0x17, 0x00, 0x1d, 0x00, 0x27, 0x00, 0x32, 0x00, 0x37, 0x00, 0x41, 0x00,
0x00, 0xb0, 0xa2, 0xa9, 0xae, 0xbf, 0x00, 0xa1, 0x2d, 0xbe, 0xa9, 0xcf, 0x00, 0x9d, 0xbf, 0xa1,
0xcf, 0xcc, 0xa9, 0x9e, 0x2d, 0xa2, 0x00, 0xb1, 0xc8, 0x2d, 0xa2, 0xb1, 0xc5, 0x2d, 0xbe, 0xa9,
0xcf, 0x00, 0xa2, 0x97, 0xcc, 0xa6, 0x00, 0xa3, 0x2d, 0xb1, 0xcf, 0xa2, 0xa5, 0xc3, 0xa9, 0xcf,
0x00, 0x99, 0xad, 0xbe, 0x9c, 0xcf, 0x2d, 0xa6, 0xc9, 0x2d, 0xa1, 0xcf, 0xc9, 0x2d, 0x00
};
const uint8_t LocaleData::_level41TbnJP[] = {
0x1a, 0x00, 0x1b, 0x00, 0x21, 0x00, 0x27, 0x00, 0x31, 0x00, 0x3c, 0x00, 0x44, 0x00, 0x49, 0x00,
0x4f, 0x00, 0x57, 0x00, 0x5c, 0x00, 0x66, 0x00, 0x74, 0x00, 0x00, 0xb0, 0xa2, 0xa9, 0xae, 0xbf,
0x00, 0xa1, 0x2d, 0xbe, 0xa9, 0xcf, 0x00, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x9e, 0x2d, 0xa2,
0x00, 0xb1, 0xc8, 0x2d, 0xa2, 0xb1, 0xc5, 0x2d, 0xbe, 0xa9, 0xcf, 0x00, 0xaf, 0xd0, 0xa2, 0xb3,
0xd0, 0x2d, 0xa9, 0x00, 0xb3, 0xcf, 0x2d, 0x97, 0x00, 0x9c, 0x2d, 0xc0, 0xcc, 0x9d, 0x00, 0x9d,
0xbd, 0xa2, 0xa5, 0xbe, 0x9c, 0x2d, 0x00, 0xa2, 0x97, 0xcc, 0xa6, 0x00, 0xa3, 0x2d, 0xb1, 0xcf,
0xa2, 0xa5, 0xc3, 0xa9, 0xcf, 0x00, 0x99, 0xad, 0xbe, 0x9c, 0xcf, 0x2d, 0xa6, 0xc9, 0x2d, 0xa1,
0xcf, 0xc9, 0x2d, 0x00, 0xa5, 0x9d, 0xa1, 0x2d, 0xa2, 0xa8, 0x2d, 0xa1, 0xcb, 0xc3, 0x00
};
const uint8_t LocaleData::_level42TbnJP[] = {
0x18, 0x00, 0x19, 0x00, 0x1f, 0x00, 0x25, 0x00, 0x2f, 0x00, 0x3a, 0x00, 0x42, 0x00, 0x48, 0x00,
0x4d, 0x00, 0x55, 0x00, 0x5d, 0x00, 0x67, 0x00, 0x00, 0xb0, 0xa2, 0xa9, 0xae, 0xbf, 0x00, 0xa1,
0x2d, 0xbe, 0xa9, 0xcf, 0x00, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x9e, 0x2d, 0xa2, 0x00, 0xb1,
0xc8, 0x2d, 0xa2, 0xb1, 0xc5, 0x2d, 0xbe, 0xa9, 0xcf, 0x00, 0x9d, 0xbd, 0xa2, 0xa5, 0xbe, 0x9c,
0x2d, 0x00, 0x9c, 0x2d, 0xc0, 0xcc, 0x9d, 0x00, 0xa2, 0x97, 0xcc, 0xa6, 0x00, 0xa8, 0xbf, 0xb3,
0xd0, 0x2d, 0xa5, 0x2d, 0x00, 0xa8, 0xbf, 0xa1, 0x2d, 0xaf, 0xcf, 0x2d, 0x00, 0xa3, 0x2d, 0xb1,
0xcf, 0xa2, 0xa5, 0xc3, 0xa9, 0xcf, 0x00, 0x99, 0xad, 0xbe, 0x9c, 0xcf, 0x2d, 0xa6, 0xc9, 0x2d,
0xa1, 0xcf, 0xc9, 0x2d, 0x00
};
const uint8_t LocaleData::_level51TbnJP[] = {
0x22, 0x00, 0x23, 0x00, 0x29, 0x00, 0x30, 0x00, 0x36, 0x00, 0x40, 0x00, 0x45, 0x00, 0x53, 0x00,
0x57, 0x00, 0x60, 0x00, 0x68, 0x00, 0x70, 0x00, 0x78, 0x00, 0x83, 0x00, 0x8d, 0x00, 0x93, 0x00,
0x9e, 0x00, 0x00, 0xb0, 0xa2, 0xa9, 0xae, 0xbf, 0x00, 0x49, 0x44, 0x9b, 0x2d, 0xa9, 0xcf, 0x00,
0xa1, 0x2d, 0xbe, 0xa9, 0xcf, 0x00, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x9e, 0x2d, 0xa2, 0x00,
0xa2, 0x97, 0xcc, 0xa6, 0x00, 0x99, 0xad, 0xbe, 0x9c, 0xcf, 0x2d, 0xa6, 0xc9, 0x2d, 0xa1, 0xcf,
0xc9, 0x2d, 0x00, 0x64, 0x5c, 0x66, 0x00, 0xb7, 0x9b, 0xab, 0x9b, 0xbe, 0xb4, 0x98, 0xa2, 0x00,
0x9d, 0xbd, 0xa2, 0xa5, 0xbe, 0x9c, 0x2d, 0x00, 0xa8, 0xbf, 0xb3, 0xd0, 0x2d, 0xa5, 0x2d, 0x00,
0xa8, 0xbf, 0xa1, 0x2d, 0xaf, 0xcf, 0x2d, 0x00, 0x96, 0xa9, 0xb5, 0xcc, 0x9d, 0xa6, 0xc9, 0x2d,
0xa1, 0xcf, 0x00, 0xa3, 0x2d, 0xb1, 0xcf, 0xa2, 0xa5, 0xc3, 0xa9, 0xcf, 0x00, 0x9c, 0x2d, 0xc0,
0xcc, 0x9d, 0x00, 0xa5, 0xcf, 0x97, 0x96, 0xbd, 0x2d, 0xba, 0xab, 0xcc, 0xa9, 0x00, 0xb1, 0xc8,
0x2d, 0xa2, 0xb1, 0xc5, 0x2d, 0xbe, 0xa9, 0xcf, 0x00
};
const uint8_t LocaleData::_level52TbnJP[] = {
0x22, 0x00, 0x23, 0x00, 0x29, 0x00, 0x30, 0x00, 0x36, 0x00, 0x40, 0x00, 0x4e, 0x00, 0x53, 0x00,
0x5a, 0x00, 0x60, 0x00, 0x68, 0x00, 0x71, 0x00, 0x79, 0x00, 0x81, 0x00, 0x8c, 0x00, 0x96, 0x00,
0xa1, 0x00, 0x00, 0xb0, 0xa2, 0xa9, 0xae, 0xbf, 0x00, 0x49, 0x44, 0x9b, 0x2d, 0xa9, 0xcf, 0x00,
0xa1, 0x2d, 0xbe, 0xa9, 0xcf, 0x00, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x9e, 0x2d, 0xa2, 0x00,
0x99, 0xad, 0xbe, 0x9c, 0xcf, 0x2d, 0xa6, 0xc9, 0x2d, 0xa1, 0xcf, 0xc9, 0x2d, 0x00, 0xa2, 0x97,
0xcc, 0xa6, 0x00, 0xb4, 0x98, 0xa2, 0xb3, 0xcf, 0xb6, 0x00, 0x9c, 0x2d, 0xc0, 0xcc, 0x9d, 0x00,
0x9d, 0xbd, 0xa2, 0xa5, 0xbe, 0x9c, 0x2d, 0x00, 0xb7, 0x9b, 0xab, 0x9b, 0xbe, 0xb4, 0x98, 0xa2,
0x00, 0xa8, 0xbf, 0xb3, 0xd0, 0x2d, 0xa5, 0x2d, 0x00, 0xa8, 0xbf, 0xa1, 0x2d, 0xaf, 0xcf, 0x2d,
0x00, 0x96, 0xa9, 0xb5, 0xcc, 0x9d, 0xa6, 0xc9, 0x2d, 0xa1, 0xcf, 0x00, 0xa3, 0x2d, 0xb1, 0xcf,
0xa2, 0xa5, 0xc3, 0xa9, 0xcf, 0x00, 0xb1, 0xc8, 0x2d, 0xa2, 0xb1, 0xc5, 0x2d, 0xbe, 0xa9, 0xcf,
0x00, 0xa5, 0xcf, 0x97, 0x96, 0xbd, 0x2d, 0xba, 0xab, 0xcc, 0xa9, 0x00
};
const uint8_t LocaleData::_cineBinJP[] = {
0x00, 0x00, 0x00, 0x23, 0x00, 0x54, 0x00, 0x8e, 0x00, 0xc0, 0x00, 0xcb, 0x00, 0xd3, 0x00, 0xdd,
0x00, 0xe4, 0x00, 0xe8, 0x00, 0xf1, 0x00, 0xfe, 0x01, 0x41, 0x01, 0x4b, 0x01, 0x54, 0x01, 0x63,
0x01, 0x95, 0x01, 0xae, 0x01, 0xb8, 0x01, 0xc2, 0x01, 0xcc, 0x02, 0x01, 0x02, 0x43, 0x02, 0x6e,
0x02, 0x79, 0x02, 0x83, 0x02, 0x95, 0x02, 0xb4, 0x02, 0xf1, 0x03, 0x48, 0x03, 0x75, 0x03, 0x80,
0x03, 0x89, 0x03, 0x96, 0x03, 0xe7, 0x04, 0x02, 0x04, 0x0c, 0x04, 0x1f, 0x04, 0x5c, 0x04, 0x9f,
0x04, 0xc8, 0x05, 0x03, 0x05, 0x41, 0x05, 0x5e, 0x05, 0x7d, 0x05, 0xa3, 0x05, 0xc1, 0x05, 0xde,
0x05, 0xf7, 0x06, 0x10, 0x06, 0x23, 0x06, 0x30, 0x06, 0x46, 0x06, 0x4b, 0x06, 0x51, 0x06, 0x5a,
0x06, 0x73, 0x06, 0x81, 0x06, 0xb9, 0x06, 0xca, 0x06, 0xec, 0x07, 0x06, 0x07, 0x34, 0x07, 0x4f,
0x07, 0x58, 0x07, 0x60, 0x07, 0x7c, 0x07, 0x8f, 0x07, 0xbf, 0x07, 0xf9, 0x08, 0x2a, 0x08, 0x34,
0x08, 0x8b, 0x08, 0x95, 0x08, 0xd0, 0x08, 0xda, 0x09, 0x33, 0x09, 0x3d, 0x09, 0x80, 0x09, 0x8a,
0x09, 0xe3, 0x09, 0xed, 0x0a, 0x33, 0x0a, 0x98, 0x0a, 0xa2, 0x0a, 0xe2, 0x0b, 0x08, 0x0b, 0x13,
0x0b, 0x5e, 0x0b, 0x8d, 0x0b, 0x9f, 0x0b, 0xa2, 0x0b, 0xa5, 0x0b, 0xa8, 0x0b, 0xab, 0x0b, 0xae,
0x0b, 0xb1, 0x0b, 0xb4, 0x0b, 0xb7, 0x0b, 0xba, 0x0b, 0xbd, 0x0b, 0xc0, 0x0b, 0xc3, 0x0b, 0xc6,
0x0b, 0xc9, 0x0b, 0xcc, 0x0b, 0xcf, 0x0b, 0xd2, 0x0b, 0xe4, 0x0c, 0x2f, 0x0c, 0x3c, 0x0c, 0x42,
0x0c, 0x46, 0x0c, 0x4a, 0x0c, 0x4e, 0x0c, 0x52, 0x0c, 0x56, 0x0c, 0x5d
};
const uint8_t LocaleData::_cineTxtJP[] = {
0x64, 0x84, 0x60, 0xcf, 0x93, 0x86, 0x6a, 0x66, 0x60, 0xcf, 0x20, 0x60, 0x6c, 0x6d, 0x20, 0x63,
0x5c, 0x63, 0x88, 0x66, 0x6a, 0x93, 0xd1, 0x7d, 0x73, 0x60, 0xcf, 0x6a, 0x82, 0x6d, 0xcf, 0x5b,
0x83, 0x92, 0x0a, 0x64, 0x73, 0x76, 0x72, 0x73, 0x20, 0xaa, 0xb0, 0xcf, 0x9e, 0xcf, 0x2d, 0xa1,
0xcb, 0xc3, 0xd1, 0xa1, 0xa2, 0xa8, 0xb6, 0x74, 0x93, 0x64, 0x73, 0x61, 0xcf, 0x88, 0x60, 0xcf,
0x73, 0x20, 0x6b, 0x67, 0xcf, 0x87, 0xd1, 0x61, 0x24, 0x62, 0x66, 0x6d, 0x20, 0x5c, 0x6f, 0x60,
0x91, 0x6a, 0x92, 0x0a, 0x86, 0x6a, 0x66, 0x60, 0xcf, 0x93, 0x6b, 0x61, 0x8f, 0x5d, 0x73, 0x20,
0x61, 0x6e, 0xcf, 0x5d, 0x70, 0xd1, 0x7d, 0x6e, 0xcf, 0x83, 0x64, 0x6e, 0x87, 0x20, 0x5c, 0x79,
0x60, 0x81, 0x20, 0x63, 0x5c, 0x65, 0x88, 0xd1, 0x67, 0x83, 0x73, 0x74, 0x20, 0x6e, 0x5d, 0x6d,
0x5c, 0x20, 0x76, 0x60, 0x73, 0x5d, 0x6f, 0xd1, 0x64, 0x6e, 0x6a, 0xcf, 0x92, 0x0a, 0x6a, 0x76,
0xcf, 0x88, 0x93, 0x64, 0x84, 0x60, 0x81, 0x65, 0x61, 0x7d, 0x20, 0x67, 0xcf, 0x91, 0x6e, 0x93,
0x6f, 0x60, 0xcf, 0x5c, 0x5b, 0x5c, 0x6a, 0xcf, 0xd1, 0x5d, 0x6b, 0x8f, 0x5d, 0x87, 0x20, 0x65,
0x67, 0x81, 0x5d, 0x64, 0x6e, 0x70, 0x20, 0x6f, 0x83, 0x73, 0x6a, 0xcf, 0x85, 0x5d, 0x92, 0x0a,
0xb1, 0xc4, 0x97, 0xbe, 0xaa, 0xc3, 0xaf, 0xcf, 0x2d, 0x3b, 0x0a, 0x20, 0x5c, 0x81, 0x5c, 0x70,
0x88, 0x3b, 0x0a, 0x66, 0x64, 0xcf, 0x6e, 0x6f, 0x5c, 0x80, 0x5d, 0x3b, 0x0a, 0x78, 0x5d, 0x66,
0x8f, 0x5d, 0x3b, 0x0a, 0xb7, 0xb8, 0x3b, 0x0a, 0x34, 0x33, 0x32, 0x34, 0x58, 0x42, 0x33, 0x35,
0x0a, 0xa5, 0x97, 0xa5, 0xc3, 0xa2, 0xb2, 0xd0, 0x2d, 0xa2, 0xbc, 0x97, 0xc3, 0x0a, 0x64, 0x6c,
0xcf, 0x6c, 0x7a, 0x87, 0x20, 0xa5, 0x97, 0xa5, 0xc3, 0xa9, 0xbc, 0xb2, 0xcf, 0xbe, 0x20, 0x96,
0xa1, 0xcf, 0x96, 0x66, 0x6d, 0x88, 0x6d, 0xcf, 0xd1, 0x5d, 0x63, 0x6e, 0x82, 0x93, 0x69, 0x84,
0x87, 0x20, 0xa5, 0x97, 0xa5, 0xc3, 0xa9, 0xbc, 0xb2, 0xcf, 0xbe, 0x20, 0x96, 0xb1, 0xbd, 0x9b,
0x66, 0x6d, 0x88, 0x79, 0x6d, 0xcf, 0xd1, 0x74, 0x64, 0x88, 0x6d, 0xcf, 0x78, 0x66, 0x5c, 0x92,
0x0a, 0x31, 0x30, 0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x0a, 0x34, 0x33, 0x32, 0x34, 0x58,
0x42, 0x34, 0x30, 0x0a, 0xaf, 0xcf, 0x97, 0xa5, 0xbe, 0x9f, 0x2d, 0xb3, 0xd0, 0xbf, 0x2d, 0xa1,
0xcb, 0xc3, 0x0a, 0x56, 0x49, 0x50, 0x87, 0x20, 0xbd, 0xa0, 0x2d, 0xa6, 0xa3, 0xc3, 0xa5, 0x2d,
0x79, 0x6d, 0xcf, 0x20, 0x68, 0x88, 0x6e, 0xcf, 0x5d, 0x66, 0x6d, 0x20, 0x78, 0x66, 0x5c, 0x92,
0xd1, 0x56, 0x49, 0x50, 0x74, 0x20, 0x41, 0x52, 0x45, 0x41, 0x32, 0x6d, 0xcf, 0x20, 0x79, 0x91,
0x6d, 0x5c, 0x83, 0x92, 0x0a, 0x41, 0x52, 0x45, 0x41, 0x32, 0x74, 0x20, 0x61, 0x63, 0x88, 0x6a,
0xcf, 0x93, 0x76, 0xcf, 0x61, 0x87, 0x7d, 0x91, 0x6d, 0x5c, 0x63, 0x80, 0x92, 0x0a, 0x33, 0x30,
0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x0a, 0x34, 0x33, 0x33, 0x34, 0x4b, 0x52, 0x34, 0x32,
0xd1, 0x0a, 0xa5, 0x97, 0xa5, 0xc3, 0xa8, 0xbf, 0xb0, 0xcf, 0xd1, 0x0a, 0xa0, 0x97, 0xb3, 0xcf,
0x2d, 0x9d, 0xcf, 0x32, 0x31, 0x73, 0x20, 0x76, 0x62, 0x68, 0x5c, 0x61, 0x60, 0xcf, 0x93, 0x70,
0x63, 0xcf, 0x6a, 0x92, 0xd1, 0x24, 0x69, 0x81, 0x62, 0x93, 0x60, 0xcf, 0x5c, 0x76, 0xcf, 0x70,
0x20, 0x6f, 0x60, 0x79, 0x60, 0xcf, 0x20, 0x5c, 0x83, 0x74, 0x67, 0xcf, 0x6a, 0xcf, 0x92, 0xd1,
0x0a, 0x61, 0x7a, 0x73, 0x20, 0x70, 0x88, 0x7b, 0x74, 0x93, 0xa0, 0x97, 0xb3, 0xcf, 0x2d, 0x9d,
0xcf, 0x32, 0x31, 0x73, 0x20, 0xaf, 0xcf, 0x97, 0x9a, 0xd1, 0x9f, 0xc3, 0xb0, 0xd0, 0xca, 0x2d,
0xa5, 0x60, 0xcf, 0x20, 0x98, 0xc5, 0xbe, 0xa2, 0x70, 0x20, 0x66, 0x74, 0x5c, 0x65, 0x84, 0x83,
0x20, 0x79, 0x5e, 0x70, 0x93, 0xd1, 0x79, 0x91, 0x65, 0x6c, 0x67, 0x83, 0x20, 0x64, 0x6e, 0x6a,
0xcf, 0x92, 0x0a, 0x64, 0x84, 0x60, 0xcf, 0x20, 0xa0, 0x97, 0xb3, 0xcf, 0x2d, 0x9d, 0xcf, 0x32,
0x31, 0x73, 0x20, 0x66, 0x8e, 0x66, 0x88, 0x6a, 0xcf, 0x92, 0xd1, 0x61, 0x87, 0x6c, 0x63, 0x85,
0x93, 0x6d, 0x64, 0xcf, 0x86, 0x5c, 0x20, 0x5b, 0x5c, 0x6d, 0x6a, 0xcf, 0x92, 0x0a, 0x34, 0x30,
0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0xd1, 0x0a, 0x34, 0x33, 0x33, 0x54, 0x58, 0x31, 0x30,
0x32, 0xd1, 0x0a, 0xa5, 0x97, 0xa5, 0xc3, 0x20, 0x66, 0x7d, 0x88, 0x20, 0x61, 0x90, 0x5d, 0x61,
0xcf, 0x60, 0x5c, 0xd1, 0x0a, 0xab, 0xca, 0x2d, 0xc1, 0xa1, 0xc3, 0xa9, 0xc3, 0x73, 0x20, 0x74,
0x6c, 0x6d, 0xcf, 0x88, 0x61, 0x60, 0xcf, 0x20, 0x64, 0x66, 0x90, 0x5d, 0x20, 0x66, 0x6d, 0x5c,
0x83, 0x92, 0xd1, 0x0a, 0x60, 0x88, 0x82, 0x70, 0x88, 0x74, 0x93, 0xb7, 0x97, 0xc3, 0x9f, 0xc3,
0xb0, 0xd0, 0xca, 0x2d, 0xa5, 0x2d, 0x73, 0x6f, 0x60, 0x73, 0x20, 0x33, 0x79, 0x5c, 0x73, 0xd1,
0x68, 0x5c, 0x61, 0xcf, 0x90, 0x61, 0x74, 0xcf, 0x88, 0x60, 0xcf, 0x20, 0x6e, 0x82, 0x60, 0x5e,
0x81, 0x84, 0x6d, 0x5c, 0x6a, 0x20, 0x64, 0x6e, 0x70, 0xd1, 0x61, 0x6c, 0xcf, 0x5c, 0x6a, 0x92,
0x0a, 0x61, 0x7a, 0x73, 0x70, 0x88, 0x7b, 0x74, 0x93, 0x69, 0x73, 0xb3, 0xcf, 0x2d, 0xa9, 0xcf,
0x87, 0x20, 0x6e, 0x82, 0x60, 0x5e, 0x83, 0x64, 0x6e, 0x6a, 0xcf, 0x92, 0xd1, 0x66, 0x60, 0x66,
0x93, 0x68, 0x5c, 0x63, 0xcf, 0x88, 0x66, 0xcf, 0x60, 0x88, 0x74, 0x20, 0x31, 0x76, 0xd0, 0x88,
0x33, 0x30, 0x75, 0xcf, 0x90, 0x5d, 0x6a, 0xcf, 0x92, 0xd1, 0x69, 0x84, 0x87, 0x20, 0x67, 0x61,
0xcf, 0x83, 0x6e, 0x93, 0x74, 0x6c, 0x6d, 0xcf, 0x88, 0x61, 0x74, 0x20, 0x66, 0xcf, 0x74, 0xcf,
0x62, 0x66, 0x6d, 0x66, 0x79, 0x5d, 0x92, 0x0a, 0x66, 0x6a, 0x73, 0x60, 0x5c, 0x73, 0x20, 0xa8,
0xbf, 0xb3, 0xd0, 0x2d, 0xa9, 0x60, 0xcf, 0x93, 0x7d, 0x88, 0x6a, 0xcf, 0x5c, 0x73, 0x20, 0x74,
0xcf, 0x66, 0x90, 0x77, 0xd1, 0x6c, 0x84, 0x6d, 0x5c, 0x91, 0x6d, 0x20, 0x62, 0x84, 0x83, 0x6a,
0xcf, 0x85, 0x5d, 0x92, 0x0a, 0x35, 0x30, 0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0xd1, 0x0a,
0x34, 0x33, 0x34, 0x54, 0x58, 0x31, 0x30, 0x33, 0x0a, 0xab, 0xca, 0x2d, 0xc1, 0xa1, 0xc3, 0xa9,
0xc3, 0xa1, 0xa8, 0xc5, 0x2d, 0x0a, 0x64, 0x88, 0x7e, 0x93, 0x41, 0x52, 0x45, 0x41, 0x33, 0x60,
0xcf, 0x20, 0xb5, 0xca, 0x2d, 0xa5, 0xc3, 0xa9, 0x70, 0x20, 0x80, 0x91, 0x6d, 0xd1, 0x66, 0x88,
0x82, 0x8e, 0x62, 0x65, 0x84, 0x6a, 0x92, 0x86, 0x84, 0x86, 0x84, 0x74, 0x93, 0xb5, 0xca, 0x2d,
0xa5, 0xc3, 0xa9, 0x60, 0xcf, 0x20, 0x75, 0x6e, 0x75, 0xcf, 0x6e, 0x70, 0xd1, 0x64, 0x5d, 0x63,
0xcf, 0x61, 0x20, 0x67, 0x83, 0x73, 0x6d, 0xcf, 0x74, 0x20, 0x6f, 0x5c, 0x60, 0x6e, 0x20, 0x24,
0x69, 0x84, 0x6d, 0x5c, 0x83, 0x92, 0x0a, 0x61, 0x7a, 0x73, 0x70, 0x88, 0x7b, 0x74, 0x93, 0xb5,
0xca, 0x2d, 0xa5, 0xc3, 0xa9, 0x87, 0x20, 0x66, 0x79, 0x6c, 0x67, 0x83, 0x64, 0x6e, 0x6a, 0xcf,
0x92, 0x0a, 0x36, 0x30, 0x30, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x0a, 0x9a, 0xbf, 0x60, 0xcf,
0x93, 0x5d, 0x6c, 0x91, 0x6d, 0x83, 0x66, 0xcf, 0x8e, 0x6f, 0x5c, 0x60, 0x21, 0x3f, 0x0a, 0x7e,
0x5b, 0x93, 0x9f, 0xc3, 0xbc, 0xcc, 0xa9, 0xcf, 0x92, 0x61, 0x24, 0x62, 0x87, 0x20, 0x6f, 0x62,
0x66, 0x6a, 0x20, 0x61, 0x7a, 0x74, 0x93, 0x6e, 0xcf, 0x5d, 0x7e, 0x91, 0x6d, 0xd1, 0x64, 0x73,
0xb7, 0xcc, 0xa3, 0x2d, 0xa1, 0xcf, 0x87, 0x20, 0x78, 0x69, 0xcf, 0x88, 0x66, 0x6a, 0x73, 0x60,
0x93, 0x86, 0x60, 0x81, 0x6f, 0x5c, 0x6a, 0xcf, 0x85, 0x5d, 0x92, 0x0a, 0x5c, 0x5c, 0x20, 0x66,
0x6c, 0x7d, 0x88, 0x6a, 0xcf, 0x92, 0x6a, 0xcf, 0x60, 0xcf, 0x93, 0x68, 0x6c, 0x7c, 0x5c, 0x66,
0x6d, 0x5c, 0x83, 0x20, 0x66, 0xcf, 0x60, 0x88, 0x74, 0xd1, 0x6f, 0x5c, 0x88, 0x6a, 0xcf, 0x92,
0x9a, 0xbf, 0x93, 0x6c, 0x79, 0x82, 0x20, 0x61, 0x7a, 0x73, 0x20, 0x5c, 0x73, 0x6b, 0x70, 0x20,
0x60, 0x60, 0x86, 0x83, 0x64, 0x6e, 0xd1, 0x6a, 0xcf, 0x60, 0x81, 0xcd, 0xcd, 0xcd, 0x0a, 0xab,
0xca, 0x2d, 0xc1, 0xa1, 0xc3, 0xa9, 0xc3, 0x70, 0x5c, 0x83, 0x93, 0x61, 0x7a, 0x73, 0x20, 0x76,
0x83, 0x62, 0x60, 0x81, 0x73, 0x20, 0x6e, 0x7d, 0x6a, 0xcf, 0x6b, 0x93, 0xd1, 0x97, 0x96, 0xc3,
0x70, 0x5b, 0x5d, 0x88, 0x6a, 0xcf, 0x92, 0x0a, 0x60, 0x84, 0x60, 0xcf, 0x93, 0x68, 0xcf, 0x88,
0x76, 0xcf, 0x20, 0x68, 0x6c, 0x7c, 0x5c, 0x66, 0x6d, 0x62, 0x84, 0x83, 0x92, 0x60, 0xcf, 0x88,
0x74, 0xcf, 0x91, 0x6d, 0xd1, 0x62, 0x84, 0x80, 0x92, 0x64, 0x84, 0x74, 0x93, 0x9a, 0xbf, 0x73,
0x20, 0x6a, 0x6a, 0x60, 0x5c, 0x6d, 0xcf, 0x7d, 0x20, 0x5b, 0x83, 0x88, 0x6a, 0xcf, 0x60, 0x81,
0x6f, 0x92, 0x0a, 0x22, 0x61, 0x24, 0x62, 0x20, 0x64, 0x5d, 0x68, 0x5c, 0x61, 0x22, 0x60, 0x81,
0x73, 0x20, 0x75, 0x60, 0x82, 0x60, 0xcf, 0x93, 0x9f, 0xc3, 0xbc, 0xcc, 0xa9, 0xcf, 0x73, 0xd1,
0x5d, 0x66, 0x6f, 0x86, 0x84, 0x6a, 0x20, 0x61, 0x24, 0x62, 0x87, 0x93, 0x5c, 0x79, 0x20, 0x7f,
0x91, 0x62, 0x82, 0x6e, 0xd1, 0x80, 0x7a, 0x60, 0xcf, 0x5e, 0x81, 0x68, 0x6d, 0x5c, 0x62, 0x92,
0x0a, 0x5b, 0x84, 0x74, 0x93, 0x6a, 0xcf, 0x5c, 0x60, 0xcf, 0x62, 0x87, 0x20, 0x69, 0x6c, 0x61,
0xcf, 0x90, 0x5d, 0x67, 0x83, 0x20, 0x6e, 0x66, 0x6a, 0xcf, 0x91, 0x6a, 0x92, 0x0a, 0x64, 0x84,
0x74, 0x93, 0x76, 0xcf, 0x88, 0x66, 0xbf, 0xb2, 0xcf, 0xbe, 0x60, 0xcf, 0x20, 0x63, 0x5c, 0x69,
0x62, 0x60, 0x73, 0x5d, 0x6f, 0x20, 0xa2, 0x9f, 0x2d, 0xb1, 0xd0, 0x92, 0x0a, 0x7e, 0x6c, 0x81,
0x74, 0x93, 0x70, 0x88, 0x63, 0xcf, 0x88, 0x73, 0x20, 0x76, 0xcf, 0x88, 0x66, 0x73, 0x5d, 0x6e,
0xcf, 0xbf, 0xb2, 0xcf, 0xbe, 0x73, 0x93, 0xd1, 0x7e, 0x62, 0x31, 0x30, 0x30, 0x30, 0x74, 0xcf,
0x5c, 0x92, 0x0a, 0x69, 0x5d, 0x93, 0x7e, 0x6c, 0x81, 0x74, 0x20, 0x70, 0x88, 0x63, 0xcf, 0x88,
0x66, 0x8e, 0x60, 0x5c, 0x70, 0x20, 0x75, 0x69, 0x7b, 0x20, 0x99, 0x97, 0xbd, 0x96, 0xc3, 0x92,
0x0a, 0x9a, 0xbf, 0x73, 0x20, 0x6b, 0x90, 0x5d, 0x65, 0x74, 0x93, 0x60, 0x84, 0x81, 0x70, 0x20,
0x60, 0x88, 0x6c, 0xcf, 0x60, 0x84, 0x6d, 0x20, 0x66, 0x79, 0x91, 0x6a, 0x92, 0x0a, 0x69, 0x66,
0x6d, 0x93, 0x61, 0x63, 0x88, 0x6f, 0x20, 0x66, 0xcf, 0x90, 0x5d, 0x61, 0x90, 0x5d, 0x70, 0x20,
0x24, 0x6b, 0x5c, 0x91, 0x6a, 0x92, 0x0a, 0x9a, 0xbf, 0x74, 0x93, 0xb3, 0xc0, 0x9d, 0xcf, 0xbc,
0xb6, 0x70, 0x20, 0x61, 0x24, 0x62, 0x87, 0x20, 0x78, 0x69, 0xcf, 0x88, 0x66, 0x6a, 0x92, 0x0a,
0x69, 0x66, 0x6d, 0x93, 0x69, 0x84, 0x87, 0x20, 0x97, 0x96, 0xc3, 0x70, 0x20, 0x6a, 0x62, 0x66,
0x6a, 0x92, 0x0a, 0x6c, 0x5c, 0x70, 0x20, 0x6e, 0x81, 0x5e, 0x81, 0x84, 0xcd, 0xcd, 0xcd, 0x0a,
0x94, 0x7e, 0x6c, 0x73, 0x20, 0x61, 0x24, 0x62, 0x74, 0x93, 0x63, 0x66, 0x6d, 0x20, 0x24, 0x5c,
0x6a, 0x69, 0xcf, 0x92, 0x95, 0x0a, 0x88, 0xcd, 0xcd, 0xcd, 0x0a, 0x5c, 0x79, 0x6a, 0xcf, 0x93,
0x0a, 0x70, 0x63, 0xcf, 0x80, 0x5d, 0xcd, 0xcd, 0xcd, 0x0a, 0x5b, 0x89, 0x91, 0x21, 0x6e, 0xcf,
0x5d, 0x7e, 0x81, 0x20, 0x75, 0x7a, 0x6c, 0x60, 0x5c, 0x61, 0xcf, 0x73, 0x20, 0x80, 0x5d, 0x6a,
0xcf, 0x92, 0x0a, 0x6e, 0x7d, 0x80, 0x93, 0x80, 0x62, 0x7e, 0x91, 0x6d, 0x62, 0x84, 0x6a, 0x92,
0x0a, 0x86, 0x84, 0x86, 0x84, 0x73, 0x20, 0x6b, 0x66, 0x61, 0x73, 0x20, 0x24, 0x60, 0x63, 0xcf,
0x6d, 0xcf, 0x93, 0x63, 0xcf, 0x88, 0x65, 0xcf, 0x5c, 0x93, 0xd1, 0x70, 0x88, 0x63, 0xcf, 0x88,
0x6e, 0xcf, 0x7d, 0x74, 0x20, 0x86, 0x84, 0x86, 0x84, 0x73, 0x20, 0x75, 0x6c, 0x80, 0x5d, 0x6e,
0x67, 0x83, 0x20, 0xaf, 0xd0, 0xc1, 0x2d, 0x87, 0x0a, 0x6c, 0x62, 0x82, 0x6a, 0xcf, 0x67, 0x64,
0x6e, 0x60, 0xcf, 0x20, 0x6d, 0xcf, 0x61, 0x83, 0x92, 0x0a, 0x79, 0x7d, 0x6f, 0x62, 0x93, 0x86,
0x84, 0x86, 0x84, 0x73, 0x20, 0x68, 0x88, 0x66, 0x6a, 0x6b, 0x60, 0xcf, 0x20, 0xa8, 0xbf, 0xb3,
0xd0, 0x2d, 0xa9, 0xd1, 0x66, 0x6d, 0x61, 0x6d, 0x2e, 0x2e, 0x2e, 0x0a, 0x24, 0x85, 0x60, 0x6f,
0x20, 0x70, 0x88, 0x63, 0xcf, 0x88, 0x6e, 0xcf, 0x7d, 0x87, 0x20, 0x78, 0x85, 0x78, 0xcf, 0x67,
0x6a, 0xcf, 0x85, 0x5d, 0x92, 0x0a, 0x74, 0x83, 0x60, 0x7b, 0x60, 0x66, 0x70, 0x20, 0x66, 0x6d,
0x5c, 0x6a, 0x80, 0x5d, 0x70, 0x93, 0x86, 0x84, 0x86, 0x84, 0x74, 0x93, 0x79, 0x7d, 0x6f, 0x62,
0xd1, 0x64, 0x73, 0x5d, 0x6b, 0x8f, 0x5d, 0x87, 0x20, 0x66, 0x74, 0x5c, 0x20, 0x67, 0x83, 0x73,
0x6a, 0xcf, 0x92, 0x0a, 0x86, 0x84, 0x86, 0x84, 0x73, 0x20, 0x66, 0x90, 0x5d, 0x82, 0x74, 0x93,
0x66, 0xcf, 0x60, 0x88, 0x73, 0x20, 0x7d, 0x88, 0x6a, 0xcf, 0x5c, 0xcd, 0xcd, 0xcd, 0x0a, 0x5b,
0x5b, 0x89, 0x89, 0x89, 0x89, 0x2d, 0x21, 0x0a, 0x6f, 0x93, 0x6f, 0x88, 0x6a, 0xcf, 0x3f, 0x0a,
0xa2, 0xaf, 0xd0, 0x97, 0x6a, 0xcf, 0xcd, 0xcd, 0xcd, 0x85, 0x5d, 0x7e, 0x70, 0x6d, 0xcf, 0x7d,
0x20, 0x78, 0x5d, 0x82, 0x64, 0x88, 0x6d, 0xcf, 0x24, 0x63, 0x92, 0x0a, 0x5b, 0x6e, 0x6d, 0xcf,
0x93, 0x66, 0xcf, 0x88, 0x7d, 0x88, 0x20, 0x67, 0x83, 0x6e, 0x66, 0x80, 0x5d, 0x92, 0x0a, 0x66,
0x90, 0x5d, 0x66, 0x8e, 0x73, 0x20, 0x6e, 0x5d, 0x66, 0xcf, 0x90, 0x5d, 0x6d, 0xcf, 0x67, 0x21,
0x20, 0x86, 0x6a, 0x66, 0x60, 0x81, 0xd1, 0x9f, 0xc3, 0xbc, 0xcc, 0xa9, 0xcf, 0x62, 0x88, 0x70,
0x93, 0x66, 0x90, 0x5d, 0x75, 0x88, 0x87, 0x20, 0x86, 0x6a, 0x66, 0x79, 0x67, 0x92, 0x0a, 0x9f,
0xc3, 0xbc, 0xcc, 0xa9, 0xcf, 0x62, 0x88, 0x93, 0xa5, 0x97, 0xa5, 0xc3, 0xa9, 0xbc, 0xb2, 0xcf,
0xbe, 0x80, 0x82, 0x93, 0x67, 0x74, 0xcf, 0x81, 0x66, 0x5c, 0xd1, 0x6b, 0x61, 0x8f, 0x5d, 0x73,
0x6a, 0x75, 0xcf, 0x87, 0x20, 0xb1, 0xd0, 0xbf, 0xa3, 0xcf, 0xc3, 0xa9, 0x66, 0x79, 0x67, 0x92,
0x24, 0x7c, 0x6d, 0xcf, 0x6e, 0x5d, 0x21, 0x21, 0x0a, 0x67, 0x5d, 0x66, 0xcf, 0x60, 0x88, 0x64,
0xcf, 0x93, 0x9f, 0xc3, 0xbc, 0xcc, 0xa9, 0xcf, 0x74, 0x93, 0x6b, 0x61, 0x8f, 0x5d, 0x7f, 0x61,
0x73, 0xd1, 0x22, 0xa2, 0xa5, 0x2d, 0xb1, 0xd0, 0xc0, 0xb0, 0xcf, 0xa8, 0xcf, 0xc3, 0xa2, 0x64,
0xcf, 0x5d, 0x22, 0x70, 0x20, 0x73, 0x91, 0x6a, 0x92, 0x0a, 0x34, 0x33, 0x37, 0x70, 0x6b, 0x7c,
0xcd, 0xcd, 0xcd, 0x0a, 0x60, 0x84, 0x81, 0x74, 0x20, 0x86, 0x6a, 0x66, 0x70, 0x93, 0x75, 0x6e,
0xcf, 0x5c, 0x66, 0x64, 0xcf, 0x6e, 0x87, 0x20, 0x65, 0x68, 0x6a, 0x92, 0xd1, 0x69, 0x73, 0x93,
0x6f, 0x82, 0x7f, 0x61, 0x70, 0x20, 0x6c, 0x5c, 0x6d, 0x74, 0x93, 0x74, 0x6f, 0x66, 0x6a, 0x62,
0x6f, 0x5c, 0x92, 0xd1, 0x69, 0x84, 0x74, 0x93, 0x86, 0x6a, 0x66, 0x73, 0x20, 0x69, 0x5d, 0x69,
0xcf, 0x5d, 0x87, 0x20, 0x74, 0x83, 0x60, 0x70, 0x20, 0x64, 0x5e, 0x83, 0xd1, 0x24, 0x69, 0x85,
0x66, 0x5c, 0x7d, 0x73, 0x20, 0x6a, 0xcf, 0x91, 0x6a, 0x92, 0x0a, 0x35, 0x31, 0x39, 0x70, 0x6b,
0x7c, 0xcd, 0xcd, 0xcd, 0x0a, 0x60, 0x84, 0x81, 0x74, 0x93, 0x86, 0x84, 0x86, 0x84, 0x20, 0x70,
0x88, 0x63, 0xcf, 0x88, 0x87, 0x93, 0x78, 0x85, 0x78, 0xcf, 0x69, 0x5d, 0x6e, 0x20, 0x66, 0x6d,
0x5c, 0x83, 0x21, 0xd1, 0x6b, 0x61, 0x8f, 0x5d, 0x70, 0x20, 0x63, 0x5c, 0x64, 0x62, 0x67, 0x83,
0x6a, 0x7c, 0x93, 0x6f, 0x70, 0x60, 0x20, 0x66, 0x6f, 0x62, 0x6d, 0x74, 0xcd, 0xcd, 0xcd, 0x0a,
0x36, 0x38, 0x33, 0x70, 0x6b, 0x7c, 0xcd, 0xcd, 0xcd, 0x0a, 0x61, 0x90, 0x5d, 0x93, 0xa5, 0x97,
0xa5, 0xc3, 0x9f, 0xc3, 0xb0, 0xd0, 0xca, 0x2d, 0xa5, 0x2d, 0x70, 0x93, 0x22, 0x76, 0xcf, 0x88,
0x66, 0x73, 0x63, 0x88, 0x61, 0x8f, 0x5d, 0x22, 0xd1, 0x70, 0x6c, 0x5c, 0x6d, 0x73, 0x20, 0x66,
0x90, 0x5d, 0x60, 0x5c, 0x87, 0x66, 0x6a, 0x92, 0x86, 0x6a, 0x66, 0x74, 0x93, 0x6a, 0x6a, 0xcf,
0x20, 0x6a, 0xcf, 0x84, 0x60, 0x60, 0xcf, 0xd1, 0x69, 0x84, 0x70, 0x20, 0x61, 0x90, 0x5d, 0x7a,
0x87, 0x7d, 0x6c, 0x20, 0x64, 0x6e, 0x87, 0x93, 0x5c, 0x73, 0x83, 0x74, 0xcf, 0x60, 0x82, 0x6a,
0xcf, 0x92, 0x0a, 0x36, 0x39, 0x30, 0x70, 0x6b, 0x7c, 0xcd, 0xcd, 0xcd, 0x0a, 0xb4, 0xa2, 0xa5,
0x2d, 0xb1, 0xcf, 0xbf, 0x97, 0xc3, 0x6a, 0xcf, 0x21, 0x69, 0x84, 0x60, 0xcf, 0x20, 0x7e, 0x6c,
0x81, 0x70, 0x20, 0x7c, 0x5c, 0x84, 0x5c, 0x66, 0x6d, 0xd1, 0x5c, 0x83, 0x73, 0x6a, 0xcf, 0xcd,
0xcd, 0xcd, 0x5b, 0x67, 0x93, 0x69, 0x84, 0x60, 0xcf, 0x20, 0x6e, 0xcf, 0x64, 0x70, 0x5b, 0x83,
0x73, 0x60, 0x93, 0xd1, 0x7a, 0x6c, 0x63, 0x80, 0x5d, 0x6e, 0x20, 0x24, 0x7d, 0x5d, 0x92, 0x0a,
0x37, 0x32, 0x30, 0x70, 0x6b, 0x7c, 0xcd, 0xcd, 0xcd, 0x0a, 0xb4, 0xa2, 0xa5, 0x2d, 0xb1, 0xcf,
0xbf, 0x97, 0xc3, 0x87, 0x20, 0x7a, 0x6c, 0x63, 0x83, 0x73, 0x74, 0x20, 0x76, 0x60, 0x73, 0x5d,
0x6a, 0xcf, 0x92, 0xd1, 0x5b, 0x84, 0x74, 0x93, 0x5d, 0x6b, 0x8f, 0x5d, 0x73, 0x20, 0x6b, 0x8f,
0x5d, 0x66, 0x88, 0x70, 0x93, 0x69, 0x6f, 0x5e, 0x6c, 0x63, 0x81, 0x84, 0x6d, 0x5c, 0x83, 0x92,
0xd1, 0x69, 0x73, 0x5d, 0x5e, 0x93, 0x67, 0x77, 0xcf, 0x6d, 0x73, 0x20, 0x6c, 0x5d, 0x66, 0x88,
0x60, 0x5c, 0x68, 0x88, 0x74, 0x93, 0x61, 0x81, 0x84, 0x6d, 0xd1, 0x66, 0x79, 0x91, 0x6d, 0x5c,
0x83, 0x92, 0x0a, 0x38, 0x33, 0x30, 0x70, 0x6b, 0x7c, 0xcd, 0xcd, 0xcd, 0x0a, 0x86, 0x60, 0x91,
0x6a, 0x21, 0x21, 0x20, 0x80, 0x75, 0xcf, 0x73, 0xb1, 0xcf, 0xbf, 0x97, 0xc3, 0x60, 0xcf, 0x20,
0x64, 0x73, 0x86, 0x62, 0x68, 0x5c, 0x87, 0xd1, 0x66, 0x74, 0x5c, 0x66, 0x6d, 0x5c, 0x83, 0x88,
0x6a, 0xcf, 0x92, 0xd1, 0xb4, 0xa2, 0xa5, 0x2d, 0xb1, 0xcf, 0xbf, 0x97, 0xc3, 0x74, 0x93, 0x67,
0x64, 0x66, 0x73, 0x5b, 0x5c, 0x6a, 0xcf, 0x20, 0x72, 0x7b, 0x91, 0x6d, 0x5c, 0x83, 0x73, 0x6a,
0xcf, 0x92, 0x0a, 0x80, 0x75, 0xcf, 0x73, 0xb1, 0xcf, 0xbf, 0x97, 0xc3, 0x87, 0x93, 0x74, 0x60,
0x5c, 0x67, 0x84, 0x74, 0xcf, 0x93, 0xd1, 0xb4, 0xa2, 0xa5, 0x2d, 0xb1, 0xcf, 0xbf, 0x97, 0xc3,
0x60, 0xcf, 0x93, 0x79, 0x6a, 0x20, 0x5d, 0x64, 0xcf, 0x61, 0x6a, 0xcf, 0x67, 0x92, 0xd1, 0x96,
0xa9, 0xb5, 0xcc, 0x9d, 0xa6, 0xc9, 0x2d, 0xa1, 0xcf, 0x87, 0x20, 0x64, 0x73, 0x86, 0x62, 0x68,
0x5c, 0x73, 0x20, 0x22, 0x60, 0x62, 0x22, 0x70, 0x24, 0x63, 0x74, 0xcf, 0xd1, 0x6c, 0x5d, 0x66,
0x88, 0x60, 0x5c, 0x68, 0x88, 0x87, 0x20, 0x75, 0x81, 0x62, 0x64, 0x6e, 0x60, 0xcf, 0x20, 0x6d,
0xcf, 0x61, 0x83, 0x73, 0x6a, 0xcf, 0x92, 0x0a, 0x39, 0x30, 0x30, 0x70, 0x6b, 0x7c, 0xcd, 0xcd,
0xcd, 0x0a, 0x86, 0x6a, 0x66, 0x74, 0x93, 0xb1, 0xcf, 0xbf, 0x97, 0xc3, 0x73, 0x20, 0x84, 0x88,
0x65, 0x74, 0x88, 0x73, 0x5d, 0x87, 0x20, 0x74, 0x60, 0x5c, 0x66, 0x93, 0xd1, 0x64, 0x73, 0x86,
0x62, 0x68, 0x5c, 0x87, 0x20, 0x74, 0x7c, 0x6c, 0x65, 0x68, 0x83, 0x20, 0x6b, 0x60, 0x81, 0x73,
0x5b, 0x83, 0x20, 0x74, 0xcf, 0x62, 0x6a, 0xcf, 0x88, 0x87, 0xd1, 0x62, 0x7a, 0x6a, 0x6d, 0x6a,
0x92, 0x0a, 0x5b, 0x6e, 0x74, 0x93, 0x63, 0x5c, 0x60, 0x62, 0x87, 0x20, 0x66, 0xcf, 0x91, 0x64,
0x5d, 0x67, 0x83, 0x6a, 0x7c, 0x73, 0x93, 0x7f, 0x5d, 0x61, 0x60, 0xcf, 0xd1, 0x5c, 0x83, 0x6a,
0xcf, 0x63, 0x6a, 0xcf, 0x2e, 0x2e, 0x2e, 0x0a, 0x31, 0x32, 0x30, 0x30, 0x70, 0x6b, 0x7c, 0xcd,
0xcd, 0xcd, 0x0a, 0x86, 0x6a, 0x66, 0x74, 0x20, 0x64, 0x88, 0x7e, 0x93, 0x66, 0xcf, 0x91, 0x64,
0x5d, 0x67, 0x83, 0x64, 0x6e, 0x87, 0x20, 0x63, 0x91, 0x66, 0x88, 0x66, 0x6a, 0x92, 0xd1, 0x67,
0x77, 0xcf, 0x6d, 0x60, 0xcf, 0x20, 0x74, 0x60, 0x5c, 0x65, 0x84, 0x83, 0x20, 0x79, 0x5e, 0x70,
0x20, 0xaf, 0xc3, 0x9b, 0xcf, 0x2d, 0x70, 0x5b, 0x83, 0xd1, 0x5d, 0x6b, 0x8f, 0x5d, 0x68, 0x88,
0x70, 0x93, 0x73, 0x81, 0x6f, 0x63, 0x84, 0x74, 0xcf, 0xcd, 0xcd, 0xcd, 0x92, 0x0a, 0x64, 0x84,
0x60, 0xcf, 0x93, 0x86, 0x6a, 0x66, 0x73, 0x20, 0x65, 0x5c, 0x64, 0xcf, 0x73, 0xb7, 0xcc, 0xa3,
0x2d, 0xa1, 0xcf, 0x6a, 0xcf, 0x92, 0xd1, 0x60, 0x7a, 0x80, 0x93, 0x6e, 0xcf, 0x5d, 0x60, 0x20,
0x86, 0x6a, 0x66, 0x87, 0x20, 0x79, 0x7d, 0x91, 0x6d, 0x62, 0x84, 0x92, 0x0a, 0xb1, 0xc5, 0xbd,
0xcc, 0xb1, 0xd0, 0x20, 0xaf, 0xc1, 0x2d, 0xa9, 0xcf, 0x20, 0x9d, 0xbc, 0x2d, 0x9d, 0x0a, 0x31,
0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32,
0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a,
0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31, 0x32, 0x0a, 0x31,
0x32, 0x0a, 0x99, 0xc3, 0xa9, 0xbd, 0x2d, 0x87, 0x20, 0x60, 0x62, 0x70, 0x88, 0x20, 0x66, 0x79,
0x66, 0x6a, 0x92, 0x0a, 0x64, 0x73, 0x66, 0x7c, 0x5c, 0x87, 0x20, 0x5d, 0x63, 0x83, 0x7d, 0x73,
0x74, 0x93, 0xd1, 0x22, 0x85, 0x5d, 0x6e, 0xcf, 0x5d, 0x20, 0x61, 0x90, 0x60, 0x66, 0x90, 0x5d,
0x22, 0x87, 0x20, 0x69, 0x5d, 0x70, 0x8f, 0x5d, 0x68, 0x80, 0x92, 0xd1, 0x69, 0x5d, 0x70, 0x8f,
0x5d, 0x67, 0x83, 0x20, 0x64, 0x6e, 0x6d, 0xcf, 0x93, 0xd1, 0x64, 0x73, 0x66, 0x64, 0xcf, 0x6e,
0x87, 0x20, 0x5d, 0x63, 0x24, 0x5d, 0x7d, 0x73, 0x6e, 0x20, 0x7a, 0x6f, 0x67, 0x92, 0x0a, 0x66,
0x7c, 0x5c, 0x20, 0x6a, 0x91, 0x68, 0x5c, 0x6d, 0xcf, 0x67, 0x92, 0x0a, 0x78, 0x5d, 0x66, 0x8f,
0x5d, 0x0a, 0x31, 0x30, 0x30, 0x0a, 0x33, 0x30, 0x30, 0x0a, 0x34, 0x30, 0x30, 0x0a, 0x35, 0x30,
0x30, 0x0a, 0x36, 0x30, 0x30, 0x0a, 0x9d, 0xbf, 0xa1, 0xcf, 0xcc, 0xa9, 0x0a
};
const uint16_t Resource::_voicesOffsetsTable[] = {
0x0064, 0x006A, 0x0070, 0x0084, 0x0090, 0x0096, 0x009E, 0x00A4, 0x00AE, 0x00B4,
0x00BC, 0x00C4, 0x00CC, 0x00D4, 0x00E0, 0x00E6, 0x00EC, 0x00F6, 0x00FC, 0x0102,
@ -2775,6 +3262,409 @@ const uint8_t Video::_palSlot0xF[] = {
0xA7, 0xAF, 0xA7, 0xB3, 0xBF, 0xBB, 0xBF, 0xCF, 0xCF, 0xCF, 0x00, 0x33, 0x00, 0x17, 0x0F, 0x1F
};
const uint8_t Video::_font8Jp[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0x20, 0x00,
0x00, 0xFF, 0x20, 0x00, 0x00, 0x22, 0x20, 0x00, 0x00, 0xFF, 0x20, 0x00, 0x00, 0x22, 0x20, 0x00,
0x0F, 0xF0, 0xFF, 0x00, 0x0F, 0xF2, 0xFF, 0x20, 0x00, 0x22, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xF0, 0xFF, 0x00, 0x0F, 0xF2, 0xFF, 0x20, 0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0xF2, 0xFF, 0x22,
0xFF, 0xFF, 0xFF, 0xF0, 0x0F, 0xF2, 0xFF, 0x22, 0x0F, 0xF2, 0xFF, 0x20, 0x00, 0x22, 0x02, 0x20,
0x00, 0xF2, 0x00, 0xF2, 0xFF, 0xFF, 0xF2, 0xF2, 0x02, 0xF2, 0x22, 0x02, 0x0F, 0xFF, 0xFF, 0x20,
0xF2, 0xF2, 0x22, 0xF2, 0xF2, 0xF2, 0x00, 0xF2, 0x0F, 0xF2, 0x0F, 0x22, 0x00, 0x22, 0x00, 0x20,
0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x0F, 0xF0, 0xFF, 0x20, 0xFF, 0x22, 0x02, 0x2F, 0xF2, 0x20,
0x00, 0xFF, 0x22, 0x00, 0x0F, 0xF2, 0x2F, 0xF0, 0xFF, 0x22, 0x0F, 0xF2, 0x02, 0x20, 0x00, 0x22,
0x00, 0xFF, 0xF0, 0x00, 0x0F, 0xF2, 0xFF, 0x00, 0x0F, 0xF2, 0xF2, 0x20, 0x0F, 0xFF, 0x0F, 0xF0,
0xFF, 0x2F, 0xFF, 0x22, 0xFF, 0x20, 0xFF, 0x20, 0x0F, 0xFF, 0x0F, 0xF0, 0x00, 0x22, 0x20, 0x22,
0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x00, 0xFF, 0x22, 0x00, 0x00, 0x02, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0xFF, 0x22, 0x00, 0x00, 0xFF, 0x20, 0x00,
0x00, 0xFF, 0x20, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x20,
0x00, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x20,
0x00, 0x00, 0xFF, 0x20, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0xFF, 0x22, 0x00, 0x00, 0x02, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x0F, 0xF0, 0x00, 0xFF, 0xFF, 0x22, 0xFF, 0xFF, 0xFF, 0xFF,
0x02, 0xFF, 0xFF, 0x22, 0x0F, 0xF2, 0x2F, 0xF0, 0x00, 0x22, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x0F, 0xFF, 0xFF, 0xF0,
0x20, 0x2F, 0xF2, 0x22, 0x00, 0x0F, 0xF2, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x00, 0xFF, 0x22, 0x00, 0x00, 0x02, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF0,
0x00, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22, 0x00,
0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x00, 0xFF, 0x22, 0x00, 0x0F, 0xF2, 0x20,
0x00, 0xFF, 0x22, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0xFF, 0x22, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x22, 0x2F, 0xF0, 0xFF, 0x20, 0xF0, 0xF2, 0xFF, 0x2F, 0x02, 0xF2,
0xFF, 0xF0, 0x20, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xF2, 0x00, 0x00, 0x2F, 0xF2, 0x00, 0x00, 0x0F, 0xF2, 0x00,
0x00, 0x0F, 0xF2, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x22, 0x2F, 0xF0, 0x02, 0x20, 0xFF, 0x22, 0x00, 0xFF, 0x22, 0x20,
0x0F, 0xF2, 0x22, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x02, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x22, 0x22, 0xF0, 0x02, 0x2F, 0xFF, 0xF2, 0x00, 0x00, 0x22, 0xF2,
0xFF, 0x00, 0x00, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0x00, 0x00, 0xFF, 0x2F, 0x20, 0x0F, 0xF2, 0x2F, 0x20, 0xFF, 0x22, 0x0F, 0x20,
0xFF, 0xFF, 0xFF, 0xF0, 0x02, 0x22, 0x2F, 0x22, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0x22, 0x22, 0x22, 0xFF, 0xFF, 0xFF, 0x00, 0x02, 0x22, 0x22, 0xF0,
0xFF, 0x20, 0x00, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x22, 0x22, 0xF0, 0xFF, 0xFF, 0xFF, 0x02, 0xFF, 0x22, 0x22, 0xF0,
0xFF, 0x20, 0x00, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0x22, 0x22, 0xF2, 0x02, 0x20, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20,
0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x22, 0x22, 0xF0, 0x0F, 0xFF, 0xFF, 0x02, 0xFF, 0x22, 0x22, 0xF0,
0xFF, 0x20, 0x00, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x22, 0x22, 0xF0, 0x0F, 0xFF, 0xFF, 0xF2, 0x00, 0x22, 0x22, 0xF2,
0xFF, 0x00, 0x00, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0x00, 0x00, 0x0F, 0xFF, 0x20, 0x00, 0x00, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0x00, 0x00, 0x0F, 0xFF, 0x20, 0x00, 0x00, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0x00, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0xFF, 0x22, 0x00, 0x00, 0xFF, 0x20, 0x00,
0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF2, 0x00, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF2, 0x00, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x20,
0x00, 0x0F, 0xF2, 0x20, 0x00, 0xFF, 0x22, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0x00, 0x0F, 0xF2, 0x2F, 0xF0, 0x00, 0x22, 0x0F, 0xF2, 0x00, 0x00, 0xFF, 0x22,
0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x22, 0x00,
0x0F, 0xFF, 0xFF, 0x00, 0xFF, 0x22, 0x22, 0xF0, 0xFF, 0x2F, 0xF0, 0xF2, 0xFF, 0x2F, 0x22, 0xF2,
0xFF, 0x2F, 0xFF, 0xF2, 0xFF, 0x20, 0x22, 0x22, 0x0F, 0xFF, 0xFF, 0x00, 0x00, 0x22, 0x22, 0x20,
0x0F, 0xFF, 0xFF, 0x20, 0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0xFF, 0xFF, 0xF2,
0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0x02, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xF2, 0x00, 0xFF, 0x22, 0x2F, 0x20, 0xFF, 0x20, 0x0F, 0x20, 0xFF, 0xFF, 0xFF, 0x20,
0xFF, 0x22, 0x22, 0xF2, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0x02, 0xFF, 0x20, 0x00, 0x00,
0xFF, 0x20, 0x00, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xF2, 0x00, 0xFF, 0x22, 0x2F, 0x20, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2,
0xFF, 0x20, 0x0F, 0x22, 0xFF, 0xFF, 0xF2, 0x20, 0x02, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xF2, 0xFF, 0x22, 0x22, 0x22, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20,
0xFF, 0x22, 0x22, 0x20, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xF2, 0xFF, 0x22, 0x22, 0x22, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20,
0xFF, 0x22, 0x22, 0x20, 0xFF, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0xF2, 0xFF, 0x22, 0x22, 0x22, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0x20, 0xFF, 0xF2,
0xFF, 0x20, 0x02, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x02, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0xFF, 0xFF, 0xF2,
0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0x02, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0x20, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x0F, 0xF2, 0x00, 0x00, 0x0F, 0xF2, 0x00,
0x00, 0x0F, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0x20, 0x00, 0x02, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2,
0xFF, 0x20, 0x00, 0xF2, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x0F, 0x20, 0xFF, 0xFF, 0xF2, 0x00,
0xFF, 0x22, 0x2F, 0x20, 0xFF, 0x20, 0x00, 0xF2, 0x02, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x20, 0x00, 0x00, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0x20, 0x00, 0x00,
0xFF, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0x20, 0xFF, 0x2F, 0xF2, 0xF2, 0xFF, 0x2F, 0xF2, 0xF2, 0xFF, 0x2F, 0xF2, 0xF2,
0xFF, 0x2F, 0xF2, 0xF2, 0xFF, 0x2F, 0xF2, 0xF2, 0x02, 0x20, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0x20, 0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2,
0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0x02, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2,
0xFF, 0x20, 0x00, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0xFF, 0xFF, 0x22,
0xFF, 0x22, 0x22, 0x20, 0xFF, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0xF2, 0xF2,
0xFF, 0x20, 0xFF, 0x22, 0x0F, 0xFF, 0xFF, 0xF2, 0x00, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0xFF, 0xFF, 0x20,
0xFF, 0x22, 0x2F, 0x20, 0xFF, 0x20, 0x00, 0xF2, 0x02, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0xFF, 0x22, 0x22, 0xF2, 0xFF, 0x20, 0x00, 0x22, 0x0F, 0xFF, 0xFF, 0x20,
0xF2, 0x22, 0x22, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0x20, 0x02, 0xFF, 0x22, 0x20, 0x00, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0x20, 0x00,
0x00, 0xFF, 0x20, 0x00, 0x00, 0xFF, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2,
0xFF, 0x20, 0x00, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0x0F, 0x20, 0x00, 0xF2,
0x00, 0xF2, 0x0F, 0x22, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0xF2, 0xF2, 0xFF, 0x20, 0xF2, 0xF2, 0xFF, 0x20, 0xF2, 0xF2,
0x0F, 0xF2, 0xF2, 0xF2, 0x00, 0xFF, 0x2F, 0x22, 0x00, 0x02, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0x0F, 0xF2, 0x0F, 0x20, 0x00, 0xFF, 0xF2, 0x00,
0x0F, 0xF2, 0x2F, 0x20, 0xFF, 0x22, 0x00, 0xF2, 0x02, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0xFF, 0xFF, 0xFF, 0xF2,
0x02, 0x22, 0x22, 0xF2, 0xFF, 0xFF, 0xFF, 0x22, 0x02, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0xFF, 0x22, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0xFF, 0x22, 0x00,
0x0F, 0xF2, 0x20, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x02, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0xF2, 0x22, 0x20, 0x00, 0xFF, 0xFF, 0x20,
0x0F, 0xF2, 0xF2, 0xF2, 0xF2, 0xFF, 0x22, 0xF2, 0xFF, 0xF2, 0x2F, 0x22, 0x02, 0x22, 0x00, 0x20,
0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x0F, 0x20, 0xF2, 0x00, 0x00, 0xF2,
0xF2, 0x00, 0x00, 0xF2, 0xF2, 0xF2, 0x00, 0xF2, 0x0F, 0x22, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00,
0x0F, 0xFF, 0xF2, 0x00, 0x00, 0x22, 0x22, 0x00, 0x0F, 0xFF, 0xF2, 0x00, 0xF2, 0x22, 0x2F, 0x20,
0x02, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x0F, 0xFF, 0x22, 0x00, 0x00, 0x22, 0x20, 0x00,
0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x2F, 0x22, 0x20,
0x00, 0xFF, 0x20, 0x00, 0x0F, 0x22, 0xF2, 0x00, 0xF2, 0x20, 0xFF, 0xF2, 0x02, 0x00, 0x02, 0x22,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0x22,
0x0F, 0x20, 0x0F, 0x20, 0xFF, 0xFF, 0x20, 0xF2, 0x0F, 0x22, 0xF2, 0xF2, 0x0F, 0x20, 0xF2, 0xF2,
0x0F, 0x20, 0xF2, 0x02, 0xF2, 0x20, 0xF2, 0x00, 0xF2, 0x0F, 0xF2, 0x00, 0x02, 0x00, 0x22, 0x00,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x2F, 0x22, 0x20, 0xFF, 0xFF, 0xFF, 0xF2,
0x02, 0x22, 0xF2, 0x22, 0xF2, 0x00, 0x02, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20,
0x00, 0x0F, 0xF2, 0x00, 0x00, 0x0F, 0x22, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x00,
0x00, 0xF2, 0x00, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x00, 0x00, 0x22, 0x00,
0xF2, 0x00, 0x0F, 0x20, 0xF2, 0xFF, 0xFF, 0xF2, 0xF2, 0x02, 0x2F, 0x22, 0xF2, 0x00, 0x0F, 0x20,
0xF2, 0x00, 0x0F, 0x20, 0xF2, 0x00, 0x0F, 0x20, 0x0F, 0x20, 0xF2, 0x20, 0x00, 0x20, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF2, 0x00, 0x22, 0x22, 0x22,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x2F, 0x22, 0x20, 0x00, 0x00, 0xF2, 0x00,
0xF2, 0x00, 0x02, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20,
0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00,
0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x0F, 0x20, 0x00, 0xFF, 0xF2, 0x20, 0x00, 0x02, 0x22, 0x00,
0x00, 0x00, 0x0F, 0x20, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x2F, 0xFF, 0x22, 0x00, 0xF2, 0x2F, 0x20,
0x00, 0x0F, 0xFF, 0x20, 0x00, 0x00, 0x2F, 0x20, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00,
0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0xFF, 0xFF, 0xFF, 0xF2, 0x0F, 0x22, 0x2F, 0x22,
0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x00, 0x20, 0x00, 0xFF, 0xFF, 0x20, 0x00, 0x02, 0x22, 0x20,
0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x2F, 0xF2, 0x20, 0x00, 0xF2, 0x22, 0x00, 0xFF, 0xFF, 0xFF, 0xF2,
0x02, 0x2F, 0x22, 0x22, 0x00, 0xF2, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0x20, 0x00, 0x02, 0x22, 0x20,
0x0F, 0x20, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x0F, 0x22, 0x22, 0x20, 0x0F, 0x2F, 0xFF, 0xF2,
0x0F, 0x20, 0x22, 0x22, 0xF2, 0x2F, 0x20, 0x00, 0xF2, 0x00, 0xFF, 0xF2, 0x02, 0x00, 0x02, 0x22,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0xF2, 0x22, 0x22, 0x00, 0xFF, 0xFF, 0x20,
0x0F, 0x22, 0x22, 0xF2, 0x00, 0x20, 0x00, 0xF2, 0x0F, 0xFF, 0xFF, 0x22, 0x00, 0x22, 0x22, 0x20,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF2, 0x00, 0x02, 0x22, 0x2F, 0x20, 0x00, 0x00, 0x0F, 0x20,
0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x00, 0xFF, 0x22, 0x00, 0x00, 0x02, 0x20, 0x00,
0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x2F, 0xF2, 0x20, 0x00, 0xF2, 0x22, 0x00, 0x0F, 0x22, 0x00, 0x00,
0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22, 0x00,
0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0xFF, 0x20, 0x00, 0xFF, 0x22, 0x20, 0x0F, 0x22, 0x20, 0x00,
0xF2, 0x20, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xF2, 0x00, 0x0F, 0x22, 0x2F, 0xF2, 0x0F, 0x20, 0x0F, 0x22,
0xF2, 0xFF, 0xFF, 0x20, 0x02, 0xF2, 0x2F, 0xF2, 0x00, 0x0F, 0xF2, 0x22, 0x00, 0x00, 0x22, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF2, 0x0F, 0xFF, 0xF2, 0xF2, 0x00, 0x22, 0x22, 0xF2, 0x00, 0x00, 0x00,
0xF2, 0xF2, 0x00, 0x00, 0xF2, 0xF2, 0x00, 0x00, 0x0F, 0x2F, 0xFF, 0xF2, 0x00, 0x20, 0x22, 0x22,
0x0F, 0x20, 0x0F, 0x20, 0x0F, 0xFF, 0xFF, 0x20, 0x0F, 0x22, 0xFF, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2,
0xF2, 0xFF, 0x22, 0xF2, 0xF2, 0xF2, 0xFF, 0xF2, 0x0F, 0x22, 0xFF, 0x22, 0x00, 0x20, 0x02, 0x20,
0x0F, 0x20, 0x00, 0x00, 0xFF, 0x2F, 0xFF, 0x20, 0x0F, 0xF2, 0x22, 0xF2, 0x0F, 0x22, 0x00, 0xF2,
0x0F, 0x20, 0xFF, 0xF2, 0xFF, 0x2F, 0x22, 0xF2, 0x0F, 0x20, 0xFF, 0x22, 0x00, 0x20, 0x02, 0x20,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0xFF, 0x2F, 0x2F, 0xF2, 0xF2, 0x2F, 0x20, 0xF2,
0xF2, 0x0F, 0x20, 0xF2, 0xF2, 0x0F, 0x20, 0xF2, 0x0F, 0xF2, 0x2F, 0x22, 0x00, 0x22, 0x00, 0x20,
0x00, 0x00, 0x0F, 0x20, 0xF2, 0x0F, 0xFF, 0xF2, 0xF2, 0x00, 0x2F, 0x22, 0xF2, 0x00, 0x0F, 0x20,
0xF2, 0x0F, 0xFF, 0xF2, 0xF2, 0xF2, 0x2F, 0x22, 0x0F, 0x2F, 0xFF, 0x20, 0x00, 0x20, 0x22, 0x20,
0xFF, 0xF2, 0x00, 0x00, 0x02, 0xF2, 0x0F, 0x20, 0x0F, 0x22, 0x0F, 0xF2, 0xF2, 0x20, 0x0F, 0x22,
0xF2, 0x00, 0x0F, 0x20, 0xF2, 0x00, 0xF2, 0x20, 0x0F, 0xFF, 0x22, 0x00, 0x00, 0x22, 0x20, 0x00,
0x00, 0xFF, 0x20, 0x00, 0x00, 0x02, 0xF2, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0F, 0x2F, 0x20, 0xF2,
0x0F, 0x20, 0xF2, 0xF2, 0xF2, 0x20, 0xF2, 0xF2, 0x02, 0xFF, 0x22, 0x02, 0x00, 0x02, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x20, 0x00, 0x0F, 0x22, 0xF2, 0x00,
0xF2, 0x20, 0x0F, 0x20, 0x02, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0xF2, 0xFF, 0xFF, 0xF2, 0xF2, 0x02, 0x2F, 0x22, 0xF2, 0xFF, 0xFF, 0xF2, 0xF2, 0x02, 0x2F, 0x22,
0xF2, 0x0F, 0xFF, 0x20, 0xF2, 0xF2, 0x2F, 0xF2, 0x0F, 0x2F, 0xF2, 0xF2, 0x00, 0x20, 0x22, 0x02,
0x00, 0x0F, 0x20, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x2F, 0x22, 0x20, 0xFF, 0xFF, 0xFF, 0x20,
0x02, 0x2F, 0x22, 0x20, 0x0F, 0xFF, 0xF2, 0x00, 0x0F, 0xFF, 0x2F, 0x20, 0x00, 0x22, 0x20, 0x20,
0x0F, 0xFF, 0x20, 0x00, 0x00, 0x2F, 0x20, 0x00, 0x00, 0x0F, 0x2F, 0x20, 0x0F, 0xFF, 0xFF, 0xF2,
0xF2, 0x2F, 0x2F, 0x22, 0xF2, 0xF2, 0x2F, 0x20, 0xFF, 0xF2, 0xF2, 0x20, 0x02, 0x22, 0x02, 0x00,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0x2F, 0x20, 0x02, 0xF2, 0x20, 0xF2, 0x0F, 0xF2, 0x00, 0x02,
0xF2, 0xF2, 0x00, 0xF2, 0x0F, 0xF2, 0x00, 0xF2, 0x00, 0xFF, 0xFF, 0x22, 0x00, 0x02, 0x22, 0x20,
0x0F, 0x20, 0x0F, 0x20, 0x0F, 0xFF, 0xFF, 0x20, 0xFF, 0xF2, 0xFF, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2,
0xF2, 0xFF, 0xF2, 0xF2, 0xF2, 0xFF, 0x22, 0xF2, 0x0F, 0x2F, 0x2F, 0x22, 0x00, 0x20, 0x20, 0x20,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xF2, 0x00, 0x02, 0xF2, 0x22, 0x00, 0xFF, 0xFF, 0xF2, 0x00,
0x0F, 0x22, 0x22, 0xF2, 0x0F, 0x20, 0x00, 0xF2, 0x00, 0xFF, 0xFF, 0x22, 0x00, 0x02, 0x22, 0x20,
0x0F, 0x20, 0xF2, 0x00, 0x0F, 0x2F, 0xFF, 0x20, 0xFF, 0xF2, 0xF2, 0xF2, 0x02, 0xF2, 0xF2, 0xF2,
0x00, 0xF2, 0x02, 0xF2, 0x00, 0xF2, 0xFF, 0x22, 0x00, 0xF2, 0x02, 0x20, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0xF2, 0x00, 0xF2, 0xFF, 0xFF, 0x20, 0xFF, 0x22, 0xF2, 0xF2, 0xF2, 0x20, 0xF2, 0xF2,
0xF2, 0xFF, 0xFF, 0x22, 0x02, 0x02, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xFF, 0xF2, 0x00, 0x00, 0xF2, 0x22, 0x00, 0x00, 0xF2, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0xF2, 0x22, 0xF2, 0xF2, 0x0F, 0xFF, 0x22, 0x02, 0x00, 0x22, 0x20, 0x00,
0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x2F, 0x20, 0xF2, 0x00, 0x00, 0x20, 0xF2, 0xFF, 0xFF, 0x20,
0x0F, 0x22, 0x22, 0xF2, 0x00, 0x20, 0x00, 0xF2, 0x00, 0xFF, 0xFF, 0x22, 0x00, 0x02, 0x22, 0x20,
0x0F, 0x20, 0x00, 0xF2, 0x0F, 0x20, 0x00, 0xF2, 0x0F, 0x20, 0x00, 0xF2, 0x0F, 0x2F, 0x20, 0xF2,
0x00, 0xF2, 0x20, 0xF2, 0x00, 0x02, 0x0F, 0x22, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x2F, 0x22, 0x20, 0x00, 0xFF, 0xFF, 0x20, 0x0F, 0x22, 0x22, 0xF2,
0xF2, 0x2F, 0x20, 0xF2, 0x02, 0xF2, 0xF2, 0xF2, 0x00, 0xFF, 0xFF, 0x22, 0x00, 0x02, 0x22, 0x20,
0x0F, 0x20, 0x00, 0x00, 0xFF, 0x2F, 0xFF, 0x20, 0x0F, 0xF2, 0x22, 0xF2, 0x0F, 0x22, 0x00, 0xF2,
0x0F, 0x20, 0x0F, 0x22, 0xFF, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x00, 0xF2, 0x00, 0x20, 0x00, 0x02,
0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x2F, 0xF2, 0x20, 0x00, 0xF2, 0x22, 0x00, 0x0F, 0xFF, 0xFF, 0x20,
0xF2, 0x22, 0x22, 0xF2, 0x02, 0x00, 0x00, 0xF2, 0x00, 0xFF, 0xFF, 0x22, 0x00, 0x02, 0x22, 0x20,
0x0F, 0x20, 0x00, 0x00, 0xFF, 0x2F, 0xFF, 0x20, 0x0F, 0xF2, 0x22, 0xF2, 0x0F, 0x22, 0x00, 0xF2,
0x0F, 0x20, 0x00, 0xF2, 0xFF, 0x20, 0x00, 0xF2, 0x0F, 0x20, 0x0F, 0x22, 0x00, 0x20, 0x00, 0x20,
0x00, 0x0F, 0x20, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0xF2, 0x22, 0x20, 0x00, 0x0F, 0xFF, 0xF2,
0x0F, 0xF2, 0xF2, 0x22, 0x0F, 0x22, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0xF2, 0x00, 0x02, 0x22, 0x22,
0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x0F, 0x22, 0x00, 0x00, 0x0F, 0xFF, 0x20, 0x00,
0x0F, 0x2F, 0x20, 0xF2, 0xF2, 0x2F, 0x20, 0xF2, 0xF2, 0x00, 0xFF, 0x22, 0x02, 0x00, 0x02, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x2F, 0x22, 0x20,
0x00, 0xFF, 0xFF, 0x20, 0x0F, 0x2F, 0xF2, 0xF2, 0x0F, 0xFF, 0x2F, 0xF2, 0x00, 0x22, 0x20, 0x22,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x0F, 0x20,
0x0F, 0x20, 0x00, 0xF2, 0x0F, 0x20, 0x00, 0xF2, 0x00, 0xF2, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF2, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0xFF, 0xFF, 0x20,
0x00, 0x02, 0x2F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22, 0x00, 0x0F, 0xFF, 0xFF, 0x20,
0x00, 0x22, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x0F, 0xF2, 0xFF, 0x20, 0x00, 0x22, 0x02, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x0F, 0xFF, 0x2F, 0x20, 0x00, 0xF2, 0x2F, 0x20,
0x00, 0xFF, 0xF2, 0x20, 0x0F, 0xF2, 0x2F, 0x20, 0x0F, 0xF2, 0xFF, 0x20, 0x00, 0x22, 0x02, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0xF2, 0x00, 0x0F, 0xFF, 0xFF, 0x20,
0x00, 0xF2, 0x2F, 0x20, 0x00, 0xF2, 0xF2, 0x20, 0x00, 0xF2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x2F, 0x20, 0x00, 0x0F, 0xFF, 0xF2, 0x00,
0x0F, 0x2F, 0x2F, 0x20, 0x00, 0x2F, 0xF2, 0x20, 0x00, 0xF2, 0x22, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0xFF, 0x20,
0x00, 0x0F, 0x22, 0x20, 0x0F, 0xFF, 0xFF, 0x20, 0x0F, 0xFF, 0x22, 0x20, 0x00, 0x22, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF2, 0x00,
0x00, 0x22, 0x2F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xF2, 0x00, 0x00, 0xF2, 0xF2, 0x00, 0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF2, 0x00, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x0F, 0xFF, 0xF2, 0x00, 0x0F, 0x22, 0x22, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x0F, 0xFF, 0xF2, 0x00,
0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x22, 0x2F, 0x20, 0x00, 0xF2, 0x0F, 0x20, 0x00, 0xFF, 0xF2, 0x20,
0x00, 0xF2, 0x22, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x0F, 0x22, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0xFF, 0xFF, 0x22, 0x00,
0x02, 0x2F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x0F, 0x20, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0xF2, 0x22, 0x2F, 0x20, 0x02, 0x00, 0x0F, 0x20,
0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x0F, 0xFF, 0x22, 0x00, 0x00, 0x22, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x2F, 0x22, 0x20, 0x00, 0x0F, 0x20, 0x00,
0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0x22,
0x00, 0x00, 0xF2, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x2F, 0xF2, 0x22, 0x00, 0x0F, 0xF2, 0x00,
0x00, 0xF2, 0xF2, 0x00, 0x0F, 0x22, 0xF2, 0x00, 0xF2, 0x2F, 0xF2, 0x00, 0x02, 0x00, 0x22, 0x00,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0xF2, 0x2F, 0x20, 0x00, 0xF2, 0x0F, 0x20,
0x0F, 0x22, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0xF2, 0x20, 0xF2, 0x20, 0x02, 0x00, 0x02, 0x00,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x2F, 0x22, 0x20, 0x00, 0x0F, 0x20, 0x00,
0x0F, 0xFF, 0xFF, 0xF2, 0x00, 0x22, 0xF2, 0x22, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0xFF, 0xFF, 0x20, 0x00, 0xF2, 0x2F, 0x20, 0x0F, 0x22, 0x0F, 0x20, 0x00, 0x20, 0x0F, 0x20,
0x00, 0x00, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00, 0x00,
0x00, 0xF2, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF2, 0x0F, 0x22, 0xF2, 0x22, 0xF2, 0x20, 0xF2, 0x00,
0x02, 0x00, 0xF2, 0x00, 0x00, 0x0F, 0x22, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x22, 0x2F, 0x20, 0x00, 0x00, 0x0F, 0x20,
0x00, 0x00, 0x0F, 0x20, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x0F, 0x20, 0xF2, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x0F, 0x22, 0xF2, 0x20, 0x0F, 0x20, 0xF2, 0x00,
0x00, 0x20, 0xF2, 0x00, 0x00, 0x0F, 0x22, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00,
0x0F, 0x20, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0xF2, 0x02, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20,
0x00, 0x20, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0xFF, 0xFF, 0x22, 0x00, 0x02, 0x22, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x22, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00,
0x00, 0xFF, 0x20, 0x00, 0x0F, 0x22, 0xF2, 0x00, 0xF2, 0x20, 0x0F, 0x20, 0x02, 0x00, 0x00, 0x20,
0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0xF2, 0x22, 0xF2,
0x00, 0xF2, 0x0F, 0x22, 0x00, 0xF2, 0x00, 0x20, 0x00, 0x0F, 0xFF, 0xF2, 0x00, 0x00, 0x22, 0x22,
0xF2, 0x00, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x00, 0x20, 0x0F, 0x20,
0x00, 0x00, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00, 0x00,
0x00, 0xF2, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0xF2, 0x22, 0x2F, 0x20, 0x02, 0xF2, 0x0F, 0x20,
0x00, 0x0F, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0xFF, 0xF2, 0x20, 0x00, 0x02, 0x22, 0x00, 0x00,
0x00, 0x0F, 0xF2, 0x00, 0x0F, 0xFF, 0x22, 0x00, 0x00, 0x2F, 0x20, 0x00, 0xFF, 0xFF, 0xFF, 0xF2,
0x02, 0x2F, 0x22, 0x22, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF2, 0xF2, 0x0F, 0x20, 0xF2, 0xF2, 0x0F, 0x20, 0x02, 0x02, 0x0F, 0x20,
0x00, 0x00, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x2F, 0x22, 0x22,
0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xFF, 0xF2, 0x00,
0x00, 0xF2, 0x2F, 0x20, 0x00, 0xF2, 0x00, 0x20, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x2F, 0x22, 0x22,
0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x2F, 0x20, 0x00, 0xF2, 0xF2, 0x20,
0x00, 0x0F, 0x22, 0x00, 0x00, 0xF2, 0xF2, 0x00, 0xFF, 0x22, 0x0F, 0x20, 0x02, 0x20, 0x00, 0x20,
0x00, 0x0F, 0x20, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x2F, 0x20, 0x00, 0x00, 0xF2, 0x20,
0x00, 0xFF, 0x2F, 0x20, 0xFF, 0x2F, 0x20, 0xF2, 0x02, 0x2F, 0x20, 0x02, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x0F, 0x22, 0x00,
0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0F, 0x20, 0xF2, 0x00, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20,
0x0F, 0x20, 0x00, 0xF2, 0xF2, 0x20, 0x00, 0xF2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF2, 0x00, 0xF2, 0x22, 0x22, 0x00,
0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x22, 0x2F, 0x20, 0x00, 0x00, 0x0F, 0x20,
0x00, 0x00, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x0F, 0xF2, 0x20, 0x00, 0x00, 0x22, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x0F, 0x2F, 0x20, 0x00, 0xF2, 0x20, 0xF2, 0x00,
0x02, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0x20, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x2F, 0x22, 0x22, 0x0F, 0x2F, 0x2F, 0x20,
0x0F, 0x2F, 0x20, 0xF2, 0xF2, 0x2F, 0x20, 0xF2, 0x02, 0xFF, 0x20, 0x02, 0x00, 0x02, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x2F, 0x22, 0x0F, 0x20, 0xF2, 0x20,
0x00, 0xFF, 0x22, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0xFF, 0x20, 0x00, 0x00, 0x02, 0xFF, 0x20, 0x00, 0xF2, 0x02, 0x20, 0x00, 0x0F, 0xFF, 0x20,
0x0F, 0x20, 0x22, 0x20, 0x00, 0xFF, 0x20, 0x00, 0x00, 0x02, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22,
0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x00, 0xF2, 0x0F, 0x20,
0x0F, 0x22, 0x0F, 0x20, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0xF2, 0x00, 0x00, 0x00, 0x02,
0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0xF2, 0xF2, 0x20, 0x00, 0x0F, 0xF2, 0x00,
0x00, 0x0F, 0xF2, 0x00, 0x00, 0xF2, 0x2F, 0x20, 0xFF, 0x22, 0x00, 0x20, 0x02, 0x20, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0x00, 0xF2, 0x22, 0x20, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0xF2, 0x22, 0x22,
0x00, 0xF2, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF2, 0x00, 0x00, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF2, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0xF2, 0x22, 0xF2, 0x00, 0xF2, 0x0F, 0x22,
0x00, 0x0F, 0x20, 0x20, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF2, 0x00, 0x00, 0x22, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00,
0x00, 0x00, 0xF2, 0x00, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x2F, 0x20, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x2F, 0x20,
0x00, 0x00, 0x0F, 0x20, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20, 0xFF, 0xFF, 0xFF, 0xF2, 0x02, 0x22, 0x22, 0xF2,
0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x0F, 0x22, 0x00, 0xFF, 0xF2, 0x20, 0x00, 0x02, 0x22, 0x00,
0x0F, 0x22, 0x2F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20, 0x0F, 0x20,
0x00, 0x20, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x0F, 0x20, 0x00, 0x0F, 0x2F, 0x20, 0x00, 0x0F, 0x2F, 0x20, 0x00, 0x0F, 0x2F, 0x20, 0x00,
0x0F, 0x2F, 0x20, 0xF2, 0x0F, 0x2F, 0x2F, 0x22, 0xF2, 0x2F, 0xF2, 0x20, 0x02, 0x00, 0x22, 0x00,
0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0xF2,
0x0F, 0x20, 0x0F, 0x22, 0x0F, 0x20, 0xF2, 0x20, 0x0F, 0xFF, 0x22, 0x00, 0x00, 0x22, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0xF2, 0x22, 0x2F, 0x20, 0xF2, 0x00, 0x0F, 0x20,
0xF2, 0x00, 0x0F, 0x20, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0x20, 0xF2, 0x22, 0x2F, 0x20, 0xF2, 0x00, 0x0F, 0x20, 0x02, 0x00, 0x0F, 0x20,
0x00, 0x00, 0xF2, 0x20, 0x00, 0x00, 0xF2, 0x00, 0x00, 0xFF, 0x22, 0x00, 0x00, 0x02, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x20, 0x02, 0x22, 0x2F, 0x20, 0xFF, 0xFF, 0xFF, 0x20,
0x02, 0x22, 0x2F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0x0F, 0xFF, 0x22, 0x00, 0x00, 0x22, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20,
0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20, 0xFF, 0xFF, 0x22, 0x00, 0x02, 0x22, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x2F, 0x2F, 0x20,
0x00, 0x0F, 0xF2, 0x20, 0x00, 0x0F, 0x22, 0x00, 0x00, 0xF2, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0xF2, 0x20,
0x0F, 0xFF, 0x22, 0x00, 0x00, 0x2F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x0F, 0xFF, 0xFF, 0x20,
0x0F, 0x22, 0x2F, 0x20, 0x00, 0x20, 0x0F, 0x20, 0x00, 0xFF, 0xF2, 0x20, 0x00, 0x02, 0x22, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x2F, 0x22, 0x20,
0x00, 0x0F, 0x20, 0x00, 0x00, 0x0F, 0x20, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x0F, 0xFF, 0xFF, 0x20,
0x00, 0x2F, 0xF2, 0x20, 0x00, 0xF2, 0xF2, 0x00, 0x0F, 0x22, 0xF2, 0x00, 0x00, 0x20, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x20,
0x00, 0xF2, 0x2F, 0x20, 0x00, 0xF2, 0xF2, 0x20, 0x00, 0xF2, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF2, 0x00,
0x00, 0x02, 0xF2, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x0F, 0xFF, 0xFF, 0x20, 0x00, 0x22, 0x22, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x20, 0x00, 0x02, 0x2F, 0x20,
0x00, 0xFF, 0xFF, 0x20, 0x00, 0x02, 0x2F, 0x20, 0x00, 0xFF, 0xFF, 0x20, 0x00, 0x02, 0x22, 0x20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x2F, 0x2F, 0x20,
0x0F, 0x2F, 0x2F, 0x20, 0x00, 0x20, 0x2F, 0x20, 0x00, 0xFF, 0xF2, 0x20, 0x00, 0x02, 0x22, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF2, 0x00,
0x00, 0x0F, 0xF2, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF2, 0x0F, 0xF2,
0x0F, 0xF2, 0x0F, 0xF2, 0x00, 0x22, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF2, 0x00, 0x00, 0xF2, 0x0F, 0x20, 0x00, 0x0F, 0x20, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xF2, 0x00, 0x00, 0xF2, 0xF2, 0x00, 0x00, 0xFF, 0xF2, 0x00, 0x00, 0x02, 0x22, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const uint16_t ModPlayer::_periodTable[] = {
856, 808, 762, 720, 678, 640, 604, 570, 538, 508, 480, 453, // C-1 to B-1 Finetune 0
428, 404, 381, 360, 339, 320, 302, 285, 269, 254, 240, 226, // C-2 to B-2 Finetune 0

View File

@ -41,8 +41,6 @@ struct SystemStub_SDL : SystemStub {
uint32_t _rgbPalette[256];
int _screenW, _screenH;
SDL_Joystick *_joystick;
SDL_Rect _blitRects[200];
int _numBlitRects;
bool _fadeOnUpdateScreen;
void (*_audioCbProc)(void *, int16_t *, int);
void *_audioCbData;
@ -75,8 +73,7 @@ struct SystemStub_SDL : SystemStub {
void prepareGraphics();
void cleanupGraphics();
void changeGraphics(bool fullscreen, int scaleFactor);
void forceGraphicsRedraw();
void drawRect(SDL_Rect *rect, uint8_t color);
void drawRect(int x, int y, int w, int h, uint8_t color);
};
SystemStub *SystemStub_SDL_create() {
@ -162,52 +159,36 @@ void SystemStub_SDL::setOverscanColor(int i) {
}
void SystemStub_SDL::copyRect(int x, int y, int w, int h, const uint8_t *buf, int pitch) {
if (_numBlitRects >= (int)ARRAYSIZE(_blitRects)) {
warning("SystemStub_SDL::copyRect() Too many blit rects, you may experience graphical glitches");
} else {
// extend the dirty region by 1 pixel for scalers accessing 'outer' pixels
--x;
--y;
w += 2;
h += 2;
if (x < 0) {
x = 0;
} else if (x >= _screenW) {
return;
}
if (y < 0) {
y = 0;
} else if (y >= _screenH) {
return;
}
if (x + w > _screenW) {
w = _screenW - x;
}
if (y + h > _screenH) {
h = _screenH - y;
}
if (x < 0) {
x = 0;
} else if (x >= _screenW) {
return;
}
if (y < 0) {
y = 0;
} else if (y >= _screenH) {
return;
}
if (x + w > _screenW) {
w = _screenW - x;
}
if (y + h > _screenH) {
h = _screenH - y;
}
SDL_Rect *br = &_blitRects[_numBlitRects];
uint32_t *p = _screenBuffer + y * _screenW + x;
buf += y * pitch + x;
br->x = x;
br->y = y;
br->w = w;
br->h = h;
++_numBlitRects;
uint32_t *p = _screenBuffer + br->y * _screenW + br->x;
buf += y * pitch + x;
while (h--) {
for (int i = 0; i < w; ++i) {
p[i] = _rgbPalette[buf[i]];
}
p += _screenW;
buf += pitch;
}
if (_pi.dbgMask & PlayerInput::DF_DBLOCKS) {
drawRect(br, 0xE7);
for (int j = 0; j < h; ++j) {
for (int i = 0; i < w; ++i) {
p[i] = _rgbPalette[buf[i]];
}
p += _screenW;
buf += pitch;
}
if (_pi.dbgMask & PlayerInput::DF_DBLOCKS) {
drawRect(x, y, w, h, 0xE7);
}
}
@ -255,7 +236,6 @@ void SystemStub_SDL::updateScreen(int shakeOffset) {
SDL_RenderCopy(_renderer, _texture, 0, 0);
}
SDL_RenderPresent(_renderer);
_numBlitRects = 0;
}
void SystemStub_SDL::processEvents() {
@ -520,7 +500,7 @@ void SystemStub_SDL::processEvent(const SDL_Event &ev, bool &paused) {
break;
case SDL_KEYDOWN:
if (ev.key.keysym.mod & (KMOD_ALT | KMOD_CTRL)) {
break;
break;
}
switch (ev.key.keysym.sym) {
case SDLK_LEFT:
@ -576,7 +556,7 @@ static void mixAudioS16(void *param, uint8_t *buf, int len) {
}
void SystemStub_SDL::startAudio(AudioCallback callback, void *param) {
SDL_AudioSpec desired, obtained;
SDL_AudioSpec desired;
memset(&desired, 0, sizeof(desired));
desired.freq = kAudioHz;
desired.format = AUDIO_S16SYS;
@ -584,7 +564,7 @@ void SystemStub_SDL::startAudio(AudioCallback callback, void *param) {
desired.samples = 2048;
desired.callback = mixAudioS16;
desired.userdata = this;
if (SDL_OpenAudio(&desired, &obtained) == 0) {
if (SDL_OpenAudio(&desired, 0) == 0) {
_audioCbProc = callback;
_audioCbData = param;
SDL_PauseAudio(0);
@ -642,7 +622,6 @@ void SystemStub_SDL::prepareGraphics() {
SDL_RenderSetLogicalSize(_renderer, windowW, windowH);
_texture = SDL_CreateTexture(_renderer, kPixelFormat, SDL_TEXTUREACCESS_STREAMING, _texW, _texH);
_fmt = SDL_AllocFormat(kPixelFormat);
forceGraphicsRedraw();
}
void SystemStub_SDL::cleanupGraphics() {
@ -650,14 +629,14 @@ void SystemStub_SDL::cleanupGraphics() {
free(_screenBuffer);
_screenBuffer = 0;
}
if (_window) {
SDL_DestroyWindow(_window);
_window = 0;
}
if (_renderer) {
SDL_DestroyRenderer(_renderer);
_renderer = 0;
}
if (_window) {
SDL_DestroyWindow(_window);
_window = 0;
}
if (_fmt) {
SDL_FreeFormat(_fmt);
_fmt = 0;
@ -665,39 +644,38 @@ void SystemStub_SDL::cleanupGraphics() {
}
void SystemStub_SDL::changeGraphics(bool fullscreen, int scaleFactor) {
if (_window) {
SDL_DestroyWindow(_window);
_window = 0;
int factor = scaleFactor;
if (factor < _scaler->factorMin) {
factor = _scaler->factorMin;
} else if (factor > _scaler->factorMax) {
factor = _scaler->factorMax;
}
if (fullscreen == _fullscreen && factor == _scaleFactor) {
// no change
return;
}
_fullscreen = fullscreen;
_scaleFactor = factor;
if (_renderer) {
SDL_DestroyRenderer(_renderer);
_renderer = 0;
}
if (_window) {
SDL_DestroyWindow(_window);
_window = 0;
}
if (_fmt) {
SDL_FreeFormat(_fmt);
_fmt = 0;
}
_fullscreen = fullscreen;
if (scaleFactor >= _scaler->factorMin && scaleFactor <= _scaler->factorMax) {
_scaleFactor = scaleFactor;
}
prepareGraphics();
forceGraphicsRedraw();
}
void SystemStub_SDL::forceGraphicsRedraw() {
_numBlitRects = 1;
_blitRects[0].x = 0;
_blitRects[0].y = 0;
_blitRects[0].w = _screenW;
_blitRects[0].h = _screenH;
}
void SystemStub_SDL::drawRect(SDL_Rect *rect, uint8_t color) {
int x1 = rect->x;
int y1 = rect->y;
int x2 = rect->x + rect->w - 1;
int y2 = rect->y + rect->h - 1;
void SystemStub_SDL::drawRect(int x, int y, int w, int h, uint8_t color) {
const int x1 = x;
const int y1 = y;
const int x2 = x + w - 1;
const int y2 = y + h - 1;
assert(x1 >= 0 && x2 < _screenW && y1 >= 0 && y2 < _screenH);
for (int i = x1; i <= x2; ++i) {
*(_screenBuffer + y1 * _screenW + i) = *(_screenBuffer + y2 * _screenW + i) = _rgbPalette[color];

View File

@ -797,11 +797,12 @@ void Video::drawSpriteSub6(const uint8_t *src, uint8_t *dst, int pitch, int h, i
}
}
void Video::PC_drawChar(uint8_t c, int16_t y, int16_t x) {
void Video::PC_drawChar(uint8_t c, int16_t y, int16_t x, bool forceDefaultFont) {
debug(DBG_VIDEO, "Video::PC_drawChar(0x%X, %d, %d)", c, y, x);
const uint8_t *fnt = (_res->_lang == LANG_JP && !forceDefaultFont) ? _font8Jp : _res->_fnt;
y *= 8;
x *= 8;
const uint8_t *src = _res->_fnt + (c - 32) * 32;
const uint8_t *src = fnt + (c - 32) * 32;
uint8_t *dst = _frontLayer + x + 256 * y;
for (int h = 0; h < 8; ++h) {
for (int i = 0; i < 4; ++i, ++src) {
@ -870,6 +871,7 @@ void Video::PC_drawStringChar(uint8_t *dst, int pitch, const uint8_t *src, uint8
const char *Video::drawString(const char *str, int16_t x, int16_t y, uint8_t col) {
debug(DBG_VIDEO, "Video::drawString('%s', %d, %d, 0x%X)", str, x, y, col);
const uint8_t *fnt = (_res->_lang == LANG_JP) ? _font8Jp : _res->_fnt;
drawCharFunc dcf = _drawChar;
int len = 0;
uint8_t *dst = _frontLayer + y * 256 + x;
@ -878,7 +880,7 @@ const char *Video::drawString(const char *str, int16_t x, int16_t y, uint8_t col
if (c == 0 || c == 0xB || c == 0xA) {
break;
}
(this->*dcf)(dst, 256, _res->_fnt, col, c);
(this->*dcf)(dst, 256, fnt, col, c);
dst += CHAR_W;
++len;
}

View File

@ -28,6 +28,7 @@ struct Video {
static const uint8_t _conradPal2[];
static const uint8_t _textPal[];
static const uint8_t _palSlot0xF[];
static const uint8_t _font8Jp[];
Resource *_res;
SystemStub *_stub;
@ -77,7 +78,7 @@ struct Video {
void drawSpriteSub4(const uint8_t *src, uint8_t *dst, int pitch, int h, int w, uint8_t colMask);
void drawSpriteSub5(const uint8_t *src, uint8_t *dst, int pitch, int h, int w, uint8_t colMask);
void drawSpriteSub6(const uint8_t *src, uint8_t *dst, int pitch, int h, int w, uint8_t colMask);
void PC_drawChar(uint8_t c, int16_t y, int16_t x);
void PC_drawChar(uint8_t c, int16_t y, int16_t x, bool forceDefaultFont = false);
void PC_drawStringChar(uint8_t *dst, int pitch, const uint8_t *src, uint8_t color, uint8_t chr);
void AMIGA_drawStringChar(uint8_t *dst, int pitch, const uint8_t *src, uint8_t color, uint8_t chr);
const char *drawString(const char *str, int16_t x, int16_t y, uint8_t col);