diff options
author | Gerd Knorr <devnull@localhost> | 2005-02-10 10:38:05 +0000 |
---|---|---|
committer | Gerd Knorr <devnull@localhost> | 2005-02-10 10:38:05 +0000 |
commit | 390439a668a9a5ec08ea0d8768a88afe92188477 (patch) | |
tree | cf6e3d442cc8e8361dd8726114bd1c9ca6cc1950 | |
parent | d181639581de477cc7fbb3fc044e5a7c1c91074e (diff) | |
download | mediapointer-dvb-s2-390439a668a9a5ec08ea0d8768a88afe92188477.tar.gz mediapointer-dvb-s2-390439a668a9a5ec08ea0d8768a88afe92188477.tar.bz2 |
- pcHDTV HD3000 support (by Rusty Scott).
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-cards.c | 37 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-dvb.c | 11 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-mpeg.c | 21 | ||||
-rw-r--r-- | linux/drivers/media/video/msp3400-driver.c | 4 | ||||
-rw-r--r-- | linux/drivers/media/video/msp3400.c | 4 | ||||
-rw-r--r-- | v4l/Makefile | 2 | ||||
-rw-r--r-- | v4l/or51132.c | 1763 | ||||
-rw-r--r-- | v4l/or51132.h | 37 | ||||
-rw-r--r-- | v4l/scripts/update | 2 |
9 files changed, 1873 insertions, 8 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-cards.c b/linux/drivers/media/video/cx88/cx88-cards.c index b7065abfc..3b109d16f 100644 --- a/linux/drivers/media/video/cx88/cx88-cards.c +++ b/linux/drivers/media/video/cx88/cx88-cards.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-cards.c,v 1.60 2005/02/09 12:59:19 kraxel Exp $ + * $Id: cx88-cards.c,v 1.61 2005/02/10 10:38:05 kraxel Exp $ * * device driver for Conexant 2388x based TV cards * card-specific stuff. @@ -477,6 +477,41 @@ struct cx88_board cx88_boards[] = { }}, .dvb = 1, }, + [CX88_BOARD_PCHDTV_HD3000] = { + .name = "pcHDTV HD3000 HDTV", + .tuner_type = TUNER_THOMSON_DTT7610, + .input = {{ + .type = CX88_VMUX_TELEVISION, + .vmux = 0, + .gpio0 = 0x00008484, + .gpio1 = 0x00000000, + .gpio2 = 0x00000000, + .gpio3 = 0x00000000, + },{ + .type = CX88_VMUX_COMPOSITE1, + .vmux = 1, + .gpio0 = 0x00008400, + .gpio1 = 0x00000000, + .gpio2 = 0x00000000, + .gpio3 = 0x00000000, + },{ + .type = CX88_VMUX_SVIDEO, + .vmux = 2, + .gpio0 = 0x00008400, + .gpio1 = 0x00000000, + .gpio2 = 0x00000000, + .gpio3 = 0x00000000, + }}, + .radio = { + .type = CX88_RADIO, + .vmux = 2, + .gpio0 = 0x00008400, + .gpio1 = 0x00000000, + .gpio2 = 0x00000000, + .gpio3 = 0x00000000, + }, + .dvb = 1, + }, [CX88_BOARD_HAUPPAUGE_ROSLYN] = { // entry added by Kaustubh D. Bhalerao <bhalerao.1@osu.edu> // GPIO values obtained from regspy, courtesy Sean Covel diff --git a/linux/drivers/media/video/cx88/cx88-dvb.c b/linux/drivers/media/video/cx88/cx88-dvb.c index 592b9e6a3..adcad0b92 100644 --- a/linux/drivers/media/video/cx88/cx88-dvb.c +++ b/linux/drivers/media/video/cx88/cx88-dvb.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-dvb.c,v 1.24 2005/02/04 11:42:14 kraxel Exp $ + * $Id: cx88-dvb.c,v 1.25 2005/02/10 10:38:05 kraxel Exp $ * * device driver for Conexant 2388x based TV cards * MPEG Transport Stream (DVB) routines @@ -35,6 +35,7 @@ #include "cx22702.h" #include "mt352.h" #include "mt352_priv.h" /* FIXME */ +#include "or51132.h" MODULE_DESCRIPTION("driver for cx2388x based DVB cards"); MODULE_AUTHOR("Chris Pascoe <c.pascoe@itee.uq.edu.au>"); @@ -171,6 +172,10 @@ static struct cx22702_config hauppauge_novat_config = { .pll_desc = &dvb_pll_thomson_dtt759x, }; +struct or51132_config pchdtv_hd3000 = { + .demod_address = 0x15, +}; + static int dvb_register(struct cx8802_dev *dev) { /* init struct videobuf_dvb */ @@ -196,6 +201,10 @@ static int dvb_register(struct cx8802_dev *dev) dev->dvb.frontend = mt352_attach(&dntv_live_dvbt_config, &dev->core->i2c_adap); break; + case CX88_BOARD_PCHDTV_HD3000: + dev->dvb.frontend = or51132_attach(&pchdtv_hd3000, + &dev->core->i2c_adap); + break; default: printk("%s: FIXME: frontend handling not here yet ...\n", dev->core->name); diff --git a/linux/drivers/media/video/cx88/cx88-mpeg.c b/linux/drivers/media/video/cx88/cx88-mpeg.c index a5a2c48c0..bd09d16eb 100644 --- a/linux/drivers/media/video/cx88/cx88-mpeg.c +++ b/linux/drivers/media/video/cx88/cx88-mpeg.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-mpeg.c,v 1.19 2005/02/09 12:59:19 kraxel Exp $ + * $Id: cx88-mpeg.c,v 1.20 2005/02/10 10:38:05 kraxel Exp $ * * Support for the mpeg transport stream transfers * PCI function #2 of the cx2388x. @@ -69,8 +69,23 @@ static int cx8802_start_dma(struct cx8802_dev *dev, * also: move to cx88-blackbird + cx88-dvb source files? */ if (cx88_boards[core->board].dvb) { - /* Setup TS portion of chip */ - cx_write(TS_GEN_CNTRL, 0x0c); + /* negedge driven & software reset */ + cx_write(TS_GEN_CNTRL, 0x40); + udelay(100); + cx_write(MO_PINMUX_IO, 0x00); + cx_write(TS_HW_SOP_CNTRL,47<<16|188<<4|0x00); + cx_write(TS_SOP_STAT,0x00); + + switch (core->board) { + case CX88_BOARD_PCHDTV_HD3000: + /* non-punctured clock TS */ + cx_write(TS_GEN_CNTRL, 0x00); + udelay(100); + break; + default: + cx_write(TS_GEN_CNTRL, 0x0c); + break; + } } if (cx88_boards[core->board].blackbird) { diff --git a/linux/drivers/media/video/msp3400-driver.c b/linux/drivers/media/video/msp3400-driver.c index 07117009e..7183480a8 100644 --- a/linux/drivers/media/video/msp3400-driver.c +++ b/linux/drivers/media/video/msp3400-driver.c @@ -381,7 +381,9 @@ static void msp3400c_setvolume(struct i2c_client *client, int val = 0, bal = 0; if (!muted) { - val = (volume * 0x7F / 65535) << 8; + /* 0x7f instead if 0x73 here has sound quality issues, + * probably due to overmodulation + clipping ... */ + val = (volume * 0x73 / 65535) << 8; } if (val) { bal = (balance / 256) - 128; diff --git a/linux/drivers/media/video/msp3400.c b/linux/drivers/media/video/msp3400.c index 07117009e..7183480a8 100644 --- a/linux/drivers/media/video/msp3400.c +++ b/linux/drivers/media/video/msp3400.c @@ -381,7 +381,9 @@ static void msp3400c_setvolume(struct i2c_client *client, int val = 0, bal = 0; if (!muted) { - val = (volume * 0x7F / 65535) << 8; + /* 0x7f instead if 0x73 here has sound quality issues, + * probably due to overmodulation + clipping ... */ + val = (volume * 0x73 / 65535) << 8; } if (val) { bal = (balance / 256) - 128; diff --git a/v4l/Makefile b/v4l/Makefile index 8519c5f34..67bc20319 100644 --- a/v4l/Makefile +++ b/v4l/Makefile @@ -39,7 +39,7 @@ obj-$(CONFIG_VIDEO_IR) += ir-common.o obj-$(CONFIG_VIDEO_TUNER) += tuner.o tda9887.o obj-$(CONFIG_VIDEO_TVAUDIO) += msp3400.o tvaudio.o tvmixer.o -obj-$(CONFIG_VIDEO_CX88_DVB) += video-buf-dvb.o cx88-dvb.o cx22702.o dvb-pll.o +obj-$(CONFIG_VIDEO_CX88_DVB) += video-buf-dvb.o cx88-dvb.o cx22702.o dvb-pll.o or51132.o obj-$(CONFIG_VIDEO_SAA7134_DVB) += video-buf-dvb.o saa7134-dvb.o mt352.o # 2.6-only stuff diff --git a/v4l/or51132.c b/v4l/or51132.c new file mode 100644 index 000000000..13adc620a --- /dev/null +++ b/v4l/or51132.c @@ -0,0 +1,1763 @@ +/* + * Support for OR51132 (pcHDTV HD-3000) - VSB/QAM + * + * Copyright (C) 2005 Kirk Lapray <kirk_lapray@bigfoot.com> + * + * Based on code from Jack Kelliher (kelliher@xmission.com) + * Copyright (C) 2002 & pcHDTV, inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * +*/ + +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/moduleparam.h> +#include <linux/init.h> +#include <linux/delay.h> + +#include "dvb_frontend.h" +#include "or51132.h" + +static int debug; +#define dprintk(args...) \ + do { \ + if (debug) printk(KERN_DEBUG "or51132: " args); \ + } while (0) + +/* uCode and Data */ +/* 113-4-194-3 */ +char tuc[] = { + 0x7e, + 0x08, 0x88, 0x1a, 0x7b, 0xc1, 0x2f, 0x40, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x81, 0x19, 0x40, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0xe0, 0xff, 0x89, + 0x51, 0x00, 0x00, 0x80, 0x10, 0x08, 0x00, 0xc8, 0x51, 0x0c, 0x00, 0x80, 0x10, 0x08, 0x00, 0xc8, + 0x5f, 0x9e, 0xff, 0x81, 0x59, 0x00, 0x00, 0x80, 0x00, 0x6a, 0x38, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x63, 0x00, 0x04, 0x80, 0x22, 0x80, 0x48, 0x80, 0x23, 0x78, 0xd4, 0x80, 0x64, 0x08, 0x00, 0x80, + 0x08, 0xa0, 0x14, 0x79, 0x28, 0xa8, 0x1c, 0x79, 0x00, 0x2c, 0x40, 0x6c, 0x63, 0x00, 0x04, 0x80, + 0x22, 0xe0, 0xff, 0x89, 0x50, 0xfe, 0x01, 0x80, 0x80, 0x20, 0x00, 0x00, 0x01, 0x80, 0x00, 0x64, + 0x08, 0x10, 0x8d, 0x7a, 0x80, 0x1c, 0x09, 0x6c, 0x00, 0x20, 0x0a, 0x00, 0x71, 0x80, 0x00, 0x62, + 0x08, 0x10, 0x8d, 0x7a, 0x08, 0x38, 0x88, 0x7a, 0x50, 0x0e, 0x00, 0x80, 0x01, 0x80, 0x00, 0x64, + 0x50, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x10, 0xb6, 0x40, 0x6c, 0x50, 0x02, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x10, 0x60, 0x40, 0x6c, 0x50, 0x0e, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, + 0x20, 0xb6, 0x40, 0x6c, 0x63, 0x00, 0x04, 0x80, 0x8f, 0x50, 0x01, 0x80, 0x00, 0x5e, 0x40, 0x6c, + 0xa1, 0x8c, 0x0e, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x30, 0x00, 0x7d, 0x00, 0x70, 0x00, 0x00, 0x61, 0x91, 0x40, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x61, 0x80, 0x00, 0x62, 0x08, 0x38, 0x88, 0x7a, 0x22, 0xe0, 0xff, 0x89, + 0x00, 0x70, 0x00, 0x00, 0x10, 0x08, 0x00, 0xc8, 0x08, 0x88, 0x32, 0x78, 0x10, 0x08, 0x00, 0xc8, + 0x63, 0x00, 0x06, 0x80, 0x22, 0x80, 0x48, 0x80, 0x23, 0x78, 0xd4, 0x80, 0x09, 0x08, 0x00, 0x80, + 0x08, 0xa0, 0x14, 0x79, 0x08, 0xa8, 0x1c, 0x79, 0x48, 0x20, 0x4b, 0x78, 0x00, 0x8e, 0x40, 0x6c, + 0x08, 0x88, 0x32, 0x78, 0x50, 0xfe, 0x01, 0x80, 0x01, 0x80, 0x00, 0x64, 0x50, 0x0c, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x20, 0xb6, 0x40, 0x6c, 0x08, 0x88, 0x32, 0x78, 0x81, 0xa7, 0x40, 0x69, + 0x16, 0x56, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x16, 0x56, 0x00, 0x62, 0x91, 0xaf, 0x40, 0x69, + 0x07, 0x57, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x07, 0x57, 0x00, 0x61, 0xe1, 0xb7, 0x40, 0x69, + 0x74, 0x54, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x74, 0x54, 0x00, 0x61, 0x22, 0x90, 0xf9, 0x89, + 0x51, 0x00, 0x00, 0x80, 0x10, 0x08, 0x00, 0xc8, 0x51, 0x80, 0x48, 0x80, 0x10, 0x08, 0x00, 0xc8, + 0x51, 0x78, 0xd4, 0x80, 0x10, 0x08, 0x00, 0xc8, 0x22, 0xd0, 0xf9, 0x89, 0x51, 0xea, 0x87, 0x81, + 0x07, 0x0a, 0xd4, 0x81, 0x10, 0x88, 0x03, 0xc8, 0x10, 0x08, 0x00, 0xc8, 0x97, 0xf7, 0x40, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0xe9, 0x40, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x80, 0x05, 0x55, 0x00, 0x64, 0x50, 0x1c, 0x31, 0x80, + 0x06, 0x56, 0x00, 0x64, 0x50, 0xee, 0x05, 0x80, 0x07, 0x57, 0x00, 0x64, 0x00, 0x16, 0x41, 0x6c, + 0x50, 0x00, 0x00, 0x80, 0x05, 0x55, 0x00, 0x64, 0x50, 0x1c, 0x31, 0x80, 0x06, 0x56, 0x00, 0x64, + 0x50, 0xfe, 0x05, 0x80, 0x07, 0x57, 0x00, 0x64, 0x00, 0x16, 0x41, 0x6c, 0x67, 0x0b, 0x41, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x80, 0x05, 0x55, 0x00, 0x64, + 0x50, 0x1c, 0x31, 0x80, 0x06, 0x56, 0x00, 0x64, 0x50, 0xee, 0x07, 0x80, 0x07, 0x57, 0x00, 0x64, + 0x00, 0x16, 0x41, 0x6c, 0x50, 0x00, 0x00, 0x80, 0x05, 0x55, 0x00, 0x64, 0x50, 0x1c, 0x31, 0x80, + 0x06, 0x56, 0x00, 0x64, 0x50, 0xfe, 0x07, 0x80, 0x07, 0x57, 0x00, 0x64, 0x1e, 0x00, 0x00, 0x80, + 0x80, 0xb0, 0x0a, 0x6c, 0x37, 0x21, 0x17, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x37, 0x79, 0x17, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xba, 0x19, 0x6c, + 0x80, 0xa6, 0x1b, 0x6c, 0x80, 0xca, 0x0c, 0x6c, 0x00, 0x3a, 0x41, 0x6c, 0x31, 0x00, 0x00, 0x80, + 0x62, 0x66, 0x00, 0x62, 0x80, 0xf6, 0x13, 0x6c, 0x85, 0x55, 0x00, 0x61, 0x32, 0xfa, 0xff, 0x87, + 0x00, 0xd0, 0x41, 0x6c, 0x0b, 0x00, 0x00, 0x80, 0x24, 0x40, 0x41, 0x6d, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x00, 0x62, 0x66, 0x00, 0x62, 0x08, 0x88, 0xe1, 0x7a, 0x52, 0x51, 0x41, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x59, 0x00, 0x00, 0x98, 0x59, + 0xc6, 0x5b, 0x41, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3e, 0x18, 0x6c, + 0x00, 0x5c, 0x41, 0x6c, 0x80, 0xd0, 0x17, 0x6c, 0x91, 0x22, 0x22, 0x80, 0x08, 0x80, 0xc2, 0x7b, + 0x08, 0x88, 0x6a, 0x78, 0x01, 0x00, 0x46, 0x28, 0x01, 0x30, 0x00, 0x28, 0x07, 0x93, 0x18, 0x6b, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0xd1, 0x41, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x59, 0x08, 0x88, 0x92, 0x79, 0x50, 0x1a, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x60, 0x80, 0x41, 0x6c, 0x32, 0x00, 0x00, 0x80, 0x85, 0x55, 0x00, 0x62, + 0x08, 0x30, 0x90, 0x79, 0x00, 0x00, 0x30, 0x58, 0x00, 0x00, 0x30, 0x58, 0x10, 0x3a, 0x42, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x68, 0x42, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x7c, 0x42, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x84, 0x42, 0x6c, 0xc5, 0x55, 0x00, 0x62, 0x00, 0x00, 0x34, 0x58, + 0x10, 0x8c, 0x42, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x9e, 0x42, 0x6c, 0x00, 0x00, 0x34, 0x58, + 0x10, 0xac, 0x42, 0x6c, 0xc5, 0x55, 0x00, 0x62, 0x00, 0x00, 0x34, 0x58, 0x10, 0x02, 0x44, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x9e, 0x42, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0xb8, 0x44, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0xac, 0x42, 0x6c, 0xc5, 0x55, 0x00, 0x61, 0x00, 0x00, 0x34, 0x58, + 0x10, 0x02, 0x44, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x9e, 0x42, 0x6c, 0x00, 0x00, 0x34, 0x58, + 0x10, 0xac, 0x42, 0x6c, 0xc5, 0x55, 0x00, 0x62, 0x00, 0x00, 0x34, 0x58, 0x10, 0x06, 0x44, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x94, 0x42, 0x6c, 0x80, 0xba, 0x19, 0x6c, 0x80, 0xa6, 0x1b, 0x6c, + 0x8f, 0x00, 0x00, 0x80, 0x08, 0x80, 0x8a, 0x79, 0x08, 0x88, 0xe2, 0x7a, 0x00, 0x00, 0x40, 0x18, + 0x40, 0xde, 0x41, 0x6c, 0x51, 0x72, 0x02, 0x80, 0x00, 0x00, 0x40, 0x28, 0x51, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x10, 0x60, 0xee, 0x41, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x62, 0xef, 0x41, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0xd0, 0x41, 0x6d, 0x08, 0x68, 0xc0, 0x7b, + 0x00, 0x20, 0x0a, 0x00, 0x71, 0x3d, 0x40, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x56, 0xb7, 0x40, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0xb7, 0x40, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x15, 0x42, 0x69, 0x08, 0x88, 0x9a, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x41, 0x15, 0x42, 0x69, 0x08, 0x88, 0xb2, 0x78, 0x50, 0x86, 0x29, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x00, 0xb6, 0x40, 0x6c, 0x96, 0x56, 0x00, 0x62, 0x50, 0x1a, 0x00, 0x80, + 0x08, 0x88, 0x92, 0x79, 0x00, 0x00, 0x00, 0x18, 0x20, 0x3a, 0x41, 0x6c, 0x25, 0x3b, 0x41, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0xe2, 0x7a, 0x50, 0x54, 0x02, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x50, 0x3a, 0x41, 0x6c, 0x96, 0x56, 0x00, 0x61, 0x50, 0x6e, 0x02, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x50, 0x3a, 0x41, 0x6c, 0xa4, 0x70, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0x2e, 0x41, 0x6d, 0x09, 0x00, 0x22, 0x81, 0x0a, 0x00, 0x14, 0x80, 0x08, 0x58, 0xd0, 0x78, + 0x37, 0x4d, 0x42, 0x68, 0x00, 0x00, 0x00, 0x00, 0x22, 0x30, 0xfa, 0x89, 0x91, 0x00, 0x32, 0x80, + 0x1f, 0x00, 0x04, 0x80, 0x00, 0x50, 0x42, 0x6c, 0x91, 0x00, 0x30, 0x80, 0x1f, 0x00, 0x02, 0x80, + 0x80, 0x46, 0x15, 0x6c, 0x08, 0xd0, 0x58, 0x78, 0x09, 0x00, 0x22, 0x81, 0x0a, 0x58, 0x69, 0x80, + 0x08, 0x58, 0xb0, 0x78, 0x91, 0x00, 0x30, 0x80, 0x22, 0x40, 0xfa, 0x89, 0x1f, 0x00, 0x04, 0x80, + 0x80, 0x46, 0x15, 0x6c, 0x08, 0xb0, 0x58, 0x78, 0x80, 0x60, 0x15, 0x6c, 0x00, 0xd0, 0x41, 0x6c, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x79, 0x42, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x28, 0x07, 0x6c, 0xb7, 0x07, 0x48, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc6, 0x56, 0x00, 0x61, 0x00, 0xd0, 0x41, 0x6c, 0x85, 0x9f, 0x42, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x45, 0x6c, 0x85, 0xad, 0x42, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x46, 0x6c, 0x85, 0x03, 0x44, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xda, 0x46, 0x6c, 0x80, 0xca, 0x0c, 0x6c, 0x00, 0xc2, 0x48, 0x6c, + 0x00, 0x00, 0x00, 0x00, 0xc6, 0x56, 0x00, 0x61, 0x00, 0xcc, 0x41, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0xc6, 0x56, 0x00, 0x62, 0x1f, 0x78, 0x05, 0x80, 0x44, 0x80, 0x58, 0x80, 0x45, 0x58, 0x69, 0x80, + 0x80, 0xf8, 0x12, 0x6c, 0x00, 0xd0, 0x41, 0x6c, 0x37, 0x51, 0x43, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x22, 0x81, 0x0a, 0x58, 0x69, 0x80, 0x08, 0x58, 0xa8, 0x78, + 0x91, 0x00, 0x2e, 0x80, 0x0a, 0x58, 0x69, 0x80, 0x08, 0x58, 0xa8, 0x78, 0x22, 0x50, 0xfa, 0x89, + 0x1f, 0x00, 0x01, 0x80, 0x80, 0x46, 0x15, 0x6c, 0x08, 0xa8, 0x58, 0x78, 0x15, 0xcd, 0x41, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xcd, 0x41, 0x68, 0x22, 0xd0, 0xf8, 0x88, + 0x0c, 0x74, 0x6a, 0x80, 0x0d, 0x38, 0x5c, 0x80, 0x07, 0xee, 0x4b, 0x80, 0x0b, 0x98, 0x3b, 0x80, + 0x08, 0x12, 0x00, 0x80, 0x35, 0xf7, 0x42, 0x69, 0x1f, 0x80, 0x01, 0x80, 0x09, 0x28, 0x00, 0x80, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xf7, 0x42, 0x68, 0x09, 0x28, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x55, 0xf7, 0x42, 0x68, 0x09, 0x28, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xf7, 0x42, 0x69, + 0x09, 0x28, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x80, 0x80, 0x20, 0x00, 0x00, + 0x08, 0x50, 0x88, 0x7a, 0xb5, 0x21, 0x43, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x77, 0x0d, 0x43, 0x68, 0x24, 0xc0, 0xf8, 0x88, 0x00, 0x00, 0x00, 0x00, 0x87, 0x25, 0x43, 0x69, + 0x24, 0xe0, 0xf8, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x10, 0xd8, 0x89, 0x7a, + 0x80, 0x7c, 0x16, 0x6c, 0x77, 0x1b, 0x43, 0x68, 0x22, 0xc0, 0xf8, 0x88, 0x00, 0x00, 0x00, 0x00, + 0x22, 0xe0, 0xf8, 0x88, 0x18, 0x88, 0xda, 0x79, 0x10, 0x08, 0x00, 0xc8, 0x00, 0x22, 0x43, 0x6c, + 0x80, 0x7c, 0x16, 0x6c, 0x00, 0x26, 0x43, 0x6c, 0x80, 0x7c, 0x16, 0x6c, 0x0b, 0x98, 0x3b, 0x80, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x33, 0x43, 0x69, 0x1f, 0xc0, 0x00, 0x80, 0x0d, 0x0c, 0x00, 0x80, + 0x0d, 0x08, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0x0b, 0x18, 0x3d, 0x80, 0x08, 0x88, 0x2a, 0x7e, + 0x21, 0x41, 0x43, 0x69, 0x1f, 0xc0, 0x00, 0x80, 0x0d, 0x06, 0x00, 0x80, 0x0d, 0x08, 0x00, 0x80, + 0x80, 0xd2, 0x16, 0x6c, 0x0d, 0x34, 0x3e, 0x80, 0x80, 0xfe, 0x16, 0x6c, 0xa5, 0x4f, 0x43, 0x69, + 0x22, 0xd0, 0xf8, 0x88, 0x08, 0x88, 0x52, 0x78, 0x10, 0x08, 0x00, 0xc8, 0x00, 0xcc, 0x41, 0x6c, + 0x15, 0xcd, 0x41, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xcd, 0x41, 0x68, + 0x22, 0xd0, 0xf2, 0x88, 0x0c, 0x74, 0x6a, 0x80, 0x0d, 0xb8, 0x5a, 0x80, 0x07, 0xee, 0x4b, 0x80, + 0x0b, 0x98, 0x3b, 0x80, 0x08, 0x12, 0x00, 0x80, 0x35, 0x81, 0x43, 0x69, 0x1f, 0xc0, 0x00, 0x80, + 0x09, 0x2a, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x81, 0x43, 0x68, 0x09, 0x28, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x81, 0x43, 0x68, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x45, 0x81, 0x43, 0x69, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x80, + 0x80, 0x20, 0x00, 0x00, 0x08, 0x50, 0x88, 0x7a, 0xb5, 0xab, 0x43, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x77, 0x97, 0x43, 0x68, 0x24, 0xc0, 0xf2, 0x88, 0x00, 0x00, 0x00, 0x00, + 0x87, 0xaf, 0x43, 0x69, 0x24, 0xe0, 0xf2, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, + 0x10, 0xd8, 0x89, 0x7a, 0x80, 0x7c, 0x16, 0x6c, 0x77, 0xa5, 0x43, 0x68, 0x22, 0xc0, 0xf2, 0x88, + 0x00, 0x00, 0x00, 0x00, 0x22, 0xe0, 0xf2, 0x88, 0x18, 0x88, 0xda, 0x79, 0x10, 0x08, 0x00, 0xc8, + 0x00, 0xac, 0x43, 0x6c, 0x80, 0x7c, 0x16, 0x6c, 0x00, 0xb0, 0x43, 0x6c, 0x80, 0x7c, 0x16, 0x6c, + 0x0b, 0x98, 0x3b, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xbd, 0x43, 0x69, 0x1f, 0xc0, 0x00, 0x80, + 0x0d, 0x06, 0x00, 0x80, 0x0d, 0x08, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0x0d, 0xb4, 0x3c, 0x80, + 0x80, 0xfe, 0x16, 0x6c, 0xa5, 0xcb, 0x43, 0x69, 0x22, 0xd0, 0xf2, 0x88, 0x08, 0x88, 0x52, 0x78, + 0x10, 0x08, 0x00, 0xc8, 0x0c, 0xb8, 0x6b, 0x80, 0x0d, 0xb8, 0x5a, 0x80, 0x07, 0xee, 0x4b, 0x80, + 0x0b, 0x28, 0x3d, 0x80, 0x08, 0x12, 0x00, 0x80, 0x35, 0xf1, 0x43, 0x69, 0x1f, 0xc0, 0x00, 0x80, + 0x09, 0x2c, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xf1, 0x43, 0x68, 0x09, 0x2a, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x55, 0xf1, 0x43, 0x68, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x45, 0xf1, 0x43, 0x69, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x80, + 0x80, 0x7c, 0x16, 0x6c, 0x0b, 0x28, 0x3d, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xff, 0x43, 0x69, + 0x1f, 0xc0, 0x00, 0x80, 0x0d, 0x0c, 0x00, 0x80, 0x0d, 0x08, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, + 0x00, 0xd0, 0x41, 0x6c, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x56, 0x00, 0x61, 0x15, 0x59, 0x44, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x59, 0x44, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x37, 0x5d, 0x44, 0x69, 0x0c, 0x38, 0x6d, 0x80, 0x0d, 0x38, 0x5c, 0x80, + 0x07, 0xee, 0x4b, 0x80, 0x0b, 0xa8, 0x3e, 0x80, 0x08, 0x12, 0x00, 0x80, 0x35, 0x3b, 0x44, 0x69, + 0x1f, 0x80, 0x01, 0x80, 0x09, 0x2c, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x3b, 0x44, 0x68, + 0x09, 0x2a, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x55, 0x3b, 0x44, 0x68, 0x09, 0x26, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x45, 0x3b, 0x44, 0x69, 0x09, 0x28, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x09, 0x2a, 0x00, 0x80, 0x80, 0x7c, 0x16, 0x6c, 0x0b, 0xa8, 0x3e, 0x80, 0x08, 0x88, 0x2a, 0x7e, + 0x21, 0x49, 0x44, 0x69, 0x1f, 0x80, 0x01, 0x80, 0x0d, 0x0c, 0x00, 0x80, 0x0d, 0x08, 0x00, 0x80, + 0x80, 0xd2, 0x16, 0x6c, 0xc5, 0x79, 0x17, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc5, 0xb3, 0x17, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0x55, 0x00, 0x62, + 0x80, 0xfe, 0x11, 0x6c, 0x00, 0xd0, 0x41, 0x6c, 0x09, 0x00, 0x22, 0x81, 0x0a, 0x58, 0x69, 0x80, + 0x08, 0x58, 0xa8, 0x78, 0x91, 0x00, 0x2e, 0x80, 0x0a, 0x58, 0x69, 0x80, 0x08, 0x58, 0xa8, 0x78, + 0x22, 0x50, 0xfa, 0x89, 0x1f, 0x00, 0x01, 0x80, 0x80, 0x46, 0x15, 0x6c, 0x08, 0xa8, 0x58, 0x78, + 0x0c, 0xbc, 0x6e, 0x80, 0x0d, 0x3c, 0x5c, 0x80, 0x07, 0xee, 0x4b, 0x80, 0x0b, 0xa8, 0x3e, 0x80, + 0x08, 0x0e, 0x00, 0x80, 0x35, 0x97, 0x44, 0x69, 0x1f, 0x80, 0x01, 0x80, 0x09, 0x2c, 0x00, 0x80, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x97, 0x44, 0x68, 0x09, 0x2a, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x97, 0x44, 0x68, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x97, 0x44, 0x69, + 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x80, 0x80, 0x7c, 0x16, 0x6c, + 0x0b, 0xa8, 0x3e, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xa5, 0x44, 0x69, 0x1f, 0x80, 0x01, 0x80, + 0x0d, 0x0c, 0x00, 0x80, 0x0d, 0x08, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0xc5, 0x21, 0x17, 0x6a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc5, 0x5b, 0x17, 0x6b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc5, 0x55, 0x00, 0x62, 0x80, 0xfe, 0x11, 0x6c, 0x00, 0xd0, 0x41, 0x6c, + 0x15, 0xd1, 0x41, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xd1, 0x41, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x39, 0x45, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0xee, 0x4b, 0x80, 0x0c, 0xb8, 0x6e, 0x80, 0x0d, 0xb8, 0x5a, 0x80, + 0x0b, 0xa8, 0x41, 0x80, 0x08, 0x0e, 0x00, 0x80, 0x35, 0xf1, 0x44, 0x69, 0x1f, 0xc0, 0x00, 0x80, + 0x09, 0x28, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xf1, 0x44, 0x68, 0x09, 0x2a, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x55, 0xf1, 0x44, 0x68, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x45, 0xf1, 0x44, 0x69, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x28, 0x00, 0x80, + 0x80, 0x7c, 0x16, 0x6c, 0x07, 0xee, 0x4b, 0x80, 0x0c, 0x38, 0x70, 0x80, 0x0d, 0xb8, 0x5a, 0x80, + 0x0b, 0x28, 0x43, 0x80, 0x08, 0x0a, 0x00, 0x80, 0x35, 0x19, 0x45, 0x69, 0x1f, 0xc0, 0x00, 0x80, + 0x09, 0x28, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x19, 0x45, 0x68, 0x09, 0x28, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x55, 0x19, 0x45, 0x68, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x45, 0x19, 0x45, 0x69, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x28, 0x00, 0x80, + 0x80, 0x7c, 0x16, 0x6c, 0x0b, 0xa8, 0x41, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x27, 0x45, 0x69, + 0x1f, 0xc0, 0x00, 0x80, 0x0d, 0x18, 0x00, 0x80, 0x0d, 0x10, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, + 0x0b, 0x28, 0x43, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x35, 0x45, 0x69, 0x1f, 0xc0, 0x00, 0x80, + 0x0d, 0x18, 0x00, 0x80, 0x0d, 0x20, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0x00, 0xcc, 0x41, 0x6c, + 0x07, 0xee, 0x4b, 0x80, 0x0c, 0x38, 0x70, 0x80, 0x0d, 0xb8, 0x5a, 0x80, 0x0b, 0xa8, 0x41, 0x80, + 0x08, 0x0a, 0x00, 0x80, 0x35, 0x5f, 0x45, 0x69, 0x1f, 0xc0, 0x00, 0x80, 0x09, 0x28, 0x00, 0x80, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x5f, 0x45, 0x68, 0x09, 0x2a, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x5f, 0x45, 0x68, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x5f, 0x45, 0x69, + 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x28, 0x00, 0x80, 0x80, 0x7c, 0x16, 0x6c, + 0x07, 0xee, 0x4b, 0x80, 0x0c, 0xb8, 0x71, 0x80, 0x0d, 0xb8, 0x5a, 0x80, 0x0b, 0x28, 0x43, 0x80, + 0x08, 0x06, 0x00, 0x80, 0x35, 0x87, 0x45, 0x69, 0x1f, 0xc0, 0x00, 0x80, 0x09, 0x28, 0x00, 0x80, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x87, 0x45, 0x68, 0x09, 0x28, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x55, 0x87, 0x45, 0x68, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x87, 0x45, 0x69, + 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x28, 0x00, 0x80, 0x80, 0x7c, 0x16, 0x6c, + 0x0b, 0xa8, 0x41, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x95, 0x45, 0x69, 0x1f, 0xc0, 0x00, 0x80, + 0x0d, 0x18, 0x00, 0x80, 0x0d, 0x10, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0x0b, 0x28, 0x43, 0x80, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xa3, 0x45, 0x69, 0x1f, 0xc0, 0x00, 0x80, 0x0d, 0x28, 0x00, 0x80, + 0x0d, 0x20, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0x00, 0xcc, 0x41, 0x6c, 0xe5, 0xd1, 0x41, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x13, 0x46, 0x69, 0x22, 0xd0, 0xf8, 0x88, + 0x0c, 0x14, 0x6a, 0x80, 0x0d, 0x7c, 0x63, 0x80, 0x07, 0xee, 0x4b, 0x80, 0x0b, 0x98, 0x3b, 0x80, + 0x08, 0x0e, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xd1, 0x45, 0x68, 0x1f, 0xc0, 0x00, 0x80, + 0x09, 0x26, 0x00, 0x80, 0xb5, 0xd1, 0x45, 0x69, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x45, 0xd1, 0x45, 0x69, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x28, 0x00, 0x80, + 0x80, 0x20, 0x00, 0x00, 0x08, 0x50, 0x88, 0x7a, 0x80, 0x7c, 0x16, 0x6c, 0x0b, 0x98, 0x3b, 0x80, + 0x1f, 0xc0, 0x00, 0x80, 0x0d, 0x06, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0x0c, 0x14, 0x6a, 0x80, + 0x0d, 0xfc, 0x61, 0x80, 0x07, 0xee, 0x4b, 0x80, 0x0b, 0x18, 0x3d, 0x80, 0x08, 0x12, 0x00, 0x80, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xff, 0x45, 0x68, 0x1f, 0xc0, 0x00, 0x80, 0x09, 0x26, 0x00, 0x80, + 0xb5, 0xff, 0x45, 0x69, 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xff, 0x45, 0x69, + 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x28, 0x00, 0x80, 0x80, 0x7c, 0x16, 0x6c, + 0x0b, 0x18, 0x3d, 0x80, 0x1f, 0xc0, 0x00, 0x80, 0x0d, 0x04, 0x00, 0x80, 0x80, 0xd2, 0x16, 0x6c, + 0xa7, 0x11, 0x46, 0x69, 0x22, 0xd0, 0xf8, 0x88, 0x08, 0x88, 0x52, 0x78, 0x10, 0x08, 0x00, 0xc8, + 0x00, 0xd0, 0x41, 0x6c, 0x22, 0xd0, 0xf2, 0x88, 0x0c, 0x14, 0x6a, 0x80, 0x0d, 0xfc, 0x61, 0x80, + 0x07, 0xee, 0x4b, 0x80, 0x0b, 0x98, 0x3b, 0x80, 0x08, 0x12, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, + 0x21, 0x35, 0x46, 0x68, 0x1f, 0xc0, 0x00, 0x80, 0x09, 0x26, 0x00, 0x80, 0xb5, 0x35, 0x46, 0x69, + 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x35, 0x46, 0x69, 0x09, 0x26, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x28, 0x00, 0x80, 0x80, 0x20, 0x00, 0x00, 0x08, 0x50, 0x88, 0x7a, + 0x80, 0x7c, 0x16, 0x6c, 0x0b, 0x98, 0x3b, 0x80, 0x1f, 0xc0, 0x00, 0x80, 0x0d, 0x02, 0x00, 0x80, + 0x80, 0xd2, 0x16, 0x6c, 0xa7, 0x4b, 0x46, 0x69, 0x22, 0xd0, 0xf2, 0x88, 0x08, 0x88, 0x52, 0x78, + 0x10, 0x08, 0x00, 0xc8, 0x0d, 0xb8, 0x60, 0x80, 0x0c, 0x14, 0x6a, 0x80, 0x0b, 0x28, 0x3d, 0x80, + 0x07, 0xee, 0x4b, 0x80, 0x0c, 0x14, 0x6a, 0x80, 0x08, 0x12, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, + 0x21, 0x6d, 0x46, 0x68, 0x1f, 0xc0, 0x00, 0x80, 0x09, 0x28, 0x00, 0x80, 0xb5, 0x6d, 0x46, 0x69, + 0x09, 0x28, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x6d, 0x46, 0x69, 0x09, 0x28, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x80, 0x80, 0x7c, 0x16, 0x6c, 0x1f, 0xc0, 0x00, 0x80, + 0x0d, 0x04, 0x00, 0x80, 0x0b, 0x28, 0x3d, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0x00, 0xd0, 0x41, 0x6c, + 0xe5, 0xd1, 0x41, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0xaf, 0x46, 0x69, + 0x0d, 0xb8, 0x60, 0x80, 0x0c, 0x14, 0x6a, 0x80, 0x0b, 0xa8, 0x3e, 0x80, 0x07, 0xee, 0x4b, 0x80, + 0x0c, 0x14, 0x6a, 0x80, 0x08, 0x12, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xa3, 0x46, 0x68, + 0x1f, 0x80, 0x01, 0x80, 0x09, 0x28, 0x00, 0x80, 0xb5, 0xa3, 0x46, 0x69, 0x09, 0x28, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x45, 0xa3, 0x46, 0x69, 0x09, 0x28, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x09, 0x2a, 0x00, 0x80, 0x80, 0x7c, 0x16, 0x6c, 0x1f, 0x80, 0x01, 0x80, 0x0d, 0x04, 0x00, 0x80, + 0x0b, 0xa8, 0x3e, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0x00, 0xd0, 0x41, 0x6c, 0x0d, 0x38, 0x5f, 0x80, + 0x0c, 0x14, 0x6a, 0x80, 0x0b, 0xa8, 0x3e, 0x80, 0x07, 0xee, 0x4b, 0x80, 0x08, 0x12, 0x00, 0x80, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xcf, 0x46, 0x68, 0x1f, 0x80, 0x01, 0x80, 0x09, 0x28, 0x00, 0x80, + 0xb5, 0xcf, 0x46, 0x69, 0x09, 0x28, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0xcf, 0x46, 0x69, + 0x09, 0x28, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x80, 0x80, 0x7c, 0x16, 0x6c, + 0x1f, 0x80, 0x01, 0x80, 0x0d, 0x04, 0x00, 0x80, 0x0b, 0xa8, 0x3e, 0x80, 0x80, 0xd2, 0x16, 0x6c, + 0x00, 0xd0, 0x41, 0x6c, 0xe5, 0xd1, 0x41, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe5, 0xd1, 0x41, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0xf1, 0x46, 0x68, + 0x0d, 0xb8, 0x5d, 0x80, 0x0b, 0xa8, 0x41, 0x80, 0x0d, 0x38, 0x5c, 0x80, 0x0b, 0xa8, 0x41, 0x80, + 0x07, 0xee, 0x4b, 0x80, 0x0c, 0x14, 0x6a, 0x80, 0x08, 0x12, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7e, + 0x21, 0x0d, 0x47, 0x68, 0x1f, 0x80, 0x01, 0x80, 0x09, 0x28, 0x00, 0x80, 0xb5, 0x0d, 0x47, 0x69, + 0x09, 0x26, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x45, 0x0d, 0x47, 0x69, 0x09, 0x28, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x09, 0x2a, 0x00, 0x80, 0x80, 0x7c, 0x16, 0x6c, 0x1f, 0x80, 0x01, 0x80, + 0x37, 0x19, 0x47, 0x68, 0x0b, 0xa8, 0x41, 0x80, 0x0d, 0x08, 0x00, 0x80, 0x0b, 0xa8, 0x41, 0x80, + 0x80, 0xd2, 0x16, 0x6c, 0x37, 0x79, 0x17, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x37, 0x21, 0x17, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x41, 0x6c, + 0x0c, 0xc8, 0x14, 0x80, 0x0d, 0x54, 0x25, 0x80, 0x07, 0xee, 0x4b, 0x80, 0x1f, 0x0e, 0x00, 0x80, + 0x0b, 0xc4, 0x7e, 0x80, 0x08, 0x12, 0x00, 0x80, 0x09, 0x00, 0x24, 0x80, 0x6a, 0x00, 0x00, 0x88, + 0x51, 0x00, 0x00, 0x80, 0x51, 0x01, 0x00, 0x80, 0xf0, 0x03, 0x20, 0x70, 0x58, 0x08, 0x00, 0xc8, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x20, 0x72, 0x08, 0x48, 0x3d, 0x78, 0x2a, 0x00, 0x00, 0x88, + 0x33, 0x60, 0x00, 0x88, 0x35, 0x68, 0x00, 0x88, 0x40, 0x06, 0x40, 0x70, 0x84, 0x20, 0x00, 0x00, + 0x02, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x20, 0x70, 0x02, 0x01, 0x80, 0xb0, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x70, 0x00, 0x00, 0x00, 0xb0, 0x50, 0xc0, 0x00, 0x80, + 0x00, 0xc0, 0x00, 0x00, 0x00, 0xb0, 0x06, 0x28, 0x00, 0x34, 0x00, 0x28, 0x2a, 0x00, 0x00, 0x88, + 0x33, 0x60, 0x00, 0x88, 0x35, 0x68, 0x00, 0x88, 0x27, 0x58, 0x00, 0x88, 0x29, 0x58, 0x00, 0x88, + 0x08, 0x48, 0x3d, 0x78, 0x40, 0x06, 0x40, 0x70, 0x84, 0x20, 0x00, 0x00, 0x02, 0x01, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x70, 0x02, 0x01, 0x80, 0xb0, 0x08, 0x88, 0x4c, 0x78, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x40, 0x70, 0x00, 0x80, 0x00, 0xb0, 0x43, 0x09, 0x80, 0xc8, + 0x00, 0x00, 0x00, 0x00, 0x91, 0x2c, 0x00, 0x80, 0x22, 0x10, 0xfb, 0x89, 0x24, 0x50, 0xfb, 0x89, + 0x50, 0x00, 0x00, 0x80, 0x80, 0x20, 0x00, 0x00, 0x60, 0x00, 0x20, 0x70, 0x80, 0x00, 0x41, 0x30, + 0x18, 0x88, 0xe2, 0x79, 0x00, 0x00, 0x40, 0x10, 0x01, 0x80, 0x00, 0x28, 0x10, 0xe0, 0x89, 0x7a, + 0x50, 0x00, 0x00, 0x80, 0x00, 0x21, 0x00, 0x00, 0x60, 0x00, 0x20, 0x70, 0x00, 0x01, 0x41, 0x30, + 0x08, 0x88, 0xe2, 0x79, 0x00, 0x00, 0x40, 0x10, 0x01, 0x80, 0x00, 0x28, 0x08, 0xe0, 0x89, 0x7a, + 0x18, 0x80, 0xe2, 0x79, 0x08, 0x88, 0xe2, 0x79, 0x00, 0x00, 0x00, 0x18, 0x30, 0xbc, 0x47, 0x6c, + 0x00, 0x00, 0xf0, 0x5d, 0x00, 0xbe, 0x47, 0x6c, 0x00, 0x00, 0xf4, 0x5d, 0x50, 0x20, 0x00, 0x80, + 0x18, 0x88, 0xf2, 0x79, 0x00, 0x00, 0x00, 0x18, 0x60, 0xc8, 0x47, 0x6c, 0x3e, 0x21, 0x00, 0x80, + 0x50, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x40, 0xd0, 0x47, 0x6c, 0x3e, 0x01, 0x00, 0x80, + 0x77, 0xdf, 0x47, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xf3, 0x47, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x6e, 0x50, 0x18, 0x00, 0x80, + 0x18, 0x88, 0xf2, 0x79, 0x00, 0x00, 0x00, 0x18, 0x60, 0xf0, 0x47, 0x6c, 0x97, 0xf1, 0x47, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x57, 0x00, 0x62, 0x87, 0x57, 0x00, 0x61, + 0x00, 0x00, 0x80, 0x6e, 0x50, 0x08, 0x00, 0x80, 0x18, 0x88, 0xf2, 0x79, 0x00, 0x00, 0x00, 0x18, + 0x40, 0x04, 0x48, 0x6c, 0x97, 0x05, 0x48, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x77, 0x57, 0x00, 0x61, 0x87, 0x57, 0x00, 0x62, 0x00, 0x00, 0x80, 0x6e, 0x37, 0x61, 0x48, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x14, 0x6a, 0x80, 0x0d, 0x7c, 0x63, 0x80, + 0x07, 0xee, 0x4b, 0x80, 0x0b, 0xc8, 0x2d, 0x80, 0x08, 0x10, 0x00, 0x80, 0x1f, 0xc0, 0x00, 0x80, + 0x09, 0x00, 0x26, 0x80, 0x80, 0x7c, 0x16, 0x6c, 0x0b, 0xc8, 0x2d, 0x80, 0x1f, 0xc0, 0x00, 0x80, + 0x0d, 0xd0, 0x07, 0x80, 0x80, 0xd2, 0x16, 0x6c, 0x22, 0x20, 0xb7, 0x88, 0x26, 0xa0, 0x0c, 0x89, + 0x06, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x80, 0x50, 0x00, 0x00, 0x80, 0x80, 0x20, 0x00, 0x00, + 0x00, 0x0c, 0x20, 0x70, 0x80, 0x18, 0x41, 0x08, 0x50, 0x00, 0x00, 0x80, 0x50, 0x00, 0x00, 0x80, + 0x80, 0x21, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x70, 0x80, 0x21, 0x41, 0x08, 0x08, 0xf0, 0x31, 0x78, + 0x08, 0xf8, 0x39, 0x78, 0x08, 0x00, 0x42, 0x78, 0x08, 0x88, 0xf2, 0x79, 0x50, 0xb8, 0x0b, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x50, 0x8a, 0x48, 0x6c, 0x08, 0x88, 0x02, 0x7a, 0x50, 0x40, 0x1f, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x30, 0x8a, 0x48, 0x6c, 0x08, 0x88, 0xb2, 0x78, 0x50, 0x0c, 0x16, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x50, 0x8a, 0x48, 0x6c, 0x00, 0x00, 0x0c, 0x5a, 0x00, 0x8c, 0x48, 0x6c, + 0x22, 0x60, 0xee, 0x88, 0x06, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x80, 0x50, 0x00, 0x00, 0x80, + 0x80, 0x20, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x70, 0x80, 0x18, 0x41, 0x08, 0x50, 0x00, 0x00, 0x80, + 0x08, 0xf0, 0x31, 0x78, 0x08, 0xf8, 0x39, 0x78, 0x40, 0x00, 0x00, 0x80, 0x08, 0x88, 0xf2, 0x79, + 0x50, 0x70, 0x17, 0x80, 0x00, 0x00, 0x00, 0x18, 0x30, 0x8a, 0x48, 0x6c, 0x08, 0x88, 0xb2, 0x78, + 0x50, 0x0c, 0x16, 0x80, 0x00, 0x00, 0x00, 0x18, 0x50, 0x8a, 0x48, 0x6c, 0x00, 0x00, 0x0c, 0x5a, + 0x00, 0x8c, 0x48, 0x6c, 0x00, 0x00, 0x08, 0x5a, 0x08, 0x88, 0x0a, 0x7a, 0x50, 0x0e, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x50, 0x98, 0x48, 0x6c, 0x41, 0x0e, 0x00, 0x80, 0x00, 0xc0, 0x48, 0x6c, + 0x50, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x30, 0xc0, 0x48, 0x6c, 0x41, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x57, 0xc1, 0x48, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0xc1, 0x48, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0xbb, 0x48, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x57, 0x00, 0x61, 0x67, 0x57, 0x00, 0x61, + 0x00, 0xb6, 0x40, 0x6c, 0x37, 0x57, 0x00, 0x62, 0x67, 0x57, 0x00, 0x61, 0x00, 0xb6, 0x40, 0x6c, + 0x00, 0x78, 0x42, 0x6c, 0x91, 0x00, 0x22, 0x81, 0x22, 0xa0, 0xfa, 0x89, 0x24, 0xa0, 0xfa, 0x89, + 0x26, 0xa0, 0xfa, 0x89, 0x0b, 0x00, 0x00, 0x80, 0x0a, 0x02, 0x00, 0x80, 0x80, 0x20, 0xa0, 0x00, + 0x20, 0x08, 0x00, 0x28, 0x50, 0xb8, 0x00, 0x80, 0x00, 0x00, 0xc0, 0x1a, 0x50, 0x1a, 0x49, 0x6c, + 0x22, 0x80, 0xfa, 0x89, 0x24, 0x80, 0xfa, 0x89, 0x51, 0x00, 0x00, 0x80, 0x30, 0x88, 0x19, 0x28, + 0x31, 0x08, 0x00, 0x28, 0x80, 0x20, 0xa0, 0x00, 0x20, 0x08, 0x00, 0x28, 0x50, 0x14, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x50, 0x18, 0x49, 0x6c, 0x00, 0x00, 0x80, 0x59, 0x08, 0x88, 0x82, 0x79, + 0x50, 0x14, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x50, 0xfa, 0x48, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x80, 0x50, 0x18, 0x38, 0x80, 0x08, 0x88, 0x82, 0x79, 0x01, 0x34, 0xc0, 0x2a, + 0x23, 0x68, 0x00, 0x88, 0x24, 0x90, 0xfa, 0x89, 0x50, 0x00, 0x00, 0x80, 0x08, 0x88, 0x7a, 0x79, + 0x10, 0x08, 0x00, 0x28, 0x20, 0x08, 0xc0, 0x2a, 0x22, 0x70, 0xfa, 0x89, 0x51, 0x00, 0x00, 0x80, + 0x50, 0x00, 0x00, 0x80, 0x10, 0x08, 0x00, 0x28, 0x10, 0x08, 0x00, 0x28, 0x2f, 0x00, 0x00, 0x80, + 0x33, 0x00, 0x00, 0x80, 0x00, 0x98, 0x42, 0x6c, 0xbb, 0x20, 0x00, 0x80, 0x8f, 0x00, 0x00, 0x80, + 0x37, 0x00, 0x00, 0x80, 0x3b, 0x01, 0x00, 0x80, 0x22, 0x10, 0xfb, 0x89, 0x51, 0x00, 0x00, 0x80, + 0xe0, 0x00, 0x20, 0x70, 0x10, 0x08, 0x00, 0xc8, 0x3c, 0x01, 0x00, 0x80, 0x3c, 0x00, 0x00, 0x80, + 0x90, 0x00, 0x00, 0x80, 0x54, 0x00, 0x00, 0x80, 0x55, 0x00, 0x00, 0x80, 0x56, 0x04, 0x00, 0x80, + 0x57, 0x00, 0x01, 0x80, 0x22, 0x20, 0xb7, 0x88, 0x08, 0x80, 0x7a, 0x7f, 0x80, 0x20, 0x00, 0x00, + 0xb4, 0x54, 0x00, 0x62, 0x01, 0x80, 0x00, 0x66, 0x20, 0x48, 0x49, 0x6c, 0xb4, 0x54, 0x00, 0x61, + 0xed, 0x38, 0x01, 0x80, 0x37, 0x55, 0x49, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xb8, 0x98, 0x00, 0x80, 0x00, 0x56, 0x49, 0x6c, 0xb8, 0x58, 0x01, 0x80, 0x65, 0x06, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x80, 0x22, 0x80, 0x48, 0x80, + 0x23, 0x78, 0xd4, 0x80, 0x24, 0x00, 0x00, 0x80, 0x22, 0xd0, 0xf9, 0x89, 0x51, 0xea, 0x87, 0x81, + 0x07, 0x0a, 0xd4, 0x81, 0x10, 0x88, 0x03, 0xc8, 0x10, 0x08, 0x00, 0xc8, 0x38, 0xea, 0x87, 0x81, + 0x39, 0x0a, 0xd4, 0x81, 0x3a, 0x00, 0x00, 0x80, 0x08, 0xa0, 0x14, 0x79, 0x08, 0xa8, 0x1c, 0x79, + 0x08, 0x88, 0xc6, 0x79, 0x08, 0x90, 0xce, 0x79, 0xc9, 0x40, 0x80, 0x80, 0x37, 0x8d, 0x49, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0xce, 0x40, 0x81, 0xc3, 0x0e, 0x4e, 0x81, + 0xc8, 0xa0, 0x58, 0x80, 0x00, 0x92, 0x49, 0x6c, 0xc2, 0xce, 0x42, 0x81, 0xc3, 0x0e, 0x4e, 0x81, + 0xc8, 0x80, 0x18, 0x80, 0xc5, 0xa0, 0x00, 0x80, 0xc4, 0x00, 0xfe, 0x81, 0x5d, 0x02, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0xc2, 0x82, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x80, + 0xf5, 0x55, 0x00, 0x62, 0x22, 0x60, 0xee, 0x88, 0x51, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x20, 0x70, + 0x10, 0x08, 0x00, 0xc8, 0xca, 0x10, 0x00, 0x80, 0x51, 0x00, 0x00, 0x80, 0x00, 0x18, 0x20, 0x70, + 0x00, 0x10, 0x00, 0xc8, 0xca, 0x10, 0x20, 0x80, 0x00, 0x48, 0x20, 0x70, 0x00, 0x10, 0x00, 0xc8, + 0x00, 0x00, 0x00, 0x00, 0x37, 0xc5, 0x49, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xcb, 0xe0, 0x41, 0x81, 0x00, 0xc6, 0x49, 0x6c, 0xcb, 0xe0, 0x21, 0x81, 0xf5, 0xd1, 0x49, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x55, 0x00, 0x61, 0x00, 0xaa, 0x49, 0x6c, + 0xf5, 0x55, 0x00, 0x62, 0x22, 0x00, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, + 0xe0, 0x6d, 0x40, 0x70, 0x80, 0x00, 0x20, 0x00, 0x01, 0x80, 0x00, 0x66, 0x50, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x10, 0xe8, 0x49, 0x6c, 0x76, 0x56, 0x00, 0x62, 0x00, 0xea, 0x49, 0x6c, + 0x76, 0x56, 0x00, 0x61, 0xd0, 0xe4, 0x45, 0x80, 0xd0, 0xe4, 0x45, 0x80, 0x00, 0x00, 0x00, 0x00, + 0xd3, 0x80, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x22, 0x80, 0x90, 0x88, 0xd3, 0x80, 0x01, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x03, 0x20, 0x70, + 0x80, 0x10, 0x01, 0xc8, 0xd3, 0x80, 0x00, 0x80, 0xd4, 0x80, 0xc7, 0x80, 0xde, 0x00, 0x20, 0x80, + 0xcc, 0x00, 0x90, 0x81, 0xce, 0x24, 0xa4, 0x80, 0xce, 0x24, 0xa4, 0x80, 0xcf, 0x1c, 0x14, 0x81, + 0xdd, 0x24, 0x04, 0x81, 0xf3, 0x32, 0x01, 0x80, 0xf2, 0xfe, 0x01, 0x80, 0xf4, 0x7e, 0x06, 0x80, + 0xf5, 0x70, 0x02, 0x80, 0xe3, 0x1e, 0x00, 0x80, 0x37, 0x29, 0x4a, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf6, 0x7e, 0x06, 0x80, 0xd5, 0x36, 0x50, 0x80, 0x00, 0x2c, 0x4a, 0x6c, + 0xf6, 0x7e, 0x06, 0x80, 0xd5, 0x36, 0xb0, 0x80, 0xd6, 0xe0, 0x23, 0x80, 0x68, 0x1a, 0x00, 0x80, + 0xd7, 0x00, 0x00, 0x80, 0x2c, 0x00, 0x00, 0x80, 0xd8, 0x00, 0x00, 0x80, 0xd9, 0x00, 0x00, 0x80, + 0x51, 0x96, 0xe2, 0x87, 0x50, 0x00, 0x80, 0x81, 0x00, 0x80, 0x00, 0x28, 0x08, 0x48, 0x8b, 0x7a, + 0xe5, 0x98, 0x11, 0x80, 0xe7, 0x66, 0x66, 0x81, 0xea, 0x00, 0x00, 0x80, 0xe6, 0x72, 0x29, 0x80, + 0xeb, 0xee, 0x00, 0x80, 0xeb, 0x0e, 0x00, 0x80, 0x96, 0x02, 0x00, 0x80, 0xc4, 0xe0, 0x01, 0x80, + 0xa1, 0x00, 0x0e, 0x80, 0x51, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xa0, 0x00, 0x20, 0x80, 0xa0, 0x00, 0x00, 0x80, 0xa0, 0x00, 0x00, 0x80, 0xa0, 0x02, 0xa0, 0x80, + 0xa0, 0x24, 0x04, 0x81, 0xa0, 0x00, 0x00, 0x80, 0x22, 0xf0, 0xff, 0x89, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x20, 0x00, 0x00, 0x08, 0x00, 0x8d, 0x7a, 0xa0, 0x00, 0x00, 0x80, 0x22, 0x70, 0xfa, 0x89, + 0x51, 0x00, 0x00, 0x80, 0xa0, 0x00, 0x20, 0x70, 0x10, 0x08, 0x00, 0xc8, 0xc4, 0xe0, 0x01, 0x80, + 0x22, 0xc0, 0xfa, 0x89, 0x91, 0x00, 0xa8, 0x81, 0x08, 0x88, 0x2a, 0x7d, 0x50, 0xe0, 0x01, 0x80, + 0x01, 0x80, 0x00, 0xc8, 0x01, 0x06, 0x00, 0x64, 0x51, 0x08, 0x22, 0x80, 0x50, 0x1e, 0xfe, 0x81, + 0x01, 0x80, 0x00, 0x64, 0x08, 0x80, 0x32, 0x78, 0x01, 0x80, 0x00, 0x65, 0x10, 0x08, 0x00, 0xc8, + 0x51, 0x86, 0x32, 0x80, 0x10, 0x08, 0x00, 0xc8, 0x51, 0x00, 0x00, 0x80, 0x10, 0x08, 0x00, 0xc8, + 0x51, 0x00, 0x00, 0x80, 0x10, 0x08, 0x00, 0xc8, 0x00, 0xae, 0x4a, 0x6c, 0x51, 0x00, 0x00, 0x80, + 0x10, 0x08, 0x00, 0xc8, 0x51, 0x00, 0x00, 0x80, 0x10, 0x08, 0x00, 0xc8, 0x51, 0x00, 0x00, 0x80, + 0x10, 0x08, 0x00, 0xc8, 0x51, 0x00, 0x00, 0x80, 0x10, 0x08, 0x00, 0xc8, 0x00, 0x00, 0x80, 0x6e, + 0x3d, 0x00, 0x00, 0x80, 0x3b, 0x01, 0x00, 0x80, 0x3e, 0x15, 0x00, 0x80, 0x97, 0xc5, 0x4a, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x57, 0x00, 0x61, 0x87, 0x57, 0x00, 0x62, + 0x3c, 0x01, 0x00, 0x80, 0x3c, 0x00, 0x00, 0x80, 0x96, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, + 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, + 0x96, 0x00, 0x54, 0x80, 0xed, 0x38, 0x01, 0x80, 0x22, 0xf0, 0xff, 0x89, 0x50, 0xfe, 0x01, 0x80, + 0x80, 0x20, 0x00, 0x00, 0x01, 0x80, 0x00, 0x64, 0x08, 0x00, 0x8e, 0x7a, 0x08, 0x00, 0x8f, 0x7a, + 0xf1, 0x80, 0x00, 0x61, 0x08, 0x00, 0x8e, 0x7a, 0x08, 0x00, 0x8f, 0x7a, 0xf7, 0x00, 0x50, 0x80, + 0xe6, 0x72, 0x29, 0x80, 0xe2, 0x00, 0x60, 0x80, 0x97, 0x1d, 0x4b, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x67, 0x0f, 0x4b, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x00, 0x80, 0x05, 0x55, 0x00, 0x64, 0x50, 0x14, 0x39, 0x81, 0x06, 0x56, 0x00, 0x64, + 0x50, 0xee, 0x05, 0x80, 0x07, 0x57, 0x00, 0x64, 0x00, 0x3c, 0x4b, 0x6c, 0x50, 0x00, 0x00, 0x80, + 0x05, 0x55, 0x00, 0x64, 0x50, 0x14, 0x39, 0x81, 0x06, 0x56, 0x00, 0x64, 0x50, 0xfe, 0x05, 0x80, + 0x07, 0x57, 0x00, 0x64, 0x00, 0x3c, 0x4b, 0x6c, 0x67, 0x31, 0x4b, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x80, 0x05, 0x55, 0x00, 0x64, 0x50, 0x14, 0x39, 0x81, + 0x06, 0x56, 0x00, 0x64, 0x50, 0xee, 0x07, 0x80, 0x07, 0x57, 0x00, 0x64, 0x00, 0x3c, 0x4b, 0x6c, + 0x50, 0x00, 0x00, 0x80, 0x05, 0x55, 0x00, 0x64, 0x50, 0x14, 0x39, 0x81, 0x06, 0x56, 0x00, 0x64, + 0x50, 0xfe, 0x07, 0x80, 0x07, 0x57, 0x00, 0x64, 0x57, 0x45, 0x4b, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x37, 0x57, 0x00, 0x62, 0x47, 0x4d, 0x4b, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x37, 0x57, 0x00, 0x61, 0x37, 0x57, 0x4b, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb8, 0x98, 0x00, 0x80, 0x00, 0x58, 0x4b, 0x6c, 0xb8, 0x58, 0x01, 0x80, + 0x37, 0x69, 0x4b, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x0e, 0x4e, 0x81, + 0xc2, 0xce, 0x40, 0x81, 0xc8, 0xa0, 0x58, 0x80, 0xf6, 0x7e, 0x06, 0x80, 0x00, 0x70, 0x4b, 0x6c, + 0xc3, 0x0e, 0x4e, 0x81, 0xc2, 0xce, 0x42, 0x81, 0xc8, 0x80, 0x18, 0x80, 0xf6, 0x7e, 0x06, 0x80, + 0xa6, 0x85, 0x4b, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x58, + 0x50, 0x18, 0x00, 0x80, 0x08, 0x88, 0xf2, 0x78, 0x00, 0x00, 0x00, 0x18, 0x50, 0x84, 0x4b, 0x6c, + 0x00, 0x00, 0x00, 0x00, 0x56, 0x56, 0x00, 0x61, 0x22, 0x90, 0xf9, 0x89, 0x50, 0x00, 0x00, 0x80, + 0x80, 0x20, 0x00, 0x00, 0x00, 0x60, 0x00, 0x28, 0x07, 0x95, 0x4b, 0x68, 0x50, 0xba, 0x2c, 0x80, + 0x51, 0x96, 0xe2, 0x87, 0x50, 0x00, 0x00, 0x80, 0x16, 0xa5, 0x4b, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x28, 0x08, 0x88, 0xc2, 0x78, 0x00, 0x80, 0x00, 0x28, + 0x50, 0x00, 0x80, 0x80, 0x00, 0xac, 0x4b, 0x6c, 0x00, 0x00, 0x40, 0x18, 0x08, 0x88, 0xc2, 0x78, + 0x00, 0x80, 0x00, 0x28, 0x50, 0x00, 0x80, 0x81, 0x00, 0x80, 0x00, 0x28, 0x08, 0x48, 0x8b, 0x7a, + 0x08, 0xe8, 0x88, 0x7a, 0x07, 0xc9, 0x4b, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x12, 0xb0, 0xcc, 0x80, 0x12, 0x01, 0x80, 0x80, 0x10, 0x00, 0x14, 0x80, 0x10, 0x01, 0x00, 0x80, + 0x14, 0x00, 0x50, 0x80, 0x14, 0x01, 0x50, 0x80, 0x13, 0x00, 0x50, 0x80, 0x13, 0x01, 0x50, 0x80, + 0x2d, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x80, 0x80, 0x37, 0xe3, 0x4b, 0x68, 0x22, 0x60, 0xee, 0x88, + 0x24, 0xa0, 0xfa, 0x88, 0x24, 0xa0, 0xf4, 0x88, 0x51, 0x00, 0x00, 0x80, 0x00, 0x0c, 0x20, 0x70, + 0x10, 0x08, 0x00, 0xc8, 0x51, 0x00, 0x00, 0x80, 0x00, 0x3c, 0x20, 0x70, 0x20, 0x08, 0x00, 0xc8, + 0x00, 0xee, 0x4b, 0x6c, 0x51, 0x00, 0x00, 0x80, 0x00, 0x18, 0x20, 0x70, 0x10, 0x08, 0x00, 0xc8, + 0x51, 0x00, 0x00, 0x80, 0x00, 0x30, 0x20, 0x70, 0x20, 0x08, 0x00, 0xc8, 0x22, 0x60, 0xee, 0x88, + 0x37, 0x13, 0x4c, 0x68, 0xca, 0x10, 0x00, 0x80, 0x24, 0xa0, 0xfa, 0x88, 0x24, 0xa0, 0xf4, 0x88, + 0x22, 0x60, 0xee, 0x88, 0x51, 0x00, 0x00, 0x80, 0x00, 0x18, 0x20, 0x70, 0x00, 0x10, 0x00, 0xc8, + 0x00, 0x00, 0x00, 0x00, 0xca, 0x10, 0x20, 0x80, 0x80, 0x20, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x70, + 0x80, 0x10, 0x01, 0xc8, 0x80, 0x20, 0x00, 0x00, 0x00, 0x3c, 0x20, 0x70, 0x80, 0x10, 0x01, 0xc8, + 0x00, 0x2a, 0x4c, 0x6c, 0x22, 0x60, 0xee, 0x88, 0x51, 0x00, 0x00, 0x80, 0x00, 0x18, 0x20, 0x70, + 0x00, 0x10, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0xca, 0x10, 0x20, 0x80, 0x80, 0x20, 0x00, 0x00, + 0x00, 0x18, 0x20, 0x70, 0x80, 0x10, 0x01, 0xc8, 0x80, 0x20, 0x00, 0x00, 0x00, 0x30, 0x20, 0x70, + 0x80, 0x10, 0x01, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x37, 0x37, 0x4c, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xcb, 0xe0, 0x41, 0x81, 0x00, 0x38, 0x4c, 0x6c, 0xcb, 0xe0, 0x21, 0x81, + 0xf5, 0x43, 0x4c, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x55, 0x00, 0x61, + 0x00, 0xee, 0x4b, 0x6c, 0xf5, 0x55, 0x00, 0x62, 0x22, 0x20, 0xb7, 0x88, 0x51, 0x00, 0x00, 0x80, + 0x00, 0x39, 0x20, 0x70, 0x10, 0x08, 0x00, 0xc8, 0x3e, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x80, + 0x41, 0x0e, 0x00, 0x80, 0x80, 0x5c, 0x19, 0x6c, 0x37, 0x5f, 0x4c, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xd5, 0x36, 0x50, 0x80, 0x00, 0x60, 0x4c, 0x6c, 0xd5, 0x36, 0xb0, 0x80, + 0xd6, 0xe0, 0x23, 0x80, 0x68, 0x1a, 0x00, 0x80, 0xd7, 0x00, 0x00, 0x80, 0x2c, 0x00, 0x00, 0x80, + 0xd8, 0x00, 0x00, 0x80, 0xd9, 0x00, 0x00, 0x80, 0x22, 0xa0, 0xf9, 0x89, 0x51, 0x00, 0x00, 0x80, + 0x80, 0x00, 0x20, 0x00, 0x80, 0x18, 0x80, 0x28, 0x00, 0x1c, 0x00, 0x28, 0x08, 0x10, 0x31, 0x78, + 0x08, 0x18, 0x39, 0x78, 0x24, 0x00, 0x00, 0x80, 0x08, 0xa0, 0x14, 0x79, 0x08, 0xa8, 0x1c, 0x79, + 0x35, 0x68, 0x00, 0x80, 0x08, 0x88, 0x62, 0x7e, 0x50, 0x00, 0xc0, 0x80, 0x01, 0x80, 0x00, 0x64, + 0x50, 0x00, 0x10, 0x81, 0x01, 0x80, 0x00, 0x65, 0x08, 0x60, 0x8e, 0x7a, 0x27, 0x9f, 0x4c, 0x68, + 0x08, 0x88, 0x72, 0x7e, 0x50, 0x00, 0xf8, 0x81, 0x01, 0x80, 0x00, 0x64, 0x50, 0x24, 0x04, 0x80, + 0x01, 0x80, 0x00, 0x65, 0x08, 0x70, 0x8e, 0x7a, 0x08, 0x70, 0x8e, 0x7a, 0x22, 0xd0, 0xf9, 0x89, + 0x3a, 0x00, 0x00, 0x80, 0x80, 0x20, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x08, 0xc0, 0x89, 0x7a, + 0x08, 0xc8, 0x81, 0x7a, 0x08, 0x88, 0xc6, 0x79, 0x08, 0x90, 0xce, 0x79, 0x15, 0xf2, 0x12, 0x80, + 0x16, 0xc8, 0x32, 0x80, 0x1a, 0xc8, 0x32, 0x80, 0x17, 0x00, 0x00, 0x80, 0x32, 0x1a, 0x00, 0x80, + 0x00, 0x40, 0x0b, 0x00, 0x30, 0x00, 0x00, 0x80, 0x67, 0x57, 0x00, 0x62, 0xd3, 0x80, 0x81, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x80, 0x00, 0x80, 0xd4, 0x80, 0xc7, 0x80, + 0x00, 0x00, 0x80, 0x6e, 0x37, 0xd3, 0x4c, 0x68, 0x00, 0x00, 0x00, 0x00, 0x22, 0xd0, 0xf8, 0x88, + 0x22, 0xd0, 0xf2, 0x88, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x50, 0xb0, 0x3c, 0x87, + 0x00, 0x80, 0x00, 0x10, 0x50, 0xe6, 0x4c, 0x6c, 0x22, 0x60, 0xee, 0x88, 0x51, 0x00, 0x00, 0x80, + 0xc0, 0x48, 0x20, 0x70, 0x10, 0x08, 0x00, 0xc8, 0xe5, 0x55, 0x00, 0x62, 0x54, 0x03, 0x4d, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xfb, 0x4c, 0x69, 0x51, 0x00, 0x00, 0x80, + 0x50, 0x00, 0x00, 0x80, 0x5f, 0x8a, 0xff, 0x81, 0x51, 0x00, 0x00, 0x80, 0x50, 0x00, 0x10, 0x80, + 0x00, 0xfc, 0x4c, 0x6c, 0x5f, 0x9e, 0xff, 0x81, 0x08, 0xf0, 0x82, 0x7a, 0x08, 0x50, 0x8f, 0x7a, + 0x00, 0x04, 0x4d, 0x6c, 0x5e, 0x4c, 0x10, 0x80, 0xe5, 0x98, 0x11, 0x80, 0xe7, 0x66, 0x66, 0x81, + 0x08, 0xa0, 0x00, 0x80, 0x07, 0x31, 0x50, 0x68, 0x91, 0x00, 0x24, 0x80, 0x22, 0x60, 0xee, 0x88, + 0x37, 0x1b, 0x4d, 0x68, 0x06, 0x80, 0x01, 0x80, 0x24, 0xa0, 0xfa, 0x88, 0x06, 0xc0, 0x00, 0x80, + 0x24, 0xa0, 0xf4, 0x88, 0x50, 0x00, 0x00, 0x80, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xd0, 0x00, 0x20, 0x70, 0x81, 0x00, 0x41, 0x28, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x24, 0x20, 0x70, 0x01, 0x01, 0x41, 0x28, 0x91, 0x38, 0x00, 0x80, 0x08, 0x88, 0x6a, 0x79, + 0x00, 0x00, 0x40, 0x10, 0x01, 0x80, 0x00, 0x28, 0x08, 0x68, 0x89, 0x7a, 0x50, 0xbe, 0x0f, 0x80, + 0x05, 0x55, 0x00, 0x64, 0x50, 0xdc, 0x7f, 0x81, 0x06, 0x56, 0x00, 0x64, 0x50, 0x7e, 0x1f, 0x80, + 0x07, 0x57, 0x00, 0x64, 0x08, 0x88, 0xb2, 0x78, 0x50, 0xa6, 0x13, 0x80, 0x00, 0x00, 0x00, 0x18, + 0x50, 0x4c, 0x4d, 0x6c, 0xe6, 0x56, 0x00, 0x61, 0x15, 0x57, 0x4d, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x58, 0x00, 0x5a, 0x4d, 0x6c, 0x19, 0x18, 0x01, 0x80, + 0x19, 0x33, 0x00, 0x80, 0x08, 0x80, 0xca, 0x78, 0xa6, 0x67, 0x4d, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x51, 0x04, 0x00, 0x80, 0x00, 0x6a, 0x4d, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x51, 0x72, 0x00, 0x80, 0x00, 0x64, 0x40, 0x08, 0x00, 0x00, 0x00, 0x10, 0x20, 0x16, 0x4e, 0x6c, + 0xb5, 0x55, 0x00, 0x61, 0x35, 0x55, 0x00, 0x61, 0x37, 0x7f, 0x4d, 0x68, 0x22, 0xd0, 0xf8, 0x88, + 0x24, 0xd0, 0xf8, 0x88, 0x22, 0xd0, 0xf2, 0x88, 0x24, 0xd0, 0xf2, 0x88, 0x50, 0x34, 0xf3, 0x80, + 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x50, 0x88, 0x4d, 0x6c, 0xa7, 0x57, 0x00, 0x61, + 0x08, 0x88, 0x7a, 0x78, 0x50, 0xcc, 0x7c, 0x80, 0x00, 0x00, 0x00, 0x18, 0x30, 0x92, 0x4d, 0x6c, + 0xa7, 0x57, 0x00, 0x62, 0x50, 0x66, 0xe6, 0x80, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, + 0x30, 0x9e, 0x4d, 0x6c, 0xa7, 0x57, 0x00, 0x62, 0x0f, 0x00, 0x80, 0x80, 0x08, 0x88, 0x7a, 0x78, + 0x50, 0xcc, 0xec, 0x80, 0x00, 0x00, 0x00, 0x18, 0x50, 0xb0, 0x4d, 0x6c, 0x08, 0x88, 0xaa, 0x79, + 0x50, 0x0e, 0x00, 0x80, 0x00, 0x80, 0x00, 0x28, 0x08, 0xa8, 0x89, 0x7a, 0x00, 0xbe, 0x4d, 0x6c, + 0x50, 0x00, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x18, 0x30, 0xbe, 0x4d, 0x6c, 0x08, 0x88, 0xaa, 0x79, + 0x50, 0x0e, 0x00, 0x80, 0x00, 0x80, 0x00, 0x18, 0x08, 0xa8, 0x89, 0x7a, 0x08, 0x88, 0xaa, 0x79, + 0x50, 0xa0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x50, 0xca, 0x4d, 0x6c, 0x35, 0xa0, 0x00, 0x80, + 0x00, 0xd2, 0x4d, 0x6c, 0x50, 0x68, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x30, 0xd2, 0x4d, 0x6c, + 0x35, 0x68, 0x00, 0x80, 0xa7, 0x09, 0x4e, 0x68, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0x2a, 0x7e, + 0x21, 0x09, 0x4e, 0x68, 0x08, 0x88, 0xb2, 0x78, 0x50, 0x00, 0x19, 0x80, 0x00, 0x00, 0x00, 0x18, + 0x30, 0x14, 0x4e, 0x6c, 0x45, 0xf1, 0x4d, 0x68, 0x50, 0x0c, 0x0b, 0x80, 0x08, 0x88, 0xb2, 0x78, + 0x50, 0x66, 0x0c, 0x80, 0x00, 0x00, 0x00, 0x18, 0x50, 0xf6, 0x4d, 0x6c, 0x00, 0x00, 0x4e, 0x6c, + 0x00, 0x00, 0x00, 0x18, 0x50, 0xf6, 0x4d, 0x6c, 0x00, 0x00, 0x4e, 0x6c, 0x18, 0x88, 0x92, 0x78, + 0x50, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x18, 0x30, 0x14, 0x4e, 0x6c, 0x00, 0x08, 0x4e, 0x6c, + 0x18, 0x88, 0x92, 0x78, 0x50, 0xa8, 0x61, 0x80, 0x00, 0x00, 0x00, 0x18, 0x30, 0x14, 0x4e, 0x6c, + 0x45, 0x55, 0x00, 0x61, 0xe6, 0x17, 0x4e, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x56, 0x00, 0x61, 0x00, 0x16, 0x4e, 0x6c, 0x45, 0x55, 0x00, 0x62, 0xb7, 0x2d, 0x4e, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x5c, 0x50, 0xe6, 0x03, 0x80, + 0x18, 0x88, 0xd2, 0x78, 0x00, 0x00, 0x00, 0x18, 0x50, 0x2e, 0x4e, 0x6c, 0x1a, 0xe9, 0x03, 0x80, + 0xa5, 0x55, 0x00, 0x62, 0x00, 0x5e, 0x4e, 0x6c, 0x1a, 0x01, 0x00, 0x80, 0x35, 0x5f, 0x4e, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x5d, 0x4e, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa5, 0x51, 0x4e, 0x69, 0x08, 0x88, 0xaa, 0x78, 0x00, 0x00, 0x00, 0x00, + 0x65, 0x49, 0x4e, 0x69, 0x50, 0x56, 0x0e, 0x80, 0x00, 0x00, 0x00, 0x00, 0x50, 0x2c, 0x07, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x30, 0x50, 0x4e, 0x6c, 0xa5, 0x55, 0x00, 0x62, 0x00, 0x5e, 0x4e, 0x6c, + 0x65, 0x59, 0x4e, 0x69, 0x50, 0x68, 0x11, 0x80, 0x00, 0x00, 0x00, 0x00, 0x50, 0xb4, 0x08, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x50, 0x5e, 0x4e, 0x6c, 0xa5, 0x55, 0x00, 0x61, 0x50, 0x06, 0x00, 0x80, + 0x04, 0x06, 0x00, 0x64, 0x00, 0x00, 0x34, 0x58, 0x10, 0x70, 0x4e, 0x6c, 0x00, 0x00, 0x34, 0x58, + 0x10, 0x76, 0x4e, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x7e, 0x4e, 0x6c, 0x00, 0x84, 0x4e, 0x6c, + 0x45, 0x55, 0x00, 0x61, 0x55, 0x55, 0x00, 0x62, 0x00, 0x84, 0x4e, 0x6c, 0x45, 0x55, 0x00, 0x62, + 0x55, 0x55, 0x00, 0x62, 0xd5, 0x55, 0x00, 0x62, 0x00, 0x84, 0x4e, 0x6c, 0x45, 0x55, 0x00, 0x62, + 0x55, 0x55, 0x00, 0x61, 0xd5, 0x55, 0x00, 0x62, 0x24, 0x95, 0x4e, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x34, 0x95, 0x4e, 0x69, 0x65, 0x55, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, + 0x65, 0x55, 0x00, 0x61, 0x35, 0x55, 0x00, 0x61, 0x37, 0xa7, 0x4e, 0x68, 0x22, 0xa0, 0xfd, 0x88, + 0x50, 0x00, 0x00, 0x80, 0x22, 0xa0, 0xf7, 0x88, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, + 0x00, 0x36, 0x20, 0x70, 0x80, 0x00, 0x41, 0x08, 0x00, 0xae, 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x20, 0x00, 0x00, 0x00, 0x2a, 0x20, 0x70, 0x80, 0x00, 0x41, 0x08, 0x64, 0xcf, 0x4e, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x2e, 0x80, 0x00, 0x00, 0x00, 0x10, + 0x30, 0xce, 0x4e, 0x6c, 0xb5, 0xcf, 0x4e, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x65, 0xcf, 0x4e, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xcf, 0x4e, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x56, 0x00, 0x61, 0x94, 0xd7, 0x4e, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe5, 0x55, 0x00, 0x61, 0xa4, 0xdf, 0x4e, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x55, 0x00, 0x61, 0x06, 0x0a, 0x00, 0x80, + 0x80, 0x00, 0x20, 0x70, 0x00, 0x00, 0x34, 0x58, 0x08, 0x88, 0xb2, 0x78, 0x50, 0x00, 0x19, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x30, 0xee, 0x4e, 0x6c, 0x35, 0x55, 0x00, 0x61, 0x08, 0x88, 0xaa, 0x78, + 0x50, 0x68, 0x11, 0x80, 0x00, 0x00, 0x00, 0x18, 0x30, 0xf8, 0x4e, 0x6c, 0x35, 0x55, 0x00, 0x61, + 0x35, 0x41, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc7, 0x00, 0x50, 0x81, + 0x37, 0x0b, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0xa0, 0x58, 0x80, + 0x00, 0x0c, 0x4f, 0x6c, 0xc8, 0x80, 0x18, 0x80, 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, + 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, + 0x96, 0x00, 0x54, 0x80, 0x96, 0x00, 0x54, 0x80, 0x15, 0xff, 0x4f, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0xaa, 0x79, 0x27, 0x2d, 0x4f, 0x69, 0x51, 0x00, 0xfe, 0x81, + 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x28, 0x08, 0x68, 0x8e, 0x7a, + 0x37, 0x3b, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x26, 0x50, 0x80, + 0x00, 0x3c, 0x4f, 0x6c, 0xd5, 0x26, 0xb0, 0x80, 0xd6, 0xe6, 0x27, 0x80, 0x00, 0xfe, 0x4f, 0x6c, + 0x65, 0xb7, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0xaa, 0x79, + 0x27, 0x51, 0x4f, 0x69, 0x51, 0x00, 0xfe, 0x81, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x80, + 0x00, 0x80, 0x00, 0x28, 0x08, 0x68, 0x8e, 0x7a, 0xc7, 0x80, 0x00, 0x81, 0x96, 0x00, 0x10, 0x80, + 0x96, 0x00, 0x30, 0x80, 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x70, 0x80, 0x96, 0x00, 0x70, 0x80, + 0x96, 0x00, 0x70, 0x80, 0x96, 0x00, 0x70, 0x80, 0x96, 0x00, 0x70, 0x80, 0x06, 0x7d, 0x4f, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0x77, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc8, 0xa0, 0x4a, 0x80, 0x00, 0x78, 0x4f, 0x6c, 0xc8, 0x80, 0x0a, 0x80, + 0xed, 0xb8, 0x01, 0x80, 0x00, 0x8c, 0x4f, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x37, 0x89, 0x4f, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0xa0, 0x48, 0x80, 0x00, 0x8a, 0x4f, 0x6c, + 0xc8, 0x80, 0x08, 0x80, 0xed, 0x38, 0x01, 0x80, 0x46, 0xa5, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x37, 0x9f, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xd5, 0x26, 0x50, 0x80, 0xd6, 0xa6, 0x26, 0x80, 0x00, 0xfe, 0x4f, 0x6c, 0xd5, 0x26, 0xb0, 0x80, + 0xd6, 0xa6, 0x26, 0x80, 0x00, 0xfe, 0x4f, 0x6c, 0x37, 0xb1, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xd5, 0x36, 0x50, 0x80, 0xd6, 0xa4, 0x24, 0x80, 0x00, 0xfe, 0x4f, 0x6c, + 0xd5, 0x36, 0xb0, 0x80, 0xd6, 0xa4, 0x24, 0x80, 0x00, 0xfe, 0x4f, 0x6c, 0xed, 0x38, 0x01, 0x80, + 0x08, 0xa8, 0x00, 0x80, 0xc7, 0x80, 0xe0, 0x80, 0x96, 0x00, 0x00, 0x80, 0x96, 0x00, 0x10, 0x80, + 0x96, 0x00, 0x20, 0x80, 0x96, 0x00, 0x30, 0x80, 0x96, 0x00, 0x40, 0x80, 0x96, 0x00, 0x50, 0x80, + 0x96, 0x00, 0x60, 0x80, 0x96, 0x00, 0x70, 0x80, 0x37, 0xd7, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc8, 0xa0, 0x60, 0x80, 0x00, 0xd8, 0x4f, 0x6c, 0xc8, 0x80, 0x20, 0x80, + 0x46, 0xf1, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0xeb, 0x4f, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x26, 0x50, 0x80, 0xd6, 0x86, 0x26, 0x80, + 0x00, 0xfe, 0x4f, 0x6c, 0xd5, 0x26, 0xb0, 0x80, 0xd6, 0x86, 0x26, 0x80, 0x00, 0xfe, 0x4f, 0x6c, + 0x37, 0xfb, 0x4f, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x36, 0x50, 0x80, + 0x00, 0xfc, 0x4f, 0x6c, 0xd5, 0x36, 0xb0, 0x80, 0xd6, 0xe4, 0x25, 0x80, 0x91, 0x00, 0xa2, 0x81, + 0x92, 0x0c, 0x00, 0x80, 0x08, 0x88, 0x7a, 0x78, 0x00, 0x80, 0x00, 0x42, 0x01, 0x20, 0x40, 0x28, + 0x08, 0x28, 0x46, 0x78, 0x91, 0x00, 0x22, 0x81, 0x92, 0x0c, 0x00, 0x80, 0x09, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x80, 0x40, 0x4a, 0x01, 0x24, 0x00, 0x28, + 0x18, 0x88, 0x82, 0x78, 0x91, 0x00, 0x26, 0x81, 0x50, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x28, + 0x91, 0x00, 0x2e, 0x80, 0x01, 0x80, 0x00, 0x48, 0x50, 0xfe, 0x00, 0x80, 0x01, 0x80, 0x00, 0x64, + 0x08, 0x80, 0x4a, 0x78, 0x00, 0x24, 0x00, 0x28, 0x08, 0x30, 0x4e, 0x78, 0x17, 0x57, 0x00, 0x62, + 0x07, 0xa7, 0x50, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0xa2, 0x78, + 0x50, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x18, 0x50, 0x50, 0x50, 0x6c, 0x50, 0x98, 0x99, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x50, 0x4a, 0x50, 0x6c, 0x17, 0x57, 0x00, 0x61, 0x2c, 0x00, 0x00, 0x80, + 0x00, 0xbc, 0x51, 0x6c, 0x17, 0xbd, 0x51, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x17, 0x57, 0x00, 0x62, 0x00, 0x00, 0x60, 0x59, 0x08, 0x88, 0x62, 0x79, 0x50, 0x06, 0x00, 0x80, + 0x01, 0x2c, 0x00, 0x64, 0x20, 0xbc, 0x51, 0x6c, 0x00, 0x80, 0x01, 0x00, 0x00, 0x60, 0x00, 0x48, + 0x08, 0xe8, 0x48, 0x7b, 0x75, 0x55, 0x00, 0x60, 0x75, 0x83, 0x50, 0x68, 0x08, 0x88, 0xc2, 0x78, + 0x50, 0x00, 0x02, 0x80, 0x00, 0x80, 0x00, 0x28, 0x74, 0x75, 0x50, 0x69, 0x50, 0xfe, 0x07, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x50, 0xfe, 0x3f, 0x80, 0x01, 0x18, 0x00, 0x64, 0x20, 0x82, 0x50, 0x6c, + 0x56, 0x56, 0x00, 0x61, 0x22, 0x90, 0xf9, 0x89, 0x51, 0x00, 0x00, 0x80, 0x10, 0x08, 0x00, 0xc8, + 0x00, 0xbc, 0x51, 0x6c, 0x50, 0xba, 0x2c, 0x80, 0x51, 0x96, 0xe2, 0x87, 0x16, 0x97, 0x50, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x28, 0x08, 0x88, 0xc2, 0x78, + 0x00, 0x80, 0x00, 0x28, 0x50, 0x00, 0x80, 0x80, 0x00, 0x9e, 0x50, 0x6c, 0x00, 0x00, 0x40, 0x18, + 0x08, 0x88, 0xc2, 0x78, 0x00, 0x80, 0x00, 0x28, 0x50, 0x00, 0x80, 0x81, 0x00, 0x80, 0x00, 0x28, + 0x08, 0x48, 0x8b, 0x7a, 0x80, 0x5c, 0x19, 0x6c, 0x00, 0xbc, 0x51, 0x6c, 0x37, 0xaf, 0x50, 0x68, + 0x22, 0x60, 0xee, 0x88, 0x06, 0x80, 0x01, 0x80, 0x06, 0xc0, 0x00, 0x80, 0x91, 0x00, 0x2c, 0x80, + 0x50, 0x00, 0x00, 0x80, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x20, 0x70, + 0x81, 0x00, 0x41, 0x30, 0x91, 0x30, 0x00, 0x80, 0x51, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x28, + 0x08, 0xb0, 0x89, 0x7a, 0x50, 0xb4, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x60, 0xcc, 0x50, 0x6c, + 0x56, 0x56, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0xa0, 0x80, 0x08, 0x88, 0x7a, 0x78, + 0x00, 0x00, 0x00, 0x18, 0x50, 0xe8, 0x50, 0x6c, 0x37, 0xdd, 0x50, 0x68, 0x22, 0xd0, 0xf8, 0x88, + 0x00, 0x00, 0x00, 0x00, 0x22, 0xd0, 0xf2, 0x88, 0x50, 0x00, 0x80, 0x80, 0x80, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x30, 0xe8, 0x50, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x56, 0x56, 0x00, 0x61, + 0x15, 0xf9, 0x50, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x05, 0x51, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x55, 0x00, 0x61, 0x00, 0x56, 0x51, 0x6c, + 0x12, 0x57, 0x51, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x55, 0x00, 0x62, + 0x95, 0x55, 0x00, 0x61, 0x00, 0x56, 0x51, 0x6c, 0x00, 0x00, 0x60, 0x59, 0x08, 0x88, 0x62, 0x79, + 0x50, 0x02, 0x00, 0x80, 0x01, 0x2c, 0x00, 0x64, 0x20, 0x56, 0x51, 0x6c, 0x22, 0x80, 0x48, 0x80, + 0x23, 0x78, 0xd4, 0x80, 0x24, 0x00, 0x00, 0x80, 0x08, 0xa0, 0x14, 0x79, 0x08, 0xa8, 0x1c, 0x79, + 0x00, 0x80, 0x01, 0x00, 0x00, 0x60, 0x00, 0x48, 0xa6, 0x27, 0x51, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x95, 0x55, 0x00, 0x61, 0x00, 0x56, 0x51, 0x6c, 0x08, 0xe8, 0x48, 0x7b, + 0x75, 0x55, 0x00, 0x60, 0x75, 0x43, 0x51, 0x68, 0x08, 0x88, 0xc2, 0x78, 0x50, 0x00, 0x02, 0x80, + 0x00, 0x80, 0x00, 0x28, 0x74, 0x3b, 0x51, 0x69, 0x50, 0xfe, 0x07, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x50, 0xfe, 0x3f, 0x80, 0x01, 0x18, 0x00, 0x64, 0x20, 0x42, 0x51, 0x6c, 0x56, 0x56, 0x00, 0x61, + 0x00, 0xbc, 0x51, 0x6c, 0x08, 0x88, 0xc2, 0x78, 0x50, 0x96, 0xe2, 0x87, 0x00, 0x80, 0x00, 0x28, + 0x16, 0x51, 0x51, 0x69, 0x50, 0x00, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x80, 0x80, + 0x00, 0x80, 0x00, 0x28, 0x08, 0x48, 0x8b, 0x7a, 0x80, 0x5c, 0x19, 0x6c, 0x25, 0x69, 0x51, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x73, 0x51, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x25, 0x55, 0x00, 0x61, 0x3d, 0x00, 0x00, 0x80, 0x00, 0xbc, 0x51, 0x6c, + 0x92, 0x75, 0x51, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x55, 0x00, 0x62, + 0x3d, 0x00, 0x00, 0x80, 0x00, 0xbc, 0x51, 0x6c, 0x3d, 0x00, 0x00, 0x80, 0x08, 0x88, 0xea, 0x78, + 0x08, 0x80, 0x4a, 0x7b, 0x00, 0x80, 0x00, 0x18, 0x50, 0xc4, 0x04, 0x80, 0x00, 0x00, 0x00, 0x20, + 0x50, 0x86, 0x51, 0x6c, 0x80, 0x5c, 0x19, 0x6c, 0x00, 0xba, 0x51, 0x6c, 0x50, 0x04, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x20, 0x30, 0xba, 0x51, 0x6c, 0x22, 0x90, 0xf9, 0x89, 0x08, 0x30, 0xa0, 0x7c, + 0x08, 0x38, 0xa8, 0x7c, 0x51, 0x96, 0xe2, 0x87, 0x08, 0x80, 0x4a, 0x7b, 0x00, 0x00, 0x40, 0x10, + 0x16, 0xa1, 0x51, 0x69, 0x51, 0x00, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x51, 0x00, 0x80, 0x80, + 0x00, 0x00, 0x40, 0x10, 0x51, 0x00, 0x00, 0x80, 0x10, 0x08, 0x80, 0x29, 0x10, 0x08, 0xc0, 0x29, + 0x10, 0x08, 0x00, 0x28, 0x22, 0xd0, 0xf9, 0x89, 0x08, 0x80, 0x8a, 0x7e, 0x08, 0x38, 0x90, 0x7e, + 0x51, 0x00, 0x00, 0x80, 0x10, 0x08, 0xc0, 0x29, 0x10, 0x08, 0x00, 0x28, 0x1e, 0x00, 0x00, 0x80, + 0xa6, 0x56, 0x00, 0x61, 0x08, 0xe8, 0x48, 0x7b, 0xa1, 0x8e, 0x0e, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0x02, 0x7d, 0x08, 0x30, 0x88, 0x7a, + 0x50, 0x00, 0xe0, 0x81, 0xa0, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x64, 0x50, 0x00, 0x80, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x10, 0xd6, 0x51, 0x6c, 0x00, 0xea, 0x51, 0x6c, 0x08, 0x88, 0x32, 0x78, + 0x50, 0xc0, 0x01, 0x80, 0x01, 0x86, 0x00, 0x64, 0x08, 0x88, 0xca, 0x7a, 0x50, 0x3e, 0x00, 0x80, + 0x01, 0x80, 0x00, 0x64, 0x08, 0x80, 0x32, 0x78, 0x01, 0x80, 0x00, 0x65, 0x08, 0xc8, 0x8a, 0x7a, + 0x00, 0x00, 0x80, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x05, 0x00, + 0x31, 0x59, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x90, 0x05, 0x00, 0x41, 0x59, 0x00, 0x62, 0x00, 0x00, 0x80, 0x6e, 0x08, 0x81, 0x82, 0x78, + 0x08, 0x89, 0xba, 0x79, 0x08, 0x20, 0x00, 0x28, 0x55, 0x13, 0x52, 0x68, 0x91, 0x00, 0x26, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x45, 0x13, 0x52, 0x69, 0x91, 0x00, 0x26, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x91, 0x00, 0x28, 0x80, 0x08, 0x70, 0x03, 0x00, 0x08, 0x00, 0x00, 0x01, 0x09, 0x40, 0x00, 0x28, + 0xa9, 0x06, 0x00, 0x80, 0x02, 0x00, 0x80, 0x00, 0x06, 0xd0, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x70, 0x00, 0x00, 0x00, 0xb0, + 0x00, 0x00, 0x40, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x91, 0x28, 0x24, 0x81, 0x08, 0x88, 0x42, 0x78, + 0x01, 0xb0, 0x00, 0x28, 0x08, 0x80, 0xa2, 0x78, 0x00, 0x80, 0x00, 0x18, 0x91, 0x00, 0x28, 0x80, + 0x01, 0xd0, 0xc0, 0x2c, 0x91, 0x00, 0x32, 0x80, 0x00, 0x80, 0x00, 0x18, 0x01, 0x4c, 0x4a, 0x28, + 0x91, 0x00, 0x26, 0x81, 0x00, 0x80, 0x80, 0x1c, 0x01, 0x80, 0x00, 0x20, 0x91, 0x00, 0x38, 0x80, + 0x01, 0x48, 0x00, 0x28, 0x08, 0x88, 0x62, 0x78, 0x18, 0x80, 0xa2, 0x78, 0x00, 0x80, 0x00, 0x18, + 0x91, 0x00, 0x24, 0x80, 0x01, 0x80, 0x00, 0x28, 0x10, 0xa0, 0x88, 0x7a, 0x18, 0x80, 0x9a, 0x78, + 0x91, 0x00, 0x2c, 0x80, 0x00, 0x80, 0x00, 0x18, 0x01, 0x00, 0x40, 0x28, 0x18, 0x88, 0xa2, 0x78, + 0x10, 0x98, 0x80, 0x7a, 0x91, 0x00, 0x26, 0x81, 0x00, 0x80, 0x00, 0x18, 0x18, 0x80, 0x92, 0x78, + 0x01, 0x80, 0x00, 0x20, 0x91, 0x00, 0x38, 0x80, 0x01, 0x80, 0x00, 0x28, 0x10, 0x90, 0x88, 0x7a, + 0x10, 0x01, 0x00, 0x80, 0x91, 0x00, 0x22, 0x81, 0x92, 0x0c, 0x00, 0x80, 0x09, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x80, 0x40, 0x4a, 0x01, 0x24, 0x00, 0x28, + 0x18, 0x88, 0x82, 0x78, 0x91, 0x00, 0x26, 0x81, 0x50, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00, 0x28, + 0x91, 0x00, 0x2e, 0x80, 0x01, 0x80, 0x00, 0x48, 0x50, 0xfe, 0x00, 0x80, 0x01, 0x80, 0x00, 0x64, + 0x08, 0x80, 0x4a, 0x78, 0x00, 0x24, 0x00, 0x28, 0x08, 0x30, 0x4e, 0x78, 0x00, 0x00, 0x80, 0x6e, + 0x25, 0x20, 0x02, 0x88, 0x27, 0x28, 0x02, 0x88, 0x91, 0x22, 0x22, 0x80, 0x08, 0x38, 0xe0, 0x7e, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xd9, 0x52, 0x68, 0x0b, 0x00, 0x00, 0x80, 0x50, 0x00, 0x00, 0x80, + 0x35, 0xbf, 0x52, 0x69, 0xdc, 0x02, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7a, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf4, 0x03, 0x60, 0x70, 0x00, 0x44, 0x07, 0x00, 0x21, 0x88, 0x39, 0xc8, + 0x31, 0x08, 0x00, 0xc8, 0x08, 0xe0, 0x3e, 0x78, 0x00, 0x00, 0x80, 0x6e, 0xdc, 0x02, 0x00, 0x80, + 0x50, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x28, 0x08, 0x28, 0x82, 0x7a, 0x27, 0x28, 0x02, 0x88, + 0x00, 0x00, 0x00, 0x00, 0xf4, 0x03, 0x80, 0x70, 0x00, 0x44, 0x00, 0x00, 0x20, 0x08, 0x00, 0xc8, + 0x00, 0x00, 0x40, 0xb8, 0x30, 0x08, 0x00, 0x18, 0x08, 0xe0, 0x3e, 0x78, 0x00, 0x00, 0x80, 0x6e, + 0x08, 0x80, 0xfa, 0x78, 0x51, 0x02, 0x00, 0x80, 0x00, 0x7c, 0x00, 0x28, 0xdc, 0x04, 0x00, 0x80, + 0x08, 0x88, 0x2a, 0x7a, 0x50, 0xfc, 0xff, 0x87, 0x00, 0x00, 0x40, 0x28, 0x08, 0x28, 0x82, 0x7a, + 0x27, 0x28, 0x02, 0x88, 0x00, 0x00, 0x00, 0x00, 0xf4, 0x03, 0x60, 0x70, 0x00, 0x44, 0x00, 0x00, + 0x21, 0x88, 0x39, 0xc8, 0x31, 0x08, 0x00, 0xc8, 0x08, 0xe0, 0x3e, 0x78, 0x00, 0x00, 0x80, 0x6e, + 0x25, 0x20, 0x02, 0x88, 0x27, 0x28, 0x02, 0x88, 0x0b, 0x00, 0x00, 0x80, 0x50, 0x00, 0x00, 0x80, + 0x08, 0x38, 0xe0, 0x7e, 0x06, 0x00, 0x00, 0x80, 0x06, 0x01, 0x00, 0x80, 0x50, 0x02, 0x04, 0x80, + 0x08, 0x88, 0xfa, 0x78, 0x00, 0x7c, 0x00, 0x18, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xa5, 0x53, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x5b, 0x53, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x18, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x91, 0x22, 0x22, 0x80, 0x00, 0x40, 0xb7, 0x00, 0x21, 0x88, 0xf9, 0x2a, 0x31, 0x88, 0x82, 0x29, + 0x91, 0x00, 0x32, 0x80, 0x09, 0x18, 0xc0, 0x2a, 0x91, 0x22, 0x22, 0x80, 0x00, 0x40, 0x07, 0x00, + 0x21, 0x88, 0x39, 0x28, 0x31, 0x08, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf4, 0x03, 0x00, 0x71, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x07, 0x00, + 0x21, 0x88, 0x39, 0x28, 0x31, 0x08, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xe0, 0x3e, 0x78, 0x08, 0xb8, 0x31, 0x78, + 0x00, 0x00, 0x80, 0x6e, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x1a, 0x00, 0x80, 0x08, 0x88, 0x2a, 0x7a, + 0x50, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x28, 0x08, 0x28, 0x82, 0x7a, 0x27, 0x28, 0x02, 0x88, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x71, 0x91, 0x00, 0x32, 0x80, 0x00, 0x50, 0x60, 0x00, + 0x09, 0x18, 0xc2, 0x2a, 0x20, 0x08, 0x00, 0x28, 0x00, 0x00, 0x40, 0xb8, 0x30, 0x08, 0x00, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xb0, 0x00, 0x20, 0x08, 0x00, 0x28, + 0x00, 0x00, 0x40, 0xb8, 0x30, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf4, 0x03, 0x00, 0x71, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x20, 0x08, 0x00, 0x28, 0x00, 0x00, 0x40, 0xb8, 0x30, 0x08, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xe0, 0x3e, 0x78, 0x08, 0xb8, 0x31, 0x78, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x02, 0x00, 0x80, 0x08, 0x88, 0xfa, 0x78, 0x00, 0x7c, 0x00, 0x28, 0xdc, 0x1c, 0x00, 0x80, + 0x08, 0x88, 0x2a, 0x7a, 0x50, 0xfc, 0xff, 0x87, 0x00, 0x00, 0x40, 0x28, 0x08, 0x28, 0x82, 0x7a, + 0x27, 0x28, 0x02, 0x88, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x71, 0x91, 0x00, 0x32, 0x80, + 0x00, 0x50, 0x60, 0x00, 0x09, 0x18, 0xc2, 0x2a, 0x91, 0x22, 0x22, 0x80, 0x21, 0x88, 0x39, 0x28, + 0x31, 0x08, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x21, 0x88, 0x39, 0x28, 0x31, 0x08, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf4, 0x03, 0x00, 0x71, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x21, 0x88, 0x39, 0x28, 0x31, 0x08, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xe0, 0x3e, 0x78, + 0x08, 0xb8, 0x31, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x6e, 0x91, 0x22, 0x22, 0x80, + 0x08, 0x30, 0x38, 0x7e, 0x08, 0x38, 0x40, 0x7e, 0x0b, 0x00, 0x00, 0x80, 0xdc, 0x1c, 0x00, 0x80, + 0x24, 0x00, 0x62, 0x89, 0x26, 0x60, 0xa5, 0x89, 0x28, 0x00, 0x50, 0x88, 0x22, 0x00, 0x92, 0x88, + 0x0b, 0x00, 0x00, 0x80, 0x08, 0x00, 0x40, 0x81, 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x50, 0x80, + 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x50, 0x80, + 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x50, 0x80, 0x08, 0x88, 0x42, 0x7e, 0xb1, 0x09, 0x00, 0x61, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xbd, 0x54, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0xa0, 0xa0, 0x80, 0x96, 0x00, 0x00, 0x80, 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x50, 0x80, + 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x50, 0x80, + 0x96, 0x00, 0x50, 0x80, 0x08, 0x88, 0x4a, 0x78, 0xa1, 0x09, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x5c, 0x01, 0x70, 0x50, 0x00, 0x00, 0x80, 0x37, 0x4f, 0x54, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x22, 0xa0, 0x97, 0x88, 0x00, 0x56, 0x54, 0x6c, 0x22, 0xa0, 0x9d, 0x88, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x3d, 0x60, 0x70, + 0x00, 0x44, 0x00, 0x00, 0x21, 0x08, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x08, 0x38, 0x46, 0x78, + 0x08, 0x40, 0x4e, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x21, 0x08, 0x00, 0x48, + 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x48, 0x00, 0x71, 0x80, 0x00, 0x20, 0x00, + 0x40, 0x08, 0x02, 0x10, 0x01, 0x80, 0x00, 0xc8, 0x00, 0x00, 0x40, 0xb8, 0x20, 0x08, 0x00, 0x48, + 0x31, 0x88, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x07, 0x40, 0x08, 0x00, 0x10, 0x37, 0x9d, 0x54, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x28, 0x40, 0x6f, 0x88, 0x51, 0x00, 0x00, 0x80, 0x40, 0x0b, 0x20, 0x70, + 0x40, 0x08, 0x00, 0xc8, 0x00, 0xa4, 0x54, 0x6c, 0x28, 0x40, 0x69, 0x88, 0x51, 0x00, 0x00, 0x80, + 0x40, 0x17, 0x20, 0x70, 0x40, 0x08, 0x00, 0xc8, 0x08, 0x38, 0x36, 0x78, 0x08, 0x40, 0x3e, 0x78, + 0x96, 0x00, 0x00, 0x80, 0x96, 0x00, 0x10, 0x80, 0x96, 0x00, 0x20, 0x80, 0x96, 0x00, 0x30, 0x80, + 0x96, 0x00, 0x40, 0x80, 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x60, 0x80, 0x96, 0x00, 0x70, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x92, 0x88, + 0x00, 0x52, 0x01, 0x70, 0x00, 0x00, 0x00, 0x00, 0x37, 0xed, 0x54, 0x68, 0x50, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x24, 0x33, 0x60, 0x70, 0x00, 0x40, 0x00, 0x00, 0x21, 0x08, 0x00, 0x48, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x09, 0x80, 0x70, 0x00, 0x40, 0x00, 0x00, + 0xa1, 0x8a, 0x82, 0x48, 0x40, 0x08, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x80, 0x52, 0x20, 0x00, + 0x40, 0x08, 0x00, 0x10, 0x08, 0x38, 0x46, 0x78, 0x08, 0x40, 0x4e, 0x78, 0x91, 0x24, 0x22, 0x80, + 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x55, 0x6c, 0x24, 0x27, 0x60, 0x70, 0x00, 0x40, 0x00, 0x00, + 0x21, 0x08, 0x00, 0x48, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x15, 0x80, 0x70, + 0x00, 0x40, 0x00, 0x00, 0xa1, 0x8a, 0x82, 0x48, 0x40, 0x08, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, + 0x80, 0x52, 0x20, 0x00, 0x40, 0x08, 0x00, 0x10, 0x08, 0x38, 0x46, 0x78, 0x08, 0x40, 0x4e, 0x78, + 0x91, 0x24, 0x22, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x88, 0x02, 0x10, 0x80, 0x02, 0x20, 0x00, 0x40, 0x48, 0x00, 0x71, 0xc0, 0x08, 0x01, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x31, 0x88, 0x02, 0x18, 0x80, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x28, 0x20, 0x74, 0x88, 0x51, 0x00, 0x00, 0x80, 0x40, 0x01, 0x20, 0x70, 0x40, 0x08, 0x00, 0xc8, + 0x08, 0x38, 0x36, 0x78, 0x08, 0x40, 0x3e, 0x78, 0x96, 0x00, 0x10, 0x80, 0x96, 0x00, 0x30, 0x80, + 0x96, 0x00, 0x50, 0x80, 0x96, 0x00, 0x70, 0x80, 0x96, 0x00, 0x70, 0x80, 0x96, 0x00, 0x70, 0x80, + 0x96, 0x00, 0x70, 0x80, 0x96, 0x00, 0x70, 0x80, 0x00, 0x00, 0x80, 0x6e, 0x25, 0x50, 0x00, 0x88, + 0x06, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x40, 0x70, 0x00, 0x21, 0x60, 0x00, + 0x01, 0x98, 0xc0, 0x32, 0x08, 0x88, 0x4c, 0x78, 0x01, 0x80, 0x00, 0x18, 0x91, 0x00, 0x26, 0x80, + 0x01, 0x2c, 0x00, 0x28, 0x08, 0x88, 0x32, 0x78, 0x10, 0x08, 0x00, 0xc8, 0x00, 0x00, 0x80, 0x6e, + 0x06, 0xbc, 0x23, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x6f, 0x55, 0x68, 0x07, 0xe4, 0x17, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x3c, 0x6d, 0x80, 0x00, 0xc2, 0x55, 0x6c, 0x6a, 0x00, 0x00, 0x88, + 0x51, 0x00, 0x00, 0x80, 0x51, 0x01, 0x00, 0x80, 0x40, 0x1c, 0x20, 0x70, 0x58, 0x08, 0x00, 0xc8, + 0xa9, 0xce, 0x4b, 0x80, 0x2a, 0x00, 0x00, 0x88, 0x33, 0x30, 0x00, 0x88, 0x35, 0x38, 0x00, 0x88, + 0x40, 0x06, 0x40, 0x70, 0x84, 0x20, 0x00, 0x00, 0x02, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x1c, 0x20, 0x70, 0x02, 0x01, 0x80, 0xb0, 0x50, 0x60, 0x00, 0x80, 0x00, 0x70, 0x00, 0x00, + 0x00, 0x1c, 0x03, 0x28, 0x00, 0x18, 0x00, 0x28, 0xa9, 0xce, 0x45, 0x80, 0x2a, 0x00, 0x00, 0x88, + 0x33, 0x30, 0x00, 0x88, 0x35, 0x38, 0x00, 0x88, 0x40, 0x03, 0x40, 0x70, 0x84, 0x20, 0x00, 0x00, + 0x02, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x70, 0x02, 0x01, 0x80, 0xb0, + 0x91, 0x00, 0x2c, 0x80, 0x0b, 0x00, 0x00, 0x80, 0x40, 0x1c, 0x60, 0x70, 0x02, 0x81, 0x80, 0xb0, + 0x00, 0x00, 0xb0, 0x00, 0x01, 0x2c, 0x00, 0x30, 0x08, 0x88, 0x5a, 0x78, 0x08, 0x80, 0x52, 0x79, + 0x00, 0x80, 0x00, 0x18, 0x91, 0x00, 0x26, 0x80, 0x01, 0x00, 0x40, 0x28, 0x08, 0x50, 0x81, 0x7a, + 0x00, 0x00, 0x56, 0x6c, 0x22, 0xe0, 0xa6, 0x89, 0x24, 0x20, 0xa6, 0x89, 0x91, 0x00, 0x32, 0x80, + 0x08, 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x80, 0x00, 0x40, 0x80, 0x70, 0x80, 0x20, 0x80, 0x00, + 0x01, 0x21, 0x80, 0x30, 0x00, 0x80, 0x40, 0x1a, 0x01, 0xa4, 0x40, 0x30, 0x08, 0x88, 0x42, 0x78, + 0x08, 0x80, 0x12, 0x7a, 0x00, 0x80, 0x00, 0x18, 0x91, 0x00, 0x26, 0x80, 0x01, 0x00, 0x40, 0x28, + 0x08, 0x10, 0x82, 0x7a, 0x08, 0x88, 0x4a, 0x78, 0x08, 0x80, 0x1a, 0x7a, 0x00, 0x80, 0x00, 0x18, + 0x01, 0x00, 0x40, 0x28, 0x08, 0x18, 0x82, 0x7a, 0x91, 0x00, 0x28, 0x80, 0x08, 0x88, 0x1a, 0x7a, + 0x01, 0x00, 0x40, 0xc8, 0x00, 0x80, 0x00, 0x18, 0x08, 0x80, 0x12, 0x7a, 0x00, 0x00, 0x00, 0x10, + 0x30, 0xfe, 0x55, 0x6c, 0x2a, 0x00, 0x00, 0x80, 0x00, 0x00, 0x56, 0x6c, 0x2a, 0xd0, 0x07, 0x80, + 0x08, 0x80, 0x52, 0x79, 0x37, 0x15, 0x56, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x1f, 0x56, 0x68, 0x51, 0xd0, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x51, 0xdc, 0x05, 0x80, 0x00, 0x1e, 0x56, 0x6c, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x1f, 0x56, 0x68, + 0x51, 0xbc, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0xdc, 0x05, 0x80, 0x00, 0x80, 0x0b, 0x18, + 0x50, 0xfe, 0xff, 0x87, 0x30, 0x28, 0x56, 0x6c, 0x50, 0x0a, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x28, 0x51, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x08, 0x51, 0xfe, 0x01, 0x80, + 0x00, 0x00, 0x00, 0x10, 0x50, 0x36, 0x56, 0x6c, 0x50, 0xfe, 0x01, 0x80, 0x51, 0x00, 0x00, 0x80, + 0x00, 0x80, 0x00, 0x10, 0x08, 0xb8, 0x88, 0x7a, 0x20, 0x40, 0x56, 0x6c, 0x65, 0x55, 0x00, 0x62, + 0x51, 0x50, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x50, 0x48, 0x56, 0x6c, 0x65, 0x55, 0x00, 0x61, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x5b, 0x56, 0x68, 0x08, 0x88, 0xb2, 0x78, 0x50, 0x60, 0x22, 0x80, + 0x08, 0x88, 0xb2, 0x78, 0x50, 0xd0, 0x07, 0x80, 0x00, 0x00, 0x00, 0x18, 0x30, 0x5e, 0x56, 0x6c, + 0x00, 0x74, 0x56, 0x6c, 0x00, 0x00, 0x00, 0x18, 0x30, 0x74, 0x56, 0x6c, 0xb5, 0x75, 0x56, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x5c, 0x50, 0x00, 0x00, 0x80, + 0x18, 0x88, 0xca, 0x78, 0x00, 0x00, 0x00, 0x18, 0x30, 0x74, 0x56, 0x6c, 0xb7, 0x57, 0x00, 0x61, + 0x19, 0x01, 0x00, 0x80, 0x00, 0x7a, 0x56, 0x6c, 0x17, 0x00, 0x00, 0x80, 0x2a, 0x00, 0x00, 0x80, + 0x65, 0x55, 0x00, 0x62, 0x00, 0x00, 0x80, 0x6e, 0x6a, 0x00, 0x00, 0x88, 0x51, 0x00, 0x00, 0x80, + 0x51, 0x01, 0x00, 0x80, 0xf0, 0x03, 0x20, 0x70, 0x58, 0x08, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x01, 0x20, 0x72, 0x08, 0x48, 0x3d, 0x78, 0x2a, 0x00, 0x00, 0x88, 0x33, 0x60, 0x00, 0x88, + 0x35, 0x68, 0x00, 0x88, 0x40, 0x06, 0x40, 0x70, 0x84, 0x20, 0x00, 0x00, 0x02, 0x01, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0x20, 0x70, 0x02, 0x01, 0x80, 0xb0, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x20, 0x70, 0x00, 0x00, 0x00, 0xb0, 0x50, 0xc0, 0x00, 0x80, 0x00, 0xc0, 0x00, 0x00, + 0x00, 0xb0, 0x06, 0x28, 0x00, 0x34, 0x00, 0x28, 0x2a, 0x00, 0x00, 0x88, 0x33, 0x60, 0x00, 0x88, + 0x35, 0x68, 0x00, 0x88, 0x27, 0x58, 0x00, 0x88, 0x29, 0x58, 0x00, 0x88, 0x08, 0x48, 0x3d, 0x78, + 0x40, 0x06, 0x40, 0x70, 0x84, 0x20, 0x00, 0x00, 0x02, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x20, 0x70, 0x02, 0x01, 0x80, 0xb0, 0x08, 0x88, 0x4c, 0x78, 0x00, 0x00, 0x00, 0x00, + 0xf0, 0x03, 0x40, 0x70, 0x80, 0x01, 0x41, 0xb0, 0x43, 0x09, 0x80, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x6e, 0x23, 0x58, 0x00, 0x88, 0x25, 0x58, 0x00, 0x88, 0x08, 0x80, 0x6a, 0x78, + 0x00, 0x21, 0x00, 0x00, 0xf0, 0x03, 0x40, 0x70, 0x00, 0x80, 0x00, 0xd8, 0x10, 0x09, 0x01, 0xd0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x6e, 0x23, 0x58, 0x00, 0x88, 0x25, 0x58, 0x00, 0x88, + 0x51, 0x01, 0x00, 0x80, 0x50, 0x01, 0x00, 0x80, 0x08, 0x80, 0x6a, 0x78, 0x00, 0x21, 0x00, 0x00, + 0xf0, 0x03, 0x80, 0x70, 0x00, 0x00, 0x00, 0x20, 0x30, 0xf8, 0x56, 0x6c, 0x51, 0x00, 0x00, 0x80, + 0x10, 0x09, 0x01, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x6e, 0xa7, 0x1f, 0x57, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x68, 0x00, 0x88, 0x25, 0x68, 0x00, 0x88, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x52, 0x78, + 0x80, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x18, 0x08, 0x80, 0x7a, 0x78, 0x00, 0x3c, 0x00, 0x28, + 0x51, 0x34, 0xf3, 0x80, 0x20, 0x08, 0x00, 0xc8, 0x00, 0x28, 0x00, 0xc8, 0x00, 0x00, 0x80, 0x6e, + 0x84, 0x2d, 0x57, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3f, 0x57, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x56, 0x00, 0x62, 0x22, 0x60, 0xee, 0x88, + 0x24, 0xa0, 0xf4, 0x88, 0x51, 0x00, 0x00, 0x80, 0x00, 0x0c, 0x20, 0x70, 0x10, 0x08, 0x00, 0xc8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x20, 0x70, 0x20, 0x08, 0x00, 0xc8, 0xca, 0x10, 0x20, 0x80, + 0x22, 0x60, 0xee, 0x88, 0x24, 0xa0, 0xf4, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x70, + 0x80, 0x00, 0x00, 0x00, 0xca, 0x10, 0x30, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x20, 0x70, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xe0, 0x40, 0x81, + 0x00, 0x00, 0x80, 0x6e, 0x84, 0x77, 0x57, 0x68, 0xca, 0x10, 0x20, 0x80, 0x22, 0x60, 0xee, 0x88, + 0x24, 0xa0, 0xf4, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x70, 0x80, 0x00, 0x00, 0x00, + 0xca, 0x10, 0x30, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x20, 0x70, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xc0, 0x40, 0x81, 0x00, 0x00, 0x80, 0x6e, + 0x84, 0x85, 0x57, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x97, 0x57, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x56, 0x00, 0x62, 0x22, 0x60, 0xee, 0x88, + 0x24, 0xa0, 0xfa, 0x88, 0x51, 0x00, 0x00, 0x80, 0x00, 0x18, 0x20, 0x70, 0x10, 0x08, 0x00, 0xc8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x20, 0x70, 0x20, 0x08, 0x00, 0xc8, 0xca, 0x10, 0x20, 0x80, + 0x22, 0x60, 0xee, 0x88, 0x24, 0xa0, 0xfa, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, 0x70, + 0x80, 0x00, 0x00, 0x00, 0xca, 0x10, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x20, 0x70, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xe0, 0x20, 0x81, + 0x00, 0x00, 0x80, 0x6e, 0x84, 0xcf, 0x57, 0x68, 0xca, 0x10, 0x20, 0x80, 0x22, 0x60, 0xee, 0x88, + 0x24, 0xa0, 0xfa, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, 0x70, 0x80, 0x00, 0x00, 0x00, + 0xca, 0x10, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x20, 0x70, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0xc0, 0x20, 0x81, 0x00, 0x00, 0x80, 0x6e, + 0x24, 0xa0, 0xe4, 0x89, 0x26, 0xd0, 0xec, 0x89, 0x08, 0x38, 0xe0, 0x7e, 0xdc, 0x08, 0x00, 0x80, + 0x0b, 0x00, 0x00, 0x80, 0x50, 0x00, 0x00, 0x80, 0x91, 0x22, 0x22, 0x80, 0xc4, 0x0c, 0xa0, 0x70, + 0x00, 0x04, 0xb0, 0x00, 0x00, 0x30, 0x07, 0x00, 0x31, 0x08, 0x00, 0x28, 0x00, 0x50, 0x00, 0x00, + 0x20, 0x08, 0x00, 0x28, 0x08, 0xe0, 0x3e, 0x78, 0x2a, 0x00, 0x00, 0x88, 0x50, 0x00, 0x00, 0x80, + 0x51, 0x00, 0x00, 0x80, 0x50, 0x08, 0x00, 0x28, 0x50, 0x08, 0x00, 0x28, 0x2a, 0x00, 0x00, 0x88, + 0x24, 0xa0, 0xe4, 0x89, 0x26, 0xc0, 0xe4, 0x89, 0x28, 0x20, 0xed, 0x89, 0xa9, 0xce, 0x4b, 0x80, + 0x40, 0x06, 0x60, 0x70, 0x80, 0x21, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x06, 0x02, 0x41, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x40, 0x00, 0x20, 0x70, 0x00, 0x00, 0x00, 0xb0, + 0x2a, 0x00, 0x00, 0x88, 0x24, 0xa0, 0xe7, 0x89, 0x26, 0xc0, 0xe7, 0x89, 0x28, 0x20, 0xf0, 0x89, + 0xa9, 0xce, 0x4b, 0x80, 0x40, 0x06, 0x60, 0x70, 0x80, 0x21, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, + 0x06, 0x02, 0x41, 0x18, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x70, 0x00, 0x00, 0x00, 0xb0, + 0x91, 0x00, 0x22, 0x80, 0x08, 0x88, 0x2a, 0x7e, 0x21, 0x35, 0x58, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x22, 0x80, 0x50, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0xb0, + 0x01, 0x80, 0x00, 0x10, 0x08, 0x60, 0x88, 0x7a, 0x00, 0x00, 0x80, 0x6e, 0x24, 0xa0, 0xe4, 0x89, + 0x26, 0xd0, 0xec, 0x89, 0x08, 0x38, 0xe0, 0x7e, 0xdc, 0x08, 0x00, 0x80, 0x0b, 0x00, 0x00, 0x80, + 0x50, 0x00, 0x00, 0x80, 0x91, 0x22, 0x22, 0x80, 0xc4, 0x06, 0xa0, 0x70, 0x00, 0x04, 0xb0, 0x00, + 0x00, 0x30, 0x07, 0x00, 0x31, 0x08, 0x00, 0x28, 0x00, 0x50, 0x00, 0x00, 0x20, 0x08, 0x00, 0x28, + 0x08, 0xe0, 0x3e, 0x78, 0x2a, 0x00, 0x00, 0x88, 0x50, 0x00, 0x00, 0x80, 0x51, 0x00, 0x00, 0x80, + 0x50, 0x08, 0x00, 0x28, 0x50, 0x08, 0x00, 0x28, 0x2a, 0x00, 0x00, 0x88, 0x24, 0xa0, 0xe4, 0x89, + 0x26, 0xc0, 0xe4, 0x89, 0x28, 0x20, 0xed, 0x89, 0xa9, 0xce, 0x4b, 0x80, 0x40, 0x06, 0x60, 0x70, + 0x80, 0x21, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x06, 0x02, 0x41, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x20, 0x70, 0x00, 0x00, 0x00, 0xb0, 0x91, 0x00, 0x22, 0x80, 0x08, 0x88, 0x2a, 0x7e, + 0x21, 0x89, 0x58, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x22, 0x80, + 0x50, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0xb0, 0x01, 0x80, 0x00, 0x10, 0x08, 0x60, 0x88, 0x7a, + 0x00, 0x00, 0x80, 0x6e, 0x0d, 0x20, 0x80, 0x81, 0x0b, 0x00, 0x00, 0x80, 0xb5, 0xad, 0x58, 0x69, + 0x29, 0x1c, 0x00, 0x80, 0x1f, 0x14, 0x00, 0x80, 0x55, 0xad, 0x58, 0x68, 0x29, 0x24, 0x00, 0x80, + 0x1f, 0x18, 0x00, 0x80, 0x45, 0xad, 0x58, 0x69, 0x29, 0x26, 0x00, 0x80, 0x1f, 0x1a, 0x00, 0x80, + 0x29, 0x28, 0x00, 0x80, 0x1f, 0x1c, 0x00, 0x80, 0x08, 0x48, 0x60, 0x78, 0x00, 0x90, 0x02, 0x00, + 0x50, 0x20, 0x00, 0x80, 0x00, 0x80, 0xc0, 0x1a, 0x10, 0xbe, 0x58, 0x6c, 0x30, 0xc6, 0x58, 0x6c, + 0x08, 0x50, 0x48, 0x79, 0x80, 0x4e, 0x19, 0x6c, 0x00, 0xde, 0x58, 0x6c, 0x06, 0x00, 0x00, 0x80, + 0x08, 0x38, 0x48, 0x78, 0x51, 0x1e, 0x00, 0x80, 0x00, 0xde, 0x58, 0x6c, 0x0a, 0x1e, 0x00, 0x80, + 0x50, 0x20, 0x40, 0x80, 0x00, 0x80, 0x40, 0x2a, 0x08, 0x88, 0x8c, 0x7a, 0x51, 0x00, 0x00, 0x80, + 0x01, 0x9c, 0x14, 0x28, 0x50, 0x40, 0x00, 0x80, 0x00, 0x80, 0x40, 0x13, 0x00, 0x80, 0x40, 0x2a, + 0x08, 0x88, 0x8c, 0x7a, 0x51, 0x00, 0x00, 0x80, 0x01, 0x18, 0x05, 0x28, 0x50, 0x20, 0x40, 0x80, + 0x00, 0x80, 0x40, 0x2a, 0x08, 0x88, 0x8c, 0x7a, 0x51, 0x00, 0x00, 0x80, 0x01, 0x20, 0x80, 0x29, + 0x08, 0x88, 0xd2, 0x79, 0x00, 0x80, 0xc0, 0x39, 0x08, 0xd0, 0x89, 0x7a, 0x08, 0x88, 0xca, 0x79, + 0x00, 0x80, 0x00, 0x3a, 0x08, 0xc8, 0x89, 0x7a, 0x08, 0x88, 0xc2, 0x79, 0x00, 0x80, 0x4f, 0x38, + 0x08, 0xc0, 0x81, 0x7a, 0x50, 0x20, 0x00, 0x80, 0x00, 0x80, 0xc0, 0x1a, 0x40, 0x06, 0x59, 0x6c, + 0x08, 0x50, 0xf8, 0x78, 0x80, 0x4e, 0x19, 0x6c, 0x00, 0x1e, 0x59, 0x6c, 0x0a, 0x1e, 0x00, 0x80, + 0x50, 0x20, 0x00, 0x80, 0x00, 0x80, 0x40, 0x2a, 0x08, 0x88, 0x8c, 0x7a, 0x51, 0x00, 0x00, 0x80, + 0x01, 0x1c, 0x40, 0x28, 0x00, 0x00, 0x00, 0x28, 0x20, 0x1e, 0x59, 0x6c, 0x08, 0x88, 0x4a, 0x78, + 0x00, 0x00, 0x00, 0xc8, 0x40, 0x1e, 0x59, 0x6c, 0x00, 0x00, 0x3c, 0x58, 0x08, 0x88, 0x52, 0x78, + 0x50, 0x20, 0x40, 0x80, 0x00, 0x80, 0x40, 0x2a, 0x08, 0x88, 0x8c, 0x7a, 0x51, 0x00, 0x00, 0x80, + 0x01, 0x20, 0xc0, 0x29, 0x08, 0x88, 0xd2, 0x79, 0xf1, 0x3d, 0x59, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x51, 0x02, 0x00, 0x80, 0x00, 0x1c, 0x00, 0x3a, 0x51, 0x00, 0x00, 0x80, + 0x00, 0x20, 0xc0, 0x39, 0x00, 0x00, 0x00, 0x28, 0x08, 0x88, 0xca, 0x79, 0x00, 0x1c, 0x00, 0x3a, + 0x08, 0x88, 0xc2, 0x79, 0x00, 0xa0, 0x03, 0x38, 0x00, 0x00, 0x44, 0xc8, 0x08, 0x90, 0x86, 0x7a, + 0x00, 0x80, 0x00, 0xc8, 0x08, 0x88, 0x8e, 0x7a, 0x00, 0x00, 0x80, 0x6e, 0x06, 0x00, 0x00, 0x80, + 0x00, 0x80, 0x40, 0x4b, 0x00, 0x80, 0x40, 0x2a, 0x08, 0x88, 0x8c, 0x7a, 0x51, 0x00, 0x00, 0x80, + 0x01, 0x1c, 0x05, 0x28, 0x00, 0x00, 0x80, 0x6e, 0x62, 0x00, 0x80, 0x88, 0x91, 0x00, 0x2e, 0x80, + 0x64, 0x80, 0xe1, 0x88, 0xa9, 0x06, 0x80, 0x80, 0x08, 0x88, 0x4a, 0x7b, 0x16, 0x6f, 0x59, 0x69, + 0x50, 0x00, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x18, + 0x50, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x48, 0x01, 0x9c, 0x00, 0x28, 0x07, 0x01, 0x00, 0x80, + 0xa6, 0x00, 0x00, 0x80, 0x50, 0x01, 0x00, 0x80, 0x51, 0x01, 0x00, 0x80, 0x50, 0xa2, 0xff, 0x87, + 0x02, 0x00, 0x40, 0xc0, 0x51, 0x00, 0x00, 0x80, 0x00, 0x98, 0x00, 0x28, 0x40, 0x0c, 0xc0, 0x70, + 0x0c, 0x80, 0x00, 0x98, 0x88, 0x20, 0x00, 0x00, 0x0e, 0x00, 0x43, 0xc8, 0x0e, 0x00, 0x70, 0x00, + 0x0a, 0x18, 0x00, 0x28, 0x28, 0x08, 0x03, 0xb0, 0xca, 0x10, 0x00, 0x80, 0x07, 0xc0, 0x00, 0x80, + 0xa2, 0xd0, 0xe1, 0x88, 0xa4, 0xc0, 0xe1, 0x88, 0x80, 0x20, 0x00, 0x00, 0xf0, 0x00, 0x20, 0x70, + 0x80, 0x10, 0x01, 0xc8, 0x00, 0x21, 0x00, 0x00, 0xf0, 0x00, 0x20, 0x70, 0x00, 0x11, 0x01, 0x28, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x37, 0xb7, 0x59, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xcb, 0x00, 0x41, 0x81, 0x00, 0x00, 0x80, 0x6e, 0xcb, 0x00, 0x21, 0x81, + 0x00, 0x00, 0x80, 0x6e, 0xa1, 0x00, 0x0e, 0x80, 0x91, 0x00, 0xb8, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0x02, 0x7d, 0x08, 0x58, 0x88, 0x7a, 0x50, 0x00, 0x00, 0x80, + 0x01, 0xa4, 0x05, 0x28, 0x50, 0xfe, 0x1f, 0x80, 0x01, 0x0a, 0x00, 0x64, 0x50, 0x00, 0xff, 0x81, + 0x04, 0x54, 0x00, 0x64, 0x08, 0x80, 0x02, 0x7d, 0x51, 0xfe, 0x00, 0x80, 0x01, 0x80, 0x00, 0x64, + 0x08, 0x80, 0xa2, 0x7a, 0x01, 0x54, 0x00, 0x65, 0xa1, 0x86, 0x0e, 0x80, 0x08, 0x88, 0x72, 0x7e, + 0x50, 0xfe, 0x07, 0x80, 0x01, 0x06, 0x00, 0x64, 0x08, 0x88, 0x02, 0x7d, 0x91, 0x79, 0x5a, 0x69, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x80, 0x00, 0x62, 0x08, 0x00, 0x8d, 0x7a, + 0x81, 0x51, 0x5a, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x17, 0x5a, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x57, 0x00, 0x62, 0x50, 0x00, 0xf8, 0x81, + 0x01, 0x50, 0x03, 0x64, 0x01, 0x80, 0x00, 0x65, 0x08, 0x70, 0x8e, 0x7a, 0x08, 0x30, 0x00, 0x7d, + 0x08, 0x88, 0x62, 0x7e, 0xe1, 0x50, 0x03, 0x62, 0x01, 0x15, 0x5a, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x88, 0x62, 0x7e, 0xe1, 0x50, 0x00, 0x61, 0x08, 0x60, 0x86, 0x7a, 0x08, 0x30, 0x00, 0x7d, + 0x08, 0x88, 0x62, 0x7e, 0xd1, 0x50, 0x03, 0x62, 0x11, 0x25, 0x5a, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x88, 0x62, 0x7e, 0xd1, 0x50, 0x00, 0x61, 0x08, 0x60, 0x86, 0x7a, 0xa1, 0x88, 0x0e, 0x80, + 0x08, 0x88, 0x02, 0x7d, 0x08, 0x38, 0x88, 0x7a, 0x61, 0x3d, 0x5a, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x88, 0xea, 0x7e, 0xf1, 0x80, 0x00, 0x62, 0x08, 0xe8, 0x8e, 0x7a, + 0x08, 0x78, 0x06, 0x7d, 0x00, 0x46, 0x5a, 0x6c, 0x50, 0xfe, 0x07, 0x80, 0x08, 0x88, 0x02, 0x7d, + 0x01, 0x80, 0x00, 0x64, 0xf1, 0x80, 0x00, 0x61, 0x08, 0xe8, 0x8e, 0x7a, 0x08, 0x88, 0x3a, 0x78, + 0x71, 0x6f, 0x5a, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x5a, 0x6c, + 0xa1, 0x88, 0x0e, 0x80, 0x08, 0x88, 0x6a, 0x7e, 0x50, 0xfe, 0x01, 0x80, 0x01, 0x80, 0x00, 0x64, + 0x08, 0x68, 0x8e, 0x7a, 0x08, 0x88, 0x72, 0x7e, 0x50, 0x00, 0xf8, 0x81, 0x01, 0x06, 0x00, 0x64, + 0x08, 0x88, 0x02, 0x7d, 0x50, 0xfe, 0x07, 0x80, 0x01, 0x50, 0x03, 0x64, 0x01, 0x80, 0x00, 0x65, + 0x08, 0x70, 0x8e, 0x7a, 0x08, 0x70, 0x8e, 0x7a, 0x00, 0x76, 0x5a, 0x6c, 0x08, 0x88, 0x6a, 0x7e, + 0x50, 0xfe, 0x01, 0x80, 0x01, 0x80, 0x00, 0x64, 0x08, 0x68, 0x8e, 0x7a, 0x27, 0x57, 0x00, 0x61, + 0xa1, 0x8e, 0x0e, 0x80, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0xb8, 0x80, 0x50, 0x00, 0x00, 0x80, + 0x08, 0x40, 0x00, 0x7d, 0x08, 0x88, 0x42, 0x78, 0x01, 0x80, 0x00, 0x28, 0x50, 0x1e, 0x00, 0x80, + 0x01, 0x06, 0x04, 0x64, 0x50, 0xfe, 0x1f, 0x80, 0x01, 0x07, 0x00, 0x64, 0x00, 0x00, 0x30, 0x58, + 0x00, 0x00, 0x34, 0x58, 0x10, 0xd4, 0x5a, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0xd8, 0x5a, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x6c, 0x5b, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x72, 0x5b, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x76, 0x5b, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x7a, 0x5b, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x7e, 0x5b, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x82, 0x5b, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x86, 0x5b, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x8a, 0x5b, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x8e, 0x5b, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x92, 0x5b, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x96, 0x5b, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0x9a, 0x5b, 0x6c, + 0x00, 0x00, 0x34, 0x58, 0x10, 0x9e, 0x5b, 0x6c, 0x00, 0x00, 0x34, 0x58, 0x10, 0xa2, 0x5b, 0x6c, + 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x6e, + 0xa0, 0x00, 0x00, 0x80, 0x08, 0x88, 0x3a, 0x78, 0x50, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, + 0x20, 0xe6, 0x5a, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x84, 0x54, 0x00, 0x61, 0x50, 0x06, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x20, 0xf2, 0x5a, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x94, 0x54, 0x00, 0x61, + 0xa4, 0x54, 0x00, 0x61, 0x50, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x20, 0xfa, 0x5a, 0x6c, + 0x94, 0x54, 0x00, 0x61, 0x50, 0x0a, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x20, 0x02, 0x5b, 0x6c, + 0xa4, 0x54, 0x00, 0x61, 0x50, 0x0c, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x20, 0x0a, 0x5b, 0x6c, + 0x86, 0x56, 0x00, 0x61, 0x50, 0x0e, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x20, 0x16, 0x5b, 0x6c, + 0x57, 0x57, 0x00, 0x61, 0x47, 0x57, 0x00, 0x62, 0x56, 0x56, 0x00, 0x61, 0x50, 0x10, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x18, 0x20, 0x22, 0x5b, 0x6c, 0x57, 0x57, 0x00, 0x62, 0x47, 0x57, 0x00, 0x61, + 0x56, 0x56, 0x00, 0x61, 0x50, 0x12, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x20, 0x2e, 0x5b, 0x6c, + 0x08, 0x88, 0x9a, 0x7f, 0x91, 0x80, 0x00, 0x61, 0x08, 0x98, 0x8f, 0x7a, 0x08, 0x88, 0x3a, 0x78, + 0x50, 0x14, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x20, 0x3c, 0x5b, 0x6c, 0x77, 0x57, 0x00, 0x61, + 0x87, 0x57, 0x00, 0x62, 0x97, 0x57, 0x00, 0x61, 0x50, 0x16, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, + 0x20, 0x48, 0x5b, 0x6c, 0x87, 0x57, 0x00, 0x61, 0x77, 0x57, 0x00, 0x62, 0x97, 0x57, 0x00, 0x61, + 0x50, 0x18, 0x00, 0x80, 0x00, 0x00, 0x00, 0x18, 0x20, 0x54, 0x5b, 0x6c, 0x87, 0x57, 0x00, 0x62, + 0x77, 0x57, 0x00, 0x62, 0x97, 0x57, 0x00, 0x61, 0x50, 0xfe, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x18, + 0x20, 0x6a, 0x5b, 0x6c, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x54, 0x00, 0x62, 0x94, 0x54, 0x00, 0x62, + 0x86, 0x56, 0x00, 0x62, 0x84, 0x54, 0x00, 0x62, 0x57, 0x57, 0x00, 0x62, 0x47, 0x57, 0x00, 0x62, + 0x97, 0x57, 0x00, 0x62, 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x6e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x80, 0x6e, 0xa0, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x6e, 0x9f, 0x00, 0x3e, 0x80, + 0x08, 0x88, 0x2a, 0x7e, 0x21, 0xb5, 0x5b, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x65, 0x80, 0x00, 0x62, 0x00, 0xb6, 0x5b, 0x6c, 0x65, 0x80, 0x00, 0x61, 0x91, 0x00, 0xac, 0x81, + 0x01, 0x9c, 0x00, 0xc8, 0x50, 0x00, 0xfe, 0x81, 0x01, 0x07, 0x00, 0x64, 0x08, 0x88, 0x02, 0x7e, + 0x50, 0xfe, 0x01, 0x80, 0x01, 0x80, 0x00, 0x64, 0x08, 0x80, 0x3a, 0x78, 0x01, 0x80, 0x00, 0x65, + 0x16, 0xd1, 0x5b, 0x68, 0xf1, 0x80, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x80, 0x00, 0x61, + 0x07, 0xdf, 0x5b, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xdf, 0x5b, 0x68, + 0x81, 0x80, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x81, 0x80, 0x00, 0x62, 0x08, 0xf0, 0x8c, 0x7a, + 0x91, 0x00, 0xb0, 0x81, 0x22, 0x60, 0xe0, 0x88, 0x51, 0x00, 0x00, 0x80, 0x80, 0x00, 0x20, 0x00, + 0x40, 0x01, 0x20, 0x70, 0x80, 0x80, 0x80, 0x28, 0x50, 0xfe, 0x01, 0x80, 0x00, 0x00, 0x00, 0x18, + 0x60, 0xf4, 0x5b, 0x6c, 0x51, 0xfe, 0x01, 0x80, 0x50, 0x00, 0x00, 0x80, 0x01, 0x1c, 0x00, 0x28, + 0x22, 0x90, 0xfa, 0x89, 0x50, 0xfe, 0x01, 0x80, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, + 0x50, 0x04, 0x5c, 0x6c, 0x51, 0xfe, 0x01, 0x80, 0x08, 0x80, 0x3a, 0x78, 0x01, 0x80, 0x00, 0x65, + 0x08, 0xf0, 0x8c, 0x7a, 0x91, 0x00, 0x22, 0x81, 0x08, 0x88, 0xb2, 0x78, 0x01, 0x80, 0x00, 0xc8, + 0x08, 0xf0, 0x8c, 0x7a, 0x08, 0x88, 0xd2, 0x78, 0x01, 0x80, 0x00, 0xc8, 0x08, 0xf0, 0x8c, 0x7a, + 0x07, 0x2d, 0x5c, 0x69, 0x50, 0x96, 0xe2, 0x87, 0x00, 0x00, 0x00, 0x00, 0x51, 0xba, 0x2c, 0x80, + 0x16, 0x2b, 0x5c, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x28, + 0x00, 0x2c, 0x5c, 0x6c, 0x00, 0x00, 0x40, 0x10, 0x08, 0x88, 0x4a, 0x7b, 0x00, 0x80, 0x00, 0x18, + 0x50, 0x00, 0x80, 0x81, 0x16, 0x3b, 0x5c, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x50, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, + 0x08, 0x88, 0x72, 0x7e, 0x50, 0xfe, 0x07, 0x80, 0x01, 0x80, 0x00, 0x64, 0x08, 0xf0, 0x8c, 0x7a, + 0x08, 0x88, 0xea, 0x7e, 0x50, 0xfe, 0x07, 0x80, 0x01, 0x80, 0x00, 0x64, 0x08, 0xf0, 0x8c, 0x7a, + 0x91, 0x00, 0xac, 0x80, 0x50, 0x00, 0xf8, 0x81, 0x50, 0x01, 0x00, 0x80, 0x18, 0x88, 0x82, 0x78, + 0x01, 0x07, 0x08, 0x64, 0x50, 0x80, 0xff, 0x81, 0x01, 0x80, 0x00, 0x64, 0x50, 0x00, 0x00, 0x80, + 0x01, 0x80, 0xc0, 0x29, 0x01, 0x80, 0x00, 0x65, 0x08, 0xf0, 0x8c, 0x7a, 0x91, 0x00, 0xb0, 0x80, + 0x50, 0x00, 0xfe, 0x81, 0x18, 0x88, 0x92, 0x78, 0x01, 0x07, 0x09, 0x64, 0x50, 0x00, 0x00, 0x80, + 0x01, 0x80, 0xc0, 0x29, 0x01, 0x80, 0x00, 0x65, 0x08, 0xf0, 0x8c, 0x7a, 0x37, 0x7f, 0x5c, 0x68, + 0x91, 0x00, 0xb0, 0x80, 0x22, 0xd0, 0xf8, 0x88, 0x22, 0xd0, 0xf2, 0x88, 0x08, 0x88, 0x7a, 0x78, + 0x01, 0x80, 0x00, 0xc8, 0x50, 0xfe, 0x01, 0x80, 0x01, 0x07, 0x00, 0x64, 0x80, 0x20, 0x00, 0x00, + 0x50, 0x00, 0xfe, 0x81, 0x01, 0x80, 0x00, 0x64, 0x08, 0x80, 0x3a, 0x78, 0x01, 0x80, 0x00, 0x65, + 0x08, 0xf0, 0x8c, 0x7a, 0x08, 0xf0, 0xac, 0x78, 0x08, 0x88, 0xba, 0x78, 0x50, 0xfe, 0x01, 0x80, + 0x01, 0x80, 0x00, 0x64, 0x08, 0xf0, 0x8c, 0x7a, 0xb4, 0xaf, 0x5c, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x37, 0xab, 0x5c, 0x68, 0x00, 0x00, 0x00, 0x00, 0x51, 0x20, 0x00, 0x80, + 0x51, 0x00, 0x00, 0x80, 0x08, 0xf0, 0x8c, 0x7a, 0x00, 0xb8, 0x5c, 0x6c, 0x37, 0xb7, 0x5c, 0x68, + 0x00, 0x00, 0x00, 0x00, 0x51, 0x20, 0x00, 0x81, 0x51, 0x00, 0x00, 0x81, 0x08, 0xf0, 0x8c, 0x7a, + 0x9e, 0x00, 0x00, 0x80, 0x9e, 0x00, 0x00, 0x80, 0x37, 0xc7, 0x5c, 0x68, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x51, 0x90, 0x00, 0x80, 0x00, 0xc8, 0x5c, 0x6c, 0x51, 0x50, 0x01, 0x80, + 0x08, 0xf0, 0x8c, 0x7a, 0x77, 0xdb, 0x5c, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x87, 0xdf, 0x5c, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x80, + 0x00, 0xe0, 0x5c, 0x6c, 0x9e, 0x00, 0x00, 0x81, 0x00, 0xe0, 0x5c, 0x6c, 0x9e, 0xfe, 0xff, 0x80, + 0x46, 0xe9, 0x5c, 0x68, 0x51, 0xb8, 0x22, 0x80, 0x00, 0x00, 0x00, 0x00, 0x51, 0x0a, 0x1a, 0x80, + 0x08, 0xf0, 0x8c, 0x7a, 0x22, 0xb0, 0xfa, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, 0x08, 0xf0, 0xb4, 0x79, + 0xa7, 0x01, 0x5d, 0x68, 0x00, 0x00, 0x00, 0x00, 0x51, 0x5c, 0x11, 0x80, 0x51, 0xae, 0x08, 0x80, + 0x08, 0xf0, 0x8c, 0x7a, 0x91, 0x00, 0x28, 0x80, 0x08, 0x88, 0x8a, 0x7b, 0x50, 0x00, 0x00, 0x80, + 0x01, 0x80, 0x00, 0x28, 0x08, 0xf0, 0x8c, 0x7a, 0x22, 0xd0, 0xff, 0x89, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x20, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, 0x00, 0x00, 0x48, 0x58, 0x00, 0x00, 0x4c, 0x58, + 0x10, 0x72, 0x5d, 0x6c, 0x22, 0xc0, 0xfa, 0x89, 0x00, 0x00, 0x4c, 0x58, 0x10, 0x76, 0x5d, 0x6c, + 0x91, 0x00, 0x22, 0x81, 0x08, 0x88, 0x52, 0x78, 0x50, 0x98, 0x3b, 0x80, 0x01, 0x34, 0x00, 0x28, + 0x23, 0x68, 0x00, 0x88, 0x00, 0x00, 0x4c, 0x58, 0x10, 0x76, 0x5d, 0x6c, 0x08, 0x88, 0x52, 0x78, + 0x37, 0x39, 0x5d, 0x68, 0x50, 0xa8, 0x3e, 0x80, 0x00, 0x00, 0x00, 0x00, 0x50, 0x28, 0x3d, 0x80, + 0x01, 0x34, 0x00, 0x28, 0x23, 0x68, 0x00, 0x88, 0x00, 0x00, 0x4c, 0x58, 0x10, 0x76, 0x5d, 0x6c, + 0x00, 0x00, 0x4c, 0x58, 0x10, 0x82, 0x5d, 0x6c, 0x00, 0x00, 0x4c, 0x58, 0x10, 0xa0, 0x5d, 0x6c, + 0x00, 0x00, 0x4c, 0x58, 0x10, 0xb6, 0x5d, 0x6c, 0x00, 0x00, 0x4c, 0x58, 0x10, 0xc6, 0x5d, 0x6c, + 0x00, 0x00, 0x4c, 0x58, 0x10, 0xdc, 0x5d, 0x6c, 0x00, 0x00, 0x4c, 0x58, 0x10, 0xf8, 0x5d, 0x6c, + 0x00, 0x00, 0x4c, 0x58, 0x10, 0x14, 0x5e, 0x6c, 0x00, 0x00, 0x4c, 0x58, 0x10, 0x2e, 0x5e, 0x6c, + 0x00, 0x00, 0x4c, 0x58, 0x10, 0x50, 0x5e, 0x6c, 0x00, 0x00, 0x4c, 0x58, 0x10, 0x6e, 0x5e, 0x6c, + 0x00, 0x00, 0x4c, 0x58, 0x10, 0x90, 0x5e, 0x6c, 0x00, 0x00, 0x4c, 0x58, 0x10, 0xae, 0x5e, 0x6c, + 0x00, 0x00, 0x80, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, 0x9f, 0x30, 0x3e, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x70, 0x80, 0x20, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, + 0x00, 0xb0, 0x5e, 0x6c, 0xa1, 0x00, 0x0e, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x80, 0x9f, 0x30, 0x3e, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xf0, 0xac, 0x7b, 0x08, 0xf0, 0xbc, 0x7b, + 0x08, 0xf0, 0xb4, 0x7b, 0xeb, 0xee, 0x00, 0x80, 0xeb, 0x0e, 0x00, 0x80, 0x00, 0xb0, 0x5e, 0x6c, + 0xdc, 0x04, 0x00, 0x80, 0x9f, 0x30, 0x3e, 0x80, 0x50, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x60, 0x70, 0x00, 0x44, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, 0xa1, 0x00, 0x0e, 0x80, + 0x9f, 0x30, 0x3e, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x70, + 0x08, 0xf0, 0x04, 0x7d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, 0x9f, 0x30, 0x3e, 0x80, + 0x91, 0x22, 0x00, 0x81, 0x08, 0x80, 0x52, 0x78, 0x51, 0x00, 0x40, 0x80, 0x01, 0x34, 0x00, 0x28, + 0x23, 0x68, 0x00, 0x88, 0x00, 0x01, 0x40, 0x70, 0x80, 0x20, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, 0x91, 0x22, 0x80, 0x81, 0x00, 0x00, 0x00, 0x00, + 0x9f, 0x30, 0x3e, 0x80, 0x08, 0x80, 0x52, 0x78, 0x51, 0x00, 0x20, 0x80, 0x01, 0x34, 0x00, 0x28, + 0x63, 0x68, 0x00, 0x88, 0x80, 0x00, 0x80, 0x70, 0x88, 0x20, 0x00, 0x00, 0x18, 0xf0, 0x8c, 0x7a, + 0x00, 0x00, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, + 0x00, 0x00, 0x00, 0x00, 0x91, 0x22, 0x80, 0x81, 0x9f, 0x30, 0x3e, 0x80, 0x08, 0x80, 0x52, 0x78, + 0x51, 0x00, 0x20, 0x80, 0x01, 0x34, 0x00, 0x28, 0x63, 0x68, 0x00, 0x88, 0x80, 0x00, 0x80, 0x70, + 0x88, 0x20, 0x00, 0x00, 0x18, 0xf0, 0x8c, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, 0x00, 0x00, 0x00, 0x00, 0xb6, 0x56, 0x00, 0x61, + 0x91, 0x22, 0x80, 0x81, 0x9f, 0x30, 0x3e, 0x80, 0x08, 0x80, 0x52, 0x78, 0x51, 0x00, 0x14, 0x80, + 0x01, 0x34, 0x00, 0x28, 0x23, 0x68, 0x00, 0x88, 0x00, 0x01, 0x40, 0x70, 0x80, 0x20, 0x00, 0x00, + 0x08, 0xf0, 0x8c, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0xb6, 0x56, 0x00, 0x61, 0x9f, 0x30, 0x3e, 0x80, 0x08, 0x80, 0x52, 0x78, 0x51, 0x00, 0x40, 0x81, + 0x00, 0x34, 0x00, 0x28, 0x43, 0x68, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x88, 0x30, 0x00, 0x00, + 0x88, 0x30, 0x00, 0x00, 0x88, 0x30, 0x00, 0x00, 0x88, 0x30, 0x00, 0x00, 0x00, 0x01, 0x40, 0x70, + 0x88, 0x30, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, + 0x00, 0x00, 0x00, 0x00, 0x9f, 0x30, 0x3e, 0x80, 0x08, 0x80, 0x52, 0x78, 0x00, 0x34, 0x00, 0x28, + 0x43, 0x68, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x88, 0x30, 0x00, 0x00, 0x88, 0x30, 0x00, 0x00, + 0x88, 0x30, 0x00, 0x00, 0x00, 0x01, 0x60, 0x70, 0x88, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0xf0, 0x8c, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x91, 0x22, 0x80, 0x80, 0x9f, 0x30, 0x3e, 0x80, 0x08, 0x80, 0x52, 0x78, 0x01, 0x34, 0x00, 0x28, + 0x43, 0x68, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x88, 0x30, 0x00, 0x00, 0x88, 0x30, 0x00, 0x00, + 0x88, 0x30, 0x00, 0x00, 0x80, 0x00, 0x80, 0x70, 0x88, 0x30, 0x00, 0x00, 0x18, 0xf0, 0x8c, 0x7a, + 0x00, 0x00, 0x00, 0x00, 0x08, 0xf0, 0x8c, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, + 0x00, 0x00, 0x00, 0x00, 0x9f, 0x30, 0x3e, 0x80, 0x08, 0x80, 0x52, 0x78, 0x00, 0x34, 0x00, 0x28, + 0x43, 0x68, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x88, 0x30, 0x00, 0x00, 0x88, 0x30, 0x00, 0x00, + 0x88, 0x30, 0x00, 0x00, 0x00, 0x01, 0x60, 0x70, 0x88, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0xf0, 0x8c, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x5e, 0x6c, 0x00, 0x00, 0x80, 0x6e, + 0x9f, 0xae, 0x3e, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0xf0, 0x5c, 0x78, 0x00, 0x00, 0x80, 0x6e, 0x00, 0xbe, 0x5e, 0x6c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +/* 113-4-194-3 */ +char tud1[] = { + 0x7d, + 0x00, 0x04, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xff, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x60, 0xff, 0x80, 0xff, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x40, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, + 0xa0, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xfe, 0x40, 0xfd, 0x00, 0x00, 0x00, 0x00 +}; + +/* 113-4-194-3 */ +char tud2[] = { + 0x40, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xff, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0xff, 0xa0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x00, 0x80, 0x00, 0x60, 0x00, 0x20, 0x00, 0xc0, 0xff, 0x60, 0xff, 0x00, 0xff, + 0xe0, 0xfe, 0x20, 0xff, 0xc0, 0xff, 0xa0, 0x00, 0xa0, 0x01, 0x20, 0x02, 0x20, 0x02, 0x60, 0x01, + 0x00, 0x00, 0x40, 0xfe, 0xe0, 0xfc, 0x40, 0xfc, 0xc0, 0xfc, 0x60, 0xfe, 0xc0, 0x00, 0x20, 0x03, + 0xe0, 0x04, 0x20, 0x05, 0xe0, 0x03, 0x40, 0x01, 0x20, 0xfe, 0x40, 0xfb, 0xc0, 0xf9, 0x00, 0xfa, + 0x20, 0xfc, 0x80, 0xff, 0x00, 0x03, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x05, 0x00, 0x03, 0x80, 0xff, + 0x20, 0xfc, 0x00, 0xfa, 0xc0, 0xf9, 0x40, 0xfb, 0x20, 0xfe, 0x40, 0x01, 0xe0, 0x03, 0x20, 0x05, + 0xe0, 0x04, 0x20, 0x03, 0xc0, 0x00, 0x60, 0xfe, 0xc0, 0xfc, 0x40, 0xfc, 0xe0, 0xfc, 0x40, 0xfe, + 0x00, 0x00, 0x60, 0x01, 0x20, 0x02, 0x20, 0x02, 0xa0, 0x01, 0xa0, 0x00, 0xc0, 0xff, 0x20, 0xff, + 0xe0, 0xfe, 0x00, 0xff, 0x60, 0xff, 0xc0, 0xff, 0x20, 0x00, 0x60, 0x00, 0x80, 0x00, 0x60, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, + 0xc0, 0x03, 0x40, 0xe7, 0xc0, 0x15, 0xc0, 0x08, 0x40, 0xea, 0xa0, 0xf2, 0x60, 0x21, 0x40, 0x07, + 0x00, 0xc3, 0x00, 0x19, 0xe0, 0x15, 0xe0, 0x0b, 0xe0, 0xda, 0x80, 0x51, 0x40, 0xe7, 0x40, 0xde, + 0xe0, 0xff, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, + 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, + 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, + 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0x28, 0x00, 0xd8, 0x00, 0x28, + 0x00, 0xd8, 0x00, 0xd8, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x8a, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x68, 0x00, 0x00 +}; + +static unsigned char run_buf[] = {0x7f,0x01}; + +static int tuc_size = sizeof(tuc); +static int tud1_size = sizeof(tud1); +static int tud2_size = sizeof(tud2); + +struct or51132_state +{ + struct i2c_adapter* i2c; + struct dvb_frontend_ops ops; + + /* Configuration settings */ + const struct or51132_config* config; + + struct dvb_frontend frontend; + + /* Demodulator private data */ + u8 initialized:1; + + /* Duner private data */ + u32 current_frequency; +}; + +static int i2c_writebytes (struct or51132_state* state, u8 reg, u8 *buf, int len) +{ + int err; + struct i2c_msg msg; + msg.addr = reg; + msg.flags = 0; + msg.len = len; + msg.buf = buf; + + if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { + printk(KERN_WARNING "or51132: i2c_writebytes error (addr %02x, err == %i)\n", reg, err); + return -EREMOTEIO; + } + + return 0; +} + +static u8 i2c_readbytes (struct or51132_state* state, u8 reg, u8* buf, int len) +{ + int err; + struct i2c_msg msg; + msg.addr = reg; + msg.flags = I2C_M_RD; + msg.len = len; + msg.buf = buf; + + if ((err = i2c_transfer(state->i2c, &msg, 1)) != 1) { + printk(KERN_WARNING "or51132: i2c_readbytes error (addr %02x, err == %i)\n", reg, err); + return -EREMOTEIO; + } + + return 0; +} + +static int or51132_init(struct dvb_frontend* fe) +{ + struct or51132_state* state = (struct or51132_state*) fe->demodulator_priv; + unsigned char get_ver_buf[] = {0x04,0x00,0x30,0x00,0x00}; + unsigned char rec_buf[14]; + unsigned char cmd_buf[14]; + + char tudata[sizeof(tud1)+sizeof(tud2)+128+64]; + int tudata_size = sizeof(tud1) + sizeof(tud2) + 128 + 64; + int i; + + if (!state->initialized) { + /* Get eprom data */ + tudata[0] = 8; + if(i2c_writebytes(state,0x50,tudata,1)) { + printk(KERN_WARNING "or51132: init error eprom addr\n"); + return -1; + } + if(i2c_readbytes(state,0x50,&tudata[16*8+1],128+64)) { + printk(KERN_WARNING "or51132: init error eprom\n"); + return -1; + } + + for(i=0;i<tud1_size;i++) { + tudata[i] = tud1[i]; + } + for(i=0;i<tud2_size;i++) { + tudata[i+tud1_size+128+64] = tud2[i]; + } + + if(i2c_writebytes(state,state->config->demod_address,tudata,tudata_size)) { + printk(KERN_WARNING "or51132: init error 1\n"); + return -1; + } + udelay(1000); /* 1ms */ + if(i2c_writebytes(state,state->config->demod_address,tuc,tuc_size)) { + printk(KERN_WARNING "or51132: init error 2\n"); + return -1; + } + udelay(1000); /* 1ms */ + if(i2c_writebytes(state,state->config->demod_address,run_buf,2)) { + printk(KERN_WARNING "or51132: init error 3\n"); + return -1; + } + /* wait at least 5 msec */ + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,run_buf,2)) { + printk(KERN_WARNING "or51132: init error 4\n"); + return -1; + } + + msleep(500); /* 500ms for operation to begin */ + + if(i2c_writebytes(state,state->config->demod_address,run_buf,2)) { + printk(KERN_WARNING "or51132: init error 5\n"); + return -1; + } + + /* wait at least 5 msec */ + msleep(20); /* 20ms */ + + if(i2c_writebytes(state,state->config->demod_address,run_buf,2)) { + printk(KERN_WARNING "or51132: init error 6\n"); + return -1; + } + + msleep(20); /* 20ms */ + + /* set operation mode in Receiver 1 register; + * type 1: + * data 0x50h Automatic sets receiver channel conditions + * Automatic NTSC rejection filter + * Enable MPEG serial data output + * MPEG2tr + * High tuner phase noise + * normal +/-150kHz Carrier acquisition range + */ + + /* Read back ucode version to besure we loaded correctly and are really up and running */ + cmd_buf[0]=0x1c; /* CTL REG 6 */ + cmd_buf[1]=0x03; /* REC MODE inv IF spectrum, Normal */ + cmd_buf[2]=0x06; /* Channel MODE ATSC/VSB8 */ + cmd_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,3)) { + printk(KERN_WARNING "or51132: init error a\n"); + return -1; + } + + /* Get uCode version */ + cmd_buf[0]=0x10; + cmd_buf[1]=0x10; + cmd_buf[2]=0x00; + cmd_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,3)) { + printk(KERN_WARNING "or51132: init error b\n"); + return -1; + } + + cmd_buf[0]=0x04; + cmd_buf[1]=0x17; + cmd_buf[2]=0x00; + cmd_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,2)) { + printk(KERN_WARNING "or51132: init error c\n"); + return -1; + } + + cmd_buf[0]=0x00; + cmd_buf[1]=0x00; + cmd_buf[2]=0x00; + cmd_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,2)) { + printk(KERN_WARNING "or51132: init error d\n"); + return -1; + } + + for(i=0;i<4;i++) { + msleep(20); /* 20ms */ + udelay(1000); /* 1ms */ + get_ver_buf[4] = i+1; + if(i2c_readbytes(state,state->config->demod_address,&rec_buf[i*2],2)) { + printk(KERN_WARNING "or51132: init error 7 - %d\n",i); + return -1; + } + } + + printk(KERN_WARNING + "or51132: 0 Version Data: %02X%02X%02X%02X-%02X%02X%02X%02X\n", + rec_buf[1],rec_buf[0],rec_buf[3],rec_buf[2], + rec_buf[5],rec_buf[4],rec_buf[7],rec_buf[6]); + + cmd_buf[0]=0x10; + cmd_buf[1]=0x00; + cmd_buf[2]=0x00; + cmd_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,3)) { + printk(KERN_WARNING "or51132: init error e\n"); + return -1; + } + + cmd_buf[0]=0x10; + cmd_buf[1]=0x10; + cmd_buf[2]=0x00; + cmd_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,3)) { + printk(KERN_WARNING "or51132: init error f\n"); + return -1; + } + + cmd_buf[0]=0x04; + cmd_buf[1]=0x17; + cmd_buf[2]=0x00; + cmd_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,2)) { + printk(KERN_WARNING "or51132: init error g\n"); + return -1; + } + + cmd_buf[0]=0x00; + cmd_buf[1]=0x00; + cmd_buf[2]=0x00; + cmd_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,2)) { + printk(KERN_WARNING "or51132: init error h\n"); + return -1; + } + + for(i=0;i<4;i++) { + msleep(20); /* 20ms */ + udelay(1000); /* 1ms */ + get_ver_buf[4] = i+1; + if(i2c_readbytes(state,state->config->demod_address,&rec_buf[i*2],2)) { + printk(KERN_WARNING "or51132: init error 8 - %d\n",i); + return -1; + } + } + + printk(KERN_WARNING + "or51132: 1 Version Data: %02X%02X%02X%02X-%02X%02X%02X%02X\n", + rec_buf[1],rec_buf[0],rec_buf[3],rec_buf[2], + rec_buf[5],rec_buf[4],rec_buf[7],rec_buf[6]); + printk(KERN_WARNING + "or51132: Version: %02X%01X-%01X-%02X%01X-%01X\n", + rec_buf[3],rec_buf[2]>>4,rec_buf[2]&0x0f, + rec_buf[5],rec_buf[4]>>4,rec_buf[4]&0x0f); + + cmd_buf[0]=0x10; + cmd_buf[1]=0x00; + cmd_buf[2]=0x00; + cmd_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,3)) { + printk(KERN_WARNING "or51132: init error i\n"); + return -1; + } + state->initialized = 1; + } + return 0; +} + +static int or51132_read_ber(struct dvb_frontend* fe, u32* ber) +{ + *ber = ENOSYS; + return 0; +} + +static int or51132_read_ucblocks(struct dvb_frontend* fe, u32* ucblocks) +{ + *ucblocks = ENOSYS; + return 0; +} + +static int or51132_sleep(struct dvb_frontend* fe) +{ + return 0; +} + +static int or51132_setmode(struct dvb_frontend* fe, int mode) +{ + struct or51132_state* state = (struct or51132_state*) fe->demodulator_priv; + unsigned char rec_buf[14]; + unsigned char cmd_buf[14]; + + dprintk("setmode %d\n",mode); + + if(i2c_writebytes(state,state->config->demod_address,run_buf,2)) { + printk(KERN_WARNING "or51132: setmode error 1\n"); + return 1; + } + + /* Wait at least 5 msec */ + msleep(20); /* 20ms */ + + if(i2c_writebytes(state,state->config->demod_address,run_buf,2)) { + printk(KERN_WARNING "or51132: setmode error 2\n"); + } + + msleep(20); /* 20ms */ + + /* set operation mode in Receiver 1 register; + * type 1: + * data 0x50h Automatic sets receiver channel conditions + * Automatic NTSC rejection filter + * Enable MPEG serial data output + * MPEG2tr + * High tuner phase noise + * normal +/-150kHz Carrier acquisition range + */ + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,5)) { + printk(KERN_WARNING "or51132: setmode error 3\n"); + return 1; + } + + msleep(20); /* 20ms */ + + if(i2c_writebytes(state,state->config->demod_address,cmd_buf,5)) { + printk(KERN_WARNING "or51132: setmode error 4\n"); + return 1; + } + + rec_buf[0]=0x04; + rec_buf[1]=0x00; + rec_buf[2]=0x03; + rec_buf[3]=0x00; + msleep(20); /* 20ms */ + if(i2c_writebytes(state,state->config->demod_address,rec_buf,3)) { + printk(KERN_WARNING "or51132: setmode error 5\n"); + return 1; + } + msleep(20); /* 20ms */ + if(i2c_readbytes(state,state->config->demod_address,&rec_buf[10],2)) { + printk(KERN_WARNING "or51132: setmode error 6\n"); + return 1; + } + dprintk("or51132: setmode rec status %02x %02x\n",rec_buf[10],rec_buf[11]); + + return 0; +} + +static int or51132_set_parameters(struct dvb_frontend* fe, + struct dvb_frontend_parameters *param) +{ + struct or51132_state* state = (struct or51132_state*) fe->demodulator_priv; + u32 freq = 0; + u16 tunerfreq = 0; + u8 buf[4]; + + /* Change only if we are actually changing the channel */ + if (state->current_frequency == param->frequency) + return 0; + + freq = 44000 + (param->frequency/1000); + tunerfreq = freq * 16/1000; + + dprintk("set_parameters frequency = %d (freq = %d, tunerfreq = %d)\n",param->frequency,freq,tunerfreq); + + buf[0] = (tunerfreq >> 8) & 0x7f; + buf[1] = (tunerfreq & 0xff); + buf[2] = 0x8e; + + if (param->frequency < 157250000) { + buf[3] = 0x39; + dprintk(KERN_WARNING "set_parameters VHF low range\n"); + } else if (param->frequency < 454000000) { + buf[3] = 0x3a; + dprintk(KERN_WARNING "set_parameters VHF high range\n"); + } else { + buf[3] = 0x3c; + dprintk(KERN_WARNING "set_parameters UHF range\n"); + } + dprintk("set_parameters tuner bytes: 0x%02x 0x%02x 0x%02x 0x%02x\n",buf[0],buf[1],buf[2],buf[3]); + + if (i2c_writebytes(state,0xc2>>1,buf,4)) + printk(KERN_WARNING "or51132: set_parameters error writing to tuner\n"); + + /* Set to ATSC mode */ + or51132_setmode(fe, 0); + + /* Update current frequency */ + state->current_frequency = param->frequency; + return 0; +} + +static int or51132_read_status(struct dvb_frontend* fe, fe_status_t* status) +{ + struct or51132_state* state = (struct or51132_state*) fe->demodulator_priv; + unsigned char rec_buf[2]; + unsigned char snd_buf[2]; + *status = 0; + + /* Receiver Status */ + snd_buf[0]=0x04; + snd_buf[1]=0x00; + msleep(30); /* 30ms */ + if(i2c_writebytes(state,state->config->demod_address,snd_buf,2)) { + printk(KERN_WARNING "or51132: read_status write error\n"); + return -1; + } + msleep(30); /* 30ms */ + if(i2c_readbytes(state,state->config->demod_address,rec_buf,2)) { + printk(KERN_WARNING "or51132: read_status read error\n"); + return -1; + } + dprintk("read_status %x %x\n",rec_buf[0],rec_buf[1]); + + if(rec_buf[1] & 0x01) { /* Receiver Lock */ + *status |= FE_HAS_SIGNAL; + *status |= FE_HAS_CARRIER; + *status |= FE_HAS_VITERBI; + *status |= FE_HAS_SYNC; + *status |= FE_HAS_LOCK; + } + return 0; +} + +/* log10-1 table at .5 increments from 1 to 100.5 */ +unsigned int i100x20log10[] = { + 0, 352, 602, 795, 954, 1088, 1204, 1306, 1397, 1480, + 1556, 1625, 1690, 1750, 1806, 1858, 1908, 1955, 2000, 2042, + 2082, 2121, 2158, 2193, 2227, 2260, 2292, 2322, 2352, 2380, + 2408, 2434, 2460, 2486, 2510, 2534, 2557, 2580, 2602, 2623, + 2644, 2664, 2684, 2704, 2723, 2742, 2760, 2778, 2795, 2813, + 2829, 2846, 2862, 2878, 2894, 2909, 2924, 2939, 2954, 2968, + 2982, 2996, 3010, 3023, 3037, 3050, 3062, 3075, 3088, 3100, + 3112, 3124, 3136, 3148, 3159, 3170, 3182, 3193, 3204, 3214, + 3225, 3236, 3246, 3256, 3266, 3276, 3286, 3296, 3306, 3316, + 3325, 3334, 3344, 3353, 3362, 3371, 3380, 3389, 3397, 3406, + 3415, 3423, 3432, 3440, 3448, 3456, 3464, 3472, 3480, 3488, + 3496, 3504, 3511, 3519, 3526, 3534, 3541, 3549, 3556, 3563, + 3570, 3577, 3584, 3591, 3598, 3605, 3612, 3619, 3625, 3632, + 3639, 3645, 3652, 3658, 3665, 3671, 3677, 3683, 3690, 3696, + 3702, 3708, 3714, 3720, 3726, 3732, 3738, 3744, 3750, 3755, + 3761, 3767, 3772, 3778, 3784, 3789, 3795, 3800, 3806, 3811, + 3816, 3822, 3827, 3832, 3838, 3843, 3848, 3853, 3858, 3863, + 3868, 3874, 3879, 3884, 3888, 3893, 3898, 3903, 3908, 3913, + 3918, 3922, 3927, 3932, 3936, 3941, 3946, 3950, 3955, 3960, + 3964, 3969, 3973, 3978, 3982, 3986, 3991, 3995, 4000, 4004, +}; + +unsigned int denom[] = {1,1,100,1000,10000,100000,1000000,10000000,100000000}; + +unsigned int i20Log10(unsigned short val) +{ + unsigned int rntval = 100; + unsigned int tmp = val; + unsigned int exp = 1; + + while(tmp > 100) {tmp /= 100; exp++;} + + val = (2 * val)/denom[exp]; + if(exp > 1) rntval = 2000*exp; + + rntval += i100x20log10[val]; + return rntval; +} + +static int or51132_read_signal_strength(struct dvb_frontend* fe, u16* strength) +{ + struct or51132_state* state = (struct or51132_state*) fe->demodulator_priv; + unsigned char rec_buf[2]; + unsigned char snd_buf[2]; + u8 rcvr_stat; + u16 snr_equ; + int usK; + + snd_buf[0]=0x04; + snd_buf[1]=0x02; /* SNR after Equalizer */ + msleep(30); /* 30ms */ + if(i2c_writebytes(state,state->config->demod_address,snd_buf,2)) { + printk(KERN_WARNING "or51132: read_status write error\n"); + return -1; + } + msleep(30); /* 30ms */ + if(i2c_readbytes(state,state->config->demod_address,rec_buf,2)) { + printk(KERN_WARNING "or51132: read_status read error\n"); + return -1; + } + snr_equ = rec_buf[0] | (rec_buf[1] << 8); + dprintk("read_signal_strength snr_equ %x %x (%i)\n",rec_buf[0],rec_buf[1],snr_equ); + + /* Receiver Status */ + snd_buf[0]=0x04; + snd_buf[1]=0x00; + msleep(30); /* 30ms */ + if(i2c_writebytes(state,state->config->demod_address,snd_buf,2)) { + printk(KERN_WARNING "or51132: read_signal_strength read_status write error\n"); + return -1; + } + msleep(30); /* 30ms */ + if(i2c_readbytes(state,state->config->demod_address,rec_buf,2)) { + printk(KERN_WARNING "or51132: read_signal_strength read_status read error\n"); + return -1; + } + dprintk("read_signal_strength read_status %x %x\n",rec_buf[0],rec_buf[1]); + rcvr_stat = rec_buf[1]; + usK = (rcvr_stat & 0x10) ? 3 : 0; + + /* The value reported back from the frontend will be FFFF=100% 0000=0% */ + *strength = (((8952 - i20Log10(snr_equ) - usK*100)/3+5)*65535)/1000; + dprintk("read_signal_strength %i\n",*strength); + + return 0; +} + +static int or51132_read_snr(struct dvb_frontend* fe, u16* snr) +{ + struct or51132_state* state = (struct or51132_state*) fe->demodulator_priv; + unsigned char rec_buf[2]; + unsigned char snd_buf[2]; + u16 snr_equ; + + snd_buf[0]=0x04; + snd_buf[1]=0x02; /* SNR after Equalizer */ + msleep(30); /* 30ms */ + if(i2c_writebytes(state,state->config->demod_address,snd_buf,2)) { + printk(KERN_WARNING "or51132: read_snr write error\n"); + return -1; + } + msleep(30); /* 30ms */ + if(i2c_readbytes(state,state->config->demod_address,rec_buf,2)) { + printk(KERN_WARNING "or51132: read_snr dvr read error\n"); + return -1; + } + snr_equ = rec_buf[0] | (rec_buf[1] << 8); + dprintk("read_snr snr_equ %x %x (%i)\n",rec_buf[0],rec_buf[1],snr_equ); + + *snr = 0xFFFF - snr_equ; + dprintk("read_snr %i\n",*snr); + + return 0; +} + +static int or51132_get_tune_settings(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* fe_tune_settings) +{ + fe_tune_settings->min_delay_ms = 500; + fe_tune_settings->step_size = 0; + fe_tune_settings->max_drift = 0; + + return 0; +} + +static void or51132_release(struct dvb_frontend* fe) +{ + struct or51132_state* state = (struct or51132_state*) fe->demodulator_priv; + kfree(state); +} + +static struct dvb_frontend_ops or51132_ops; + +struct dvb_frontend* or51132_attach(const struct or51132_config* config, + struct i2c_adapter* i2c) +{ + struct or51132_state* state = NULL; + + /* Allocate memory for the internal state */ + state = (struct or51132_state*) kmalloc(sizeof(struct or51132_state), GFP_KERNEL); + if (state == NULL) + goto error; + + /* Setup the state */ + state->config = config; + state->i2c = i2c; + memcpy(&state->ops, &or51132_ops, sizeof(struct dvb_frontend_ops)); + state->initialized = 0; + state->current_frequency = 0; + + /* Create dvb_frontend */ + state->frontend.ops = &state->ops; + state->frontend.demodulator_priv = state; + return &state->frontend; + +error: + if (state) + kfree(state); + return NULL; +} + +static struct dvb_frontend_ops or51132_ops = { + + .info = { + .name = "Oren OR51132 VSB/QAM Frontend", + .type = FE_ATSC, + .frequency_min = 44000000, + .frequency_max = 958000000, + .frequency_stepsize = 166666, + .caps = FE_CAN_FEC_1_2 | FE_CAN_FEC_2_3 | FE_CAN_FEC_3_4 | + FE_CAN_FEC_5_6 | FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO | + FE_CAN_QAM_64 | FE_CAN_QAM_256 | FE_CAN_QAM_AUTO | + FE_CAN_8VSB + }, + + .release = or51132_release, + + .init = or51132_init, + .sleep = or51132_sleep, + + .set_frontend = or51132_set_parameters, + .get_tune_settings = or51132_get_tune_settings, + + .read_status = or51132_read_status, + .read_ber = or51132_read_ber, + .read_signal_strength = or51132_read_signal_strength, + .read_snr = or51132_read_snr, + .read_ucblocks = or51132_read_ucblocks, +}; + +module_param(debug, int, 0644); +MODULE_PARM_DESC(debug, "Turn on/off frontend debugging (default:off)."); + +MODULE_DESCRIPTION("Oren OR51132 VSB/QAM [pcHDTV HD-3000] Demodulator Driver"); +MODULE_AUTHOR("Kirk Lapray"); +MODULE_LICENSE("GPL"); + +EXPORT_SYMBOL(or51132_attach); + +/* + * Local variables: + * c-basic-offset: 8 + * End: + */ diff --git a/v4l/or51132.h b/v4l/or51132.h new file mode 100644 index 000000000..14a64add4 --- /dev/null +++ b/v4l/or51132.h @@ -0,0 +1,37 @@ +/* + * Support for OR51132 (pcHDTV HD-3000) - VSB/QAM + * + * Copyright (C) 2005 Kirk Lapray <kirk_lapray@bigfoot.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * +*/ + +#ifndef OR51132_H +#define OR51132_H + +#include <linux/dvb/frontend.h> + +struct or51132_config +{ + /* The demodulator's i2c address */ + u8 demod_address; +}; + +extern struct dvb_frontend* or51132_attach(const struct or51132_config* config, + struct i2c_adapter* i2c); + +#endif // OR51132_H + diff --git a/v4l/scripts/update b/v4l/scripts/update index eed259a2e..a754ef2ef 100644 --- a/v4l/scripts/update +++ b/v4l/scripts/update @@ -40,6 +40,7 @@ xrmmod dvb_ttpci xrmmod saa7146_vv # dvb +xrmmod or51132 xrmmod cx22702 xrmmod mt352 xrmmod dvb-pll @@ -98,6 +99,7 @@ xinsmod saa7134-empress # dvb stuff xinsmod cx22702 debug=0 xinsmod mt352 debug=1 +xinsmod or51132 xinsmod video-buf-dvb xinsmod cx88-dvb xinsmod saa7134-dvb |