From 0c0a2e17acaa0684f60ccbe8465407c945d6e2d0 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Wed, 26 May 2021 16:29:40 +0200 Subject: [WIP] Hook up new audio system to UXN --- src/main.c | 87 ++-- src/samples.c | 1317 +++++++++++++++++++++++++++++++++++++++++++++++++ src/uxn/devices/apu.c | 142 +----- 3 files changed, 1386 insertions(+), 160 deletions(-) create mode 100644 src/samples.c diff --git a/src/main.c b/src/main.c index 6e7d3e5..a5a0628 100644 --- a/src/main.c +++ b/src/main.c @@ -112,37 +112,46 @@ screen_talk(Device *d, u8 b0, u8 w) { } } -static u8 buf[KB(1)]; - static void audio_talk(Device *d, u8 b0, u8 w) { - AudioChannel *c = &apu.chan_0; + AudioChannel *c = &channels[0]; if(!w) { if(b0 == 0x2) { - mempoke16(d->dat, 0x2, c->position); + mempoke16(d->dat, 0x2, c->pos); + c->pos <<= 12; // fixed point. } else if(b0 == 0x4) { // d->dat[0x4] = apu_get_vu(c); } } else if(b0 == 0xf) { - // SDL_LockAudioDevice(audio_id); - c->n_samples = mempeek16(d->dat, 0xa); - c->samples = &d->mem[mempeek16(d->dat, 0xc)]; - // Transform the samples from u8 to s8. - for (size_t i = 0; i < c->n_samples; ++i) { - buf[i] = (u8)c->samples[i] + 0x80; - } - c->samples = &buf; + // Disable the channel before updating. + c->data = NULL; + + // Initialization. + c->inc = (44100 << 12) / AUDIO_FREQ; + c->pos = 0; + + // Data. + c->length = mempeek16(d->dat, 0xa); + c->length <<= 12; // fixed point. + c->data = &d->mem[mempeek16(d->dat, 0xc)]; + + // TODO: Volume. + c->vol = 12; // 0-64 // c->volume[0] = d->dat[0xe] >> 4; // c->volume[1] = d->dat[0xe] & 0xf; - c->loop = !(d->dat[0xf] & 0x80); + + // Looping. + if (!(d->dat[0xf] & 0x80)) { + c->loop_length = c->length; + } else { + c->loop_length = 0; + } + + // Pitch c->pitch = d->dat[0xf] & 0x7f; - // init_sound(c); - reset_sound(c); + txt_position(0, 0); txt_printf("note: %d \n", c->pitch); - // apu_start(c, mempeek16(d->dat, 0x8), d->dat[0xf] & 0x7f); - // SDL_UnlockAudioDevice(audio_id); } - // txt_printf("AUDIO TALK: %d\n", d); } void @@ -401,41 +410,33 @@ int main(void) { txt_position(0,0); init_sound(); - // reset_sound(&apu.chan_0); - // txt_printf("DING\n"); - // sound_mix(); // Main loop. int frame_counter = 0; - // evaluxn(&u, 0x0100); - // u32 flip_cycles = 0; + evaluxn(&u, 0x0100); + u32 flip_cycles = 0; while(true) { bios_vblank_wait(); - // profile_start(); - // handle_input(&u); - // u32 input_cycles = profile_stop(); - // profile_start(); - // evaluxn(&u, mempeek16(devscreen->dat, 0)); - // u32 eval_cycles = profile_stop(); - // txt_position(0, 8); - // txt_printf("INPUT: %lu \n", input_cycles); - // txt_printf("EVAL: %lu \n", eval_cycles); - // txt_printf("FLIP: %lu \n", flip_cycles); - // profile_start(); - // flip_cycles = profile_stop(); + profile_start(); + handle_input(&u); + u32 input_cycles = profile_stop(); + profile_start(); + evaluxn(&u, mempeek16(devscreen->dat, 0)); + u32 eval_cycles = profile_stop(); + txt_position(0, 8); + profile_start(); + flip_cycles = profile_stop(); frame_counter++; - // if (frame_counter == 120) { - // init_sound(&apu.chan_0); - // reset_sound(&apu.chan_0); - // frame_counter = 0; - // } profile_start(); sound_mix(); u32 mix_cycles = profile_stop(); - txt_position(0, 18); - txt_printf("MIX CYCLES: %lu \n", mix_cycles); - txt_printf("FRAME: %lu \n", frame_counter); + txt_position(0, 15); + txt_printf("INPUT: %lu \n", input_cycles); + txt_printf("EVAL: %lu \n", eval_cycles); + txt_printf("FLIP: %lu \n", flip_cycles); + txt_printf("MIX: %lu \n", mix_cycles); + txt_printf("FRAME: %lu \n", frame_counter); flipbuf(&ppu); } diff --git a/src/samples.c b/src/samples.c new file mode 100644 index 0000000..e4d7d19 --- /dev/null +++ b/src/samples.c @@ -0,0 +1,1317 @@ +const s8 samples[] = { + 0x00, 0x00, 0x00, 0x02, 0x05, 0x06, 0x06, 0x07, + 0x09, 0x0b, 0x0a, 0x0a, 0x0c, 0x0a, 0x09, 0x0d, + 0x0d, 0x0b, 0x0b, 0x0c, 0x0a, 0x0d, 0x13, 0x13, + 0x0b, 0x0a, 0x0c, 0x0b, 0x05, 0x03, 0x09, 0x07, + 0xfc, 0xf7, 0xf9, 0x00, 0x00, 0xfb, 0xf6, 0xf8, + 0xfa, 0xf9, 0xf7, 0xf7, 0xfb, 0xfe, 0x02, 0xf8, + 0xec, 0xfa, 0x0d, 0x0e, 0x0a, 0x04, 0xf8, 0xf3, + 0xed, 0xdf, 0xd4, 0xcb, 0xc2, 0xbc, 0xc5, 0xd8, + 0xe6, 0xea, 0xed, 0xf7, 0x03, 0x07, 0x0e, 0x11, + 0x16, 0x26, 0x33, 0x2e, 0x2c, 0x33, 0x38, 0x2c, + 0x1f, 0x21, 0x2e, 0x31, 0x28, 0x24, 0x2a, 0x2b, + 0x21, 0x19, 0x1c, 0x1f, 0x19, 0x0c, 0x07, 0x0e, + 0x15, 0x12, 0x01, 0xf3, 0xf1, 0xef, 0xe5, 0xe1, + 0xe5, 0xef, 0xf5, 0xdf, 0xcb, 0xdf, 0xfa, 0xfa, + 0xeb, 0xe6, 0xee, 0xfd, 0x03, 0xff, 0xfa, 0xf5, + 0xe9, 0xd9, 0xcc, 0xc5, 0xc2, 0xb2, 0x9a, 0x97, + 0xa9, 0xc3, 0xd4, 0xd4, 0xd9, 0xeb, 0xf6, 0xf3, + 0xee, 0x02, 0x17, 0x18, 0x14, 0x1d, 0x2f, 0x3e, + 0x3b, 0x36, 0x3a, 0x3d, 0x35, 0x2a, 0x30, 0x3d, + 0x3d, 0x2b, 0x1c, 0x20, 0x2f, 0x32, 0x1d, 0x12, + 0x1e, 0x2a, 0x2b, 0x1a, 0x06, 0x09, 0x07, 0xe3, + 0xca, 0xd8, 0xf3, 0xf9, 0xe7, 0xd3, 0xd1, 0xe3, + 0xf1, 0xea, 0xdf, 0xde, 0xef, 0xf9, 0xfc, 0x05, + 0x10, 0x11, 0x09, 0x00, 0xfb, 0xf5, 0xe3, 0xc1, + 0xa0, 0x98, 0xa7, 0xae, 0xb3, 0xc5, 0xdc, 0xea, + 0xe4, 0xe1, 0xec, 0x01, 0x0e, 0x13, 0x1a, 0x23, + 0x2c, 0x31, 0x3c, 0x47, 0x4d, 0x4d, 0x41, 0x3c, + 0x45, 0x44, 0x32, 0x26, 0x22, 0x2d, 0x3c, 0x32, + 0x20, 0x25, 0x36, 0x34, 0x24, 0x25, 0x2f, 0x29, + 0x09, 0xe3, 0xd3, 0xdc, 0xeb, 0xea, 0xd8, 0xd1, + 0xde, 0xe7, 0xe4, 0xe1, 0xe8, 0xf5, 0xf8, 0xf9, + 0xfc, 0x01, 0x08, 0x00, 0xf5, 0xf9, 0xff, 0xf5, + 0xda, 0xc0, 0xaf, 0xa0, 0x92, 0x91, 0xa2, 0xba, + 0xc8, 0xcb, 0xd0, 0xd9, 0xdd, 0xe1, 0xec, 0xf2, + 0xf9, 0xfb, 0xf5, 0x04, 0x1c, 0x25, 0x25, 0x24, + 0x2b, 0x3d, 0x4c, 0x40, 0x2c, 0x2a, 0x34, 0x31, + 0x26, 0x25, 0x31, 0x39, 0x2f, 0x24, 0x23, 0x30, + 0x3f, 0x30, 0x0c, 0xf2, 0xee, 0xf2, 0xeb, 0xe5, + 0xe5, 0xe4, 0xe7, 0xea, 0xe9, 0xeb, 0xf1, 0xf1, + 0xef, 0xf3, 0x00, 0x07, 0x01, 0xfd, 0x01, 0x07, + 0x04, 0xfa, 0xee, 0xe3, 0xcc, 0xab, 0x9c, 0x9d, + 0xa9, 0xbc, 0xc8, 0xd4, 0xe0, 0xde, 0xd8, 0xe4, + 0xf3, 0xf8, 0xf5, 0xf0, 0xf3, 0x05, 0x1b, 0x1c, + 0x14, 0x1f, 0x3c, 0x4e, 0x45, 0x3e, 0x46, 0x4a, + 0x46, 0x3a, 0x35, 0x42, 0x4c, 0x42, 0x2c, 0x26, + 0x3c, 0x4d, 0x48, 0x39, 0x22, 0x0f, 0x03, 0xfb, + 0xf4, 0xef, 0xee, 0xe7, 0xe0, 0xde, 0xe4, 0xe2, + 0xd7, 0xd6, 0xdd, 0xe6, 0xe7, 0xe1, 0xe6, 0xee, + 0xeb, 0xe9, 0xef, 0xf1, 0xef, 0xe0, 0xc2, 0xa9, + 0x9b, 0x92, 0x95, 0xad, 0xc6, 0xd2, 0xd7, 0xd6, + 0xdd, 0xef, 0xff, 0x00, 0xf1, 0xf1, 0x06, 0x12, + 0x0e, 0x0e, 0x1c, 0x32, 0x40, 0x40, 0x40, 0x46, + 0x54, 0x4e, 0x37, 0x30, 0x3e, 0x4b, 0x44, 0x33, + 0x27, 0x2b, 0x39, 0x44, 0x44, 0x3a, 0x30, 0x22, + 0x10, 0x08, 0x08, 0x04, 0xfd, 0xf5, 0xf4, 0xfc, + 0xf2, 0xe2, 0xe1, 0xe7, 0xea, 0xea, 0xea, 0xed, + 0xf2, 0xed, 0xe1, 0xe5, 0xf2, 0xf5, 0xee, 0xe2, + 0xd0, 0xb5, 0x98, 0x86, 0x88, 0x9a, 0xb5, 0xbd, + 0xb5, 0xbf, 0xd9, 0xeb, 0xe6, 0xdf, 0xe6, 0xf4, + 0xfd, 0xfb, 0xf8, 0x03, 0x19, 0x24, 0x23, 0x2b, + 0x3b, 0x48, 0x44, 0x36, 0x2e, 0x31, 0x3b, 0x42, + 0x38, 0x25, 0x1e, 0x1d, 0x24, 0x2f, 0x34, 0x34, + 0x2b, 0x1a, 0x14, 0x11, 0x06, 0xfc, 0xfd, 0xff, + 0xff, 0xfc, 0xf1, 0xea, 0xeb, 0xe9, 0xe5, 0xe8, + 0xec, 0xec, 0xe3, 0xdd, 0xdf, 0xdf, 0xe9, 0xf4, + 0xf6, 0xf2, 0xe6, 0xc6, 0x9c, 0x87, 0x92, 0xa4, + 0xa7, 0xa6, 0xb1, 0xc5, 0xd9, 0xdc, 0xd6, 0xdc, + 0xef, 0xfa, 0xf3, 0xee, 0xf9, 0x0c, 0x11, 0x13, + 0x1c, 0x2d, 0x41, 0x47, 0x3d, 0x34, 0x33, 0x3c, + 0x48, 0x48, 0x40, 0x37, 0x2b, 0x24, 0x31, 0x42, + 0x46, 0x43, 0x41, 0x40, 0x3c, 0x2e, 0x1e, 0x1b, + 0x1e, 0x1e, 0x15, 0x10, 0x13, 0x0c, 0x00, 0xfe, + 0x02, 0x04, 0x06, 0x03, 0xfa, 0xf1, 0xee, 0xee, + 0xea, 0xf5, 0x0b, 0x0f, 0xf3, 0xca, 0xaa, 0x9d, + 0x9d, 0x98, 0x93, 0x98, 0xab, 0xbf, 0xc1, 0xc1, + 0xcf, 0xdd, 0xe5, 0xe8, 0xe6, 0xed, 0xfb, 0x02, + 0x03, 0x08, 0x17, 0x30, 0x44, 0x44, 0x3c, 0x3b, + 0x3b, 0x3e, 0x4b, 0x4f, 0x46, 0x33, 0x24, 0x24, + 0x2a, 0x2f, 0x30, 0x31, 0x38, 0x37, 0x27, 0x1a, + 0x14, 0x0e, 0x09, 0x06, 0x04, 0x01, 0xfe, 0xf9, + 0xee, 0xe9, 0xf3, 0xfa, 0xf3, 0xf0, 0xf4, 0xef, + 0xdf, 0xcf, 0xd6, 0xf1, 0x07, 0x07, 0xec, 0xcb, + 0xb9, 0xab, 0x92, 0x83, 0x85, 0x90, 0x9a, 0x9c, + 0x9f, 0xac, 0xbc, 0xc5, 0xca, 0xd0, 0xd5, 0xe2, + 0xeb, 0xe9, 0xeb, 0xf6, 0x0a, 0x22, 0x36, 0x3d, + 0x37, 0x2f, 0x35, 0x43, 0x50, 0x54, 0x47, 0x3c, + 0x3a, 0x35, 0x2d, 0x2f, 0x3b, 0x42, 0x41, 0x3e, + 0x3a, 0x2f, 0x24, 0x20, 0x1a, 0x16, 0x19, 0x17, + 0x0d, 0x03, 0x02, 0x05, 0x04, 0x02, 0x0a, 0x11, + 0x14, 0x08, 0xec, 0xe0, 0xf2, 0x0d, 0x1b, 0x17, + 0x0a, 0xfa, 0xe7, 0xc8, 0xac, 0x9f, 0x9d, 0x9e, + 0xa0, 0x9c, 0xa1, 0xb3, 0xc0, 0xc3, 0xc3, 0xce, + 0xdd, 0xe3, 0xe7, 0xe4, 0xe2, 0xeb, 0x00, 0x1b, + 0x32, 0x38, 0x2d, 0x2a, 0x39, 0x49, 0x4d, 0x4d, + 0x50, 0x4b, 0x3e, 0x34, 0x2f, 0x2e, 0x37, 0x3f, + 0x3e, 0x3c, 0x3a, 0x36, 0x28, 0x19, 0x1c, 0x20, + 0x1a, 0x12, 0x0b, 0x08, 0x07, 0x00, 0xf4, 0xf7, + 0x0a, 0x18, 0x12, 0xf9, 0xe2, 0xe2, 0xf1, 0xfd, + 0x0a, 0x12, 0x12, 0x09, 0xf1, 0xd2, 0xb6, 0xaa, + 0xa4, 0x99, 0x91, 0x93, 0x9a, 0xa3, 0xad, 0xaf, + 0xb3, 0xbf, 0xcb, 0xd3, 0xd6, 0xcf, 0xc6, 0xcc, + 0xe8, 0x07, 0x10, 0x10, 0x15, 0x1b, 0x23, 0x2e, + 0x37, 0x3f, 0x43, 0x42, 0x39, 0x2b, 0x29, 0x30, + 0x32, 0x33, 0x3c, 0x41, 0x3e, 0x35, 0x28, 0x22, + 0x27, 0x26, 0x1b, 0x15, 0x16, 0x18, 0x0f, 0xf7, + 0xef, 0x00, 0x15, 0x1b, 0x0f, 0xfe, 0xf0, 0xeb, + 0xee, 0xf5, 0x02, 0x16, 0x20, 0x14, 0x00, 0xea, + 0xd5, 0xc3, 0xb2, 0xa3, 0x9b, 0x9a, 0x9d, 0xa3, + 0xa9, 0xae, 0xaf, 0xb8, 0xd1, 0xdf, 0xd5, 0xc6, + 0xc5, 0xd3, 0xe7, 0xfa, 0x09, 0x10, 0x13, 0x1c, + 0x21, 0x25, 0x34, 0x42, 0x43, 0x3e, 0x3a, 0x33, + 0x2d, 0x2a, 0x28, 0x31, 0x3c, 0x3f, 0x3b, 0x32, + 0x2d, 0x2f, 0x2d, 0x21, 0x1b, 0x22, 0x29, 0x20, + 0x0b, 0xf9, 0xf6, 0x06, 0x18, 0x19, 0x10, 0x07, + 0xfc, 0xef, 0xe8, 0xed, 0x01, 0x16, 0x1e, 0x19, + 0x0a, 0xfc, 0xeb, 0xd3, 0xbf, 0xb1, 0xa2, 0x9a, + 0xa0, 0xa6, 0xa3, 0x9e, 0xa8, 0xbf, 0xd0, 0xd7, + 0xd2, 0xc5, 0xc4, 0xd2, 0xe0, 0xec, 0xff, 0x0d, + 0x11, 0x14, 0x19, 0x25, 0x35, 0x3d, 0x40, 0x43, + 0x41, 0x3c, 0x32, 0x28, 0x2b, 0x38, 0x41, 0x3b, + 0x34, 0x39, 0x3d, 0x35, 0x29, 0x21, 0x24, 0x30, + 0x32, 0x21, 0x0a, 0xfc, 0xfd, 0x06, 0x0f, 0x17, + 0x18, 0x12, 0x05, 0xf1, 0xe6, 0xf0, 0x01, 0x0f, + 0x1a, 0x1d, 0x16, 0x08, 0xfd, 0xee, 0xd4, 0xb9, + 0xae, 0xaf, 0xaa, 0xa4, 0x9e, 0x9a, 0xa7, 0xbe, + 0xcc, 0xcf, 0xcb, 0xc4, 0xc3, 0xc6, 0xce, 0xde, + 0xee, 0xf8, 0xfd, 0x01, 0x09, 0x15, 0x21, 0x29, + 0x30, 0x39, 0x3c, 0x30, 0x21, 0x21, 0x28, 0x2f, + 0x2d, 0x28, 0x2c, 0x36, 0x37, 0x29, 0x19, 0x19, + 0x26, 0x2c, 0x28, 0x1a, 0x08, 0xfe, 0xf9, 0xf8, + 0x00, 0x0f, 0x16, 0x0d, 0xfd, 0xef, 0xe6, 0xe3, + 0xf2, 0x08, 0x11, 0x11, 0x16, 0x18, 0x10, 0xfe, + 0xe2, 0xcb, 0xc5, 0xc2, 0xb9, 0xa9, 0x9e, 0xa2, + 0xb0, 0xbe, 0xcb, 0xd4, 0xd4, 0xce, 0xc8, 0xcb, + 0xd4, 0xe0, 0xee, 0xf5, 0xfa, 0x05, 0x0f, 0x12, + 0x18, 0x27, 0x38, 0x41, 0x3b, 0x32, 0x2d, 0x2f, + 0x34, 0x30, 0x2c, 0x33, 0x3d, 0x42, 0x3d, 0x2e, + 0x23, 0x29, 0x34, 0x37, 0x32, 0x2a, 0x1e, 0x0c, + 0xff, 0x01, 0x0b, 0x13, 0x1c, 0x1d, 0x0c, 0xf8, + 0xee, 0xf0, 0xf9, 0x03, 0x09, 0x12, 0x1e, 0x25, + 0x1e, 0x09, 0xf0, 0xe2, 0xdb, 0xd1, 0xbf, 0xad, + 0xa2, 0x9f, 0xa6, 0xb4, 0xc0, 0xca, 0xcd, 0xc5, + 0xbe, 0xc2, 0xcb, 0xd3, 0xd7, 0xe1, 0xf0, 0xf8, + 0xfb, 0xfc, 0x06, 0x1d, 0x2f, 0x2f, 0x2a, 0x2a, + 0x2c, 0x2c, 0x25, 0x1d, 0x1d, 0x28, 0x33, 0x33, + 0x27, 0x1d, 0x1c, 0x1a, 0x1e, 0x28, 0x29, 0x1e, + 0x13, 0x05, 0xf6, 0xf1, 0xf6, 0x06, 0x11, 0x0e, + 0xff, 0xef, 0xe9, 0xea, 0xeb, 0xec, 0xf3, 0x05, + 0x19, 0x20, 0x18, 0x0b, 0xfd, 0xf0, 0xe9, 0xdc, + 0xc8, 0xb6, 0xa8, 0xa1, 0xa3, 0xb0, 0xc3, 0xcc, + 0xc9, 0xc6, 0xc6, 0xca, 0xcd, 0xcd, 0xd5, 0xe7, + 0xf5, 0xf5, 0xf4, 0xfb, 0x0c, 0x20, 0x2a, 0x2c, + 0x2d, 0x34, 0x3d, 0x36, 0x25, 0x22, 0x2d, 0x33, + 0x37, 0x3a, 0x33, 0x29, 0x21, 0x22, 0x29, 0x30, + 0x32, 0x2f, 0x25, 0x14, 0x02, 0xf9, 0x01, 0x11, + 0x1a, 0x15, 0x06, 0xff, 0xfd, 0xf5, 0xeb, 0xea, + 0xf4, 0x08, 0x1a, 0x20, 0x1d, 0x15, 0x0f, 0x06, + 0xf9, 0xee, 0xdf, 0xc7, 0xb0, 0xa4, 0xa7, 0xb4, + 0xc0, 0xc3, 0xc6, 0xcc, 0xcd, 0xc9, 0xc5, 0xc9, + 0xd7, 0xe5, 0xeb, 0xec, 0xeb, 0xf5, 0x0b, 0x16, + 0x18, 0x21, 0x2e, 0x37, 0x39, 0x32, 0x29, 0x24, + 0x28, 0x33, 0x38, 0x36, 0x30, 0x28, 0x22, 0x1e, + 0x1f, 0x28, 0x31, 0x31, 0x28, 0x12, 0xfe, 0xfa, + 0x02, 0x0b, 0x0e, 0x0c, 0x09, 0x04, 0xfd, 0xf3, + 0xe4, 0xdf, 0xec, 0xff, 0x0d, 0x16, 0x19, 0x17, + 0x13, 0x0c, 0x06, 0x00, 0xef, 0xd3, 0xba, 0xae, + 0xb0, 0xb3, 0xb6, 0xc0, 0xca, 0xce, 0xce, 0xc7, + 0xc0, 0xc9, 0xdb, 0xe2, 0xdf, 0xe0, 0xea, 0xf5, + 0xfd, 0x06, 0x0f, 0x1b, 0x29, 0x35, 0x38, 0x31, + 0x27, 0x25, 0x2c, 0x32, 0x37, 0x38, 0x34, 0x2e, + 0x25, 0x1b, 0x1c, 0x2a, 0x39, 0x39, 0x29, 0x16, + 0x08, 0x02, 0x03, 0x07, 0x06, 0x07, 0x0b, 0x08, + 0xfd, 0xed, 0xdf, 0xda, 0xe1, 0xed, 0xfd, 0x08, + 0x0d, 0x0c, 0x0a, 0x0c, 0x10, 0x07, 0xf3, 0xdc, + 0xc6, 0xb6, 0xaf, 0xab, 0xad, 0xb9, 0xca, 0xce, + 0xc4, 0xbd, 0xc2, 0xcc, 0xd3, 0xd6, 0xd7, 0xdd, + 0xe5, 0xed, 0xf5, 0xfa, 0x02, 0x13, 0x25, 0x2f, + 0x32, 0x2d, 0x27, 0x26, 0x2a, 0x2f, 0x32, 0x37, + 0x3a, 0x30, 0x1f, 0x16, 0x1c, 0x2c, 0x3a, 0x3a, + 0x2b, 0x1d, 0x13, 0x0d, 0x08, 0x05, 0x06, 0x0d, + 0x11, 0x0e, 0x04, 0xf5, 0xe9, 0xdf, 0xdc, 0xea, + 0xfc, 0x03, 0x04, 0x07, 0x0d, 0x15, 0x19, 0x13, + 0x02, 0xee, 0xde, 0xca, 0xb4, 0xab, 0xb3, 0xc2, + 0xcb, 0xc9, 0xc4, 0xc4, 0xc7, 0xce, 0xd4, 0xd4, + 0xd6, 0xdd, 0xe7, 0xee, 0xef, 0xf3, 0xff, 0x12, + 0x25, 0x2f, 0x30, 0x30, 0x32, 0x2d, 0x2b, 0x30, + 0x3a, 0x43, 0x42, 0x35, 0x23, 0x1b, 0x21, 0x30, + 0x3a, 0x39, 0x31, 0x28, 0x1f, 0x14, 0x09, 0x05, + 0x0a, 0x0f, 0x11, 0x12, 0x0d, 0xfe, 0xeb, 0xdf, + 0xdf, 0xe8, 0xf5, 0xfa, 0xf8, 0xfc, 0x0b, 0x16, + 0x16, 0x10, 0x0b, 0x02, 0xec, 0xce, 0xb8, 0xb0, + 0xb5, 0xbe, 0xc3, 0xc1, 0xbe, 0xc0, 0xc6, 0xc9, + 0xca, 0xcc, 0xd0, 0xd8, 0xe2, 0xe4, 0xe1, 0xe6, + 0xf5, 0x06, 0x15, 0x20, 0x28, 0x2d, 0x2a, 0x23, + 0x20, 0x27, 0x36, 0x40, 0x3d, 0x2f, 0x1f, 0x18, + 0x1e, 0x29, 0x2f, 0x32, 0x33, 0x2d, 0x20, 0x15, + 0x0d, 0x07, 0x05, 0x0c, 0x13, 0x15, 0x12, 0x02, + 0xee, 0xe2, 0xe3, 0xec, 0xef, 0xed, 0xf1, 0xfd, + 0x07, 0x0c, 0x10, 0x16, 0x19, 0x11, 0xfa, 0xdc, + 0xc3, 0xbb, 0xbd, 0xbf, 0xbe, 0xbf, 0xc0, 0xc4, + 0xc9, 0xc8, 0xc6, 0xcb, 0xd3, 0xdb, 0xde, 0xdd, + 0xdf, 0xe5, 0xef, 0xfd, 0x0c, 0x1c, 0x29, 0x2f, + 0x2b, 0x24, 0x22, 0x2b, 0x3d, 0x47, 0x41, 0x34, + 0x2b, 0x25, 0x22, 0x28, 0x31, 0x36, 0x38, 0x36, + 0x2d, 0x21, 0x16, 0x0d, 0x09, 0x0c, 0x18, 0x20, + 0x18, 0x05, 0xf6, 0xef, 0xed, 0xe8, 0xe6, 0xe9, + 0xef, 0xf6, 0xfc, 0x01, 0x09, 0x18, 0x20, 0x19, + 0x03, 0xe8, 0xd1, 0xc7, 0xc3, 0xbe, 0xba, 0xbb, + 0xc1, 0xc6, 0xc3, 0xbf, 0xc1, 0xc8, 0xd0, 0xd5, + 0xd6, 0xd8, 0xda, 0xdc, 0xe2, 0xee, 0xfe, 0x11, + 0x22, 0x29, 0x22, 0x1a, 0x1e, 0x29, 0x36, 0x3f, + 0x3f, 0x36, 0x2b, 0x24, 0x21, 0x23, 0x29, 0x31, + 0x35, 0x34, 0x30, 0x28, 0x19, 0x0a, 0x05, 0x0f, + 0x1b, 0x1d, 0x15, 0x0a, 0xfe, 0xf6, 0xef, 0xe6, + 0xe3, 0xe8, 0xed, 0xee, 0xee, 0xf3, 0x02, 0x15, + 0x21, 0x1d, 0x0a, 0xf4, 0xe4, 0xd6, 0xc8, 0xbe, + 0xba, 0xbd, 0xc3, 0xc2, 0xbf, 0xbd, 0xc1, 0xc8, + 0xcd, 0xd3, 0xd5, 0xd6, 0xda, 0xdc, 0xda, 0xe1, + 0xf7, 0x0e, 0x1e, 0x22, 0x1e, 0x1b, 0x1d, 0x27, + 0x35, 0x3e, 0x40, 0x3d, 0x34, 0x2a, 0x25, 0x26, + 0x2a, 0x2c, 0x32, 0x3b, 0x3b, 0x2e, 0x1b, 0x0e, + 0x0b, 0x13, 0x1a, 0x1a, 0x15, 0x10, 0x09, 0xfd, + 0xf0, 0xe8, 0xe7, 0xea, 0xec, 0xe7, 0xe2, 0xe9, + 0xfc, 0x11, 0x1c, 0x1c, 0x12, 0x05, 0xf5, 0xe3, + 0xd2, 0xc6, 0xc3, 0xc3, 0xc4, 0xc5, 0xc0, 0xbe, + 0xc3, 0xca, 0xcc, 0xce, 0xd4, 0xdb, 0xda, 0xd4, + 0xd1, 0xda, 0xee, 0x06, 0x16, 0x1a, 0x1a, 0x1a, + 0x1d, 0x24, 0x30, 0x3e, 0x45, 0x40, 0x38, 0x34, + 0x30, 0x2a, 0x27, 0x2b, 0x38, 0x43, 0x42, 0x34, + 0x21, 0x17, 0x15, 0x16, 0x18, 0x1b, 0x1c, 0x19, + 0x11, 0x03, 0xf5, 0xef, 0xf0, 0xf2, 0xec, 0xe2, + 0xdd, 0xe4, 0xf6, 0x08, 0x13, 0x1b, 0x1b, 0x11, + 0x03, 0xf2, 0xdf, 0xd0, 0xcb, 0xca, 0xc6, 0xc1, + 0xc0, 0xc2, 0xc3, 0xc3, 0xc7, 0xcd, 0xd6, 0xdb, + 0xd8, 0xcf, 0xca, 0xd3, 0xe7, 0xfb, 0x09, 0x13, + 0x16, 0x14, 0x14, 0x1e, 0x2c, 0x37, 0x3c, 0x3c, + 0x3b, 0x39, 0x31, 0x26, 0x20, 0x27, 0x37, 0x40, + 0x3e, 0x32, 0x25, 0x1c, 0x16, 0x12, 0x11, 0x15, + 0x1c, 0x1b, 0x10, 0x01, 0xf5, 0xf3, 0xf5, 0xf0, + 0xe6, 0xdc, 0xd8, 0xdb, 0xe7, 0xf8, 0x07, 0x11, + 0x16, 0x16, 0x0a, 0xf6, 0xe6, 0xdb, 0xd2, 0xca, + 0xc3, 0xc0, 0xbf, 0xbf, 0xbd, 0xbb, 0xbd, 0xc8, + 0xd4, 0xd6, 0xce, 0xc7, 0xc5, 0xc9, 0xd7, 0xec, + 0xff, 0x09, 0x0b, 0x0b, 0x0e, 0x18, 0x25, 0x2d, + 0x34, 0x3c, 0x41, 0x3e, 0x31, 0x25, 0x22, 0x29, + 0x36, 0x3e, 0x3c, 0x36, 0x2f, 0x25, 0x1b, 0x12, + 0x11, 0x1a, 0x22, 0x1f, 0x13, 0x07, 0x01, 0xfe, + 0xfc, 0xf8, 0xee, 0xe2, 0xdb, 0xde, 0xe5, 0xef, + 0xfe, 0x0f, 0x1c, 0x1c, 0x12, 0x06, 0xf9, 0xed, + 0xe1, 0xd6, 0xcd, 0xca, 0xcb, 0xc5, 0xbd, 0xba, + 0xc2, 0xcd, 0xd4, 0xd7, 0xd3, 0xcb, 0xc4, 0xc5, + 0xd1, 0xe5, 0xf8, 0x00, 0x02, 0x07, 0x0f, 0x16, + 0x1b, 0x24, 0x30, 0x3e, 0x45, 0x40, 0x34, 0x29, + 0x27, 0x2c, 0x33, 0x39, 0x3b, 0x3b, 0x36, 0x2a, + 0x1a, 0x12, 0x15, 0x1c, 0x20, 0x1e, 0x14, 0x09, + 0x04, 0x04, 0x02, 0xfa, 0xee, 0xe5, 0xdf, 0xda, + 0xd9, 0xe3, 0xf3, 0x05, 0x13, 0x17, 0x13, 0x0d, + 0x05, 0xf8, 0xe7, 0xdb, 0xd6, 0xd3, 0xcc, 0xc4, + 0xbc, 0xb9, 0xbe, 0xc7, 0xd1, 0xd6, 0xd3, 0xc9, + 0xbe, 0xbe, 0xcb, 0xdb, 0xe8, 0xf1, 0xf9, 0x02, + 0x09, 0x0b, 0x0e, 0x18, 0x28, 0x38, 0x40, 0x3c, + 0x32, 0x2c, 0x2a, 0x2a, 0x2b, 0x33, 0x3c, 0x3f, + 0x39, 0x2c, 0x1f, 0x16, 0x17, 0x1e, 0x22, 0x1e, + 0x14, 0x0e, 0x0c, 0x0a, 0x05, 0xff, 0xf7, 0xee, + 0xe4, 0xda, 0xd5, 0xdb, 0xec, 0xfd, 0x08, 0x0f, + 0x15, 0x15, 0x0d, 0xff, 0xf1, 0xe7, 0xe0, 0xda, + 0xd1, 0xc7, 0xc0, 0xba, 0xba, 0xc4, 0xd2, 0xd8, + 0xd3, 0xc9, 0xc1, 0xc2, 0xca, 0xd3, 0xdd, 0xe8, + 0xf5, 0x00, 0x04, 0x03, 0x05, 0x12, 0x25, 0x34, + 0x39, 0x3a, 0x38, 0x33, 0x2c, 0x29, 0x2b, 0x34, + 0x3c, 0x41, 0x3e, 0x31, 0x23, 0x1d, 0x1f, 0x23, + 0x23, 0x1f, 0x1a, 0x16, 0x13, 0x10, 0x0a, 0x07, + 0x03, 0xfa, 0xea, 0xdb, 0xd6, 0xda, 0xe4, 0xef, + 0xfc, 0x0a, 0x14, 0x17, 0x10, 0x05, 0xfc, 0xf2, + 0xe9, 0xe2, 0xda, 0xcf, 0xc1, 0xb6, 0xb7, 0xc3, + 0xd0, 0xd4, 0xcf, 0xc7, 0xc3, 0xc2, 0xc3, 0xc7, + 0xcf, 0xdd, 0xee, 0xf7, 0xf8, 0xf8, 0xfe, 0x0a, + 0x19, 0x27, 0x32, 0x38, 0x37, 0x33, 0x2d, 0x28, + 0x28, 0x30, 0x3d, 0x43, 0x3d, 0x32, 0x28, 0x24, + 0x24, 0x25, 0x23, 0x21, 0x20, 0x1c, 0x16, 0x11, + 0x11, 0x12, 0x0d, 0x02, 0xf3, 0xe5, 0xde, 0xdc, + 0xde, 0xe7, 0xf5, 0x05, 0x11, 0x16, 0x15, 0x0f, + 0x06, 0xfc, 0xf7, 0xf2, 0xe9, 0xd9, 0xc8, 0xbd, + 0xbe, 0xc7, 0xd0, 0xd4, 0xd0, 0xcd, 0xca, 0xc5, + 0xc0, 0xc0, 0xca, 0xda, 0xe6, 0xec, 0xf0, 0xf2, + 0xf6, 0x00, 0x0e, 0x1c, 0x28, 0x31, 0x36, 0x33, + 0x2b, 0x25, 0x26, 0x2f, 0x3b, 0x40, 0x3b, 0x33, + 0x2c, 0x2a, 0x25, 0x22, 0x24, 0x24, 0x22, 0x1c, + 0x15, 0x13, 0x15, 0x16, 0x11, 0x07, 0xfb, 0xef, + 0xe4, 0xdb, 0xda, 0xe0, 0xeb, 0xf9, 0x08, 0x12, + 0x15, 0x10, 0x07, 0x02, 0x00, 0xfd, 0xf2, 0xe0, + 0xcd, 0xc2, 0xc1, 0xc6, 0xca, 0xcc, 0xd0, 0xd2, + 0xcc, 0xc3, 0xbc, 0xbe, 0xc5, 0xd0, 0xdc, 0xe4, + 0xe7, 0xe9, 0xee, 0xf6, 0x01, 0x0e, 0x1e, 0x2c, + 0x33, 0x31, 0x28, 0x21, 0x26, 0x31, 0x38, 0x3b, + 0x3b, 0x38, 0x32, 0x2c, 0x26, 0x25, 0x27, 0x28, + 0x23, 0x1c, 0x17, 0x18, 0x19, 0x18, 0x16, 0x10, + 0x07, 0xf9, 0xeb, 0xe1, 0xdc, 0xdc, 0xe3, 0xf0, + 0x01, 0x0e, 0x11, 0x0d, 0x09, 0x09, 0x0c, 0x0a, + 0xfc, 0xe8, 0xd7, 0xce, 0xc7, 0xc4, 0xc6, 0xce, + 0xd3, 0xd3, 0xcf, 0xc6, 0xbf, 0xbc, 0xc2, 0xcc, + 0xd6, 0xdc, 0xe1, 0xe5, 0xea, 0xef, 0xf5, 0x01, + 0x15, 0x27, 0x2e, 0x2a, 0x25, 0x23, 0x26, 0x2d, + 0x33, 0x39, 0x3c, 0x3b, 0x34, 0x2c, 0x29, 0x2a, + 0x2b, 0x29, 0x24, 0x1f, 0x1c, 0x19, 0x18, 0x1a, + 0x1b, 0x17, 0x0f, 0x03, 0xf7, 0xea, 0xdf, 0xda, + 0xde, 0xea, 0xfb, 0x08, 0x0a, 0x08, 0x08, 0x0f, + 0x13, 0x0e, 0x04, 0xf6, 0xe6, 0xd7, 0xcb, 0xc6, + 0xc7, 0xcc, 0xd3, 0xd5, 0xd0, 0xc8, 0xbf, 0xbb, + 0xbf, 0xc7, 0xcd, 0xd3, 0xdb, 0xe1, 0xe2, 0xe2, + 0xe8, 0xf8, 0x0c, 0x1c, 0x24, 0x25, 0x23, 0x23, + 0x23, 0x27, 0x2f, 0x37, 0x3d, 0x3a, 0x34, 0x2f, + 0x2d, 0x2d, 0x2c, 0x2b, 0x28, 0x23, 0x1e, 0x1a, + 0x1b, 0x1d, 0x1f, 0x1c, 0x17, 0x0f, 0x03, 0xf5, + 0xe5, 0xd9, 0xdb, 0xe9, 0xf6, 0xfd, 0xff, 0x03, + 0x0a, 0x0f, 0x13, 0x13, 0x0e, 0x02, 0xf3, 0xe3, + 0xd4, 0xcb, 0xc9, 0xcd, 0xd5, 0xd8, 0xd3, 0xca, + 0xc3, 0xc0, 0xc0, 0xc0, 0xc6, 0xd0, 0xd8, 0xdc, + 0xda, 0xd9, 0xe0, 0xef, 0x01, 0x10, 0x1a, 0x20, + 0x22, 0x1f, 0x1e, 0x23, 0x2c, 0x35, 0x39, 0x38, + 0x35, 0x32, 0x2f, 0x2e, 0x2e, 0x2f, 0x2c, 0x25, + 0x20, 0x1c, 0x1c, 0x1e, 0x1e, 0x1d, 0x1c, 0x1a, + 0x10, 0xfc, 0xe8, 0xde, 0xe0, 0xe5, 0xec, 0xf3, + 0xf8, 0xfd, 0x03, 0x0a, 0x10, 0x15, 0x13, 0x0b, + 0xfe, 0xee, 0xdc, 0xce, 0xcb, 0xd1, 0xd6, 0xd7, + 0xd4, 0xcf, 0xca, 0xc3, 0xbe, 0xbe, 0xc4, 0xcf, + 0xd7, 0xd7, 0xd4, 0xd5, 0xdb, 0xe6, 0xf4, 0x05, + 0x14, 0x1c, 0x1d, 0x1b, 0x1c, 0x21, 0x29, 0x31, + 0x36, 0x38, 0x36, 0x32, 0x30, 0x30, 0x31, 0x33, + 0x30, 0x29, 0x24, 0x22, 0x21, 0x1e, 0x1c, 0x20, + 0x27, 0x24, 0x19, 0x07, 0xf5, 0xe9, 0xe5, 0xe6, + 0xea, 0xef, 0xf4, 0xf8, 0xfe, 0x07, 0x0f, 0x14, + 0x17, 0x16, 0x0b, 0xf8, 0xe4, 0xd8, 0xd3, 0xd4, + 0xd5, 0xd6, 0xd6, 0xd4, 0xce, 0xc4, 0xbc, 0xbc, + 0xc3, 0xcb, 0xcf, 0xd1, 0xd1, 0xd0, 0xd2, 0xda, + 0xe7, 0xf9, 0x08, 0x11, 0x15, 0x15, 0x15, 0x1a, + 0x22, 0x2a, 0x31, 0x35, 0x33, 0x30, 0x2d, 0x30, + 0x34, 0x33, 0x2e, 0x2b, 0x29, 0x25, 0x1f, 0x1a, + 0x1c, 0x22, 0x28, 0x28, 0x1f, 0x10, 0xff, 0xf0, + 0xe8, 0xe7, 0xe8, 0xe9, 0xec, 0xf1, 0xf7, 0xfd, + 0x04, 0x0f, 0x18, 0x1a, 0x11, 0x00, 0xef, 0xe2, + 0xda, 0xd6, 0xd4, 0xd7, 0xdb, 0xd9, 0xd1, 0xc6, + 0xbf, 0xbe, 0xc2, 0xc7, 0xcd, 0xd0, 0xd0, 0xcd, + 0xcd, 0xd3, 0xdf, 0xf0, 0xff, 0x0a, 0x10, 0x12, + 0x14, 0x17, 0x1e, 0x28, 0x32, 0x34, 0x32, 0x31, + 0x33, 0x35, 0x34, 0x33, 0x33, 0x34, 0x31, 0x2a, + 0x21, 0x1e, 0x1f, 0x24, 0x2b, 0x2f, 0x29, 0x1b, + 0x0a, 0xfe, 0xf5, 0xee, 0xea, 0xea, 0xed, 0xef, + 0xf1, 0xf5, 0xff, 0x0d, 0x19, 0x1d, 0x16, 0x0b, + 0xfe, 0xef, 0xe2, 0xda, 0xd9, 0xdd, 0xdf, 0xdc, + 0xd6, 0xcd, 0xc4, 0xc0, 0xc1, 0xc6, 0xcc, 0xce, + 0xcd, 0xca, 0xc8, 0xcb, 0xd6, 0xe4, 0xf2, 0xff, + 0x08, 0x0b, 0x0b, 0x0e, 0x18, 0x22, 0x28, 0x2b, + 0x2c, 0x2f, 0x30, 0x2f, 0x2e, 0x30, 0x33, 0x33, + 0x2f, 0x29, 0x22, 0x1a, 0x19, 0x21, 0x29, 0x2d, + 0x28, 0x1f, 0x14, 0x06, 0xf9, 0xef, 0xea, 0xea, + 0xeb, 0xe9, 0xe7, 0xeb, 0xf6, 0x04, 0x10, 0x16, + 0x17, 0x12, 0x06, 0xf5, 0xe7, 0xde, 0xdc, 0xdd, + 0xde, 0xde, 0xd9, 0xcf, 0xc6, 0xc1, 0xc0, 0xc4, + 0xc9, 0xcc, 0xcb, 0xc7, 0xc5, 0xc6, 0xcc, 0xd9, + 0xe9, 0xf7, 0xff, 0x01, 0x04, 0x0b, 0x14, 0x1b, + 0x21, 0x27, 0x2d, 0x2e, 0x2d, 0x2e, 0x2f, 0x30, + 0x32, 0x36, 0x35, 0x2e, 0x23, 0x1c, 0x1c, 0x21, + 0x28, 0x2c, 0x2c, 0x28, 0x1f, 0x11, 0x02, 0xf8, + 0xf3, 0xf1, 0xec, 0xe7, 0xe5, 0xe8, 0xf0, 0xfc, + 0x08, 0x14, 0x1b, 0x18, 0x0f, 0x01, 0xf2, 0xe7, + 0xe3, 0xe3, 0xe4, 0xe2, 0xdf, 0xd7, 0xcd, 0xc5, + 0xc4, 0xc8, 0xcb, 0xcd, 0xcd, 0xcb, 0xc6, 0xc3, + 0xc8, 0xd4, 0xe3, 0xef, 0xf5, 0xfb, 0x02, 0x07, + 0x0d, 0x15, 0x1f, 0x26, 0x2a, 0x2d, 0x2f, 0x2e, + 0x2c, 0x2f, 0x35, 0x3a, 0x39, 0x31, 0x26, 0x21, + 0x1f, 0x20, 0x25, 0x2a, 0x30, 0x2f, 0x26, 0x18, + 0x0d, 0x03, 0xfc, 0xf5, 0xee, 0xe9, 0xe5, 0xe4, + 0xe9, 0xf3, 0x00, 0x0d, 0x17, 0x1a, 0x15, 0x08, + 0xfb, 0xef, 0xe8, 0xe6, 0xe7, 0xe7, 0xe3, 0xdb, + 0xd2, 0xca, 0xc6, 0xc6, 0xc9, 0xcd, 0xcf, 0xcb, + 0xc3, 0xc0, 0xc5, 0xce, 0xd8, 0xe3, 0xee, 0xf5, + 0xf9, 0xfe, 0x06, 0x0e, 0x15, 0x1d, 0x24, 0x2a, + 0x2b, 0x28, 0x28, 0x2d, 0x34, 0x39, 0x37, 0x31, + 0x2c, 0x25, 0x1f, 0x1d, 0x21, 0x2a, 0x30, 0x30, + 0x29, 0x20, 0x16, 0x0d, 0x04, 0xfd, 0xf6, 0xed, + 0xe7, 0xe3, 0xe4, 0xeb, 0xf7, 0x06, 0x12, 0x18, + 0x18, 0x10, 0x03, 0xf7, 0xef, 0xec, 0xec, 0xeb, + 0xe7, 0xe1, 0xda, 0xd0, 0xc8, 0xc7, 0xcc, 0xd1, + 0xcf, 0xc9, 0xc5, 0xc2, 0xc2, 0xc8, 0xd2, 0xdd, + 0xe6, 0xec, 0xf2, 0xfa, 0x00, 0x06, 0x0f, 0x19, + 0x23, 0x28, 0x27, 0x25, 0x28, 0x2d, 0x33, 0x36, + 0x38, 0x37, 0x31, 0x29, 0x21, 0x1f, 0x22, 0x29, + 0x2e, 0x30, 0x2d, 0x26, 0x1e, 0x16, 0x0e, 0x05, + 0xfd, 0xf5, 0xec, 0xe4, 0xe1, 0xe6, 0xef, 0xfd, + 0x0b, 0x16, 0x1a, 0x15, 0x0a, 0xfe, 0xf7, 0xf4, + 0xf0, 0xee, 0xee, 0xeb, 0xdf, 0xd4, 0xcf, 0xce, + 0xd0, 0xd1, 0xd1, 0xcf, 0xc9, 0xc3, 0xc2, 0xc6, + 0xce, 0xd6, 0xdd, 0xe6, 0xee, 0xf4, 0xf8, 0xfe, + 0x09, 0x15, 0x1e, 0x21, 0x22, 0x24, 0x26, 0x2a, + 0x2e, 0x34, 0x38, 0x39, 0x33, 0x2b, 0x24, 0x20, + 0x20, 0x25, 0x2b, 0x2d, 0x2c, 0x29, 0x22, 0x1b, + 0x14, 0x0d, 0x05, 0xfb, 0xf0, 0xe6, 0xe1, 0xe1, + 0xe7, 0xf2, 0x02, 0x11, 0x15, 0x13, 0x0e, 0x06, + 0xfb, 0xf5, 0xf3, 0xf4, 0xf2, 0xec, 0xe3, 0xda, + 0xd2, 0xcf, 0xcf, 0xd1, 0xd2, 0xcf, 0xc8, 0xc3, + 0xc1, 0xc3, 0xc7, 0xcd, 0xd6, 0xdf, 0xe6, 0xe9, + 0xee, 0xf7, 0x02, 0x0c, 0x14, 0x1a, 0x1e, 0x20, + 0x21, 0x24, 0x2a, 0x30, 0x35, 0x38, 0x35, 0x2d, + 0x26, 0x22, 0x21, 0x23, 0x27, 0x2b, 0x2d, 0x2a, + 0x26, 0x20, 0x1b, 0x16, 0x0e, 0x03, 0xf9, 0xee, + 0xe3, 0xdd, 0xe1, 0xed, 0xfa, 0x06, 0x10, 0x15, + 0x12, 0x09, 0x00, 0xfb, 0xf9, 0xf8, 0xf6, 0xf2, + 0xeb, 0xe2, 0xd8, 0xd3, 0xd3, 0xd5, 0xd4, 0xd0, + 0xcc, 0xc9, 0xc4, 0xc2, 0xc4, 0xcb, 0xd3, 0xda, + 0xdf, 0xe3, 0xea, 0xf2, 0xfa, 0x05, 0x10, 0x16, + 0x1a, 0x1d, 0x1f, 0x21, 0x26, 0x2d, 0x35, 0x38, + 0x37, 0x31, 0x2a, 0x25, 0x23, 0x22, 0x25, 0x2b, + 0x2c, 0x2a, 0x28, 0x26, 0x22, 0x1c, 0x16, 0x0f, + 0x04, 0xf5, 0xe8, 0xe1, 0xe0, 0xe6, 0xf0, 0xfe, + 0x0b, 0x12, 0x11, 0x0b, 0x05, 0x00, 0xfc, 0xfa, + 0xfa, 0xf8, 0xf1, 0xe6, 0xdd, 0xd9, 0xd7, 0xd6, + 0xd4, 0xd3, 0xd0, 0xcc, 0xc5, 0xc0, 0xc3, 0xc8, + 0xcd, 0xd3, 0xd8, 0xdc, 0xe1, 0xe9, 0xf2, 0xfc, + 0x06, 0x0f, 0x15, 0x17, 0x19, 0x1c, 0x20, 0x29, + 0x31, 0x35, 0x35, 0x34, 0x2d, 0x26, 0x22, 0x23, + 0x25, 0x27, 0x29, 0x2b, 0x2a, 0x27, 0x24, 0x22, + 0x1f, 0x17, 0x0b, 0xfe, 0xf1, 0xe6, 0xdf, 0xe0, + 0xe9, 0xf6, 0x03, 0x0b, 0x0e, 0x0d, 0x08, 0x01, + 0xfe, 0xff, 0xff, 0xfb, 0xf4, 0xec, 0xe5, 0xdf, + 0xda, 0xd8, 0xd9, 0xd8, 0xd3, 0xcd, 0xc7, 0xc4, + 0xc3, 0xc6, 0xcb, 0xcf, 0xd3, 0xd7, 0xdc, 0xe2, + 0xeb, 0xf4, 0xfe, 0x09, 0x10, 0x12, 0x14, 0x18, + 0x1e, 0x24, 0x2b, 0x33, 0x38, 0x35, 0x30, 0x2b, + 0x28, 0x25, 0x24, 0x27, 0x2b, 0x2b, 0x29, 0x28, + 0x28, 0x28, 0x25, 0x1f, 0x17, 0x0b, 0xfc, 0xec, + 0xe2, 0xe2, 0xe7, 0xef, 0xfa, 0x06, 0x0d, 0x0d, + 0x08, 0x03, 0x03, 0x03, 0x01, 0xfe, 0xfa, 0xf4, + 0xea, 0xe1, 0xde, 0xdd, 0xdb, 0xda, 0xd6, 0xd0, + 0xca, 0xc6, 0xc3, 0xc4, 0xc8, 0xcb, 0xce, 0xd1, + 0xd6, 0xda, 0xe0, 0xeb, 0xf7, 0x01, 0x07, 0x0c, + 0x10, 0x12, 0x15, 0x1d, 0x26, 0x2d, 0x32, 0x33, + 0x32, 0x2d, 0x28, 0x25, 0x26, 0x27, 0x29, 0x28, + 0x28, 0x29, 0x29, 0x28, 0x27, 0x27, 0x21, 0x15, + 0x05, 0xf5, 0xea, 0xe4, 0xe2, 0xe8, 0xf4, 0x00, + 0x07, 0x08, 0x07, 0x06, 0x04, 0x03, 0x04, 0x03, + 0xff, 0xf9, 0xf0, 0xe7, 0xe3, 0xe1, 0xdf, 0xde, + 0xdb, 0xd6, 0xcf, 0xc9, 0xc7, 0xc6, 0xc7, 0xca, + 0xce, 0xcf, 0xd0, 0xd4, 0xdc, 0xe5, 0xee, 0xf9, + 0x03, 0x08, 0x0a, 0x0d, 0x13, 0x19, 0x20, 0x28, + 0x30, 0x34, 0x33, 0x2e, 0x2a, 0x2a, 0x2a, 0x28, + 0x28, 0x2a, 0x2a, 0x2a, 0x28, 0x29, 0x2d, 0x2e, + 0x28, 0x1e, 0x12, 0x04, 0xf4, 0xe7, 0xe4, 0xe9, + 0xf0, 0xf8, 0x01, 0x06, 0x07, 0x06, 0x04, 0x04, + 0x06, 0x06, 0x03, 0xfc, 0xf5, 0xee, 0xe7, 0xe4, + 0xe4, 0xe2, 0xdd, 0xd8, 0xd3, 0xcd, 0xc7, 0xc5, + 0xc8, 0xca, 0xca, 0xca, 0xcd, 0xd0, 0xd3, 0xdb, + 0xe6, 0xf1, 0xfa, 0x00, 0x03, 0x08, 0x0d, 0x11, + 0x17, 0x22, 0x2b, 0x2f, 0x2e, 0x2d, 0x2d, 0x2b, + 0x28, 0x26, 0x28, 0x29, 0x28, 0x24, 0x24, 0x2a, + 0x2c, 0x2c, 0x2b, 0x27, 0x1c, 0x0c, 0xfb, 0xee, + 0xe7, 0xe7, 0xea, 0xf1, 0xfa, 0x01, 0x03, 0x02, + 0x02, 0x05, 0x06, 0x07, 0x06, 0x01, 0xf9, 0xf1, + 0xed, 0xea, 0xe7, 0xe4, 0xe2, 0xde, 0xd7, 0xd0, + 0xcc, 0xca, 0xc9, 0xca, 0xcb, 0xcb, 0xcb, 0xcc, + 0xcf, 0xd7, 0xe1, 0xe9, 0xf2, 0xfb, 0x02, 0x04, + 0x06, 0x0c, 0x15, 0x1f, 0x26, 0x2b, 0x2e, 0x31, + 0x2f, 0x2b, 0x2a, 0x2d, 0x2c, 0x29, 0x27, 0x26, + 0x26, 0x28, 0x2b, 0x2f, 0x31, 0x2e, 0x25, 0x17, + 0x08, 0xfa, 0xee, 0xe8, 0xe9, 0xef, 0xf6, 0xfc, + 0xff, 0x01, 0x01, 0x02, 0x07, 0x09, 0x07, 0x02, + 0xfd, 0xf8, 0xf0, 0xeb, 0xea, 0xe9, 0xe5, 0xe0, + 0xda, 0xd4, 0xcf, 0xca, 0xc9, 0xca, 0xcb, 0xc9, + 0xc7, 0xc7, 0xcc, 0xd1, 0xd6, 0xdf, 0xeb, 0xf5, + 0xfa, 0xfb, 0xff, 0x08, 0x0f, 0x14, 0x1c, 0x27, + 0x2c, 0x2c, 0x2b, 0x2c, 0x2d, 0x2d, 0x2b, 0x29, + 0x28, 0x26, 0x24, 0x24, 0x28, 0x2f, 0x32, 0x30, + 0x2b, 0x22, 0x14, 0x03, 0xf4, 0xec, 0xea, 0xec, + 0xf1, 0xf7, 0xfb, 0xfb, 0xfd, 0x01, 0x05, 0x06, + 0x07, 0x05, 0x01, 0xfa, 0xf4, 0xf0, 0xed, 0xeb, + 0xe8, 0xe4, 0xdf, 0xd8, 0xd1, 0xcd, 0xcd, 0xcc, + 0xca, 0xc8, 0xc8, 0xc9, 0xc9, 0xc9, 0xcf, 0xdc, + 0xe6, 0xec, 0xf2, 0xf8, 0xfe, 0x02, 0x07, 0x10, + 0x1a, 0x22, 0x28, 0x2a, 0x2c, 0x2e, 0x2f, 0x2f, + 0x2e, 0x2e, 0x2c, 0x27, 0x24, 0x26, 0x2a, 0x2e, + 0x31, 0x34, 0x33, 0x2c, 0x20, 0x11, 0x00, 0xf4, + 0xef, 0xef, 0xf1, 0xf4, 0xf7, 0xfa, 0xfc, 0xfe, + 0x02, 0x07, 0x08, 0x07, 0x03, 0xfe, 0xfa, 0xf5, + 0xf1, 0xef, 0xef, 0xeb, 0xe4, 0xdb, 0xd6, 0xd5, + 0xd2, 0xcd, 0xcb, 0xcd, 0xcc, 0xc7, 0xc4, 0xc8, + 0xcf, 0xd5, 0xdc, 0xe5, 0xed, 0xf3, 0xf7, 0xfb, + 0x02, 0x0b, 0x14, 0x1b, 0x21, 0x27, 0x2a, 0x2b, + 0x2c, 0x2f, 0x32, 0x30, 0x2b, 0x28, 0x26, 0x25, + 0x26, 0x2b, 0x2f, 0x33, 0x35, 0x33, 0x29, 0x19, + 0x09, 0xfc, 0xf5, 0xf1, 0xf0, 0xf1, 0xf4, 0xf6, + 0xf6, 0xf9, 0xff, 0x04, 0x05, 0x05, 0x05, 0x02, + 0xfd, 0xf6, 0xf3, 0xf5, 0xf3, 0xec, 0xe5, 0xe2, + 0xdf, 0xd8, 0xd1, 0xcf, 0xd1, 0xd0, 0xcb, 0xc7, + 0xc6, 0xc8, 0xcb, 0xcf, 0xd6, 0xe0, 0xe8, 0xed, + 0xf1, 0xf6, 0xfe, 0x05, 0x0b, 0x14, 0x1e, 0x22, + 0x24, 0x27, 0x2d, 0x30, 0x31, 0x30, 0x2d, 0x2a, + 0x26, 0x25, 0x25, 0x26, 0x2b, 0x32, 0x36, 0x37, + 0x30, 0x23, 0x14, 0x07, 0xfb, 0xf5, 0xf3, 0xf1, + 0xf1, 0xf2, 0xf4, 0xf7, 0xfc, 0xfe, 0x02, 0x06, + 0x06, 0x01, 0xfa, 0xf9, 0xfa, 0xf7, 0xf2, 0xee, + 0xec, 0xe7, 0xe0, 0xda, 0xd6, 0xd5, 0xd3, 0xd0, + 0xcd, 0xca, 0xc8, 0xc6, 0xc6, 0xcb, 0xd3, 0xdb, + 0xe0, 0xe6, 0xed, 0xf2, 0xf6, 0xfd, 0x07, 0x10, + 0x16, 0x1b, 0x20, 0x24, 0x29, 0x2f, 0x31, 0x30, + 0x2e, 0x2c, 0x29, 0x27, 0x24, 0x24, 0x29, 0x30, + 0x35, 0x38, 0x35, 0x2d, 0x1f, 0x10, 0x05, 0xfe, + 0xf8, 0xf3, 0xf0, 0xf2, 0xf5, 0xf5, 0xf6, 0xfc, + 0x04, 0x06, 0x02, 0x00, 0x00, 0xff, 0xfc, 0xf8, + 0xf6, 0xf5, 0xf1, 0xeb, 0xe4, 0xdf, 0xdc, 0xd9, + 0xd5, 0xd2, 0xd2, 0xce, 0xc8, 0xc6, 0xc7, 0xca, + 0xcd, 0xd2, 0xdc, 0xe3, 0xe6, 0xea, 0xf0, 0xf8, + 0x01, 0x09, 0x0f, 0x14, 0x19, 0x1e, 0x25, 0x2b, + 0x2e, 0x2f, 0x2f, 0x2e, 0x2b, 0x27, 0x23, 0x22, + 0x25, 0x2b, 0x31, 0x38, 0x39, 0x32, 0x26, 0x1b, + 0x11, 0x06, 0xfb, 0xf6, 0xf6, 0xf4, 0xf0, 0xf0, + 0xf5, 0xfc, 0x00, 0x01, 0x00, 0x01, 0x01, 0xfe, + 0xfb, 0xf9, 0xfa, 0xf8, 0xf3, 0xec, 0xe9, 0xe5, + 0xde, 0xd9, 0xd8, 0xd7, 0xd2, 0xce, 0xcb, 0xc8, + 0xc6, 0xc6, 0xc8, 0xce, 0xd6, 0xdc, 0xe0, 0xe4, + 0xea, 0xf2, 0xfa, 0x02, 0x07, 0x0c, 0x13, 0x1a, + 0x21, 0x26, 0x2a, 0x2e, 0x30, 0x30, 0x2d, 0x29, + 0x25, 0x22, 0x22, 0x27, 0x31, 0x37, 0x36, 0x34, + 0x30, 0x27, 0x19, 0x0c, 0x05, 0x00, 0xfa, 0xf3, + 0xef, 0xf1, 0xf5, 0xf9, 0xfc, 0xfe, 0x01, 0x03, + 0x01, 0xfe, 0xfe, 0xff, 0xfd, 0xf9, 0xf8, 0xf5, + 0xee, 0xe8, 0xe4, 0xe1, 0xdd, 0xd9, 0xd6, 0xd4, + 0xd0, 0xcb, 0xc8, 0xc6, 0xc8, 0xcc, 0xd2, 0xd7, + 0xdb, 0xde, 0xe5, 0xed, 0xf6, 0xfb, 0x00, 0x06, + 0x0e, 0x15, 0x1b, 0x21, 0x27, 0x2d, 0x2e, 0x2f, + 0x31, 0x2e, 0x25, 0x20, 0x22, 0x28, 0x2c, 0x30, + 0x35, 0x39, 0x36, 0x2b, 0x1f, 0x16, 0x0f, 0x07, + 0xfd, 0xf4, 0xf1, 0xf2, 0xf2, 0xf3, 0xf7, 0xfe, + 0xff, 0xfd, 0xff, 0x00, 0xfe, 0xfd, 0xfc, 0xfd, + 0xfb, 0xf6, 0xf0, 0xec, 0xe8, 0xe4, 0xdf, 0xdb, + 0xd9, 0xd7, 0xd3, 0xce, 0xc9, 0xc6, 0xc7, 0xca, + 0xce, 0xd1, 0xd4, 0xd8, 0xdf, 0xe8, 0xef, 0xf3, + 0xfa, 0x01, 0x06, 0x0d, 0x15, 0x1c, 0x21, 0x25, + 0x2c, 0x32, 0x32, 0x2c, 0x27, 0x25, 0x24, 0x24, + 0x27, 0x2d, 0x35, 0x39, 0x37, 0x2f, 0x28, 0x22, + 0x19, 0x0d, 0x03, 0xfd, 0xf7, 0xf2, 0xf1, 0xf4, + 0xf8, 0xfa, 0xfc, 0xfe, 0x00, 0xff, 0xfe, 0xfe, + 0x00, 0x00, 0xfd, 0xfa, 0xf6, 0xf2, 0xee, 0xe9, + 0xe4, 0xe0, 0xdd, 0xdc, 0xd8, 0xd1, 0xcb, 0xc8, + 0xc9, 0xcc, 0xcc, 0xcc, 0xd0, 0xd5, 0xda, 0xe1, + 0xe9, 0xf0, 0xf4, 0xf7, 0xff, 0x0a, 0x10, 0x13, + 0x18, 0x22, 0x2b, 0x2f, 0x2e, 0x2d, 0x2c, 0x28, + 0x24, 0x21, 0x24, 0x2d, 0x33, 0x34, 0x35, 0x34, + 0x30, 0x28, 0x1f, 0x16, 0x0d, 0x02, 0xfa, 0xf5, + 0xf4, 0xf3, 0xf4, 0xf6, 0xfa, 0xfc, 0xfd, 0xfc, + 0xfd, 0xff, 0xff, 0xff, 0xfd, 0xfb, 0xf9, 0xf5, + 0xf1, 0xec, 0xe6, 0xe2, 0xe1, 0xe0, 0xda, 0xd2, + 0xcd, 0xcd, 0xcc, 0xca, 0xc9, 0xcb, 0xcc, 0xce, + 0xd4, 0xdd, 0xe5, 0xe8, 0xeb, 0xf3, 0xfd, 0x02, + 0x07, 0x0c, 0x14, 0x1e, 0x25, 0x28, 0x2c, 0x30, + 0x30, 0x29, 0x22, 0x22, 0x26, 0x2a, 0x2d, 0x32, + 0x36, 0x36, 0x33, 0x2e, 0x29, 0x20, 0x15, 0x0a, + 0x02, 0xfc, 0xf7, 0xf4, 0xf4, 0xf7, 0xfa, 0xfb, + 0xfc, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xfe, 0xfd, + 0xfd, 0xfb, 0xf5, 0xef, 0xea, 0xe9, 0xe7, 0xe2, + 0xdc, 0xd7, 0xd3, 0xcf, 0xcd, 0xce, 0xcd, 0xc8, + 0xc7, 0xcc, 0xd3, 0xd8, 0xdd, 0xe1, 0xe8, 0xf1, + 0xf7, 0xfa, 0xfe, 0x07, 0x10, 0x16, 0x1b, 0x24, + 0x2d, 0x30, 0x2d, 0x29, 0x26, 0x24, 0x23, 0x26, + 0x2b, 0x2f, 0x32, 0x34, 0x35, 0x34, 0x2f, 0x26, + 0x1d, 0x12, 0x09, 0x01, 0xfa, 0xf6, 0xf5, 0xf6, + 0xf7, 0xf8, 0xf8, 0xf9, 0xfb, 0xfe, 0xfe, 0xfb, + 0xfb, 0xfe, 0xff, 0xfa, 0xf4, 0xf1, 0xef, 0xec, + 0xe7, 0xe5, 0xe1, 0xd9, 0xd2, 0xd1, 0xd2, 0xd0, + 0xcb, 0xc6, 0xc6, 0xcb, 0xd0, 0xd2, 0xd5, 0xdd, + 0xe6, 0xeb, 0xed, 0xf3, 0xfc, 0x02, 0x07, 0x0d, + 0x16, 0x20, 0x27, 0x2c, 0x2d, 0x2c, 0x28, 0x24, + 0x25, 0x27, 0x29, 0x2c, 0x2f, 0x33, 0x37, 0x37, + 0x33, 0x2e, 0x27, 0x1d, 0x12, 0x09, 0x01, 0xfc, + 0xf9, 0xf9, 0xf9, 0xf7, 0xf7, 0xfa, 0xfe, 0xfe, + 0xfb, 0xfb, 0xff, 0x00, 0xfe, 0xfc, 0xfa, 0xf5, + 0xf2, 0xf0, 0xef, 0xeb, 0xe4, 0xdc, 0xd8, 0xd8, + 0xd8, 0xd3, 0xcc, 0xc9, 0xcb, 0xcb, 0xca, 0xcc, + 0xd4, 0xdb, 0xe0, 0xe4, 0xe9, 0xf1, 0xf6, 0xfa, + 0x00, 0x07, 0x10, 0x18, 0x21, 0x28, 0x2b, 0x2b, + 0x28, 0x26, 0x26, 0x26, 0x26, 0x27, 0x2b, 0x31, + 0x34, 0x36, 0x36, 0x33, 0x2d, 0x25, 0x1b, 0x0f, + 0x06, 0x01, 0xff, 0xfb, 0xf6, 0xf5, 0xf9, 0xfa, + 0xf9, 0xf9, 0xfb, 0xfb, 0xfc, 0xfd, 0xff, 0xfe, + 0xf9, 0xf5, 0xf3, 0xf5, 0xf4, 0xed, 0xe4, 0xde, + 0xde, 0xdd, 0xd7, 0xd2, 0xd1, 0xcf, 0xcb, 0xc7, + 0xc7, 0xcc, 0xd1, 0xd4, 0xd9, 0xdf, 0xe5, 0xea, + 0xf0, 0xf5, 0xfa, 0x00, 0x07, 0x11, 0x1b, 0x23, + 0x26, 0x27, 0x28, 0x27, 0x26, 0x26, 0x25, 0x25, + 0x28, 0x2c, 0x31, 0x35, 0x35, 0x36, 0x35, 0x2e, + 0x20, 0x16, 0x10, 0x0b, 0x03, 0xfd, 0xfb, 0xfa, + 0xf9, 0xfa, 0xfa, 0xfb, 0xfb, 0xfa, 0xfc, 0xff, + 0x02, 0xff, 0xf9, 0xf6, 0xfa, 0xfc, 0xf6, 0xee, + 0xe9, 0xe7, 0xe4, 0xde, 0xda, 0xda, 0xd7, 0xd2, + 0xcc, 0xc9, 0xca, 0xcb, 0xcd, 0xd1, 0xd6, 0xdc, + 0xe1, 0xe6, 0xeb, 0xf1, 0xf4, 0xf9, 0x01, 0x0b, + 0x15, 0x1c, 0x21, 0x25, 0x27, 0x27, 0x27, 0x26, + 0x24, 0x24, 0x27, 0x2a, 0x2b, 0x2f, 0x36, 0x3a, + 0x37, 0x2f, 0x27, 0x1f, 0x17, 0x10, 0x08, 0x03, + 0xfe, 0xfb, 0xf9, 0xfa, 0xfb, 0xfa, 0xf7, 0xf7, + 0xfd, 0x02, 0x00, 0xfa, 0xf8, 0xfb, 0xfd, 0xfb, + 0xf7, 0xf3, 0xf0, 0xeb, 0xe5, 0xe1, 0xe0, 0xde, + 0xda, 0xd5, 0xcf, 0xcc, 0xca, 0xc9, 0xcb, 0xcf, + 0xd2, 0xd6, 0xdc, 0xe2, 0xe7, 0xea, 0xee, 0xf4, + 0xfb, 0x04, 0x0d, 0x15, 0x1a, 0x1e, 0x25, 0x28, + 0x26, 0x24, 0x26, 0x27, 0x25, 0x24, 0x27, 0x2e, + 0x35, 0x38, 0x38, 0x34, 0x2e, 0x27, 0x1e, 0x16, + 0x10, 0x09, 0x01, 0xfc, 0xfd, 0xff, 0xfb, 0xf6, + 0xf5, 0xfb, 0x00, 0xff, 0xfb, 0xfa, 0xfc, 0xfc, + 0xfc, 0xfd, 0xfc, 0xf9, 0xf4, 0xed, 0xe9, 0xe7, + 0xe4, 0xe1, 0xdf, 0xdb, 0xd5, 0xcf, 0xcc, 0xcb, + 0xcc, 0xcc, 0xce, 0xd4, 0xda, 0xde, 0xe2, 0xe7, + 0xe9, 0xed, 0xf5, 0xff, 0x06, 0x0c, 0x13, 0x1c, + 0x21, 0x23, 0x24, 0x27, 0x28, 0x26, 0x24, 0x22, + 0x25, 0x2b, 0x31, 0x35, 0x38, 0x37, 0x32, 0x2b, + 0x25, 0x20, 0x17, 0x0c, 0x04, 0x03, 0x03, 0xff, + 0xf7, 0xf5, 0xf8, 0xfb, 0xfd, 0xfc, 0xfb, 0xfb, + 0xfa, 0xfa, 0xfc, 0xfe, 0xfe, 0xfb, 0xf6, 0xf1, + 0xed, 0xe9, 0xe6, 0xe5, 0xe3, 0xde, 0xd8, 0xd3, + 0xd0, 0xcd, 0xcb, 0xcb, 0xcc, 0xcf, 0xd6, 0xdc, + 0xdf, 0xdf, 0xe3, 0xea, 0xf0, 0xf5, 0xfd, 0x06, + 0x0e, 0x15, 0x19, 0x1e, 0x23, 0x27, 0x28, 0x25, + 0x23, 0x22, 0x23, 0x26, 0x2d, 0x34, 0x37, 0x35, + 0x31, 0x31, 0x2f, 0x26, 0x1a, 0x11, 0x0d, 0x0b, + 0x06, 0xfe, 0xf9, 0xf8, 0xf8, 0xfa, 0xfc, 0xfc, + 0xfc, 0xfa, 0xf8, 0xf9, 0xfc, 0xfe, 0xff, 0xfe, + 0xfa, 0xf5, 0xef, 0xec, 0xeb, 0xe9, 0xe6, 0xe3, + 0xdd, 0xd7, 0xd3, 0xd1, 0xcd, 0xc9, 0xc9, 0xcf, + 0xd4, 0xd7, 0xd9, 0xdc, 0xe0, 0xe5, 0xe9, 0xef, + 0xf7, 0x00, 0x07, 0x0c, 0x11, 0x19, 0x20, 0x24, + 0x26, 0x27, 0x25, 0x20, 0x1e, 0x24, 0x2d, 0x31, + 0x31, 0x31, 0x34, 0x37, 0x33, 0x28, 0x1f, 0x19, + 0x15, 0x0f, 0x08, 0x02, 0xfd, 0xf9, 0xf8, 0xf9, + 0xfc, 0xfc, 0xfa, 0xf8, 0xf8, 0xf8, 0xf9, 0xfd, + 0x00, 0x00, 0xfc, 0xf7, 0xf3, 0xef, 0xed, 0xec, + 0xea, 0xe4, 0xe0, 0xde, 0xda, 0xd3, 0xcd, 0xcb, + 0xcb, 0xce, 0xd1, 0xd3, 0xd6, 0xda, 0xdd, 0xe0, + 0xe4, 0xeb, 0xf3, 0xfa, 0xff, 0x05, 0x0d, 0x13, + 0x19, 0x21, 0x28, 0x28, 0x23, 0x1e, 0x1f, 0x26, + 0x2a, 0x2a, 0x2c, 0x31, 0x37, 0x38, 0x33, 0x2c, + 0x26, 0x21, 0x1b, 0x14, 0x0f, 0x08, 0x00, 0xfb, + 0xfa, 0xfa, 0xfb, 0xfc, 0xfc, 0xf9, 0xf6, 0xf6, + 0xf9, 0xfc, 0xff, 0x01, 0xff, 0xf9, 0xf4, 0xf3, + 0xf2, 0xef, 0xeb, 0xe8, 0xe6, 0xe3, 0xde, 0xd6, + 0xd0, 0xce, 0xcd, 0xcd, 0xcd, 0xd1, 0xd6, 0xd7, + 0xd8, 0xdb, 0xe1, 0xe6, 0xec, 0xf3, 0xfb, 0x01, + 0x04, 0x09, 0x14, 0x20, 0x26, 0x23, 0x1f, 0x20, + 0x22, 0x24, 0x24, 0x25, 0x2a, 0x30, 0x34, 0x36, + 0x35, 0x31, 0x2b, 0x25, 0x21, 0x1c, 0x14, 0x0c, + 0x06, 0x00, 0xfb, 0xfb, 0xfd, 0xfd, 0xfc, 0xfa, + 0xf7, 0xf5, 0xf5, 0xfa, 0x00, 0x01, 0xff, 0xfa, + 0xf8, 0xf7, 0xf4, 0xf0, 0xed, 0xec, 0xec, 0xe8, + 0xe0, 0xdb, 0xd7, 0xd3, 0xce, 0xcd, 0xcf, 0xd2, + 0xd3, 0xd3, 0xd6, 0xda, 0xdc, 0xdf, 0xe7, 0xf1, + 0xf7, 0xf7, 0xf9, 0x03, 0x10, 0x1b, 0x1f, 0x1f, + 0x20, 0x22, 0x22, 0x21, 0x20, 0x23, 0x27, 0x2c, + 0x32, 0x35, 0x34, 0x31, 0x2f, 0x2b, 0x26, 0x21, + 0x1b, 0x13, 0x0a, 0x03, 0xff, 0xfd, 0xfd, 0xfe, + 0xfe, 0xfb, 0xf5, 0xf2, 0xf5, 0xf9, 0xfd, 0xfe, + 0xfd, 0xfc, 0xfb, 0xf8, 0xf3, 0xf0, 0xf0, 0xef, + 0xec, 0xe8, 0xe5, 0xe0, 0xda, 0xd3, 0xd0, 0xcf, + 0xcf, 0xce, 0xcf, 0xd3, 0xd5, 0xd4, 0xd5, 0xdb, + 0xe5, 0xed, 0xef, 0xef, 0xf3, 0xfe, 0x0a, 0x12, + 0x17, 0x1c, 0x20, 0x21, 0x21, 0x21, 0x1f, 0x20, + 0x25, 0x2b, 0x2f, 0x31, 0x34, 0x33, 0x30, 0x2e, + 0x2c, 0x28, 0x21, 0x19, 0x11, 0x0a, 0x02, 0xff, + 0x00, 0x02, 0x01, 0xfc, 0xf6, 0xf4, 0xf7, 0xf9, + 0xfa, 0xfc, 0x00, 0x01, 0xfd, 0xf9, 0xf6, 0xf5, + 0xf3, 0xf1, 0xef, 0xef, 0xec, 0xe4, 0xdd, 0xd9, + 0xd6, 0xd2, 0xce, 0xcf, 0xd3, 0xd5, 0xd2, 0xcf, + 0xd2, 0xdb, 0xe4, 0xe8, 0xe8, 0xeb, 0xf1, 0xf8, + 0x01, 0x0b, 0x12, 0x17, 0x1d, 0x21, 0x20, 0x1f, + 0x1f, 0x20, 0x23, 0x27, 0x2d, 0x30, 0x31, 0x31, + 0x32, 0x31, 0x2f, 0x2c, 0x28, 0x21, 0x18, 0x0e, + 0x06, 0x03, 0x04, 0x05, 0x02, 0xfc, 0xf9, 0xf8, + 0xf7, 0xf6, 0xf7, 0xfc, 0x00, 0x00, 0xfd, 0xfb, + 0xf9, 0xf6, 0xf3, 0xf3, 0xf4, 0xf2, 0xed, 0xe7, + 0xe3, 0xdf, 0xd9, 0xd2, 0xcf, 0xd3, 0xd5, 0xd2, + 0xcc, 0xcb, 0xd1, 0xd8, 0xde, 0xe2, 0xe4, 0xe6, + 0xeb, 0xf2, 0xf9, 0x01, 0x09, 0x11, 0x18, 0x1c, + 0x1e, 0x1e, 0x1c, 0x1c, 0x20, 0x24, 0x29, 0x2c, + 0x2d, 0x2f, 0x31, 0x31, 0x30, 0x2f, 0x2e, 0x28, + 0x1d, 0x11, 0x0b, 0x09, 0x08, 0x06, 0x03, 0x00, + 0xfd, 0xf8, 0xf4, 0xf5, 0xf8, 0xfb, 0xfd, 0xff, + 0x00, 0xfe, 0xf9, 0xf6, 0xf6, 0xf7, 0xf6, 0xf2, + 0xef, 0xee, 0xec, 0xe3, 0xd9, 0xd6, 0xd7, 0xd8, + 0xd6, 0xd2, 0xcd, 0xcb, 0xd0, 0xd7, 0xdc, 0xde, + 0xe0, 0xe4, 0xe8, 0xec, 0xf2, 0xfa, 0x02, 0x0b, + 0x13, 0x1a, 0x1c, 0x1c, 0x1b, 0x1b, 0x1f, 0x23, + 0x26, 0x29, 0x2d, 0x2f, 0x2f, 0x2e, 0x31, 0x34, + 0x34, 0x2d, 0x22, 0x19, 0x13, 0x0e, 0x0a, 0x09, + 0x09, 0x06, 0xff, 0xfa, 0xf8, 0xf7, 0xf7, 0xf8, + 0xfc, 0x01, 0x02, 0xfe, 0xf9, 0xf8, 0xfb, 0xf8, + 0xf4, 0xf3, 0xf6, 0xf4, 0xee, 0xe5, 0xdd, 0xda, + 0xdb, 0xdc, 0xd8, 0xd2, 0xcd, 0xcc, 0xce, 0xd2, + 0xd7, 0xdb, 0xdd, 0xe0, 0xe3, 0xe7, 0xec, 0xf2, + 0xfa, 0x03, 0x0d, 0x14, 0x17, 0x18, 0x18, 0x1a, + 0x1c, 0x1e, 0x22, 0x27, 0x2b, 0x2a, 0x29, 0x2b, + 0x31, 0x35, 0x34, 0x30, 0x29, 0x20, 0x17, 0x10, + 0x0e, 0x0d, 0x0b, 0x07, 0x02, 0xfe, 0xfb, 0xf6, + 0xf3, 0xf6, 0xfd, 0x00, 0xfe, 0xfc, 0xfd, 0xfc, + 0xfa, 0xf6, 0xf5, 0xf6, 0xf9, 0xf8, 0xf1, 0xe8, + 0xe1, 0xe0, 0xe0, 0xdf, 0xdb, 0xd5, 0xd0, 0xcd, + 0xcd, 0xd0, 0xd4, 0xd8, 0xdb, 0xde, 0xe2, 0xe4, + 0xe7, 0xeb, 0xf3, 0xfe, 0x07, 0x0e, 0x13, 0x16, + 0x19, 0x19, 0x18, 0x1b, 0x23, 0x28, 0x28, 0x26, + 0x28, 0x2c, 0x30, 0x33, 0x37, 0x35, 0x2f, 0x25, + 0x1c, 0x16, 0x14, 0x11, 0x0d, 0x0b, 0x0a, 0x05, + 0xfc, 0xf6, 0xf6, 0xf9, 0xfb, 0xfd, 0xfe, 0xff, + 0x00, 0xfe, 0xfa, 0xf6, 0xf6, 0xfa, 0xfd, 0xfb, + 0xf4, 0xec, 0xe6, 0xe4, 0xe4, 0xe3, 0xdf, 0xd9, + 0xd3, 0xcf, 0xce, 0xcf, 0xd2, 0xd5, 0xd9, 0xdd, + 0xe0, 0xe0, 0xe1, 0xe5, 0xee, 0xf7, 0xff, 0x06, + 0x0f, 0x14, 0x14, 0x13, 0x15, 0x1b, 0x20, 0x24, + 0x25, 0x25, 0x25, 0x28, 0x2b, 0x31, 0x37, 0x38, + 0x31, 0x29, 0x23, 0x1d, 0x16, 0x11, 0x11, 0x12, + 0x0e, 0x06, 0xfd, 0xf9, 0xf8, 0xf9, 0xf9, 0xf9, + 0xfc, 0x00, 0x01, 0xfd, 0xf8, 0xf5, 0xf6, 0xfb, + 0xfe, 0xfc, 0xf6, 0xef, 0xe9, 0xe6, 0xe7, 0xe6, + 0xe2, 0xdc, 0xd6, 0xd1, 0xce, 0xcd, 0xce, 0xd2, + 0xd7, 0xdb, 0xdc, 0xdc, 0xde, 0xe3, 0xe7, 0xed, + 0xf7, 0x02, 0x0a, 0x0e, 0x0f, 0x10, 0x13, 0x18, + 0x1d, 0x21, 0x24, 0x24, 0x22, 0x22, 0x28, 0x31, + 0x35, 0x35, 0x34, 0x30, 0x29, 0x1f, 0x18, 0x15, + 0x16, 0x16, 0x11, 0x09, 0x02, 0xfe, 0xfb, 0xf8, + 0xf6, 0xf7, 0xfc, 0x01, 0x01, 0xfd, 0xf7, 0xf5, + 0xf7, 0xfb, 0xff, 0xfe, 0xf9, 0xf2, 0xec, 0xea, + 0xea, 0xe9, 0xe6, 0xe1, 0xdc, 0xd7, 0xd1, 0xcc, + 0xcd, 0xd3, 0xd6, 0xd7, 0xda, 0xdc, 0xdd, 0xde, + 0xe1, 0xe7, 0xf1, 0xfc, 0x03, 0x07, 0x0b, 0x0e, + 0x10, 0x13, 0x1a, 0x22, 0x23, 0x20, 0x1f, 0x22, + 0x27, 0x2b, 0x30, 0x35, 0x38, 0x35, 0x2d, 0x23, + 0x1c, 0x1b, 0x1b, 0x19, 0x14, 0x0e, 0x08, 0x04, + 0xfe, 0xf8, 0xf6, 0xf8, 0xfc, 0x00, 0x01, 0xfd, + 0xf8, 0xf5, 0xf7, 0xfc, 0xff, 0xff, 0xfa, 0xf4, + 0xef, 0xee, 0xec, 0xe9, 0xe8, 0xe7, 0xe2, 0xda, + 0xd2, 0xcf, 0xcf, 0xd0, 0xd3, 0xd5, 0xd8, 0xdb, + 0xdb, 0xd9, 0xdb, 0xe3, 0xeb, 0xf3, 0xfc, 0x03, + 0x06, 0x06, 0x09, 0x10, 0x19, 0x1e, 0x1f, 0x1e, + 0x1f, 0x20, 0x22, 0x25, 0x2b, 0x34, 0x39, 0x37, + 0x2f, 0x26, 0x21, 0x20, 0x1e, 0x1b, 0x17, 0x13, + 0x0f, 0x09, 0x01, 0xfa, 0xf7, 0xf8, 0xfc, 0x01, + 0x01, 0xfd, 0xf8, 0xf4, 0xf6, 0xfd, 0x00, 0xfe, + 0xfb, 0xf9, 0xf4, 0xef, 0xec, 0xec, 0xed, 0xec, + 0xe6, 0xdf, 0xd8, 0xd4, 0xd0, 0xce, 0xd0, 0xd6, + 0xd9, 0xd9, 0xd8, 0xd9, 0xda, 0xdd, 0xe3, 0xee, + 0xf8, 0xfe, 0xff, 0x01, 0x06, 0x0e, 0x15, 0x19, + 0x1c, 0x1f, 0x1f, 0x1e, 0x1d, 0x20, 0x28, 0x32, + 0x38, 0x37, 0x31, 0x2b, 0x27, 0x23, 0x1f, 0x1d, + 0x1b, 0x19, 0x16, 0x0f, 0x05, 0xfd, 0xf9, 0xf8, + 0xfc, 0x01, 0x02, 0xfc, 0xf7, 0xf6, 0xf8, 0xfb, + 0xfd, 0xff, 0xff, 0xfc, 0xf6, 0xf0, 0xed, 0xef, + 0xf0, 0xed, 0xe9, 0xe5, 0xdf, 0xd7, 0xd0, 0xcf, + 0xd2, 0xd4, 0xd6, 0xd8, 0xd9, 0xd7, 0xd6, 0xd7, + 0xdf, 0xea, 0xf2, 0xf6, 0xf8, 0xfc, 0x02, 0x08, + 0x0e, 0x13, 0x1a, 0x1e, 0x1e, 0x1a, 0x18, 0x1c, + 0x25, 0x2e, 0x33, 0x34, 0x32, 0x2e, 0x2a, 0x25, + 0x20, 0x1e, 0x1e, 0x1d, 0x1a, 0x14, 0x0b, 0x00, + 0xf9, 0xfa, 0xfe, 0x01, 0x00, 0xfc, 0xf8, 0xf6, + 0xf6, 0xf8, 0xfb, 0x00, 0x01, 0xfc, 0xf6, 0xf3, + 0xf1, 0xf0, 0xef, 0xef, 0xef, 0xea, 0xe3, 0xdb, + 0xd5, 0xd2, 0xd1, 0xd2, 0xd6, 0xd9, 0xd9, 0xd5, + 0xd2, 0xd5, 0xdc, 0xe5, 0xec, 0xf0, 0xf4, 0xf8, + 0xfd, 0x01, 0x07, 0x0f, 0x19, 0x1d, 0x1c, 0x18, + 0x16, 0x1a, 0x22, 0x29, 0x2e, 0x32, 0x34, 0x32, + 0x2d, 0x28, 0x24, 0x20, 0x1f, 0x21, 0x21, 0x1b, + 0x10, 0x05, 0xfe, 0xfe, 0x01, 0x02, 0x00, 0xff, + 0xfc, 0xf7, 0xf4, 0xf7, 0xfd, 0x01, 0x00, 0xfe, + 0xfb, 0xf7, 0xf2, 0xf0, 0xf1, 0xf4, 0xf3, 0xee, + 0xe8, 0xe2, 0xdb, 0xd4, 0xd0, 0xd3, 0xd8, 0xda, + 0xd8, 0xd4, 0xd2, 0xd4, 0xda, 0xe0, 0xe5, 0xec, + 0xf1, 0xf4, 0xf6, 0xfa, 0x00, 0x0b, 0x15, 0x1a, + 0x19, 0x16, 0x15, 0x18, 0x1c, 0x23, 0x2b, 0x2f, + 0x32, 0x33, 0x30, 0x2b, 0x24, 0x21, 0x21, 0x25, + 0x26, 0x1f, 0x14, 0x0a, 0x05, 0x02, 0x00, 0x01, + 0x03, 0x01, 0xfc, 0xf6, 0xf5, 0xf8, 0xfb, 0xfe, + 0x00, 0x01, 0xfd, 0xf7, 0xf3, 0xf2, 0xf3, 0xf4, + 0xf3, 0xf2, 0xef, 0xe8, 0xdf, 0xd6, 0xd2, 0xd5, + 0xd9, 0xda, 0xd6, 0xd4, 0xd3, 0xd4, 0xd6, 0xdb, + 0xe1, 0xe8, 0xee, 0xf0, 0xf0, 0xf3, 0xfb, 0x06, + 0x0f, 0x15, 0x17, 0x15, 0x13, 0x15, 0x19, 0x1f, + 0x25, 0x2b, 0x30, 0x34, 0x32, 0x2c, 0x24, 0x21, + 0x25, 0x28, 0x27, 0x22, 0x1b, 0x12, 0x08, 0x03, + 0x03, 0x06, 0x06, 0x02, 0xfd, 0xf9, 0xf7, 0xf6, + 0xf8, 0xfd, 0x02, 0x02, 0xfd, 0xf9, 0xf6, 0xf4, + 0xf4, 0xf4, 0xf4, 0xf6, 0xf5, 0xee, 0xe3, 0xdb, + 0xd8, 0xd9, 0xda, 0xda, 0xd8, 0xd5, 0xd4, 0xd4, + 0xd3, 0xd6, 0xdf, 0xe7, 0xeb, 0xeb, 0xec, 0xee, + 0xf5, 0x00, 0x0a, 0x11, 0x13, 0x13, 0x12, 0x13, + 0x17, 0x1a, 0x1e, 0x26, 0x30, 0x34, 0x32, 0x2b, + 0x26, 0x25, 0x26, 0x27, 0x29, 0x28, 0x21, 0x16, + 0x0c, 0x07, 0x07, 0x08, 0x06, 0x04, 0x01, 0xfb, + 0xf6, 0xf5, 0xf8, 0xfd, 0x01, 0x01, 0xfe, 0xfc, + 0xf9, 0xf5, 0xf2, 0xf2, 0xf7, 0xfa, 0xf8, 0xf1, + 0xe8, 0xe0, 0xdd, 0xdc, 0xda, 0xd9, 0xd9, 0xd8, + 0xd4, 0xd1, 0xd1, 0xd5, 0xdc, 0xe3, 0xe8, 0xe8, + 0xe7, 0xe9, 0xef, 0xf9, 0x04, 0x0b, 0x0e, 0x10, + 0x12, 0x13, 0x12, 0x13, 0x19, 0x24, 0x2d, 0x30, + 0x30, 0x2d, 0x28, 0x25, 0x25, 0x28, 0x2c, 0x2c, + 0x24, 0x1b, 0x13, 0x0d, 0x0a, 0x09, 0x0a, 0x08, + 0x04, 0xfd, 0xf7, 0xf5, 0xf8, 0xfc, 0xfe, 0xff, + 0x01, 0xff, 0xfa, 0xf5, 0xf2, 0xf3, 0xf8, 0xfc, + 0xf9, 0xf3, 0xed, 0xe7, 0xe1, 0xdd, 0xdc, 0xdc, + 0xdc, 0xda, 0xd6, 0xd1, 0xd0, 0xd3, 0xd9, 0xe0, + 0xe5, 0xe6, 0xe4, 0xe4, 0xeb, 0xf4, 0xfd, 0x03, + 0x0a, 0x10, 0x12, 0x10, 0x0e, 0x0f, 0x16, 0x1f, + 0x27, 0x2d, 0x30, 0x2e, 0x28, 0x24, 0x26, 0x2a, + 0x2d, 0x2d, 0x29, 0x21, 0x19, 0x11, 0x0c, 0x0c, + 0x0e, 0x0d, 0x06, 0xff, 0xfa, 0xf8, 0xf7, 0xf9, + 0xfc, 0xff, 0x02, 0x02, 0xfc, 0xf4, 0xf2, 0xf5, + 0xf8, 0xfa, 0xfa, 0xf7, 0xf2, 0xec, 0xe5, 0xe0, + 0xdf, 0xdf, 0xdf, 0xdc, 0xd7, 0xd2, 0xcf, 0xd1, + 0xd7, 0xdf, 0xe3, 0xe2, 0xe0, 0xe3, 0xe7, 0xed, + 0xf3, 0xfc, 0x06, 0x0d, 0x0e, 0x0c, 0x0c, 0x0d, + 0x10, 0x18, 0x23, 0x2c, 0x2e, 0x2b, 0x27, 0x24, + 0x26, 0x29, 0x2c, 0x2d, 0x2d, 0x27, 0x1c, 0x13, + 0x10, 0x10, 0x11, 0x0f, 0x09, 0x03, 0xfe, 0xfa, + 0xf6, 0xf6, 0xfa, 0x00, 0x03, 0x01, 0xfc, 0xf6, + 0xf3, 0xf4, 0xf7, 0xf9, 0xfb, 0xfa, 0xf6, 0xef, + 0xe8, 0xe4, 0xe2, 0xe2, 0xe2, 0xe0, 0xd9, 0xd2, + 0xce, 0xd1, 0xd7, 0xdd, 0xdf, 0xdf, 0xe1, 0xe2, + 0xe2, 0xe5, 0xed, 0xf7, 0x01, 0x08, 0x0c, 0x0c, + 0x0a, 0x09, 0x0c, 0x14, 0x1f, 0x28, 0x2b, 0x29, + 0x27, 0x25, 0x24, 0x27, 0x2c, 0x30, 0x2f, 0x2a, + 0x21, 0x18, 0x15, 0x15, 0x14, 0x11, 0x0e, 0x0a, + 0x04, 0xfc, 0xf7, 0xf6, 0xfa, 0x00, 0x03, 0x02, + 0xfe, 0xf9, 0xf6, 0xf5, 0xf6, 0xf9, 0xfc, 0xfb, + 0xf9, 0xf4, 0xed, 0xe7, 0xe5, 0xe6, 0xe7, 0xe4, + 0xdb, 0xd3, 0xd0, 0xd3, 0xd6, 0xd9, 0xdd, 0xe1, + 0xe1, 0xdf, 0xdf, 0xe2, 0xe7, 0xf0, 0xf9, 0x03, + 0x0a, 0x0b, 0x07, 0x04, 0x08, 0x10, 0x1a, 0x22, + 0x28, 0x2a, 0x27, 0x23, 0x22, 0x25, 0x2b, 0x31, + 0x31, 0x2b, 0x24, 0x1e, 0x1a, 0x17, 0x15, 0x14, + 0x13, 0x0f, 0x08, 0xff, 0xf8, 0xf7, 0xfa, 0xff, + 0x02, 0x03, 0x00, 0xfb, 0xf7, 0xf5, 0xf5, 0xf8, + 0xfb, 0xfc, 0xfc, 0xf7, 0xef, 0xe8, 0xe8, 0xeb, + 0xeb, 0xe5, 0xde, 0xd7, 0xd3, 0xd1, 0xd3, 0xd7, + 0xdc, 0xdf, 0xe0, 0xde, 0xde, 0xdf, 0xe1, 0xe7, + 0xf3, 0xff, 0x06, 0x06, 0x04, 0x03, 0x04, 0x0a, + 0x14, 0x1d, 0x25, 0x29, 0x26, 0x21, 0x20, 0x24, + 0x2b, 0x30, 0x30, 0x2d, 0x28, 0x22, 0x1d, 0x19, + 0x17, 0x18, 0x18, 0x14, 0x0c, 0x03, 0xfc, 0xf8, + 0xf9, 0xfd, 0x01, 0x03, 0x01, 0xfd, 0xf9, 0xf6, + 0xf5, 0xf6, 0xfa, 0xff, 0xfe, 0xf7, 0xf0, 0xed, + 0xed, 0xed, 0xed, 0xe9, 0xe3, 0xdc, 0xd5, 0xd1, + 0xd2, 0xd7, 0xda, 0xdd, 0xdf, 0xe0, 0xde, 0xdb, + 0xdc, 0xe2, 0xed, 0xf9, 0x01, 0x03, 0x02, 0x01, + 0x00, 0x04, 0x0c, 0x18, 0x22, 0x26, 0x24, 0x20, + 0x1f, 0x22, 0x28, 0x2d, 0x2e, 0x2e, 0x2c, 0x26, + 0x1f, 0x1a, 0x19, 0x1b, 0x1b, 0x18, 0x11, 0x08, + 0x00, 0xfa, 0xf9, 0xfd, 0x01, 0x01, 0x01, 0x00, + 0xfc, 0xf5, 0xf2, 0xf5, 0xfb, 0xff, 0xfd, 0xf8, + 0xf2, 0xef, 0xee, 0xef, 0xef, 0xee, 0xe9, 0xe0, + 0xd8, 0xd5, 0xd3, 0xd4, 0xd8, 0xdc, 0xe0, 0xe1, + 0xdd, 0xd9, 0xd8, 0xdd, 0xe7, 0xf1, 0xfa, 0xff, + 0x01, 0xfe, 0xfc, 0xfe, 0x07, 0x13, 0x1e, 0x22, + 0x21, 0x1e, 0x1e, 0x20, 0x24, 0x29, 0x2e, 0x30, + 0x2e, 0x28, 0x21, 0x1c, 0x1c, 0x1d, 0x1e, 0x1d, + 0x17, 0x0d, 0x04, 0xfe, 0xfc, 0xfb, 0xfe, 0x02, + 0x05, 0x03, 0xfc, 0xf6, 0xf3, 0xf6, 0xfb, 0xfe, + 0xfd, 0xfa, 0xf5, 0xf0, 0xef, 0xf1, 0xf3, 0xf1, + 0xec, 0xe5, 0xdd, 0xd8, 0xd4, 0xd3, 0xd6, 0xdc, + 0xe1, 0xe1, 0xdc, 0xd8, 0xd7, 0xda, 0xe0, 0xea, + 0xf5, 0xfd, 0xff, 0xfb, 0xf8, 0xf9, 0x02, 0x0e, + 0x17, 0x1d, 0x1f, 0x1e, 0x1d, 0x1d, 0x20, 0x26, + 0x2d, 0x2f, 0x2e, 0x2a, 0x24, 0x1e, 0x1c, 0x1f, + 0x22, 0x20, 0x1a, 0x13, 0x0b, 0x03, 0xfd, 0xfb, + 0xfd, 0x03, 0x06, 0x03, 0xfd, 0xf8, 0xf5, 0xf6, + 0xfa, 0xfe, 0xff, 0xfb, 0xf6, 0xf2, 0xf1, 0xf3, + 0xf4, 0xf3, 0xf0, 0xeb, 0xe4, 0xdb, 0xd4, 0xd2, + 0xd6, 0xdb, 0xdf, 0xe0, 0xde, 0xda, 0xd7, 0xd6, + 0xdb, 0xe4, 0xf0, 0xf9, 0xfb, 0xf8, 0xf5, 0xf6, + 0xfd, 0x07, 0x10, 0x18, 0x1d, 0x1d, 0x1a, 0x1a, + 0x1e, 0x23, 0x29, 0x2e, 0x30, 0x2c, 0x24, 0x20, + 0x1f, 0x21, 0x23, 0x22, 0x1f, 0x1a, 0x12, 0x07, + 0xfe, 0xfc, 0xff, 0x03, 0x06, 0x05, 0x00, 0xfa, + 0xf6, 0xf6, 0xfa, 0xfe, 0xff, 0xfc, 0xf6, 0xf3, + 0xf3, 0xf3, 0xf4, 0xf5, 0xf5, 0xf2, 0xea, 0xe0, + 0xd7, 0xd4, 0xd6, 0xda, 0xde, 0xe1, 0xe0, 0xdc, + 0xd7, 0xd4, 0xd6, 0xe0, 0xec, 0xf5, 0xf7, 0xf5, + 0xf4, 0xf4, 0xf8, 0x00, 0x0b, 0x14, 0x18, 0x1b, + 0x1b, 0x19, 0x19, 0x1f, 0x27, 0x2e, 0x30, 0x2c, + 0x26, 0x22, 0x21, 0x20, 0x22, 0x24, 0x24, 0x21, + 0x18, 0x0d, 0x04, 0xff, 0x00, 0x04, 0x07, 0x06, + 0x02, 0xfc, 0xf7, 0xf7, 0xfb, 0xfe, 0xfe, 0xfc, + 0xf9, 0xf6, 0xf4, 0xf3, 0xf4, 0xf6, 0xf9, 0xf7, + 0xef, 0xe5, 0xdc, 0xd7, 0xd6, 0xd8, 0xdd, 0xe1, + 0xe3, 0xdf, 0xd7, 0xd2, 0xd4, 0xdd, 0xe6, 0xef, + 0xf4, 0xf4, 0xf1, 0xf0, 0xf4, 0xfb, 0x04, 0x0d, + 0x15, 0x19, 0x19, 0x15, 0x15, 0x1c, 0x25, 0x2b, + 0x2d, 0x2b, 0x29, 0x25, 0x21, 0x1f, 0x22, 0x26, + 0x28, 0x25, 0x1d, 0x13, 0x09, 0x03, 0x01, 0x04, + 0x08, 0x08, 0x03, 0xfd, 0xfa, 0xf9, 0xfb, 0xfd, + 0xfe, 0xfd, 0xfb, 0xf8, 0xf4, 0xf2, 0xf4, 0xf7, + 0xfa, 0xfa, 0xf4, 0xeb, 0xe2, 0xdb, 0xd6, 0xd7, + 0xdd, 0xe3, 0xe4, 0xdf, 0xd9, 0xd3, 0xd3, 0xd9, + 0xe2, 0xeb, 0xf1, 0xf2, 0xf0, 0xef, 0xf0, 0xf5, + 0xfd, 0x08, 0x12, 0x16, 0x15, 0x13, 0x14, 0x19, + 0x20, 0x27, 0x2b, 0x2c, 0x2a, 0x25, 0x21, 0x1f, + 0x22, 0x26, 0x29, 0x28, 0x23, 0x1a, 0x0e, 0x06, + 0x04, 0x07, 0x09, 0x09, 0x05, 0xff, 0xfd, 0xfb, + 0xfb, 0xfc, 0xfe, 0xff, 0xfd, 0xf9, 0xf4, 0xf2, + 0xf4, 0xf8, 0xfb, 0xfb, 0xf9, 0xf3, 0xe9, 0xde, + 0xd8, 0xd8, 0xdd, 0xe2, 0xe4, 0xe2, 0xdb, 0xd4, + 0xd2, 0xd6, 0xdf, 0xe7, 0xec, 0xef, 0xf0, 0xee, + 0xeb, 0xee, 0xf7, 0x03, 0x0c, 0x11, 0x11, 0x11, + 0x12, 0x15, 0x1b, 0x23, 0x29, 0x2c, 0x2a, 0x26, + 0x22, 0x1f, 0x20, 0x24, 0x29, 0x2b, 0x28, 0x1f, + 0x13, 0x0b, 0x08, 0x09, 0x0a, 0x09, 0x06, 0x02, + 0xff, 0xfd, 0xfc, 0xfc, 0xff, 0x01, 0xff, 0xf9, + 0xf5, 0xf4, 0xf4, 0xf5, 0xf9, 0xfd, 0xfd, 0xf8, + 0xee, 0xe3, 0xdb, 0xd9, 0xdc, 0xe2, 0xe6, 0xe3, + 0xdc, 0xd5, 0xd2, 0xd5, 0xda, 0xe1, 0xe9, 0xee, + 0xee, 0xea, 0xe8, 0xea, 0xf2, 0xfc, 0x05, 0x0b, + 0x0e, 0x0f, 0x0f, 0x11, 0x17, 0x1f, 0x25, 0x29, + 0x2a, 0x27, 0x22, 0x1e, 0x1e, 0x22, 0x29, 0x2d, + 0x2b, 0x23, 0x19, 0x11, 0x0c, 0x0b, 0x0b, 0x0a, + 0x08, 0x06, 0x01, 0xfd, 0xfc, 0xfe, 0x01, 0x01, + 0xff, 0xfc, 0xf8, 0xf4, 0xf2, 0xf4, 0xf8, 0xfe, + 0x00, 0xfd, 0xf5, 0xe9, 0xdf, 0xdb, 0xdd, 0xe3, + 0xe6, 0xe4, 0xdf, 0xd9, 0xd4, 0xd3, 0xd6, 0xde, + 0xe7, 0xec, 0xec, 0xe8, 0xe6, 0xe8, 0xee, 0xf6, + 0xff, 0x06, 0x0a, 0x0b, 0x0c, 0x0e, 0x13, 0x1a, + 0x21, 0x27, 0x2a, 0x29, 0x23, 0x1d, 0x1c, 0x21, + 0x28, 0x2d, 0x2d, 0x26, 0x1e, 0x17, 0x12, 0x0e, + 0x0c, 0x0d, 0x0c, 0x08, 0x02, 0xff, 0xfe, 0xff, + 0x00, 0x01, 0x01, 0xff, 0xfa, 0xf5, 0xf2, 0xf2, + 0xf6, 0xfc, 0x02, 0x02, 0xfa, 0xed, 0xe3, 0xde, + 0xdf, 0xe2, 0xe5, 0xe5, 0xe2, 0xdc, 0xd5, 0xd1, + 0xd4, 0xdc, 0xe4, 0xe9, 0xea, 0xe8, 0xe5, 0xe4, + 0xe9, 0xf0, 0xf9, 0x01, 0x05, 0x07, 0x09, 0x0b, + 0x0e, 0x14, 0x1d, 0x24, 0x29, 0x28, 0x23, 0x1d, + 0x1b, 0x1f, 0x26, 0x2b, 0x2c, 0x2a, 0x24, 0x1c, + 0x15, 0x11, 0x10, 0x0f, 0x0e, 0x09, 0x05, 0x01, + 0xff, 0xff, 0x00, 0x02, 0x03, 0x01, 0xfc, 0xf7, + 0xf2, 0xf0, 0xf3, 0xfb, 0x02, 0x04, 0xfd, 0xf3, + 0xe9, 0xe3, 0xe0, 0xe2, 0xe5, 0xe8, 0xe6, 0xdf, + 0xd7, 0xd2, 0xd3, 0xd9, 0xe1, 0xe6, 0xe9, 0xe8, + 0xe4, 0xe2, 0xe5, 0xed, 0xf4, 0xfb, 0x00, 0x04, + 0x05, 0x07, 0x09, 0x0e, 0x17, 0x22, 0x28, 0x28, + 0x22, 0x1d, 0x1b, 0x1e, 0x23, 0x29, 0x2d, 0x2c, + 0x27, 0x20, 0x19, 0x15, 0x13, 0x12, 0x10, 0x0d, + 0x08, 0x03, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, + 0x00, 0xf9, 0xf2, 0xee, 0xf2, 0xfa, 0x01, 0x04, + 0x01, 0xf9, 0xef, 0xe7, 0xe2, 0xe3, 0xe7, 0xea, + 0xe8, 0xe2, 0xda, 0xd4, 0xd3, 0xd7, 0xde, 0xe5, + 0xe8, 0xe6, 0xe3, 0xe2, 0xe3, 0xe8, 0xef, 0xf5, + 0xfb, 0x00, 0x03, 0x02, 0x03, 0x09, 0x13, 0x1e, + 0x25, 0x25, 0x22, 0x1e, 0x1b, 0x1b, 0x20, 0x26, + 0x2b, 0x2c, 0x29, 0x23, 0x1e, 0x19, 0x16, 0x15, + 0x13, 0x0f, 0x0a, 0x05, 0x02, 0x00, 0xff, 0x01, + 0x05, 0x07, 0x03, 0xfb, 0xf2, 0xee, 0xf0, 0xf6, + 0xfd, 0x03, 0x03, 0xfe, 0xf4, 0xea, 0xe5, 0xe5, + 0xe8, 0xea, 0xea, 0xe5, 0xdd, 0xd5, 0xd3, 0xd6, + 0xdc, 0xe2, 0xe6, 0xe5, 0xe3, 0xe1, 0xe1, 0xe4, + 0xe9, 0xf0, 0xf8, 0xfd, 0xfe, 0xfd, 0xfe, 0x04, + 0x0e, 0x18, 0x20, 0x24, 0x23, 0x1e, 0x1a, 0x1a, + 0x1d, 0x23, 0x29, 0x2c, 0x2b, 0x26, 0x21, 0x1d, + 0x1a, 0x18, 0x16, 0x12, 0x0e, 0x09, 0x05, 0x00, + 0xfe, 0x02, 0x07, 0x09, 0x06, 0xfe, 0xf5, 0xf0, + 0xef, 0xf3, 0xfa, 0x02, 0x05, 0x00, 0xf8, 0xef, + 0xe8, 0xe6, 0xe9, 0xec, 0xed, 0xe8, 0xe1, 0xd8, + 0xd4, 0xd5, 0xdb, 0xe1, 0xe4, 0xe4, 0xe4, 0xe2, + 0xe0, 0xe0, 0xe4, 0xec, 0xf5, 0xfa, 0xfa, 0xf9, + 0xfa, 0xfe, 0x07, 0x12, 0x1c, 0x22, 0x22, 0x1e, + 0x1a, 0x18, 0x1a, 0x20, 0x26, 0x2a, 0x2b, 0x27, + 0x23, 0x21, 0x1e, 0x1a, 0x18, 0x16, 0x13, 0x0d, + 0x06, 0x01, 0xff, 0x02, 0x07, 0x0a, 0x09, 0x03, + 0xf9, 0xf1, 0xee, 0xf1, 0xf8, 0xff, 0x04, 0x03, + 0xfc, 0xf3, 0xec, 0xe9, 0xea, 0xee, 0xef, 0xec, + 0xe4, 0xdb, 0xd6, 0xd7, 0xda, 0xde, 0xe2, 0xe4, + 0xe5, 0xe2, 0xde, 0xde, 0xe2, 0xe9, 0xf1, 0xf6, + 0xf8, 0xf6, 0xf6, 0xf8, 0x00, 0x0c, 0x17, 0x1e, + 0x21, 0x1f, 0x1b, 0x17, 0x18, 0x1d, 0x24, 0x27, + 0x29, 0x28, 0x26, 0x23, 0x20, 0x1d, 0x1b, 0x1b, + 0x18, 0x11, 0x09, 0x03, 0x00, 0x02, 0x06, 0x0b, + 0x0c, 0x07, 0xfe, 0xf4, 0xef, 0xef, 0xf5, 0xfd, + 0x03, 0x04, 0xff, 0xf7, 0xef, 0xeb, 0xec, 0xf0, + 0xf2, 0xee, 0xe7, 0xdf, 0xda, 0xd8, 0xd8, 0xdc, + 0xe1, 0xe5, 0xe6, 0xe3, 0xdf, 0xdc, 0xdf, 0xe5, + 0xee, 0xf3, 0xf5, 0xf4, 0xf2, 0xf4, 0xfa, 0x04, + 0x10, 0x1a, 0x1f, 0x1e, 0x1a, 0x17, 0x17, 0x1b, + 0x20, 0x24, 0x27, 0x28, 0x28, 0x25, 0x21, 0x1f, + 0x1f, 0x1e, 0x1c, 0x16, 0x0d, 0x06, 0x01, 0x02, + 0x06, 0x0c, 0x0e, 0x0b, 0x03, 0xf8, 0xf1, 0xee, + 0xf2, 0xfa, 0x02, 0x05, 0x02, 0xfa, 0xf2, 0xed, + 0xef, 0xf2, 0xf3, 0xf0, 0xeb, 0xe5, 0xde, 0xd9, + 0xd8, 0xdb, 0xe0, 0xe4, 0xe6, 0xe4, 0xdf, 0xdc, + 0xdd, 0xe2, 0xea, 0xf0, 0xf3, 0xf2, 0xf0, 0xef, + 0xf3, 0xfd, 0x09, 0x15, 0x1b, 0x1c, 0x19, 0x17, + 0x18, 0x19, 0x1b, 0x20, 0x25, 0x28, 0x27, 0x25, + 0x22, 0x21, 0x21, 0x21, 0x20, 0x1b, 0x12, 0x09, + 0x03, 0x02, 0x06, 0x0b, 0x10, 0x0f, 0x08, 0xfe, + 0xf4, 0xef, 0xf0, 0xf7, 0x00, 0x06, 0x03, 0xfc, + 0xf5, 0xf1, 0xf1, 0xf3, 0xf4, 0xf3, 0xef, 0xe9, + 0xe2, 0xdb, 0xd8, 0xda, 0xdf, 0xe4, 0xe7, 0xe4, + 0xe0, 0xdc, 0xdc, 0xe0, 0xe7, 0xee, 0xf2, 0xf1, + 0xef, 0xec, 0xed, 0xf6, 0x03, 0x0e, 0x15, 0x19, + 0x19, 0x18, 0x17, 0x17, 0x19, 0x1e, 0x22, 0x26, + 0x26, 0x25, 0x22, 0x22, 0x23, 0x24, 0x24, 0x1f, + 0x17, 0x0e, 0x06, 0x03, 0x05, 0x0b, 0x10, 0x11, + 0x0d, 0x04, 0xf8, 0xf0, 0xef, 0xf6, 0xfe, 0x03, + 0x03, 0xfe, 0xf8, 0xf4, 0xf3, 0xf4, 0xf5, 0xf5, + 0xf3, 0xee, 0xe6, 0xde, 0xd9, 0xda, 0xdf, 0xe4, + 0xe6, 0xe5, 0xe1, 0xdd, 0xdb, 0xdd, 0xe3, 0xeb, + 0xf0, 0xf1, 0xed, 0xe9, 0xea, 0xf1, 0xfb, 0x06, + 0x0f, 0x15, 0x18, 0x17, 0x16, 0x15, 0x16, 0x1a, + 0x20, 0x23, 0x25, 0x23, 0x22, 0x22, 0x23, 0x25, + 0x27, 0x24, 0x1d, 0x12, 0x09, 0x05, 0x05, 0x09, + 0x0f, 0x14, 0x12, 0x09, 0xfd, 0xf3, 0xf0, 0xf5, + 0xfc, 0x01, 0x02, 0x00, 0xfb, 0xf6, 0xf4, 0xf4, + 0xf5, 0xf7, 0xf7, 0xf2, 0xea, 0xe1, 0xdb, 0xda, + 0xde, 0xe3, 0xe6, 0xe6, 0xe3, 0xde, 0xda, 0xdb, + 0xe1, 0xe9, 0xef, 0xef, 0xec, 0xe8, 0xe7, 0xeb, + 0xf4, 0xfe, 0x08, 0x10, 0x15, 0x16, 0x15, 0x14, + 0x15, 0x18, 0x1d, 0x21, 0x23, 0x22, 0x21, 0x20, + 0x22, 0x26, 0x29, 0x27, 0x22, 0x19, 0x0f, 0x07, + 0x04, 0x07, 0x0f, 0x15, 0x16, 0x0e, 0x02, 0xf8, + 0xf3, 0xf4, 0xf9, 0xfe, 0x01, 0x00, 0xfd, 0xf9, + 0xf5, 0xf4, 0xf6, 0xf9, 0xfa, 0xf6, 0xef, 0xe5, + 0xdf, 0xdc, 0xdd, 0xe1, 0xe6, 0xe7, 0xe4, 0xdf, + 0xda, 0xda, 0xe0, 0xe7, 0xec, 0xee, 0xec, 0xe8, + 0xe6, 0xe7, 0xed, 0xf6, 0x01, 0x0b, 0x11, 0x14, + 0x14, 0x13, 0x13, 0x16, 0x1a, 0x1f, 0x21, 0x20, + 0x1f, 0x1f, 0x22, 0x25, 0x29, 0x2a, 0x27, 0x1f, + 0x14, 0x09, 0x04, 0x06, 0x0e, 0x15, 0x18, 0x12, + 0x07, 0xfd, 0xf6, 0xf5, 0xf8, 0xfc, 0xff, 0x00, + 0xff, 0xfa, 0xf6, 0xf4, 0xf6, 0xfa, 0xfc, 0xf9, + 0xf3, 0xeb, 0xe2, 0xdd, 0xdd, 0xe1, 0xe6, 0xe8, + 0xe5, 0xe0, 0xdb, 0xda, 0xde, 0xe5, 0xea, 0xed, + 0xec, 0xe8, 0xe6, 0xe5, 0xe8, 0xef, 0xf9, 0x04, + 0x0c, 0x11, 0x12, 0x11, 0x11, 0x14, 0x18, 0x1d, + 0x1f, 0x1e, 0x1d, 0x1e, 0x20, 0x23, 0x28, 0x2c, + 0x2b, 0x25, 0x1a, 0x0d, 0x06, 0x06, 0x0d, 0x15, + 0x18, 0x15, 0x0d, 0x03, 0xfb, 0xf7, 0xf7, 0xfa, + 0xfe, 0x01, 0x00, 0xfb, 0xf7, 0xf5, 0xf7, 0xfa, + 0xfc, 0xfc, 0xf8, 0xf0, 0xe6, 0xdf, 0xde, 0xe1, + 0xe6, 0xe8, 0xe6, 0xe1, 0xdc, 0xda, 0xdd, 0xe3, + 0xe8, 0xec, 0xec, 0xea, 0xe6, 0xe3, 0xe4, 0xe9, + 0xf2, 0xfd, 0x06, 0x0c, 0x0f, 0x0f, 0x10, 0x13, + 0x17, 0x1a, 0x1c, 0x1d, 0x1c, 0x1c, 0x1c, 0x1f, + 0x25, 0x2c, 0x2f, 0x2a, 0x1f, 0x12, 0x09, 0x07, + 0x0c, 0x13, 0x18, 0x17, 0x11, 0x09, 0x00, 0xfa, + 0xf8, 0xfa, 0xfe, 0x00, 0xff, 0xfc, 0xf8, 0xf5, + 0xf6, 0xf9, 0xfd, 0xff, 0xfc, 0xf4, 0xea, 0xe2, + 0xdf, 0xe1, 0xe6, 0xe9, 0xe7, 0xe2, 0xde, 0xdb, + 0xdc, 0xe0, 0xe6, 0xea, 0xec, 0xeb, 0xe7, 0xe4, + 0xe2, 0xe4, 0xeb, 0xf6, 0x00, 0x07, 0x0a, 0x0c, + 0x0e, 0x11, 0x14, 0x18, 0x1a, 0x1c, 0x1b, 0x1a, + 0x19, 0x1b, 0x22, 0x2b, 0x30, 0x2e, 0x25, 0x17, + 0x0d, 0x09, 0x0c, 0x11, 0x16, 0x18, 0x16, 0x0e, + 0x05, 0xfe, 0xfa, 0xfb, 0xfd, 0xff, 0xff, 0xfd, + 0xf9, 0xf6, 0xf5, 0xf8, 0xfd, 0x00, 0xff, 0xf9, + 0xef, 0xe6, 0xe2, 0xe3, 0xe6, 0xe9, 0xe8, 0xe4, + 0xe0, 0xdc, 0xdc, 0xdf, 0xe4, 0xe8, 0xeb, 0xec, + 0xe9, 0xe4, 0xe1, 0xe1, 0xe6, 0xef, 0xf9, 0x00, + 0x05, 0x09, 0x0c, 0x0f, 0x11, 0x15, 0x19, 0x1c, + 0x1b, 0x18, 0x15, 0x17, 0x1e, 0x29, 0x31, 0x31, + 0x29, 0x1d, 0x13, 0x0c, 0x0b, 0x0f, 0x15, 0x19, + 0x18, 0x13, 0x0a, 0x02, 0xfe, 0xfc, 0xfe, 0x00, + 0x00, 0xfe, 0xfa, 0xf6, 0xf4, 0xf7, 0xfd, 0x02, + 0x02, 0xfc, 0xf3, 0xea, 0xe5, 0xe4, 0xe6, 0xe9, + 0xe9, 0xe6, 0xe2, 0xde, 0xdc, 0xdd, 0xe1, 0xe6, + 0xeb, 0xed, 0xeb, 0xe5, 0xe1, 0xdf, 0xe3, 0xea, + 0xf2, 0xf9, 0x00, 0x05, 0x08, 0x0b, 0x0e, 0x13, + 0x18, 0x1b, 0x1b, 0x16, 0x12, 0x13, 0x1a, 0x25, + 0x2e, 0x31, 0x2d, 0x23, 0x18, 0x10, 0x0c, 0x0e, + 0x14, 0x18, 0x1a, 0x16, 0x0f, 0x07, 0x01, 0xff, + 0xff, 0x00, 0x01, 0x00, 0xfb, 0xf6, 0xf3, 0xf6, + 0xfc, 0x02, 0x03, 0x00, 0xf8, 0xef, 0xe8, 0xe6, + 0xe7, 0xe9, 0xea, 0xe8, 0xe4, 0xe0, 0xdd, 0xdc, + 0xdf, 0xe4, 0xea, 0xed, 0xec, 0xe7, 0xe2, 0xe0, + 0xe1, 0xe5, 0xeb, 0xf3, 0xfa, 0x00, 0x04, 0x06, + 0x0a, 0x10, 0x17, 0x1b, 0x1a, 0x15, 0x10, 0x10, + 0x16, 0x20, 0x2a, 0x30, 0x30, 0x28, 0x1e, 0x14, + 0x0f, 0x0e, 0x12, 0x18, 0x1a, 0x18, 0x13, 0x0c, + 0x05, 0x01, 0x00, 0x01, 0x03, 0x01, 0xfc, 0xf7, + 0xf3, 0xf5, 0xfa, 0x01, 0x04, 0x02, 0xfb, 0xf3, + 0xec, 0xe9, 0xe9, 0xea, 0xea, 0xea, 0xe7, 0xe2, + 0xdd, 0xdb, 0xdd, 0xe3, 0xe9, 0xec, 0xec, 0xe9, + 0xe4, 0xe1, 0xe0, 0xe2, 0xe6, 0xed, 0xf5, 0xfb, + 0xfe, 0x00, 0x05, 0x0c, 0x15, 0x1a, 0x1a, 0x15, + 0x0f, 0x0d, 0x11, 0x1a, 0x25, 0x2d, 0x30, 0x2c, + 0x23, 0x19, 0x12, 0x0f, 0x12, 0x16, 0x19, 0x1a, + 0x17, 0x11, 0x09, 0x04, 0x03, 0x04, 0x05, 0x03, + 0xfe, 0xf8, 0xf3, 0xf4, 0xf9, 0xff, 0x04, 0x04, + 0xff, 0xf8, 0xf1, 0xec, 0xea, 0xea, 0xeb, 0xec, + 0xea, 0xe5, 0xdf, 0xdb, 0xdc, 0xe1, 0xe7, 0xeb, + 0xec, 0xeb, 0xe7, 0xe4, 0xe0, 0xdf, 0xe2, 0xe9, + 0xf1, 0xf6, 0xf8, 0xfa, 0x00, 0x08, 0x12, 0x18, + 0x1a, 0x16, 0x10, 0x0c, 0x0d, 0x14, 0x1e, 0x29, + 0x2f, 0x2e, 0x27, 0x1e, 0x16, 0x12, 0x12, 0x15, + 0x19, 0x1b, 0x1a, 0x14, 0x0d, 0x07, 0x05, 0x06, + 0x07, 0x06, 0x01, 0xfa, 0xf4, 0xf3, 0xf7, 0xfe, + 0x03, 0x04, 0x01, 0xfc, 0xf6, 0xef, 0xec, 0xec, + 0xed, 0xee, 0xec, 0xe7, 0xe1, 0xdc, 0xdc, 0xe0, + 0xe4, 0xe9, 0xeb, 0xec, 0xeb, 0xe6, 0xe0, 0xde, + 0xe1, 0xe7, 0xed, 0xf1, 0xf2, 0xf5, 0xfa, 0x03, + 0x0d, 0x15, 0x19, 0x16, 0x11, 0x0b, 0x0a, 0x0e, + 0x18, 0x24, 0x2c, 0x2e, 0x2a, 0x23, 0x1b, 0x14, + 0x12, 0x14, 0x18, 0x1c, 0x1b, 0x17, 0x10, 0x0a, + 0x08, 0x09, 0x0a, 0x09, 0x04, 0xfc, 0xf6, 0xf3, + 0xf6, 0xfb, 0x00, 0x04, 0x03, 0x00, 0xfa, 0xf3, + 0xee, 0xed, 0xef, 0xf0, 0xee, 0xe9, 0xe3, 0xdf, + 0xdd, 0xde, 0xe1, 0xe6, 0xeb, 0xee, 0xed, 0xe7, + 0xe2, 0xdf, 0xe0, 0xe5, 0xea, 0xed, 0xee, 0xef, + 0xf4, 0xfc, 0x07, 0x11, 0x17, 0x17, 0x12, 0x0c, + 0x08, 0x0b, 0x13, 0x1d, 0x27, 0x2c, 0x2c, 0x27, + 0x1f, 0x17, 0x13, 0x14, 0x18, 0x1c, 0x1c, 0x19, + 0x13, 0x0d, 0x0b, 0x0c, 0x0d, 0x0c, 0x07, 0x00, + 0xf8, 0xf5, 0xf5, 0xf9, 0xfe, 0x03, 0x05, 0x03, + 0xfd, 0xf6, 0xf1, 0xef, 0xf1, 0xf2, 0xf0, 0xeb, + 0xe7, 0xe2, 0xdf, 0xdd, 0xdf, 0xe4, 0xea, 0xee, + 0xee, 0xe9, 0xe4, 0xe0, 0xe1, 0xe4, 0xe8, 0xea, + 0xea, 0xea, 0xee, 0xf5, 0x00, 0x0c, 0x14, 0x17, + 0x13, 0x0d, 0x08, 0x08, 0x0d, 0x17, 0x21, 0x29, + 0x2c, 0x2a, 0x22, 0x1b, 0x15, 0x14, 0x17, 0x1b, + 0x1d, 0x1a, 0x14, 0x0f, 0x0d, 0x0e, 0x10, 0x0f, + 0x0b, 0x04, 0xfc, 0xf7, 0xf5, 0xf6, 0xfb, 0x01, + 0x05, 0x05, 0xff, 0xf8, 0xf4, 0xf2, 0xf3, 0xf2, + 0xf1, 0xef, 0xeb, 0xe6, 0xe0, 0xdd, 0xdd, 0xe2, + 0xe8, 0xed, 0xee, 0xea, 0xe5, 0xe2, 0xe2, 0xe4, + 0xe7, 0xe8, 0xe8, 0xe7, 0xe8, 0xee, 0xf9, 0x05, + 0x10, 0x15, 0x13, 0x0e, 0x09, 0x06, 0x09, 0x10, + 0x1a, 0x24, 0x2a, 0x2b, 0x26, 0x1e, 0x17, 0x15, + 0x18, 0x1c, 0x1d, 0x1b, 0x16, 0x11, 0x0f, 0x10, + 0x12, 0x11, 0x0e, 0x08, 0x01, 0xfa, 0xf5, 0xf5, + 0xf9, 0x00, 0x05, 0x05, 0x01, 0xfc, 0xf8, 0xf5, + 0xf4, 0xf3, 0xf3, 0xf2, 0xef, 0xe9, 0xe3, 0xdd, + 0xdc, 0xe0, 0xe7, 0xec, 0xee, 0xeb, 0xe7, 0xe4, + 0xe3, 0xe5, 0xe7, 0xe8, 0xe6, 0xe4, 0xe3, 0xe8, + 0xf1, 0xfe, 0x0a, 0x11, 0x13, 0x10, 0x0a, 0x06, + 0x05, 0x0a, 0x14, 0x1f, 0x27, 0x2a, 0x27, 0x20, + 0x19, 0x17, 0x19, 0x1c, 0x1d, 0x1b, 0x17, 0x13, + 0x11, 0x12, 0x13, 0x13, 0x12, 0x0e, 0x07, 0xfe, + 0xf6, 0xf5, 0xf8, 0xfe, 0x03, 0x04, 0x02, 0xff, + 0xfb, 0xf8, 0xf5, 0xf4, 0xf4, 0xf4, 0xf3, 0xed, + 0xe5, 0xdf, 0xdc, 0xdf, 0xe5, 0xea, 0xed, 0xec, + 0xe9, 0xe5, 0xe4, 0xe6, 0xe8, 0xe9, 0xe6, 0xe3, + 0xe1, 0xe3, 0xea, 0xf6, 0x02, 0x0c, 0x11, 0x11, + 0x0c, 0x07, 0x04, 0x06, 0x0d, 0x18, 0x23, 0x28, + 0x27, 0x21, 0x1b, 0x19, 0x1a, 0x1c, 0x1d, 0x1b, + 0x18, 0x15, 0x13, 0x12, 0x13, 0x14, 0x15, 0x13, + 0x0b, 0x02, 0xfa, 0xf7, 0xf8, 0xfc, 0x00, 0x03, + 0x03, 0x01, 0xfe, 0xfa, 0xf7, 0xf5, 0xf5, 0xf6, + 0xf4, 0xef, 0xe9, 0xe3, 0xe0, 0xe1, 0xe4, 0xe8, + 0xea, 0xea, 0xe7, 0xe5, 0xe5, 0xe7, 0xe9, 0xea, + 0xe7, 0xe4, 0xe1, 0xe2, 0xe6, 0xef, 0xfa, 0x03, + 0x0a, 0x0d, 0x0b, 0x08, 0x05, 0x06, 0x0c, 0x15, + 0x1d, 0x23, 0x23, 0x1f, 0x1c, 0x1b, 0x1d, 0x1e, + 0x1e, 0x1c, 0x1a, 0x17, 0x14, 0x13, 0x14, 0x16, + 0x16, 0x13, 0x0d, 0x05, 0xfe, 0xfb, 0xfb, 0xfd, + 0xff, 0x01, 0x01, 0x01, 0xff, 0xfc, 0xf9, 0xf8, + 0xf8, 0xf8, 0xf6, 0xf2, 0xec, 0xe6, 0xe2, 0xe1, + 0xe4, 0xe7, 0xe9, 0xe8, 0xe6, 0xe5, 0xe6, 0xe8, + 0xea, 0xeb, 0xe9, 0xe4, 0xe0, 0xde, 0xe2, 0xe9, + 0xf3, 0xfe, 0x06, 0x0a, 0x0a, 0x07, 0x04, 0x04, + 0x08, 0x11, 0x1a, 0x1f, 0x20, 0x1e, 0x1c, 0x1c, + 0x1d, 0x1e, 0x1f, 0x1e, 0x1c, 0x18, 0x15, 0x13, + 0x15, 0x17, 0x18, 0x16, 0x10, 0x09, 0x02, 0xff, + 0xfe, 0xfe, 0xff, 0x00, 0x01, 0x00, 0xfe, 0xfc, + 0xfa, 0xfa, 0xfa, 0xfb, 0xfa, 0xf6, 0xf0, 0xe9, + 0xe4, 0xe2, 0xe4, 0xe6, 0xe7, 0xe7, 0xe5, 0xe4, + 0xe6, 0xe9, 0xec, 0xed, 0xea, 0xe5, 0xe0, 0xdd, + 0xde, 0xe3, 0xec, 0xf7, 0x01, 0x07, 0x08, 0x06, + 0x02, 0x01, 0x06, 0x0e, 0x16, 0x1b, 0x1d, 0x1d, + 0x1c, 0x1c, 0x1d, 0x1f, 0x20, 0x20, 0x1e, 0x1a, + 0x16, 0x14, 0x15, 0x18, 0x1a, 0x18, 0x13, 0x0c, + 0x06, 0x02, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, + 0xfe, 0xfc, 0xfa, 0xfa, 0xfc, 0xfd, 0xfd, 0xfa, + 0xf4, 0xec, 0xe7, 0xe5, 0xe5, 0xe6, 0xe7, 0xe5, + 0xe4, 0xe3, 0xe5, 0xe8, 0xec, 0xee, 0xed, 0xe8, + 0xe1, 0xdd, 0xdc, 0xdf, 0xe6, 0xf0, 0xfb, 0x03, + 0x06, 0x03, 0x00, 0xff, 0x04, 0x0b, 0x12, 0x18, + 0x1a, 0x1b, 0x1b, 0x1b, 0x1c, 0x1f, 0x21, 0x21, + 0x1f, 0x1b, 0x16, 0x15, 0x16, 0x1a, 0x1b, 0x1a, + 0x15, 0x0f, 0x0a, 0x05, 0x03, 0x02, 0x02, 0x02, + 0x01, 0x00, 0xfe, 0xfb, 0xf9, 0xfa, 0xfc, 0xff, + 0x00, 0xfd, 0xf7, 0xf0, 0xeb, 0xe8, 0xe7, 0xe7, + 0xe7, 0xe4, 0xe2, 0xe1, 0xe3, 0xe7, 0xec, 0xf0, + 0xef, 0xea, 0xe4, 0xde, 0xdb, 0xdb, 0xe0, 0xea, + 0xf6, 0xfe, 0x01, 0x00, 0xfe, 0xfe, 0x01, 0x08, + 0x0e, 0x14, 0x17, 0x18, 0x19, 0x19, 0x1b, 0x1e, + 0x21, 0x23, 0x21, 0x1c, 0x18, 0x16, 0x17, 0x1a, + 0x1c, 0x1b, 0x17, 0x12, 0x0d, 0x08, 0x06, 0x05, + 0x04, 0x04, 0x03, 0x01, 0xfe, 0xfb, 0xf8, 0xf9, + 0xfc, 0x00, 0x01, 0x00, 0xfb, 0xf5, 0xef, 0xec, + 0xea, 0xe9, 0xe8, 0xe5, 0xe1, 0xdf, 0xe1, 0xe6, + 0xec, 0xf0, 0xf0, 0xed, 0xe8, 0xe1, 0xdb, 0xd9, + 0xdd, 0xe5, 0xf0, 0xf9, 0xfd, 0xfd, 0xfc, 0xfc, + 0xff, 0x05, 0x0b, 0x10, 0x14, 0x16, 0x16, 0x17, + 0x19, 0x1d, 0x21, 0x23, 0x21, 0x1d, 0x19, 0x17, + 0x18, 0x1b, 0x1d, 0x1d, 0x19, 0x14, 0x0f, 0x0b, + 0x09, 0x08, 0x07, 0x07, 0x06, 0x03, 0xff, 0xfb, + 0xf8, 0xf8, 0xfb, 0xff, 0x02, 0x01, 0xfd, 0xf8, + 0xf3, 0xf0, 0xee, 0xed, 0xea, 0xe6, 0xe0, 0xde, + 0xdf, 0xe4, 0xe9, 0xee, 0xf1, 0xf0, 0xeb, 0xe4, + 0xdd, 0xd9, 0xda, 0xe1, 0xeb, 0xf4, 0xf8, 0xf9, + 0xf9, 0xf9, 0xfc, 0x01, 0x07, 0x0d, 0x12, 0x13, + 0x14, 0x14, 0x16, 0x1b, 0x20, 0x22, 0x21, 0x1e, + 0x1a, 0x18, 0x19, 0x1c, 0x1e, 0x1e, 0x1b, 0x16, + 0x11, 0x0e, 0x0b, 0x0a, 0x0a, 0x0a, 0x09, 0x06, + 0x01, 0xfb, 0xf8, 0xf7, 0xfa, 0xfe, 0x01, 0x02, + 0x00, 0xfb, 0xf6, 0xf3, 0xf2, 0xf1, 0xee, 0xe8, + 0xe1, 0xde, 0xde, 0xe1, 0xe6, 0xec, 0xf0, 0xf2, + 0xee, 0xe7, 0xdf, 0xda, 0xd9, 0xdf, 0xe7, 0xee, + 0xf3, 0xf5, 0xf5, 0xf6, 0xf9, 0xfe, 0x04, 0x0a, + 0x0f, 0x11, 0x11, 0x11, 0x14, 0x19, 0x1e, 0x22, + 0x21, 0x1e, 0x1a, 0x19, 0x1a, 0x1d, 0x1f, 0x1f, + 0x1c, 0x18, 0x14, 0x0f, 0x0d, 0x0b, 0x0c, 0x0d, + 0x0c, 0x09, 0x03, 0xfd, 0xf9, 0xf8, 0xf9, 0xfd, + 0x00, 0x02, 0x00, 0xfc, 0xf9, 0xf7, 0xf7, 0xf5, + 0xf1, 0xeb, 0xe4, 0xdf, 0xdd, 0xdf, 0xe3, 0xe9, + 0xef, 0xf2, 0xf1, 0xea, 0xe2, 0xdc, 0xda, 0xde, + 0xe4, 0xea, 0xef, 0xf1, 0xf2, 0xf3, 0xf5, 0xfa, + 0x00, 0x07, 0x0c, 0x0e, 0x0e, 0x0f, 0x11, 0x17, + 0x1d, 0x20, 0x20, 0x1d, 0x1a, 0x19, 0x1b, 0x1e, + 0x20, 0x20, 0x1e, 0x1a, 0x16, 0x11, 0x0e, 0x0d, + 0x0e, 0x0f, 0x0f, 0x0c, 0x07, 0x00, 0xfb, 0xf8, + 0xf8, 0xfc, 0x00, 0x01, 0xff, 0xfc, 0xfb, 0xfa, + 0xfa, 0xfa, 0xf6, 0xef, 0xe8, 0xe2, 0xde, 0xdd, + 0xe0, 0xe6, 0xed, 0xf2, 0xf2, 0xec, 0xe5, 0xdf, + 0xdc, 0xdd, 0xe2, 0xe7, 0xeb, 0xee, 0xee, 0xef, + 0xf1, 0xf6, 0xfc, 0x03, 0x09, 0x0b, 0x0b, 0x0c, + 0x0e, 0x14, 0x1b, 0x1e, 0x1f, 0x1c, 0x19, 0x19, + 0x1b, 0x1e, 0x21, 0x22, 0x20, 0x1d, 0x18, 0x12, + 0x0f, 0x0e, 0x0f, 0x11, 0x11, 0x0f, 0x0b, 0x04, + 0xfd, 0xf9, 0xf9, 0xfc, 0xff, 0x00, 0xfe, 0xfc, + 0xfb, 0xfc, 0xfd, 0xfd, 0xfa, 0xf4, 0xed, 0xe5, + 0xdf, 0xdd, 0xde, 0xe4, 0xeb, 0xf0, 0xf1, 0xee, + 0xe8, 0xe2, 0xde, 0xde, 0xe1, 0xe5, 0xe9, 0xeb, + 0xeb, 0xeb, 0xed, 0xf1, 0xf8, 0x00, 0x05, 0x08, + 0x08, 0x09, 0x0c, 0x12, 0x19, 0x1d, 0x1d, 0x1a, + 0x18, 0x18, 0x1a, 0x1d, 0x21, 0x23, 0x23, 0x1f, + 0x1a, 0x14, 0x10, 0x0f, 0x10, 0x12, 0x14, 0x13, + 0x0e, 0x07, 0x00, 0xfc, 0xfb, 0xfd, 0xff, 0xff, + 0xfd, 0xfb, 0xfb, 0xfd, 0xff, 0xff, 0xfe, 0xf9, + 0xf2, 0xea, 0xe2, 0xdd, 0xdd, 0xe2, 0xe8, 0xee, + 0xf0, 0xee, 0xe9, 0xe4, 0xe0, 0xe0, 0xe2, 0xe5, + 0xe7, 0xe9, 0xe9, 0xe8, 0xe9, 0xed, 0xf4, 0xfb, + 0x01, 0x04, 0x05, 0x05, 0x09, 0x10, 0x16, 0x1a, + 0x1b, 0x19, 0x18, 0x17, 0x18, 0x1c, 0x21, 0x24, + 0x25, 0x21, 0x1c, 0x16, 0x12, 0x0f, 0x10, 0x13, + 0x15, 0x15, 0x12, 0x0b, 0x04, 0xff, 0xfd, 0xfe, + 0xff, 0xfe, 0xfc, 0xfa, 0xfa, 0xfc, 0xff, 0x01, + 0x01, 0xfe, 0xf8, 0xef, 0xe6, 0xe0, 0xde, 0xe0, + 0xe6, 0xec, 0xef, 0xee, 0xea, 0xe6, 0xe3, 0xe1, + 0xe2, 0xe5, 0xe7, 0xe8, 0xe7, 0xe6, 0xe6, 0xe9, + 0xf0, 0xf8, 0xfd, 0x00, 0x00, 0x02, 0x07, 0x0d, + 0x13, 0x18, 0x19, 0x18, 0x16, 0x15, 0x16, 0x1b, + 0x20, 0x24, 0x26, 0x24, 0x1f, 0x19, 0x13, 0x10, + 0x10, 0x13, 0x16, 0x18, 0x15, 0x0e, 0x07, 0x02, + 0x01, 0x01, 0x00, 0xfe, 0xfb, 0xf9, 0xf9, 0xfb, + 0xfe, 0x01, 0x03, 0x02, 0xfd, 0xf5, 0xeb, 0xe4, + 0xe0, 0xe1, 0xe5, 0xea, 0xec, 0xec, 0xea, 0xe7, + 0xe4, 0xe3, 0xe3, 0xe5, 0xe7, 0xe8, 0xe7, 0xe4, + 0xe3, 0xe5, 0xec, 0xf4, 0xf9, 0xfb, 0xfc, 0xff, + 0x03, 0x0a, 0x11, 0x16, 0x18, 0x17, 0x14, 0x13, + 0x14, 0x18, 0x1e, 0x24, 0x26, 0x26, 0x22, 0x1c, + 0x16, 0x11, 0x11, 0x14, 0x17, 0x19, 0x16, 0x11, + 0x0a, 0x06, 0x04, 0x04, 0x02, 0x00, 0xfc, 0xf9, + 0xf8, 0xf9, 0xfc, 0x00, 0x04, 0x04, 0x01, 0xfa, + 0xf0, 0xe8, 0xe3, 0xe2, 0xe5, 0xe8, 0xeb, 0xeb, + 0xea, 0xe7, 0xe5, 0xe3, 0xe4, 0xe6, 0xe9, 0xe9, + 0xe7, 0xe3, 0xe1, 0xe3, 0xe9, 0xef, 0xf4, 0xf6, + 0xf8, 0xfb, 0xff, 0x06, 0x0e, 0x14, 0x16, 0x15, + 0x13, 0x11, 0x11, 0x15, 0x1c, 0x22, 0x26, 0x27, + 0x24, 0x1f, 0x18, 0x13, 0x12, 0x14, 0x18, 0x1a, + 0x18, 0x13, 0x0d, 0x0a, 0x08, 0x07, 0x05, 0x02, + 0xfe, 0xfa, 0xf7, 0xf8, 0xfa, 0xff, 0x03, 0x06, + 0x04, 0xfe, 0xf6, 0xed, 0xe7, 0xe5, 0xe6, 0xe8, + 0xea, 0xea, 0xe9, 0xe7, 0xe5, 0xe3, 0xe4, 0xe7, + 0xea, 0xea, 0xe7, 0xe3, 0xe1, 0xe2, 0xe6, 0xec, + 0xf0, 0xf2, 0xf3, 0xf6, 0xfb, 0x02, 0x0a, 0x11, + 0x15, 0x14, 0x11, 0x0f, 0x0f, 0x12, 0x18, 0x1f, + 0x25, 0x28, 0x27, 0x21, 0x1a, 0x15, 0x13, 0x15, + 0x19, 0x1a, 0x19, 0x15, 0x10, 0x0c, 0x0b, 0x0a, + 0x08, 0x05, 0x00, 0xfb, 0xf8, 0xf7, 0xf9, 0xfd, + 0x02, 0x06, 0x06, 0x01, 0xfa, 0xf2, 0xec, 0xea, + 0xe9, 0xe8, 0xe9, 0xea, 0xe9, 0xe7, 0xe4, 0xe2, + 0xe4, 0xe8, 0xeb, 0xeb, 0xe8, 0xe4, 0xe1, 0xe2, + 0xe5, 0xe9, 0xec, 0xee, 0xef, 0xf1, 0xf5, 0xfd, + 0x06, 0x0e, 0x13, 0x13, 0x11, 0x0e, 0x0d, 0x0f, + 0x14, 0x1b, 0x23, 0x28, 0x28, 0x23, 0x1c, 0x17, + 0x15, 0x16, 0x19, 0x1b, 0x19, 0x16, 0x12, 0x0f, + 0x0e, 0x0d, 0x0c, 0x08, 0x04, 0xfe, 0xf9, 0xf7, + 0xf7, 0xfb, 0x00, 0x05, 0x06, 0x03, 0xfd, 0xf7, + 0xf2, 0xee, 0xeb, 0xea, 0xeb, 0xeb, 0xe9, 0xe6, + 0xe3, 0xe2, 0xe4, 0xe7, 0xeb, 0xeb, 0xe9, 0xe5, + 0xe2, 0xe2, 0xe4, 0xe8, 0xea, 0xeb, 0xeb, 0xec, + 0xf0, 0xf8, 0x01, 0x0a, 0x10, 0x11, 0x10, 0x0d, + 0x0b, 0x0c, 0x10, 0x18, 0x20, 0x26, 0x28, 0x24, + 0x1e, 0x19, 0x17, 0x18, 0x1a, 0x1b, 0x1a, 0x16, + 0x13, 0x11, 0x10, 0x10, 0x0f, 0x0c, 0x07, 0x02, + 0xfc, 0xf7, 0xf6, 0xf9, 0xff, 0x04, 0x05, 0x03, + 0xff, 0xfb, 0xf6, 0xf2, 0xef, 0xed, 0xed, 0xec, + 0xea, 0xe6, 0xe2, 0xe1, 0xe3, 0xe7, 0xea, 0xeb, + 0xe9, 0xe6, 0xe3, 0xe3, 0xe5, 0xe7, 0xe9, 0xe9, + 0xe7, 0xe7, 0xeb, 0xf2, 0xfc, 0x05, 0x0d, 0x10, + 0x0f, 0x0d, 0x0a, 0x09, 0x0c, 0x14, 0x1c, 0x24, + 0x27, 0x25, 0x20, 0x1b, 0x18, 0x19, 0x1b, 0x1c, + 0x1b, 0x17, 0x14, 0x12, 0x12, 0x12, 0x11, 0x0f, + 0x0c, 0x06, 0xfe, 0xf8, 0xf7, 0xf9, 0xfe, 0x02, + 0x03, 0x03, 0x01, 0xfd, 0xf9, 0xf5, 0xf2, 0xf1, + 0xf0, 0xef, 0xec, 0xe7, 0xe2, 0xe1, 0xe2, 0xe6, + 0xe9, 0xeb, 0xea, 0xe7, 0xe4, 0xe4, 0xe5, 0xe8, + 0xe9, 0xe7, 0xe5, 0xe4, 0xe6, 0xec, 0xf6, 0x00, + 0x08, 0x0d, 0x0e, 0x0c, 0x09, 0x07, 0x09, 0x0f, + 0x19, 0x21, 0x25, 0x24, 0x20, 0x1c, 0x1a, 0x1b, + 0x1d, 0x1d, 0x1b, 0x18, 0x16, 0x14, 0x13, 0x13, + 0x13, 0x13, 0x10, 0x09, 0x01, 0xfb, 0xf9, 0xfa, + 0xfd, 0x00, 0x02, 0x02, 0x01, 0xff, 0xfb, 0xf8, + 0xf5, 0xf5, 0xf4, 0xf3, 0xef, 0xe9, 0xe4, 0xe1, + 0xe1, 0xe4, 0xe8, 0xea, 0xe9, 0xe7, 0xe5, 0xe5, + 0xe7, 0xe9, 0xea, 0xe7, 0xe4, 0xe1, 0xe2, 0xe6, + 0xef, 0xfa, 0x0a, 0x0d, 0x0d, +}; diff --git a/src/uxn/devices/apu.c b/src/uxn/devices/apu.c index c3168c2..2b1c8ff 100644 --- a/src/uxn/devices/apu.c +++ b/src/uxn/devices/apu.c @@ -1,36 +1,7 @@ -#include "samples.c" - #define SAMPLE_FREQUENCY 44100 #define NOTE_PERIOD (SAMPLE_FREQUENCY * 0x4000 / 11025) #define ADSR_STEP (SAMPLE_FREQUENCY / 0xf) -// FIXME: We have two structs for now, needs fixing. -typedef struct AudioChannel { - u8 *samples; - u16 n_samples; - u16 position; - u16 sampling_freq; - u8 pitch; - bool loop; - // TODO: u16 adsr; // attack, decay, sustain, release - // TODO: u8 pitch; // Bit 8 is the "loop" bit - // TODO: u8 volume; // VOL_LEFT | (VOL_RIGHT << 4) - // u8 *addr; - // u32 count, advance, period, age, a, d, s, r; - // s8 volume[2]; - // u8 pitch, repeat; -} AudioChannel; - -typedef struct APU { - AudioChannel chan_0; - // u32 *samples_1; - // u32 *samples_2; - // u32 *samples_3; -} APU; - -static APU apu; - - static u16 pitch_table[] = { 12173, 11490, 10845, 10237, 9662, 9120, 8608, 8125, 7669, 7238, 6832, 6448, 6086, 5745, 5422, 5118, @@ -50,48 +21,12 @@ static u16 pitch_table[] = { 2, }; -void -reset_sound(AudioChannel *chan) { - TIMER_CTRL_0 = 0; - TIMER_CTRL_1 = 0; - DMA_CTRL(1) = 0; - if (chan->pitch >= 108 || chan->n_samples == 0) { - return; - } - - // Set max volume, left-right sound, fifo reset and use timer 0 for - // DirectSound A. - SOUND_DSOUND_MASTER = SOUND_DSOUND_RATIO_A - | SOUND_DSOUND_LEFT_A - | SOUND_DSOUND_RIGHT_A - | SOUND_DSOUND_RESET_A; - - // Prepare DMA copy. - dma_transfer_copy(SOUND_FIFO_A, chan->samples, 1, 1, - DMA_DST_FIXED | DMA_CHUNK_32 | DMA_REFRESH | DMA_REPEAT | DMA_ENABLE); - - // Timer 1 used to stop playing samples. - u32 sample_duration = chan->n_samples; - TIMER_DATA_1 = 0xFFFF - sample_duration; - TIMER_CTRL_1 = TIMER_CTRL_IRQ - | TIMER_CTRL_ENABLE - | TIMER_CTRL_CASCADE; - - // Timer 0 used to stop sample playing. - // TIMER_DATA_0 = 0xFFFF - sound_freq[chan->pitch]; - // TIMER_DATA_0 = 0xFFFF - CPU_FREQUENCY / chan->sampling_freq / chan->pitch; - TIMER_DATA_0 = 0xFFFF - pitch_table[chan->pitch]; - TIMER_CTRL_0 = TIMER_CTRL_ENABLE; -} - s8 square_wave[] = { (s8)0x00 + (s8)0x80, (s8)0xFF + (s8)0x80 }; #include "text.h" - - // // REG_TM0D frequency buffer size // | | | @@ -119,7 +54,7 @@ typedef struct Audio { u8 active_buffer; } Audio; -typedef struct Channel { +typedef struct AudioChannel { // Pointer to the raw data in the ROM. s8 *data; // Current position in the data (20.12 fixed-point). @@ -132,28 +67,31 @@ typedef struct Channel { u32 length; // Length of looped portion (20.12 fixed-point, 0 to disable looping). u32 loop_length; -} Channel; + // TODO: this should be different? + u8 pitch; +} AudioChannel; static Audio audio; #define POLYPHONY 4 -static Channel channels[POLYPHONY]; +static AudioChannel channels[POLYPHONY]; void init_sound(void) { // Initialize audio buffers/channels. audio = (Audio){0}; for (size_t i = 0; i < POLYPHONY; ++i) { - channels[i] = (Channel){0}; + channels[i] = (AudioChannel){0}; } // DEBUG: testing channel 0 with square wave - channels[0].data = samples; - channels[0].inc = (8363 << 12) / AUDIO_FREQ; - channels[0].length = (LEN(samples) - 1) << 12; - channels[0].pos = 0; - channels[0].vol = 64; - channels[0].loop_length = channels[0].length; + // channels[0].data = samples; + // channels[0].length = (LEN(samples) - 1) << 12; + // channels[0].pos = 0; + // channels[0].inc = (44100 << 12) / AUDIO_FREQ; + // channels[0].vol = 32; + // channels[0].loop_length = channels[0].length; + // channels[0].loop_length = 0; // Enable the sound chip. SOUND_STATUS = SOUND_ENABLE; @@ -197,29 +135,29 @@ void sound_mix() { // Mix channels into the temporary buffer. for (size_t j = 0; j < POLYPHONY; ++j) { - Channel *chan = &channels[j]; + AudioChannel *ch = &channels[j]; // Check if channel is active. - if (chan->data == NULL) { + if (ch->data == NULL || ch->pitch >= 108) { continue; } - if (chan->pos + chan->inc * AUDIO_BUF_LEN >= chan->length) { + if (ch->pos + ch->inc * AUDIO_BUF_LEN >= ch->length) { // Sample is going to finish, need to consider this for looping or // stopping. for(size_t i = 0; i < AUDIO_BUF_LEN; i++) { // Remember we are using fixed point values. - mix_buffer[i] += chan->data[chan->pos >> 12] * chan->vol; - chan->pos += chan->inc; + mix_buffer[i] += (0x80 + (u8)ch->data[ch->pos >> 12]) * ch->vol; + ch->pos += ch->inc; - if (chan->pos >= chan->length) { + if (ch->pos >= ch->length) { // If looping is not active disable the channel. - if (chan->loop_length == 0) { - chan->data = NULL; + if (ch->loop_length == 0) { + ch->data = NULL; break; } // Loop the sample. - while (chan->pos >= chan->length) { - chan->pos -= chan->loop_length; + while (ch->pos >= ch->length) { + ch->pos -= ch->loop_length; } } } @@ -227,8 +165,8 @@ void sound_mix() { // Sample still have room to go, no need to check for looping or // end of sample. for(size_t i = 0; i < AUDIO_BUF_LEN; i++) { - mix_buffer[i] += chan->data[chan->pos>>12] * chan->vol; - chan->pos += chan->inc; + mix_buffer[i] += (0x80 + (u8)ch->data[ch->pos>>12]) * ch->vol; + ch->pos += ch->inc; } } } @@ -240,33 +178,3 @@ void sound_mix() { audio.current_buffer[i] = mix_buffer[i] >> 8; } } - -void -irs_stop_sample(void) { - if (apu.chan_0.loop) { - reset_sound(&apu.chan_0); - } else { - TIMER_CTRL_0 = 0; - DMA_CTRL(1) = 0; - } -} - -// void -// apu_start(Apu *c, u16 adsr, u8 pitch) { -// // if(pitch < 108 && c->len) -// // c->advance = advances[pitch % 12] >> (8 - pitch / 12); -// // else { -// // c->advance = 0; -// // return; -// // } -// // c->a = ADSR_STEP * (adsr >> 12); -// // c->d = ADSR_STEP * (adsr >> 8 & 0xf) + c->a; -// // c->s = ADSR_STEP * (adsr >> 4 & 0xf) + c->d; -// // c->r = ADSR_STEP * (adsr >> 0 & 0xf) + c->s; -// // c->age = 0; -// // c->i = 0; -// // if(c->len <= 0x100) /* single cycle mode */ -// // c->period = NOTE_PERIOD * 337 / 2 / c->len; -// // else /* sample repeat mode */ -// // c->period = NOTE_PERIOD; -// } -- cgit v1.2.1