diff --git a/cmd/cmd.cpp b/cmd/cmd.cpp index a59ba4d..ba48c03 100644 --- a/cmd/cmd.cpp +++ b/cmd/cmd.cpp @@ -136,24 +136,9 @@ int main(int argc, char** argv) if (nsfplay_prop_exists(core,i)) { if (info.type == NSFP_PROP_TYPE_INT || info.type == NSFP_PROP_TYPE_LIST) - printf("%s: %d\n",info.key,nsfplay_prop_int(core,i)); + printf("%s: %d\n",info.key,nsfplay_prop_int(core,i,-1)); else if (info.type == NSFP_PROP_TYPE_STR) - printf("%s: %s\n",info.key,nsfplay_prop_str(core,i)); - else - printf("%s (%d)\n",info.key,info.type); - } - } - printf("SONGPROPS:\n"); - for (int i=0;i NSFP_PROP_COUNT) return info; - PD = &NSFPD_PROP[prop]; - } - else - { - if (prop < 0 || prop > NSFP_SONGPROP_COUNT) return info; - PD = &NSFPD_SONGPROP[prop]; - } - info.key = PD->key; - info.name = local_text(PD->text); - info.max_list = PD->max_list; - info.list = (PD->list >= 0) ? (local_text(NSFPD_LIST_TEXT[PD->list]+1)) : NULL; - info.list_keys = (PD->list >= 0) ? (local_text(NSFPD_LIST_TEXT[PD->list]+0)) : NULL; - info.type = PD->type; - info.display = PD->display; + const NSFPropData& PD = NSFPD_PROP[prop]; + info.key = PD.key; + info.name = local_text(PD.text); + info.max_list = PD.max_list; + info.group = PD.group; + info.list = (PD.list >= 0) ? (local_text(NSFPD_LIST_TEXT[PD.list]+1)) : NULL; + info.list_keys = (PD.list >= 0) ? (local_text(NSFPD_LIST_TEXT[PD.list]+0)) : NULL; + info.type = PD.type; + info.display = PD.display; return info; } diff --git a/core/core.h b/core/core.h index 5c9065b..7af3e67 100644 --- a/core/core.h +++ b/core/core.h @@ -43,8 +43,6 @@ typedef uint64_t uint64; #define SETTING(setenum_) (setting[NSFP_SET_##setenum_]) #define PROP(propenum_) (nsf_prop_int(NSFP_PROP_##propenum_)) #define PROPS(propenum_) (nsf_prop_str(NSFP_PROP_##propenum_)) -#define SONGPROP(songpropenum_) (nsf_prop_int(NSFP_SONGPROP_$$songpropenum_,song_current)) -#define SONGPROPS(songpropenum_) (nsf_prop_str(NSFP_SONGPROP_$$songpropenum_,song_current)) // NSFCore structure, code members defined in core.cpp unless otherwised marked @@ -55,7 +53,7 @@ typedef struct NSFCore_ // general rule of thumb: // Try not to store unnecessary state. // Use a setting directly instead of copying it, where possible. - // Use prop/songprop to look up instead of store values. + // Use prop to look up instead of store values. // Can make exceptions for performance: // Volume applies per-cycle/sample, should store that with fixed point adjustments. // Square phase reset only applies per emulated-write, just use the setting directly. @@ -145,7 +143,7 @@ typedef struct NSFCore_ bool parse_ini_line(const char* line, int len, int linenum); // linenum=-1 to parse a line with no INI file context bool load(const uint8* data, uint32 size, bool assume, bool bin=false); - NSFPropInfo prop_info(sint32 prop, bool song=false) const; // if song, prop is a SONGPROP + NSFPropInfo prop_info(sint32 prop) const; const char* local_text(sint32 textenum) const; // NSFP_TEXT_x for curent locale (local_text(0) is a default error string) static const char* local_text(sint32 textenum, sint32 locale); // NSFP_TEXT_x for specific locale @@ -154,7 +152,7 @@ typedef struct NSFCore_ bool nsf_parse(bool bin); const uint8* nsfe_chunk(uint32 fourcc, uint32* chunk_size) const; // fourcc is packed little-endian into uint32 const uint8* nsfe_chunk(const char* fourcc, uint32* chunk_size) const; - bool nsf_prop_exists(sint32 prop, sint32 song=-1) const; // if song>=0 prop is a SONGPROP + bool nsf_prop_exists(sint32 prop, sint32 song=-1) const; // song<0 = song_current sint32 nsf_prop_int(sint32 prop, sint32 song=-1) const; sint64 nsf_prop_long(sint32 prop, sint32 song=-1) const; const char* nsf_prop_str(sint32 prop, sint32 song=-1) const; diff --git a/core/enums_data.h b/core/enums_data.h index e7c7926..29c9c37 100644 --- a/core/enums_data.h +++ b/core/enums_data.h @@ -1,6 +1,6 @@ #pragma once // generated by nsfplayenums.py -// 2024-04-24 03:21:36 +// 2024-04-25 01:14:35 #include "../include/nsfplayenums.h" @@ -14,7 +14,7 @@ const int32_t NSFPD_UNIT_GROUP[NSFP_UNIT_COUNT] = { typedef struct { const char* key; - int32_t text; // text+0 name, +1 desc + int32_t type, text; // text+0 name, +1 desc } NSFSetGroupData; const NSFSetGroupData NSFPD_GROUP[NSFP_GROUP_COUNT] = { { "MAIN", 25 }, @@ -32,6 +32,10 @@ const NSFSetGroupData NSFPD_GROUP[NSFP_GROUP_COUNT] = { { "WAVEOUT", 49 }, { "ADVANCED", 51 }, { "TEST", 53 }, + { "NSF", 55 }, + { "ACTIVE", 57 }, + { "PTEST", 59 }, + { "SONG", 61 }, }; typedef struct { @@ -39,37 +43,37 @@ typedef struct { int32_t unit, text; // text+0 short-name, +1 name } NSFChannelData; const NSFChannelData NSFPD_CHANNEL[NSFP_CHANNEL_COUNT] = { - { "SQU0", 0, 55 }, - { "SQU1", 0, 57 }, - { "TRI", 1, 59 }, - { "NSE", 1, 61 }, - { "DPCM", 1, 63 }, - { "FDS", 2, 65 }, - { "MMC5_0", 3, 67 }, - { "MMC5_1", 3, 69 }, - { "MMC5_PCM", 3, 71 }, - { "VRC6_0", 4, 73 }, - { "VRC6_1", 4, 75 }, - { "VRC6_SAW", 4, 77 }, - { "VRC7_0", 5, 79 }, - { "VRC7_1", 5, 81 }, - { "VRC7_2", 5, 83 }, - { "VRC7_3", 5, 85 }, - { "VRC7_4", 5, 87 }, - { "VRC7_5", 5, 89 }, - { "N163_0", 6, 91 }, - { "N163_1", 6, 93 }, - { "N163_2", 6, 95 }, - { "N163_3", 6, 97 }, - { "N163_4", 6, 99 }, - { "N163_5", 6, 101 }, - { "N163_6", 6, 103 }, - { "N163_7", 6, 105 }, - { "S5B_0", 7, 107 }, - { "S5B_1", 7, 109 }, - { "S5B_2", 7, 111 }, - { "S5B_N", 7, 113 }, - { "S5B_E", 7, 115 }, + { "SQU0", 0, 63 }, + { "SQU1", 0, 65 }, + { "TRI", 1, 67 }, + { "NSE", 1, 69 }, + { "DPCM", 1, 71 }, + { "FDS", 2, 73 }, + { "MMC5_0", 3, 75 }, + { "MMC5_1", 3, 77 }, + { "MMC5_PCM", 3, 79 }, + { "VRC6_0", 4, 81 }, + { "VRC6_1", 4, 83 }, + { "VRC6_SAW", 4, 85 }, + { "VRC7_0", 5, 87 }, + { "VRC7_1", 5, 89 }, + { "VRC7_2", 5, 91 }, + { "VRC7_3", 5, 93 }, + { "VRC7_4", 5, 95 }, + { "VRC7_5", 5, 97 }, + { "N163_0", 6, 99 }, + { "N163_1", 6, 101 }, + { "N163_2", 6, 103 }, + { "N163_3", 6, 105 }, + { "N163_4", 6, 107 }, + { "N163_5", 6, 109 }, + { "N163_6", 6, 111 }, + { "N163_7", 6, 113 }, + { "S5B_0", 7, 115 }, + { "S5B_1", 7, 117 }, + { "S5B_2", 7, 119 }, + { "S5B_N", 7, 121 }, + { "S5B_E", 7, 123 }, }; typedef struct { @@ -80,324 +84,311 @@ typedef struct { const char* default_str; } NSFSetData; const NSFSetData NSFPD_SET[NSFP_SET_COUNT] = { - { "VOLUME", 0, 117, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "SAMPLERATE", 0, 119, 4, 0, 7, 0, 7, 6, 2,NULL }, - { "STEREO", 0, 121, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "BITS", 0, 123, 1, 0, 2, 0, 2, 6, 3,NULL }, - { "TITLE_FORMAT", 0, 125, 0, 0, 0, 0, 0, 3, -1,"%L (%n/%e) %T - %A" }, - { "LOCALE", 0, 127, 0, 0, 0, 0, 0, 6, 11,NULL }, - { "CHANNEL_RESET", 1, 129, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "PLAY_START", 1, 131, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "PLAY_NEXT", 1, 133, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "ALBUM_LOOP", 1, 135, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "PLAYLIST", 1, 137, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "PLAY_TIME", 1, 139, 300000, 0, 6000000, 0, 3600000,13, -1,NULL }, - { "FADE_TIME", 1, 141, 5000, 0, 600000, 0, 60000,13, -1,NULL }, - { "SILENT_TIMEOUT", 1, 143, 3000, 0, 6000000, 0, 60000,13, -1,NULL }, - { "DETECT_LOOP", 1, 145, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "LOOP_NUM", 1, 147, 2, 0, 10000, 0, 20, 1, -1,NULL }, - { "LPF", 2, 149, 14000, 0, 200000, 0, 20000,15, -1,NULL }, - { "HPF", 2, 151, 90, 0, 200000, 0, 20000,15, -1,NULL }, - { "DOWNSAMPLE", 2, 153, 2, 0, 2, 0, 2, 6, 5,NULL }, - { "REGION", 3, 155, 0, 0, 6, 0, 6, 6, 6,NULL }, - { "CPU_NTSC", 3, 157, 1789772, 0, 4000000, 0, 4000000,17, -1,NULL }, - { "CPU_PAL", 3, 159, 1662607, 0, 4000000, 0, 4000000,17, -1,NULL }, - { "CPU_DENDY", 3, 161, 1773448, 0, 4000000, 0, 4000000,17, -1,NULL }, - { "FRAME_SPEED", 3, 163, 1000, 0, 1000000, 0, 16000,13, -1,NULL }, - { "FRAME_IGNORE", 3, 165, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "FRAME_NTSC", 3, 167, 600988, 0, 10000000, 0, 10000000,17, -1,NULL }, - { "FRAME_PAL", 3, 169, 500070, 0, 10000000, 0, 10000000,17, -1,NULL }, - { "FRAME_DENDY", 3, 171, 500070, 0, 10000000, 0, 10000000,17, -1,NULL }, - { "IRQ_ENABLE", 3, 173, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "APU1_NONLINEAR", 4, 175, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "APU1_UNMUTE", 4, 177, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "APU1_SWEEP_UNMUTE", 4, 179, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "APU1_PHASE_RESET", 4, 181, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "APU1_SWAP_DUTY", 4, 183, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "SQU0_ON", 4, 185, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "SQU0_VOL", 4, 187, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "SQU0_PAN", 4, 189, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "SQU0_COL", 4, 191, 16711680, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "SQU1_ON", 4, 193, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "SQU1_VOL", 4, 195, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "SQU1_PAN", 4, 197, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "SQU1_COL", 4, 199, 16711680, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "APU2_NONLINEAR", 5, 201, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "APU2_UNMUTE", 5, 203, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "TRI_MUTE0", 5, 205, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "TRI_RANDOM", 5, 207, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "NSE_PERIODIC", 5, 209, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "NSE_RANDOM", 5, 211, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "DPCM_4011", 5, 213, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "DPCM_REVERSE", 5, 215, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "TRI_ON", 5, 217, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "TRI_VOL", 5, 219, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "TRI_PAN", 5, 221, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "TRI_COL", 5, 223, 65280, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "NSE_ON", 5, 225, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "NSE_VOL", 5, 227, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "NSE_PAN", 5, 229, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "NSE_COL", 5, 231, 65280, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "DPCM_ON", 5, 233, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "DPCM_VOL", 5, 235, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "DPCM_PAN", 5, 237, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "DPCM_COL", 5, 239, 65280, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "FDS_LOWPASS", 6, 241, 2000, 0, 200000, 0, 20000,15, -1,NULL }, - { "FDS_MOD_RESET", 6, 243, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "FDS_WRITE_PROTECT", 6, 245, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "FDS_ON", 6, 247, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "FDS_VOL", 6, 249, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "FDS_PAN", 6, 251, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "FDS_COL", 6, 253, 33023, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "MMC5_NONLINEAR", 7, 255, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "MMC5_PHASE_RESET", 7, 257, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "MMC5_0_ON", 7, 259, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "MMC5_0_VOL", 7, 261, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "MMC5_0_PAN", 7, 263, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "MMC5_0_COL", 7, 265, 16760832, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "MMC5_1_ON", 7, 267, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "MMC5_1_VOL", 7, 269, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "MMC5_1_PAN", 7, 271, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "MMC5_1_COL", 7, 273, 16760832, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "MMC5_PCM_ON", 7, 275, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "MMC5_PCM_VOL", 7, 277, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "MMC5_PCM_PAN", 7, 279, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "MMC5_PCM_COL", 7, 281, 16760832, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "VRC6_0_ON", 8, 283, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC6_0_VOL", 8, 285, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "VRC6_0_PAN", 8, 287, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "VRC6_0_COL", 8, 289, 16744448, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "VRC6_1_ON", 8, 291, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC6_1_VOL", 8, 293, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "VRC6_1_PAN", 8, 295, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "VRC6_1_COL", 8, 297, 16744448, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "VRC6_SAW_ON", 8, 299, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC6_SAW_VOL", 8, 301, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "VRC6_SAW_PAN", 8, 303, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "VRC6_SAW_COL", 8, 305, 16744448, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "VRC7_OPLL", 9, 307, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC7_PATCH", 9, 309, 0, 0, 9, 0, 9, 6, 8,NULL }, - { "OPLL_PATCH", 9, 311, 1, 0, 9, 0, 9, 6, 8,NULL }, - { "VRC7_0_ON", 9, 313, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC7_0_VOL", 9, 315, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "VRC7_0_PAN", 9, 317, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "VRC7_0_COL", 9, 319, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "VRC7_1_ON", 9, 321, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC7_1_VOL", 9, 323, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "VRC7_1_PAN", 9, 325, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "VRC7_1_COL", 9, 327, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "VRC7_2_ON", 9, 329, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC7_2_VOL", 9, 331, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "VRC7_2_PAN", 9, 333, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "VRC7_2_COL", 9, 335, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "VRC7_3_ON", 9, 337, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC7_3_VOL", 9, 339, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "VRC7_3_PAN", 9, 341, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "VRC7_3_COL", 9, 343, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "VRC7_4_ON", 9, 345, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC7_4_VOL", 9, 347, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "VRC7_4_PAN", 9, 349, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "VRC7_4_COL", 9, 351, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "VRC7_5_ON", 9, 353, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "VRC7_5_VOL", 9, 355, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "VRC7_5_PAN", 9, 357, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "VRC7_5_COL", 9, 359, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "N163_MULTIPLEX", 10, 361, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_PHASE_PROTECT", 10, 363, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_SHORT_WAVE", 10, 365, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_0_ON", 10, 367, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_0_VOL", 10, 369, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "N163_0_PAN", 10, 371, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "N163_0_COL", 10, 373, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "N163_1_ON", 10, 375, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_1_VOL", 10, 377, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "N163_1_PAN", 10, 379, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "N163_1_COL", 10, 381, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "N163_2_ON", 10, 383, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_2_VOL", 10, 385, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "N163_2_PAN", 10, 387, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "N163_2_COL", 10, 389, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "N163_3_ON", 10, 391, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_3_VOL", 10, 393, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "N163_3_PAN", 10, 395, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "N163_3_COL", 10, 397, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "N163_4_ON", 10, 399, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_4_VOL", 10, 401, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "N163_4_PAN", 10, 403, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "N163_4_COL", 10, 405, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "N163_5_ON", 10, 407, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_5_VOL", 10, 409, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "N163_5_PAN", 10, 411, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "N163_5_COL", 10, 413, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "N163_6_ON", 10, 415, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_6_VOL", 10, 417, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "N163_6_PAN", 10, 419, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "N163_6_COL", 10, 421, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "N163_7_ON", 10, 423, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "N163_7_VOL", 10, 425, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "N163_7_PAN", 10, 427, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "N163_7_COL", 10, 429, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "S5B_MIXER", 11, 431, 0, 0, 1, 0, 1, 6, 0,NULL }, - { "S5B_0_ON", 11, 433, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "S5B_0_VOL", 11, 435, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "S5B_0_PAN", 11, 437, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "S5B_0_COL", 11, 439, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "S5B_1_ON", 11, 441, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "S5B_1_VOL", 11, 443, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "S5B_1_PAN", 11, 445, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "S5B_1_COL", 11, 447, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "S5B_2_ON", 11, 449, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "S5B_2_VOL", 11, 451, 500, 0, 8000, 0, 1000,14, -1,NULL }, - { "S5B_2_PAN", 11, 453, 500, 0, 1000, 0, 1000,14, -1,NULL }, - { "S5B_2_COL", 11, 455, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "S5B_N_ON", 11, 457, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "S5B_N_COL", 11, 459, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "S5B_E_ON", 11, 461, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "S5B_E_COL", 11, 463, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "WAVEOUT_SAMPLERATE", 12, 465, 0, -1, 4000000, -1, 4000000,17, -1,NULL }, - { "WAVEOUT_BITS", 12, 467, 3, 0, 3, 0, 3, 6, 4,NULL }, - { "WAVEOUT_STEREO", 12, 469, 2, 0, 2, 0, 2, 6, 1,NULL }, - { "SAMPLERATE_OVERRIDE", 13, 471, 0, -1, 4000000, -1, 4000000,17, -1,NULL }, - { "SHIFT_JIS", 13, 473, 2, 0, 2, 0, 2, 6, 9,NULL }, - { "EXPANSION_FDS", 13, 475, 2, 0, 2, 0, 2, 6, 1,NULL }, - { "EXPANSION_MMC5", 13, 477, 2, 0, 2, 0, 2, 6, 1,NULL }, - { "EXPANSION_VRC6", 13, 479, 2, 0, 2, 0, 2, 6, 1,NULL }, - { "EXPANSION_VRC7", 13, 481, 2, 0, 2, 0, 2, 6, 1,NULL }, - { "EXPANSION_N163", 13, 483, 2, 0, 2, 0, 2, 6, 1,NULL }, - { "EXPANSION_5B", 13, 485, 2, 0, 2, 0, 2, 6, 1,NULL }, - { "EXPANSION_VT02", 13, 487, 2, 0, 2, 0, 2, 6, 1,NULL }, - { "TEST_INT", 14, 489, 1, 0, 100, 10, 90, 1, -1,NULL }, - { "TEST_STR", 14, 491, 1, 0, 0, 0, 0, 3, -1,"test" }, - { "TEST_LIST", 14, 493, 1, 0, 1, 0, 1, 6, 0,NULL }, - { "TEST_HEX8", 14, 495, 255, 0, 255, 0, 255, 8, -1,NULL }, - { "TEST_HEX16", 14, 497, 65535, 0, 65535, 0, 65535, 9, -1,NULL }, - { "TEST_HEX32", 14, 499,2147483647,-2147483648,2147483647,-2147483648,2147483647,10, -1,NULL }, - { "TEST_COLOR", 14, 501, 1193046, 0, 16777215, 0, 16777215,12, -1,NULL }, - { "TEST_MSEC", 14, 503, 1234, 0, 10000, 0, 10000,13, -1,NULL }, - { "TEST_MILL", 14, 505, 1234, 0, 10000, 0, 10000,14, -1,NULL }, - { "TEST_KEY", 14, 507, 100, 0, 100, 0, 100,16, -1,NULL }, - { "TEST_PRECISE", 14, 509, 42, 0, 1000, 0, 1000,17, -1,NULL }, + { "VOLUME", 0, 125, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "SAMPLERATE", 0, 127, 4, 0, 7, 0, 7, 6, 2,NULL }, + { "STEREO", 0, 129, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "BITS", 0, 131, 1, 0, 2, 0, 2, 6, 3,NULL }, + { "TITLE_FORMAT", 0, 133, 0, 0, 0, 0, 0, 3, -1,"%L (%n/%e) %T - %A" }, + { "LOCALE", 0, 135, 0, 0, 0, 0, 0, 6, 11,NULL }, + { "CHANNEL_RESET", 1, 137, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "PLAY_START", 1, 139, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "PLAY_NEXT", 1, 141, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "ALBUM_LOOP", 1, 143, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "PLAYLIST", 1, 145, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "PLAY_TIME", 1, 147, 300000, 0, 6000000, 0, 3600000,13, -1,NULL }, + { "FADE_TIME", 1, 149, 5000, 0, 600000, 0, 60000,13, -1,NULL }, + { "SILENT_TIMEOUT", 1, 151, 3000, 0, 6000000, 0, 60000,13, -1,NULL }, + { "DETECT_LOOP", 1, 153, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "LOOP_NUM", 1, 155, 2, 0, 10000, 0, 20, 1, -1,NULL }, + { "LPF", 2, 157, 14000, 0, 200000, 0, 20000,15, -1,NULL }, + { "HPF", 2, 159, 90, 0, 200000, 0, 20000,15, -1,NULL }, + { "DOWNSAMPLE", 2, 161, 2, 0, 2, 0, 2, 6, 5,NULL }, + { "REGION", 3, 163, 0, 0, 6, 0, 6, 6, 6,NULL }, + { "CPU_NTSC", 3, 165, 1789772, 0, 4000000, 0, 4000000,17, -1,NULL }, + { "CPU_PAL", 3, 167, 1662607, 0, 4000000, 0, 4000000,17, -1,NULL }, + { "CPU_DENDY", 3, 169, 1773448, 0, 4000000, 0, 4000000,17, -1,NULL }, + { "FRAME_SPEED", 3, 171, 1000, 0, 1000000, 0, 16000,13, -1,NULL }, + { "FRAME_IGNORE", 3, 173, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "FRAME_NTSC", 3, 175, 600988, 0, 10000000, 0, 10000000,17, -1,NULL }, + { "FRAME_PAL", 3, 177, 500070, 0, 10000000, 0, 10000000,17, -1,NULL }, + { "FRAME_DENDY", 3, 179, 500070, 0, 10000000, 0, 10000000,17, -1,NULL }, + { "IRQ_ENABLE", 3, 181, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "APU1_NONLINEAR", 4, 183, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "APU1_UNMUTE", 4, 185, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "APU1_SWEEP_UNMUTE", 4, 187, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "APU1_PHASE_RESET", 4, 189, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "APU1_SWAP_DUTY", 4, 191, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "SQU0_ON", 4, 193, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "SQU0_VOL", 4, 195, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "SQU0_PAN", 4, 197, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "SQU0_COL", 4, 199, 16711680, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "SQU1_ON", 4, 201, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "SQU1_VOL", 4, 203, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "SQU1_PAN", 4, 205, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "SQU1_COL", 4, 207, 16711680, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "APU2_NONLINEAR", 5, 209, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "APU2_UNMUTE", 5, 211, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "TRI_MUTE0", 5, 213, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "TRI_RANDOM", 5, 215, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "NSE_PERIODIC", 5, 217, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "NSE_RANDOM", 5, 219, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "DPCM_4011", 5, 221, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "DPCM_REVERSE", 5, 223, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "TRI_ON", 5, 225, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "TRI_VOL", 5, 227, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "TRI_PAN", 5, 229, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "TRI_COL", 5, 231, 65280, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "NSE_ON", 5, 233, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "NSE_VOL", 5, 235, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "NSE_PAN", 5, 237, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "NSE_COL", 5, 239, 65280, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "DPCM_ON", 5, 241, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "DPCM_VOL", 5, 243, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "DPCM_PAN", 5, 245, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "DPCM_COL", 5, 247, 65280, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "FDS_LOWPASS", 6, 249, 2000, 0, 200000, 0, 20000,15, -1,NULL }, + { "FDS_MOD_RESET", 6, 251, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "FDS_WRITE_PROTECT", 6, 253, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "FDS_ON", 6, 255, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "FDS_VOL", 6, 257, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "FDS_PAN", 6, 259, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "FDS_COL", 6, 261, 33023, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "MMC5_NONLINEAR", 7, 263, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "MMC5_PHASE_RESET", 7, 265, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "MMC5_0_ON", 7, 267, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "MMC5_0_VOL", 7, 269, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "MMC5_0_PAN", 7, 271, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "MMC5_0_COL", 7, 273, 16760832, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "MMC5_1_ON", 7, 275, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "MMC5_1_VOL", 7, 277, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "MMC5_1_PAN", 7, 279, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "MMC5_1_COL", 7, 281, 16760832, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "MMC5_PCM_ON", 7, 283, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "MMC5_PCM_VOL", 7, 285, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "MMC5_PCM_PAN", 7, 287, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "MMC5_PCM_COL", 7, 289, 16760832, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "VRC6_0_ON", 8, 291, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC6_0_VOL", 8, 293, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "VRC6_0_PAN", 8, 295, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "VRC6_0_COL", 8, 297, 16744448, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "VRC6_1_ON", 8, 299, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC6_1_VOL", 8, 301, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "VRC6_1_PAN", 8, 303, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "VRC6_1_COL", 8, 305, 16744448, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "VRC6_SAW_ON", 8, 307, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC6_SAW_VOL", 8, 309, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "VRC6_SAW_PAN", 8, 311, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "VRC6_SAW_COL", 8, 313, 16744448, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "VRC7_OPLL", 9, 315, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC7_PATCH", 9, 317, 0, 0, 9, 0, 9, 6, 8,NULL }, + { "OPLL_PATCH", 9, 319, 1, 0, 9, 0, 9, 6, 8,NULL }, + { "VRC7_0_ON", 9, 321, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC7_0_VOL", 9, 323, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "VRC7_0_PAN", 9, 325, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "VRC7_0_COL", 9, 327, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "VRC7_1_ON", 9, 329, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC7_1_VOL", 9, 331, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "VRC7_1_PAN", 9, 333, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "VRC7_1_COL", 9, 335, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "VRC7_2_ON", 9, 337, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC7_2_VOL", 9, 339, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "VRC7_2_PAN", 9, 341, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "VRC7_2_COL", 9, 343, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "VRC7_3_ON", 9, 345, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC7_3_VOL", 9, 347, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "VRC7_3_PAN", 9, 349, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "VRC7_3_COL", 9, 351, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "VRC7_4_ON", 9, 353, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC7_4_VOL", 9, 355, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "VRC7_4_PAN", 9, 357, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "VRC7_4_COL", 9, 359, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "VRC7_5_ON", 9, 361, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "VRC7_5_VOL", 9, 363, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "VRC7_5_PAN", 9, 365, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "VRC7_5_COL", 9, 367, 8388863, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "N163_MULTIPLEX", 10, 369, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_PHASE_PROTECT", 10, 371, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_SHORT_WAVE", 10, 373, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_0_ON", 10, 375, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_0_VOL", 10, 377, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "N163_0_PAN", 10, 379, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "N163_0_COL", 10, 381, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "N163_1_ON", 10, 383, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_1_VOL", 10, 385, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "N163_1_PAN", 10, 387, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "N163_1_COL", 10, 389, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "N163_2_ON", 10, 391, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_2_VOL", 10, 393, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "N163_2_PAN", 10, 395, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "N163_2_COL", 10, 397, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "N163_3_ON", 10, 399, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_3_VOL", 10, 401, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "N163_3_PAN", 10, 403, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "N163_3_COL", 10, 405, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "N163_4_ON", 10, 407, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_4_VOL", 10, 409, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "N163_4_PAN", 10, 411, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "N163_4_COL", 10, 413, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "N163_5_ON", 10, 415, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_5_VOL", 10, 417, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "N163_5_PAN", 10, 419, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "N163_5_COL", 10, 421, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "N163_6_ON", 10, 423, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_6_VOL", 10, 425, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "N163_6_PAN", 10, 427, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "N163_6_COL", 10, 429, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "N163_7_ON", 10, 431, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "N163_7_VOL", 10, 433, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "N163_7_PAN", 10, 435, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "N163_7_COL", 10, 437, 16711808, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "S5B_MIXER", 11, 439, 0, 0, 1, 0, 1, 6, 0,NULL }, + { "S5B_0_ON", 11, 441, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "S5B_0_VOL", 11, 443, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "S5B_0_PAN", 11, 445, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "S5B_0_COL", 11, 447, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "S5B_1_ON", 11, 449, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "S5B_1_VOL", 11, 451, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "S5B_1_PAN", 11, 453, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "S5B_1_COL", 11, 455, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "S5B_2_ON", 11, 457, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "S5B_2_VOL", 11, 459, 500, 0, 8000, 0, 1000,14, -1,NULL }, + { "S5B_2_PAN", 11, 461, 500, 0, 1000, 0, 1000,14, -1,NULL }, + { "S5B_2_COL", 11, 463, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "S5B_N_ON", 11, 465, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "S5B_N_COL", 11, 467, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "S5B_E_ON", 11, 469, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "S5B_E_COL", 11, 471, 255, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "WAVEOUT_SAMPLERATE", 12, 473, 0, -1, 4000000, -1, 4000000,17, -1,NULL }, + { "WAVEOUT_BITS", 12, 475, 3, 0, 3, 0, 3, 6, 4,NULL }, + { "WAVEOUT_STEREO", 12, 477, 2, 0, 2, 0, 2, 6, 1,NULL }, + { "SAMPLERATE_OVERRIDE", 13, 479, 0, -1, 4000000, -1, 4000000,17, -1,NULL }, + { "SHIFT_JIS", 13, 481, 2, 0, 2, 0, 2, 6, 9,NULL }, + { "EXPANSION_FDS", 13, 483, 2, 0, 2, 0, 2, 6, 1,NULL }, + { "EXPANSION_MMC5", 13, 485, 2, 0, 2, 0, 2, 6, 1,NULL }, + { "EXPANSION_VRC6", 13, 487, 2, 0, 2, 0, 2, 6, 1,NULL }, + { "EXPANSION_VRC7", 13, 489, 2, 0, 2, 0, 2, 6, 1,NULL }, + { "EXPANSION_N163", 13, 491, 2, 0, 2, 0, 2, 6, 1,NULL }, + { "EXPANSION_5B", 13, 493, 2, 0, 2, 0, 2, 6, 1,NULL }, + { "EXPANSION_VT02", 13, 495, 2, 0, 2, 0, 2, 6, 1,NULL }, + { "TEST_INT", 14, 497, 1, 0, 100, 10, 90, 1, -1,NULL }, + { "TEST_STR", 14, 499, 1, 0, 0, 0, 0, 3, -1,"test" }, + { "TEST_LIST", 14, 501, 1, 0, 1, 0, 1, 6, 0,NULL }, + { "TEST_HEX8", 14, 503, 255, 0, 255, 0, 255, 8, -1,NULL }, + { "TEST_HEX16", 14, 505, 65535, 0, 65535, 0, 65535, 9, -1,NULL }, + { "TEST_HEX32", 14, 507,2147483647,-2147483648,2147483647,-2147483648,2147483647,10, -1,NULL }, + { "TEST_COLOR", 14, 509, 1193046, 0, 16777215, 0, 16777215,12, -1,NULL }, + { "TEST_MSEC", 14, 511, 1234, 0, 10000, 0, 10000,13, -1,NULL }, + { "TEST_MILL", 14, 513, 1234, 0, 10000, 0, 10000,14, -1,NULL }, + { "TEST_KEY", 14, 515, 100, 0, 100, 0, 100,16, -1,NULL }, + { "TEST_PRECISE", 14, 517, 42, 0, 1000, 0, 1000,17, -1,NULL }, }; typedef struct { const char* key; - int32_t text, type, display; // text+0 name, +1 desc + int32_t group, text, type, display; // text+0 name, +1 desc int32_t max_list, list; } NSFPropData; const NSFPropData NSFPD_PROP[NSFP_PROP_COUNT] = { - { "FILE_TYPE", 511,6, 6, 5, 10 }, - { "SONG_COUNT", 512,1, 1, 0, -1 }, - { "SONG_START", 513,1, 1, 0, -1 }, - { "NSF_VERSION", 514,1, 1, 0, -1 }, - { "LOAD_ADDR", 515,1, 9, 0, -1 }, - { "INIT_ADDR", 516,1, 9, 0, -1 }, - { "PLAY_ADDR", 517,1, 9, 0, -1 }, - { "TITLE", 518,3, 3, 0, -1 }, - { "ARTIST", 519,3, 3, 0, -1 }, - { "COPYRIGHT", 520,3, 3, 0, -1 }, - { "RIPPER", 521,3, 3, 0, -1 }, - { "SPEED_NTSC", 522,1, 1, 0, -1 }, - { "SPEED_PAL", 523,1, 1, 0, -1 }, - { "SPEED_DENDY", 524,1, 1, 0, -1 }, - { "BANKSWITCH", 525,5, 5, 0, -1 }, - { "REGION_NTSC", 526,1, 7, 0, -1 }, - { "REGION_PAL", 527,1, 7, 0, -1 }, - { "REGION_DENDY", 528,1, 7, 0, -1 }, - { "REGION_PREFER", 529,6, 6, 2, 7 }, - { "EXPANSION_FDS", 530,1, 7, 0, -1 }, - { "EXPANSION_MMC5", 531,1, 7, 0, -1 }, - { "EXPANSION_VRC6", 532,1, 7, 0, -1 }, - { "EXPANSION_VRC7", 533,1, 7, 0, -1 }, - { "EXPANSION_N163", 534,1, 7, 0, -1 }, - { "EXPANSION_5B", 535,1, 7, 0, -1 }, - { "EXPANSION_VT02", 536,1, 7, 0, -1 }, - { "NSF2", 537,1, 7, 0, -1 }, - { "NSF2_METADATA_OFF", 538,1,10, 0, -1 }, - { "NSF2_IRQ", 539,1, 7, 0, -1 }, - { "NSF2_INIT_NORETURN", 540,1, 7, 0, -1 }, - { "NSF2_NOPLAY", 541,1, 7, 0, -1 }, - { "NSF2_MANDATORY", 542,1, 7, 0, -1 }, - { "NSFE_PLAYLIST", 543,5, 5, 0, -1 }, - { "NSF_HEADER", 544,5, 5, 0, -1 }, - { "PLAYLIST_ACTIVE", 545,1, 7, 0, -1 }, - { "TEST_INT", 546,1, 1, 0, -1 }, - { "TEST_LONG", 547,1, 3, 0, -1 }, - { "TEST_STR", 548,3, 3, 0, -1 }, - { "TEST_LINES", 549,4, 4, 0, -1 }, - { "TEST_BLOB", 550,5, 5, 0, -1 }, - { "TEST_LIST", 551,6, 6, 1, 0 }, - { "TEST_HEX8", 552,1, 8, 0, -1 }, - { "TEST_HEX16", 553,1, 9, 0, -1 }, - { "TEST_HEX32", 554,1,10, 0, -1 }, - { "TEXT_HEX64", 555,2,11, 0, -1 }, - { "TEST_COLOR", 556,1,12, 0, -1 }, - { "TEST_MSEC", 557,1,13, 0, -1 }, - { "TEST_KEY", 558,1,16, 0, -1 }, - { "TEST_PRECISE", 559,1,17, 0, -1 }, -}; -const NSFPropData NSFPD_SONGPROP[NSFP_SONGPROP_COUNT] = { - { "TEST_INT", 560,1, 1, 0, -1 }, - { "TEST_LONG", 561,1, 3, 0, -1 }, - { "TEST_STR", 562,3, 3, 0, -1 }, - { "TEST_LINES", 563,4, 4, 0, -1 }, - { "TEST_BLOB", 564,5, 5, 0, -1 }, - { "TEST_LIST", 565,6, 6, 1, 0 }, - { "TEST_HEX8", 566,1, 8, 1, -1 }, - { "TEST_HEX16", 567,1, 9, 1, -1 }, - { "TEST_HEX32", 568,1,10, 1, -1 }, - { "TEXT_HEX64", 569,2,11, 1, -1 }, - { "TEST_COLOR", 570,1,12, 1, -1 }, - { "TEST_MSEC", 571,1,13, 1, -1 }, - { "TEST_KEY", 572,1,16, 1, -1 }, - { "TEST_PRECISE", 573,1,17, 1, -1 }, + { "FILE_TYPE",15, 519,6, 6, 5, 10 }, + { "NSF_SONG_COUNT",15, 520,1, 1, 0, -1 }, + { "NSF_SONG_START",15, 521,1, 1, 0, -1 }, + { "NSF_VERSION",15, 522,1, 1, 0, -1 }, + { "LOAD_ADDR",15, 523,1, 9, 0, -1 }, + { "INIT_ADDR",15, 524,1, 9, 0, -1 }, + { "PLAY_ADDR",15, 525,1, 9, 0, -1 }, + { "TITLE",15, 526,3, 3, 0, -1 }, + { "ARTIST",15, 527,3, 3, 0, -1 }, + { "COPYRIGHT",15, 528,3, 3, 0, -1 }, + { "RIPPER",15, 529,3, 3, 0, -1 }, + { "SPEED_NTSC",15, 530,1, 1, 0, -1 }, + { "SPEED_PAL",15, 531,1, 1, 0, -1 }, + { "SPEED_DENDY",15, 532,1, 1, 0, -1 }, + { "BANKSWITCH",15, 533,5, 5, 0, -1 }, + { "REGION_NTSC",15, 534,1, 7, 0, -1 }, + { "REGION_PAL",15, 535,1, 7, 0, -1 }, + { "REGION_DENDY",15, 536,1, 7, 0, -1 }, + { "REGION_PREFER",15, 537,6, 6, 2, 7 }, + { "EXPANSION_FDS",15, 538,1, 7, 0, -1 }, + { "EXPANSION_MMC5",15, 539,1, 7, 0, -1 }, + { "EXPANSION_VRC6",15, 540,1, 7, 0, -1 }, + { "EXPANSION_VRC7",15, 541,1, 7, 0, -1 }, + { "EXPANSION_N163",15, 542,1, 7, 0, -1 }, + { "EXPANSION_5B",15, 543,1, 7, 0, -1 }, + { "EXPANSION_VT02",15, 544,1, 7, 0, -1 }, + { "NSF2",15, 545,1, 7, 0, -1 }, + { "NSF2_METADATA_OFF",15, 546,1,10, 0, -1 }, + { "NSF2_IRQ",15, 547,1, 7, 0, -1 }, + { "NSF2_INIT_NORETURN",15, 548,1, 7, 0, -1 }, + { "NSF2_NOPLAY",15, 549,1, 7, 0, -1 }, + { "NSF2_MANDATORY",15, 550,1, 7, 0, -1 }, + { "NSFE_PLAYLIST",15, 551,5, 5, 0, -1 }, + { "NSF_HEADER",15, 552,5, 5, 0, -1 }, + { "ACTIVE_SONG_COUNT",16, 553,1, 1, 0, -1 }, + { "ACTIVE_SONG_START",16, 554,1, 1, 0, -1 }, + { "ACTIVE_PLAYLIST",16, 555,1, 7, 0, -1 }, + { "TEST_INT",17, 556,1, 1, 0, -1 }, + { "TEST_LONG",17, 557,1, 3, 0, -1 }, + { "TEST_STR",17, 558,3, 3, 0, -1 }, + { "TEST_LINES",17, 559,4, 4, 0, -1 }, + { "TEST_BLOB",17, 560,5, 5, 0, -1 }, + { "TEST_LIST",17, 561,6, 6, 1, 0 }, + { "TEST_HEX8",17, 562,1, 8, 0, -1 }, + { "TEST_HEX16",17, 563,1, 9, 0, -1 }, + { "TEST_HEX32",17, 564,1,10, 0, -1 }, + { "TEXT_HEX64",17, 565,2,11, 0, -1 }, + { "TEST_COLOR",17, 566,1,12, 0, -1 }, + { "TEST_MSEC",17, 567,1,13, 0, -1 }, + { "TEST_KEY",17, 568,1,16, 0, -1 }, + { "TEST_PRECISE",17, 569,1,17, 0, -1 }, + { "SONG_TITLE",18, 570,3, 3, 0, -1 }, }; #if !(NSFP_NOTEXT) -const int32_t NSFPD_LOCAL_TEXT[NSFP_LOCALE_COUNT][602] = { +const int32_t NSFPD_LOCAL_TEXT[NSFP_LOCALE_COUNT][599] = { { 0x000000,0x00000F,0x000018,0x000021,0x00002F,0x00003D,0x000085,0x0000DA,0x0000F0,0x00011D,0x000138,0x00016A,0x00017E,0x0001A0,0x0001DA,0x000238, 0x000249,0x00025A,0x0002B1,0x00042F,0x000440,0x000457,0x000478,0x00049C,0x0004A6,0x0004B0,0x0004B5,0x0004E8,0x0004F1,0x000518,0x00051E,0x000550, 0x00055A,0x00058B,0x000590,0x0005AC,0x0005B1,0x0005D1,0x0005D5,0x0005FD,0x000602,0x00061F,0x000624,0x00064E,0x000653,0x00069A,0x00069F,0x0006C2, - 0x0006C5,0x00071B,0x000726,0x000764,0x00076D,0x00079F,0x00079F,0x0007A4,0x0007AA,0x0007B3,0x0007B9,0x0007C2,0x0007C8,0x0007D1,0x0007D7,0x0007DD, - 0x0007E3,0x0005D1,0x0005D1,0x0007E8,0x0007EF,0x0007FD,0x000804,0x000812,0x000819,0x000822,0x000829,0x000836,0x00083D,0x00084A,0x000851,0x00085A, - 0x000861,0x00086B,0x000872,0x00087C,0x000883,0x00088D,0x000894,0x00089E,0x0008A5,0x0008AF,0x0008B6,0x0008C0,0x0008C7,0x0008D3,0x0008DA,0x0008E6, - 0x0008ED,0x0008F9,0x000900,0x00090C,0x000913,0x00091F,0x000926,0x000932,0x000939,0x000945,0x00094C,0x000958,0x00095D,0x000971,0x000976,0x00098A, - 0x00098F,0x0009A3,0x0009A8,0x0009B9,0x0009BE,0x0009D2,0x0009D9,0x0009F0,0x0009FB,0x000A14,0x000A1B,0x000A43,0x000A4D,0x000A65,0x000A7B,0x000B42, - 0x000B4B,0x000B5D,0x000B6B,0x000B9D,0x000BA8,0x000BD9,0x000BE3,0x000C06,0x000C11,0x000C4B,0x000C54,0x000C85,0x000C8F,0x000CBA,0x000CC4,0x000CF6, - 0x000D06,0x000D39,0x000D48,0x000D68,0x000D73,0x000DE6,0x000DF5,0x000E2D,0x000E3D,0x000E89,0x000E96,0x000ED0,0x000ED7,0x000F2B,0x000F39,0x000F5C, - 0x000F69,0x000F8B,0x000F9A,0x000FBE,0x000FC4,0x000FF7,0x001007,0x001062,0x001071,0x0010A1,0x0010AF,0x0010DE,0x0010EE,0x00111F,0x001130,0x001183, - 0x001191,0x0011DB,0x0011E9,0x001226,0x001234,0x001292,0x00129E,0x00132E,0x001338,0x001381,0x00138D,0x00139F,0x0013AF,0x0013C0,0x0013CD,0x0013DF, - 0x0013EF,0x00140E,0x00141A,0x00142C,0x00143C,0x00144D,0x00145A,0x00146C,0x00147C,0x001183,0x00149B,0x0011DB,0x0011E9,0x0014F8,0x001508,0x0015C2, - 0x0015D5,0x0015FD,0x00160C,0x00166C,0x00167C,0x0016A1,0x0016AC,0x001771,0x001782,0x001848,0x001854,0x001866,0x001876,0x001887,0x001894,0x0018A6, - 0x0018B6,0x0018D5,0x0018DE,0x0018ED,0x0018FA,0x001908,0x001912,0x001921,0x00192E,0x00194A,0x001952,0x001960,0x00196C,0x001979,0x001982,0x001990, - 0x00199C,0x0019B7,0x0019BF,0x001A2C,0x001A42,0x001B2E,0x001B3C,0x001BD3,0x001BDA,0x001BE7,0x001BF2,0x001BFE,0x001C06,0x001C13,0x001C1E,0x001183, - 0x001191,0x001292,0x001C38,0x001C96,0x001CA7,0x001CBE,0x001CD3,0x001CE9,0x001CFB,0x001D12,0x001D27,0x001D4B,0x001D5C,0x001D73,0x001D88,0x001D9E, - 0x001DB0,0x001DC7,0x001DDC,0x001E00,0x001E0C,0x001E1E,0x001E2E,0x001E3F,0x001E4C,0x001E5E,0x001E6E,0x001E8D,0x001E9D,0x001EB3,0x001EC7,0x001EDC, - 0x001EED,0x001F03,0x001F17,0x001F3A,0x001F4A,0x001F60,0x001F74,0x001F89,0x001F9A,0x001FB0,0x001FC4,0x001FE7,0x001FF3,0x002005,0x002015,0x002026, - 0x002033,0x002045,0x002055,0x002074,0x00207E,0x0020B5,0x0020C4,0x002174,0x002183,0x0021CB,0x0021D8,0x0021EB,0x0021FC,0x00220E,0x00221C,0x00222F, - 0x002240,0x002260,0x00226D,0x002280,0x002291,0x0022A3,0x0022B1,0x0022C4,0x0022D5,0x0022F5,0x002302,0x002315,0x002326,0x002338,0x002346,0x002359, - 0x00236A,0x00238A,0x002397,0x0023AA,0x0023BB,0x0023CD,0x0023DB,0x0023EE,0x0023FF,0x00241F,0x00242C,0x00243F,0x002450,0x002462,0x002470,0x002483, - 0x002494,0x0024B4,0x0024C1,0x0024D4,0x0024E5,0x0024F7,0x002505,0x002518,0x002529,0x002549,0x002553,0x0026DC,0x0026EA,0x0027B7,0x0027C6,0x0028A7, - 0x0028B6,0x0028CB,0x0028DE,0x0028F2,0x002902,0x002917,0x00292A,0x00294C,0x00295B,0x002970,0x002983,0x002997,0x0029A7,0x0029BC,0x0029CF,0x0029F1, - 0x002A00,0x002A15,0x002A28,0x002A3C,0x002A4C,0x002A61,0x002A74,0x002A96,0x002AA5,0x002ABA,0x002ACD,0x002AE1,0x002AF1,0x002B06,0x002B19,0x002B3B, - 0x002B4A,0x002B5F,0x002B72,0x002B86,0x002B96,0x002BAB,0x002BBE,0x002BE0,0x002BEF,0x002C04,0x002C17,0x002C2B,0x002C3B,0x002C50,0x002C63,0x002C85, - 0x002C94,0x002CA9,0x002CBC,0x002CD0,0x002CE0,0x002CF5,0x002D08,0x002D2A,0x002D39,0x002D4E,0x002D61,0x002D75,0x002D85,0x002D9A,0x002DAD,0x002DCF, - 0x002DD8,0x002E7A,0x002E91,0x002EAE,0x002EC9,0x002EE5,0x002EFD,0x002F1A,0x002F35,0x002F5F,0x002F76,0x002F93,0x002FAE,0x002FCA,0x002FE2,0x002FFF, - 0x00301A,0x003044,0x00305B,0x003078,0x003093,0x0030AF,0x0030C7,0x0030E4,0x0030FF,0x003129,0x00313D,0x003157,0x00316F,0x003188,0x00319D,0x0031B7, - 0x0031CF,0x0009F0,0x0031F6,0x000A43,0x003267,0x000A14,0x00329D,0x0032D8,0x0032EC,0x003364,0x00336E,0x00342A,0x003438,0x003452,0x003461,0x00347C, - 0x00348B,0x0034A6,0x0034B5,0x0034D0,0x0034DF,0x0034FA,0x003507,0x003520,0x003530,0x00354C,0x00354C,0x003555,0x003555,0x00355E,0x00355E,0x003568, - 0x003568,0x003572,0x003572,0x00357D,0x00357D,0x003588,0x003588,0x003593,0x003593,0x00359D,0x00359D,0x0035A7,0x0035A7,0x0035B0,0x0035B0,0x0035BD, - 0x0035C7,0x0035D2,0x0035E0,0x0035EC,0x0035F9,0x003606,0x003613,0x00361D,0x003628,0x003636,0x003641,0x003650,0x00365E,0x00366E,0x00367D,0x003689, - 0x003694,0x0036A1,0x0036B2,0x0036C0,0x0036CF,0x0036DE,0x0036ED,0x0036FC,0x003709,0x003718,0x00371D,0x003731,0x00373A,0x003752,0x003767,0x003784, - 0x003795,0x0037A9,0x00354C,0x0037B9,0x003555,0x0037C3,0x0037CE,0x00355E,0x003568,0x003572,0x00357D,0x0037D8,0x003588,0x003593,0x0035A7,0x0035B0, - 0x00354C,0x0037B9,0x003555,0x0037C3,0x0037CE,0x00355E,0x003568,0x003572,0x00357D,0x0037D8,0x003588,0x003593,0x0035A7,0x0035B0,0x0037E3,0x0037E8, - 0x0037ED,0x0037F5,0x0037FB,0x003804,0x00380B,0x003815,0x00381E,0x003827,0x003834,0x003845,0x003856,0x003866,0x003879,0x00389D,0x0038A9,0x0038B9, - 0x003879,0x0038CB,0x0038F3,0x003914,0x003937,0x00394E,0x003964,0x00398B,0x0039A5,0x0039C6, + 0x0006C5,0x00071B,0x000726,0x000764,0x00076D,0x00079F,0x00079F,0x0007A4,0x0007A8,0x0007BC,0x0007C3,0x0007DB,0x0007DB,0x0007E1,0x0007E6,0x0007F6, + 0x0007FC,0x000805,0x00080B,0x000814,0x00081A,0x000823,0x000829,0x00082F,0x000835,0x0005D1,0x0005D1,0x00083A,0x000841,0x00084F,0x000856,0x000864, + 0x00086B,0x000874,0x00087B,0x000888,0x00088F,0x00089C,0x0008A3,0x0008AC,0x0008B3,0x0008BD,0x0008C4,0x0008CE,0x0008D5,0x0008DF,0x0008E6,0x0008F0, + 0x0008F7,0x000901,0x000908,0x000912,0x000919,0x000925,0x00092C,0x000938,0x00093F,0x00094B,0x000952,0x00095E,0x000965,0x000971,0x000978,0x000984, + 0x00098B,0x000997,0x00099E,0x0009AA,0x0009AF,0x0009C3,0x0009C8,0x0009DC,0x0009E1,0x0009F5,0x0009FA,0x000A0B,0x000A10,0x000A24,0x000A2B,0x000A42, + 0x000A4D,0x000A66,0x000A6D,0x000A95,0x000A9F,0x000AB7,0x000ACD,0x000B94,0x000B9D,0x000BAF,0x000BBD,0x000BEF,0x000BFA,0x000C2B,0x000C35,0x000C58, + 0x000C63,0x000C9D,0x000CA6,0x000CD7,0x000CE1,0x000D0C,0x000D16,0x000D48,0x000D58,0x000D8B,0x000D9A,0x000DBA,0x000DC5,0x000E38,0x000E47,0x000E7F, + 0x000E8F,0x000EDB,0x000EE8,0x000F22,0x000F29,0x000F7D,0x000F8B,0x000FAE,0x000FBB,0x000FDD,0x000FEC,0x001010,0x001016,0x001049,0x001059,0x0010B4, + 0x0010C3,0x0010F3,0x001101,0x001130,0x001140,0x001171,0x001182,0x0011D5,0x0011E3,0x00122D,0x00123B,0x001278,0x001286,0x0012E4,0x0012F0,0x001380, + 0x00138A,0x0013D3,0x0013DF,0x0013F1,0x001401,0x001412,0x00141F,0x001431,0x001441,0x001460,0x00146C,0x00147E,0x00148E,0x00149F,0x0014AC,0x0014BE, + 0x0014CE,0x0011D5,0x0014ED,0x00122D,0x00123B,0x00154A,0x00155A,0x001614,0x001627,0x00164F,0x00165E,0x0016BE,0x0016CE,0x0016F3,0x0016FE,0x0017C3, + 0x0017D4,0x00189A,0x0018A6,0x0018B8,0x0018C8,0x0018D9,0x0018E6,0x0018F8,0x001908,0x001927,0x001930,0x00193F,0x00194C,0x00195A,0x001964,0x001973, + 0x001980,0x00199C,0x0019A4,0x0019B2,0x0019BE,0x0019CB,0x0019D4,0x0019E2,0x0019EE,0x001A09,0x001A11,0x001A7E,0x001A94,0x001B80,0x001B8E,0x001C25, + 0x001C2C,0x001C39,0x001C44,0x001C50,0x001C58,0x001C65,0x001C70,0x0011D5,0x0011E3,0x0012E4,0x001C8A,0x001CE8,0x001CF9,0x001D10,0x001D25,0x001D3B, + 0x001D4D,0x001D64,0x001D79,0x001D9D,0x001DAE,0x001DC5,0x001DDA,0x001DF0,0x001E02,0x001E19,0x001E2E,0x001E52,0x001E5E,0x001E70,0x001E80,0x001E91, + 0x001E9E,0x001EB0,0x001EC0,0x001EDF,0x001EEF,0x001F05,0x001F19,0x001F2E,0x001F3F,0x001F55,0x001F69,0x001F8C,0x001F9C,0x001FB2,0x001FC6,0x001FDB, + 0x001FEC,0x002002,0x002016,0x002039,0x002045,0x002057,0x002067,0x002078,0x002085,0x002097,0x0020A7,0x0020C6,0x0020D0,0x002107,0x002116,0x0021C6, + 0x0021D5,0x00221D,0x00222A,0x00223D,0x00224E,0x002260,0x00226E,0x002281,0x002292,0x0022B2,0x0022BF,0x0022D2,0x0022E3,0x0022F5,0x002303,0x002316, + 0x002327,0x002347,0x002354,0x002367,0x002378,0x00238A,0x002398,0x0023AB,0x0023BC,0x0023DC,0x0023E9,0x0023FC,0x00240D,0x00241F,0x00242D,0x002440, + 0x002451,0x002471,0x00247E,0x002491,0x0024A2,0x0024B4,0x0024C2,0x0024D5,0x0024E6,0x002506,0x002513,0x002526,0x002537,0x002549,0x002557,0x00256A, + 0x00257B,0x00259B,0x0025A5,0x00272E,0x00273C,0x002809,0x002818,0x0028F9,0x002908,0x00291D,0x002930,0x002944,0x002954,0x002969,0x00297C,0x00299E, + 0x0029AD,0x0029C2,0x0029D5,0x0029E9,0x0029F9,0x002A0E,0x002A21,0x002A43,0x002A52,0x002A67,0x002A7A,0x002A8E,0x002A9E,0x002AB3,0x002AC6,0x002AE8, + 0x002AF7,0x002B0C,0x002B1F,0x002B33,0x002B43,0x002B58,0x002B6B,0x002B8D,0x002B9C,0x002BB1,0x002BC4,0x002BD8,0x002BE8,0x002BFD,0x002C10,0x002C32, + 0x002C41,0x002C56,0x002C69,0x002C7D,0x002C8D,0x002CA2,0x002CB5,0x002CD7,0x002CE6,0x002CFB,0x002D0E,0x002D22,0x002D32,0x002D47,0x002D5A,0x002D7C, + 0x002D8B,0x002DA0,0x002DB3,0x002DC7,0x002DD7,0x002DEC,0x002DFF,0x002E21,0x002E2A,0x002ECC,0x002EE3,0x002F00,0x002F1B,0x002F37,0x002F4F,0x002F6C, + 0x002F87,0x002FB1,0x002FC8,0x002FE5,0x003000,0x00301C,0x003034,0x003051,0x00306C,0x003096,0x0030AD,0x0030CA,0x0030E5,0x003101,0x003119,0x003136, + 0x003151,0x00317B,0x00318F,0x0031A9,0x0031C1,0x0031DA,0x0031EF,0x003209,0x003221,0x000A42,0x003248,0x000A95,0x0032B9,0x000A66,0x0032EF,0x00332A, + 0x00333E,0x0033B6,0x0033C0,0x00347C,0x00348A,0x0034A4,0x0034B3,0x0034CE,0x0034DD,0x0034F8,0x003507,0x003522,0x003531,0x00354C,0x003559,0x003572, + 0x003582,0x00359E,0x00359E,0x0035A7,0x0035A7,0x0035B0,0x0035B0,0x0035BA,0x0035BA,0x0035C4,0x0035C4,0x0035CF,0x0035CF,0x0035DA,0x0035DA,0x0035E5, + 0x0035E5,0x0035EF,0x0035EF,0x0035F9,0x0035F9,0x003602,0x003602,0x00360F,0x003619,0x003624,0x003632,0x00363E,0x00364B,0x003658,0x003665,0x00366F, + 0x00367A,0x003688,0x003693,0x0036A2,0x0036B0,0x0036C0,0x0036CF,0x0036DB,0x0036E6,0x0036F3,0x003704,0x003712,0x003721,0x003730,0x00373F,0x00374E, + 0x00375B,0x00376A,0x00376F,0x003783,0x00378C,0x0037A4,0x0037B9,0x0037D6,0x0037E7,0x0037FB,0x00380D,0x00381F,0x00359E,0x00382F,0x0035A7,0x003839, + 0x003844,0x0035B0,0x0035BA,0x0035C4,0x0035CF,0x00384E,0x0035DA,0x0035E5,0x0035F9,0x003602,0x003859,0x003864,0x003869,0x00386E,0x003876,0x00387C, + 0x003885,0x00388C,0x003896,0x00389F,0x0038A8,0x0038B5,0x0038C6,0x0038D7,0x0038E7,0x0038FA,0x00391E,0x00392A,0x00393A,0x0038FA,0x00394C,0x003974, + 0x003995,0x0039B8,0x0039CF,0x0039E5,0x003A0C,0x003A26,0x003A47, }, }; -const uint8_t NSFPD_LOCAL_TEXT_DATA[0x0039E7] = { +const uint8_t NSFPD_LOCAL_TEXT_DATA[0x003A68] = { 0x3C,0x4D,0x49,0x53,0x53,0x49,0x4E,0x47,0x20,0x54,0x45,0x58,0x54,0x3E,0x00,0x4F,0x46,0x46,0x00,0x4F,0x4E,0x00,0x00,0x00,0x4F,0x66,0x66,0x00,0x4F,0x6E,0x00,0x00, 0x00,0x4F,0x46,0x46,0x00,0x4F,0x4E,0x00,0x41,0x55,0x54,0x4F,0x00,0x00,0x00,0x4F,0x66,0x66,0x00,0x4F,0x6E,0x00,0x41,0x75,0x74,0x6F,0x00,0x00,0x00,0x53,0x52,0x5F, 0x38,0x30,0x30,0x30,0x00,0x53,0x52,0x5F,0x31,0x31,0x30,0x32,0x35,0x00,0x53,0x52,0x5F,0x32,0x32,0x30,0x35,0x30,0x00,0x53,0x52,0x5F,0x34,0x34,0x31,0x30,0x30,0x00, @@ -459,409 +450,413 @@ const uint8_t NSFPD_LOCAL_TEXT_DATA[0x0039E7] = { 0x76,0x65,0x72,0x72,0x69,0x64,0x65,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x67,0x75,0x6C,0x61,0x72,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x73,0x65,0x74,0x74,0x69, 0x6E,0x67,0x73,0x00,0x41,0x64,0x76,0x61,0x6E,0x63,0x65,0x64,0x00,0x41,0x64,0x76,0x61,0x6E,0x63,0x65,0x64,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x3A,0x20, 0x73,0x70,0x65,0x63,0x69,0x66,0x69,0x63,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x2C,0x20,0x73,0x68,0x69,0x66,0x74,0x2D,0x4A,0x49,0x53,0x00,0x54, - 0x45,0x53,0x54,0x00,0x4E,0x45,0x53,0x3A,0x30,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x00,0x4E,0x45,0x53,0x3A,0x31,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20, - 0x31,0x00,0x4E,0x45,0x53,0x3A,0x54,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x00,0x4E,0x45,0x53,0x3A,0x4E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x00,0x4E,0x45,0x53, - 0x3A,0x44,0x00,0x44,0x50,0x43,0x4D,0x00,0x4D,0x4D,0x43,0x35,0x3A,0x30,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x00,0x4D,0x4D,0x43, - 0x35,0x3A,0x31,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x00,0x4D,0x4D,0x43,0x35,0x3A,0x50,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43, - 0x4D,0x00,0x56,0x52,0x43,0x36,0x3A,0x30,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x00,0x56,0x52,0x43,0x36,0x3A,0x31,0x00,0x56,0x52,0x43, - 0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x00,0x56,0x52,0x43,0x36,0x3A,0x53,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x00,0x56,0x52,0x43,0x37,0x3A,0x30, - 0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x00,0x56,0x52,0x43,0x37,0x3A,0x31,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x00,0x56,0x52,0x43,0x37, - 0x3A,0x32,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x00,0x56,0x52,0x43,0x37,0x3A,0x33,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x00,0x56,0x52, - 0x43,0x37,0x3A,0x34,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x00,0x56,0x52,0x43,0x37,0x3A,0x35,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x00, - 0x4E,0x31,0x36,0x33,0x3A,0x30,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x00,0x4E,0x31,0x36,0x33,0x3A,0x31,0x00,0x4E,0x31,0x36,0x33,0x20,0x57, - 0x61,0x76,0x65,0x20,0x31,0x00,0x4E,0x31,0x36,0x33,0x3A,0x32,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x00,0x4E,0x31,0x36,0x33,0x3A,0x33,0x00, - 0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x00,0x4E,0x31,0x36,0x33,0x3A,0x34,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x00,0x4E, - 0x31,0x36,0x33,0x3A,0x35,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x00,0x4E,0x31,0x36,0x33,0x3A,0x36,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61, - 0x76,0x65,0x20,0x36,0x00,0x4E,0x31,0x36,0x33,0x3A,0x37,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x00,0x35,0x42,0x3A,0x30,0x00,0x53,0x75,0x6E, - 0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x00,0x35,0x42,0x3A,0x31,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42, - 0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x00,0x35,0x42,0x3A,0x32,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65, - 0x20,0x32,0x00,0x35,0x42,0x3A,0x4E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x00,0x35,0x42,0x3A,0x45,0x00,0x53,0x75, - 0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x45,0x6E,0x76,0x65,0x6C,0x6F,0x70,0x65,0x00,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x54,0x6F,0x74,0x61,0x6C,0x20,0x6F, - 0x75,0x74,0x70,0x75,0x74,0x20,0x6C,0x6F,0x75,0x64,0x6E,0x65,0x73,0x73,0x2E,0x00,0x53,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x00,0x41,0x75,0x64,0x69,0x6F, - 0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x2E,0x00,0x53,0x74,0x65,0x72,0x65,0x6F,0x00,0x44,0x69,0x73,0x61,0x62, - 0x6C,0x65,0x20,0x74,0x6F,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x31,0x2D,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x6D,0x6F,0x6E,0x6F,0x20,0x73,0x6F,0x75,0x6E, - 0x64,0x2E,0x00,0x42,0x69,0x74,0x20,0x44,0x65,0x70,0x74,0x68,0x00,0x41,0x75,0x64,0x69,0x6F,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x62,0x69,0x74,0x20,0x64,0x65, - 0x70,0x74,0x68,0x2E,0x00,0x4E,0x53,0x46,0x20,0x73,0x6F,0x6E,0x67,0x20,0x74,0x69,0x74,0x6C,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x00,0x46,0x6F,0x72,0x6D,0x61, - 0x74,0x3A,0x20,0x25,0x46,0x20,0x66,0x69,0x6C,0x65,0x6E,0x61,0x6D,0x65,0x2C,0x20,0x25,0x50,0x20,0x70,0x61,0x74,0x68,0x2C,0x20,0x25,0x54,0x20,0x4E,0x53,0x46,0x20, - 0x74,0x69,0x74,0x6C,0x65,0x2C,0x20,0x25,0x41,0x20,0x4E,0x53,0x46,0x20,0x61,0x72,0x74,0x69,0x73,0x74,0x2C,0x20,0x25,0x43,0x20,0x4E,0x53,0x46,0x20,0x63,0x6F,0x70, - 0x79,0x72,0x69,0x67,0x68,0x74,0x2C,0x20,0x25,0x4C,0x20,0x4E,0x53,0x46,0x65,0x20,0x73,0x6F,0x6E,0x67,0x20,0x74,0x69,0x74,0x6C,0x65,0x2C,0x20,0x25,0x4E,0x2F,0x25, - 0x6E,0x20,0x73,0x6F,0x6E,0x67,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x28,0x25,0x6E,0x20,0x69,0x73,0x20,0x33,0x2D,0x64,0x69,0x67,0x69,0x74,0x20,0x77,0x69,0x74, - 0x68,0x20,0x6C,0x65,0x61,0x64,0x69,0x6E,0x67,0x20,0x7A,0x65,0x72,0x6F,0x65,0x73,0x29,0x2C,0x20,0x25,0x53,0x2F,0x25,0x73,0x20,0x4E,0x53,0x46,0x20,0x73,0x74,0x61, - 0x72,0x74,0x69,0x6E,0x67,0x20,0x73,0x6F,0x6E,0x67,0x2C,0x20,0x25,0x45,0x2F,0x25,0x65,0x20,0x4E,0x53,0x46,0x20,0x73,0x6F,0x6E,0x67,0x20,0x63,0x6F,0x75,0x6E,0x74, - 0x2E,0x00,0x4C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x00,0x44,0x69,0x73,0x70,0x6C,0x61,0x79,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x2E,0x00,0x43,0x68,0x61, - 0x6E,0x6E,0x65,0x6C,0x20,0x52,0x65,0x73,0x65,0x74,0x00,0x54,0x75,0x72,0x6E,0x20,0x61,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x20,0x6F,0x6E,0x20, - 0x77,0x68,0x65,0x6E,0x65,0x76,0x65,0x72,0x20,0x70,0x6C,0x61,0x79,0x69,0x6E,0x67,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x73,0x6F,0x6E,0x67,0x2E,0x00,0x41,0x75,0x74, - 0x6F,0x20,0x53,0x74,0x61,0x72,0x74,0x00,0x41,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x61,0x6C,0x6C,0x79,0x20,0x70,0x6C,0x61,0x79,0x20,0x77,0x68,0x65,0x6E,0x20, - 0x61,0x20,0x6E,0x65,0x77,0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x69,0x73,0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64,0x2E,0x00,0x41,0x75,0x74,0x6F,0x20,0x4E,0x65, - 0x78,0x74,0x00,0x41,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x61,0x6C,0x6C,0x79,0x20,0x70,0x6C,0x61,0x79,0x20,0x74,0x68,0x65,0x20,0x6E,0x65,0x78,0x74,0x20,0x74, - 0x72,0x61,0x63,0x6B,0x2E,0x00,0x41,0x6C,0x62,0x75,0x6D,0x20,0x4C,0x6F,0x6F,0x70,0x00,0x52,0x65,0x73,0x74,0x61,0x72,0x74,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68, - 0x65,0x20,0x66,0x69,0x72,0x73,0x74,0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x61,0x66,0x74,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x6C,0x61,0x73,0x74,0x20,0x6F,0x6E,0x65, - 0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x73,0x2E,0x00,0x50,0x6C,0x61,0x79,0x6C,0x69,0x73,0x74,0x00,0x55,0x73,0x65,0x20,0x4E,0x53,0x46,0x65,0x20,0x70,0x6C,0x61, - 0x79,0x6C,0x69,0x73,0x74,0x20,0x66,0x6F,0x72,0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x6F,0x72,0x64,0x65,0x72,0x2C,0x20,0x69,0x66,0x20,0x61,0x76,0x61,0x69,0x6C,0x61, - 0x62,0x6C,0x65,0x2E,0x00,0x50,0x6C,0x61,0x79,0x20,0x54,0x69,0x6D,0x65,0x00,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x20,0x6C,0x65,0x6E,0x67,0x74,0x68,0x20,0x6F,0x66, - 0x20,0x61,0x20,0x74,0x72,0x61,0x63,0x6B,0x2C,0x20,0x30,0x20,0x66,0x6F,0x72,0x20,0x69,0x6E,0x66,0x69,0x6E,0x69,0x74,0x65,0x2E,0x00,0x46,0x61,0x64,0x65,0x20,0x54, - 0x69,0x6D,0x65,0x00,0x54,0x69,0x6D,0x65,0x20,0x74,0x6F,0x20,0x66,0x61,0x64,0x65,0x20,0x6F,0x75,0x74,0x20,0x62,0x65,0x66,0x6F,0x72,0x65,0x20,0x65,0x6E,0x64,0x20, - 0x6F,0x66,0x20,0x74,0x72,0x61,0x63,0x6B,0x2C,0x20,0x30,0x20,0x66,0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x65,0x2E,0x00,0x53,0x69,0x6C,0x65,0x6E,0x63,0x65,0x20,0x54,0x69, - 0x6D,0x65,0x6F,0x75,0x74,0x00,0x49,0x66,0x20,0x74,0x68,0x65,0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x69,0x73,0x20,0x73,0x69,0x6C,0x65,0x6E,0x74,0x20,0x66,0x6F,0x72, - 0x20,0x74,0x68,0x69,0x73,0x20,0x6C,0x6F,0x6E,0x67,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x65,0x6E,0x64,0x2E,0x00,0x4C,0x6F,0x6F,0x70,0x20,0x44,0x65, - 0x74,0x65,0x63,0x74,0x69,0x6F,0x6E,0x00,0x45,0x6E,0x61,0x62,0x6C,0x65,0x20,0x61,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x20,0x6C,0x6F,0x6F,0x6B,0x20,0x64,0x65, - 0x74,0x65,0x63,0x74,0x69,0x6F,0x6E,0x00,0x4C,0x6F,0x6F,0x70,0x20,0x43,0x6F,0x75,0x6E,0x74,0x00,0x57,0x68,0x65,0x6E,0x20,0x6C,0x6F,0x6F,0x70,0x73,0x20,0x61,0x72, - 0x65,0x20,0x64,0x65,0x74,0x65,0x63,0x74,0x65,0x64,0x2C,0x20,0x6F,0x72,0x20,0x67,0x69,0x76,0x65,0x6E,0x20,0x69,0x6E,0x20,0x4E,0x53,0x46,0x65,0x20,0x64,0x61,0x74, - 0x61,0x2C,0x20,0x74,0x68,0x65,0x20,0x6C,0x6F,0x6F,0x70,0x65,0x64,0x20,0x73,0x65,0x63,0x74,0x69,0x6F,0x6E,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x70,0x6C, - 0x61,0x79,0x65,0x64,0x20,0x74,0x68,0x69,0x73,0x20,0x6D,0x61,0x6E,0x79,0x20,0x74,0x69,0x6D,0x65,0x73,0x2C,0x20,0x30,0x20,0x66,0x6F,0x72,0x20,0x69,0x6E,0x66,0x69, - 0x6E,0x69,0x74,0x65,0x2E,0x00,0x4C,0x6F,0x77,0x70,0x61,0x73,0x73,0x20,0x46,0x69,0x6C,0x74,0x65,0x72,0x00,0x52,0x43,0x20,0x6C,0x6F,0x77,0x70,0x61,0x73,0x73,0x20, - 0x66,0x69,0x6C,0x74,0x65,0x72,0x20,0x72,0x65,0x64,0x75,0x63,0x65,0x73,0x20,0x68,0x69,0x67,0x68,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x69,0x65,0x73,0x2E, - 0x20,0x30,0x20,0x66,0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x65,0x2E,0x00,0x48,0x69,0x67,0x68,0x70,0x61,0x73,0x73,0x20,0x46,0x69,0x6C,0x74,0x65,0x72,0x00,0x52,0x43,0x20, - 0x68,0x69,0x67,0x68,0x70,0x61,0x73,0x73,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x20,0x72,0x65,0x6D,0x6F,0x76,0x65,0x64,0x20,0x44,0x43,0x20,0x62,0x69,0x61,0x73,0x20, - 0x61,0x6E,0x64,0x20,0x72,0x65,0x64,0x75,0x63,0x65,0x73,0x20,0x6C,0x6F,0x77,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x69,0x65,0x73,0x2E,0x20,0x30,0x20,0x66, - 0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x65,0x2E,0x00,0x44,0x6F,0x77,0x6E,0x73,0x61,0x6D,0x70,0x6C,0x69,0x6E,0x67,0x00,0x52,0x65,0x64,0x75,0x63,0x65,0x73,0x20,0x68,0x69, - 0x67,0x68,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x61,0x75, - 0x64,0x69,0x6F,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x2E,0x00,0x52,0x65,0x67,0x69,0x6F,0x6E,0x00,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4E, - 0x45,0x53,0x2F,0x46,0x61,0x6D,0x69,0x63,0x6F,0x6D,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x65,0x64,0x2C,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x61,0x75,0x74,0x6F, - 0x2D,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64,0x20,0x69,0x66,0x20,0x74,0x68,0x65,0x20,0x4E,0x53,0x46,0x20,0x63,0x6F,0x6E,0x74,0x61,0x69,0x6E,0x73,0x20,0x72,0x65, - 0x67,0x69,0x6F,0x6E,0x20,0x64,0x61,0x74,0x61,0x2E,0x00,0x4E,0x54,0x53,0x43,0x20,0x43,0x50,0x55,0x20,0x52,0x61,0x74,0x65,0x00,0x45,0x6D,0x75,0x6C,0x61,0x74,0x65, - 0x64,0x20,0x4E,0x54,0x53,0x43,0x20,0x43,0x50,0x55,0x20,0x63,0x6C,0x6F,0x63,0x6B,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x2E,0x00,0x50,0x41,0x4C,0x20, - 0x43,0x50,0x55,0x20,0x52,0x61,0x74,0x65,0x00,0x45,0x6D,0x75,0x6C,0x61,0x74,0x65,0x64,0x20,0x50,0x41,0x4C,0x20,0x43,0x50,0x55,0x20,0x63,0x6C,0x6F,0x63,0x6B,0x20, - 0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x2E,0x00,0x44,0x65,0x6E,0x64,0x79,0x20,0x43,0x50,0x55,0x20,0x52,0x61,0x74,0x65,0x00,0x45,0x6D,0x75,0x6C,0x61,0x74, - 0x65,0x64,0x20,0x44,0x65,0x6E,0x64,0x79,0x20,0x43,0x50,0x55,0x20,0x63,0x6C,0x6F,0x63,0x6B,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x2E,0x00,0x53,0x70, - 0x65,0x65,0x64,0x00,0x41,0x64,0x6A,0x75,0x73,0x74,0x20,0x74,0x68,0x65,0x20,0x70,0x6C,0x61,0x79,0x62,0x61,0x63,0x6B,0x20,0x72,0x61,0x74,0x65,0x20,0x74,0x6F,0x20, - 0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x6F,0x6E,0x67,0x20,0x73,0x70,0x65,0x65,0x64,0x2E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x46,0x72,0x61, - 0x6D,0x65,0x72,0x61,0x74,0x65,0x00,0x49,0x67,0x6E,0x6F,0x72,0x65,0x20,0x4E,0x53,0x46,0x20,0x70,0x6C,0x61,0x79,0x62,0x61,0x63,0x6B,0x20,0x72,0x61,0x74,0x65,0x20, - 0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x2C,0x20,0x61,0x6E,0x64,0x20,0x66,0x6F,0x72,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x70,0x6C,0x61,0x79,0x20, - 0x72,0x61,0x74,0x65,0x20,0x69,0x6E,0x73,0x74,0x65,0x61,0x64,0x20,0x61,0x63,0x63,0x6F,0x72,0x64,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x72,0x65,0x67,0x69,0x6F,0x6E, - 0x2E,0x00,0x4E,0x54,0x53,0x43,0x20,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x00,0x46,0x6F,0x72,0x63,0x65,0x64,0x20,0x66,0x72,0x61,0x6D,0x65,0x72,0x61,0x74, - 0x65,0x20,0x66,0x6F,0x72,0x20,0x4E,0x54,0x53,0x43,0x2C,0x20,0x75,0x6E,0x69,0x74,0x73,0x20,0x6F,0x66,0x20,0x31,0x2F,0x31,0x30,0x2C,0x30,0x30,0x30,0x20,0x48,0x7A, - 0x00,0x50,0x41,0x4C,0x20,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x00,0x46,0x6F,0x72,0x63,0x65,0x64,0x20,0x66,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20, - 0x66,0x6F,0x72,0x20,0x50,0x41,0x4C,0x2C,0x20,0x75,0x6E,0x69,0x74,0x73,0x20,0x6F,0x66,0x20,0x31,0x2F,0x31,0x30,0x2C,0x30,0x30,0x30,0x20,0x48,0x7A,0x00,0x44,0x65, - 0x6E,0x64,0x79,0x20,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x00,0x46,0x6F,0x72,0x63,0x65,0x64,0x20,0x66,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x66, - 0x6F,0x72,0x20,0x44,0x65,0x6E,0x64,0x79,0x2C,0x20,0x75,0x6E,0x69,0x74,0x73,0x20,0x6F,0x66,0x20,0x31,0x2F,0x31,0x30,0x2C,0x30,0x30,0x30,0x20,0x48,0x7A,0x00,0x46, - 0x6F,0x72,0x63,0x65,0x20,0x49,0x52,0x51,0x20,0x45,0x6E,0x61,0x62,0x6C,0x65,0x00,0x45,0x6E,0x61,0x62,0x6C,0x65,0x20,0x49,0x52,0x51,0x20,0x65,0x6D,0x75,0x6C,0x61, - 0x74,0x69,0x6F,0x6E,0x20,0x66,0x6F,0x72,0x20,0x61,0x6C,0x6C,0x20,0x4E,0x53,0x46,0x73,0x2E,0x20,0x4E,0x53,0x46,0x32,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x63,0x61, - 0x6E,0x20,0x61,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x61,0x6C,0x6C,0x79,0x20,0x72,0x65,0x71,0x75,0x65,0x73,0x74,0x20,0x49,0x52,0x51,0x20,0x75,0x73,0x61,0x67, - 0x65,0x2E,0x00,0x4E,0x6F,0x6E,0x6C,0x69,0x6E,0x65,0x61,0x72,0x20,0x4D,0x69,0x78,0x00,0x54,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x6F,0x66,0x20,0x65, - 0x61,0x63,0x68,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x20,0x61,0x66,0x66,0x65,0x63,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x2C,0x20,0x63,0x61, - 0x75,0x73,0x69,0x6E,0x67,0x20,0x61,0x20,0x64,0x69,0x73,0x74,0x6F,0x72,0x74,0x69,0x6F,0x6E,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x2E,0x00,0x53,0x74,0x61,0x72,0x74, - 0x20,0x55,0x6E,0x6D,0x75,0x74,0x65,0x64,0x00,0x53,0x6F,0x6D,0x65,0x20,0x4E,0x53,0x46,0x73,0x20,0x6E,0x65,0x67,0x6C,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x74,0x75, - 0x72,0x6E,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x20,0x62,0x65,0x66,0x6F,0x72,0x65,0x20,0x75,0x73,0x69,0x6E,0x67,0x20, - 0x74,0x68,0x65,0x6D,0x2E,0x00,0x53,0x77,0x65,0x65,0x70,0x20,0x55,0x6E,0x6D,0x75,0x74,0x65,0x64,0x00,0x53,0x6F,0x6D,0x65,0x20,0x4E,0x53,0x46,0x73,0x20,0x6E,0x65, - 0x67,0x6C,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x69,0x6E,0x69,0x74,0x69,0x61,0x6C,0x69,0x7A,0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x65,0x65,0x70,0x20,0x72,0x65, - 0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x2C,0x20,0x63,0x61,0x75,0x73,0x69,0x6E,0x67,0x20,0x6C,0x6F,0x77,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x74, - 0x6F,0x6E,0x65,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x6D,0x75,0x74,0x65,0x64,0x2E,0x00,0x50,0x68,0x61,0x73,0x65,0x20,0x52,0x65,0x73,0x65,0x74,0x00,0x57,0x72, - 0x69,0x74,0x69,0x6E,0x67,0x20,0x24,0x34,0x30,0x30,0x33,0x2F,0x24,0x34,0x30,0x30,0x37,0x20,0x72,0x65,0x73,0x65,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x68,0x61, - 0x73,0x65,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E,0x20,0x54,0x68,0x69,0x73,0x20, - 0x6F,0x66,0x74,0x65,0x6E,0x20,0x63,0x61,0x75,0x73,0x65,0x73,0x20,0x61,0x6E,0x20,0x75,0x6E,0x70,0x6C,0x65,0x61,0x73,0x61,0x6E,0x74,0x20,0x63,0x6C,0x69,0x63,0x6B, - 0x69,0x6E,0x67,0x20,0x64,0x75,0x72,0x69,0x6E,0x67,0x20,0x76,0x69,0x62,0x72,0x61,0x74,0x6F,0x2E,0x20,0x28,0x53,0x65,0x65,0x3A,0x20,0x4D,0x65,0x67,0x61,0x20,0x4D, - 0x61,0x6E,0x20,0x32,0x20,0x65,0x6E,0x64,0x69,0x6E,0x67,0x2E,0x29,0x00,0x53,0x77,0x61,0x70,0x20,0x44,0x75,0x74,0x79,0x00,0x53,0x6F,0x6D,0x65,0x20,0x65,0x75,0x72, - 0x6F,0x70,0x65,0x61,0x6E,0x20,0x4E,0x45,0x53,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x73,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x74,0x77,0x6F,0x20,0x6F,0x66,0x20,0x74, - 0x68,0x65,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x64,0x75,0x74,0x79,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x2E, - 0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53, - 0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00, - 0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53, - 0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A, - 0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65, - 0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x71,0x75,0x61, - 0x72,0x65,0x20,0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65, - 0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53,0x71,0x75,0x61, - 0x72,0x65,0x20,0x31,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x54,0x68,0x65,0x20,0x76, - 0x6F,0x6C,0x75,0x6D,0x65,0x20,0x6F,0x66,0x20,0x74,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x2C,0x20,0x6E,0x6F,0x69,0x73,0x65,0x2C,0x20,0x61,0x6E,0x64,0x20,0x44,0x50, - 0x43,0x4D,0x20,0x65,0x61,0x63,0x68,0x20,0x61,0x66,0x66,0x65,0x63,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x2C,0x20,0x63,0x61,0x75,0x73,0x69, - 0x6E,0x67,0x20,0x61,0x20,0x64,0x69,0x73,0x74,0x6F,0x72,0x74,0x69,0x6F,0x6E,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65, - 0x20,0x4D,0x75,0x74,0x65,0x20,0x30,0x00,0x54,0x68,0x65,0x20,0x74,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x61,0x74,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x30, - 0x20,0x70,0x72,0x6F,0x64,0x75,0x63,0x65,0x73,0x20,0x61,0x6E,0x20,0x69,0x6E,0x61,0x75,0x64,0x69,0x62,0x6C,0x65,0x20,0x68,0x69,0x67,0x68,0x20,0x66,0x72,0x65,0x71, - 0x75,0x65,0x6E,0x63,0x79,0x20,0x74,0x6F,0x6E,0x65,0x2C,0x20,0x62,0x75,0x74,0x20,0x64,0x75,0x65,0x20,0x74,0x6F,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x69,0x6F,0x6E, - 0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x6D,0x61,0x79,0x20,0x61,0x6C,0x69,0x61,0x73,0x20,0x75,0x6E,0x70,0x6C, - 0x65,0x61,0x73,0x61,0x6E,0x74,0x6C,0x79,0x20,0x61,0x74,0x20,0x61,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x79,0x6F,0x75,0x20,0x63,0x61,0x6E,0x20, - 0x68,0x65,0x61,0x72,0x2E,0x20,0x4D,0x75,0x74,0x69,0x6E,0x67,0x20,0x69,0x74,0x20,0x68,0x69,0x64,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x69,0x73,0x73,0x75,0x65, - 0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x52,0x61,0x6E,0x64,0x6F,0x6D,0x69,0x7A,0x65,0x00,0x53,0x74,0x61,0x72,0x74,0x20,0x74,0x68,0x65,0x20,0x74, - 0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x72,0x61,0x6E,0x64,0x6F,0x6D,0x20,0x70,0x68,0x61,0x73,0x65,0x2E,0x00,0x50,0x65,0x72, - 0x69,0x6F,0x64,0x69,0x63,0x20,0x4E,0x6F,0x69,0x73,0x65,0x00,0x45,0x61,0x72,0x6C,0x79,0x20,0x46,0x61,0x6D,0x69,0x63,0x6F,0x6D,0x20,0x75,0x6E,0x69,0x74,0x73,0x20, - 0x63,0x6F,0x75,0x6C,0x64,0x20,0x6E,0x6F,0x74,0x20,0x70,0x72,0x6F,0x64,0x75,0x63,0x65,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x69,0x63,0x20,0x6E,0x6F,0x69,0x73,0x65, - 0x2E,0x20,0x54,0x75,0x72,0x6E,0x69,0x6E,0x67,0x20,0x74,0x68,0x69,0x73,0x20,0x6F,0x70,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x66,0x66,0x20,0x63,0x61,0x6E,0x20,0x73,0x69, - 0x6D,0x75,0x6C,0x61,0x74,0x20,0x74,0x68,0x69,0x73,0x2E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x52,0x61,0x6E,0x64,0x6F,0x6D,0x69,0x7A,0x65,0x00,0x53,0x74,0x61,0x72, - 0x74,0x20,0x74,0x68,0x65,0x20,0x6E,0x6F,0x69,0x73,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x72,0x61,0x6E,0x64,0x6F,0x6D,0x20,0x70,0x68,0x61,0x73,0x65,0x2E, - 0x00,0x44,0x50,0x43,0x4D,0x20,0x24,0x34,0x30,0x31,0x31,0x00,0x54,0x68,0x65,0x20,0x44,0x50,0x43,0x4D,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x63,0x61,0x6E,0x20,0x62, - 0x65,0x20,0x73,0x65,0x74,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x62,0x79,0x20,0x77,0x72,0x69,0x74,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x24,0x34,0x30, - 0x31,0x31,0x20,0x66,0x6F,0x72,0x20,0x50,0x43,0x4D,0x20,0x73,0x6F,0x75,0x6E,0x64,0x73,0x20,0x6F,0x72,0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x65,0x66,0x66,0x65,0x63, - 0x74,0x73,0x2E,0x20,0x53,0x6F,0x6D,0x65,0x20,0x4E,0x53,0x46,0x73,0x20,0x77,0x72,0x69,0x74,0x65,0x20,0x74,0x6F,0x20,0x69,0x74,0x20,0x77,0x69,0x74,0x68,0x20,0x65, - 0x76,0x65,0x72,0x79,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x6C,0x61,0x79,0x65,0x64,0x2C,0x20,0x63,0x61,0x75,0x73,0x69,0x6E,0x67,0x20,0x61,0x20,0x70,0x6F, - 0x70,0x20,0x65,0x61,0x63,0x68,0x20,0x74,0x69,0x6D,0x65,0x2E,0x20,0x44,0x69,0x73,0x61,0x62,0x6C,0x69,0x6E,0x67,0x20,0x74,0x68,0x69,0x73,0x20,0x65,0x6C,0x69,0x6D, - 0x69,0x6E,0x61,0x74,0x65,0x73,0x20,0x74,0x68,0x61,0x74,0x20,0x70,0x6F,0x70,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x42,0x69,0x74,0x20,0x52,0x65,0x76,0x65,0x72,0x73, - 0x65,0x00,0x53,0x6F,0x6D,0x65,0x20,0x44,0x50,0x43,0x4D,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x73,0x20,0x77,0x65,0x72,0x65,0x20,0x61,0x63,0x63,0x69,0x64,0x65,0x6E, - 0x74,0x61,0x6C,0x6C,0x79,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x69,0x72,0x20,0x62,0x69,0x74,0x73,0x20,0x72,0x65, - 0x76,0x65,0x72,0x73,0x65,0x64,0x2C,0x20,0x67,0x69,0x76,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x6D,0x20,0x61,0x20,0x6E,0x6F,0x69,0x73,0x79,0x20,0x71,0x75,0x61,0x6C, - 0x69,0x74,0x79,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x73,0x69,0x6D,0x75,0x6C,0x61,0x74,0x65,0x73,0x20,0x77,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x79,0x20,0x77,0x6F, - 0x75,0x6C,0x64,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x6C,0x69,0x6B,0x65,0x20,0x69,0x66,0x20,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x65,0x6E,0x63,0x6F, - 0x64,0x65,0x64,0x2E,0x20,0x28,0x53,0x65,0x65,0x3A,0x20,0x44,0x6F,0x75,0x62,0x6C,0x65,0x20,0x44,0x72,0x69,0x62,0x62,0x6C,0x65,0x2C,0x20,0x6F,0x72,0x20,0x47,0x69, - 0x6D,0x6D,0x69,0x63,0x6B,0x21,0x29,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x4F,0x6E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x65,0x6E,0x61, - 0x62,0x6C,0x65,0x64,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x76, - 0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x50,0x61,0x6E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x70,0x61,0x6E, - 0x6E,0x69,0x6E,0x67,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x76, - 0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x4F,0x6E,0x00,0x4E,0x6F, - 0x69,0x73,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20, - 0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x50,0x61,0x6E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E, - 0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F, - 0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x4F,0x6E,0x00,0x44,0x50,0x43,0x4D,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00, - 0x44,0x50,0x43,0x4D,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x44,0x50,0x43,0x4D,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x50,0x61, - 0x6E,0x00,0x44,0x50,0x43,0x4D,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x44,0x50,0x43,0x4D, - 0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4C,0x6F,0x77,0x70,0x61,0x73,0x73,0x00,0x54, - 0x68,0x65,0x20,0x46,0x44,0x53,0x27,0x20,0x69,0x6E,0x74,0x65,0x72,0x6E,0x61,0x6C,0x20,0x6C,0x6F,0x77,0x70,0x61,0x73,0x73,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x20, - 0x72,0x6F,0x6C,0x6C,0x73,0x20,0x6F,0x66,0x66,0x20,0x68,0x69,0x67,0x68,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x69,0x65,0x73,0x2C,0x20,0x67,0x69,0x76,0x69, - 0x6E,0x67,0x20,0x69,0x74,0x20,0x61,0x20,0x64,0x75,0x6C,0x6C,0x65,0x72,0x2C,0x20,0x73,0x6D,0x6F,0x6F,0x74,0x68,0x65,0x72,0x20,0x73,0x6F,0x75,0x6E,0x64,0x2E,0x20, - 0x30,0x20,0x66,0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x65,0x2E,0x00,0x4D,0x6F,0x64,0x75,0x6C,0x61,0x74,0x6F,0x72,0x20,0x52,0x65,0x73,0x65,0x74,0x20,0x24,0x34,0x30,0x38, - 0x35,0x00,0x54,0x68,0x65,0x20,0x46,0x44,0x53,0x20,0x64,0x6F,0x65,0x73,0x20,0x6E,0x6F,0x74,0x20,0x68,0x61,0x76,0x65,0x20,0x61,0x20,0x6D,0x6F,0x64,0x75,0x6C,0x61, - 0x74,0x6F,0x72,0x20,0x70,0x68,0x61,0x73,0x65,0x20,0x72,0x65,0x73,0x65,0x74,0x2C,0x20,0x62,0x75,0x74,0x20,0x6D,0x61,0x6E,0x79,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74, - 0x6F,0x72,0x73,0x20,0x6D,0x69,0x73,0x74,0x61,0x6B,0x65,0x6E,0x6C,0x79,0x20,0x61,0x63,0x74,0x20,0x61,0x73,0x20,0x69,0x66,0x20,0x61,0x20,0x24,0x34,0x30,0x38,0x35, - 0x20,0x77,0x72,0x69,0x74,0x65,0x20,0x64,0x6F,0x65,0x73,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x61,0x63,0x74,0x75,0x61,0x6C,0x6C,0x79,0x20,0x64,0x6F, - 0x6E,0x65,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,0x73,0x6F,0x6D,0x65,0x20,0x4B,0x6F,0x6E,0x61,0x6D,0x69,0x20,0x67,0x61,0x6D,0x65,0x73,0x20,0x68,0x61,0x76, - 0x65,0x20,0x74,0x72,0x69,0x63,0x6B,0x79,0x20,0x74,0x69,0x6D,0x69,0x6E,0x67,0x20,0x74,0x68,0x61,0x74,0x20,0x77,0x68,0x65,0x6E,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74, - 0x65,0x64,0x20,0x69,0x6E,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x63,0x61,0x75,0x73,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x6D,0x6F,0x64,0x75,0x6C,0x61, - 0x74,0x6F,0x72,0x20,0x74,0x6F,0x20,0x64,0x72,0x69,0x66,0x74,0x2E,0x00,0x57,0x72,0x69,0x74,0x65,0x20,0x50,0x72,0x6F,0x74,0x65,0x63,0x74,0x00,0x57,0x72,0x69,0x74, - 0x65,0x20,0x70,0x72,0x6F,0x74,0x65,0x63,0x74,0x20,0x74,0x68,0x65,0x20,0x52,0x41,0x4D,0x20,0x61,0x74,0x20,0x24,0x38,0x30,0x30,0x30,0x2D,0x44,0x46,0x46,0x46,0x2E, - 0x20,0x54,0x68,0x69,0x73,0x20,0x63,0x61,0x6E,0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,0x64,0x6F,0x6E,0x65,0x20,0x6F,0x6E,0x20,0x61,0x20,0x72,0x65,0x61,0x6C,0x20,0x46, - 0x44,0x53,0x2C,0x20,0x62,0x75,0x74,0x20,0x73,0x6F,0x6D,0x65,0x20,0x4E,0x53,0x46,0x73,0x20,0x65,0x78,0x70,0x65,0x63,0x74,0x20,0x74,0x68,0x69,0x73,0x2E,0x20,0x4D, - 0x75,0x6C,0x74,0x69,0x2D,0x65,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x4E,0x53,0x46,0x73,0x20,0x77,0x69,0x6C,0x6C,0x20,0x61,0x75,0x74,0x6F,0x6D,0x61,0x74, - 0x69,0x63,0x61,0x6C,0x6C,0x79,0x20,0x61,0x70,0x70,0x6C,0x79,0x20,0x74,0x68,0x69,0x73,0x2E,0x00,0x46,0x44,0x53,0x20,0x4F,0x6E,0x00,0x46,0x44,0x53,0x20,0x65,0x6E, - 0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x46,0x44,0x53,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x46,0x44,0x53,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x46,0x44, - 0x53,0x20,0x50,0x61,0x6E,0x00,0x46,0x44,0x53,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x46,0x44,0x53,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x46,0x44, - 0x53,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x57,0x72,0x69,0x74,0x69,0x6E,0x67,0x20, - 0x24,0x34,0x30,0x30,0x33,0x2F,0x24,0x34,0x30,0x30,0x37,0x20,0x72,0x65,0x73,0x65,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x68,0x61,0x73,0x65,0x20,0x6F,0x66,0x20, - 0x74,0x68,0x65,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x63,0x61,0x6E,0x20,0x62,0x65, - 0x20,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x64,0x20,0x69,0x66,0x20,0x64,0x65,0x73,0x69,0x72,0x65,0x64,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72, - 0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4D,0x4D, - 0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30, - 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x4D,0x4D,0x43,0x35,0x20, - 0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20, - 0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69, - 0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x4D,0x4D,0x43,0x35, - 0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31, - 0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4D,0x4D, - 0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x70,0x61, - 0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4D,0x4D,0x43,0x35, - 0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00, - 0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x4F,0x6E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4D,0x4D, - 0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4D, - 0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x50,0x61,0x6E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4D,0x4D, - 0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61, - 0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43, - 0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20, - 0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x36, - 0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E, - 0x67,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73, - 0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50, - 0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00, - 0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31, - 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x36,0x20,0x50, - 0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C, - 0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63, - 0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x65,0x6E,0x61,0x62, - 0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x76,0x6F, - 0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x70,0x61,0x6E,0x6E, - 0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x76,0x69, - 0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4F,0x50,0x4C,0x4C,0x20,0x4D,0x6F,0x64,0x65,0x00,0x52,0x65, - 0x70,0x6C,0x61,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x56,0x52,0x43,0x37,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x4F,0x50,0x4C,0x4C,0x2F,0x59,0x4D,0x32, - 0x34,0x31,0x33,0x20,0x69,0x74,0x20,0x77,0x61,0x73,0x20,0x62,0x61,0x73,0x65,0x64,0x20,0x6F,0x6E,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x50,0x61,0x74,0x63,0x68,0x20, - 0x53,0x65,0x74,0x00,0x54,0x68,0x65,0x20,0x62,0x75,0x69,0x6C,0x74,0x2D,0x69,0x6E,0x20,0x70,0x61,0x74,0x63,0x68,0x20,0x73,0x65,0x74,0x20,0x75,0x73,0x65,0x64,0x20, - 0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x56,0x52,0x43,0x37,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x6E,0x6F,0x77,0x20,0x70,0x65,0x72,0x66,0x65,0x63,0x74, - 0x6C,0x79,0x20,0x6B,0x6E,0x6F,0x77,0x6E,0x2C,0x20,0x62,0x75,0x74,0x20,0x65,0x61,0x72,0x6C,0x69,0x65,0x72,0x20,0x70,0x61,0x74,0x63,0x68,0x20,0x73,0x65,0x74,0x73, - 0x20,0x77,0x65,0x72,0x65,0x20,0x64,0x65,0x64,0x75,0x63,0x65,0x64,0x20,0x62,0x79,0x20,0x65,0x61,0x72,0x2E,0x20,0x48,0x69,0x73,0x74,0x6F,0x72,0x69,0x63,0x61,0x6C, - 0x20,0x73,0x65,0x74,0x73,0x20,0x61,0x72,0x65,0x20,0x70,0x72,0x6F,0x76,0x69,0x64,0x65,0x64,0x20,0x74,0x6F,0x20,0x6D,0x61,0x74,0x63,0x68,0x20,0x65,0x61,0x72,0x6C, - 0x69,0x65,0x72,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x65,0x64,0x20,0x73,0x6F,0x75,0x6E,0x64,0x2E,0x00,0x4F,0x50,0x4C,0x4C,0x20,0x50,0x61,0x74,0x63,0x68,0x20,0x53, - 0x65,0x74,0x00,0x41,0x20,0x63,0x68,0x6F,0x69,0x63,0x65,0x20,0x6F,0x66,0x20,0x70,0x61,0x74,0x63,0x68,0x20,0x73,0x65,0x74,0x20,0x66,0x6F,0x72,0x20,0x77,0x68,0x65, - 0x6E,0x20,0x74,0x68,0x65,0x20,0x56,0x52,0x43,0x37,0x20,0x69,0x73,0x20,0x72,0x65,0x70,0x6C,0x61,0x63,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x4F,0x50, - 0x4C,0x4C,0x2F,0x59,0x4D,0x32,0x34,0x31,0x33,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20, - 0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37, - 0x20,0x46,0x4D,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37, - 0x20,0x46,0x4D,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00, - 0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00, - 0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00, - 0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D, - 0x65,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69, - 0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x76, - 0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x4F, - 0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x56, - 0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20, - 0x32,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D, - 0x20,0x32,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F, - 0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33, - 0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20, - 0x46,0x4D,0x20,0x33,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20, - 0x46,0x4D,0x20,0x33,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56, - 0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56, - 0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56, - 0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, - 0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E, - 0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x76,0x69, - 0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x4F,0x6E, - 0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x56,0x6F, - 0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35, - 0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20, - 0x35,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E, - 0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4D,0x75,0x6C,0x74,0x69,0x70,0x6C,0x65,0x78,0x00,0x54,0x68,0x65,0x20,0x4E,0x31,0x36,0x33,0x20,0x63,0x68,0x61,0x6E, - 0x6E,0x65,0x6C,0x73,0x20,0x61,0x72,0x65,0x20,0x6D,0x69,0x78,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x27,0x74,0x69,0x6D,0x65,0x20,0x73,0x68,0x61,0x72, - 0x65,0x27,0x20,0x6D,0x75,0x6C,0x74,0x69,0x70,0x6C,0x65,0x78,0x69,0x6E,0x67,0x2C,0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x72,0x61,0x74,0x65,0x20,0x64,0x65,0x70, - 0x65,0x6E,0x64,0x65,0x6E,0x74,0x20,0x6F,0x6E,0x20,0x68,0x6F,0x77,0x20,0x6D,0x61,0x6E,0x79,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x20,0x61,0x72,0x65,0x20, - 0x61,0x63,0x74,0x69,0x76,0x65,0x2E,0x20,0x46,0x6F,0x72,0x20,0x38,0x2D,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x4E,0x31,0x36,0x33,0x20,0x74,0x75,0x6E,0x65,0x73, - 0x20,0x74,0x68,0x69,0x73,0x20,0x70,0x72,0x6F,0x64,0x75,0x63,0x65,0x73,0x20,0x76,0x65,0x72,0x79,0x20,0x75,0x6E,0x70,0x6C,0x65,0x61,0x73,0x61,0x6E,0x74,0x20,0x68, - 0x69,0x67,0x68,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x68,0x69,0x73,0x73,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x6D,0x75,0x6C,0x74,0x69,0x70,0x6C, - 0x65,0x78,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x69,0x73,0x20,0x61,0x63,0x63,0x75,0x72,0x61,0x74,0x65,0x2C,0x20,0x62,0x75,0x74,0x20,0x69,0x74,0x20,0x64,0x69,0x73, - 0x61,0x62,0x6C,0x65,0x64,0x20,0x62,0x79,0x20,0x64,0x65,0x66,0x61,0x75,0x6C,0x74,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,0x69,0x74,0x20,0x69,0x73,0x20,0x75, - 0x6E,0x70,0x6C,0x65,0x61,0x73,0x61,0x6E,0x74,0x2E,0x20,0x4F,0x6E,0x20,0x52,0x46,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63,0x74,0x65,0x64,0x20,0x46,0x61,0x6D,0x69,0x63, - 0x6F,0x6D,0x73,0x2C,0x20,0x74,0x68,0x65,0x20,0x68,0x69,0x73,0x73,0x20,0x77,0x61,0x73,0x20,0x72,0x65,0x64,0x75,0x63,0x65,0x64,0x20,0x61,0x20,0x62,0x69,0x74,0x20, - 0x66,0x72,0x6F,0x6D,0x20,0x74,0x68,0x65,0x20,0x73,0x74,0x72,0x6F,0x6E,0x67,0x65,0x72,0x20,0x6C,0x6F,0x77,0x70,0x61,0x73,0x73,0x20,0x66,0x69,0x6C,0x74,0x65,0x72, - 0x20,0x61,0x70,0x70,0x6C,0x69,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x52,0x46,0x20,0x70,0x72,0x6F,0x63,0x65,0x73,0x73,0x2E,0x00,0x50,0x68,0x61,0x73, - 0x65,0x20,0x50,0x72,0x6F,0x74,0x65,0x63,0x74,0x00,0x45,0x61,0x72,0x6C,0x79,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x61,0x73,0x73,0x75,0x6D,0x65, - 0x64,0x20,0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x4E,0x31,0x36,0x33,0x20,0x70,0x68,0x61,0x73,0x65,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20, - 0x64,0x69,0x64,0x20,0x6E,0x6F,0x74,0x68,0x69,0x6E,0x67,0x2E,0x20,0x53,0x6F,0x6D,0x65,0x20,0x65,0x61,0x72,0x6C,0x79,0x20,0x4E,0x31,0x36,0x33,0x20,0x68,0x6F,0x6D, - 0x65,0x62,0x72,0x65,0x77,0x20,0x77,0x72,0x69,0x74,0x65,0x73,0x20,0x76,0x61,0x6C,0x75,0x65,0x73,0x20,0x74,0x6F,0x20,0x69,0x74,0x2C,0x20,0x63,0x61,0x75,0x73,0x69, - 0x6E,0x67,0x20,0x62,0x75,0x7A,0x7A,0x69,0x6E,0x67,0x20,0x6F,0x72,0x20,0x64,0x69,0x73,0x61,0x62,0x6C,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x63,0x68,0x61,0x6E, - 0x6E,0x65,0x6C,0x73,0x2E,0x20,0x44,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x74,0x68,0x69,0x73,0x20,0x74,0x6F,0x20,0x61,0x63,0x63,0x6F,0x6D,0x6F,0x64,0x61,0x74,0x65, - 0x20,0x74,0x68,0x6F,0x73,0x65,0x20,0x68,0x6F,0x6D,0x65,0x62,0x72,0x65,0x77,0x20,0x73,0x6F,0x6E,0x67,0x73,0x2E,0x00,0x53,0x68,0x6F,0x72,0x74,0x20,0x57,0x61,0x76, - 0x65,0x66,0x6F,0x72,0x6D,0x00,0x45,0x61,0x72,0x6C,0x79,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x69,0x6E,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C, - 0x79,0x20,0x61,0x73,0x73,0x75,0x6D,0x65,0x64,0x20,0x74,0x68,0x65,0x20,0x75,0x70,0x70,0x65,0x72,0x20,0x33,0x20,0x62,0x69,0x74,0x73,0x20,0x6F,0x66,0x20,0x77,0x61, - 0x76,0x65,0x66,0x6F,0x72,0x6D,0x20,0x6C,0x65,0x6E,0x67,0x74,0x68,0x20,0x68,0x61,0x64,0x20,0x6E,0x6F,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x2C,0x20,0x61,0x6C,0x6C, - 0x6F,0x77,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x73,0x68,0x6F,0x72,0x74,0x65,0x72,0x20,0x77,0x61,0x76,0x65,0x66,0x6F,0x72,0x6D,0x73,0x2E,0x20,0x53,0x65, - 0x65,0x3A,0x20,0x52,0x6F,0x6C,0x6C,0x69,0x6E,0x67,0x20,0x54,0x68,0x75,0x6E,0x64,0x65,0x72,0x2C,0x20,0x69,0x74,0x73,0x20,0x62,0x61,0x73,0x73,0x20,0x74,0x6F,0x6E, - 0x65,0x73,0x20,0x77,0x69,0x6C,0x6C,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x77,0x72,0x6F,0x6E,0x67,0x20,0x6F,0x63,0x74,0x61,0x76, - 0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x69,0x6E,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x73,0x68,0x6F,0x72,0x74,0x65,0x6E,0x65,0x64, - 0x20,0x77,0x61,0x76,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20, - 0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31, - 0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x50,0x61, - 0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65, - 0x20,0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74, - 0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20, - 0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75, - 0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65, - 0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33, - 0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x76,0x69,0x73,0x75,0x61, - 0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x4F,0x6E,0x00, - 0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32, - 0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33, - 0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E, - 0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20, - 0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20, - 0x33,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57, - 0x61,0x76,0x65,0x20,0x33,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E, - 0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x70,0x61,0x6E, - 0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61, - 0x76,0x65,0x20,0x33,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20, - 0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E, - 0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x76,0x6F, - 0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20, - 0x34,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31, - 0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00, - 0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x65,0x6E,0x61,0x62,0x6C, - 0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65, - 0x20,0x35,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20, - 0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x43,0x6F,0x6C,0x6F, - 0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C, - 0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20, - 0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33, - 0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x50,0x61,0x6E,0x00, - 0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36, - 0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F, - 0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61, - 0x76,0x65,0x20,0x37,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65, - 0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37, - 0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57, - 0x61,0x76,0x65,0x20,0x37,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69, - 0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x35,0x42,0x20,0x4D,0x69,0x78,0x65,0x72,0x00,0x55,0x6E,0x6C,0x69,0x6B,0x65,0x20,0x6F, - 0x74,0x68,0x65,0x72,0x20,0x65,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x61,0x75,0x64,0x69,0x6F,0x2C,0x20,0x74,0x68,0x65,0x20,0x46,0x61,0x6D,0x69,0x63,0x6F, - 0x6D,0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x77,0x61,0x73,0x20,0x70,0x61,0x73,0x73,0x65,0x64,0x20,0x74,0x68,0x72,0x6F,0x75,0x67,0x68,0x20,0x74,0x68,0x65,0x20,0x35, - 0x42,0x20,0x63,0x68,0x69,0x70,0x2C,0x20,0x63,0x61,0x75,0x73,0x69,0x6E,0x67,0x20,0x6E,0x6F,0x6E,0x6C,0x69,0x6E,0x65,0x61,0x72,0x69,0x74,0x79,0x20,0x61,0x6E,0x64, - 0x20,0x64,0x69,0x73,0x74,0x6F,0x72,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x6E,0x20,0x61,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E,0x20,0x54,0x68,0x69, - 0x73,0x20,0x73,0x69,0x6D,0x75,0x61,0x6C,0x74,0x65,0x73,0x20,0x74,0x68,0x61,0x74,0x20,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66, - 0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61, - 0x72,0x65,0x20,0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20, - 0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x6F,0x6C, - 0x75,0x6D,0x65,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x53,0x75,0x6E, - 0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66, - 0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20, - 0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x53, - 0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42, - 0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71, - 0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20, - 0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x50,0x61, - 0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53, - 0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66, - 0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F, - 0x75,0x72,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x4F,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F, - 0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20, - 0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71, - 0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65, - 0x20,0x32,0x20,0x50,0x61,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x70,0x61,0x6E,0x6E,0x69, - 0x6E,0x67,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53, - 0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E, - 0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x4F,0x6E,0x00,0x53,0x75,0x6E, - 0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35, - 0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20, - 0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x50,0x61,0x6E,0x00,0x53,0x75,0x6E, - 0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35, - 0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20, - 0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4F,0x76,0x65,0x72,0x72,0x69,0x64,0x65,0x73,0x20, - 0x74,0x68,0x65,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x20,0x77,0x68,0x65,0x6E,0x20,0x73,0x61,0x76,0x69,0x6E, - 0x67,0x20,0x61,0x20,0x57,0x41,0x56,0x20,0x66,0x69,0x6C,0x65,0x2E,0x20,0x30,0x20,0x74,0x6F,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x6E,0x6F,0x72,0x6D,0x61, - 0x6C,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x72,0x61,0x74,0x65,0x2C,0x20,0x2D,0x31,0x20,0x74,0x6F,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x43,0x50,0x55, - 0x20,0x72,0x61,0x74,0x65,0x2E,0x00,0x4F,0x76,0x65,0x72,0x72,0x69,0x64,0x65,0x20,0x74,0x68,0x65,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x62,0x69,0x74,0x20,0x64, - 0x65,0x70,0x74,0x68,0x20,0x77,0x68,0x65,0x6E,0x20,0x73,0x61,0x76,0x69,0x6E,0x67,0x20,0x61,0x20,0x57,0x41,0x56,0x20,0x66,0x69,0x6C,0x65,0x2E,0x00,0x4F,0x76,0x65, - 0x72,0x72,0x69,0x64,0x65,0x20,0x74,0x68,0x65,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x73,0x74,0x65,0x72,0x65,0x6F,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20, - 0x77,0x68,0x65,0x6E,0x20,0x73,0x61,0x76,0x69,0x6E,0x67,0x20,0x61,0x20,0x57,0x41,0x56,0x20,0x66,0x69,0x6C,0x65,0x2E,0x00,0x53,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61, - 0x74,0x65,0x20,0x4F,0x76,0x65,0x72,0x72,0x69,0x64,0x65,0x00,0x49,0x66,0x20,0x61,0x20,0x63,0x75,0x73,0x74,0x6F,0x6D,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x73, - 0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x20,0x69,0x73,0x20,0x6E,0x65,0x65,0x64,0x65,0x64,0x2C,0x20,0x69,0x74,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x67, - 0x69,0x76,0x65,0x6E,0x20,0x68,0x65,0x72,0x65,0x2E,0x20,0x30,0x20,0x74,0x6F,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x6E,0x6F,0x72,0x6D,0x61,0x6C,0x20,0x6F, - 0x75,0x74,0x70,0x75,0x74,0x20,0x72,0x61,0x74,0x65,0x2C,0x20,0x2D,0x31,0x20,0x74,0x6F,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x43,0x50,0x55,0x20,0x72,0x61, - 0x74,0x65,0x2E,0x00,0x53,0x68,0x69,0x66,0x74,0x2D,0x4A,0x49,0x53,0x00,0x4F,0x6C,0x64,0x65,0x72,0x20,0x4A,0x61,0x70,0x61,0x6E,0x65,0x73,0x65,0x20,0x4E,0x53,0x46, - 0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x6F,0x66,0x74,0x65,0x6E,0x20,0x75,0x73,0x65,0x20,0x53,0x68,0x69,0x66,0x74,0x2D,0x4A,0x49,0x53,0x20,0x66,0x6F,0x72,0x20,0x74, - 0x68,0x65,0x69,0x72,0x20,0x74,0x69,0x74,0x6C,0x65,0x2C,0x20,0x61,0x72,0x74,0x69,0x73,0x74,0x2C,0x20,0x61,0x6E,0x64,0x20,0x63,0x6F,0x70,0x79,0x72,0x69,0x67,0x68, - 0x74,0x20,0x66,0x69,0x65,0x6C,0x64,0x73,0x2E,0x20,0x57,0x65,0x20,0x63,0x61,0x6E,0x20,0x61,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x61,0x6C,0x6C,0x79,0x20,0x64, - 0x65,0x74,0x65,0x63,0x74,0x20,0x69,0x74,0x2C,0x20,0x61,0x73,0x73,0x75,0x6D,0x65,0x20,0x53,0x68,0x69,0x66,0x74,0x2D,0x4A,0x49,0x53,0x2C,0x20,0x6F,0x72,0x20,0x61, - 0x73,0x73,0x75,0x6D,0x65,0x20,0x55,0x54,0x46,0x2D,0x38,0x2E,0x20,0x4E,0x53,0x46,0x32,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x61,0x72,0x65,0x20,0x61,0x6C,0x77,0x61, - 0x79,0x73,0x20,0x55,0x54,0x46,0x2D,0x38,0x2E,0x00,0x46,0x44,0x53,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E, - 0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x46,0x44,0x53,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E, - 0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x4D,0x4D,0x43,0x35,0x2E,0x00,0x56,0x52,0x43,0x36, - 0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20, - 0x56,0x52,0x43,0x36,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C, - 0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x56,0x52,0x43,0x37,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46, - 0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x4E,0x31,0x36,0x33,0x2E,0x00,0x35,0x42,0x20,0x45,0x78,0x70, - 0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x35,0x42,0x2E,0x00, - 0x56,0x54,0x30,0x32,0x2B,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73, - 0x61,0x62,0x6C,0x65,0x20,0x56,0x54,0x30,0x32,0x2B,0x2E,0x00,0x54,0x45,0x53,0x54,0x5F,0x49,0x4E,0x54,0x00,0x54,0x45,0x53,0x54,0x5F,0x53,0x54,0x52,0x00,0x54,0x45, - 0x53,0x54,0x5F,0x4C,0x49,0x53,0x54,0x00,0x54,0x45,0x53,0x54,0x5F,0x48,0x45,0x58,0x38,0x00,0x54,0x45,0x53,0x54,0x5F,0x48,0x45,0x58,0x31,0x36,0x00,0x54,0x45,0x53, - 0x54,0x5F,0x48,0x45,0x58,0x33,0x32,0x00,0x54,0x45,0x53,0x54,0x5F,0x43,0x4F,0x4C,0x4F,0x52,0x00,0x54,0x45,0x53,0x54,0x5F,0x4D,0x53,0x45,0x43,0x00,0x54,0x45,0x53, - 0x54,0x5F,0x4D,0x49,0x4C,0x4C,0x00,0x54,0x45,0x53,0x54,0x5F,0x4B,0x45,0x59,0x00,0x54,0x45,0x53,0x54,0x5F,0x50,0x52,0x45,0x43,0x49,0x53,0x45,0x00,0x46,0x69,0x6C, - 0x65,0x20,0x54,0x79,0x70,0x65,0x00,0x53,0x6F,0x6E,0x67,0x20,0x43,0x6F,0x75,0x6E,0x74,0x00,0x53,0x74,0x61,0x72,0x74,0x69,0x6E,0x67,0x20,0x53,0x6F,0x6E,0x67,0x00, - 0x4E,0x53,0x46,0x20,0x56,0x65,0x72,0x73,0x69,0x6F,0x6E,0x00,0x4C,0x4F,0x41,0x44,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x00,0x49,0x4E,0x49,0x54,0x20,0x61,0x64, - 0x64,0x72,0x65,0x73,0x73,0x00,0x50,0x4C,0x41,0x59,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x00,0x4E,0x53,0x46,0x20,0x54,0x69,0x74,0x6C,0x65,0x00,0x4E,0x53,0x46, - 0x20,0x41,0x72,0x74,0x69,0x73,0x74,0x00,0x4E,0x53,0x46,0x20,0x43,0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x00,0x4E,0x53,0x46,0x20,0x52,0x69,0x70,0x70,0x65,0x72, - 0x00,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x4E,0x54,0x53,0x43,0x00,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x50,0x41,0x4C,0x00,0x46,0x72, - 0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x44,0x45,0x4E,0x44,0x59,0x00,0x53,0x74,0x61,0x72,0x74,0x69,0x6E,0x67,0x20,0x42,0x61,0x6E,0x6B,0x73,0x00,0x52,0x65,0x67, - 0x69,0x6F,0x6E,0x20,0x4E,0x54,0x53,0x43,0x00,0x52,0x65,0x67,0x69,0x6F,0x6E,0x20,0x50,0x41,0x4C,0x00,0x52,0x65,0x67,0x69,0x6F,0x6E,0x20,0x44,0x65,0x6E,0x64,0x79, - 0x00,0x50,0x72,0x65,0x66,0x65,0x72,0x72,0x65,0x64,0x20,0x52,0x65,0x67,0x69,0x6F,0x6E,0x00,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x46,0x44,0x53,0x00, - 0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x4D,0x4D,0x43,0x35,0x00,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x56,0x52,0x43,0x36,0x00,0x45,0x78, - 0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x56,0x52,0x43,0x37,0x00,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x4E,0x31,0x36,0x33,0x00,0x45,0x78,0x70,0x61, - 0x6E,0x73,0x69,0x6F,0x6E,0x20,0x35,0x42,0x00,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x56,0x54,0x30,0x32,0x00,0x4E,0x53,0x46,0x32,0x00,0x4E,0x53,0x46, - 0x20,0x4D,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x20,0x4F,0x66,0x66,0x73,0x65,0x74,0x00,0x4E,0x53,0x46,0x32,0x20,0x49,0x52,0x51,0x00,0x4E,0x53,0x46,0x32,0x20,0x4E, - 0x6F,0x6E,0x2D,0x52,0x65,0x74,0x75,0x72,0x6E,0x69,0x6E,0x67,0x20,0x49,0x4E,0x49,0x54,0x00,0x4E,0x53,0x46,0x32,0x20,0x4E,0x6F,0x20,0x50,0x4C,0x41,0x59,0x20,0x72, - 0x6F,0x75,0x74,0x69,0x6E,0x65,0x00,0x4E,0x53,0x46,0x32,0x20,0x4D,0x61,0x6E,0x64,0x61,0x74,0x6F,0x72,0x79,0x20,0x4D,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x20,0x46, - 0x6C,0x61,0x67,0x00,0x50,0x6C,0x61,0x79,0x6C,0x69,0x73,0x74,0x20,0x50,0x72,0x65,0x73,0x65,0x6E,0x74,0x00,0x4E,0x53,0x46,0x20,0x48,0x65,0x61,0x64,0x65,0x72,0x20, - 0x52,0x61,0x77,0x20,0x44,0x61,0x74,0x61,0x00,0x50,0x6C,0x61,0x79,0x6C,0x69,0x73,0x74,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x00,0x54,0x45,0x53,0x54,0x5F,0x4C,0x4F, - 0x4E,0x47,0x00,0x54,0x45,0x53,0x54,0x5F,0x4C,0x49,0x4E,0x45,0x53,0x00,0x54,0x45,0x53,0x54,0x5F,0x42,0x4C,0x4F,0x42,0x00,0x54,0x45,0x58,0x54,0x5F,0x48,0x45,0x58, - 0x36,0x34,0x00,0x46,0x69,0x6C,0x65,0x00,0x56,0x69,0x65,0x77,0x00,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x73,0x00,0x41,0x62,0x6F,0x75,0x74,0x00,0x43,0x68,0x61,0x6E,0x6E, - 0x65,0x6C,0x73,0x00,0x4D,0x65,0x6D,0x6F,0x72,0x79,0x00,0x45,0x72,0x72,0x6F,0x72,0x20,0x4C,0x6F,0x67,0x00,0x4B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x00,0x44,0x65, - 0x62,0x75,0x67,0x67,0x65,0x72,0x00,0x4F,0x70,0x65,0x6E,0x20,0x46,0x69,0x6C,0x65,0x2E,0x2E,0x2E,0x00,0x4C,0x6F,0x61,0x64,0x20,0x53,0x65,0x74,0x74,0x69,0x6E,0x67, - 0x73,0x2E,0x2E,0x2E,0x00,0x53,0x61,0x76,0x65,0x20,0x53,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x2E,0x2E,0x2E,0x00,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64,0x20,0x73,0x65, - 0x74,0x74,0x69,0x6E,0x67,0x00,0x57,0x72,0x6F,0x6E,0x67,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x74,0x79,0x70,0x65,0x00,0x53,0x65,0x74,0x74,0x69,0x6E,0x67, - 0x20,0x6F,0x75,0x74,0x20,0x6F,0x66,0x20,0x72,0x61,0x6E,0x67,0x65,0x3A,0x20,0x25,0x64,0x20,0x28,0x25,0x64,0x20,0x74,0x6F,0x20,0x25,0x64,0x29,0x00,0x4D,0x69,0x73, - 0x73,0x69,0x6E,0x67,0x20,0x27,0x3D,0x27,0x00,0x55,0x6E,0x6B,0x6E,0x6F,0x77,0x6E,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x00,0x42,0x61,0x64,0x20,0x69,0x6E,0x74, - 0x65,0x67,0x65,0x72,0x20,0x76,0x61,0x6C,0x75,0x65,0x00,0x56,0x61,0x6C,0x75,0x65,0x20,0x6E,0x6F,0x74,0x20,0x61,0x6E,0x20,0x69,0x6E,0x74,0x65,0x67,0x65,0x72,0x20, - 0x6F,0x72,0x20,0x6C,0x69,0x73,0x74,0x20,0x6B,0x65,0x79,0x20,0x66,0x6F,0x72,0x20,0x25,0x73,0x00,0x42,0x49,0x4E,0x20,0x66,0x69,0x6C,0x65,0x20,0x74,0x6F,0x6F,0x20, - 0x6C,0x61,0x72,0x67,0x65,0x20,0x28,0x6D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x20,0x34,0x30,0x6B,0x29,0x00,0x55,0x6E,0x6B,0x6E,0x6F,0x77,0x6E,0x20,0x66,0x69,0x6C,0x65, - 0x20,0x74,0x79,0x70,0x65,0x2C,0x20,0x6E,0x6F,0x74,0x20,0x4E,0x53,0x46,0x20,0x6F,0x72,0x20,0x4E,0x53,0x46,0x65,0x00,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64,0x20,0x4E, - 0x53,0x46,0x20,0x76,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3A,0x20,0x30,0x00,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64,0x20,0x4E,0x53,0x46,0x32,0x20,0x6D,0x65,0x74,0x61,0x64, - 0x61,0x74,0x61,0x00,0x4E,0x53,0x46,0x20,0x68,0x65,0x61,0x64,0x65,0x72,0x20,0x73,0x74,0x72,0x69,0x6E,0x67,0x73,0x20,0x61,0x72,0x65,0x6E,0x27,0x74,0x20,0x30,0x20, - 0x74,0x65,0x72,0x6D,0x69,0x6E,0x61,0x74,0x65,0x64,0x00,0x4E,0x53,0x46,0x65,0x20,0x63,0x68,0x75,0x6E,0x6B,0x20,0x69,0x6E,0x63,0x6F,0x6D,0x70,0x6C,0x65,0x74,0x65, - 0x3A,0x20,0x25,0x73,0x00,0x4E,0x53,0x46,0x65,0x20,0x6D,0x61,0x6E,0x64,0x61,0x74,0x6F,0x72,0x79,0x20,0x63,0x68,0x75,0x6E,0x6B,0x20,0x75,0x6E,0x6B,0x6E,0x6F,0x77, - 0x6E,0x3A,0x20,0x25,0x73,0x00,0x4E,0x53,0x46,0x65,0x20,0x6D,0x69,0x73,0x73,0x69,0x6E,0x67,0x20,0x6D,0x61,0x6E,0x64,0x61,0x74,0x6F,0x72,0x79,0x20,0x63,0x68,0x75, - 0x6E,0x6B,0x3A,0x20,0x25,0x73,0x00, + 0x45,0x53,0x54,0x00,0x4E,0x53,0x46,0x00,0x4E,0x53,0x46,0x20,0x46,0x69,0x6C,0x65,0x20,0x50,0x72,0x6F,0x70,0x65,0x72,0x74,0x69,0x65,0x73,0x00,0x41,0x63,0x74,0x69, + 0x76,0x65,0x00,0x41,0x63,0x74,0x69,0x76,0x65,0x20,0x73,0x74,0x61,0x74,0x65,0x20,0x70,0x72,0x6F,0x70,0x65,0x72,0x74,0x69,0x65,0x73,0x00,0x50,0x54,0x45,0x53,0x54, + 0x00,0x53,0x6F,0x6E,0x67,0x00,0x53,0x6F,0x6E,0x67,0x20,0x50,0x72,0x6F,0x70,0x65,0x72,0x74,0x69,0x65,0x73,0x00,0x4E,0x45,0x53,0x3A,0x30,0x00,0x53,0x71,0x75,0x61, + 0x72,0x65,0x20,0x30,0x00,0x4E,0x45,0x53,0x3A,0x31,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x00,0x4E,0x45,0x53,0x3A,0x54,0x00,0x54,0x72,0x69,0x61,0x6E,0x67, + 0x6C,0x65,0x00,0x4E,0x45,0x53,0x3A,0x4E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x00,0x4E,0x45,0x53,0x3A,0x44,0x00,0x44,0x50,0x43,0x4D,0x00,0x4D,0x4D,0x43,0x35,0x3A,0x30, + 0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x00,0x4D,0x4D,0x43,0x35,0x3A,0x31,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72, + 0x65,0x20,0x31,0x00,0x4D,0x4D,0x43,0x35,0x3A,0x50,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x00,0x56,0x52,0x43,0x36,0x3A,0x30,0x00,0x56,0x52,0x43,0x36,0x20, + 0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x00,0x56,0x52,0x43,0x36,0x3A,0x31,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x00,0x56,0x52,0x43,0x36, + 0x3A,0x53,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x00,0x56,0x52,0x43,0x37,0x3A,0x30,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x00,0x56,0x52,0x43, + 0x37,0x3A,0x31,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x00,0x56,0x52,0x43,0x37,0x3A,0x32,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x00,0x56, + 0x52,0x43,0x37,0x3A,0x33,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x00,0x56,0x52,0x43,0x37,0x3A,0x34,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34, + 0x00,0x56,0x52,0x43,0x37,0x3A,0x35,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x00,0x4E,0x31,0x36,0x33,0x3A,0x30,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61, + 0x76,0x65,0x20,0x30,0x00,0x4E,0x31,0x36,0x33,0x3A,0x31,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x00,0x4E,0x31,0x36,0x33,0x3A,0x32,0x00,0x4E, + 0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x00,0x4E,0x31,0x36,0x33,0x3A,0x33,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x00,0x4E,0x31, + 0x36,0x33,0x3A,0x34,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x00,0x4E,0x31,0x36,0x33,0x3A,0x35,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76, + 0x65,0x20,0x35,0x00,0x4E,0x31,0x36,0x33,0x3A,0x36,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x00,0x4E,0x31,0x36,0x33,0x3A,0x37,0x00,0x4E,0x31, + 0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x00,0x35,0x42,0x3A,0x30,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65, + 0x20,0x30,0x00,0x35,0x42,0x3A,0x31,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x00,0x35,0x42,0x3A,0x32, + 0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x00,0x35,0x42,0x3A,0x4E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66, + 0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x00,0x35,0x42,0x3A,0x45,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x45,0x6E,0x76,0x65,0x6C, + 0x6F,0x70,0x65,0x00,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x54,0x6F,0x74,0x61,0x6C,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x6C,0x6F,0x75,0x64,0x6E,0x65,0x73,0x73, + 0x2E,0x00,0x53,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x00,0x41,0x75,0x64,0x69,0x6F,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65, + 0x72,0x61,0x74,0x65,0x2E,0x00,0x53,0x74,0x65,0x72,0x65,0x6F,0x00,0x44,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x74,0x6F,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x31, + 0x2D,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x6D,0x6F,0x6E,0x6F,0x20,0x73,0x6F,0x75,0x6E,0x64,0x2E,0x00,0x42,0x69,0x74,0x20,0x44,0x65,0x70,0x74,0x68,0x00,0x41, + 0x75,0x64,0x69,0x6F,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x62,0x69,0x74,0x20,0x64,0x65,0x70,0x74,0x68,0x2E,0x00,0x4E,0x53,0x46,0x20,0x73,0x6F,0x6E,0x67,0x20, + 0x74,0x69,0x74,0x6C,0x65,0x20,0x66,0x6F,0x72,0x6D,0x61,0x74,0x00,0x46,0x6F,0x72,0x6D,0x61,0x74,0x3A,0x20,0x25,0x46,0x20,0x66,0x69,0x6C,0x65,0x6E,0x61,0x6D,0x65, + 0x2C,0x20,0x25,0x50,0x20,0x70,0x61,0x74,0x68,0x2C,0x20,0x25,0x54,0x20,0x4E,0x53,0x46,0x20,0x74,0x69,0x74,0x6C,0x65,0x2C,0x20,0x25,0x41,0x20,0x4E,0x53,0x46,0x20, + 0x61,0x72,0x74,0x69,0x73,0x74,0x2C,0x20,0x25,0x43,0x20,0x4E,0x53,0x46,0x20,0x63,0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x2C,0x20,0x25,0x4C,0x20,0x4E,0x53,0x46, + 0x65,0x20,0x73,0x6F,0x6E,0x67,0x20,0x74,0x69,0x74,0x6C,0x65,0x2C,0x20,0x25,0x4E,0x2F,0x25,0x6E,0x20,0x73,0x6F,0x6E,0x67,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20, + 0x28,0x25,0x6E,0x20,0x69,0x73,0x20,0x33,0x2D,0x64,0x69,0x67,0x69,0x74,0x20,0x77,0x69,0x74,0x68,0x20,0x6C,0x65,0x61,0x64,0x69,0x6E,0x67,0x20,0x7A,0x65,0x72,0x6F, + 0x65,0x73,0x29,0x2C,0x20,0x25,0x53,0x2F,0x25,0x73,0x20,0x4E,0x53,0x46,0x20,0x73,0x74,0x61,0x72,0x74,0x69,0x6E,0x67,0x20,0x73,0x6F,0x6E,0x67,0x2C,0x20,0x25,0x45, + 0x2F,0x25,0x65,0x20,0x4E,0x53,0x46,0x20,0x73,0x6F,0x6E,0x67,0x20,0x63,0x6F,0x75,0x6E,0x74,0x2E,0x00,0x4C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x00,0x44,0x69,0x73, + 0x70,0x6C,0x61,0x79,0x20,0x6C,0x61,0x6E,0x67,0x75,0x61,0x67,0x65,0x2E,0x00,0x43,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x52,0x65,0x73,0x65,0x74,0x00,0x54,0x75,0x72, + 0x6E,0x20,0x61,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x20,0x6F,0x6E,0x20,0x77,0x68,0x65,0x6E,0x65,0x76,0x65,0x72,0x20,0x70,0x6C,0x61,0x79,0x69, + 0x6E,0x67,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x73,0x6F,0x6E,0x67,0x2E,0x00,0x41,0x75,0x74,0x6F,0x20,0x53,0x74,0x61,0x72,0x74,0x00,0x41,0x75,0x74,0x6F,0x6D,0x61, + 0x74,0x69,0x63,0x61,0x6C,0x6C,0x79,0x20,0x70,0x6C,0x61,0x79,0x20,0x77,0x68,0x65,0x6E,0x20,0x61,0x20,0x6E,0x65,0x77,0x20,0x74,0x72,0x61,0x63,0x6B,0x20,0x69,0x73, + 0x20,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64,0x2E,0x00,0x41,0x75,0x74,0x6F,0x20,0x4E,0x65,0x78,0x74,0x00,0x41,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x61,0x6C, + 0x6C,0x79,0x20,0x70,0x6C,0x61,0x79,0x20,0x74,0x68,0x65,0x20,0x6E,0x65,0x78,0x74,0x20,0x74,0x72,0x61,0x63,0x6B,0x2E,0x00,0x41,0x6C,0x62,0x75,0x6D,0x20,0x4C,0x6F, + 0x6F,0x70,0x00,0x52,0x65,0x73,0x74,0x61,0x72,0x74,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68,0x65,0x20,0x66,0x69,0x72,0x73,0x74,0x20,0x74,0x72,0x61,0x63,0x6B,0x20, + 0x61,0x66,0x74,0x65,0x72,0x20,0x74,0x68,0x65,0x20,0x6C,0x61,0x73,0x74,0x20,0x6F,0x6E,0x65,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x73,0x2E,0x00,0x50,0x6C,0x61, + 0x79,0x6C,0x69,0x73,0x74,0x00,0x55,0x73,0x65,0x20,0x4E,0x53,0x46,0x65,0x20,0x70,0x6C,0x61,0x79,0x6C,0x69,0x73,0x74,0x20,0x66,0x6F,0x72,0x20,0x74,0x72,0x61,0x63, + 0x6B,0x20,0x6F,0x72,0x64,0x65,0x72,0x2C,0x20,0x69,0x66,0x20,0x61,0x76,0x61,0x69,0x6C,0x61,0x62,0x6C,0x65,0x2E,0x00,0x50,0x6C,0x61,0x79,0x20,0x54,0x69,0x6D,0x65, + 0x00,0x4D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x20,0x6C,0x65,0x6E,0x67,0x74,0x68,0x20,0x6F,0x66,0x20,0x61,0x20,0x74,0x72,0x61,0x63,0x6B,0x2C,0x20,0x30,0x20,0x66,0x6F, + 0x72,0x20,0x69,0x6E,0x66,0x69,0x6E,0x69,0x74,0x65,0x2E,0x00,0x46,0x61,0x64,0x65,0x20,0x54,0x69,0x6D,0x65,0x00,0x54,0x69,0x6D,0x65,0x20,0x74,0x6F,0x20,0x66,0x61, + 0x64,0x65,0x20,0x6F,0x75,0x74,0x20,0x62,0x65,0x66,0x6F,0x72,0x65,0x20,0x65,0x6E,0x64,0x20,0x6F,0x66,0x20,0x74,0x72,0x61,0x63,0x6B,0x2C,0x20,0x30,0x20,0x66,0x6F, + 0x72,0x20,0x6E,0x6F,0x6E,0x65,0x2E,0x00,0x53,0x69,0x6C,0x65,0x6E,0x63,0x65,0x20,0x54,0x69,0x6D,0x65,0x6F,0x75,0x74,0x00,0x49,0x66,0x20,0x74,0x68,0x65,0x20,0x74, + 0x72,0x61,0x63,0x6B,0x20,0x69,0x73,0x20,0x73,0x69,0x6C,0x65,0x6E,0x74,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x69,0x73,0x20,0x6C,0x6F,0x6E,0x67,0x2C,0x20,0x69,0x74, + 0x20,0x77,0x69,0x6C,0x6C,0x20,0x65,0x6E,0x64,0x2E,0x00,0x4C,0x6F,0x6F,0x70,0x20,0x44,0x65,0x74,0x65,0x63,0x74,0x69,0x6F,0x6E,0x00,0x45,0x6E,0x61,0x62,0x6C,0x65, + 0x20,0x61,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x20,0x6C,0x6F,0x6F,0x6B,0x20,0x64,0x65,0x74,0x65,0x63,0x74,0x69,0x6F,0x6E,0x00,0x4C,0x6F,0x6F,0x70,0x20,0x43, + 0x6F,0x75,0x6E,0x74,0x00,0x57,0x68,0x65,0x6E,0x20,0x6C,0x6F,0x6F,0x70,0x73,0x20,0x61,0x72,0x65,0x20,0x64,0x65,0x74,0x65,0x63,0x74,0x65,0x64,0x2C,0x20,0x6F,0x72, + 0x20,0x67,0x69,0x76,0x65,0x6E,0x20,0x69,0x6E,0x20,0x4E,0x53,0x46,0x65,0x20,0x64,0x61,0x74,0x61,0x2C,0x20,0x74,0x68,0x65,0x20,0x6C,0x6F,0x6F,0x70,0x65,0x64,0x20, + 0x73,0x65,0x63,0x74,0x69,0x6F,0x6E,0x20,0x77,0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x70,0x6C,0x61,0x79,0x65,0x64,0x20,0x74,0x68,0x69,0x73,0x20,0x6D,0x61,0x6E,0x79, + 0x20,0x74,0x69,0x6D,0x65,0x73,0x2C,0x20,0x30,0x20,0x66,0x6F,0x72,0x20,0x69,0x6E,0x66,0x69,0x6E,0x69,0x74,0x65,0x2E,0x00,0x4C,0x6F,0x77,0x70,0x61,0x73,0x73,0x20, + 0x46,0x69,0x6C,0x74,0x65,0x72,0x00,0x52,0x43,0x20,0x6C,0x6F,0x77,0x70,0x61,0x73,0x73,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x20,0x72,0x65,0x64,0x75,0x63,0x65,0x73, + 0x20,0x68,0x69,0x67,0x68,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x69,0x65,0x73,0x2E,0x20,0x30,0x20,0x66,0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x65,0x2E,0x00,0x48, + 0x69,0x67,0x68,0x70,0x61,0x73,0x73,0x20,0x46,0x69,0x6C,0x74,0x65,0x72,0x00,0x52,0x43,0x20,0x68,0x69,0x67,0x68,0x70,0x61,0x73,0x73,0x20,0x66,0x69,0x6C,0x74,0x65, + 0x72,0x20,0x72,0x65,0x6D,0x6F,0x76,0x65,0x64,0x20,0x44,0x43,0x20,0x62,0x69,0x61,0x73,0x20,0x61,0x6E,0x64,0x20,0x72,0x65,0x64,0x75,0x63,0x65,0x73,0x20,0x6C,0x6F, + 0x77,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x69,0x65,0x73,0x2E,0x20,0x30,0x20,0x66,0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x65,0x2E,0x00,0x44,0x6F,0x77,0x6E,0x73, + 0x61,0x6D,0x70,0x6C,0x69,0x6E,0x67,0x00,0x52,0x65,0x64,0x75,0x63,0x65,0x73,0x20,0x68,0x69,0x67,0x68,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x65, + 0x6D,0x75,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65, + 0x2E,0x00,0x52,0x65,0x67,0x69,0x6F,0x6E,0x00,0x54,0x79,0x70,0x65,0x20,0x6F,0x66,0x20,0x4E,0x45,0x53,0x2F,0x46,0x61,0x6D,0x69,0x63,0x6F,0x6D,0x20,0x65,0x6D,0x75, + 0x6C,0x61,0x74,0x65,0x64,0x2C,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x61,0x75,0x74,0x6F,0x2D,0x73,0x65,0x6C,0x65,0x63,0x74,0x65,0x64,0x20,0x69,0x66,0x20,0x74, + 0x68,0x65,0x20,0x4E,0x53,0x46,0x20,0x63,0x6F,0x6E,0x74,0x61,0x69,0x6E,0x73,0x20,0x72,0x65,0x67,0x69,0x6F,0x6E,0x20,0x64,0x61,0x74,0x61,0x2E,0x00,0x4E,0x54,0x53, + 0x43,0x20,0x43,0x50,0x55,0x20,0x52,0x61,0x74,0x65,0x00,0x45,0x6D,0x75,0x6C,0x61,0x74,0x65,0x64,0x20,0x4E,0x54,0x53,0x43,0x20,0x43,0x50,0x55,0x20,0x63,0x6C,0x6F, + 0x63,0x6B,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x2E,0x00,0x50,0x41,0x4C,0x20,0x43,0x50,0x55,0x20,0x52,0x61,0x74,0x65,0x00,0x45,0x6D,0x75,0x6C,0x61, + 0x74,0x65,0x64,0x20,0x50,0x41,0x4C,0x20,0x43,0x50,0x55,0x20,0x63,0x6C,0x6F,0x63,0x6B,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x2E,0x00,0x44,0x65,0x6E, + 0x64,0x79,0x20,0x43,0x50,0x55,0x20,0x52,0x61,0x74,0x65,0x00,0x45,0x6D,0x75,0x6C,0x61,0x74,0x65,0x64,0x20,0x44,0x65,0x6E,0x64,0x79,0x20,0x43,0x50,0x55,0x20,0x63, + 0x6C,0x6F,0x63,0x6B,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x2E,0x00,0x53,0x70,0x65,0x65,0x64,0x00,0x41,0x64,0x6A,0x75,0x73,0x74,0x20,0x74,0x68,0x65, + 0x20,0x70,0x6C,0x61,0x79,0x62,0x61,0x63,0x6B,0x20,0x72,0x61,0x74,0x65,0x20,0x74,0x6F,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x6F,0x6E, + 0x67,0x20,0x73,0x70,0x65,0x65,0x64,0x2E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x00,0x49,0x67,0x6E,0x6F,0x72,0x65,0x20, + 0x4E,0x53,0x46,0x20,0x70,0x6C,0x61,0x79,0x62,0x61,0x63,0x6B,0x20,0x72,0x61,0x74,0x65,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x2C,0x20,0x61,0x6E,0x64,0x20, + 0x66,0x6F,0x72,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x70,0x6C,0x61,0x79,0x20,0x72,0x61,0x74,0x65,0x20,0x69,0x6E,0x73,0x74,0x65,0x61,0x64,0x20,0x61, + 0x63,0x63,0x6F,0x72,0x64,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x72,0x65,0x67,0x69,0x6F,0x6E,0x2E,0x00,0x4E,0x54,0x53,0x43,0x20,0x46,0x72,0x61,0x6D,0x65,0x72,0x61, + 0x74,0x65,0x00,0x46,0x6F,0x72,0x63,0x65,0x64,0x20,0x66,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x66,0x6F,0x72,0x20,0x4E,0x54,0x53,0x43,0x2C,0x20,0x75,0x6E, + 0x69,0x74,0x73,0x20,0x6F,0x66,0x20,0x31,0x2F,0x31,0x30,0x2C,0x30,0x30,0x30,0x20,0x48,0x7A,0x00,0x50,0x41,0x4C,0x20,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65, + 0x00,0x46,0x6F,0x72,0x63,0x65,0x64,0x20,0x66,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x66,0x6F,0x72,0x20,0x50,0x41,0x4C,0x2C,0x20,0x75,0x6E,0x69,0x74,0x73, + 0x20,0x6F,0x66,0x20,0x31,0x2F,0x31,0x30,0x2C,0x30,0x30,0x30,0x20,0x48,0x7A,0x00,0x44,0x65,0x6E,0x64,0x79,0x20,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x00, + 0x46,0x6F,0x72,0x63,0x65,0x64,0x20,0x66,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x66,0x6F,0x72,0x20,0x44,0x65,0x6E,0x64,0x79,0x2C,0x20,0x75,0x6E,0x69,0x74, + 0x73,0x20,0x6F,0x66,0x20,0x31,0x2F,0x31,0x30,0x2C,0x30,0x30,0x30,0x20,0x48,0x7A,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x49,0x52,0x51,0x20,0x45,0x6E,0x61,0x62,0x6C, + 0x65,0x00,0x45,0x6E,0x61,0x62,0x6C,0x65,0x20,0x49,0x52,0x51,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x6F,0x72,0x20,0x61,0x6C,0x6C,0x20,0x4E, + 0x53,0x46,0x73,0x2E,0x20,0x4E,0x53,0x46,0x32,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x63,0x61,0x6E,0x20,0x61,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x61,0x6C,0x6C, + 0x79,0x20,0x72,0x65,0x71,0x75,0x65,0x73,0x74,0x20,0x49,0x52,0x51,0x20,0x75,0x73,0x61,0x67,0x65,0x2E,0x00,0x4E,0x6F,0x6E,0x6C,0x69,0x6E,0x65,0x61,0x72,0x20,0x4D, + 0x69,0x78,0x00,0x54,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x6F,0x66,0x20,0x65,0x61,0x63,0x68,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x20,0x61,0x66,0x66, + 0x65,0x63,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x2C,0x20,0x63,0x61,0x75,0x73,0x69,0x6E,0x67,0x20,0x61,0x20,0x64,0x69,0x73,0x74,0x6F,0x72, + 0x74,0x69,0x6F,0x6E,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x2E,0x00,0x53,0x74,0x61,0x72,0x74,0x20,0x55,0x6E,0x6D,0x75,0x74,0x65,0x64,0x00,0x53,0x6F,0x6D,0x65,0x20, + 0x4E,0x53,0x46,0x73,0x20,0x6E,0x65,0x67,0x6C,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x74,0x75,0x72,0x6E,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x68,0x61,0x6E, + 0x6E,0x65,0x6C,0x73,0x20,0x62,0x65,0x66,0x6F,0x72,0x65,0x20,0x75,0x73,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x6D,0x2E,0x00,0x53,0x77,0x65,0x65,0x70,0x20,0x55,0x6E, + 0x6D,0x75,0x74,0x65,0x64,0x00,0x53,0x6F,0x6D,0x65,0x20,0x4E,0x53,0x46,0x73,0x20,0x6E,0x65,0x67,0x6C,0x65,0x63,0x74,0x20,0x74,0x6F,0x20,0x69,0x6E,0x69,0x74,0x69, + 0x61,0x6C,0x69,0x7A,0x65,0x20,0x74,0x68,0x65,0x20,0x73,0x77,0x65,0x65,0x70,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x2C,0x20,0x63,0x61,0x75,0x73,0x69, + 0x6E,0x67,0x20,0x6C,0x6F,0x77,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x74,0x6F,0x6E,0x65,0x73,0x20,0x74,0x6F,0x20,0x62,0x65,0x20,0x6D,0x75,0x74, + 0x65,0x64,0x2E,0x00,0x50,0x68,0x61,0x73,0x65,0x20,0x52,0x65,0x73,0x65,0x74,0x00,0x57,0x72,0x69,0x74,0x69,0x6E,0x67,0x20,0x24,0x34,0x30,0x30,0x33,0x2F,0x24,0x34, + 0x30,0x30,0x37,0x20,0x72,0x65,0x73,0x65,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x68,0x61,0x73,0x65,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x71,0x75,0x61, + 0x72,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x6F,0x66,0x74,0x65,0x6E,0x20,0x63,0x61,0x75,0x73,0x65,0x73,0x20,0x61, + 0x6E,0x20,0x75,0x6E,0x70,0x6C,0x65,0x61,0x73,0x61,0x6E,0x74,0x20,0x63,0x6C,0x69,0x63,0x6B,0x69,0x6E,0x67,0x20,0x64,0x75,0x72,0x69,0x6E,0x67,0x20,0x76,0x69,0x62, + 0x72,0x61,0x74,0x6F,0x2E,0x20,0x28,0x53,0x65,0x65,0x3A,0x20,0x4D,0x65,0x67,0x61,0x20,0x4D,0x61,0x6E,0x20,0x32,0x20,0x65,0x6E,0x64,0x69,0x6E,0x67,0x2E,0x29,0x00, + 0x53,0x77,0x61,0x70,0x20,0x44,0x75,0x74,0x79,0x00,0x53,0x6F,0x6D,0x65,0x20,0x65,0x75,0x72,0x6F,0x70,0x65,0x61,0x6E,0x20,0x4E,0x45,0x53,0x20,0x63,0x6C,0x6F,0x6E, + 0x65,0x73,0x20,0x73,0x77,0x69,0x74,0x63,0x68,0x20,0x74,0x77,0x6F,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x20,0x63,0x68,0x61,0x6E, + 0x6E,0x65,0x6C,0x20,0x64,0x75,0x74,0x79,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x53, + 0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65, + 0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x53, + 0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72, + 0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00, + 0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x71, + 0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53, + 0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x71, + 0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61, + 0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x54,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x6F,0x66,0x20,0x74,0x72,0x69,0x61,0x6E, + 0x67,0x6C,0x65,0x2C,0x20,0x6E,0x6F,0x69,0x73,0x65,0x2C,0x20,0x61,0x6E,0x64,0x20,0x44,0x50,0x43,0x4D,0x20,0x65,0x61,0x63,0x68,0x20,0x61,0x66,0x66,0x65,0x63,0x74, + 0x73,0x20,0x74,0x68,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x2C,0x20,0x63,0x61,0x75,0x73,0x69,0x6E,0x67,0x20,0x61,0x20,0x64,0x69,0x73,0x74,0x6F,0x72,0x74,0x69,0x6F, + 0x6E,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x4D,0x75,0x74,0x65,0x20,0x30,0x00,0x54,0x68,0x65,0x20,0x74,0x72, + 0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x61,0x74,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x20,0x30,0x20,0x70,0x72,0x6F,0x64,0x75,0x63,0x65,0x73,0x20,0x61,0x6E,0x20,0x69, + 0x6E,0x61,0x75,0x64,0x69,0x62,0x6C,0x65,0x20,0x68,0x69,0x67,0x68,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x74,0x6F,0x6E,0x65,0x2C,0x20,0x62,0x75, + 0x74,0x20,0x64,0x75,0x65,0x20,0x74,0x6F,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,0x73,0x20,0x74, + 0x68,0x69,0x73,0x20,0x6D,0x61,0x79,0x20,0x61,0x6C,0x69,0x61,0x73,0x20,0x75,0x6E,0x70,0x6C,0x65,0x61,0x73,0x61,0x6E,0x74,0x6C,0x79,0x20,0x61,0x74,0x20,0x61,0x20, + 0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x79,0x6F,0x75,0x20,0x63,0x61,0x6E,0x20,0x68,0x65,0x61,0x72,0x2E,0x20,0x4D,0x75,0x74,0x69,0x6E,0x67,0x20,0x69, + 0x74,0x20,0x68,0x69,0x64,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x69,0x73,0x73,0x75,0x65,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x52,0x61,0x6E, + 0x64,0x6F,0x6D,0x69,0x7A,0x65,0x00,0x53,0x74,0x61,0x72,0x74,0x20,0x74,0x68,0x65,0x20,0x74,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x61, + 0x20,0x72,0x61,0x6E,0x64,0x6F,0x6D,0x20,0x70,0x68,0x61,0x73,0x65,0x2E,0x00,0x50,0x65,0x72,0x69,0x6F,0x64,0x69,0x63,0x20,0x4E,0x6F,0x69,0x73,0x65,0x00,0x45,0x61, + 0x72,0x6C,0x79,0x20,0x46,0x61,0x6D,0x69,0x63,0x6F,0x6D,0x20,0x75,0x6E,0x69,0x74,0x73,0x20,0x63,0x6F,0x75,0x6C,0x64,0x20,0x6E,0x6F,0x74,0x20,0x70,0x72,0x6F,0x64, + 0x75,0x63,0x65,0x20,0x70,0x65,0x72,0x69,0x6F,0x64,0x69,0x63,0x20,0x6E,0x6F,0x69,0x73,0x65,0x2E,0x20,0x54,0x75,0x72,0x6E,0x69,0x6E,0x67,0x20,0x74,0x68,0x69,0x73, + 0x20,0x6F,0x70,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x66,0x66,0x20,0x63,0x61,0x6E,0x20,0x73,0x69,0x6D,0x75,0x6C,0x61,0x74,0x20,0x74,0x68,0x69,0x73,0x2E,0x00,0x4E,0x6F, + 0x69,0x73,0x65,0x20,0x52,0x61,0x6E,0x64,0x6F,0x6D,0x69,0x7A,0x65,0x00,0x53,0x74,0x61,0x72,0x74,0x20,0x74,0x68,0x65,0x20,0x6E,0x6F,0x69,0x73,0x65,0x20,0x77,0x69, + 0x74,0x68,0x20,0x61,0x20,0x72,0x61,0x6E,0x64,0x6F,0x6D,0x20,0x70,0x68,0x61,0x73,0x65,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x24,0x34,0x30,0x31,0x31,0x00,0x54,0x68, + 0x65,0x20,0x44,0x50,0x43,0x4D,0x20,0x76,0x61,0x6C,0x75,0x65,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x73,0x65,0x74,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6C,0x79, + 0x20,0x62,0x79,0x20,0x77,0x72,0x69,0x74,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x24,0x34,0x30,0x31,0x31,0x20,0x66,0x6F,0x72,0x20,0x50,0x43,0x4D,0x20,0x73,0x6F,0x75, + 0x6E,0x64,0x73,0x20,0x6F,0x72,0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x73,0x2E,0x20,0x53,0x6F,0x6D,0x65,0x20,0x4E,0x53,0x46,0x73,0x20, + 0x77,0x72,0x69,0x74,0x65,0x20,0x74,0x6F,0x20,0x69,0x74,0x20,0x77,0x69,0x74,0x68,0x20,0x65,0x76,0x65,0x72,0x79,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x6C, + 0x61,0x79,0x65,0x64,0x2C,0x20,0x63,0x61,0x75,0x73,0x69,0x6E,0x67,0x20,0x61,0x20,0x70,0x6F,0x70,0x20,0x65,0x61,0x63,0x68,0x20,0x74,0x69,0x6D,0x65,0x2E,0x20,0x44, + 0x69,0x73,0x61,0x62,0x6C,0x69,0x6E,0x67,0x20,0x74,0x68,0x69,0x73,0x20,0x65,0x6C,0x69,0x6D,0x69,0x6E,0x61,0x74,0x65,0x73,0x20,0x74,0x68,0x61,0x74,0x20,0x70,0x6F, + 0x70,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x42,0x69,0x74,0x20,0x52,0x65,0x76,0x65,0x72,0x73,0x65,0x00,0x53,0x6F,0x6D,0x65,0x20,0x44,0x50,0x43,0x4D,0x20,0x73,0x61, + 0x6D,0x70,0x6C,0x65,0x73,0x20,0x77,0x65,0x72,0x65,0x20,0x61,0x63,0x63,0x69,0x64,0x65,0x6E,0x74,0x61,0x6C,0x6C,0x79,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x64,0x20, + 0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x69,0x72,0x20,0x62,0x69,0x74,0x73,0x20,0x72,0x65,0x76,0x65,0x72,0x73,0x65,0x64,0x2C,0x20,0x67,0x69,0x76,0x69,0x6E,0x67, + 0x20,0x74,0x68,0x65,0x6D,0x20,0x61,0x20,0x6E,0x6F,0x69,0x73,0x79,0x20,0x71,0x75,0x61,0x6C,0x69,0x74,0x79,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x73,0x69,0x6D,0x75, + 0x6C,0x61,0x74,0x65,0x73,0x20,0x77,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x79,0x20,0x77,0x6F,0x75,0x6C,0x64,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x6C,0x69,0x6B,0x65, + 0x20,0x69,0x66,0x20,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x65,0x6E,0x63,0x6F,0x64,0x65,0x64,0x2E,0x20,0x28,0x53,0x65,0x65,0x3A,0x20,0x44,0x6F,0x75, + 0x62,0x6C,0x65,0x20,0x44,0x72,0x69,0x62,0x62,0x6C,0x65,0x2C,0x20,0x6F,0x72,0x20,0x47,0x69,0x6D,0x6D,0x69,0x63,0x6B,0x21,0x29,0x00,0x54,0x72,0x69,0x61,0x6E,0x67, + 0x6C,0x65,0x20,0x4F,0x6E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65, + 0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C, + 0x65,0x20,0x50,0x61,0x6E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65, + 0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x54,0x72,0x69,0x61,0x6E,0x67,0x6C,0x65,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63, + 0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x4F,0x6E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E, + 0x6F,0x69,0x73,0x65,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20, + 0x50,0x61,0x6E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x6F,0x69,0x73,0x65,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00, + 0x4E,0x6F,0x69,0x73,0x65,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x44,0x50,0x43,0x4D, + 0x20,0x4F,0x6E,0x00,0x44,0x50,0x43,0x4D,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x44,0x50, + 0x43,0x4D,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x50,0x61,0x6E,0x00,0x44,0x50,0x43,0x4D,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67, + 0x2E,0x00,0x44,0x50,0x43,0x4D,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x44,0x50,0x43,0x4D,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E, + 0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4C,0x6F,0x77,0x70,0x61,0x73,0x73,0x00,0x54,0x68,0x65,0x20,0x46,0x44,0x53,0x27,0x20,0x69,0x6E,0x74,0x65,0x72,0x6E, + 0x61,0x6C,0x20,0x6C,0x6F,0x77,0x70,0x61,0x73,0x73,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x20,0x72,0x6F,0x6C,0x6C,0x73,0x20,0x6F,0x66,0x66,0x20,0x68,0x69,0x67,0x68, + 0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x69,0x65,0x73,0x2C,0x20,0x67,0x69,0x76,0x69,0x6E,0x67,0x20,0x69,0x74,0x20,0x61,0x20,0x64,0x75,0x6C,0x6C,0x65,0x72, + 0x2C,0x20,0x73,0x6D,0x6F,0x6F,0x74,0x68,0x65,0x72,0x20,0x73,0x6F,0x75,0x6E,0x64,0x2E,0x20,0x30,0x20,0x66,0x6F,0x72,0x20,0x6E,0x6F,0x6E,0x65,0x2E,0x00,0x4D,0x6F, + 0x64,0x75,0x6C,0x61,0x74,0x6F,0x72,0x20,0x52,0x65,0x73,0x65,0x74,0x20,0x24,0x34,0x30,0x38,0x35,0x00,0x54,0x68,0x65,0x20,0x46,0x44,0x53,0x20,0x64,0x6F,0x65,0x73, + 0x20,0x6E,0x6F,0x74,0x20,0x68,0x61,0x76,0x65,0x20,0x61,0x20,0x6D,0x6F,0x64,0x75,0x6C,0x61,0x74,0x6F,0x72,0x20,0x70,0x68,0x61,0x73,0x65,0x20,0x72,0x65,0x73,0x65, + 0x74,0x2C,0x20,0x62,0x75,0x74,0x20,0x6D,0x61,0x6E,0x79,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x6F,0x72,0x73,0x20,0x6D,0x69,0x73,0x74,0x61,0x6B,0x65,0x6E,0x6C,0x79, + 0x20,0x61,0x63,0x74,0x20,0x61,0x73,0x20,0x69,0x66,0x20,0x61,0x20,0x24,0x34,0x30,0x38,0x35,0x20,0x77,0x72,0x69,0x74,0x65,0x20,0x64,0x6F,0x65,0x73,0x2E,0x20,0x54, + 0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x61,0x63,0x74,0x75,0x61,0x6C,0x6C,0x79,0x20,0x64,0x6F,0x6E,0x65,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,0x73,0x6F,0x6D, + 0x65,0x20,0x4B,0x6F,0x6E,0x61,0x6D,0x69,0x20,0x67,0x61,0x6D,0x65,0x73,0x20,0x68,0x61,0x76,0x65,0x20,0x74,0x72,0x69,0x63,0x6B,0x79,0x20,0x74,0x69,0x6D,0x69,0x6E, + 0x67,0x20,0x74,0x68,0x61,0x74,0x20,0x77,0x68,0x65,0x6E,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x65,0x64,0x20,0x69,0x6E,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79, + 0x20,0x63,0x61,0x75,0x73,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x6D,0x6F,0x64,0x75,0x6C,0x61,0x74,0x6F,0x72,0x20,0x74,0x6F,0x20,0x64,0x72,0x69,0x66,0x74,0x2E,0x00, + 0x57,0x72,0x69,0x74,0x65,0x20,0x50,0x72,0x6F,0x74,0x65,0x63,0x74,0x00,0x57,0x72,0x69,0x74,0x65,0x20,0x70,0x72,0x6F,0x74,0x65,0x63,0x74,0x20,0x74,0x68,0x65,0x20, + 0x52,0x41,0x4D,0x20,0x61,0x74,0x20,0x24,0x38,0x30,0x30,0x30,0x2D,0x44,0x46,0x46,0x46,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x63,0x61,0x6E,0x6E,0x6F,0x74,0x20,0x62, + 0x65,0x20,0x64,0x6F,0x6E,0x65,0x20,0x6F,0x6E,0x20,0x61,0x20,0x72,0x65,0x61,0x6C,0x20,0x46,0x44,0x53,0x2C,0x20,0x62,0x75,0x74,0x20,0x73,0x6F,0x6D,0x65,0x20,0x4E, + 0x53,0x46,0x73,0x20,0x65,0x78,0x70,0x65,0x63,0x74,0x20,0x74,0x68,0x69,0x73,0x2E,0x20,0x4D,0x75,0x6C,0x74,0x69,0x2D,0x65,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E, + 0x20,0x4E,0x53,0x46,0x73,0x20,0x77,0x69,0x6C,0x6C,0x20,0x61,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x61,0x6C,0x6C,0x79,0x20,0x61,0x70,0x70,0x6C,0x79,0x20,0x74, + 0x68,0x69,0x73,0x2E,0x00,0x46,0x44,0x53,0x20,0x4F,0x6E,0x00,0x46,0x44,0x53,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x46,0x44,0x53,0x20,0x56,0x6F,0x6C, + 0x75,0x6D,0x65,0x00,0x46,0x44,0x53,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x46,0x44,0x53,0x20,0x50,0x61,0x6E,0x00,0x46,0x44,0x53,0x20,0x70,0x61,0x6E,0x6E, + 0x69,0x6E,0x67,0x2E,0x00,0x46,0x44,0x53,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x46,0x44,0x53,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F, + 0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x57,0x72,0x69,0x74,0x69,0x6E,0x67,0x20,0x24,0x34,0x30,0x30,0x33,0x2F,0x24,0x34,0x30,0x30,0x37,0x20,0x72,0x65, + 0x73,0x65,0x74,0x73,0x20,0x74,0x68,0x65,0x20,0x70,0x68,0x61,0x73,0x65,0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x71,0x75,0x61,0x72,0x65,0x20,0x63,0x68,0x61, + 0x6E,0x6E,0x65,0x6C,0x73,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x64,0x20,0x69,0x66,0x20,0x64, + 0x65,0x73,0x69,0x72,0x65,0x64,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71, + 0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x56,0x6F, + 0x6C,0x75,0x6D,0x65,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20, + 0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69, + 0x6E,0x67,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71, + 0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4D,0x4D,0x43, + 0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x65,0x6E,0x61,0x62, + 0x6C,0x65,0x64,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53, + 0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x50,0x61, + 0x6E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71, + 0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4D,0x4D,0x43,0x35,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x76,0x69,0x73,0x75, + 0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x4F,0x6E,0x00,0x4D,0x4D, + 0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00, + 0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x50,0x61,0x6E,0x00,0x4D,0x4D, + 0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00, + 0x4D,0x4D,0x43,0x35,0x20,0x50,0x43,0x4D,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56, + 0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x65,0x6E,0x61,0x62, + 0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75, + 0x6C,0x73,0x65,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x56, + 0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20, + 0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74, + 0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x36, + 0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x56, + 0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x36,0x20, + 0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67, + 0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x36,0x20,0x50,0x75,0x6C,0x73,0x65, + 0x20,0x31,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61, + 0x77,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20, + 0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77, + 0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20, + 0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x36,0x20,0x53,0x61,0x77,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F, + 0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4F,0x50,0x4C,0x4C,0x20,0x4D,0x6F,0x64,0x65,0x00,0x52,0x65,0x70,0x6C,0x61,0x63,0x65,0x20,0x74,0x68,0x65,0x20,0x56,0x52,0x43,0x37, + 0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x4F,0x50,0x4C,0x4C,0x2F,0x59,0x4D,0x32,0x34,0x31,0x33,0x20,0x69,0x74,0x20,0x77,0x61,0x73,0x20,0x62,0x61,0x73, + 0x65,0x64,0x20,0x6F,0x6E,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x50,0x61,0x74,0x63,0x68,0x20,0x53,0x65,0x74,0x00,0x54,0x68,0x65,0x20,0x62,0x75,0x69,0x6C,0x74,0x2D, + 0x69,0x6E,0x20,0x70,0x61,0x74,0x63,0x68,0x20,0x73,0x65,0x74,0x20,0x75,0x73,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x56,0x52,0x43,0x37,0x2E,0x20,0x54, + 0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x6E,0x6F,0x77,0x20,0x70,0x65,0x72,0x66,0x65,0x63,0x74,0x6C,0x79,0x20,0x6B,0x6E,0x6F,0x77,0x6E,0x2C,0x20,0x62,0x75,0x74,0x20, + 0x65,0x61,0x72,0x6C,0x69,0x65,0x72,0x20,0x70,0x61,0x74,0x63,0x68,0x20,0x73,0x65,0x74,0x73,0x20,0x77,0x65,0x72,0x65,0x20,0x64,0x65,0x64,0x75,0x63,0x65,0x64,0x20, + 0x62,0x79,0x20,0x65,0x61,0x72,0x2E,0x20,0x48,0x69,0x73,0x74,0x6F,0x72,0x69,0x63,0x61,0x6C,0x20,0x73,0x65,0x74,0x73,0x20,0x61,0x72,0x65,0x20,0x70,0x72,0x6F,0x76, + 0x69,0x64,0x65,0x64,0x20,0x74,0x6F,0x20,0x6D,0x61,0x74,0x63,0x68,0x20,0x65,0x61,0x72,0x6C,0x69,0x65,0x72,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x65,0x64,0x20,0x73, + 0x6F,0x75,0x6E,0x64,0x2E,0x00,0x4F,0x50,0x4C,0x4C,0x20,0x50,0x61,0x74,0x63,0x68,0x20,0x53,0x65,0x74,0x00,0x41,0x20,0x63,0x68,0x6F,0x69,0x63,0x65,0x20,0x6F,0x66, + 0x20,0x70,0x61,0x74,0x63,0x68,0x20,0x73,0x65,0x74,0x20,0x66,0x6F,0x72,0x20,0x77,0x68,0x65,0x6E,0x20,0x74,0x68,0x65,0x20,0x56,0x52,0x43,0x37,0x20,0x69,0x73,0x20, + 0x72,0x65,0x70,0x6C,0x61,0x63,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68,0x65,0x20,0x4F,0x50,0x4C,0x4C,0x2F,0x59,0x4D,0x32,0x34,0x31,0x33,0x2E,0x00,0x56,0x52,0x43, + 0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43, + 0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00, + 0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E, + 0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x30,0x20,0x76,0x69,0x73,0x75, + 0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x4F,0x6E,0x00,0x56, + 0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75, + 0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x50, + 0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20, + 0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x31,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63, + 0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x65,0x6E, + 0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20, + 0x32,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20, + 0x32,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x32,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37, + 0x20,0x46,0x4D,0x20,0x32,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x37, + 0x20,0x46,0x4D,0x20,0x33,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x37, + 0x20,0x46,0x4D,0x20,0x33,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56, + 0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00, + 0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x33,0x20,0x76,0x69,0x73,0x75,0x61, + 0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x4F,0x6E,0x00,0x56,0x52, + 0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x56,0x6F,0x6C,0x75,0x6D, + 0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x50,0x61, + 0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x43, + 0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x34,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F, + 0x6C,0x6F,0x75,0x72,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x4F,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x65,0x6E,0x61, + 0x62,0x6C,0x65,0x64,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35, + 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x50,0x61,0x6E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35, + 0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x46,0x4D,0x20,0x35,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x56,0x52,0x43,0x37,0x20, + 0x46,0x4D,0x20,0x35,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4D,0x75,0x6C,0x74,0x69, + 0x70,0x6C,0x65,0x78,0x00,0x54,0x68,0x65,0x20,0x4E,0x31,0x36,0x33,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x20,0x61,0x72,0x65,0x20,0x6D,0x69,0x78,0x65,0x64, + 0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x27,0x74,0x69,0x6D,0x65,0x20,0x73,0x68,0x61,0x72,0x65,0x27,0x20,0x6D,0x75,0x6C,0x74,0x69,0x70,0x6C,0x65,0x78,0x69,0x6E, + 0x67,0x2C,0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x72,0x61,0x74,0x65,0x20,0x64,0x65,0x70,0x65,0x6E,0x64,0x65,0x6E,0x74,0x20,0x6F,0x6E,0x20,0x68,0x6F,0x77,0x20, + 0x6D,0x61,0x6E,0x79,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x20,0x61,0x72,0x65,0x20,0x61,0x63,0x74,0x69,0x76,0x65,0x2E,0x20,0x46,0x6F,0x72,0x20,0x38,0x2D, + 0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x20,0x4E,0x31,0x36,0x33,0x20,0x74,0x75,0x6E,0x65,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x70,0x72,0x6F,0x64,0x75,0x63,0x65,0x73, + 0x20,0x76,0x65,0x72,0x79,0x20,0x75,0x6E,0x70,0x6C,0x65,0x61,0x73,0x61,0x6E,0x74,0x20,0x68,0x69,0x67,0x68,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20, + 0x68,0x69,0x73,0x73,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x6D,0x75,0x6C,0x74,0x69,0x70,0x6C,0x65,0x78,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x69,0x73,0x20,0x61,0x63, + 0x63,0x75,0x72,0x61,0x74,0x65,0x2C,0x20,0x62,0x75,0x74,0x20,0x69,0x74,0x20,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x64,0x20,0x62,0x79,0x20,0x64,0x65,0x66,0x61,0x75, + 0x6C,0x74,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,0x69,0x74,0x20,0x69,0x73,0x20,0x75,0x6E,0x70,0x6C,0x65,0x61,0x73,0x61,0x6E,0x74,0x2E,0x20,0x4F,0x6E,0x20, + 0x52,0x46,0x20,0x63,0x6F,0x6E,0x6E,0x65,0x63,0x74,0x65,0x64,0x20,0x46,0x61,0x6D,0x69,0x63,0x6F,0x6D,0x73,0x2C,0x20,0x74,0x68,0x65,0x20,0x68,0x69,0x73,0x73,0x20, + 0x77,0x61,0x73,0x20,0x72,0x65,0x64,0x75,0x63,0x65,0x64,0x20,0x61,0x20,0x62,0x69,0x74,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68,0x65,0x20,0x73,0x74,0x72,0x6F,0x6E, + 0x67,0x65,0x72,0x20,0x6C,0x6F,0x77,0x70,0x61,0x73,0x73,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x20,0x61,0x70,0x70,0x6C,0x69,0x65,0x64,0x20,0x62,0x79,0x20,0x74,0x68, + 0x65,0x20,0x52,0x46,0x20,0x70,0x72,0x6F,0x63,0x65,0x73,0x73,0x2E,0x00,0x50,0x68,0x61,0x73,0x65,0x20,0x50,0x72,0x6F,0x74,0x65,0x63,0x74,0x00,0x45,0x61,0x72,0x6C, + 0x79,0x20,0x65,0x6D,0x75,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x61,0x73,0x73,0x75,0x6D,0x65,0x64,0x20,0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x4E,0x31,0x36, + 0x33,0x20,0x70,0x68,0x61,0x73,0x65,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x64,0x69,0x64,0x20,0x6E,0x6F,0x74,0x68,0x69,0x6E,0x67,0x2E,0x20,0x53, + 0x6F,0x6D,0x65,0x20,0x65,0x61,0x72,0x6C,0x79,0x20,0x4E,0x31,0x36,0x33,0x20,0x68,0x6F,0x6D,0x65,0x62,0x72,0x65,0x77,0x20,0x77,0x72,0x69,0x74,0x65,0x73,0x20,0x76, + 0x61,0x6C,0x75,0x65,0x73,0x20,0x74,0x6F,0x20,0x69,0x74,0x2C,0x20,0x63,0x61,0x75,0x73,0x69,0x6E,0x67,0x20,0x62,0x75,0x7A,0x7A,0x69,0x6E,0x67,0x20,0x6F,0x72,0x20, + 0x64,0x69,0x73,0x61,0x62,0x6C,0x69,0x6E,0x67,0x20,0x74,0x68,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E,0x20,0x44,0x69,0x73,0x61,0x62,0x6C,0x65,0x20, + 0x74,0x68,0x69,0x73,0x20,0x74,0x6F,0x20,0x61,0x63,0x63,0x6F,0x6D,0x6F,0x64,0x61,0x74,0x65,0x20,0x74,0x68,0x6F,0x73,0x65,0x20,0x68,0x6F,0x6D,0x65,0x62,0x72,0x65, + 0x77,0x20,0x73,0x6F,0x6E,0x67,0x73,0x2E,0x00,0x53,0x68,0x6F,0x72,0x74,0x20,0x57,0x61,0x76,0x65,0x66,0x6F,0x72,0x6D,0x00,0x45,0x61,0x72,0x6C,0x79,0x20,0x65,0x6D, + 0x75,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x69,0x6E,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x61,0x73,0x73,0x75,0x6D,0x65,0x64,0x20,0x74,0x68,0x65,0x20, + 0x75,0x70,0x70,0x65,0x72,0x20,0x33,0x20,0x62,0x69,0x74,0x73,0x20,0x6F,0x66,0x20,0x77,0x61,0x76,0x65,0x66,0x6F,0x72,0x6D,0x20,0x6C,0x65,0x6E,0x67,0x74,0x68,0x20, + 0x68,0x61,0x64,0x20,0x6E,0x6F,0x20,0x65,0x66,0x66,0x65,0x63,0x74,0x2C,0x20,0x61,0x6C,0x6C,0x6F,0x77,0x69,0x6E,0x67,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x73,0x68,0x6F, + 0x72,0x74,0x65,0x72,0x20,0x77,0x61,0x76,0x65,0x66,0x6F,0x72,0x6D,0x73,0x2E,0x20,0x53,0x65,0x65,0x3A,0x20,0x52,0x6F,0x6C,0x6C,0x69,0x6E,0x67,0x20,0x54,0x68,0x75, + 0x6E,0x64,0x65,0x72,0x2C,0x20,0x69,0x74,0x73,0x20,0x62,0x61,0x73,0x73,0x20,0x74,0x6F,0x6E,0x65,0x73,0x20,0x77,0x69,0x6C,0x6C,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20, + 0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x77,0x72,0x6F,0x6E,0x67,0x20,0x6F,0x63,0x74,0x61,0x76,0x65,0x20,0x77,0x69,0x74,0x68,0x20,0x74,0x68,0x65,0x20,0x69,0x6E,0x63, + 0x6F,0x72,0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x73,0x68,0x6F,0x72,0x74,0x65,0x6E,0x65,0x64,0x20,0x77,0x61,0x76,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61, + 0x76,0x65,0x20,0x30,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36, + 0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75, + 0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20, + 0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33, + 0x20,0x57,0x61,0x76,0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31, + 0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64, + 0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31, + 0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61, + 0x76,0x65,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72, + 0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x31,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75, + 0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x65,0x6E, + 0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57, + 0x61,0x76,0x65,0x20,0x32,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31, + 0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x43, + 0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x32,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20, + 0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65, + 0x20,0x33,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E, + 0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x50, + 0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76, + 0x65,0x20,0x33,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x33,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61, + 0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33, + 0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x56,0x6F,0x6C, + 0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76, + 0x65,0x20,0x34,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36, + 0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x34,0x20,0x76,0x69,0x73,0x75, + 0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x4F,0x6E, + 0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20, + 0x35,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36, + 0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67, + 0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x35, + 0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65, + 0x20,0x36,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20, + 0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65, + 0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x70,0x61, + 0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x36,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E,0x31,0x36,0x33,0x20,0x57, + 0x61,0x76,0x65,0x20,0x36,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4E,0x31,0x36,0x33, + 0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x4F,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00, + 0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x76, + 0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x50,0x61,0x6E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65, + 0x20,0x37,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x4E, + 0x31,0x36,0x33,0x20,0x57,0x61,0x76,0x65,0x20,0x37,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E, + 0x00,0x35,0x42,0x20,0x4D,0x69,0x78,0x65,0x72,0x00,0x55,0x6E,0x6C,0x69,0x6B,0x65,0x20,0x6F,0x74,0x68,0x65,0x72,0x20,0x65,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E, + 0x20,0x61,0x75,0x64,0x69,0x6F,0x2C,0x20,0x74,0x68,0x65,0x20,0x46,0x61,0x6D,0x69,0x63,0x6F,0x6D,0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x77,0x61,0x73,0x20,0x70,0x61, + 0x73,0x73,0x65,0x64,0x20,0x74,0x68,0x72,0x6F,0x75,0x67,0x68,0x20,0x74,0x68,0x65,0x20,0x35,0x42,0x20,0x63,0x68,0x69,0x70,0x2C,0x20,0x63,0x61,0x75,0x73,0x69,0x6E, + 0x67,0x20,0x6E,0x6F,0x6E,0x6C,0x69,0x6E,0x65,0x61,0x72,0x69,0x74,0x79,0x20,0x61,0x6E,0x64,0x20,0x64,0x69,0x73,0x74,0x6F,0x72,0x74,0x69,0x6F,0x6E,0x20,0x6F,0x6E, + 0x20,0x61,0x6C,0x6C,0x20,0x63,0x68,0x61,0x6E,0x6E,0x65,0x6C,0x73,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x73,0x69,0x6D,0x75,0x61,0x6C,0x74,0x65,0x73,0x20,0x74,0x68, + 0x61,0x74,0x20,0x66,0x65,0x61,0x74,0x75,0x72,0x65,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20, + 0x4F,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00, + 0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00,0x53,0x75,0x6E,0x73,0x6F, + 0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35, + 0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x50,0x61,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65, + 0x20,0x30,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20, + 0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x30,0x20,0x76,0x69,0x73,0x75,0x61, + 0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61, + 0x72,0x65,0x20,0x31,0x20,0x4F,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x65,0x6E,0x61,0x62, + 0x6C,0x65,0x64,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x00, + 0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x75,0x6E,0x73, + 0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x50,0x61,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53, + 0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61, + 0x72,0x65,0x20,0x31,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x31,0x20, + 0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42, + 0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x4F,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32, + 0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x56,0x6F, + 0x6C,0x75,0x6D,0x65,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E, + 0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x50,0x61,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74, + 0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42, + 0x20,0x53,0x71,0x75,0x61,0x72,0x65,0x20,0x32,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x53,0x71,0x75,0x61, + 0x72,0x65,0x20,0x32,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20,0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F, + 0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x4F,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20, + 0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65, + 0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x76,0x6F,0x6C,0x75,0x6D,0x65,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66, + 0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x50,0x61,0x6E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20, + 0x70,0x61,0x6E,0x6E,0x69,0x6E,0x67,0x2E,0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x43,0x6F,0x6C,0x6F,0x75,0x72, + 0x00,0x53,0x75,0x6E,0x73,0x6F,0x66,0x74,0x20,0x35,0x42,0x20,0x4E,0x6F,0x69,0x73,0x65,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x69,0x7A,0x61,0x74,0x69,0x6F,0x6E,0x20, + 0x63,0x6F,0x6C,0x6F,0x75,0x72,0x2E,0x00,0x4F,0x76,0x65,0x72,0x72,0x69,0x64,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x73,0x61,0x6D, + 0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x20,0x77,0x68,0x65,0x6E,0x20,0x73,0x61,0x76,0x69,0x6E,0x67,0x20,0x61,0x20,0x57,0x41,0x56,0x20,0x66,0x69,0x6C,0x65,0x2E,0x20, + 0x30,0x20,0x74,0x6F,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x6E,0x6F,0x72,0x6D,0x61,0x6C,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x72,0x61,0x74,0x65,0x2C, + 0x20,0x2D,0x31,0x20,0x74,0x6F,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x43,0x50,0x55,0x20,0x72,0x61,0x74,0x65,0x2E,0x00,0x4F,0x76,0x65,0x72,0x72,0x69,0x64, + 0x65,0x20,0x74,0x68,0x65,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x62,0x69,0x74,0x20,0x64,0x65,0x70,0x74,0x68,0x20,0x77,0x68,0x65,0x6E,0x20,0x73,0x61,0x76,0x69, + 0x6E,0x67,0x20,0x61,0x20,0x57,0x41,0x56,0x20,0x66,0x69,0x6C,0x65,0x2E,0x00,0x4F,0x76,0x65,0x72,0x72,0x69,0x64,0x65,0x20,0x74,0x68,0x65,0x20,0x6F,0x75,0x74,0x70, + 0x75,0x74,0x20,0x73,0x74,0x65,0x72,0x65,0x6F,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x77,0x68,0x65,0x6E,0x20,0x73,0x61,0x76,0x69,0x6E,0x67,0x20,0x61,0x20, + 0x57,0x41,0x56,0x20,0x66,0x69,0x6C,0x65,0x2E,0x00,0x53,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x20,0x4F,0x76,0x65,0x72,0x72,0x69,0x64,0x65,0x00,0x49,0x66, + 0x20,0x61,0x20,0x63,0x75,0x73,0x74,0x6F,0x6D,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x72,0x61,0x74,0x65,0x20,0x69,0x73,0x20,0x6E, + 0x65,0x65,0x64,0x65,0x64,0x2C,0x20,0x69,0x74,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x67,0x69,0x76,0x65,0x6E,0x20,0x68,0x65,0x72,0x65,0x2E,0x20,0x30,0x20,0x74, + 0x6F,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x6E,0x6F,0x72,0x6D,0x61,0x6C,0x20,0x6F,0x75,0x74,0x70,0x75,0x74,0x20,0x72,0x61,0x74,0x65,0x2C,0x20,0x2D,0x31, + 0x20,0x74,0x6F,0x20,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x43,0x50,0x55,0x20,0x72,0x61,0x74,0x65,0x2E,0x00,0x53,0x68,0x69,0x66,0x74,0x2D,0x4A,0x49,0x53,0x00, + 0x4F,0x6C,0x64,0x65,0x72,0x20,0x4A,0x61,0x70,0x61,0x6E,0x65,0x73,0x65,0x20,0x4E,0x53,0x46,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x6F,0x66,0x74,0x65,0x6E,0x20,0x75, + 0x73,0x65,0x20,0x53,0x68,0x69,0x66,0x74,0x2D,0x4A,0x49,0x53,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x69,0x72,0x20,0x74,0x69,0x74,0x6C,0x65,0x2C,0x20,0x61,0x72, + 0x74,0x69,0x73,0x74,0x2C,0x20,0x61,0x6E,0x64,0x20,0x63,0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20,0x66,0x69,0x65,0x6C,0x64,0x73,0x2E,0x20,0x57,0x65,0x20,0x63, + 0x61,0x6E,0x20,0x61,0x75,0x74,0x6F,0x6D,0x61,0x74,0x69,0x63,0x61,0x6C,0x6C,0x79,0x20,0x64,0x65,0x74,0x65,0x63,0x74,0x20,0x69,0x74,0x2C,0x20,0x61,0x73,0x73,0x75, + 0x6D,0x65,0x20,0x53,0x68,0x69,0x66,0x74,0x2D,0x4A,0x49,0x53,0x2C,0x20,0x6F,0x72,0x20,0x61,0x73,0x73,0x75,0x6D,0x65,0x20,0x55,0x54,0x46,0x2D,0x38,0x2E,0x20,0x4E, + 0x53,0x46,0x32,0x20,0x66,0x69,0x6C,0x65,0x73,0x20,0x61,0x72,0x65,0x20,0x61,0x6C,0x77,0x61,0x79,0x73,0x20,0x55,0x54,0x46,0x2D,0x38,0x2E,0x00,0x46,0x44,0x53,0x20, + 0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x46, + 0x44,0x53,0x2E,0x00,0x4D,0x4D,0x43,0x35,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F, + 0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x4D,0x4D,0x43,0x35,0x2E,0x00,0x56,0x52,0x43,0x36,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72, + 0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x56,0x52,0x43,0x36,0x2E,0x00,0x56,0x52,0x43,0x37,0x20,0x45,0x78,0x70, + 0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x56,0x52,0x43,0x37, + 0x2E,0x00,0x4E,0x31,0x36,0x33,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69, + 0x73,0x61,0x62,0x6C,0x65,0x20,0x4E,0x31,0x36,0x33,0x2E,0x00,0x35,0x42,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65, + 0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x35,0x42,0x2E,0x00,0x56,0x54,0x30,0x32,0x2B,0x20,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F, + 0x6E,0x00,0x46,0x6F,0x72,0x63,0x65,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x56,0x54,0x30,0x32,0x2B,0x2E,0x00,0x54,0x45, + 0x53,0x54,0x5F,0x49,0x4E,0x54,0x00,0x54,0x45,0x53,0x54,0x5F,0x53,0x54,0x52,0x00,0x54,0x45,0x53,0x54,0x5F,0x4C,0x49,0x53,0x54,0x00,0x54,0x45,0x53,0x54,0x5F,0x48, + 0x45,0x58,0x38,0x00,0x54,0x45,0x53,0x54,0x5F,0x48,0x45,0x58,0x31,0x36,0x00,0x54,0x45,0x53,0x54,0x5F,0x48,0x45,0x58,0x33,0x32,0x00,0x54,0x45,0x53,0x54,0x5F,0x43, + 0x4F,0x4C,0x4F,0x52,0x00,0x54,0x45,0x53,0x54,0x5F,0x4D,0x53,0x45,0x43,0x00,0x54,0x45,0x53,0x54,0x5F,0x4D,0x49,0x4C,0x4C,0x00,0x54,0x45,0x53,0x54,0x5F,0x4B,0x45, + 0x59,0x00,0x54,0x45,0x53,0x54,0x5F,0x50,0x52,0x45,0x43,0x49,0x53,0x45,0x00,0x46,0x69,0x6C,0x65,0x20,0x54,0x79,0x70,0x65,0x00,0x53,0x6F,0x6E,0x67,0x20,0x43,0x6F, + 0x75,0x6E,0x74,0x00,0x53,0x74,0x61,0x72,0x74,0x69,0x6E,0x67,0x20,0x53,0x6F,0x6E,0x67,0x00,0x4E,0x53,0x46,0x20,0x56,0x65,0x72,0x73,0x69,0x6F,0x6E,0x00,0x4C,0x4F, + 0x41,0x44,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x00,0x49,0x4E,0x49,0x54,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x00,0x50,0x4C,0x41,0x59,0x20,0x61,0x64,0x64, + 0x72,0x65,0x73,0x73,0x00,0x4E,0x53,0x46,0x20,0x54,0x69,0x74,0x6C,0x65,0x00,0x4E,0x53,0x46,0x20,0x41,0x72,0x74,0x69,0x73,0x74,0x00,0x4E,0x53,0x46,0x20,0x43,0x6F, + 0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x00,0x4E,0x53,0x46,0x20,0x52,0x69,0x70,0x70,0x65,0x72,0x00,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x4E,0x54,0x53, + 0x43,0x00,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x50,0x41,0x4C,0x00,0x46,0x72,0x61,0x6D,0x65,0x72,0x61,0x74,0x65,0x20,0x44,0x45,0x4E,0x44,0x59,0x00, + 0x53,0x74,0x61,0x72,0x74,0x69,0x6E,0x67,0x20,0x42,0x61,0x6E,0x6B,0x73,0x00,0x52,0x65,0x67,0x69,0x6F,0x6E,0x20,0x4E,0x54,0x53,0x43,0x00,0x52,0x65,0x67,0x69,0x6F, + 0x6E,0x20,0x50,0x41,0x4C,0x00,0x52,0x65,0x67,0x69,0x6F,0x6E,0x20,0x44,0x65,0x6E,0x64,0x79,0x00,0x50,0x72,0x65,0x66,0x65,0x72,0x72,0x65,0x64,0x20,0x52,0x65,0x67, + 0x69,0x6F,0x6E,0x00,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x46,0x44,0x53,0x00,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x4D,0x4D,0x43,0x35, + 0x00,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x56,0x52,0x43,0x36,0x00,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x56,0x52,0x43,0x37,0x00,0x45, + 0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x4E,0x31,0x36,0x33,0x00,0x45,0x78,0x70,0x61,0x6E,0x73,0x69,0x6F,0x6E,0x20,0x35,0x42,0x00,0x45,0x78,0x70,0x61,0x6E, + 0x73,0x69,0x6F,0x6E,0x20,0x56,0x54,0x30,0x32,0x00,0x4E,0x53,0x46,0x32,0x00,0x4E,0x53,0x46,0x20,0x4D,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x20,0x4F,0x66,0x66,0x73, + 0x65,0x74,0x00,0x4E,0x53,0x46,0x32,0x20,0x49,0x52,0x51,0x00,0x4E,0x53,0x46,0x32,0x20,0x4E,0x6F,0x6E,0x2D,0x52,0x65,0x74,0x75,0x72,0x6E,0x69,0x6E,0x67,0x20,0x49, + 0x4E,0x49,0x54,0x00,0x4E,0x53,0x46,0x32,0x20,0x4E,0x6F,0x20,0x50,0x4C,0x41,0x59,0x20,0x72,0x6F,0x75,0x74,0x69,0x6E,0x65,0x00,0x4E,0x53,0x46,0x32,0x20,0x4D,0x61, + 0x6E,0x64,0x61,0x74,0x6F,0x72,0x79,0x20,0x4D,0x65,0x74,0x61,0x64,0x61,0x74,0x61,0x20,0x46,0x6C,0x61,0x67,0x00,0x50,0x6C,0x61,0x79,0x6C,0x69,0x73,0x74,0x20,0x50, + 0x72,0x65,0x73,0x65,0x6E,0x74,0x00,0x4E,0x53,0x46,0x20,0x48,0x65,0x61,0x64,0x65,0x72,0x20,0x52,0x61,0x77,0x20,0x44,0x61,0x74,0x61,0x00,0x41,0x63,0x74,0x69,0x76, + 0x65,0x20,0x53,0x6F,0x6E,0x67,0x20,0x43,0x6F,0x75,0x6E,0x74,0x00,0x41,0x63,0x74,0x69,0x76,0x65,0x20,0x53,0x6F,0x6E,0x67,0x20,0x53,0x74,0x61,0x72,0x74,0x00,0x50, + 0x6C,0x61,0x79,0x6C,0x69,0x73,0x74,0x20,0x41,0x63,0x74,0x69,0x76,0x65,0x00,0x54,0x45,0x53,0x54,0x5F,0x4C,0x4F,0x4E,0x47,0x00,0x54,0x45,0x53,0x54,0x5F,0x4C,0x49, + 0x4E,0x45,0x53,0x00,0x54,0x45,0x53,0x54,0x5F,0x42,0x4C,0x4F,0x42,0x00,0x54,0x45,0x58,0x54,0x5F,0x48,0x45,0x58,0x36,0x34,0x00,0x53,0x6F,0x6E,0x67,0x20,0x54,0x69, + 0x74,0x6C,0x65,0x00,0x46,0x69,0x6C,0x65,0x00,0x56,0x69,0x65,0x77,0x00,0x4F,0x70,0x74,0x69,0x6F,0x6E,0x73,0x00,0x41,0x62,0x6F,0x75,0x74,0x00,0x43,0x68,0x61,0x6E, + 0x6E,0x65,0x6C,0x73,0x00,0x4D,0x65,0x6D,0x6F,0x72,0x79,0x00,0x45,0x72,0x72,0x6F,0x72,0x20,0x4C,0x6F,0x67,0x00,0x4B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x00,0x44, + 0x65,0x62,0x75,0x67,0x67,0x65,0x72,0x00,0x4F,0x70,0x65,0x6E,0x20,0x46,0x69,0x6C,0x65,0x2E,0x2E,0x2E,0x00,0x4C,0x6F,0x61,0x64,0x20,0x53,0x65,0x74,0x74,0x69,0x6E, + 0x67,0x73,0x2E,0x2E,0x2E,0x00,0x53,0x61,0x76,0x65,0x20,0x53,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x2E,0x2E,0x2E,0x00,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64,0x20,0x73, + 0x65,0x74,0x74,0x69,0x6E,0x67,0x00,0x57,0x72,0x6F,0x6E,0x67,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x20,0x74,0x79,0x70,0x65,0x00,0x53,0x65,0x74,0x74,0x69,0x6E, + 0x67,0x20,0x6F,0x75,0x74,0x20,0x6F,0x66,0x20,0x72,0x61,0x6E,0x67,0x65,0x3A,0x20,0x25,0x64,0x20,0x28,0x25,0x64,0x20,0x74,0x6F,0x20,0x25,0x64,0x29,0x00,0x4D,0x69, + 0x73,0x73,0x69,0x6E,0x67,0x20,0x27,0x3D,0x27,0x00,0x55,0x6E,0x6B,0x6E,0x6F,0x77,0x6E,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x00,0x42,0x61,0x64,0x20,0x69,0x6E, + 0x74,0x65,0x67,0x65,0x72,0x20,0x76,0x61,0x6C,0x75,0x65,0x00,0x56,0x61,0x6C,0x75,0x65,0x20,0x6E,0x6F,0x74,0x20,0x61,0x6E,0x20,0x69,0x6E,0x74,0x65,0x67,0x65,0x72, + 0x20,0x6F,0x72,0x20,0x6C,0x69,0x73,0x74,0x20,0x6B,0x65,0x79,0x20,0x66,0x6F,0x72,0x20,0x25,0x73,0x00,0x42,0x49,0x4E,0x20,0x66,0x69,0x6C,0x65,0x20,0x74,0x6F,0x6F, + 0x20,0x6C,0x61,0x72,0x67,0x65,0x20,0x28,0x6D,0x61,0x78,0x69,0x6D,0x75,0x6D,0x20,0x34,0x30,0x6B,0x29,0x00,0x55,0x6E,0x6B,0x6E,0x6F,0x77,0x6E,0x20,0x66,0x69,0x6C, + 0x65,0x20,0x74,0x79,0x70,0x65,0x2C,0x20,0x6E,0x6F,0x74,0x20,0x4E,0x53,0x46,0x20,0x6F,0x72,0x20,0x4E,0x53,0x46,0x65,0x00,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64,0x20, + 0x4E,0x53,0x46,0x20,0x76,0x65,0x72,0x73,0x69,0x6F,0x6E,0x3A,0x20,0x30,0x00,0x49,0x6E,0x76,0x61,0x6C,0x69,0x64,0x20,0x4E,0x53,0x46,0x32,0x20,0x6D,0x65,0x74,0x61, + 0x64,0x61,0x74,0x61,0x00,0x4E,0x53,0x46,0x20,0x68,0x65,0x61,0x64,0x65,0x72,0x20,0x73,0x74,0x72,0x69,0x6E,0x67,0x73,0x20,0x61,0x72,0x65,0x6E,0x27,0x74,0x20,0x30, + 0x20,0x74,0x65,0x72,0x6D,0x69,0x6E,0x61,0x74,0x65,0x64,0x00,0x4E,0x53,0x46,0x65,0x20,0x63,0x68,0x75,0x6E,0x6B,0x20,0x69,0x6E,0x63,0x6F,0x6D,0x70,0x6C,0x65,0x74, + 0x65,0x3A,0x20,0x25,0x73,0x00,0x4E,0x53,0x46,0x65,0x20,0x6D,0x61,0x6E,0x64,0x61,0x74,0x6F,0x72,0x79,0x20,0x63,0x68,0x75,0x6E,0x6B,0x20,0x75,0x6E,0x6B,0x6E,0x6F, + 0x77,0x6E,0x3A,0x20,0x25,0x73,0x00,0x4E,0x53,0x46,0x65,0x20,0x6D,0x69,0x73,0x73,0x69,0x6E,0x67,0x20,0x6D,0x61,0x6E,0x64,0x61,0x74,0x6F,0x72,0x79,0x20,0x63,0x68, + 0x75,0x6E,0x6B,0x3A,0x20,0x25,0x73,0x00, }; #else // (NSFP_NOTEXT) diff --git a/core/nsf.cpp b/core/nsf.cpp index 6adc0ee..4789398 100644 --- a/core/nsf.cpp +++ b/core/nsf.cpp @@ -309,7 +309,7 @@ bool NSFCore::nsf_parse(bool bin) NSFP_DEBUG("bank_last = %02X",bank_last); // set starting song - song_current = uint8(PROP(SONG_START)); + song_current = uint8(PROP(ACTIVE_SONG_START)); NSFP_DEBUG("song_current = %d",song_current); return true; } @@ -348,81 +348,75 @@ bool NSFCore::nsf_prop_exists(sint32 prop, sint32 song) const { const uint8* ck = NULL; uint32 cks = 0; + (void)song; // TODO - if (song < 0) + // this switch should handle every PROP + switch(prop) { - switch(prop) - { - case NSFP_PROP_FILE_TYPE: return true; - case NSFP_PROP_SONG_COUNT: return true; - case NSFP_PROP_SONG_START: return true; - case NSFP_PROP_NSF_VERSION: return NSF_HEADER_PRESENT(); - case NSFP_PROP_LOAD_ADDR: - case NSFP_PROP_INIT_ADDR: - case NSFP_PROP_PLAY_ADDR: - return true; - case NSFP_PROP_TITLE: - if (NSF_HEADER_PRESENT()) return true; - CK("auth"); if(ck) return (count_strings(ck,cks) >= 1); - return false; - case NSFP_PROP_ARTIST: - if (NSF_HEADER_PRESENT()) return true; - CK("auth"); if(ck) return (count_strings(ck,cks) >= 2); - return false; - case NSFP_PROP_COPYRIGHT: - if (NSF_HEADER_PRESENT()) return true; - CK("auth"); if(ck) return (count_strings(ck,cks) >= 3); - return false; - case NSFP_PROP_RIPPER: - CK("auth"); if(ck) return (count_strings(ck,cks) >= 4); - return false; - case NSFP_PROP_SPEED_NTSC: - case NSFP_PROP_SPEED_PAL: - case NSFP_PROP_SPEED_DENDY: - return true; - case NSFP_PROP_BANKSWITCH: - CK("BANK"); if(ck) return true; - if (NSF_HEADER_PRESENT()) return !all0(nsf+0x70,8); - return false; - case NSFP_PROP_REGION_NTSC: return NSF_OR_NSFE(); - case NSFP_PROP_REGION_PAL: return NSF_OR_NSFE(); - case NSFP_PROP_REGION_DENDY: return NSF_OR_NSFE(); - case NSFP_PROP_REGION_PREFER: - CK("regn"); if(ck && cks>1 && ck[1]= 1); + return false; + case NSFP_PROP_ARTIST: + if (NSF_HEADER_PRESENT()) return true; + CK("auth"); if(ck) return (count_strings(ck,cks) >= 2); + return false; + case NSFP_PROP_COPYRIGHT: + if (NSF_HEADER_PRESENT()) return true; + CK("auth"); if(ck) return (count_strings(ck,cks) >= 3); + return false; + case NSFP_PROP_RIPPER: + CK("auth"); if(ck) return (count_strings(ck,cks) >= 4); + return false; + case NSFP_PROP_SPEED_NTSC: + case NSFP_PROP_SPEED_PAL: + case NSFP_PROP_SPEED_DENDY: + return true; + case NSFP_PROP_BANKSWITCH: + CK("BANK"); if(ck) return true; + if (NSF_HEADER_PRESENT()) return !all0(nsf+0x70,8); + return false; + case NSFP_PROP_REGION_NTSC: return NSF_OR_NSFE(); + case NSFP_PROP_REGION_PAL: return NSF_OR_NSFE(); + case NSFP_PROP_REGION_DENDY: return NSF_OR_NSFE(); + case NSFP_PROP_REGION_PREFER: + CK("regn"); if(ck && cks>1 && ck[1] 8) return ck[8]; + if (NSF_HEADER_PRESENT()) return nsf[0x06]; + return 0; + case NSFP_PROP_NSF_SONG_START: + CK("INFO"); if (ck && cks > 0x9) return ck[0x9]; + if (NSF_HEADER_PRESENT() && (nsf[0x07]>0)) return nsf[0x07]-1; // NSF header indexes first song as 1 (treating 0 also as first song) + return 0; + case NSFP_PROP_NSF_VERSION: + if(NSF_HEADER_PRESENT()) return nsf[0x05]; + return 0; + case NSFP_PROP_LOAD_ADDR: + if (nsf_bin) return 0x6000; + CK("INFO"); if (ck && cks > 1) return le16(ck+0); + if (NSF_HEADER_PRESENT()) return le16(nsf+0x08); + return 0x8000; + case NSFP_PROP_INIT_ADDR: + if (nsf_bin) return 0x6000; + CK("INFO"); if (ck && cks > 3) return le16(ck+2); + if (NSF_HEADER_PRESENT()) return le16(nsf+0x0A); + return 0x8000; + case NSFP_PROP_PLAY_ADDR: + if (nsf_bin) return 0x6000; + CK("INFO"); if (ck && cks > 5) return le16(ck+4); + if (NSF_HEADER_PRESENT()) return le16(nsf+0x0C); + return 0x8000; + + case NSFP_PROP_SPEED_NTSC: + CK("RATE"); if (ck && cks > 1) return le16(ck+0); + if (NSF_HEADER_PRESENT()) return le16(nsf+0x6E); + return speed16(SETTING(FRAME_NTSC)); + case NSFP_PROP_SPEED_PAL: + CK("RATE"); if (ck && cks > 3) return le16(ck+2); + if (NSF_HEADER_PRESENT()) return le16(nsf+0x78); + return speed16(SETTING(FRAME_PAL)); + case NSFP_PROP_SPEED_DENDY: + CK("RATE"); if (ck && cks > 5) return le16(ck+4); + return speed16(SETTING(FRAME_DENDY)); + + case NSFP_PROP_REGION_NTSC: + CK("regn"); if (ck && cks > 0 && (ck[0] & 1)) return 1; + CK("INFO"); if (ck && cks > 6 && (!( ck[6]&1) || ( ck[6]&2))) return 1; + if (NSF_HEADER_PRESENT() && (!(nsf[0x7A]&1) || (nsf[0x7A]&2))) return 1; + return 0; + case NSFP_PROP_REGION_PAL: + CK("regn"); if (ck && cks > 0 && (ck[0] & 2)) return 1; + CK("INFO"); if (ck && cks > 6 && ( ( ck[6]&1) || ( ck[6]&2))) return 1; + if (NSF_HEADER_PRESENT() && ( (nsf[0x7A]&1) || (nsf[0x7A]&2))) return 1; + return 0; + case NSFP_PROP_REGION_DENDY: + CK("regn"); if (ck && cks > 0 && (ck[0] & 4)) return 1; + return 0; + case NSFP_PROP_REGION_PREFER: + CK("regn"); if(ck && cks>1 && ck[1]7 && ck[7]&0x04) return 1; + if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x04) return 1; + return 0; + case NSFP_PROP_EXPANSION_MMC5: + CK("INFO"); if(ck && cks>7 && ck[7]&0x08) return 1; + if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x08) return 1; + return 0; + case NSFP_PROP_EXPANSION_VRC6: + CK("INFO"); if(ck && cks>7 && ck[7]&0x01) return 1; + if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x01) return 1; + return 0; + case NSFP_PROP_EXPANSION_VRC7: + CK("INFO"); if(ck && cks>7 && ck[7]&0x02) return 1; + if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x02) return 1; + return 0; + case NSFP_PROP_EXPANSION_N163: + CK("INFO"); if(ck && cks>7 && ck[7]&0x10) return 1; + if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x10) return 1; + return 0; + case NSFP_PROP_EXPANSION_5B: + CK("INFO"); if(ck && cks>7 && ck[7]&0x20) return 1; + if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x20) return 1; + return 0; + case NSFP_PROP_EXPANSION_VT02: + CK("INFO"); if(ck && cks>7 && ck[7]&0x40) return 1; + if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x40) return 1; + return 0; + case NSFP_PROP_NSF2: + return NSF_TYPE() == FT_NSF2; + case NSFP_PROP_NSF2_METADATA_OFF: + if (NSF_HEADER_PRESENT()) return le24(nsf+0x7D); + return 0; + case NSFP_PROP_NSF2_IRQ: + CK("NSF2"); if(ck && cks>0 && ck[0]&0x10) return 1; + if ((NSF_TYPE() == FT_NSF2) && nsf[0x7C]&0x10) return 1; + return 0; + case NSFP_PROP_NSF2_INIT_NORETURN: + CK("NSF2"); if(ck && cks>0 && ck[0]&0x20) return 1; + if ((NSF_TYPE() == FT_NSF2) && nsf[0x7C]&0x20) return 1; + return 0; + case NSFP_PROP_NSF2_NOPLAY: + CK("NSF2"); if(ck && cks>0 && ck[0]&0x40) return 1; + if ((NSF_TYPE() == FT_NSF2) && nsf[0x7C]&0x40) return 1; + return 0; + case NSFP_PROP_NSF2_MANDATORY: + CK("NSF2"); if(ck && cks>0 && ck[0]&0x80) return 1; + if ((NSF_TYPE() == FT_NSF2) && nsf[0x7C]&0x80) return 1; + return 0; + + case NSFP_PROP_ACTIVE_SONG_COUNT: + if (SETTING(PLAYLIST)) { - case NSFP_PROP_FILE_TYPE: - return NSF_TYPE(); - case NSFP_PROP_SONG_COUNT: - if (SETTING(PLAYLIST)) - { - CK("plst"); if (ck && cks) return cks; // length of playlist replaces song count - } - CK("INFO"); if (ck && cks > 8) return ck[8]; - if (NSF_HEADER_PRESENT()) return nsf[0x06]; - return 0; - case NSFP_PROP_SONG_START: - if (SETTING(PLAYLIST)) - { - CK("plst"); if (ck && cks) return 0; // playlist starts at the beginning - } - ck = nsfe_chunk(FOURCC("INFO"),&cks); - if (ck && cks > 0x9) return ck[0x9]; - if (NSF_HEADER_PRESENT() && (nsf[0x07]>0)) return nsf[0x07]-1; // NSF header indexes first song as 1 (treating 0 also as first song) - return 0; - case NSFP_PROP_NSF_VERSION: - if(NSF_HEADER_PRESENT()) return nsf[0x05]; - return 0; - case NSFP_PROP_LOAD_ADDR: - if (nsf_bin) return 0x6000; - CK("INFO"); if (ck && cks > 1) return le16(ck+0); - if (NSF_HEADER_PRESENT()) return le16(nsf+0x08); - return 0x8000; - case NSFP_PROP_INIT_ADDR: - if (nsf_bin) return 0x6000; - CK("INFO"); if (ck && cks > 3) return le16(ck+2); - if (NSF_HEADER_PRESENT()) return le16(nsf+0x0A); - return 0x8000; - case NSFP_PROP_PLAY_ADDR: - if (nsf_bin) return 0x6000; - CK("INFO"); if (ck && cks > 5) return le16(ck+4); - if (NSF_HEADER_PRESENT()) return le16(nsf+0x0C); - return 0x8000; - - case NSFP_PROP_SPEED_NTSC: - CK("RATE"); if (ck && cks > 1) return le16(ck+0); - if (NSF_HEADER_PRESENT()) return le16(nsf+0x6E); - return speed16(SETTING(FRAME_NTSC)); - case NSFP_PROP_SPEED_PAL: - CK("RATE"); if (ck && cks > 3) return le16(ck+2); - if (NSF_HEADER_PRESENT()) return le16(nsf+0x78); - return speed16(SETTING(FRAME_PAL)); - case NSFP_PROP_SPEED_DENDY: - CK("RATE"); if (ck && cks > 5) return le16(ck+4); - return speed16(SETTING(FRAME_DENDY)); - - case NSFP_PROP_REGION_NTSC: - CK("regn"); if (ck && cks > 0 && (ck[0] & 1)) return 1; - CK("INFO"); if (ck && cks > 6 && (!( ck[6]&1) || ( ck[6]&2))) return 1; - if (NSF_HEADER_PRESENT() && (!(nsf[0x7A]&1) || (nsf[0x7A]&2))) return 1; - return 0; - case NSFP_PROP_REGION_PAL: - CK("regn"); if (ck && cks > 0 && (ck[0] & 2)) return 1; - CK("INFO"); if (ck && cks > 6 && ( ( ck[6]&1) || ( ck[6]&2))) return 1; - if (NSF_HEADER_PRESENT() && ( (nsf[0x7A]&1) || (nsf[0x7A]&2))) return 1; - return 0; - case NSFP_PROP_REGION_DENDY: - CK("regn"); if (ck && cks > 0 && (ck[0] & 4)) return 1; - return 0; - case NSFP_PROP_REGION_PREFER: - CK("regn"); if(ck && cks>1 && ck[1]7 && ck[7]&0x04) return 1; - if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x04) return 1; - return 0; - case NSFP_PROP_EXPANSION_MMC5: - CK("INFO"); if(ck && cks>7 && ck[7]&0x08) return 1; - if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x08) return 1; - return 0; - case NSFP_PROP_EXPANSION_VRC6: - CK("INFO"); if(ck && cks>7 && ck[7]&0x01) return 1; - if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x01) return 1; - return 0; - case NSFP_PROP_EXPANSION_VRC7: - CK("INFO"); if(ck && cks>7 && ck[7]&0x02) return 1; - if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x02) return 1; - return 0; - case NSFP_PROP_EXPANSION_N163: - CK("INFO"); if(ck && cks>7 && ck[7]&0x10) return 1; - if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x10) return 1; - return 0; - case NSFP_PROP_EXPANSION_5B: - CK("INFO"); if(ck && cks>7 && ck[7]&0x20) return 1; - if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x20) return 1; - return 0; - case NSFP_PROP_EXPANSION_VT02: - CK("INFO"); if(ck && cks>7 && ck[7]&0x40) return 1; - if (NSF_HEADER_PRESENT() && nsf[0x7B]&0x40) return 1; - return 0; - case NSFP_PROP_NSF2: - return NSF_TYPE() == FT_NSF2; - case NSFP_PROP_NSF2_METADATA_OFF: - if (NSF_HEADER_PRESENT()) return le24(nsf+0x7D); - return 0; - case NSFP_PROP_NSF2_IRQ: - CK("NSF2"); if(ck && cks>0 && ck[0]&0x10) return 1; - if ((NSF_TYPE() == FT_NSF2) && nsf[0x7C]&0x10) return 1; - return 0; - case NSFP_PROP_NSF2_INIT_NORETURN: - CK("NSF2"); if(ck && cks>0 && ck[0]&0x20) return 1; - if ((NSF_TYPE() == FT_NSF2) && nsf[0x7C]&0x20) return 1; - return 0; - case NSFP_PROP_NSF2_NOPLAY: - CK("NSF2"); if(ck && cks>0 && ck[0]&0x40) return 1; - if ((NSF_TYPE() == FT_NSF2) && nsf[0x7C]&0x40) return 1; - return 0; - case NSFP_PROP_NSF2_MANDATORY: - CK("NSF2"); if(ck && cks>0 && ck[0]&0x80) return 1; - if ((NSF_TYPE() == FT_NSF2) && nsf[0x7C]&0x80) return 1; - return 0; - - case NSFP_PROP_PLAYLIST_ACTIVE: - if (nsf_prop_exists(NSFP_PROP_NSFE_PLAYLIST) && SETTING(PLAYLIST)) return 1; - return 0; - - default: - break; + CK("plst"); if (ck && cks) return cks; // length of playlist replaces song count } - } - else // songprop - { - switch(prop) + return PROP(NSF_SONG_COUNT); + case NSFP_PROP_ACTIVE_SONG_START: + if (SETTING(PLAYLIST)) { - case 0: // TODO - default: - break; + CK("plst"); if (ck && cks) return 0; // playlist starts at the beginning } + return PROP(NSF_SONG_START); + case NSFP_PROP_ACTIVE_PLAYLIST: + if (nsf_prop_exists(NSFP_PROP_NSFE_PLAYLIST) && SETTING(PLAYLIST)) return 1; + return 0; + + default: + break; } return 0; } @@ -583,38 +569,30 @@ const char* NSFCore::nsf_prop_str(sint32 prop, sint32 song) const { const uint8* ck = NULL; uint32 cks = 0; + (void)song; // TODO - if (song < 0) - { - switch(prop) - { - case NSFP_PROP_TITLE: - CK("auth"); if(ck && count_strings(ck,cks) >= 1) return nth_string(ck,cks,0); - if (NSF_HEADER_PRESENT() && has0(nsf+0x0E,32)) return (const char*)nsf+0x0E; - break; - case NSFP_PROP_ARTIST: - CK("auth"); if(ck && count_strings(ck,cks) >= 2) return nth_string(ck,cks,1); - if (NSF_HEADER_PRESENT() && has0(nsf+0x2E,32)) return (const char*)nsf+0x2E; - break; - case NSFP_PROP_COPYRIGHT: - CK("auth"); if(ck && count_strings(ck,cks) >= 3) return nth_string(ck,cks,2); - if (NSF_HEADER_PRESENT() && has0(nsf+0x4E,32)) return (const char*)nsf+0x4E; - break; - case NSFP_PROP_RIPPER: - CK("auth"); return nth_string(ck,cks,3); - break; - default: - break; - } - } - else // songprop + switch(prop) { - switch(prop) - { - case 0: // TODO - default: - break; - } + case NSFP_PROP_TITLE: + CK("auth"); if(ck && count_strings(ck,cks) >= 1) return nth_string(ck,cks,0); + if (NSF_HEADER_PRESENT() && has0(nsf+0x0E,32)) return (const char*)nsf+0x0E; + break; + case NSFP_PROP_ARTIST: + CK("auth"); if(ck && count_strings(ck,cks) >= 2) return nth_string(ck,cks,1); + if (NSF_HEADER_PRESENT() && has0(nsf+0x2E,32)) return (const char*)nsf+0x2E; + break; + case NSFP_PROP_COPYRIGHT: + CK("auth"); if(ck && count_strings(ck,cks) >= 3) return nth_string(ck,cks,2); + if (NSF_HEADER_PRESENT() && has0(nsf+0x4E,32)) return (const char*)nsf+0x4E; + break; + case NSFP_PROP_RIPPER: + CK("auth"); return nth_string(ck,cks,3); + break; + case NSFP_PROP_SONG_TITLE: + // TODO + return MISSING_STR; + default: + break; } return MISSING_STR; } @@ -641,34 +619,23 @@ const uint8* NSFCore::nsf_prop_blob(uint32* blob_size, sint32 prop, sint32 song) uint32 cks = 0; const uint8* blob = NULL; uint32 bsize = 0; + (void)song; // TODO - if (song < 0) + switch(prop) { - switch(prop) - { - case NSFP_PROP_BANKSWITCH: - CK("BANK"); if(ck) { bsize = cks; blob = ck; break; } - if (NSF_HEADER_PRESENT() && !all0(nsf+0x70,8)) { bsize = 8; blob = nsf+0x70; break; } - break; - case NSFP_PROP_NSFE_PLAYLIST: - CK("plst"); if(ck && cks>0) { bsize = cks; blob = ck; break; } - break; - case NSFP_PROP_NSF_HEADER: - if (NSF_HEADER_PRESENT()) { bsize = 0x80; blob = nsf; break; } - break; - - default: - break; - } - } - else // songprop - { - switch(prop) - { - case 0: // TODO - default: - break; - } + case NSFP_PROP_BANKSWITCH: + CK("BANK"); if(ck) { bsize = cks; blob = ck; break; } + if (NSF_HEADER_PRESENT() && !all0(nsf+0x70,8)) { bsize = 8; blob = nsf+0x70; break; } + break; + case NSFP_PROP_NSFE_PLAYLIST: + CK("plst"); if(ck && cks>0) { bsize = cks; blob = ck; break; } + break; + case NSFP_PROP_NSF_HEADER: + if (NSF_HEADER_PRESENT()) { bsize = 0x80; blob = nsf; break; } + break; + + default: + break; } if (blob_size) *blob_size = bsize; diff --git a/core/nsfplaycore.cpp b/core/nsfplaycore.cpp index c5738be..8d8c0d1 100644 --- a/core/nsfplaycore.cpp +++ b/core/nsfplaycore.cpp @@ -164,7 +164,7 @@ bool nsfplay_load_bin(NSFCore* core, const void* bin_data, uint32_t bin_size, bo uint32_t nsfplay_song_count(const NSFCore* core) { - return core->nsf_prop_int(NSFP_PROP_SONG_COUNT); + return core->nsf_prop_int(NSFP_PROP_ACTIVE_SONG_COUNT); } bool nsfplay_song(NSFCore* core, uint8_t song) @@ -288,7 +288,7 @@ const char* nsfplay_emu_trace(const NSFCore* core) return NULL; } -void nsfplay_emu_gamepad(const NSFCore* core, sint32 pad, uint32 report) +void nsfplay_emu_gamepad(NSFCore* core, int32_t pad, uint32_t report) { (void)core; (void)pad; @@ -324,45 +324,34 @@ uint32_t nsfplay_emu_cycles_to_next_sample(const NSFCore* core) return 0; } -bool nsfplay_prop_exists(const NSFCore* core, int32_t prop) -{ - return core->nsf_prop_exists(prop); -} - -bool nsfplay_songprop_exists(const NSFCore* core, int32_t prop, int32_t song) -{ - if (song < 0) song = core->song_current; - return core->nsf_prop_exists(prop,song); -} - NSFPropInfo nsfplay_prop_info(const NSFCore* core, int32_t prop) { - return core->prop_info(prop,false); + return core->prop_info(prop); } -NSFPropInfo nsfplay_songprop_info(const NSFCore* core, int32_t songprop) +bool nsfplay_prop_exists(const NSFCore* core, int32_t prop, int32_t song) { - return core->prop_info(songprop,true); + return core->nsf_prop_exists(prop,song); } -int32_t nsfplay_prop_int(const NSFCore* core, int32_t prop) +int32_t nsfplay_prop_int(const NSFCore* core, int32_t prop, int32_t song) { - return core->nsf_prop_int(prop); + return core->nsf_prop_int(prop,song); } -int64_t nsfplay_prop_long(const NSFCore* core, int32_t prop) +int64_t nsfplay_prop_long(const NSFCore* core, int32_t prop, int32_t song) { - return core->nsf_prop_long(prop); + return core->nsf_prop_long(prop,song); } -const char* nsfplay_prop_str(const NSFCore* core, int32_t prop) +const char* nsfplay_prop_str(const NSFCore* core, int32_t prop, int32_t song) { - return core->nsf_prop_str(prop); + return core->nsf_prop_str(prop,song); } -int32_t nsfplay_prop_lines(const NSFCore* core, int32_t prop) +int32_t nsfplay_prop_lines(const NSFCore* core, int32_t prop, int32_t song) { - return core->nsf_prop_lines(prop); + return core->nsf_prop_lines(prop,song); } const char* nsfplay_prop_line(const NSFCore* core) @@ -370,38 +359,8 @@ const char* nsfplay_prop_line(const NSFCore* core) return core->nsf_prop_line(); } -const void* nsfplay_prop_blob(const NSFCore* core, uint32_t* blob_size, int32_t prop) -{ - return core->nsf_prop_blob(blob_size,prop); -} - -int32_t nsfplay_songprop_int(const NSFCore* core, int32_t prop, int32_t song) -{ - if (song < 0) song = core->song_current; - return core->nsf_prop_int(prop,song); -} - -int64_t nsfplay_songprop_long(const NSFCore* core, int32_t prop, int32_t song) -{ - if (song < 0) song = core->song_current; - return core->nsf_prop_long(prop,song); -} - -const char* nsfplay_songprop_str(const NSFCore* core, int32_t prop, int32_t song) -{ - if (song < 0) song = core->song_current; - return core->nsf_prop_str(prop,song); -} - -int32_t nsfplay_songprop_lines(const NSFCore* core, int32_t prop, int32_t song) -{ - if (song < 0) song = core->song_current; - return core->nsf_prop_lines(prop,song); -} - -const void* nsfplay_songprop_blob(const NSFCore* core, uint32_t* blob_size, int32_t prop, int32_t song) +const void* nsfplay_prop_blob(const NSFCore* core, uint32_t* blob_size, int32_t prop, int32_t song) { - if (song < 0) song = core->song_current; return core->nsf_prop_blob(blob_size,prop,song); } diff --git a/enums/english.txt b/enums/english.txt index 52dd4a5..f49cec1 100644 --- a/enums/english.txt +++ b/enums/english.txt @@ -84,14 +84,14 @@ LOCALLIST FILE_TYPE INVALID "Invalid" LOCALCHANNELSET " On" " Volume" " Pan" " Colour" " enabled." " volume." " panning." " visualization colour." -LOCALSETGROUP MAIN "Main" "Main settings: volume and ouput, song title format" +LOCALGROUP MAIN "Main" "Main settings: volume and ouput, song title format" LOCALSET VOLUME "Volume" "Total output loudness." LOCALSET SAMPLERATE "Samplerate" "Audio output samplerate." LOCALSET STEREO "Stereo" "Disable to output 1-channel mono sound." LOCALSET BITS "Bit Depth" "Audio output bit depth." LOCALSET TITLE_FORMAT "NSF song title format" "Format: %F filename, %P path, %T NSF title, %A NSF artist, %C NSF copyright, %L NSFe song title, %N/%n song number (%n is 3-digit with leading zeroes), %S/%s NSF starting song, %E/%e NSF song count." -LOCALSETGROUP PLAY "Playback" "Playback settings: timing and sequence" +LOCALGROUP PLAY "Playback" "Playback settings: timing and sequence" LOCALSET CHANNEL_RESET "Channel Reset" "Turn all channels on whenever playing a new song." LOCALSET PLAY_START "Auto Start" "Automatically play when a new track is selected." LOCALSET PLAY_NEXT "Auto Next" "Automatically play the next track." @@ -103,12 +103,12 @@ LOCALSET SILENT_TIMEOUT "Silence Timeout" "If the track is silent for this LOCALSET DETECT_LOOP "Loop Detection" "Enable automatic look detection" LOCALSET LOOP_NUM "Loop Count" "When loops are detected, or given in NSFe data, the looped section will be played this many times, 0 for infinite." -LOCALSETGROUP AUDIO "Audio" "Audio output settings: filtering and downsampling" +LOCALGROUP AUDIO "Audio" "Audio output settings: filtering and downsampling" LOCALSET LPF "Lowpass Filter" "RC lowpass filter reduces high frequencies. 0 for none." LOCALSET HPF "Highpass Filter" "RC highpass filter removed DC bias and reduces low frequencies. 0 for none." LOCALSET DOWNSAMPLE "Downsampling" "Reduces high frequency emulation to the audio samplerate." -LOCALSETGROUP EMU "Emulation" "Emulation settings: region, CPU rate, speed, IRQ" +LOCALGROUP EMU "Emulation" "Emulation settings: region, CPU rate, speed, IRQ" LOCALSET REGION "Region" "Type of NES/Famicom emulated, can be auto-selected if the NSF contains region data." LOCALSET CPU_NTSC "NTSC CPU Rate" "Emulated NTSC CPU clock frequency." LOCALSET CPU_PAL "PAL CPU Rate" "Emulated PAL CPU clock frequency." @@ -192,12 +192,12 @@ LOCALCHANNEL S5B S5B_N "5B:N" "Sunsoft 5B Noise" LOCALCHANNEL S5B S5B_E "5B:E" "Sunsoft 5B Envelope" LOCALSET S5B_MIXER "5B Mixer" "Unlike other expansion audio, the Famicom audio was passed through the 5B chip, causing nonlinearity and distortion on all channels. This simualtes that feature." -LOCALSETGROUP WAVEOUT "WAV Output" "WAV output settings: can override the regular output settings" +LOCALGROUP WAVEOUT "WAV Output" "WAV output settings: can override the regular output settings" LOCALSET WAVEOUT_SAMPLERATE "Samplerate" "Overrides the output samplerate when saving a WAV file. 0 to use the normal output rate, -1 to use the CPU rate." LOCALSET WAVEOUT_BITS "Bit Depth" "Override the output bit depth when saving a WAV file." LOCALSET WAVEOUT_STEREO "Stereo" "Override the output stereo setting when saving a WAV file." -LOCALSETGROUP ADVANCED "Advanced" "Advanced settings: specific samplerate, shift-JIS" +LOCALGROUP ADVANCED "Advanced" "Advanced settings: specific samplerate, shift-JIS" LOCALSET SAMPLERATE_OVERRIDE "Samplerate Override" "If a custom output samplerate is needed, it can be given here. 0 to use the normal output rate, -1 to use the CPU rate." LOCALSET SHIFT_JIS "Shift-JIS" "Older Japanese NSF files often use Shift-JIS for their title, artist, and copyright fields. We can automatically detect it, assume Shift-JIS, or assume UTF-8. NSF2 files are always UTF-8." LOCALSET EXPANSION_FDS "FDS Expansion" "Force enable/disable FDS." @@ -212,9 +212,10 @@ LOCALSET EXPANSION_VT02 "VT02+ Expansion" "Force enable/disable VT02+." # NSF Properties # +LOCALGROUP NSF "NSF" "NSF File Properties" LOCALPROP FILE_TYPE "File Type" -LOCALPROP SONG_COUNT "Song Count" -LOCALPROP SONG_START "Starting Song" +LOCALPROP NSF_SONG_COUNT "Song Count" +LOCALPROP NSF_SONG_START "Starting Song" LOCALPROP NSF_VERSION "NSF Version" LOCALPROP LOAD_ADDR "LOAD address" LOCALPROP INIT_ADDR "INIT address" @@ -246,12 +247,19 @@ LOCALPROP NSF2_NOPLAY "NSF2 No PLAY routine" LOCALPROP NSF2_MANDATORY "NSF2 Mandatory Metadata Flag" LOCALPROP NSFE_PLAYLIST "Playlist Present" LOCALPROP NSF_HEADER "NSF Header Raw Data" -LOCALPROP PLAYLIST_ACTIVE "Playlist Active" + +LOCALGROUP ACTIVE "Active" "Active state properties" +LOCALPROP ACTIVE_SONG_COUNT "Active Song Count" +LOCALPROP ACTIVE_SONG_START "Active Song Start" +LOCALPROP ACTIVE_PLAYLIST "Playlist Active" # # Song Properties # +LOCALGROUP SONG "Song" "Song Properties" +LOCALPROP SONG_TITLE "Song Title" + # # Other localized text needed by the UI # diff --git a/enums/nsfplayenums.py b/enums/nsfplayenums.py index b2470f0..1e7ef9e 100644 --- a/enums/nsfplayenums.py +++ b/enums/nsfplayenums.py @@ -38,30 +38,34 @@ # A set of options that can be used for an INT setting. # LIST list-key key-0 key-1 ... # +# A grouping of settings, properties, or song properties +# GROUP SET group-key +# GROUP PROP group-key +# GROUP SONGPROP group-key +# # Settings definitions. -# SETGROUP creates a group that subsequent settings will be assigned to. # The SETLIST is like a SETINT but will map its numbers to a LIST. # INT settings and properties have a display-type which hints to the implementer # how to display that setting. -# SETGROUP group-key # SETINT group-key key default min max hintmin hintmax display-type # SETLIST group-key key list-key default-key # SETSTR group-key key "default" # +# Properties can have an optional comment string in the generated enum. # NSF Properties. -# PROPINT key display-type -# PROPLONG key display-type -# PROPSTR key -# PROPLINES key -# PROPBLOB key -# PROPLIST key list-key +# PROPINT key display-type [comment] +# PROPLONG key display-type [comment] +# PROPSTR key [comment] +# PROPLINES key [comment] +# PROPBLOB key [comment] +# PROPLIST key list-key [comment] # Song Properties. -# SONGPROPINT key display-type -# SONGPROPLONG key display-type -# SONGPROPSTR key -# SONGPROPLINES key -# SONGPROPBLOB key -# SONGPROPLIST key list-key +# SONGPROPINT key display-type [comment] +# SONGPROPLONG key display-type [comment] +# SONGPROPSTR key [comment] +# SONGPROPLINES key [comment] +# SONGPROPBLOB key [comment] +# SONGPROPLIST key list-key [comment] # # Global channel info. # The UNIT will also generate a settings group "UNIT", with a VOL setting. @@ -79,19 +83,19 @@ # One locale must be set as the default with LOCALDEFAULT. # If a locale is missing strings, it will use the LOCALDEFAULT as a backup. # If LOCALDEFAULT is missing strings, it will use the corresponding key if possible. +# The LOCALPROP applies to both PROP and SONGPROP, as they are really both properties. # The LOCALCHANNELSET command should be used once per locale to name the ON/VOL/PAN settings. # The LOCALTEXT definition creates an enumerated string, more miscellaneous purposes if needed by the code. # LOCALERROR is just LOCALTEXT but the enum will have "ERROR" instead of "TEXT". # In place of a text value, * can be used to defer to the LOCALDEFAULT without creating a warning. # The LOCALSETLOCALE definition will name/describe a special generated LOCALSET called LOCALE containing all the locales. -# The generated LOCALSET LOCALE will always be placed in the first SETGROUP. +# The generated LOCALSET LOCALE will always be placed in the first GROUP (which must be a GROUP SET). # LOCAL key "name" # LOCALDEFAULT # LOCALLIST list-key key "name" -# LOCALSETGROUP group-key "name" "description" +# LOCALGROUP group-key "name" "description" # LOCALSET key "name" "description" # LOCALPROP key "name" -# LOCALSONGPROP key "name" # LOCALUNIT unit-key "name" "desc" # LOCALCHANNEL unit-key key "short-name" "name" # LOCALCHANNELSET "enable-name" "volume-name" "pan-name" "col-name" "enable-desc" "volume-desc" "pan-desc" "col-desc" @@ -182,10 +186,9 @@ def verbose(message): parse_path = None defs_list = [] -defs_setgroup = [] +defs_group = [] defs_set = [] defs_prop = [] -defs_songprop = [] defs_unit = [] defs_channel = [] defs_channelunset = [] @@ -193,30 +196,37 @@ def verbose(message): defs_local = [] defs_localdefault = None -PROP_INT = 1 -PROP_LONG = 2 -PROP_STR = 3 -PROP_LINES = 4 -PROP_BLOB = 5 -PROP_LIST = 6 - -DT_INT = 1 -DT_LONG = 2 -DT_STR = 3 -DT_LINES = 4 -DT_BLOB = 5 -DT_LIST = 6 -DT_BOOL = 7 -DT_HEX8 = 8 -DT_HEX16 = 9 -DT_HEX32 = 10 -DT_HEX64 = 11 -DT_COLOR = 12 -DT_MSEC = 13 -DT_MILL = 14 -DT_HZ = 15 -DT_KEY = 16 -DT_PRECISE = 17 +PROP_INT = 1 +PROP_LONG = 2 +PROP_STR = 3 +PROP_LINES = 4 +PROP_BLOB = 5 +PROP_LIST = 6 + +GT_SET = 1 +GT_PROP = 2 +GT_SONGPROP = 3 + +DT_INT = 1 +DT_LONG = 2 +DT_STR = 3 +DT_LINES = 4 +DT_BLOB = 5 +DT_LIST = 6 +DT_BOOL = 7 +DT_HEX8 = 8 +DT_HEX16 = 9 +DT_HEX32 = 10 +DT_HEX64 = 11 +DT_COLOR = 12 +DT_MSEC = 13 +DT_MILL = 14 +DT_HZ = 15 +DT_KEY = 16 +DT_PRECISE = 17 + +GT = { "SET":GT_SET, "PROP":GT_PROP, "SONGPROP":GT_SONGPROP } +GT_REVERSE = {v:k for k,v in GT.items()} DT = { "INT":DT_INT, "LONG":DT_STR, # "LINES":DT_LINES, "BLOB":DT_BLOB, "LIST":DT_LIST, @@ -234,25 +244,26 @@ def verbose(message): PARSE_STR = 2 PARSE_KEYS = 3 PARSE_DT = 4 +PARSE_GT = 5 PARSE_DEFS = { "LIST":[PARSE_KEY,PARSE_KEYS], - "SETGROUP":[PARSE_KEY], + "GROUP":[PARSE_GT,PARSE_KEY], "SETINT":[PARSE_KEY,PARSE_KEY,PARSE_INT,PARSE_INT,PARSE_INT,PARSE_INT,PARSE_INT,PARSE_DT], "SETLIST":[PARSE_KEY,PARSE_KEY,PARSE_KEY,PARSE_KEY], "SETSTR":[PARSE_KEY,PARSE_KEY,PARSE_STR], - "PROPINT":[PARSE_KEY,PARSE_DT], - "PROPLONG":[PARSE_KEY,PARSE_DT], - "PROPSTR":[PARSE_KEY], - "PROPLINES":[PARSE_KEY], - "PROPBLOB":[PARSE_KEY], - "PROPLIST":[PARSE_KEY,PARSE_KEY], - "SONGPROPINT":[PARSE_KEY,PARSE_DT], - "SONGPROPLONG":[PARSE_KEY,PARSE_DT], - "SONGPROPSTR":[PARSE_KEY], - "SONGPROPLINES":[PARSE_KEY], - "SONGPROPBLOB":[PARSE_KEY], - "SONGPROPLIST":[PARSE_KEY,PARSE_KEY], + "PROPINT":[PARSE_KEY,PARSE_KEY,PARSE_DT], + "PROPLONG":[PARSE_KEY,PARSE_KEY,PARSE_DT], + "PROPSTR":[PARSE_KEY,PARSE_KEY], + "PROPLINES":[PARSE_KEY,PARSE_KEY], + "PROPBLOB":[PARSE_KEY,PARSE_KEY], + "PROPLIST":[PARSE_KEY,PARSE_KEY,PARSE_KEY], + "SONGPROPINT":[PARSE_KEY,PARSE_KEY,PARSE_DT], + "SONGPROPLONG":[PARSE_KEY,PARSE_KEY,PARSE_DT], + "SONGPROPSTR":[PARSE_KEY,PARSE_KEY], + "SONGPROPLINES":[PARSE_KEY,PARSE_KEY], + "SONGPROPBLOB":[PARSE_KEY,PARSE_KEY], + "SONGPROPLIST":[PARSE_KEY,PARSE_KEY,PARSE_KEY], "UNIT":[PARSE_KEY], "CHANNEL":[PARSE_KEY,PARSE_KEY,PARSE_INT], "CHANNELUNSET":[PARSE_KEY,PARSE_KEY,PARSE_KEY], @@ -260,10 +271,9 @@ def verbose(message): "LOCAL":[PARSE_KEY,PARSE_STR], "LOCALDEFAULT":[], "LOCALLIST":[PARSE_KEY,PARSE_KEY,PARSE_STR], - "LOCALSETGROUP":[PARSE_KEY,PARSE_STR,PARSE_STR], + "LOCALGROUP":[PARSE_KEY,PARSE_STR,PARSE_STR], "LOCALSET":[PARSE_KEY,PARSE_STR,PARSE_STR], "LOCALPROP":[PARSE_KEY,PARSE_STR], - "LOCALSONGPROP":[PARSE_KEY,PARSE_STR], "LOCALUNIT":[PARSE_KEY,PARSE_STR,PARSE_STR], "LOCALCHANNEL":[PARSE_KEY,PARSE_KEY,PARSE_STR,PARSE_STR], "LOCALCHANNELSET":[PARSE_STR]*len(CHANNEL_ADD)*2, @@ -278,6 +288,7 @@ def verbose(message): PARSE_STR:"STRING", PARSE_KEYS:"KEY...", PARSE_DT:"DISPLAY", + PARSE_GT:"GROUP-TYPE", } # parsing errors @@ -341,13 +352,18 @@ def parse_entry(ls): parse_error(PARSE_DEF_NAME[pd]+" may not be empty string.") return (None,None) p.append(ls[0]) - elif pd == PARSE_KEYS: + elif pd == PARSE_KEYS: # 0 or more keys while len(ls) > 0: if not is_key(ls[0]): parse_error(PARSE_DEF_NAME[pd]+" expected: "+ls[0]) return (None,None) p.append(ls[0]) ls = ls[1:] + elif pd == PARSE_GT: + if ls[0].upper() not in GT: + parse_error(PARSE_DEF_NAME[pd]+" expected: "+ls[0]) + return (None,None) + p.append(GT[ls[0].upper()]) elif pd == PARSE_DT: if ls[0].upper() not in DT: parse_error(PARSE_DEF_NAME[pd]+" expected: "+ls[0]) @@ -373,10 +389,14 @@ def check_list(list_key,key=None): # key=None to just check list parse_error("LIST not found: "+list_key) return (None,None,None) -def check_setgroup(key): - for i in range(len(defs_setgroup)): - if defs_setgroup[i][0] == key: return i - parse_error("SETGROUP not found: "+key) +def check_group(key,gt): + for i in range(len(defs_group)): + if defs_group[i][0] == key: + if (gt != None) and defs_group[i][1] != gt: + parse_error("GROUP found but not "+GT_REVERSE[gt]+" type: "+key+" ("+GT_REVERSE[defs_group[i][1]]+")") + return None + return i + parse_error("GROUP not found: "+key) return None def check_set(key): @@ -390,14 +410,7 @@ def check_prop(key): for i in range(len(defs_prop)): if defs_prop[i][0] == key: return i - parse_error("PROP not found: "+key) - return None - -def check_songprop(key): - for i in range(len(defs_songprop)): - if defs_songprop[i][0] == key: - return i - parse_error("SONGPROP not found: "+key) + parse_error("PROP/SONGPROP not found: "+key) return None def check_unit(key): @@ -426,10 +439,18 @@ def add_unique_entry(defs,id_elements,error_name,entry): return defs.append(entry) +def add_prop(p,song=False): + global defs_prop + gi = check_group(p[1],GT_SONGPROP if song else GT_PROP) + if gi != None: + p = list(p) + p[1] = gi + add_unique_entry(defs_prop,1,"PROP/SONGPROP "+p[0],tuple(p)) + # parse enums file def parse_enums(path): - global defs_list, defs_setgroup, defs_set, defs_prop, defs_songprop, defs_unit, defs_channel, defs_channelunset, defs_channelonlist, defs_local, defs_localdefault + global defs_list, defs_group, defs_set, defs_prop, defs_unit, defs_channel, defs_channelunset, defs_channelonlist, defs_local, defs_localdefault global parse_path, parse_line print("Parsing: " + path) parse_path = path @@ -447,43 +468,44 @@ def parse_enums(path): (command,p) = parse_entry(ls) if command == None: continue verbose(command + ": " + str(p)) - if command == "LIST": defs_list.append(p) - elif command == "SETGROUP": defs_setgroup.append(p) + if command == "LIST": # 0-list-key 1-key... + add_unique_entry(defs_list,1,command+" "+p[0],p) + elif command == "GROUP": # 0-group-key 1-group-type + add_unique_entry(defs_group,1,command+" "+p[1],(p[1],p[0])) elif command == "SETINT": # 0-group 1-key 2-default 3-min 4-max 5-hint-min 6-hint-max 7-display - gi = check_setgroup(p[0]) + gi = check_group(p[0],GT_SET) if gi != None: defs_set.append((gi,p[1],p[2],p[3],p[4],p[5],p[6],None,False,p[7])) # set: group, key, default, int min, int max, hint min, hint max, list, is_string, display type elif command == "SETLIST": # 0-group 1-key 2-list 3-default - gi = check_setgroup(p[0]) + gi = check_group(p[0],GT_SET) if gi != None: (li,lk,dcount) = check_list(p[2],p[3]) if li != None: defs_set.append((gi,p[1],lk,0,dcount-1,0,dcount-1,li,False,DT_LIST)) elif command == "SETSTR": # 0-group 1-key 2-default - gi = check_setgroup(p[0]) - if gi != None: - defs_set.append((gi,p[1],p[2],0,0,0,0,None,True,DT_STR)) - elif command == "PROPINT": defs_prop.append((p[0],PROP_INT,p[1],None)) - elif command == "PROPLONG": defs_prop.append((p[0],PROP_LONG,p[1],None)) - elif command == "PROPSTR": defs_prop.append((p[0],PROP_STR,DT_STR,None)) - elif command == "PROPLINES": defs_prop.append((p[0],PROP_LINES,DT_LINES,None)) - elif command == "PROPBLOB": defs_prop.append((p[0],PROP_BLOB,DT_BLOB,None)) + gi = check_group(p[0],GT_SET) + if gi != None: defs_set.append((gi,p[1],p[2],0,0,0,0,None,True,DT_STR)) + # PROP + elif command == "PROPINT": add_prop((p[1],p[0],PROP_INT,p[2],None)) # 0-key 1-group-key(index) 2-type 3-display 4-list-index + elif command == "PROPLONG": add_prop((p[1],p[0],PROP_LONG,p[2],None)) + elif command == "PROPSTR": add_prop((p[1],p[0],PROP_STR,DT_STR,None)) + elif command == "PROPLINES": add_prop((p[1],p[0],PROP_LINES,DT_LINES,None)) + elif command == "PROPBLOB": add_prop((p[1],p[0],PROP_BLOB,DT_BLOB,None)) elif command == "PROPLIST": - (li,lk,dcount) = check_list(p[1]) - if (li != None): - defs_prop.append((p[0],PROP_LIST,DT_LIST,li)) - elif command == "SONGPROPINT": defs_songprop.append((p[0],PROP_INT,p[1],None)) - elif command == "SONGPROPLONG": defs_songprop.append((p[0],PROP_LONG,p[1],None)) - elif command == "SONGPROPSTR": defs_songprop.append((p[0],PROP_STR,DT_STR,None)) - elif command == "SONGPROPLINES": defs_songprop.append((p[0],PROP_LINES,DT_LINES,None)) - elif command == "SONGPROPBLOB": defs_songprop.append((p[0],PROP_BLOB,DT_BLOB,None)) + (li,lk,dcount) = check_list(p[2]) + if (li != None): add_prop((p[1],p[0],PROP_LIST,DT_LIST,li)) + # SONGPROP + elif command == "SONGPROPINT": add_prop((p[1],p[0],PROP_INT,p[2],None),True) + elif command == "SONGPROPLONG": add_prop((p[1],p[0],PROP_LONG,p[2],None),True) + elif command == "SONGPROPSTR": add_prop((p[1],p[0],PROP_STR,DT_STR,None),True) + elif command == "SONGPROPLINES": add_prop((p[1],p[0],PROP_LINES,DT_LINES,None),True) + elif command == "SONGPROPBLOB": add_prop((p[1],p[0],PROP_BLOB,DT_BLOB,None),True) elif command == "SONGPROPLIST": - (li,lk,dcount) = check_list(p[1]) - if (li != None): - defs_songprop.append((p[0],PROP_LIST,DT_LIST,li)) + (li,lk,dcount) = check_list(p[2]) + if (li != None): add_prop((p[1],p[0],PROP_LIST,DT_LIST,li),True) elif command == "UNIT": - defs_unit.append(p) - defs_setgroup.append(p) + add_unique_entry(defs_unit,1,"UNIT "+p[0],p) + add_unique_entry(defs_group,1,"GROUP(UNIT) "+p[0],(p[0],GT_SET)) elif command == "CHANNEL": ui = check_unit(p[0]) if ui != None: @@ -504,7 +526,7 @@ def parse_enums(path): defs_channelonlist = li elif command == "LOCAL": add_unique_entry(defs_local,1,command+" "+p[0], - [p[0],p[1],[],[],[],[],[],[],[],None,[],(None,None)]) # local: key, name, list, group, set, prop, songprop, unit, channel, channelset, text, locales + [p[0],p[1],[],[],[],[],[],[],None,[],(None,None)]) # local: 0-key, 1-name, 2-list, 3-group, 4-set, 5-prop, 6-unit, 7-channel, 8-channelset, 9-text, 10-locales localcurrent = len(defs_local)-1 elif command == "LOCALDEFAULT": if localcurrent == None: parse_error("LOCAL must be used before "+command) @@ -518,10 +540,10 @@ def parse_enums(path): (li,lk,lcount) = check_list(p[0],p[1]) if li != None: add_unique_entry(defs_local[localcurrent][2],2,command+" "+p[1],(li,lk,p[2])) # list, key, name - elif command == "LOCALSETGROUP": + elif command == "LOCALGROUP": if localcurrent == None: parse_error("LOCAL must be used before "+command) else: - gi = check_setgroup(p[0]) + gi = check_group(p[0],None) if gi != None: add_unique_entry(defs_local[localcurrent][3],1,command+" "+p[0],(gi,p[1],p[2])) # group, name, desc elif command == "LOCALSET": @@ -536,49 +558,43 @@ def parse_enums(path): pi = check_prop(p[0]) if pi != None: add_unique_entry(defs_local[localcurrent][5],1,command+" "+p[0],(pi,p[1])) # prop, name - elif command == "LOCALSONGPROP": - if localcurrent == None: parse_error("LOCAL must be used before "+command) - else: - pi = check_songprop(p[0]) - if pi != None: - add_unique_entry(defs_local[localcurrent][6],1,command+" "+p[0],(pi,p[1])) # songprop, name elif command == "LOCALUNIT": if localcurrent == None: parse_error("LOCAL must be used before "+command) else: ui = check_unit(p[0]) if ui != None: - gi = check_setgroup(p[0]) + gi = check_group(p[0],GT_SET) if gi == None: fatal_error("UNIT missing automatically generated GROUP: "+p[0]) - add_unique_entry(defs_local[localcurrent][7],1,command+" "+p[0],(ui,p[1],p[2])) # unit, name, desc - add_unique_entry(defs_local[localcurrent][3],1,command+" (SETGROUP) "+p[0],(gi,p[1],p[2])) # group, name, desc + add_unique_entry(defs_local[localcurrent][6],1,command+" "+p[0],(ui,p[1],p[2])) # unit, name, desc + add_unique_entry(defs_local[localcurrent][3],1,command+" (GROUP) "+p[0],(gi,p[1],p[2])) # group, name, desc elif command == "LOCALCHANNEL": if localcurrent == None: parse_error("LOCAL must be used before "+command) else: (ui,ci) = check_channel(p[0],p[1]) if ui != None: - add_unique_entry(defs_local[localcurrent][8],1,command+" "+p[1],(ci,p[2],p[3])) # channel, shortname, name + add_unique_entry(defs_local[localcurrent][7],1,command+" "+p[1],(ci,p[2],p[3])) # channel, shortname, name elif command == "LOCALCHANNELSET": if localcurrent == None: parse_error("LOCAL must be used before "+command) else: - if defs_local[localcurrent][9] != None: + if defs_local[localcurrent][8] != None: parse_error("LOCALCHANNELSET already used") else: - defs_local[localcurrent][9] = list(p) + defs_local[localcurrent][8] = list(p) elif command == "LOCALTEXT": if localcurrent == None: parse_error("LOCAL must be used before "+command) else: - add_unique_entry(defs_local[localcurrent][10],1,command+" "+p[0],("TEXT_"+p[0],p[1])) + add_unique_entry(defs_local[localcurrent][9],1,command+" "+p[0],("TEXT_"+p[0],p[1])) elif command == "LOCALERROR": if localcurrent == None: parse_error("LOCAL must be used before "+command) else: - add_unique_entry(defs_local[localcurrent][10],1,command+" "+p[0],("ERROR_"+p[0],p[1])) + add_unique_entry(defs_local[localcurrent][9],1,command+" "+p[0],("ERROR_"+p[0],p[1])) elif command == "LOCALSETLOCALE": if localcurrent == None: parse_error("LOCAL must be used before "+command) else: - if defs_local[localcurrent][11] != (None,None): + if defs_local[localcurrent][10] != (None,None): parse_error("LOCALSETLOCALE already used") else: - defs_local[localcurrent][11] = list(p) + defs_local[localcurrent][10] = list(p) elif command == "CANCEL": break parse_path = None @@ -647,7 +663,7 @@ def gen_data(data,mode=0,prefix="\t",target=1): # mode: 0=hex bytes (2-digit), 1 def generate_enums(file_enum,file_data,do_write): global gen_enum_lines, gen_data_lines global gen_text_blob, gen_text_map - global defs_list, defs_setgroup, defs_set, defs_local + global defs_list, defs_group, defs_set, defs_local locs = len(defs_local) gen_enum_lines = [] # public interface enums gen_data_lines = [] # internal data tables @@ -662,7 +678,7 @@ def generate_enums(file_enum,file_data,do_write): gen_break(1) # # locale tables contain a byte index to every generated string in gen_data_blob - # defs_local: key, name, list, group, set, prop, songprop, unit, channel, channelset,text + # defs_local: key, name, list, group, set, prop, unit, channel, channelset,text # table_locale = [[] for i in range(locs)] for i in range(locs): # add default 0 text to all locales @@ -683,7 +699,7 @@ def generate_enums(file_enum,file_data,do_write): for j in range(len(defs_local)): defs_local[i][2].append((list_locale_index,j,defs_local[j][1])) # LOCALLIST: LOCALE_KEY, locale-key, locale-name # create the set name/desc in each locale - (name,desc) = defs_local[i][11] + (name,desc) = defs_local[i][10] if name == None or desc == None: warn("LOCAL("+defs_local[i][0]+") missing: LOCALSETLOCALE * *") (name,desc) = ("*","*") @@ -745,12 +761,12 @@ def generate_enums(file_enum,file_data,do_write): for ui in range(len(defs_unit)): unit_key = defs_unit[ui][0] gen_enum("NSFP_UNIT_"+unit_key,ui) - gi = check_setgroup(unit_key) + gi = check_group(unit_key,GT_SET) if gi == None: fatal_error("UNIT missing automatically generated GROUP: "+unit_key) table_unit.append(gi); for i in range(locs): mapped = False - for (lui,name,desc) in defs_local[i][7]: + for (lui,name,desc) in defs_local[i][6]: if lui == ui: mapped = True break @@ -766,14 +782,14 @@ def generate_enums(file_enum,file_data,do_write): # generate group data # # map each group to a text index, gather locale strings - gen_enum("NSFP_GROUP_COUNT",len(defs_setgroup)) + gen_enum("NSFP_GROUP_COUNT",len(defs_group)) gen_line("typedef struct {",1) gen_line("\tconst char* key;",1) - gen_line("\tint32_t text; // text+0 name, +1 desc",1) + gen_line("\tint32_t type, text; // text+0 name, +1 desc",1) gen_line("} NSFSetGroupData;",1) gen_line("const NSFSetGroupData NSFPD_GROUP[NSFP_GROUP_COUNT] = {",1) - for gi in range(len(defs_setgroup)): - group_key = defs_setgroup[gi][0] + for gi in range(len(defs_group)): + group_key = defs_group[gi][0] gen_enum("NSFP_GROUP_"+group_key,gi) gen_line("\t{ %30s,%4d }," % ('"'+group_key+'"',len(table_locale[0])),1) names = [group_key for i in range(locs)] @@ -788,7 +804,7 @@ def generate_enums(file_enum,file_data,do_write): name = lname desc = ldesc break - if not mapped: warn("LOCAL("+defs_local[i][0]+") missing: LOCALSETGROUP "+group_key+" * *") + if not mapped: warn("LOCAL("+defs_local[i][0]+") missing: LOCALGROUP "+group_key+" * *") if name == "*": name = None if desc == "*": desc = None if name != None: names[i] = name @@ -815,17 +831,17 @@ def generate_enums(file_enum,file_data,do_write): for i in range(locs): CAL = len(CHANNEL_ADD) CAL2 = CAL * 2 - if defs_local[i][9] == None: + if defs_local[i][8] == None: warn("LOCAL("+defs_local[i][0]+") missing: LOCALCHANNELSET"+(" *" * CAL2)) - defs_local[i][9] = ["*"] * CAL2 + defs_local[i][8] = ["*"] * CAL2 for j in range(CAL2): - if defs_local[i][9][j] == "*": - if i==0: defs_local[i][9][j] = CHANNEL_ADD[i%CAL] # default locale defers to key - else: defs_local[i][9][j] = defs_local[0][9][j] # defer to default locale + if defs_local[i][8][j] == "*": + if i==0: defs_local[i][8][j] = CHANNEL_ADD[i%CAL] # default locale defers to key + else: defs_local[i][8][j] = defs_local[0][8][j] # defer to default locale for ci in range(len(defs_channel)): ui = defs_channel[ci][0] unit_key = defs_unit[ui][0] - gi = check_setgroup(unit_key) + gi = check_group(unit_key,GT_SET) channel_key = defs_channel[ci][1] si = len(defs_set) gen_line("\t{ %30s,%2d,%4d }," % ('"'+channel_key+'"',ui,len(table_locale[0])),1) @@ -846,11 +862,11 @@ def generate_enums(file_enum,file_data,do_write): shortname = None name = None mapped = False - for j in range(len(defs_local[i][8])): - if (defs_local[i][8][j][0] == ci): + for j in range(len(defs_local[i][7])): + if (defs_local[i][7][j][0] == ci): mapped = True - shortname = defs_local[i][8][j][1] - name = defs_local[i][8][j][2] + shortname = defs_local[i][7][j][1] + name = defs_local[i][7][j][2] if not mapped: warn("LOCAL("+defs_local[i][0]+") missing: LOCALCHANNEL "+unit_key+" "+channel_key+" *") if name == "*": name = None if name != None: names[i] = name @@ -865,7 +881,7 @@ def generate_enums(file_enum,file_data,do_write): table_locale[i].append(gen_text(shortnames[i])) table_locale[i].append(gen_text(names[i])) for j in range(CAL): - defs_local[i][4].append((si+j,names[i]+defs_local[i][9][j+0],names[i]+defs_local[i][9][j+CAL])) + defs_local[i][4].append((si+j,names[i]+defs_local[i][8][j+0],names[i]+defs_local[i][8][j+CAL])) gen_break(0); gen_line("};",1) gen_break(1) @@ -885,7 +901,7 @@ def generate_enums(file_enum,file_data,do_write): for ssi in range(len(sorted_sets)): si = sorted_sets[ssi][1] (gi, set_key, default_val, min_int, max_int, min_hint, max_hint, list_index, is_string, display_hint) = defs_set[si] - group_key = defs_setgroup[gi][0] + group_key = defs_group[gi][0] default_int = 0 default_str = "NULL" if is_string: # is_string @@ -934,27 +950,31 @@ def generate_enums(file_enum,file_data,do_write): gen_line("};",1) gen_break(1) # - # generate prop data, songprop data + # generate prop data # + # sort props by group + sorted_props = sorted([(defs_prop[i][1],i) for i in range(len(defs_prop))]) gen_enum("NSFP_PROP_COUNT",len(defs_prop)) gen_line("typedef struct {",1) gen_line("\tconst char* key;",1) - gen_line("\tint32_t text, type, display; // text+0 name, +1 desc",1) + gen_line("\tint32_t group, text, type, display; // text+0 name, +1 desc",1) gen_line("\tint32_t max_list, list;",1) gen_line("} NSFPropData;",1) gen_line("const NSFPropData NSFPD_PROP[NSFP_PROP_COUNT] = {",1) - for pi in range(len(defs_prop)): - prop_key = defs_prop[pi][0] + for spi in range(len(sorted_props)): + pi = sorted_props[spi][1] + (prop_key,gi,prop_type,prop_display,prop_list) = defs_prop[pi] + prop_group_type = defs_group[gi][1] list_index = -1 list_max = 0 - if defs_prop[pi][3] != None: - list_index = defs_prop[pi][3] + if prop_list != None: + list_index = prop_list list_max = len(defs_list[list_index])-2 - gen_line("\t{ %30s,%4d,%1d,%2d,%3d,%3d }," % ( + gen_line("\t{ %30s,%2d,%4d,%1d,%2d,%3d,%3d }," % ( '"'+prop_key+'"', - len(table_locale[0]),defs_prop[pi][1],defs_prop[pi][2], + gi,len(table_locale[0]),prop_type,prop_display, list_max,list_index),1) - gen_enum("NSFP_PROP_"+prop_key,pi); + gen_enum("NSFP_PROP_"+prop_key,spi); names = [prop_key for i in range(locs)] for i in range(locs): name = None @@ -973,50 +993,18 @@ def generate_enums(file_enum,file_data,do_write): table_locale[i].append(gen_text(names[i])) gen_break(0) gen_line("};",1) - gen_enum("NSFP_SONGPROP_COUNT",len(defs_songprop)) - gen_line("const NSFPropData NSFPD_SONGPROP[NSFP_SONGPROP_COUNT] = {",1) - for pi in range(len(defs_songprop)): - prop_key = defs_songprop[pi][0] - list_index = -1 - list_size = 0 - if defs_songprop[pi][3] != None: - list_index = defs_songprop[pi][3] - list_max = len(defs_list[list_index])-2 - gen_line("\t{ %30s,%4d,%1d,%2d,%3d,%3d }," % ( - '"'+prop_key+'"', - len(table_locale[0]),defs_songprop[pi][1],defs_songprop[pi][2], - list_max,list_index),1) - gen_enum("NSFP_SONGPROP_"+prop_key,pi); - names = [prop_key for i in range(locs)] - for i in range(locs): - name = None - mapped = False - for (lpi,lname) in defs_local[i][6]: - if lpi == pi: - mapped = True - name = lname - break - if not mapped: warn("LOCAL("+defs_local[i][0]+") missing: LOCALSONGPROP "+prop_key+" *") - if name == "*": name = None - if name != None: names[i] = name - if i == 0: - for j in range(1,locs): - names[j] = names[0] - table_locale[i].append(gen_text(names[i])) - gen_break(0) - gen_line("};",1) gen_break(1) # # generate extra text # - for ti in range(len(defs_local[0][10])): - text_key = defs_local[0][10][ti][0] + for ti in range(len(defs_local[0][9])): + text_key = defs_local[0][9][ti][0] gen_enum("NSFP_"+text_key,len(table_locale[0])) names = [text_key for i in range(locs)] for i in range(locs): name = None mapped = False - for (lkey,lname) in defs_local[i][10]: + for (lkey,lname) in defs_local[i][9]: if lkey == text_key: mapped = True name = lname @@ -1027,10 +1015,10 @@ def generate_enums(file_enum,file_data,do_write): table_locale[i].append(gen_text(names[i])) # verify there aren't stray TEXT definitions outside the default locale for i in range(1,locs): - for (text_key,text_name) in defs_local[i][10]: + for (text_key,text_name) in defs_local[i][9]: mapped = False - for j in range(len(defs_local[0][10])): - if text_key == defs_local[0][10][j][0]: + for j in range(len(defs_local[0][9])): + if text_key == defs_local[0][9][j][0]: mapped = True break if not mapped: error("LOCAL("+defs_local[i][0]+") LOCALTEXT not in default LOCAL: "+text_key) diff --git a/enums/settings.txt b/enums/settings.txt index 966fe43..4671c47 100644 --- a/enums/settings.txt +++ b/enums/settings.txt @@ -23,14 +23,14 @@ LIST FILE_TYPE NONE NSF NSF2 NSFE BIN INVALID # INVALID must be last CHANNELONLIST ENABLE # first group will alsoe contain LOCALE setting -SETGROUP MAIN +GROUP SET MAIN SETINT MAIN VOLUME 500 0 8000 0 1000 MILL SETLIST MAIN SAMPLERATE SAMPLERATES SR_48000 SETLIST MAIN STEREO ENABLE ON SETLIST MAIN BITS BITS BIT_16 SETSTR MAIN TITLE_FORMAT "%L (%n/%e) %T - %A" -SETGROUP PLAY +GROUP SET PLAY SETLIST PLAY CHANNEL_RESET ENABLE ON SETLIST PLAY PLAY_START ENABLE ON SETLIST PLAY PLAY_NEXT ENABLE ON @@ -43,12 +43,12 @@ SETLIST PLAY DETECT_LOOP ENABLE OFF SETINT PLAY LOOP_NUM 2 0 10000 0 20 INT # TODO LPF/HPF need new defaults (figure out what NSFPlay is using, its settings are obfuscated) -SETGROUP AUDIO +GROUP SET AUDIO SETINT AUDIO LPF 14000 0 200000 0 20000 HZ SETINT AUDIO HPF 90 0 200000 0 20000 HZ SETLIST AUDIO DOWNSAMPLE DOWNSAMPLE SINC -SETGROUP EMU +GROUP SET EMU SETLIST EMU REGION REGION AUTO SETINT EMU CPU_NTSC 1789772 0 4000000 0 4000000 PRECISE SETINT EMU CPU_PAL 1662607 0 4000000 0 4000000 PRECISE @@ -137,12 +137,12 @@ CHANNELUNSET S5B S5B_E VOL CHANNELUNSET S5B S5B_N PAN CHANNELUNSET S5B S5B_E PAN -SETGROUP WAVEOUT +GROUP SET WAVEOUT SETINT WAVEOUT WAVEOUT_SAMPLERATE 0 -1 4000000 -1 4000000 PRECISE SETLIST WAVEOUT WAVEOUT_BITS WAVEOUT_BITS AUTO SETLIST WAVEOUT WAVEOUT_STEREO ENABLE_AUTO AUTO -SETGROUP ADVANCED +GROUP SET ADVANCED SETINT ADVANCED SAMPLERATE_OVERRIDE 0 -1 4000000 -1 4000000 PRECISE SETLIST ADVANCED SHIFT_JIS ENCODING AUTO SETLIST ADVANCED EXPANSION_FDS ENABLE_AUTO AUTO @@ -154,7 +154,7 @@ SETLIST ADVANCED EXPANSION_5B ENABLE_AUTO AUTO SETLIST ADVANCED EXPANSION_VT02 ENABLE_AUTO AUTO # for testing UI -SETGROUP TEST +GROUP SET TEST SETINT TEST TEST_INT 1 0 100 10 90 INT SETSTR TEST TEST_STR "test" SETLIST TEST TEST_LIST ENABLE ON @@ -171,77 +171,73 @@ SETINT TEST TEST_PRECISE 42 0 1000 0 1000 PRECISE # NSF Properties # -PROPLIST FILE_TYPE FILE_TYPE -PROPINT SONG_COUNT INT -PROPINT SONG_START INT -PROPINT NSF_VERSION INT -PROPINT LOAD_ADDR HEX16 -PROPINT INIT_ADDR HEX16 -PROPINT PLAY_ADDR HEX16 -PROPSTR TITLE -PROPSTR ARTIST -PROPSTR COPYRIGHT -PROPSTR RIPPER -PROPINT SPEED_NTSC INT -PROPINT SPEED_PAL INT -PROPINT SPEED_DENDY INT -PROPBLOB BANKSWITCH -PROPINT REGION_NTSC BOOL -PROPINT REGION_PAL BOOL -PROPINT REGION_DENDY BOOL -PROPLIST REGION_PREFER REGIONLIST -PROPINT EXPANSION_FDS BOOL -PROPINT EXPANSION_MMC5 BOOL -PROPINT EXPANSION_VRC6 BOOL -PROPINT EXPANSION_VRC7 BOOL -PROPINT EXPANSION_N163 BOOL -PROPINT EXPANSION_5B BOOL -PROPINT EXPANSION_VT02 BOOL -PROPINT NSF2 BOOL -PROPINT NSF2_METADATA_OFF HEX32 -PROPINT NSF2_IRQ BOOL -PROPINT NSF2_INIT_NORETURN BOOL -PROPINT NSF2_NOPLAY BOOL -PROPINT NSF2_MANDATORY BOOL -PROPBLOB NSFE_PLAYLIST -PROPBLOB NSF_HEADER -PROPINT PLAYLIST_ACTIVE BOOL +GROUP PROP NSF +PROPLIST NSF FILE_TYPE FILE_TYPE +PROPINT NSF NSF_SONG_COUNT INT +PROPINT NSF NSF_SONG_START INT +PROPINT NSF NSF_VERSION INT +PROPINT NSF LOAD_ADDR HEX16 +PROPINT NSF INIT_ADDR HEX16 +PROPINT NSF PLAY_ADDR HEX16 +PROPSTR NSF TITLE +PROPSTR NSF ARTIST +PROPSTR NSF COPYRIGHT +PROPSTR NSF RIPPER +PROPINT NSF SPEED_NTSC INT +PROPINT NSF SPEED_PAL INT +PROPINT NSF SPEED_DENDY INT +PROPBLOB NSF BANKSWITCH +PROPINT NSF REGION_NTSC BOOL +PROPINT NSF REGION_PAL BOOL +PROPINT NSF REGION_DENDY BOOL +PROPLIST NSF REGION_PREFER REGIONLIST +PROPINT NSF EXPANSION_FDS BOOL +PROPINT NSF EXPANSION_MMC5 BOOL +PROPINT NSF EXPANSION_VRC6 BOOL +PROPINT NSF EXPANSION_VRC7 BOOL +PROPINT NSF EXPANSION_N163 BOOL +PROPINT NSF EXPANSION_5B BOOL +PROPINT NSF EXPANSION_VT02 BOOL +PROPINT NSF NSF2 BOOL +PROPINT NSF NSF2_METADATA_OFF HEX32 +PROPINT NSF NSF2_IRQ BOOL +PROPINT NSF NSF2_INIT_NORETURN BOOL +PROPINT NSF NSF2_NOPLAY BOOL +PROPINT NSF NSF2_MANDATORY BOOL +PROPBLOB NSF NSFE_PLAYLIST +PROPBLOB NSF NSF_HEADER + +GROUP PROP ACTIVE +PROPINT ACTIVE ACTIVE_SONG_COUNT INT +PROPINT ACTIVE ACTIVE_SONG_START INT +PROPINT ACTIVE ACTIVE_PLAYLIST BOOL # TODO blobs for other NSFe properties? # TODO song properties, how many of these have NSFe properties too? +# Expansions active properties? +# +GROUP PROP PTEST # for testing UI -PROPINT TEST_INT INT -PROPINT TEST_LONG LONG -PROPSTR TEST_STR -PROPLINES TEST_LINES -PROPBLOB TEST_BLOB -PROPLIST TEST_LIST ENABLE -PROPINT TEST_HEX8 HEX8 -PROPINT TEST_HEX16 HEX16 -PROPINT TEST_HEX32 HEX32 -PROPLONG TEXT_HEX64 HEX64 -PROPINT TEST_COLOR COLOR -PROPINT TEST_MSEC MSEC -PROPINT TEST_KEY KEY -PROPINT TEST_PRECISE PRECISE +PROPINT PTEST TEST_INT INT +PROPINT PTEST TEST_LONG LONG +PROPSTR PTEST TEST_STR +PROPLINES PTEST TEST_LINES +PROPBLOB PTEST TEST_BLOB +PROPLIST PTEST TEST_LIST ENABLE +PROPINT PTEST TEST_HEX8 HEX8 +PROPINT PTEST TEST_HEX16 HEX16 +PROPINT PTEST TEST_HEX32 HEX32 +PROPLONG PTEST TEXT_HEX64 HEX64 +PROPINT PTEST TEST_COLOR COLOR +PROPINT PTEST TEST_MSEC MSEC +PROPINT PTEST TEST_KEY KEY +PROPINT PTEST TEST_PRECISE PRECISE # # Song Properties # -# for testing UI -SONGPROPINT TEST_INT INT -SONGPROPINT TEST_LONG LONG -SONGPROPSTR TEST_STR -SONGPROPLINES TEST_LINES -SONGPROPBLOB TEST_BLOB -SONGPROPLIST TEST_LIST ENABLE -SONGPROPINT TEST_HEX8 HEX8 -SONGPROPINT TEST_HEX16 HEX16 -SONGPROPINT TEST_HEX32 HEX32 -SONGPROPLONG TEXT_HEX64 HEX64 -SONGPROPINT TEST_COLOR COLOR -SONGPROPINT TEST_MSEC MSEC -SONGPROPINT TEST_KEY KEY -SONGPROPINT TEST_PRECISE PRECISE +GROUP SONGPROP SONG +SONGPROPSTR SONG SONG_TITLE +# TODO diff --git a/include/nsfplaycore.h b/include/nsfplaycore.h index c600d25..9b8310a 100644 --- a/include/nsfplaycore.h +++ b/include/nsfplaycore.h @@ -173,11 +173,20 @@ typedef struct int32_t display; // DISPLAY hint } NSFSetInfo; +// group types: +// SET - settings +// PROP - prop, ignores song parameter +// SONGPROP - prop, uses song parameter +#define NSFP_GROUP_TYPE_INVALD 0 +#define NSFP_GROUP_TYPE_SET 1 +#define NSFP_GROUP_TYPE_PROP 2 +#define NSFP_GROUP_TYPE_SONGPROP 3 typedef struct { const char* key; // not used by ini, but does give a non-localized permanent string key for this group const char* name; // localized name const char* desc; // localized description + int32_t type; } NSFSetGroupInfo; NSFSetInfo nsfplay_set_info(const NSFCore* core, int32_t setenum); @@ -230,7 +239,7 @@ void nsfplay_emu_run(NSFCore* core, uint32_t cycles); uint32_t nsfplay_emu_run_frame(NSFCore* core); // runs until start of next frame, or end of INIT if just started, returns cycles elapsed uint32_t nsfplay_emu_run_instruction(NSFCore* core); // runs to end of current instruction, returns cycles elapsed const char* nsfplay_emu_trace(const NSFCore* core); // trace prints register state and next instruction -void nsfplay_emu_gamepad(const NSFCore* core, int32_t pad, uint32_t report); // send a gamepad report for debugging (LSB is read first), reset to 0 on init +void nsfplay_emu_gamepad(NSFCore* core, int32_t pad, uint32_t report); // send a gamepad report for debugging (LSB is read first), reset to 0 on init uint32_t nsfplay_emu_samples_pending(const NSFCore* core); // number of sound samples due to emu_run that have not been rendered out yet void nsfplay_emu_cancel_pending(NSFCore* core); @@ -257,28 +266,19 @@ typedef struct const char* list; // if not NULL contains (max_list+1) null terminated strings (last string has a double 0 after it) const char* list_keys; // if not NULL contains the list's ID key strings (usable in INI) int32_t max_list; // number of list entries - 1 + int32_t group; int32_t type; // PROP_TYPE int32_t display; // DISPLAY hint } NSFPropInfo; -bool nsfplay_prop_exists(const NSFCore* core, int32_t prop); -bool nsfplay_songprop_exists(const NSFCore* core, int32_t prop, int32_t song=-1); -NSFPropInfo nsfplay_prop_info(const NSFCore* core, int32_t prop); // type will be INVALID if not present -NSFPropInfo nsfplay_songprop_info(const NSFCore* core, int32_t songprop); - -int32_t nsfplay_prop_int(const NSFCore* core, int32_t prop); -int64_t nsfplay_prop_long(const NSFCore* core, int32_t prop); -const char* nsfplay_prop_str(const NSFCore* core, int32_t prop); // NULL if not found or wrong type -int32_t nsfplay_prop_lines(const NSFCore* core, int32_t prop); // returns line count (-1 if not found), prepares for first prop_line +NSFPropInfo nsfplay_prop_info(const NSFCore* core, int32_t prop); +bool nsfplay_prop_exists(const NSFCore* core, int32_t prop, int32_t song=-1); // song<0 = current song +int32_t nsfplay_prop_int(const NSFCore* core, int32_t prop, int32_t song=-1); +int64_t nsfplay_prop_long(const NSFCore* core, int32_t prop, int32_t song=-1); +const char* nsfplay_prop_str(const NSFCore* core, int32_t prop, int32_t song=-1); // NULL if not found or wrong type +int32_t nsfplay_prop_lines(const NSFCore* core, int32_t prop, int32_t song=-1); // returns line count (-1 if not found), prepares for first prop_line const char* nsfplay_prop_line(const NSFCore* core); // returns next line (NULL if no more lines) -const void* nsfplay_prop_blob(const NSFCore* core, uint32_t* blob_size, int32_t prop); // blob_size written if not NULL - -// song -1 will use the current song -int32_t nsfplay_songprop_int(const NSFCore* core, int32_t prop, int32_t song=-1); -int64_t nsfplay_songprop_long(const NSFCore* core, int32_t prop, int32_t song=-1); -const char* nsfplay_songprop_str(const NSFCore* core, int32_t prop, int32_t song=-1); -int32_t nsfplay_songprop_lines(const NSFCore* core, int32_t prop, int32_t song=-1); // prepares nsfplay_prop_line -const void* nsfplay_songprop_blob(const NSFCore* core, uint32_t* blob_size, int32_t prop, int32_t song=-1); +const void* nsfplay_prop_blob(const NSFCore* core, uint32_t* blob_size, int32_t prop, int32_t song=-1); // blob_size written if not NULL // NSFe or NSF2 chunks can be fetched for manual inspection // - fourcc does not need a terminating 0, only the first 4 characters will be used diff --git a/include/nsfplayenums.h b/include/nsfplayenums.h index 48a888d..e17d23f 100644 --- a/include/nsfplayenums.h +++ b/include/nsfplayenums.h @@ -1,6 +1,6 @@ #pragma once // generated by nsfplayenums.py -// 2024-04-24 03:21:36 +// 2024-04-25 01:14:35 #define NSFP_LIST_COUNT 12 #define NSFP_LIST_ENABLE 0 @@ -103,7 +103,7 @@ #define NSFP_UNIT_N163 6 #define NSFP_UNIT_S5B 7 -#define NSFP_GROUP_COUNT 15 +#define NSFP_GROUP_COUNT 19 #define NSFP_GROUP_MAIN 0 #define NSFP_GROUP_PLAY 1 #define NSFP_GROUP_AUDIO 2 @@ -119,6 +119,10 @@ #define NSFP_GROUP_WAVEOUT 12 #define NSFP_GROUP_ADVANCED 13 #define NSFP_GROUP_TEST 14 +#define NSFP_GROUP_NSF 15 +#define NSFP_GROUP_ACTIVE 16 +#define NSFP_GROUP_PTEST 17 +#define NSFP_GROUP_SONG 18 #define NSFP_CHANNEL_COUNT 31 #define NSFP_CHANNEL_APU1_SQU0 0 @@ -353,10 +357,10 @@ #define NSFP_SET_TEST_PRECISE 196 #define NSFP_SETSTR_COUNT 2 -#define NSFP_PROP_COUNT 49 +#define NSFP_PROP_COUNT 52 #define NSFP_PROP_FILE_TYPE 0 -#define NSFP_PROP_SONG_COUNT 1 -#define NSFP_PROP_SONG_START 2 +#define NSFP_PROP_NSF_SONG_COUNT 1 +#define NSFP_PROP_NSF_SONG_START 2 #define NSFP_PROP_NSF_VERSION 3 #define NSFP_PROP_LOAD_ADDR 4 #define NSFP_PROP_INIT_ADDR 5 @@ -388,67 +392,54 @@ #define NSFP_PROP_NSF2_MANDATORY 31 #define NSFP_PROP_NSFE_PLAYLIST 32 #define NSFP_PROP_NSF_HEADER 33 -#define NSFP_PROP_PLAYLIST_ACTIVE 34 -#define NSFP_PROP_TEST_INT 35 -#define NSFP_PROP_TEST_LONG 36 -#define NSFP_PROP_TEST_STR 37 -#define NSFP_PROP_TEST_LINES 38 -#define NSFP_PROP_TEST_BLOB 39 -#define NSFP_PROP_TEST_LIST 40 -#define NSFP_PROP_TEST_HEX8 41 -#define NSFP_PROP_TEST_HEX16 42 -#define NSFP_PROP_TEST_HEX32 43 -#define NSFP_PROP_TEXT_HEX64 44 -#define NSFP_PROP_TEST_COLOR 45 -#define NSFP_PROP_TEST_MSEC 46 -#define NSFP_PROP_TEST_KEY 47 -#define NSFP_PROP_TEST_PRECISE 48 +#define NSFP_PROP_ACTIVE_SONG_COUNT 34 +#define NSFP_PROP_ACTIVE_SONG_START 35 +#define NSFP_PROP_ACTIVE_PLAYLIST 36 +#define NSFP_PROP_TEST_INT 37 +#define NSFP_PROP_TEST_LONG 38 +#define NSFP_PROP_TEST_STR 39 +#define NSFP_PROP_TEST_LINES 40 +#define NSFP_PROP_TEST_BLOB 41 +#define NSFP_PROP_TEST_LIST 42 +#define NSFP_PROP_TEST_HEX8 43 +#define NSFP_PROP_TEST_HEX16 44 +#define NSFP_PROP_TEST_HEX32 45 +#define NSFP_PROP_TEXT_HEX64 46 +#define NSFP_PROP_TEST_COLOR 47 +#define NSFP_PROP_TEST_MSEC 48 +#define NSFP_PROP_TEST_KEY 49 +#define NSFP_PROP_TEST_PRECISE 50 +#define NSFP_PROP_SONG_TITLE 51 -#define NSFP_SONGPROP_COUNT 14 -#define NSFP_SONGPROP_TEST_INT 0 -#define NSFP_SONGPROP_TEST_LONG 1 -#define NSFP_SONGPROP_TEST_STR 2 -#define NSFP_SONGPROP_TEST_LINES 3 -#define NSFP_SONGPROP_TEST_BLOB 4 -#define NSFP_SONGPROP_TEST_LIST 5 -#define NSFP_SONGPROP_TEST_HEX8 6 -#define NSFP_SONGPROP_TEST_HEX16 7 -#define NSFP_SONGPROP_TEST_HEX32 8 -#define NSFP_SONGPROP_TEXT_HEX64 9 -#define NSFP_SONGPROP_TEST_COLOR 10 -#define NSFP_SONGPROP_TEST_MSEC 11 -#define NSFP_SONGPROP_TEST_KEY 12 -#define NSFP_SONGPROP_TEST_PRECISE 13 - -#define NSFP_TEXT_MENU_FILE 574 -#define NSFP_TEXT_MENU_VIEW 575 -#define NSFP_TEXT_MENU_OPTIONS 576 -#define NSFP_TEXT_MENU_ABOUT 577 -#define NSFP_TEXT_MENU_CHANNELS 578 -#define NSFP_TEXT_MENU_MEMORY 579 -#define NSFP_TEXT_MENU_LOG 580 -#define NSFP_TEXT_MENU_KEYBOARD 581 -#define NSFP_TEXT_MENU_DEBUGGER 582 -#define NSFP_TEXT_MENU_OPEN 583 -#define NSFP_TEXT_MENU_INI_LOAD 584 -#define NSFP_TEXT_MENU_INI_SAVE 585 -#define NSFP_ERROR_SET_INVALID 586 -#define NSFP_ERROR_SET_TYPE 587 -#define NSFP_ERROR_SETINT_RANGE 588 -#define NSFP_ERROR_INI_NO_EQUALS 589 -#define NSFP_ERROR_INI_BAD_KEY 590 -#define NSFP_ERROR_INI_BAD_INT 591 -#define NSFP_ERROR_INI_BAD_RANGE 592 -#define NSFP_ERROR_INI_BAD_LIST_KEY 593 -#define NSFP_ERROR_BIN_BAD 594 -#define NSFP_ERROR_NSF_HEAD_BAD 595 -#define NSFP_ERROR_NSF_VERSION_BAD 596 -#define NSFP_ERROR_NSF2_META_BAD 597 -#define NSFP_ERROR_NSF_HEAD_TEXT_BAD 598 -#define NSFP_ERROR_NSFE_CHUNK_BAD 599 -#define NSFP_ERROR_NSFE_MANDATORY 600 -#define NSFP_ERROR_NSFE_NO_MANDATORY 601 -#define NSFP_TEXT_COUNT 602 +#define NSFP_TEXT_MENU_FILE 571 +#define NSFP_TEXT_MENU_VIEW 572 +#define NSFP_TEXT_MENU_OPTIONS 573 +#define NSFP_TEXT_MENU_ABOUT 574 +#define NSFP_TEXT_MENU_CHANNELS 575 +#define NSFP_TEXT_MENU_MEMORY 576 +#define NSFP_TEXT_MENU_LOG 577 +#define NSFP_TEXT_MENU_KEYBOARD 578 +#define NSFP_TEXT_MENU_DEBUGGER 579 +#define NSFP_TEXT_MENU_OPEN 580 +#define NSFP_TEXT_MENU_INI_LOAD 581 +#define NSFP_TEXT_MENU_INI_SAVE 582 +#define NSFP_ERROR_SET_INVALID 583 +#define NSFP_ERROR_SET_TYPE 584 +#define NSFP_ERROR_SETINT_RANGE 585 +#define NSFP_ERROR_INI_NO_EQUALS 586 +#define NSFP_ERROR_INI_BAD_KEY 587 +#define NSFP_ERROR_INI_BAD_INT 588 +#define NSFP_ERROR_INI_BAD_RANGE 589 +#define NSFP_ERROR_INI_BAD_LIST_KEY 590 +#define NSFP_ERROR_BIN_BAD 591 +#define NSFP_ERROR_NSF_HEAD_BAD 592 +#define NSFP_ERROR_NSF_VERSION_BAD 593 +#define NSFP_ERROR_NSF2_META_BAD 594 +#define NSFP_ERROR_NSF_HEAD_TEXT_BAD 595 +#define NSFP_ERROR_NSFE_CHUNK_BAD 596 +#define NSFP_ERROR_NSFE_MANDATORY 597 +#define NSFP_ERROR_NSFE_NO_MANDATORY 598 +#define NSFP_TEXT_COUNT 599 #define NSFP_LOCALE_COUNT 1 #define NSFP_LOCALE_ENGLISH 0