diff options
Diffstat (limited to 'c')
| -rw-r--r-- | c/echo.c | 117 | ||||
| -rw-r--r-- | c/echo.h | 27 | ||||
| -rw-r--r-- | c/echoblob.h | 548 |
3 files changed, 371 insertions, 321 deletions
@@ -98,7 +98,7 @@ void echo_init(const void **list) { // Set up global volume int i; - for (i = 0; i < 12; i++) + for (i = 0; i < 16; i++) z80_ram[0x1FE0+i] = 0; z80_ram[0x1FEC] = 1; z80_ram[0x1FF1] = 1; @@ -120,15 +120,19 @@ void echo_send_command(uint8_t cmd) { Z80_REQUEST(); // Is Echo busy yet? - while (z80_ram[0x1FFF] != 0x00) { - Z80_RELEASE(); - DELAY(); - Z80_REQUEST(); + volatile uint8_t *ptr = &z80_ram[0x1FFC] + if (ptr[3] != 0x00) { + ptr -= 4; + while (ptr[3] != 0x00) { + Z80_RELEASE(); + DELAY(); + Z80_REQUEST(); + } } // Write the command - z80_ram[0x1FFF] = cmd; - + ptr[3] = cmd; + // Done with the Z80 Z80_RELEASE(); } @@ -151,21 +155,25 @@ void echo_send_command_addr(uint8_t cmd, const void *addr) { Z80_REQUEST(); // Is Echo busy yet? - while (z80_ram[0x1FFF] != 0x00) { - Z80_RELEASE(); - DELAY(); - Z80_REQUEST(); + volatile uint8_t *ptr = &z80_ram[0x1FFC] + if (ptr[3] != 0x00) { + ptr -= 4; + while (ptr[3] != 0x00) { + Z80_RELEASE(); + DELAY(); + Z80_REQUEST(); + } } // Write the command - z80_ram[0x1FFF] = cmd; - z80_ram[0x1FFD] = param; + ptr[3] = cmd; + ptr[1] = param; param >>= 8; - z80_ram[0x1FFE] = param | 0x80; + ptr[2] = param | 0x80; param >>= 7; param = (param & 0x7F) | (param >> 1 & 0x80); - z80_ram[0x1FFC] = param; - + ptr[0] = param; + // Done with the Z80 Z80_RELEASE(); } @@ -183,17 +191,20 @@ void echo_send_command_byte(uint8_t cmd, uint8_t byte) { Z80_REQUEST(); // Is Echo busy yet? - while (z80_ram[0x1FFF] != 0x00) { - Z80_RELEASE(); - int16_t i; - for (i = 0x3FF; i >= 0; i--); - Z80_REQUEST(); + volatile uint8_t *ptr = &z80_ram[0x1FFC] + if (ptr[3] != 0x00) { + ptr -= 4; + while (ptr[3] != 0x00) { + Z80_RELEASE(); + DELAY(); + Z80_REQUEST(); + } } // Write the command - z80_ram[0x1FFF] = cmd; - z80_ram[0x1FFC] = byte; - + ptr[3] = cmd; + ptr[0] = byte; + // Done with the Z80 Z80_RELEASE(); } @@ -219,15 +230,22 @@ void echo_stop_bgm(void) { } //*************************************************************************** +// echo_pause_bgm +// Pauses background music playback. +//*************************************************************************** + +void echo_pause_bgm(void) { + echo_send_command(ECHO_CMD_PAUSEBGM); +} + +//*************************************************************************** // echo_resume_bgm // Resumes background music playback. //*************************************************************************** -/* void echo_resume_bgm(void) { echo_send_command(ECHO_CMD_RESUMEBGM); } -*/ //*************************************************************************** // echo_play_sfx @@ -328,7 +346,7 @@ void echo_set_volume_ex(const uint8_t *ptr) { // Store the new volume values int i; - for (i = 0; i < 13; i++) + for (i = 0; i < 16; i++) z80_ram[0x1FE0+i] = ptr[i]; // Tell Echo to update all the volumes @@ -363,7 +381,7 @@ uint16_t echo_get_status(void) { // Retrieve status from Z80 RAM uint16_t status = 0; status = z80_ram[0x1FF0]; - if (z80_ram[0x1FFF] != 0) + if (z80_ram[0x1FFB] != 0) status |= ECHO_STAT_BUSY; if (z80_ram[0x1F00] != 0xFF) status |= ECHO_STAT_DIRBUSY; @@ -374,3 +392,46 @@ uint16_t echo_get_status(void) { // Return status return status; } + +//*************************************************************************** +// echo_get_flags +// Gets the current values of the flags. +//--------------------------------------------------------------------------- +// return: bitmask with flags +//*************************************************************************** + +uint8_t echo_get_flags(void) +{ + Z80_REQUEST(); + uint8_t flags = z80_ram[0x1FF2]; + Z88_RELEASE(); + return flags; +} + +//*************************************************************************** +// echo_set_flags +// Sets flags from the 68000. +//--------------------------------------------------------------------------- +// param flags: bitmask of flags to be set (1 = set, 0 = intact) +//*************************************************************************** + +void echo_set_flags(uint8_t flags) +{ + Z80_REQUEST(); + z80_ram[0x1FF2] |= flags; + Z80_RELEASE(); +} + +//*************************************************************************** +// echo_clear_flags +// Clears flags from the 68000. +//--------------------------------------------------------------------------- +// param flags: bitmask of flags to be cleared (1 = clear, 0 = intact) +//*************************************************************************** + +void echo_clear_flags(uint8_t flags) +{ + Z80_REQUEST(); + z80_ram[0x1FF2] &= ~flags; + Z80_RELEASE(); +} @@ -14,6 +14,7 @@ enum { ECHO_CMD_STOPBGM, /* 0x05 - Stop BGM playback */ ECHO_CMD_RESUMEBGM, /* 0x06 - Resume BGM playback */ ECHO_CMD_SETPCMRATE, /* 0x07 - Set PCM rate */ + ECHO_CMD_PAUSEBGM, /* 0x08 - Pause BGM playback */ }; /* Echo status flags */ @@ -23,20 +24,24 @@ enum { #define ECHO_STAT_BUSY 0x8000 /* Echo still didn't parse command */ /* Function prototypes */ -void echo_init(const void **); -void echo_play_bgm(const void *); +void echo_init(const void **list); +void echo_play_bgm(const void *esf); void echo_stop_bgm(void); -/*void echo_resume_bgm(void);*/ -void echo_play_sfx(const void *); +void echo_pause_bgm(void); +void echo_resume_bgm(void); +void echo_play_sfx(const void *esf); void echo_stop_sfx(void); -void echo_play_direct(const void *); -void echo_set_volume(uint8_t); -void echo_set_volume_ex(const uint8_t *); -void echo_set_pcm_rate(uint8_t); +void echo_play_direct(const void *esf); +void echo_set_volume(uint8_t vol); +void echo_set_volume_ex(const uint8_t *vol_list); +void echo_set_pcm_rate(uint8_t rate); uint16_t echo_get_status(void); -void echo_send_command(uint8_t); -void echo_send_command_addr(uint8_t, const void *); -void echo_send_command_byte(uint8_t, uint8_t); +uint8_t echo_get_flags(void); +void echo_set_flags(uint8_t flags); +void echo_clear_flags(uint8_t flags); +void echo_send_command(uint8_t cmd); +void echo_send_command_addr(uint8_t cmd, const void *addr); +void echo_send_command_byte(uint8_t cmd, uint8_t byte); /* Deprecated functions */ static void (* const echo_send_command_ex)(uint8_t, const void *) = diff --git a/c/echoblob.h b/c/echoblob.h index 827cc5b..e4c8d4d 100644 --- a/c/echoblob.h +++ b/c/echoblob.h @@ -1,285 +1,269 @@ static uint8_t echo_blob[] = { - 49,224, 31,175, 50,240, 31, 33, 17,127, 54,159, 54,191, 54,223, - 54,255,175, 50, 0, 19, 50, 16, 19, 50, 32, 19, 50, 48, 19, 33, - 0, 96,117,117,117,117,117,117,117,117,117,221, 33, 0, 64,253, - 38, 64,217, 6, 0,217,221, 54, 0, 43,221, 54, 1, 0, 30,127, - 62, 64, 6, 4,221,119, 0,221,115, 1,221,119, 2,221,115, 3, - 60,221,119, 0,221,115, 1,221,119, 2,221,115, 3, 60,221,119, - 0,221,115, 1,221,119, 2,221,115, 3, 60, 60, 16,214,221, 54, - 0,180,221, 54, 1,192,221, 54, 0,181,221, 54, 1,192,221, 54, - 0,182,221, 54, 1,192,221, 54, 2,180,221, 54, 3,192,221, 54, - 2,181,221, 54, 3,192,221, 54, 2,182,221, 54, 3,192,221, 54, - 0, 36,221, 54, 1,254,221, 54, 0, 37,221, 54, 1, 3,221, 54, - 0, 38,221, 54, 1,201,221, 54, 0, 39,221, 54, 1, 63,195,239, - 0, 61,202, 83, 1, 61,202,109, 5, 61,202,156, 6, 61,202, 21, - 3, 61,202,159, 4, 61,202,102, 3, 61,202,243, 2, 58, 0, 64, - 15,220, 34, 2,175, 50,255, 31, 58, 0, 64, 15,220, 34, 2, 58, - 255, 31,183, 32,204, 58, 0, 64, 15,220, 34, 2, 58, 0, 64,203, - 79, 32, 8,203, 71,196, 34, 2,195,239, 0, 58, 0, 64, 15,220, - 34, 2,221, 54, 0, 39,221, 54, 1, 47, 58, 0, 64, 15,220, 34, - 2, 58,241, 31,183,196,227, 16,195, 43, 1, 58, 0, 64, 15,220, - 34, 2,205, 84, 7, 58, 0, 64, 15,220, 34, 2,195, 63, 1, 58, - 0, 64, 15,220, 34, 2,195, 4, 13, 58, 0, 64, 15,220, 34, 2, - 195,239, 0, 33,252, 31, 78, 44, 94, 44, 86,235,175, 50,255, 31, - 17, 0, 28,205,129, 1,120,183,202,126, 1, 18, 20,205,129, 1, - 120, 18, 20,205,129, 1,120, 18, 21, 21, 28,195, 99, 1,195,239, - 0, 58,152, 19,185,202,161, 1,121, 50,152, 19,229, 33, 0, 96, - 119, 15,119, 15,119, 15,119, 15,119, 15,119, 15,119,116, 15,119, - 225, 70, 44,194,173, 1, 36,194,173, 1, 38,128, 12,201,205,200, - 1,195,230, 5, 58, 0, 64, 15,220, 34, 2, 58,142, 19,183,194, - 132, 4,205,200, 1,195,195, 3, 58,236, 31,183,200,205,129, 1, - 120,217, 38, 28,111, 86, 36, 94, 36, 78, 33, 0, 96,121, 50,152, - 19,119, 15,119, 15,119, 15,119, 15,119, 15,119, 15,119,116, 15, - 119, 38, 19,123,246,240,111, 69, 26,119, 28, 44,194,248, 1,104, - 123,183,194, 12, 2, 20,194, 12, 2, 22,128, 12,217,175, 50, 34, - 2,221, 54, 0, 43,221, 54, 1,128,221, 54, 0, 42,221, 54, 1, - 128,201,201,217,221, 54, 0, 39,221, 54, 1, 31,126, 60, 40, 12, - 221, 54, 0, 42,221,119, 1, 44, 40, 22,217,201, 6, 0,221, 54, - 0, 42,221, 54, 1,128,221, 54, 0, 43,221, 54, 1, 0,217,201, - 58,152, 19,185,202,110, 2,121, 50,152, 19, 33, 0, 96,119, 15, - 119, 15,119, 15,119, 15,119, 15,119, 15,119,116, 15,119, 33,240, - 19, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, - 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, - 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, - 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, - 28,194,187, 2, 20,194,187, 2, 22,128, 12, 46,240,195, 36, 2, - 205,218, 2,195,230, 5, 58, 0, 64, 15,220, 34, 2, 58,142, 19, - 183,194,195, 3,205,218, 2,195,195, 3, 62,201, 50, 34, 2,221, - 54, 0, 43,221, 54, 1, 0,201, 62, 1, 50,142, 19,205,218, 2, - 195,230, 5, 58,252, 31, 47, 71,175, 50,255, 31,120,221, 54, 0, - 36, 15, 15,246,192,221,119, 1,120,221, 54, 0, 37,230, 3,221, - 119, 1,195,239, 0, 58, 0, 64, 15,220, 34, 2,205,205, 4, 58, - 0, 64, 15,220, 34, 2, 58,240, 31,246, 2, 50,240, 31, 58, 0, - 64, 15,220, 34, 2, 33,252, 31, 78, 44, 94, 44, 86, 58, 0, 64, - 15,220, 34, 2,175, 50,255, 31, 33,153, 19, 54, 1, 44, 54, 1, - 44,113, 44,115, 44,114, 58, 0, 64, 15,220, 34, 2, 33,162, 3, - 34, 61, 1,195,239, 0,175, 50,255, 31, 6, 8, 17,143, 19, 58, - 0, 64, 15,220, 34, 2, 26,183,194,135, 3, 58, 0, 64, 15,220, - 34, 2, 5,205,205, 12, 4, 29, 5,194,111, 3, 58,240, 31,246, - 2, 50,240, 31, 33,153, 19, 54, 1, 33,162, 3, 34, 61, 1,195, - 239, 0, 58, 0, 64, 15,220, 34, 2, 33,154, 19,126, 61,202,181, - 3,119,195, 63, 1, 58, 0, 64, 15,220, 34, 2, 44, 78, 44, 94, - 44, 86,235, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, - 15,220, 34, 2,120,254, 8,218,130, 7,254, 11,218,194, 13,202, - 70, 14,254, 12,202,180, 1, 58, 0, 64, 15,220, 34, 2,120,254, - 24,218, 35, 8,254, 28,218,162, 14,202,198, 2, 58, 0, 64, 15, - 220, 34, 2,120,254,254,202,168, 16,254,255,202,153, 4,254,252, - 202, 67, 5,254,253,202, 88, 5, 58, 0, 64, 15,220, 34, 2,120, - 254, 40,218, 14, 10,254, 44,218,255, 14, 58, 0, 64, 15,220, 34, - 2,120,254, 56,218, 81, 8,254, 59,218, 19, 16,202,109, 16, 58, - 0, 64, 15,220, 34, 2,120,254, 72,218,208, 8,254, 76,218,150, - 15, 58, 0, 64, 15,220, 34, 2,120,254,224,218,184, 16,254,248, - 218,135, 11,254,250,218,226, 11, 58, 0, 64, 15,220, 34, 2,195, - 153, 4, 58, 0, 64, 15,220, 34, 2, 44,194,132, 4, 36,194,132, - 4, 38,128, 12, 58, 0, 64, 15,220, 34, 2, 44,194,150, 4, 36, - 194,150, 4, 38,128, 12,195,195, 3,205,169, 4,195, 63, 1,175, - 50,255, 31,205,169, 4,195,239, 0, 58,240, 31,230,253, 50,240, - 31, 58, 0, 64, 15,220, 34, 2,205,205, 4, 58, 0, 64, 15,220, - 34, 2,175, 50,153, 19, 33, 63, 1, 34, 61, 1,201, 58,142, 19, - 183,204,218, 2, 6, 4, 17, 63, 19, 33,147, 19, 58, 0, 64, 15, - 220, 34, 2, 54, 0,123,214, 15, 95,126,183, 32, 2,175, 18, 58, - 0, 64, 15,220, 34, 2, 29, 45, 16,226, 6, 8, 17, 79, 19, 58, - 0, 64, 15,220, 34, 2, 62,127, 18, 29, 58, 0, 64, 15,220, 34, - 2,126,183,194, 52, 5, 5,120,205, 68, 12, 58, 0, 64, 15,220, - 34, 2,120,230, 4,253,111,120,230, 3,198,180,253,119, 0,253, - 54, 1,192, 4, 45, 16,200, 33, 80, 19, 62,192, 6, 8,119, 44, - 16,252,201, 58, 0, 64, 15,220, 34, 2,235, 44, 78, 44, 94, 44, - 86, 45, 45, 45,235,195,195, 3, 58, 0, 64, 15,220, 34, 2,235, - 44,113, 44,115, 44,114, 45, 45, 45,235,195,195, 3, 58, 0, 64, - 15,220, 34, 2,205,216, 6, 58, 0, 64, 15,220, 34, 2, 58,240, - 31,246, 1, 50,240, 31, 58, 0, 64, 15,220, 34, 2, 33,252, 31, - 78, 44, 94, 44, 86, 58, 0, 64, 15,220, 34, 2,175, 50,255, 31, - 33,161, 19, 54, 1, 44, 54, 1, 44,113, 44,115, 44,114, 58, 0, - 64, 15,220, 34, 2, 33,197, 5, 34, 41, 1, 58, 0, 64, 15,220, - 34, 2,195,239, 0, 58, 0, 64, 15,220, 34, 2, 33,162, 19,126, - 61,202,216, 5,119,195, 43, 1, 58, 0, 64, 15,220, 34, 2, 44, - 78, 44, 94, 44, 86,235, 58, 0, 64, 15,220, 34, 2,205,129, 1, - 58, 0, 64, 15,220, 34, 2,120,254, 8,218,124, 7,254, 11,218, - 188, 13,202, 64, 14,254, 12,202,174, 1, 58, 0, 64, 15,220, 34, - 2,120,254, 24,218, 29, 8,254, 28,218,156, 14,202,192, 2, 58, - 0, 64, 15,220, 34, 2,120,254,254,202,162, 16,254,255,202,150, - 6, 58, 0, 64, 15,220, 34, 2,120,254, 40,218, 8, 10,254, 44, - 218,217, 14, 58, 0, 64, 15,220, 34, 2,120,254, 56,218, 75, 8, - 254, 59,218, 13, 16,202,103, 16, 58, 0, 64, 15,220, 34, 2,120, - 254, 72,218,202, 8,254, 76,218, 80, 15, 58, 0, 64, 15,220, 34, - 2,120,254,224,218,174, 16,254,232,218, 18, 12,254,236,218,122, - 16,202,232, 2, 58, 0, 64, 15,220, 34, 2,120,254,248,218, 88, - 11,254,250,218,220, 11,205,166, 6,195, 43, 1,175, 50,255, 31, - 205,166, 6,195,239, 0, 58, 0, 64, 15,220, 34, 2, 58,240, 31, - 230,254, 50,240, 31, 58, 0, 64, 15,220, 34, 2,175, 50,161, 19, - 33, 43, 1, 34, 41, 1, 58, 0, 64, 15,220, 34, 2,205,216, 6, - 58, 0, 64, 15,220, 34, 2,201, 58,142, 19,183,196,218, 2, 6, - 4, 17,147, 19, 58, 0, 64, 15,220, 34, 2, 26,183, 40, 64,175, - 18, 58, 0, 64, 15,220, 34, 2,120, 15, 15, 15, 15, 61, 38, 19, - 111, 78,214, 15,111,113, 58, 0, 64, 15,220, 34, 2,213,125,198, - 8,111,198, 4, 95, 84, 58, 0, 64, 15,220, 34, 2, 26,119, 44, - 28, 26,119, 44, 28, 26,119,209, 58, 0, 64, 15,220, 34, 2, 29, - 16,178, 6, 8, 58, 0, 64, 15,220, 34, 2, 26,183,202, 78, 7, - 175, 18, 58, 0, 64, 15,220, 34, 2, 5,205,205, 12, 4, 29, 5, - 194, 52, 7,201, 58, 0, 31, 60,200, 58, 0, 64, 15,220, 34, 2, - 33,112, 7, 34, 12, 4, 33, 0, 31, 58,152, 19, 79,195,195, 3, - 33,153, 4, 34, 12, 4, 62,255, 50, 0, 31,201,205,160, 7,195, - 230, 5, 71, 58, 0, 64, 15,220, 34, 2,229,120,230, 7, 33,136, - 19,133,111,126,225,183,194,132, 4,120,205,160, 7,195,195, 3, - 230, 7,221, 54, 0, 40,221,119, 1, 71, 8, 58, 0, 64, 15,220, - 34, 2,120,230, 4, 15,253,111, 58, 0, 64, 15,220, 34, 2,205, - 129, 1, 58, 0, 64, 15,220, 34, 2, 8,213,229, 87,230, 3,198, - 164, 95, 58, 0, 64, 15,220, 34, 2, 38, 18,120,230, 31,198,144, - 111, 58, 0, 64, 15,220, 34, 2,120,230,224, 15, 15, 71,126,176, - 253,115, 0,253,119, 1, 58, 0, 64, 15,220, 34, 2,123,214, 4, - 95, 45,126,253,115, 0,253,119, 1, 58, 0, 64, 15,220, 34, 2, - 122,246,240,221, 54, 0, 40,221,119, 1,225,209,201,205, 65, 8, - 195,230, 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 7, 33, - 136, 19,133,111,126,225,183,194,195, 3,120,205, 65, 8,195,195, - 3,230, 7,221, 54, 0, 40,221,119, 1,201,205,111, 8,195,230, - 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 7, 33,136, 19, - 133,111,126,225,183,194,114, 4,120,205,111, 8,195,195, 3,245, - 71, 58, 0, 64, 15,220, 34, 2,120,230, 4, 15,253,111, 58, 0, - 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15,220, 34, 2,241, - 213,230, 7, 87,230, 3,198,164, 95, 58, 0, 64, 15,220, 34, 2, - 253,115, 0,253,112, 1, 58, 0, 64, 15,220, 34, 2,205,129, 1, - 58, 0, 64, 15,220, 34, 2,123,214, 4, 95,253,115, 0,253,112, - 1, 58, 0, 64, 15,220, 34, 2,209,201,205, 50, 9,195,230, 5, - 230, 7, 71, 58, 0, 64, 15,220, 34, 2,213,197,120, 17, 64, 19, - 131, 95, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15, - 220, 34, 2,120, 18,123,198, 8, 95,175, 18, 89,193, 75,209, 58, - 0, 64, 15,220, 34, 2,229,120, 38, 19,198,136,111,126,225,183, - 194,195, 3, 58, 0, 64, 15,220, 34, 2,120,229, 33, 64, 19,133, - 111, 70,225, 8, 58, 0, 64, 15,220, 34, 2, 8,205, 71, 9,195, - 195, 3,230, 7, 8, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, - 0, 64, 15,220, 34, 2, 8,245,230, 4, 15,253,111, 58, 0, 64, - 15,220, 34, 2,241,197,213,229, 38, 28,104, 86, 36, 94, 36, 78, - 235,245, 58, 0, 64, 15,220, 34, 2, 6, 7, 17,166, 19,120, 8, - 205,129, 1,235,112,235, 28,205,129, 1,235,112,235, 28,205,129, - 1,235,112,235, 28,205,129, 1,235,112,235, 28, 8, 71, 16,222, - 205,129, 1,235,112,235, 58, 0, 64, 15,220, 34, 2,241, 71,205, - 68, 12,120, 17, 96, 19,230, 7,131, 95,245,230, 3,198,176, 33, - 166, 19, 8, 58, 0, 64, 15,220, 34, 2, 8,253,119, 0, 70, 44, - 253,112, 1, 8,120, 18,123,198, 8, 95, 58, 0, 64, 15,220, 34, - 2, 8,214,128, 6, 28,253,119, 0, 78,253,113, 1,198, 4, 44, - 16,244, 58, 0, 64, 15,220, 34, 2,125,214, 24,111, 6, 4,126, - 18,123,198, 8, 95, 44, 16,247, 58, 0, 64, 15,220, 34, 2,241, - 225,209,193, 6, 0,195,126, 10,205,107, 10,195,230, 5,230, 7, - 71, 58, 0, 64, 15,220, 34, 2,213,197,120, 22, 19,198, 72, 95, - 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15,220, 34, - 2,235,112,235, 89,193, 75,209, 58, 0, 64, 15,220, 34, 2,229, - 120, 33,136, 19,133,111,126,225,183,194,195, 3, 58, 0, 64, 15, - 220, 34, 2,120,229, 33, 72, 19,133,111, 70,225,245, 58, 0, 64, - 15,220, 34, 2,241,205,126, 10,195,195, 3,245, 58, 0, 64, 15, - 220, 34, 2,205,129, 1, 58, 0, 64, 15,220, 34, 2,241,197,213, - 229,230, 7,245, 38, 19,198, 88,111,112,241,245, 38, 19,198, 96, - 111, 8, 58, 0, 64, 15,220, 34, 2, 8,230, 7,246,224, 22, 31, - 95, 8, 26, 87, 58, 0, 64, 15,220, 34, 2, 8,230, 4, 15,253, - 111, 58, 0, 64, 15,220, 34, 2,241,230, 3,198, 64, 79,126,230, - 7, 95, 58, 0, 64, 15,220, 34, 2,125,198, 8,111,123,254, 7, - 56, 17,253,113, 0,126,130,250,222, 10,128,242,224, 10, 62,127, - 253,119, 1,121,198, 4, 79, 58, 0, 64, 15,220, 34, 2,125,198, - 8,111,123,254, 5, 56, 17,253,113, 0,126,130,250, 3, 11,128, - 242, 5, 11, 62,127,253,119, 1,121,198, 4, 79, 58, 0, 64, 15, - 220, 34, 2,125,198, 8,111,123,254, 4, 56, 17,253,113, 0,126, - 130,250, 40, 11,128,242, 42, 11, 62,127,253,119, 1,121,198, 4, - 79, 58, 0, 64, 15,220, 34, 2,125,198, 8,111,253,113, 0,126, - 130,250, 72, 11,128,242, 74, 11, 62,127,253,119, 1, 58, 0, 64, - 15,220, 34, 2,225,209,193,201, 71, 58, 0, 64, 15,220, 34, 2, - 120,230, 4, 15,253,111,120, 8, 58, 0, 64, 15,220, 34, 2,205, - 129, 1, 58, 0, 64, 15,220, 34, 2, 8,230, 3,198,180,253,119, - 0,253,112, 1,195,230, 5, 71, 58, 0, 64, 15,220, 34, 2,120, - 230, 4, 15,253,111,120, 8, 58, 0, 64, 15,220, 34, 2,205,129, - 1, 58, 0, 64, 15,220, 34, 2, 8,229,230, 7, 38, 19,198, 80, - 111,112, 8, 58, 0, 64, 15,220, 34, 2, 8,230, 7,198,136,111, - 8,126,183,225,194,195, 3, 58, 0, 64, 15,220, 34, 2, 8,230, - 3,198,180,253,119, 0,253,112, 1,195,195, 3,205,232, 11,195, - 230, 5,205,232, 11,195,195, 3,230, 1,135,253,111, 58, 0, 64, - 15,220, 34, 2,205,129, 1,197, 58, 0, 64, 15,220, 34, 2,205, - 129, 1, 58, 0, 64, 15,220, 34, 2,120,193,253,112, 0,253,119, - 1,201,230, 7, 71, 58, 0, 64, 15,220, 34, 2,229, 38, 19,120, - 198,136,111, 54, 1,225, 58, 0, 64, 15,220, 34, 2,120,230, 4, - 15,253,111,120,230, 3,135,135,198,180,253,119, 0,253, 54, 1, - 192,195,230, 5,230, 7,245,213,229, 79,230, 4, 15,253,111,121, - 230, 3,198, 64, 14, 6, 33,181, 18, 8, 58, 0, 64, 15,220, 34, - 2, 8, 94,253,119, 0,253,115, 1,198, 4, 8, 58, 0, 64, 15, - 220, 34, 2, 8,253,119, 0,253,115, 1,198, 4, 8, 58, 0, 64, - 15,220, 34, 2, 8,253,119, 0,253,115, 1,198, 4, 8, 58, 0, - 64, 15,220, 34, 2, 8,253,119, 0,253,115, 1,198, 4, 44, 13, - 194, 89, 12,225,209, 58, 0, 64, 15,220, 34, 2,241, 79,246,240, - 221, 54, 0, 40,221,113, 1,221, 54, 0, 40,221,119, 1,221, 54, - 0, 40,221,113, 1, 58, 0, 64, 15,220, 34, 2,201,120, 38, 19, - 198, 64,111,197,120, 70,205, 71, 9,193, 58, 0, 64, 15,220, 34, - 2,197,125,198, 8,111,120, 70,205,126, 10,193,125,198, 8,111, - 120,230, 3,198,180,253,119, 0,126,253,119, 1, 58, 0, 64, 15, - 220, 34, 2,201, 33, 48, 19, 6, 3,197,126,203,127, 32, 6, 6, - 15, 44,195,107, 13,230,127, 71, 44,126,128, 71, 58, 0, 64, 15, - 220, 34, 2,197, 44, 78, 44, 94, 44, 86,235, 58, 0, 64, 15,220, - 34, 2,205,129, 1, 58, 0, 64, 15,220, 34, 2,120,254,254,202, - 146, 13,254,255,202,167, 13,253,104, 58, 0, 64, 15,220, 34, 2, - 235,114, 45,115, 45,113, 45,193, 58, 0, 64, 15,220, 34, 2,253, - 125,230, 15,128, 71,254, 16, 56, 2, 6, 15, 58, 0, 64, 15,220, - 34, 2,120, 7, 7, 7,193,176, 15, 15, 15,246,144, 50, 17,127, - 125,214, 17,111, 58, 0, 64, 15,220, 34, 2, 5,242, 9, 13,195, - 73, 1, 58, 0, 64, 15,220, 34, 2, 28,235,113, 44,115, 44,114, - 235, 29, 29, 29,195, 43, 13, 58, 0, 64, 15,220, 34, 2, 28,235, - 78, 44, 94, 44, 86,235, 29, 29, 29,195, 43, 13,205,224, 13,195, - 230, 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 3, 33,144, - 19,133,111,126,225,183,194,132, 4,120,205,224, 13,195,195, 3, - 230, 3, 71, 8, 58, 0, 64, 15,220, 34, 2,229, 38, 19,120, 15, - 15, 15, 15,111,126,246,128,119, 58, 0, 64, 15,220, 34, 2,213, - 44, 44, 84,125,198, 6, 95, 58, 0, 64, 15,220, 34, 2, 26,119, - 44, 28, 26,119, 44, 28, 26,119,209,225, 58, 0, 64, 15,220, 34, - 2,205,129, 1, 58, 0, 64, 15,220, 34, 2, 8,229,213, 38, 18, - 104, 17, 17,127, 15, 15, 15, 70,176, 18, 44,126, 18,209,225,201, - 205, 83, 14,195,230, 5, 58,147, 19,183,194,132, 4,205, 83, 14, - 195,195, 3, 58, 0, 64, 15,220, 34, 2,229, 33, 48, 19,126,246, - 128,119, 58, 0, 64, 15,220, 34, 2,213, 44, 44, 84,125,198, 6, - 95, 58, 0, 64, 15,220, 34, 2, 26,119, 44, 28, 26,119, 44, 28, - 26,119,209,225, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, - 64, 15,220, 34, 2, 62,224,176, 50, 17,127,201,205,192, 14,195, - 230, 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 3, 33,144, - 19,133,111,126,225,183,194,195, 3,120,205,192, 14,195,195, 3, - 230, 3, 71, 58, 0, 64, 15,220, 34, 2,229, 38, 19,120, 15, 15, - 15, 15,111,126,230,127,119,225,201,230, 3, 8, 58, 0, 64, 15, - 220, 34, 2,205,129, 1, 58, 0, 64, 15,220, 34, 2, 8,229, 38, - 19, 15, 15, 15, 15,111,126,230,128,176,119,225,195,230, 5,230, - 3, 8, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15, - 220, 34, 2, 8,213,229,245, 17,144, 19,131, 95, 26, 95, 58, 0, - 64, 15,220, 34, 2,241, 38, 19, 15, 15, 15, 15,198, 15,111,112, - 58, 0, 64, 15,220, 34, 2,123,183, 32, 16,125,214, 15,111,126, - 230,128,176,119, 58, 0, 64, 15,220, 34, 2,225,209,195,195, 3, - 230, 3, 8, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, - 15,220, 34, 2, 8,213,229, 22, 28, 88, 38, 19, 15, 15, 15, 15, - 198, 10,111, 58, 0, 64, 15,220, 34, 2, 26,119, 20, 45, 26,119, - 20, 45, 26,119, 58, 0, 64, 15,220, 34, 2,125,214, 8,111, 54, - 0,225,209,195,230, 5,230, 3, 8, 58, 0, 64, 15,220, 34, 2, - 205,129, 1, 58, 0, 64, 15,220, 34, 2, 8,213,229, 22, 28, 88, - 33,144, 19,245,133,111,241, 70, 38, 19, 15, 15, 15, 15,198, 15, - 111, 58, 0, 64, 15,220, 34, 2,119, 45, 26,119, 20, 45, 26,119, - 20, 45, 26,119, 58, 0, 64, 15,220, 34, 2,120,183,202,229, 15, - 225,209,195,195, 3, 58, 0, 64, 15,220, 34, 2, 84,125,214, 4, - 95,126, 18, 44, 28,126, 18, 44, 28,126, 18, 58, 0, 64, 15,220, - 34, 2,125,214, 8,111, 54, 0,225,209,195,195, 3,205, 49, 16, - 195,230, 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 15, 38, - 19,198,136,111,126,225,183,194,114, 4,120,205, 49, 16,195,195, - 3,230, 3, 8, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, - 64, 15,220, 34, 2, 8,213, 17, 17,127, 15, 15, 15,176,246,128, - 18, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15,220, - 34, 2,235,112,235,209,201,205,132, 14,195,230, 5, 58,147, 19, - 183,194,132, 4,205,132, 14,195,195, 3,230, 3, 71, 58, 0, 64, - 15,220, 34, 2,229, 38, 19,120,198,144,111, 54, 1, 58, 0, 64, - 15,220, 34, 2,120, 15, 15, 15, 15,111, 38, 19, 54, 0,225,195, - 230, 5,205,194, 16,195, 43, 1,205,194, 16,195, 63, 1,230, 15, - 60, 71,205,211, 16,195, 43, 1,230, 15, 60, 71,205,211, 16,195, - 63, 1, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15, - 220, 34, 2,235,114, 45,115, 45,113, 58, 0, 64, 15,220, 34, 2, - 45,112,201, 33,240, 31, 17, 88, 19, 14, 8, 26, 70,128,242,243, - 16, 62,127, 71,125,205,126, 10, 44, 28, 13, 32,238, 33,232, 31, - 17, 1, 19, 1, 16, 4,126, 18, 44,123,129, 95, 58, 0, 64, 15, - 220, 34, 2, 16,241,175, 50,241, 31,201,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 195,104, 1, 0, 0, 0, 0, 0,201,217,221, 54, 0, 39,221, 54, + 1, 31,126, 60, 40, 12,221, 54, 0, 42,221,119, 1, 44, 40, 25, + 217,201, 62,201, 50, 8, 0,221, 54, 0, 42,221, 54, 1,128,221, + 54, 0, 43,221, 54, 1, 0,217,201, 58,152, 18,185,202, 87, 0, + 121, 50,152, 18, 33, 0, 96,119, 15,119, 15,119, 15,119, 15,119, + 15,119, 15,119,116, 15,119, 33,240, 18, 26,119, 44, 28, 26,119, + 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, + 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, + 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, + 44, 28, 26,119, 44, 28, 26,119, 44, 28,194,164, 0, 20,194,164, + 0, 22,128, 12, 46,240,195, 10, 0,205,193, 0,195,238, 5, 58, + 0, 64, 15,207, 58,142, 18,183,194,188, 4,205,193, 0,195, 7, + 4, 58,236, 31,183,200,205,234, 2,120,217, 38, 28,111, 86, 36, + 94, 36, 78, 33, 0, 96,121, 50,152, 18,119, 15,119, 15,119, 15, + 119, 15,119, 15,119, 15,119,116, 15,119, 38, 18,123,246,240,111, + 69, 26,119, 28, 44,194,241, 0,104,123,183,194, 5, 1, 20,194, + 5, 1, 22,128, 12,217, 62,208, 50, 8, 0,221, 54, 0, 43,221, + 54, 1,128,221, 54, 0, 42,221, 54, 1,128,201,205, 52, 1,195, + 238, 5, 58, 0, 64, 15,207, 58,142, 18,183,194, 7, 4,205, 52, + 1,195, 7, 4, 62,201, 50, 8, 0,221, 54, 0, 43,221, 54, 1, + 0,201, 62, 1, 50,142, 18,205, 52, 1,195,238, 5, 58,252, 31, + 47, 71, 33, 0, 64, 54, 36, 15, 15,246,192, 44,119,120, 45, 54, + 37,230, 3, 44,119,195, 81, 2,175, 50,240, 31, 50,251, 31, 49, + 224, 31, 33, 17,127, 54,159, 54,191, 54,223, 54,255,175, 50, 0, + 18, 50, 16, 18, 50, 32, 18, 50, 48, 18, 33, 0, 96,117,117,117, + 117,117,117,117,117,117,221, 33, 0, 64,253, 38, 64,217, 6, 0, + 217,221, 54, 0, 43,221, 54, 1, 0, 30,127, 62, 64, 6, 4,221, + 119, 0,221,115, 1,221,119, 2,221,115, 3, 60,221,119, 0,221, + 115, 1,221,119, 2,221,115, 3, 60,221,119, 0,221,115, 1,221, + 119, 2,221,115, 3, 60, 60, 16,214,221, 54, 0,180,221, 54, 1, + 192,221, 54, 0,181,221, 54, 1,192,221, 54, 0,182,221, 54, 1, + 192,221, 54, 2,180,221, 54, 3,192,221, 54, 2,181,221, 54, 3, + 192,221, 54, 2,182,221, 54, 3,192,221, 54, 0, 36,221, 54, 1, + 254,221, 54, 0, 37,221, 54, 1, 3,221, 54, 0, 38,221, 54, 1, + 201,221, 54, 0, 39,221, 54, 1, 63,195,102, 2, 61,202,194, 2, + 61,202,137, 5, 61,202,164, 6, 61,202, 23, 3, 61,202,213, 4, + 61,202,181, 3, 61,202, 77, 1, 61,202, 93, 3, 58, 0, 64, 15, + 207, 42,248, 31, 34,252, 31, 42,250, 31, 34,254, 31,175, 50,251, + 31, 58, 0, 64, 15,207, 58,255, 31,183, 32,192, 58, 0, 64, 15, + 207, 58, 0, 64,203, 79, 32, 8,203, 71,196, 8, 0,195,102, 2, + 58, 0, 64, 15,207,221, 54, 0, 39,221, 54, 1, 47, 58, 0, 64, + 15,207, 58,241, 31,183,196, 71, 16,195,156, 2, 58, 0, 64, 15, + 207,205, 94, 7, 58, 0, 64, 15,207, 58,169, 18,183, 32, 3,195, + 178, 2, 58, 0, 64, 15,207,195,136, 12, 58, 0, 64, 15,207,195, + 102, 2, 42,253, 31, 58,252, 31, 79, 17, 0, 28,205,234, 2,120, + 183,202,231, 2, 18, 20,205,234, 2,120, 18, 20,205,234, 2,120, + 18, 21, 21, 28,195,204, 2,195, 81, 2, 58,152, 18,185,202, 10, + 3,121, 50,152, 18,229, 33, 0, 96,119, 15,119, 15,119, 15,119, + 15,119, 15,119, 15,119,116, 15,119,225, 70, 44,194, 22, 3, 36, + 194, 22, 3, 38,128, 12,201, 58, 0, 64, 15,207,205,251, 4, 58, + 0, 64, 15,207, 58,240, 31,246, 2, 50,240, 31, 58, 0, 64, 15, + 207, 33,252, 31, 78, 44, 94, 44, 86, 58, 0, 64, 15,207,175, 50, + 169, 18, 60, 33,153, 18,119, 44,119, 44,113, 44,115, 44,114, 58, + 0, 64, 15,207, 33,234, 3, 34,176, 2,195, 81, 2, 58,153, 18, + 183,202, 81, 2, 62, 1, 50,169, 18, 6,127, 14, 7, 33,143, 18, + 58, 0, 64, 15,207,126,183, 32, 4,121,205, 54, 10, 58, 0, 64, + 15,207, 45, 13,242,112, 3, 6, 4, 14, 15, 17,144, 18, 33, 0, + 18, 58, 0, 64, 15,207, 26,183, 32, 5,126,230,128,177,119, 58, + 0, 64, 15,207,125,198, 16,111, 28, 16,230, 58,142, 18,183,204, + 52, 1,195, 81, 2, 58,153, 18,183,202, 81, 2,175, 50,169, 18, + 6, 4, 17,147, 18, 33, 63, 18, 58, 0, 64, 15,207, 78,125,214, + 15,111, 26,183, 32, 5,126,230,128,177,119, 58, 0, 64, 15,207, + 45, 29, 16,228,205, 71, 16,195, 81, 2, 58, 0, 64, 15,207, 33, + 154, 18,126, 61,202,251, 3,119,195,178, 2, 58, 0, 64, 15,207, + 44, 78, 44, 94, 44, 86,235, 58, 0, 64, 15,207,205,234, 2, 58, + 0, 64, 15,207,120,254, 8,218,138, 7,254, 11,218, 52, 13,202, + 172, 13,254, 12,202,175, 0, 58, 0, 64, 15,207,120,254, 24,218, + 27, 8,254, 28,218,254, 13,202, 34, 1, 58, 0, 64, 15,207,120, + 254,254,202,208, 15,254,255,202,207, 4,254,252,202,107, 5,254, + 253,202,122, 5, 58, 0, 64, 15,207,120,254, 40,218,229, 9,254, + 44,218, 83, 14, 58, 0, 64, 15,207,120,254, 56,218, 71, 8,254, + 59,218, 73, 15,202,153, 15, 58, 0, 64, 15,207,120,254, 72,218, + 182, 8,254, 76,218,216, 14, 58, 0, 64, 15,207,120,254,224,218, + 224, 15,254,248,218, 47, 11,254,250,218,128, 11,202, 11, 16,254, + 251,202, 44, 16, 58, 0, 64, 15,207,195,207, 4, 58, 0, 64, 15, + 207, 44,194,188, 4, 36,194,188, 4, 38,128, 12, 58, 0, 64, 15, + 207, 44,194,204, 4, 36,194,204, 4, 38,128, 12,195, 7, 4,205, + 219, 4,195,178, 2,205,219, 4,195, 81, 2, 58,240, 31,230,253, + 50,240, 31, 58, 0, 64, 15,207,205,251, 4, 58, 0, 64, 15,207, + 175, 50,153, 18, 33,178, 2, 34,176, 2,201, 58,142, 18,183,204, + 52, 1, 6, 4, 17, 63, 18, 33,147, 18, 58, 0, 64, 15,207, 54, + 0,123,214, 15, 95,126,183, 32, 2,175, 18, 58, 0, 64, 15,207, + 29, 45, 16,230, 6, 8, 17, 79, 18, 58, 0, 64, 15,207, 62,127, + 18, 29, 58, 0, 64, 15,207,126,183,194, 88, 5, 5,120,205,216, + 11, 58, 0, 64, 15,207,120,230, 4,253,111,120,230, 3,198,180, + 253,119, 0,253, 54, 1,192, 4, 45, 16,206, 33, 80, 18, 62,192, + 6, 8,119, 44, 16,252,175, 50,242, 31,201, 58, 0, 64, 15,207, + 42,159, 18, 58,158, 18, 79,195, 7, 4, 58, 0, 64, 15,207,121, + 50,158, 18, 34,159, 18,195, 7, 4, 58, 0, 64, 15,207,205,212, + 6, 58, 0, 64, 15,207, 58,240, 31,246, 1, 50,240, 31, 58, 0, + 64, 15,207, 33,252, 31, 78, 44, 94, 44, 86, 58, 0, 64, 15,207, + 33,161, 18, 54, 1, 44, 54, 1, 44,113, 44,115, 44,114, 58, 0, + 64, 15,207, 33,209, 5, 34,154, 2, 58, 0, 64, 15,207,195, 81, + 2, 58, 0, 64, 15,207, 33,162, 18,126, 61,202,226, 5,119,195, + 156, 2, 58, 0, 64, 15,207, 44, 78, 44, 94, 44, 86,235, 58, 0, + 64, 15,207,205,234, 2, 58, 0, 64, 15,207,120,254, 8,218,132, + 7,254, 11,218, 46, 13,202,166, 13,254, 12,202,169, 0, 58, 0, + 64, 15,207,120,254, 24,218, 21, 8,254, 28,218,248, 13,202, 28, + 1, 58, 0, 64, 15,207,120,254,254,202,202, 15,254,255,202,158, + 6, 58, 0, 64, 15,207,120,254, 40,218,208, 9,254, 44,218, 49, + 14, 58, 0, 64, 15,207,120,254, 56,218, 65, 8,254, 59,218, 67, + 15,202,147, 15, 58, 0, 64, 15,207,120,254, 72,218,176, 8,254, + 76,218,154, 14, 58, 0, 64, 15,207,120,254,224,218,214, 15,254, + 232,218,170, 11,254,236,218,166, 15,202, 66, 1, 58, 0, 64, 15, + 207,120,254,248,218, 6, 11,254,250,218,122, 11,202, 5, 16,254, + 251,202, 38, 16,254,252,202, 64, 7,254,253,202, 79, 7,205,170, + 6,195,156, 2,205,170, 6,195, 81, 2, 58, 0, 64, 15,207, 58, + 240, 31,230,254, 50,240, 31, 58, 0, 64, 15,207,175, 50,161, 18, + 33,156, 2, 34,154, 2, 58, 0, 64, 15,207,205,212, 6, 58, 0, + 64, 15,207,201, 58,142, 18,183,196, 52, 1, 6, 4, 17,147, 18, + 58, 0, 64, 15,207, 26,183, 40, 56,175, 18, 58, 0, 64, 15,207, + 120, 15, 15, 15, 15, 61, 38, 18,111, 78,214, 15,111,113, 58, 0, + 64, 15,207,213,125,198, 8,111,198, 4, 95, 84, 58, 0, 64, 15, + 207, 26,119, 44, 28, 26,119, 44, 28, 26,119,209, 58, 0, 64, 15, + 207, 29, 16,188, 6, 8, 58, 0, 64, 15,207, 26,183,202, 60, 7, + 175, 18, 58, 0, 64, 15,207, 5,205, 85, 12, 4, 29, 16,231,201, + 58, 0, 64, 15,207, 42,167, 18, 58,166, 18, 79,195,238, 5, 58, + 0, 64, 15,207,121, 50,166, 18, 34,167, 18,195,238, 5, 58, 0, + 31, 60,200, 58, 0, 64, 15,207, 33,120, 7, 34, 72, 4, 33, 0, + 31, 58,152, 18, 79,195, 7, 4, 33,207, 4, 34, 72, 4, 62,255, + 50, 0, 31,201,205,166, 7,195,238, 5, 71, 58, 0, 64, 15,207, + 229,120,230, 7, 33,136, 18,133,111,126,225,183,194,188, 4,120, + 205,166, 7,195, 7, 4,230, 7,221, 54, 0, 40,221,119, 1, 71, + 8, 58, 0, 64, 15,207,120,230, 4, 15,253,111, 58, 0, 64, 15, + 207,205,234, 2, 58, 0, 64, 15,207, 8,213,229, 87,230, 3,198, + 164, 95, 58, 0, 64, 15,207, 38, 17,120,230, 31,198,144,111, 58, + 0, 64, 15,207,120,230,224, 15, 15, 71,126,176,253,115, 0,253, + 119, 1, 58, 0, 64, 15,207,123,214, 4, 95, 45,126,253,115, 0, + 253,119, 1, 58, 0, 64, 15,207,122,246,240,221, 54, 0, 40,221, + 119, 1,225,209,201,205, 55, 8,195,238, 5, 71, 58, 0, 64, 15, + 207,120,229,230, 7, 33,136, 18,133,111,126,225,183,194, 7, 4, + 120,205, 55, 8,195, 7, 4,230, 7,221, 54, 0, 40,221,119, 1, + 201,205, 99, 8,195,238, 5, 71, 58, 0, 64, 15,207,120,229,230, + 7, 33,136, 18,133,111,126,225,183,194,172, 4,120,205, 99, 8, + 195, 7, 4,245, 71, 58, 0, 64, 15,207,120,230, 4, 15,253,111, + 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207,241,213,230, + 7, 87,230, 3,198,164, 95, 58, 0, 64, 15,207,253,115, 0,253, + 112, 1, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207,123, + 214, 4, 95,253,115, 0,253,112, 1, 58, 0, 64, 15,207,209,201, + 205, 12, 9,195,238, 5,230, 7, 71, 58, 0, 64, 15,207,213,197, + 120, 17, 64, 18,131, 95, 58, 0, 64, 15,207,205,234, 2, 58, 0, + 64, 15,207,120, 18,123,198, 8, 95,175, 18, 89,193, 75,209, 58, + 0, 64, 15,207,229,120, 38, 18,198,136,111,126,225,183,194, 7, + 4, 58, 0, 64, 15,207,120,229, 33, 64, 18,133,111, 70,225, 8, + 58, 0, 64, 15,207, 8,205, 29, 9,195, 7, 4,230, 7, 8, 58, + 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207, 8,245,230, 4, + 15,253,111, 58, 0, 64, 15,207,241,197,213,229, 38, 28,104, 86, + 36, 94, 36, 78,235,245, 58, 0, 64, 15,207, 6, 7, 17,176, 18, + 120, 8,205,234, 2,235,112,235, 28,205,234, 2,235,112,235, 28, + 205,234, 2,235,112,235, 28,205,234, 2,235,112,235, 28, 8, 71, + 16,222,205,234, 2,235,112,235, 58, 0, 64, 15,207,241, 71,205, + 216, 11,120, 17, 96, 18,230, 7,131, 95,245,230, 3,198,176, 33, + 176, 18, 8, 58, 0, 64, 15,207, 8,253,119, 0, 70, 44,253,112, + 1, 8,120, 18,123,198, 8, 95, 58, 0, 64, 15,207, 8,214,128, + 6, 28,253,119, 0, 78,253,113, 1,198, 4, 44, 16,244, 58, 0, + 64, 15,207,125,214, 24,111, 6, 4,126, 18,123,198, 8, 95, 44, + 16,247, 58, 0, 64, 15,207,241,225,209,193, 6, 0,195, 60, 10, + 245, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207,241,205, + 60, 10,195,238, 5,230, 7, 71, 58, 0, 64, 15,207,213,197,120, + 22, 18,198, 72, 95, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, + 15,207,235,112,235, 89,193, 75,209, 58, 0, 64, 15,207,229,120, + 33,136, 18,133,111,126,225,183,194, 7, 4, 58, 0, 64, 15,207, + 120,229, 33, 72, 18,133,111, 70,225,245, 58, 0, 64, 15,207,241, + 205, 60, 10,195, 7, 4,197,213,229,195, 73, 10,197,213,229,230, + 7,245, 38, 18,198, 88,111,112,241,245, 38, 18,198, 96,111, 8, + 58, 0, 64, 15,207, 8,230, 7,246,224, 22, 31, 95, 8, 26, 87, + 58, 0, 64, 15,207, 8,230, 4, 15,253,111, 58, 0, 64, 15,207, + 241,230, 3,198, 64, 79,126,230, 7, 95, 58, 0, 64, 15,207,125, + 198, 8,111,123,254, 7, 56, 17,253,113, 0,126,130,250,148, 10, + 128,242,150, 10, 62,127,253,119, 1,121,198, 4, 79, 58, 0, 64, + 15,207,125,198, 8,111,123,254, 5, 56, 17,253,113, 0,126,130, + 250,183, 10,128,242,185, 10, 62,127,253,119, 1,121,198, 4, 79, + 58, 0, 64, 15,207,125,198, 8,111,123,254, 4, 56, 17,253,113, + 0,126,130,250,218, 10,128,242,220, 10, 62,127,253,119, 1,121, + 198, 4, 79, 58, 0, 64, 15,207,125,198, 8,111,253,113, 0,126, + 130,250,248, 10,128,242,250, 10, 62,127,253,119, 1, 58, 0, 64, + 15,207,225,209,193,201, 71, 58, 0, 64, 15,207,120,230, 4, 15, + 253,111,120, 8, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15, + 207, 8,230, 3,198,180,253,119, 0,253,112, 1,195,238, 5, 71, + 58, 0, 64, 15,207,120,230, 4, 15,253,111,120, 8, 58, 0, 64, + 15,207,205,234, 2, 58, 0, 64, 15,207, 8,229,230, 7, 38, 18, + 198, 80,111,112, 8, 58, 0, 64, 15,207, 8,230, 7,198,136,111, + 8,126,183,225,194, 7, 4, 58, 0, 64, 15,207, 8,230, 3,198, + 180,253,119, 0,253,112, 1,195, 7, 4,205,134, 11,195,238, 5, + 205,134, 11,195, 7, 4,230, 1,135,253,111, 58, 0, 64, 15,207, + 205,234, 2,197, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15, + 207,120,193,253,112, 0,253,119, 1,201,230, 7, 71, 58, 0, 64, + 15,207,229, 38, 18,120,198,136,111, 54, 1,225, 58, 0, 64, 15, + 207,120,230, 4, 15,253,111,120,230, 3,135,135,198,180,253,119, + 0,253, 54, 1,192,195,238, 5,230, 7,245,213,229, 79,230, 4, + 15,253,111,121,230, 3,198, 64, 14, 6, 33,181, 17, 8, 58, 0, + 64, 15,207, 8, 94,253,119, 0,253,115, 1,198, 4, 8, 58, 0, + 64, 15,207, 8,253,119, 0,253,115, 1,198, 4, 8, 58, 0, 64, + 15,207, 8,253,119, 0,253,115, 1,198, 4, 8, 58, 0, 64, 15, + 207, 8,253,119, 0,253,115, 1,198, 4, 44, 13,194,237, 11,225, + 209, 58, 0, 64, 15,207,241, 79,246,240,221, 54, 0, 40,221,113, + 1,221, 54, 0, 40,221,119, 1,221, 54, 0, 40,221,113, 1, 58, + 0, 64, 15,207,201,120, 38, 18,198, 64,111,197,120, 70,205, 29, + 9,193, 58, 0, 64, 15,207,197,125,198, 8,111,120, 70,205, 60, + 10,193,125,198, 8,111,120,230, 3,198,180,253,119, 0,126,253, + 119, 1, 58, 0, 64, 15,207,201, 33, 48, 18, 6, 3,197,126,183, + 250,153, 12, 6, 15, 44,195,229, 12,230,127, 71, 44,126,128, 71, + 58, 0, 64, 15,207,197, 44, 78, 44, 94, 44, 86,235, 58, 0, 64, + 15,207,205,234, 2, 58, 0, 64, 15,207,120,254,254,202, 8, 13, + 254,255,202, 27, 13,253,104, 58, 0, 64, 15,207,235,114, 45,115, + 45,113, 45,193, 58, 0, 64, 15,207,253,125,230, 15,128, 71,254, + 16, 56, 2, 6, 15, 58, 0, 64, 15,207,120, 7, 7, 7,193,176, + 15, 15, 15,246,144, 50, 17,127,125,214, 17,111, 58, 0, 64, 15, + 207, 5,242,141, 12,195,186, 2, 58, 0, 64, 15,207, 28,235,113, + 44,115, 44,114,235, 29, 29, 29,195,173, 12, 58, 0, 64, 15,207, + 28,235, 78, 44, 94, 44, 86,235, 29, 29, 29,195,173, 12,205, 80, + 13,195,238, 5, 71, 58, 0, 64, 15,207,120,229,230, 3, 33,144, + 18,133,111,126,225,183,194,188, 4,120,205, 80, 13,195, 7, 4, + 230, 3, 71, 8, 58, 0, 64, 15,207,229, 38, 18,120, 15, 15, 15, + 15,111,126,246,128,119, 58, 0, 64, 15,207,213, 44, 44, 84,125, + 198, 6, 95, 58, 0, 64, 15,207, 26,119, 44, 28, 26,119, 44, 28, + 26,119,209,225, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15, + 207, 8,229,213, 38, 17,104, 17, 17,127, 15, 15, 15, 70,176, 18, + 44,126, 18,209,225,201,205,185, 13,195,238, 5, 58,147, 18,183, + 194,188, 4,205,185, 13,195, 7, 4, 58, 0, 64, 15,207,229, 33, + 48, 18,126,246,128,119, 58, 0, 64, 15,207,213, 44, 44, 84,125, + 198, 6, 95, 58, 0, 64, 15,207, 26,119, 44, 28, 26,119, 44, 28, + 26,119,209,225, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15, + 207, 62,224,176, 50, 17,127,201,205, 26, 14,195,238, 5, 71, 58, + 0, 64, 15,207,120,229,230, 3, 33,144, 18,133,111,126,225,183, + 194, 7, 4,120,205, 26, 14,195, 7, 4,230, 3, 71, 58, 0, 64, + 15,207,229, 38, 18,120, 15, 15, 15, 15,111,126,230,127,119,225, + 201,230, 3, 8, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15, + 207, 8,229, 38, 18, 15, 15, 15, 15,111,126,230,128,176,119,225, + 195,238, 5,230, 3, 8, 58, 0, 64, 15,207,205,234, 2, 58, 0, + 64, 15,207, 8,213,229,245, 17,144, 18,131, 95, 26, 95, 58, 0, + 64, 15,207,241, 38, 18, 15, 15, 15, 15,198, 15,111,112, 58, 0, + 64, 15,207,123,183, 32, 14,125,214, 15,111,126,230,128,176,119, + 58, 0, 64, 15,207,225,209,195, 7, 4,230, 3, 8, 58, 0, 64, + 15,207,205,234, 2, 58, 0, 64, 15,207, 8,213,229, 22, 28, 88, + 38, 18, 15, 15, 15, 15,198, 10,111, 58, 0, 64, 15,207, 26,119, + 20, 45, 26,119, 20, 45, 26,119, 58, 0, 64, 15,207,125,214, 8, + 111, 54, 0,225,209,195,238, 5,230, 3, 8, 58, 0, 64, 15,207, + 205,234, 2, 58, 0, 64, 15,207, 8,213,229, 22, 28, 88, 33,144, + 18,245,133,111,241, 70, 38, 18, 15, 15, 15, 15,198, 15,111, 58, + 0, 64, 15,207,119, 45, 26,119, 20, 45, 26,119, 20, 45, 26,119, + 58, 0, 64, 15,207,120,183,202, 31, 15,225,209,195, 7, 4, 58, + 0, 64, 15,207, 84,125,214, 4, 95,126, 18, 44, 28,126, 18, 44, + 28,126, 18, 58, 0, 64, 15,207,125,214, 8,111, 54, 0,225,209, + 195, 7, 4,205,101, 15,195,238, 5, 71, 58, 0, 64, 15,207,120, + 229,230, 15, 38, 18,198,136,111,126,225,183,194,172, 4,120,205, + 101, 15,195, 7, 4,230, 3, 8, 58, 0, 64, 15,207,205,234, 2, + 58, 0, 64, 15,207, 8,213, 17, 17,127, 15, 15, 15,176,246,128, + 18, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207,235,112, + 235,209,201,205,228, 13,195,238, 5, 58,147, 18,183,194,188, 4, + 205,228, 13,195, 7, 4,230, 3, 71, 58, 0, 64, 15,207,229, 38, + 18,120,198,144,111, 54, 1, 58, 0, 64, 15,207,120, 15, 15, 15, + 15,111, 38, 18, 54, 0,225,195,238, 5,205,234, 15,195,156, 2, + 205,234, 15,195,178, 2,230, 15, 60, 71,205,247, 15,195,156, 2, + 230, 15, 60, 71,205,247, 15,195,178, 2, 58, 0, 64, 15,207,205, + 234, 2, 58, 0, 64, 15,207,235,114, 45,115, 45,113, 58, 0, 64, + 15,207, 45,112,201,205, 17, 16,195,238, 5,205, 17, 16,195, 7, + 4, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207, 58,242, + 31,176, 50,242, 31,201,205, 50, 16,195,238, 5,205, 50, 16,195, + 7, 4, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207, 58, + 242, 31,160, 50,242, 31,201, 33,240, 31, 17, 88, 18, 14, 8, 26, + 70,128,242, 87, 16, 62,127, 71,125,205, 60, 10, 44, 28, 13, 58, + 0, 64, 15,207, 32,233, 33,232, 31, 17, 1, 18, 1, 16, 4,126, + 18, 44,123,129, 95, 58, 0, 64, 15,207, 16,243,175, 50,241, 31, + 201,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, @@ -313,9 +297,9 @@ static uint8_t echo_blob[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 |
