From 7e57c0619d1f2a6ce6e50b75899f84cf2c69ab0e Mon Sep 17 00:00:00 2001 From: Beomho Seo Date: Tue, 24 Jun 2014 18:43:55 +0900 Subject: [PATCH] input: touchscreen: add mms128 touchscreen controller driver. This patch add melfas mms128 touchscreen controller driver. Signed-off-by: Beomho Seo --- drivers/input/touchscreen/Kconfig | 13 + drivers/input/touchscreen/Makefile | 1 + drivers/input/touchscreen/mms128.c | 3636 ++++++++++++++++++++ .../input/touchscreen/mms_ts_w_config_fw_rev00.h | 351 ++ .../input/touchscreen/mms_ts_w_config_fw_rev01.h | 455 +++ .../input/touchscreen/mms_ts_w_firmware_rev00.h | 2573 ++++++++++++++ .../input/touchscreen/mms_ts_w_firmware_rev01.h | 2573 ++++++++++++++ include/linux/platform_data/mms128.h | 42 + 8 files changed, 9644 insertions(+) create mode 100644 drivers/input/touchscreen/mms128.c create mode 100644 drivers/input/touchscreen/mms_ts_w_config_fw_rev00.h create mode 100644 drivers/input/touchscreen/mms_ts_w_config_fw_rev01.h create mode 100644 drivers/input/touchscreen/mms_ts_w_firmware_rev00.h create mode 100644 drivers/input/touchscreen/mms_ts_w_firmware_rev01.h create mode 100755 include/linux/platform_data/mms128.h diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig index f9a5fd8..e7def8c 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -369,6 +369,19 @@ config TOUCHSCREEN_MMS114 To compile this driver as a module, choose M here: the module will be called mms114. +config TOUCHSCREEN_MMS128 + tristate "MELFAS MMS128 touchscreen" + depends on I2C + help + Say Y here if you have the MELFAS MMS128 touchscreen controller + chip in your system. + + if unsure, say N. + + to compile this driver as a module, choose M here: the + module will be called mms128. + + config TOUCHSCREEN_MTOUCH tristate "MicroTouch serial touchscreens" select SERIO diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile index 6bfbeab..17a8353 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile @@ -39,6 +39,7 @@ obj-$(CONFIG_TOUCHSCREEN_MC13783) += mc13783_ts.o obj-$(CONFIG_TOUCHSCREEN_MCS5000) += mcs5000_ts.o obj-$(CONFIG_TOUCHSCREEN_MIGOR) += migor_ts.o obj-$(CONFIG_TOUCHSCREEN_MMS114) += mms114.o +obj-$(CONFIG_TOUCHSCREEN_MMS128) += mms128.o obj-$(CONFIG_TOUCHSCREEN_MTOUCH) += mtouch.o obj-$(CONFIG_TOUCHSCREEN_MK712) += mk712.o obj-$(CONFIG_TOUCHSCREEN_HP600) += hp680_ts_input.o diff --git a/drivers/input/touchscreen/mms128.c b/drivers/input/touchscreen/mms128.c new file mode 100644 index 0000000..06af878 --- /dev/null +++ b/drivers/input/touchscreen/mms128.c @@ -0,0 +1,3636 @@ +/* + * mms_ts.c - Touchscreen driver for Melfas MMS-series touch controllers + * + * Copyright (C) 2011 Google Inc. + * Author: Dima Zavin + * Simon Wilson + * + * ISP reflashing code based on original code from Melfas. + * ISC reflashing code based on original code from Melfas. + * + * 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. + * + */ + +#define ISC_DL_MODE 1 +#define TOUCH_BOOSTER 0 +#define SEC_TSP_FACTORY_TEST 0 +#define TSP_TA_CALLBACK 1 +#define SHOW_TSP_DEBUG_MSG 1 +/* #define ESD_DEBUG */ + +#include +#ifdef CONFIG_HAS_EARLYSUSPEND +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if TOUCH_BOOSTER +#include +#include +#endif + +#include "mms_ts_w_firmware_rev00.h" +#include "mms_ts_w_config_fw_rev00.h" +#include "mms_ts_w_firmware_rev01.h" +#include "mms_ts_w_config_fw_rev01.h" + +#define EVENT_SZ_8_BYTES 8 +#define MAX_FINGERS 10 +#define MAX_WIDTH 30 +#define MAX_PRESSURE 255 +#define MAX_ANGLE 90 +#define MIN_ANGLE -90 + +/* Registers */ +#define MMS_INPUT_EVENT_PKT_SZ 0x0F +#define MMS_INPUT_EVENT0 0x10 + +#define MMS_TSP_REVISION 0xF0 +#define MMS_HW_REVISION 0xF1 +#define MMS_COMPAT_GROUP 0xF2 +#define MMS_FW_VERSION_REG 0xF3 + +#define MMS_TA_REG 0x32 +#define MMS_TA_ON 0x02 +#define MMS_TA_OFF 0x03 + +#define MMS_NOISE_REG 0x30 +#define MMS_NOISE_ON 0x01 +#define MMS_NOISE_OFF 0x02 + +enum { + COMPARE_UPDATE = 0, + FORCED_UPDATE, +}; + +enum { + BUILT_IN = 0, + UMS, + REQ_FW, +}; + +enum { + TSP_STATE_RELEASE = 0, + TSP_STATE_PRESS, + TSP_STATE_MOVE, +}; + +enum { + TOUCH_BOOSTER_DELAY_OFF = 0, + TOUCH_BOOSTER_ON, + TOUCH_BOOSTER_QUICK_OFF, +}; + +#if TOUCH_BOOSTER +#define TOUCH_BOOSTER_CPU_CLK 800000 +#define TOUCH_BOOSTER_BUS_CLK_266 267160 +#define TOUCH_BOOSTER_BUS_CLK_400 400200 +#define TOUCH_BOOSTER_OFF_TIME 100 +#define TOUCH_BOOSTER_CHG_TIME 200 +#endif + +#if ISC_DL_MODE /* ISC_DL_MODE start */ +/* + * ISC_XFER_LEN - ISC unit transfer length. + * Give number of 2 power n, where n is between 2 and 10 + * i.e. 4, 8, 16 ,,, 1024 + */ +#define ISC_XFER_LEN 1024 + +#define MMS_FLASH_PAGE_SZ 1024 +#define ISC_BLOCK_NUM (MMS_FLASH_PAGE_SZ / ISC_XFER_LEN) + +#define FLASH_VERBOSE_DEBUG 1 +#define MAX_SECTION_NUM 3 + +#define MAX_FINGER_NUM 5 +#define FINGER_EVENT_SZ 8 +#define MAX_WIDTH 30 +#define MAX_PRESSURE 255 +#define MAX_LOG_LENGTH 128 + +/* Registers */ +#define MMS_MODE_CONTROL 0x01 +#define MMS_TX_NUM 0x0B +#define MMS_RX_NUM 0x0C +#define MMS_EVENT_PKT_SZ 0x0F +#define MMS_INPUT_EVENT 0x10 +#define MMS_UNIVERSAL_CMD 0xA0 +#define MMS_UNIVERSAL_RESULT 0xAF +#define MMS_CMD_ENTER_ISC 0x5F +#define MMS_FW_VERSION 0xE1 +#define MMS_ERASE_DEFEND 0xB0 + +/* Runtime config */ +#define MMS_RUN_CONF_POINTER 0xA1 +#define MMS_GET_RUN_CONF 0xA2 +#define MMS_SET_RUN_CONF 0xA3 + +#define MMS_GET_CONF_VER 0x01 + +/* Universal commands */ +#define MMS_CMD_SET_LOG_MODE 0x20 +#define MMS_CMD_CONTROL 0x22 +#define MMS_SUBCMD_START 0x80 + +/* Event types */ +#define MMS_LOG_EVENT 0xD +#define MMS_NOTIFY_EVENT 0xE +#define MMS_ERROR_EVENT 0xF +#define MMS_TOUCH_KEY_EVENT 0x40 + +/* Firmware file name */ +#define TSP_FW_NAME "mms128.fw" +#define TSP_FW_CONFIG_NAME "mms128_config.fw" +#define MAX_FW_PATH 255 +#define TSP_FW_DIRECTORY "tsp_melfas/" + +/* Firmware Start Control */ +#define RUN_START 0 +#define RUN_STOP 1 + +/* mfsp offset */ +#define MMS_MFSP_OFFSET 16 + +enum { + SEC_NONE = -1, + SEC_BOOT = 0, + SEC_CORE, + SEC_CONF, + SEC_LIMIT +}; + +enum { + GET_RX_NUM = 1, + GET_TX_NUM, + GET_EVENT_DATA, +}; + +enum { + LOG_TYPE_U08 = 2, + LOG_TYPE_S08, + LOG_TYPE_U16, + LOG_TYPE_S16, + LOG_TYPE_U32 = 8, + LOG_TYPE_S32, +}; + +enum { + ISC_ADDR = 0xD5, + + ISC_CMD_READ_STATUS = 0xD9, + ISC_CMD_READ = 0x4000, + ISC_CMD_EXIT = 0x8200, + ISC_CMD_PAGE_ERASE = 0xC000, + + ISC_PAGE_ERASE_DONE = 0x10000, + ISC_PAGE_ERASE_ENTER = 0x20000, +}; + +enum { + CONFIGID_COMMONCONF = 0, + CONFIGID_NORMALCONF = 1, + CONFIGID_TXCH = 2, + CONFIGID_RXCH, + CONFIGID_KEYTXIDX, + CONFIGID_KEYRXIDX, + CONFIGID_DELAYOFFSET, + CONFIGID_NOISECONF, + CONFIGID_NORMALIZETABLE, + CONFIGID_KEYNORMALIZETABLE, +}; + +enum { + MMS_RUN_TYPE_SINGLE = 1, + MMS_RUN_TYPE_ARRAY, + MMS_RUN_TYPE_END, + MMS_RUN_TYPE_INFO, + MMS_RUN_TYPE_UNKNOWN, +}; + +struct mms_config_item { + u16 type; + u16 category; + u16 offset; + u16 datasize; + u16 data_blocksize; + u16 reserved; + + u32 value; +} __attribute__ ((packed)); + +struct mms_config_hdr { + char mark[4]; + + char tag[4]; + + u32 core_version; + u32 config_version; + u32 data_offset; + u32 data_count; + + u32 reserved0; + u32 info_offset; + u32 reserved2; + u32 reserved3; + u32 reserved4; + u32 reserved5; + +} __attribute__ ((packed)); + +struct mms_bin_hdr { + char tag[8]; + u16 core_version; + u16 section_num; + u16 contains_full_binary; + u16 reserved0; + + u32 binary_offset; + u32 binary_length; + + u32 extention_offset; + u32 reserved1; + +} __attribute__ ((packed)); + +struct mms_fw_img { + u16 type; + u16 version; + + u16 start_page; + u16 end_page; + + u32 offset; + u32 length; + +} __attribute__ ((packed)); + +struct isc_packet { + u8 cmd; + u32 addr; + u8 data[0]; +} __attribute__ ((packed)); + +#endif /* ISC_DL_MODE end */ + +enum { + ISP_MODE_FLASH_ERASE = 0x59F3, + ISP_MODE_FLASH_WRITE = 0x62CD, + ISP_MODE_FLASH_READ = 0x6AC9, +}; + +/* each address addresses 4-byte words */ +#define ISP_MAX_FW_SIZE (0x1F00 * 4) +#define ISP_IC_INFO_ADDR 0x1F00 + +#if SEC_TSP_FACTORY_TEST +#define TSP_BUF_SIZE 1024 + +/* self diagnostic */ +#define ADDR_CH_NUM 0x0B +#define ADDR_UNIV_CMD 0xA0 +#define CMD_ENTER_TEST 0x40 +#define CMD_EXIT_TEST 0x4F +#define CMD_CM_DELTA 0x41 +#define CMD_GET_DELTA 0x42 +#define CMD_CM_ABS 0X43 +#define CMD_GET_ABS 0X44 +#define CMD_CM_JITTER 0X45 +#define CMD_GET_JITTER 0X46 +#define CMD_GET_INTEN 0x70 +#define CMD_GET_INTEN_KEY 0x71 +#define CMD_RESULT_SZ 0XAE +#define CMD_RESULT 0XAF + +/* VSC(Vender Specific Command) */ +#define MMS_VSC_CMD 0xB0 /* vendor specific command */ +#define MMS_VSC_MODE 0x1A /* mode of vendor */ + +#define MMS_VSC_CMD_ENTER 0X01 +#define MMS_VSC_CMD_CM_DELTA 0X02 +#define MMS_VSC_CMD_CM_ABS 0X03 +#define MMS_VSC_CMD_EXIT 0X05 +#define MMS_VSC_CMD_INTENSITY 0X04 +#define MMS_VSC_CMD_RAW 0X06 +#define MMS_VSC_CMD_REFER 0X07 + +#define TSP_CMD_STR_LEN 32 +#define TSP_CMD_RESULT_STR_LEN 512 +#define TSP_CMD_PARAM_NUM 8 + +enum { + FAIL_PWR_CONTROL = -1, + SUCCESS_PWR_CONTROL = 0, +}; + +enum { /* this is using by cmd_state valiable. */ + WAITING = 0, + RUNNING, + OK, + FAIL, + NOT_APPLICABLE, +}; +#endif /* SEC_TSP_FACTORY_TEST */ + +struct tsp_callbacks { + void (*inform_charger)(struct tsp_callbacks *tsp_cb, bool mode); +}; + +struct mms_ts_info { + struct i2c_client *client; + struct input_dev *input_dev; + char phys[32]; + int max_x; + int max_y; + int invert_x; + int invert_y; + int irq; + void (*input_event)(void *data); + bool enabled; + bool enabled_user; + u8 fw_ic_ver[3]; + int finger_byte; + const u8 *config_fw_version; + unsigned char finger_state[MAX_FINGERS]; + u16 mcount[MAX_FINGERS]; + + struct melfas_tsi_platform_data *pdata; +#ifdef CONFIG_HAS_EARLYSUSPEND + struct early_suspend early_suspend; +#endif + struct mutex lock; + + void (*register_cb)(void *); + struct tsp_callbacks callbacks; + bool ta_status; + bool noise_mode; + + char *fw_name; + u8 *fw_data; + u8 *config_fw; + + bool resume_done; + + struct regulator *regulator_pwr; + struct regulator *regulator_vdd; + + struct delayed_work work_config_set; + + struct notifier_block pm_notifier; + bool suspended; + + struct pm_qos_request busfreq_pm_qos_req; + struct pm_qos_request cpufreq_pm_qos_req; + +#if TOUCH_BOOSTER + struct delayed_work work_dvfs_off; + struct delayed_work work_dvfs_chg; + bool dvfs_lock_status; + int cpufreq_level; + struct mutex dvfs_lock; + struct device *bus_dev; + struct device *sec_touchscreen; +#endif /* TOUCH_BOOSTER */ + +#if SEC_TSP_FACTORY_TEST + struct list_head cmd_list_head; + u8 cmd_state; + char cmd[TSP_CMD_STR_LEN]; + int cmd_param[TSP_CMD_PARAM_NUM]; + char cmd_result[TSP_CMD_RESULT_STR_LEN]; + struct mutex cmd_lock; + bool cmd_is_running; + bool ft_flag; + unsigned int *reference; + unsigned int *cm_abs; + unsigned int *cm_delta; + unsigned int *intensity; +#endif /* SEC_TSP_FACTORY_TEST */ +}; + +#ifdef CONFIG_HAS_EARLYSUSPEND +static void mms_ts_early_suspend(struct early_suspend *h); +static void mms_ts_late_resume(struct early_suspend *h); +#endif + +#if SEC_TSP_FACTORY_TEST +#define TSP_CMD(name, func) .cmd_name = name, .cmd_func = func + +struct tsp_cmd { + struct list_head list; + const char *cmd_name; + void (*cmd_func)(void *device_data); +}; + +static void fw_update(void *device_data); +static void get_fw_ver_bin(void *device_data); +static void get_fw_ver_ic(void *device_data); +static void get_config_ver(void *device_data); +static void get_threshold(void *device_data); +static void module_off_master(void *device_data); +static void module_on_master(void *device_data); +static void module_off_slave(void *device_data); +static void module_on_slave(void *device_data); +static void get_chip_vendor(void *device_data); +static void get_chip_name(void *device_data); +static void get_reference(void *device_data); +static void get_cm_abs(void *device_data); +static void get_cm_delta(void *device_data); +static void get_intensity(void *device_data); +static void get_x_num(void *device_data); +static void get_y_num(void *device_data); +static void run_reference_read(void *device_data); +static void run_cm_abs_read(void *device_data); +static void run_cm_delta_read(void *device_data); +static void run_intensity_read(void *device_data); +static void not_support_cmd(void *device_data); + +struct tsp_cmd tsp_cmds[] = { + {TSP_CMD("fw_update", fw_update),}, + {TSP_CMD("get_fw_ver_bin", get_fw_ver_bin),}, + {TSP_CMD("get_fw_ver_ic", get_fw_ver_ic),}, + {TSP_CMD("get_config_ver", get_config_ver),}, + {TSP_CMD("get_threshold", get_threshold),}, + {TSP_CMD("module_off_master", module_off_master),}, + {TSP_CMD("module_on_master", module_on_master),}, + {TSP_CMD("module_off_slave", not_support_cmd),}, + {TSP_CMD("module_on_slave", not_support_cmd),}, + {TSP_CMD("get_chip_vendor", get_chip_vendor),}, + {TSP_CMD("get_chip_name", get_chip_name),}, + {TSP_CMD("get_x_num", get_x_num),}, + {TSP_CMD("get_y_num", get_y_num),}, + {TSP_CMD("get_reference", get_reference),}, + {TSP_CMD("get_cm_abs", get_cm_abs),}, + {TSP_CMD("get_cm_delta", get_cm_delta),}, + {TSP_CMD("get_intensity", get_intensity),}, + {TSP_CMD("run_reference_read", run_reference_read),}, + {TSP_CMD("run_cm_abs_read", run_cm_abs_read),}, + {TSP_CMD("run_cm_delta_read", run_cm_delta_read),}, + {TSP_CMD("run_intensity_read", run_intensity_read),}, + {TSP_CMD("not_support_cmd", not_support_cmd),}, +}; +#endif + +static int enabled = 0; + +static int mms_ts_power(struct mms_ts_info *info, int on) +{ + int ret = 0; + + if (enabled == on) { + pr_err("melfas-ts : %s same state!", __func__); + return 0; + } + + if (on) { + ret = regulator_enable(info->regulator_pwr); + if (ret) { + pr_err("melfas-ts : %s failed to enable regulator_pwr\n", + __func__); + return ret; + } + usleep_range(2500, 3000); + ret = regulator_enable(info->regulator_vdd); + if (ret) { + pr_err("melfas-ts : %s failed to enable regulator_vdd\n", + __func__); + return ret; + } + } else { + if (regulator_is_enabled(info->regulator_pwr)) + regulator_disable(info->regulator_pwr); + else + regulator_force_disable(info->regulator_pwr); + + if (regulator_is_enabled(info->regulator_vdd)) + regulator_disable(info->regulator_vdd); + else + regulator_force_disable(info->regulator_vdd); + } + + if (regulator_is_enabled(info->regulator_pwr) == !!on && + regulator_is_enabled(info->regulator_vdd) == !!on) { + enabled = on; + } else { + pr_err("melfas-ts : regulator_is_enabled value error!"); + ret = -1; + } + + return ret; +} + +static irqreturn_t mms_ts_interrupt(int irq, void *dev_id); + +#if ISC_DL_MODE // watch +static int mms_read_config(struct i2c_client *client, u8 *buf, u8 *get_buf,int len); +static int mms_config_flash(struct mms_ts_info *info, const u8 *buf, const u8 len, char *text); +static int mms_config_start(struct mms_ts_info *info); +static int mms_config_finish(struct mms_ts_info *info); +static void mms_config_set(void *context); +static int mms_config_get(struct mms_ts_info *info, u8 mode); +static void mms_reboot(struct mms_ts_info *info) +{ + struct i2c_adapter *adapter = to_i2c_adapter(info->client->dev.parent); + i2c_smbus_write_byte_data(info->client, MMS_ERASE_DEFEND, 1); + + i2c_lock_adapter(adapter); + + mms_ts_power(info, 0); + msleep(1); + mms_ts_power(info, 1); + msleep(25); + + i2c_unlock_adapter(adapter); +} + +static int mms_verify_config(struct mms_ts_info *info,const u8 *buf,const u8 *tmp,int len) +{ + int count = 0; + int ret = 0 ; + if (memcmp(buf, tmp , len)) + { + dev_info(&info->client->dev, "Run-time config verify failed\n"); + mms_reboot(info); + mms_config_set(info); + ret = 1; + count++; + } + if (count > 20){ + mms_reboot(info); + dev_info(&info->client->dev, "Run-time config failed\n"); + ret = 1; + } + return ret; +} + +static int mms_read_config(struct i2c_client *client, u8 *buf, u8 *get_buf,int len) +{ + u8 cmd = MMS_GET_RUN_CONF; + struct i2c_msg msg[3] = { + { + .addr = client->addr, + .flags = 0, + .buf = buf, + .len = 4, + }, { + .addr =client ->addr, + .flags = 0, + .buf = &cmd, + .len = 1, + }, { + .addr = client->addr, + .flags = I2C_M_RD, + .buf = get_buf, + .len = len, + }, + }; + return (i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg)) != ARRAY_SIZE(msg)); +} + +static int mms_config_flash(struct mms_ts_info *info, const u8 *buf,const u8 len, char *text) +{ + struct i2c_client *client; + struct i2c_msg msg; + int ret; + client = info->client; + + msg.addr = client->addr; + msg.flags = 0; + msg.buf = (u8 *)buf; + msg.len = len; + + if(i2c_transfer(client->adapter, &msg,1) != 1){ + dev_err(&client->dev, "failed to transfer %s data\n",text); + mms_reboot(info); + mms_config_set(info); + return 0; + }else{ + ret = 1; + } + return ret; +} + +static void mms_config_set(void *context) +{ + struct mms_ts_info *info = context; + struct i2c_client *client = info->client; + struct mms_config_hdr *conf_hdr; + struct mms_config_item **conf_item; + int offset; + int offset_tmp = 0; + int i; + u8 config_flash_set[4]; + u8 config_flash_data[5]; + u8 *config_array; + u8 flash_array[50]; + u8 cmp_data[30]; + + if(info->config_fw== NULL) { + dev_err(&client->dev, "failed to get config fw\n"); + return; + } + + mms_config_start(info); + + conf_hdr = (struct mms_config_hdr *)info->config_fw; + + if ((conf_hdr->core_version & 0xff ) != info->fw_ic_ver[1]){ + mms_reboot(info); + dev_err(&client->dev, "mfsp-version is not correct : 0x%x 0x%x :: 0x%x 0x%x\n", + conf_hdr->core_version, conf_hdr->config_version& 0xff,info->fw_ic_ver[1],info->fw_ic_ver[2]); + return; + } + + if (conf_hdr->mark[3] != 0x02){ + mms_reboot(info); + dev_err(&client->dev, "failed to mfsp-version : %x \n",conf_hdr->mark[3]); + return; + } + + offset = conf_hdr->data_offset; + conf_item = kzalloc(sizeof(*conf_item)*conf_hdr->data_count,GFP_KERNEL); + + for (i=0 ;; i++ , offset += MMS_MFSP_OFFSET) + { + conf_item[i] = (struct mms_config_item *)(info->config_fw + offset); + + if (i == MMS_GET_CONF_VER) + dev_info(&info->client->dev, "Runtime Conf_Ver[%02x]\n", + conf_item[i]->value); + + if(conf_item[i]->type == MMS_RUN_TYPE_INFO) + { + offset_tmp = conf_item[i]->data_blocksize; + offset += offset_tmp; + } + + if(conf_item[i]->type == MMS_RUN_TYPE_SINGLE) + { + config_flash_set[0] = MMS_RUN_CONF_POINTER; + config_flash_set[1] = conf_item[i]->category; + config_flash_set[2] = conf_item[i]->offset; + config_flash_set[3] = conf_item[i]->datasize; + + mms_config_flash(info, config_flash_set,4,"config-set"); + } + if(conf_item[i]->type == MMS_RUN_TYPE_ARRAY) + { + config_flash_set[0] = MMS_RUN_CONF_POINTER; + config_flash_set[1] = conf_item[i]->category; + config_flash_set[2] = conf_item[i]->offset; + config_flash_set[3] = conf_item[i]->datasize; + + mms_config_flash(info,config_flash_set,4,"array-set"); + + offset_tmp = conf_item[i]->data_blocksize; + config_array =(u8 *)(info->config_fw + (offset + MMS_MFSP_OFFSET)); + offset += offset_tmp; + + flash_array[0]=MMS_SET_RUN_CONF; + memcpy(&flash_array[1], config_array, conf_item[i]->datasize); + + mms_config_flash(info, flash_array, conf_item[i]->datasize + 1,"array_data"); + mms_read_config(client, config_flash_set, cmp_data, conf_item[i]->datasize); + if (mms_verify_config(info, &flash_array[1], cmp_data, conf_item[i]->datasize)!=0) + { + break; + } + } + + config_flash_data[0] = MMS_SET_RUN_CONF; + if(conf_item[i]->datasize == 1) + { + config_flash_data[1] = (u8)conf_item[i]->value; + mms_config_flash(info,config_flash_data,2,"config-data1"); + mms_read_config(client, config_flash_set, cmp_data, + conf_item[i]->datasize); + + if (mms_verify_config(info, &config_flash_data[1], cmp_data, 1)!=0) + { + break; + } + + } + else if(conf_item[i]->datasize == 2) + { + config_flash_data[1] = (u8)((conf_item[i]->value&0x00FF)>>0); + config_flash_data[2] = (u8)((conf_item[i]->value&0xFF00)>>8); + mms_config_flash(info,config_flash_data,3,"config-data2"); + mms_read_config(client, config_flash_set, cmp_data, + conf_item[i]->datasize); + if (mms_verify_config(info, &config_flash_data[1], cmp_data, 2)!=0) + { + break; + } + } + else if(conf_item[i]->datasize == 4) + { + config_flash_data[1] = (u8)((conf_item[i]->value&0x000000FF)>>0); + config_flash_data[2] = (u8)((conf_item[i]->value&0x0000FF00)>>8); + config_flash_data[3] = (u8)((conf_item[i]->value&0x00FF0000)>>16); + config_flash_data[4] = (u8)((conf_item[i]->value&0xFF000000)>>24); + mms_config_flash(info,config_flash_data,5,"config-data4"); + mms_read_config(client, config_flash_set, cmp_data, + conf_item[i]->datasize); + + if (mms_verify_config(info, &config_flash_data[1], cmp_data, 4)!=0) + { + break; + } + } + if(conf_item[i]->type == MMS_RUN_TYPE_END) + { + mms_config_finish(info); + break; + } + + } + + kfree(conf_item); + return; +} +static int mms_config_get(struct mms_ts_info *info, u8 mode) +{ + struct i2c_client *client = info->client; + char fw_path[MAX_FW_PATH+1]; + mm_segment_t old_fs = {0}; + struct file *fp = NULL; + long fsize = 0, nread = 0; + + if (mode == REQ_FW) { + if (!info->config_fw) { + dev_err(&client->dev, "Failed to get config firmware\n"); + return -EINVAL; + } + } else if (mode == UMS) { + + old_fs = get_fs(); + set_fs(get_ds()); + + snprintf(fw_path, MAX_FW_PATH, "/sdcard/%s", TSP_FW_CONFIG_NAME); + fp = filp_open(fw_path, O_RDONLY, 0); + if (IS_ERR(fp)) { + dev_err(&client->dev, "file %s open error:%d\n", + fw_path, (s32)fp); + return -1; + } else { + fsize = fp->f_path.dentry->d_inode->i_size; + kfree(info->config_fw); + info->config_fw = kzalloc((size_t)fsize, GFP_KERNEL); + + nread = vfs_read(fp, (char __user *)info->config_fw, fsize, &fp->f_pos); + if (nread != fsize) { + dev_err(&client->dev, "nread != fsize error\n"); + } + + filp_close(fp, current->files); + } + set_fs(old_fs); + } else { + dev_err(&client->dev, "%s error mode[%d]\n", __func__, mode); + return -1; + } + + dev_info(&client->dev, "succeed to get runtime-config firmware\n"); + + return 0; +} +static int mms_config_start(struct mms_ts_info *info) +{ + struct i2c_client *client; + u8 mms_conf_buffer[4] = {MMS_UNIVERSAL_CMD, MMS_CMD_CONTROL, MMS_SUBCMD_START, RUN_START}; + client = info->client; + + dev_info(&client->dev, "runtime-config firmware update start!\n"); + msleep(40); + mms_config_flash(info, mms_conf_buffer, 4, "start-packit"); + return 0; +} +static int mms_config_finish(struct mms_ts_info *info) +{ + struct i2c_client *client; + u8 mms_conf_buffer[4] = {MMS_UNIVERSAL_CMD, MMS_CMD_CONTROL, MMS_SUBCMD_START, RUN_STOP}; + client = info->client; + + mms_config_flash(info, mms_conf_buffer, 4,"finish-packit" ); + dev_info(&client->dev, "succeed to runtime-config firmware update\n"); + return 0; +} +static int mms_isc_read_status(struct mms_ts_info *info, u32 val) +{ + struct i2c_client *client = info->client; + u8 cmd = ISC_CMD_READ_STATUS; + u32 result = 0; + int cnt = 100; + int ret = 0; + + do { + i2c_smbus_read_i2c_block_data(client, cmd, 4, (u8 *)&result); + if (result == val) + break; + msleep(1); + } while (--cnt); + + if (!cnt){ + dev_err(&client->dev, + "status read fail. cnt : %d, val : 0x%x != 0x%x\n", + cnt, result, val); + } + + return ret; +} + +static int mms_isc_transfer_cmd(struct mms_ts_info *info, int cmd) +{ + struct i2c_client *client = info->client; + struct isc_packet pkt = { ISC_ADDR, cmd }; + struct i2c_msg msg = { + .addr = client->addr, + .flags = 0, + .len = sizeof(struct isc_packet), + .buf = (u8 *)&pkt, + }; + + return (i2c_transfer(client->adapter, &msg, 1) != 1); +} + +static int mms_isc_erase_page(struct mms_ts_info *info, int page) +{ + return mms_isc_transfer_cmd(info, ISC_CMD_PAGE_ERASE | page) || + mms_isc_read_status(info, ISC_PAGE_ERASE_DONE | ISC_PAGE_ERASE_ENTER | page); +} + +static int mms_isc_enter(struct mms_ts_info *info) +{ + return i2c_smbus_write_byte_data(info->client, MMS_CMD_ENTER_ISC, true); +} + +static int mms_isc_exit(struct mms_ts_info *info) +{ + return mms_isc_transfer_cmd(info, ISC_CMD_EXIT); +} + +static int mms_flash_section(struct mms_ts_info *info, struct mms_fw_img *img, const u8 *data) +{ + struct i2c_client *client = info->client; + struct isc_packet *isc_packet; + int ret; + int page, i; + struct i2c_msg msg[2] = { + { + .addr = client->addr, + .flags = 0, + }, { + .addr = client->addr, + .flags = I2C_M_RD, + .len = ISC_XFER_LEN, + }, + }; + int ptr = img->offset; + + isc_packet = kzalloc(sizeof(*isc_packet) + ISC_XFER_LEN, GFP_KERNEL); + isc_packet->cmd = ISC_ADDR; + + msg[0].buf = (u8 *)isc_packet; + msg[1].buf = kzalloc(ISC_XFER_LEN, GFP_KERNEL); + + for (page = img->start_page; page <= img->end_page; page++) { + mms_isc_erase_page(info, page); + + for (i = 0; i < ISC_BLOCK_NUM; i++, ptr += ISC_XFER_LEN) { + /* flash firmware */ + u32 tmp = page * 256 + i * (ISC_XFER_LEN / 4); + put_unaligned_le32(tmp, &isc_packet->addr); + msg[0].len = sizeof(struct isc_packet) + ISC_XFER_LEN; + + memcpy(isc_packet->data, data + ptr, ISC_XFER_LEN); + if (i2c_transfer(client->adapter, msg, 1) != 1) + goto i2c_err; + + /* verify firmware */ + tmp |= ISC_CMD_READ; + put_unaligned_le32(tmp, &isc_packet->addr); + msg[0].len = sizeof(struct isc_packet); + + if (i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg)) != ARRAY_SIZE(msg)) + goto i2c_err; + + if (memcmp(isc_packet->data, msg[1].buf, ISC_XFER_LEN)) { +#if FLASH_VERBOSE_DEBUG + print_hex_dump(KERN_ERR, "mms fw wr : ", + DUMP_PREFIX_OFFSET, 16, 1, + isc_packet->data, ISC_XFER_LEN, false); + + print_hex_dump(KERN_ERR, "mms fw rd : ", + DUMP_PREFIX_OFFSET, 16, 1, + msg[1].buf, ISC_XFER_LEN, false); +#endif + dev_err(&client->dev, "flash verify failed\n"); + ret = -1; + goto out; + } + + } + } + + dev_info(&client->dev, "section [%d] update succeeded\n", img->type); + + ret = 0; + goto out; + +i2c_err: + dev_err(&client->dev, "i2c failed @ %s\n", __func__); + ret = -1; + +out: + kfree(isc_packet); + kfree(msg[1].buf); + + return ret; +} + +static int get_fw_version_ic(struct i2c_client *client, u8 *buf) +{ + u8 cmd = MMS_FW_VERSION; + struct i2c_msg msg[2] = { + { + .addr = client->addr, + .flags = 0, + .buf = &cmd, + .len = 1, + }, { + .addr = client->addr, + .flags = I2C_M_RD, + .buf = buf, + .len = MAX_SECTION_NUM, + }, + }; + + return (i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg)) != ARRAY_SIZE(msg)); +} + +static int mms_flash_fw(const u8 *fw_data, struct mms_ts_info *info, u8 update_mode) +{ + int ret = 0; + int i; + struct mms_bin_hdr *fw_hdr; + struct mms_fw_img **img; + struct i2c_client *client = info->client; + u8 ver[MAX_SECTION_NUM]; + u8 target[MAX_SECTION_NUM]; + int offset = sizeof(struct mms_bin_hdr); + int retires = 3; + bool update_flag = false; + bool isc_enter_flag = false; + + if (fw_data == NULL) { + dev_err(&client->dev, "mms_flash_fw fw_data is NULL!"); + return 1; + } + + fw_hdr = (struct mms_bin_hdr *)fw_data; + img = kzalloc(sizeof(*img) * fw_hdr->section_num, GFP_KERNEL); + + while (retires--) { + if (!get_fw_version_ic(client, ver)) + break; + else + mms_reboot(info); + } + + if (retires < 0) { + dev_warn(&client->dev, "failed to obtain ver. info\n"); + memset(ver, 0xff, sizeof(ver)); + } + + for (i = 0 ; i < MAX_SECTION_NUM; i++) + info->fw_ic_ver[i] = ver[i]; + dev_info(&client->dev, "MMS-128S Before FW update : [0x%02x][0x%02x][0x%02x]", + ver[SEC_BOOT], ver[SEC_CORE], ver[SEC_CONF]); + + for (i = 0; i < fw_hdr->section_num; i++, offset += sizeof(struct mms_fw_img)) { + img[i] = (struct mms_fw_img *)(fw_data + offset); + target[i] = img[i]->version; + + if(update_mode == COMPARE_UPDATE) + info->pdata->fw_bin_ver[i] = target[i]; + + if (update_mode == FORCED_UPDATE) { + update_flag = true; + dev_info(&client->dev, "section [%d] forced update mode. ver : 0x%x, bin : 0x%x\n", + img[i]->type, ver[img[i]->type], target[i]); + } else if (ver[img[i]->type] == 0xff) { + update_flag = true; + dev_info(&client->dev, "tsp ic fw error : section [%d] is need to be updated\n", + img[i]->type); + /* defence code for empty tsp ic */ + } else if (ver[img[i]->type] > 0x30) { + update_flag = true; + dev_info(&client->dev, "empty tsp ic : section [%d] is need to be updated\n", + img[i]->type); + } else if (ver[img[i]->type] < target[i]) { + update_flag = true; + dev_info(&client->dev, "section [%d] is need to be updated. ver : 0x%x, bin : 0x%x\n", + img[i]->type, ver[img[i]->type], target[i]); + } else { + dev_info(&client->dev, "section [%d] is up to date, ver : 0x%x\n", i, target[i]); + } + + if (update_flag) { + if (!isc_enter_flag) { + mms_isc_enter(info); + isc_enter_flag = true; + } + + ret = mms_flash_section(info, img[i], fw_data + fw_hdr->binary_offset); + update_flag = false; + + if (ret) { + dev_err(&client->dev, "failed to mms_flash_section[%d]\n", i); + mms_reboot(info); + goto out; + } + } + info->fw_ic_ver[i] = target[i]; + } + + if (isc_enter_flag) { + mms_isc_exit(info); + mms_reboot(info); + + if (get_fw_version_ic(client, ver)) { + dev_err(&client->dev, "failed to obtain version after flash\n"); + ret = -1; + goto out; + } else { + for (i = 0; i < fw_hdr->section_num; i++) { + if (ver[img[i]->type] != target[i]) { + dev_info(&client->dev, + "version mismatch after flash. [%d] 0x%02x != 0x%02x\n", + i, ver[img[i]->type], target[i]); + + ret = -1; + goto out; + } + } + } + } + +out: + kfree(img); + + return ret; +} +#endif /* ISC_DL_MODE */ + +static void work_mms_config_set(struct work_struct *work) +{ + struct mms_ts_info *info = container_of(work, + struct mms_ts_info, work_config_set.work); + mms_config_set(info); + +#if TSP_TA_CALLBACK + dev_info(&info->client->dev, "%s & TA %sconnect & noise mode %s!\n", + __func__, + info->ta_status ? "" : "dis", + info->noise_mode ? "on" : "off"); + + if (info->ta_status) { + i2c_smbus_write_byte_data(info->client, MMS_TA_REG, MMS_TA_ON); + if (info->noise_mode) + i2c_smbus_write_byte_data(info->client, MMS_NOISE_REG, MMS_NOISE_ON); + + } else { + if (info->noise_mode) + info->noise_mode = false; + } +#endif + + enable_irq(info->irq); + info->enabled = true; + info->resume_done = true; + +} + +#if TOUCH_BOOSTER +static void change_dvfs_lock(struct work_struct *work) +{ + struct mms_ts_info *info = container_of(work, + struct mms_ts_info, work_dvfs_chg.work); + int ret; + + mutex_lock(&info->dvfs_lock); + ret = dev_lock(info->bus_dev, info->sec_touchscreen, + TOUCH_BOOSTER_BUS_CLK_266); + + if (ret < 0) + dev_err(&info->client->dev, + "%s dev change bud lock failed(%d)\n",\ + __func__, __LINE__); + else + dev_notice(&info->client->dev, "Change dvfs lock"); + mutex_unlock(&info->dvfs_lock); +} +static void set_dvfs_off(struct work_struct *work) +{ + + struct mms_ts_info *info = container_of(work, + struct mms_ts_info, work_dvfs_off.work); + int ret; + + mutex_lock(&info->dvfs_lock); + + ret = dev_unlock(info->bus_dev, info->sec_touchscreen); + if (ret < 0) + dev_err(&info->client->dev, " %s: dev unlock failed(%d)\n", + __func__, __LINE__); + + exynos_cpufreq_lock_free(DVFS_LOCK_ID_TSP); + info->dvfs_lock_status = false; + dev_notice(&info->client->dev, "dvfs off!"); + mutex_unlock(&info->dvfs_lock); +} + +static void set_dvfs_lock(struct mms_ts_info *info, uint32_t mode) +{ + int ret; + + mutex_lock(&info->dvfs_lock); + if (info->cpufreq_level <= 0) { + ret = exynos_cpufreq_get_level(TOUCH_BOOSTER_CPU_CLK, + &info->cpufreq_level); + if (ret < 0) + dev_err(&info->client->dev, + "exynos_cpufreq_get_level error"); + goto out; + } + + if (mode == TOUCH_BOOSTER_DELAY_OFF) { + if (info->dvfs_lock_status) { + cancel_delayed_work(&info->work_dvfs_chg); + schedule_delayed_work(&info->work_dvfs_off, + msecs_to_jiffies(TOUCH_BOOSTER_OFF_TIME)); + } + + } else if (mode == TOUCH_BOOSTER_ON) { + cancel_delayed_work(&info->work_dvfs_off); + if (!info->dvfs_lock_status) { + ret = dev_lock(info->bus_dev, info->sec_touchscreen, + TOUCH_BOOSTER_BUS_CLK_400); + if (ret < 0) { + dev_err(&info->client->dev, + "%s: dev lock failed(%d)", + __func__, __LINE__); + } + + ret = exynos_cpufreq_lock(DVFS_LOCK_ID_TSP, + info->cpufreq_level); + if (ret < 0) + dev_err(&info->client->dev, + "%s: cpu lock failed(%d)", + __func__, __LINE__); + + schedule_delayed_work(&info->work_dvfs_chg, + msecs_to_jiffies(TOUCH_BOOSTER_CHG_TIME)); + + info->dvfs_lock_status = true; + dev_notice(&info->client->dev, "dvfs on[%d]", + info->cpufreq_level); + } + } else if (mode == TOUCH_BOOSTER_QUICK_OFF) { + cancel_delayed_work(&info->work_dvfs_off); + cancel_delayed_work(&info->work_dvfs_chg); + schedule_work(&info->work_dvfs_off.work); + } +out: + mutex_unlock(&info->dvfs_lock); +} +#endif + +static void mms_ts_pm_qos_request(struct mms_ts_info *info, + unsigned int cpu_freq, unsigned int bus_freq) +{ + if (!pm_qos_request_active(&info->cpufreq_pm_qos_req)) + pm_qos_add_request(&info->cpufreq_pm_qos_req, + PM_QOS_CPU_FREQUENCY, cpu_freq); + else + pm_qos_update_request(&info->cpufreq_pm_qos_req, cpu_freq); + + if (!pm_qos_request_active(&info->busfreq_pm_qos_req)) + pm_qos_add_request(&info->busfreq_pm_qos_req, + PM_QOS_BUS_FREQUENCY, bus_freq); + else + pm_qos_update_request(&info->busfreq_pm_qos_req, bus_freq); +} + +static void release_all_fingers(struct mms_ts_info *info) +{ + int i; + + dev_notice(&info->client->dev, "%s\n", __func__); + + for (i = 0; i < MAX_FINGERS; i++) { + input_mt_slot(info->input_dev, i); + input_mt_report_slot_state(info->input_dev, MT_TOOL_FINGER, + false); + + if (info->finger_state[i] != TSP_STATE_RELEASE) { + dev_notice(&info->client->dev, + "finger %d up(force)\n", i); + } + info->finger_state[i] = TSP_STATE_RELEASE; + info->mcount[i] = 0; + } + input_sync(info->input_dev); + +#if TOUCH_BOOSTER + set_dvfs_lock(info, TOUCH_BOOSTER_QUICK_OFF); + dev_notice(&info->client->dev, "dvfs lock free.\n"); +#endif + + mms_ts_pm_qos_request(info, PM_QOS_CPU_FREQUENCY_MIN_VALUE, + PM_QOS_BUS_FREQUENCY_MIN_VALUE); +} + +static void reset_mms_ts(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + int retries_off = 3, retries_on = 3; + +#if TSP_TA_CALLBACK + dev_info(&client->dev, "%s & tsp %s & TA %sconnect & noise mode %s!\n", + __func__, + info->enabled ? "on" : "off", + info->ta_status ? "" : "dis", + info->noise_mode ? "on" : "off"); +#else + dev_info(&client->dev, "%s called & tap %s!\n", __func__, + info->enabled ? "on" : "off"); +#endif + + if (info->enabled == false) + return; + + info->enabled = false; + release_all_fingers(info); + + while(retries_off--) { + if(!mms_ts_power(info, 0)) + break; + } + + if (retries_off < 0) { + dev_err(&info->client->dev, "%s : power off error!\n", __func__); + info->enabled = true; + return; + } + + msleep(30); + + while(retries_on--) { + if(!mms_ts_power(info, 1)) + break; + } + + if (retries_on < 0) { + dev_err(&info->client->dev, "%s : power on error!\n", __func__); + return; + } + + msleep(120); + + mms_config_set(info); + +#if TSP_TA_CALLBACK + if (info->ta_status) { + i2c_smbus_write_byte_data(info->client, MMS_TA_REG, MMS_TA_ON); + if (info->noise_mode) + i2c_smbus_write_byte_data(info->client, MMS_NOISE_REG, MMS_NOISE_ON); + } else + info->noise_mode = false; +#endif + info->enabled = true; +} + +static void melfas_ta_cb(struct tsp_callbacks *cb, bool ta_status) +{ + struct mms_ts_info *info = + container_of(cb, struct mms_ts_info, callbacks); + struct i2c_client *client = info->client; + + info->ta_status = ta_status; + + dev_info(&client->dev, "%s & tsp %s & TA %sconnect & noise mode %s!\n", + __func__, + info->enabled ? "on" : "off", + info->ta_status ? "" : "dis", + info->noise_mode ? "on" : "off"); + + if (info->enabled == false) + return; + +#if TSP_TA_CALLBACK + if (info->ta_status) { + i2c_smbus_write_byte_data(info->client, MMS_TA_REG, MMS_TA_ON); + + if (info->noise_mode) { + i2c_smbus_write_byte_data(info->client, MMS_NOISE_REG, MMS_NOISE_ON); + dev_err(&client->dev, "melfas_ta_cb & abnormal noise mode on!\n"); + } + + } else { + i2c_smbus_write_byte_data(info->client, MMS_TA_REG, MMS_TA_OFF); + + if (info->noise_mode) { + info->noise_mode = false; + i2c_smbus_write_byte_data(info->client, MMS_NOISE_REG, MMS_NOISE_OFF); + dev_info(&client->dev, "ta_cb & noise mode off!\n"); + } + } +#endif +} + +static irqreturn_t mms_ts_interrupt(int irq, void *dev_id) +{ + struct mms_ts_info *info = dev_id; + struct i2c_client *client = info->client; + u8 buf[MAX_FINGERS * EVENT_SZ_8_BYTES] = { 0, }; + int ret, i, sz; + int id, state, posX, posY, strenth, width; + int palm, major_axis, minor_axis; + int finger_event_sz; + u8 *read_data; + u8 reg = MMS_INPUT_EVENT0; + bool press_flag = false; + struct i2c_msg msg[] = { + { + .addr = client->addr, + .flags = 0, + .buf = ®, + .len = 1, + }, { + .addr = client->addr, + .flags = I2C_M_RD, + .buf = buf, + }, + }; + finger_event_sz = EVENT_SZ_8_BYTES; + + if (WARN_ON(info->suspended)) + return IRQ_HANDLED; + + sz = i2c_smbus_read_byte_data(client, MMS_INPUT_EVENT_PKT_SZ); + + if (sz < 0) { + dev_err(&client->dev, "%s bytes=%d\n", __func__, sz); + for (i = 0; i < 50; i++) { + sz = i2c_smbus_read_byte_data(client, + MMS_INPUT_EVENT_PKT_SZ); + if (sz > 0) + break; + } + + if (i == 50) { + dev_dbg(&client->dev, "i2c failed... reset!!\n"); + reset_mms_ts(info); + return IRQ_HANDLED; + } + dev_err(&client->dev, "success read touch info data\n"); + } + if (sz == 0) + return IRQ_HANDLED; + + if (sz > MAX_FINGERS*finger_event_sz || sz%finger_event_sz) { + dev_err(&client->dev, "abnormal data inputed & reset IC[%d]\n", + sz); + reset_mms_ts(info); + return IRQ_HANDLED; + } + + msg[1].len = sz; + ret = i2c_transfer(client->adapter, msg, ARRAY_SIZE(msg)); + + if (ret != ARRAY_SIZE(msg)) { + dev_err(&client->dev, + "failed to read %d bytes of touch data (%d)\n", + sz, ret); + + for (i = 0; i < 5; i++) { + ret = i2c_transfer(client->adapter, msg, + ARRAY_SIZE(msg)); + if (ret == ARRAY_SIZE(msg)) + break; + } + + if (i == 5) { + dev_err(&client->dev, + "failed to read touch data & reset IC[%d]\n", + ret); + reset_mms_ts(info); + return IRQ_HANDLED; + } + dev_err(&client->dev, "success read touch data\n"); + } + + if (buf[0] == MMS_NOTIFY_EVENT) { /* MMS_NOTIFY_EVENT */ + dev_info(&client->dev, "TSP noise mode enter!(%d)\n", buf[1]); + i2c_smbus_write_byte_data(info->client, MMS_NOISE_REG, MMS_NOISE_ON); + if (!info->ta_status) { + dev_err(&client->dev, "TSP noise mode enter but ta off!\n"); + } + info->noise_mode = true; + return IRQ_HANDLED; + } + + if (buf[0] == MMS_ERROR_EVENT) { /* MMS_ERROR_EVENT*/ + dev_err(&client->dev, "Error detected, restarting TSP\n"); + reset_mms_ts(info); + return IRQ_HANDLED; + } + + for (i = 0; i < sz; i += finger_event_sz) { + read_data = &buf[i]; + id = (read_data[0] & 0xf) - 1; + state = read_data[0] & 0x80; + posX = read_data[2] | ((read_data[1] & 0xf) << 8); + posY = read_data[3] | (((read_data[1] >> 4) & 0xf) << 8); + width = read_data[4]; + strenth = read_data[5]; + palm = (read_data[0] & 0x10) >> 4; + major_axis = read_data[6]; + minor_axis = read_data[7]; + + if (info->invert_x) { + posX = info->max_x - posX; + if (posX < 0) + posX = 0; + } + if (info->invert_y) { + posY = info->max_y - posY; + if (posY < 0) + posY = 0; + } + if (id >= MAX_FINGERS) { + dev_notice(&client->dev, \ + "finger id error [%d]\n", id); + reset_mms_ts(info); + return IRQ_HANDLED; + } + + if (state == TSP_STATE_RELEASE) { + input_mt_slot(info->input_dev, id); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, false); + dev_dbg(&client->dev, "R [%2d],([%4d],[%3d])[%d][%d]", + id, posX, posY, palm, info->mcount[id]); + info->finger_state[id] = TSP_STATE_RELEASE; + info->mcount[id] = 0; + } else { + input_mt_slot(info->input_dev, id); + input_mt_report_slot_state(info->input_dev, + MT_TOOL_FINGER, true); + input_report_abs(info->input_dev, + ABS_MT_POSITION_X, posX); + input_report_abs(info->input_dev, + ABS_MT_POSITION_Y, posY); + + input_report_abs(info->input_dev, + ABS_MT_WIDTH_MAJOR, width); + input_report_abs(info->input_dev, + ABS_MT_PRESSURE, strenth); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MAJOR, major_axis); + input_report_abs(info->input_dev, + ABS_MT_TOUCH_MINOR, minor_axis); + + input_report_abs(info->input_dev, + ABS_MT_TOOL_Y, palm); + + info->mcount[id] += 1; + + if (info->finger_state[id] == TSP_STATE_RELEASE) { + info->finger_state[id] = TSP_STATE_PRESS; + dev_dbg(&client->dev, + "P [%2d],([%4d],[%3d]),P:%d W:%d S:%3d Mj_a:%d Mi_a:%d",\ + id, posX, posY, palm, width, strenth, + major_axis, minor_axis); + } else + info->finger_state[id] = TSP_STATE_MOVE; + } + } + input_sync(info->input_dev); + + + for (i = 0 ; i < MAX_FINGERS ; i++) { + if (info->finger_state[i] == TSP_STATE_PRESS + || info->finger_state[i] == TSP_STATE_MOVE) { + press_flag = TOUCH_BOOSTER_ON; + break; + } + } + +#if TOUCH_BOOSTER + set_dvfs_lock(info, press_flag); +#endif + + if (press_flag == TOUCH_BOOSTER_ON) { + /* cpu frequency : 400MHz, bus frequency : 100MHz */ + mms_ts_pm_qos_request(info, 400000, 100000); + } else { + mms_ts_pm_qos_request(info, PM_QOS_CPU_FREQUENCY_MIN_VALUE, + PM_QOS_BUS_FREQUENCY_MIN_VALUE); + } + + return IRQ_HANDLED; +} + +static void hw_reboot(struct mms_ts_info *info, bool bootloader) +{ + mms_ts_power(info, 0); + gpio_direction_output(info->pdata->gpio_sda, bootloader ? 0 : 1); + gpio_direction_output(info->pdata->gpio_scl, bootloader ? 0 : 1); + gpio_direction_output(info->pdata->gpio_int, 0); + msleep(30); + mms_ts_power(info, 1); + msleep(30); + + if (bootloader) { + gpio_set_value(info->pdata->gpio_scl, 0); + gpio_set_value(info->pdata->gpio_sda, 1); + } else { + gpio_set_value(info->pdata->gpio_int, 1); + gpio_direction_input(info->pdata->gpio_int); + gpio_direction_input(info->pdata->gpio_scl); + gpio_direction_input(info->pdata->gpio_sda); + } + msleep(40); +} + +static inline void hw_reboot_bootloader(struct mms_ts_info *info) +{ + hw_reboot(info, true); +} + +static inline void hw_reboot_normal(struct mms_ts_info *info) +{ + hw_reboot(info, false); +} + +static int mms_ts_fw_load(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + int ret = 0, retries = 3; + + if (!info->pdata) { + dev_err(&client->dev, + "fw cannot be updated, missing platform data\n"); + return 1; + } + + do { + ret = mms_flash_fw(info->fw_data, info, COMPARE_UPDATE); + } while (ret && --retries); + + if (!retries) { + dev_err(&info->client->dev, "failed to flash firmware after retires\n"); + } else { + /* Runtime config setting*/ + mms_config_get(info, REQ_FW); + mms_config_set(info); + } + + return ret; +} + +#if SEC_TSP_FACTORY_TEST +static void set_cmd_result(struct mms_ts_info *info, char *buff, int len) +{ + strncat(info->cmd_result, buff, len); +} + +static int get_data(struct mms_ts_info *info, u8 addr, u8 size, u8 *array) +{ + struct i2c_client *client = info->client; + struct i2c_adapter *adapter = client->adapter; + struct i2c_msg msg; + u8 reg = addr; + unsigned char buf[size]; + int ret; + + msg.addr = client->addr; + msg.flags = 0x00; + msg.len = 1; + msg.buf = ® + + ret = i2c_transfer(adapter, &msg, 1); + + if (ret >= 0) { + msg.addr = client->addr; + msg.flags = I2C_M_RD; + msg.len = size; + msg.buf = buf; + + ret = i2c_transfer(adapter, &msg, 1); + } + if (ret < 0) { + pr_err("[TSP] : read error : [%d]", ret); + return ret; + } + + memcpy(array, &buf, size); + return size; +} + +static void get_intensity_data(struct mms_ts_info *info) +{ + u8 w_buf[4]; + u8 r_buf; + u8 read_buffer[60] = {0}; + int i, j; + int ret; + u16 max_value = 0, min_value = 0; + u16 raw_data; + char buff[TSP_CMD_STR_LEN] = {0}; + int tx_num = info->pdata->tsp_tx; + int rx_num = info->pdata->tsp_rx; + + disable_irq(info->irq); + + w_buf[0] = ADDR_UNIV_CMD; + w_buf[1] = CMD_GET_INTEN; + w_buf[2] = 0xFF; + for (i = 0; i < rx_num; i++) { + w_buf[3] = i; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 3, &w_buf[1]); + if (ret < 0) + goto err_i2c; + usleep_range(1, 5); + + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT_SZ, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + ret = get_data(info, CMD_RESULT, r_buf, read_buffer); + if (ret < 0) + goto err_i2c; + + for (j = 0; j < r_buf/2; j++) { + raw_data = read_buffer[2*j] | (read_buffer[2*j+1] << 8); + if (raw_data > 32767) + raw_data = 0; + if (i == 0 && j == 0) { + max_value = min_value = raw_data; + } else { + max_value = max(max_value, raw_data); + min_value = min(min_value, raw_data); + } + info->intensity[i * tx_num + j] = raw_data; + dev_dbg(&info->client->dev, + "[TSP] intensity[%d][%d] = %d\n", j, i, + info->intensity[i * tx_num + j]); + } + } + +#if SHOW_TSP_DEBUG_MSG + printk("\n"); + for (i=0 ; i < rx_num; i++) { + printk("melfas-ts data :"); + for (j = 0; j < tx_num; j++) { + printk("[%d]", info->intensity[i * tx_num + j]); + } + printk("\n"); + } +#endif + + snprintf(buff, sizeof(buff), "%d,%d", min_value, max_value); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + enable_irq(info->irq); + + return; + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, MMS_VSC_CMD_INTENSITY); +} + +static int tsp_connector_check(struct mms_ts_info *info) +{ + u8 w_buf[4]; + u8 r_buf = 0; + u8 read_buffer[60] = {0}; + int ret; + int i, j; + int max_value = 0, min_value = 0; + int raw_data; + int retry; + int gpio = info->pdata->gpio_int; + int tx_num = info->pdata->tsp_tx; + int rx_num = info->pdata->tsp_rx; + bool tsp_connect_state; + + dev_info(&info->client->dev, "Check raw data for tsp pannel connect state!\n"); + + ret = i2c_smbus_write_byte_data(info->client, + ADDR_UNIV_CMD, CMD_ENTER_TEST); + if (ret < 0) + goto err_i2c; + + /* event type check */ + retry = 1; + while (retry) { + while (gpio_get_value(gpio)) + udelay(100); + + ret = i2c_smbus_read_i2c_block_data(info->client, + 0x0F, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + ret = i2c_smbus_read_i2c_block_data(info->client, + 0x10, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + dev_info(&info->client->dev, "event type = 0x%x\n", r_buf); + if (r_buf == 0x0C) + retry = 0; + } + + w_buf[0] = ADDR_UNIV_CMD; + w_buf[1] = CMD_CM_DELTA; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 1, &w_buf[1]); + if (ret < 0) + goto err_i2c; + while (gpio_get_value(gpio)) + udelay(100); + + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT_SZ, 1, &r_buf); + if (ret < 0) + goto err_i2c; + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + if (r_buf == 1) + dev_info(&info->client->dev, "PASS\n"); + else + dev_info(&info->client->dev, "FAIL\n"); + + w_buf[1] = CMD_GET_DELTA; + w_buf[2] = 0xFF; + + for (i = 0; i < rx_num; i++) { + w_buf[3] = i; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 3, &w_buf[1]); + if (ret < 0) + goto err_i2c; + + while (gpio_get_value(gpio)) + udelay(100); + + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT_SZ, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + ret = get_data(info, CMD_RESULT, r_buf, read_buffer); + if (ret < 0) + goto err_i2c; + + for (j = 0; j < tx_num; j++) { + raw_data = read_buffer[2*j] | (read_buffer[2*j+1] << 8); + + if (i == 0 && j == 0) { + max_value = min_value = raw_data; + } else { + max_value = max(max_value, raw_data); + min_value = min(min_value, raw_data); + } + + } + } + + ret = i2c_smbus_write_byte_data(info->client, + ADDR_UNIV_CMD, CMD_EXIT_TEST); + + if (max_value < 20) { + tsp_connect_state = 0; + dev_err(&info->client->dev, "tsp_pannel_connect off checked!\n"); + } else { + tsp_connect_state = 1; + + mms_ts_power(info, 0); + msleep(5); + mms_ts_power(info, 1); + msleep(50); + mms_config_set(info); + dev_err(&info->client->dev, "tsp_pannel_connect on checked!\n"); + } + + return tsp_connect_state; + +err_i2c: + dev_err(&info->client->dev, "%s : err_i2c!\n", __func__); + reset_mms_ts(info); + + return -1; + +} + + +static void get_raw_data(struct mms_ts_info *info, u8 cmd) +{ + u8 w_buf[4]; + u8 r_buf = 0; + u8 read_buffer[60] = {0}; + int ret; + int i, j; + int max_value = 0, min_value = 0; + int raw_data; + int retry; + char buff[TSP_CMD_STR_LEN] = {0}; + int gpio = info->pdata->gpio_int; + int tx_num = info->pdata->tsp_tx; + int rx_num = info->pdata->tsp_rx; + + disable_irq(info->irq); + + ret = i2c_smbus_write_byte_data(info->client, + ADDR_UNIV_CMD, CMD_ENTER_TEST); + if (ret < 0) + goto err_i2c; + + /* event type check */ + retry = 1; + while (retry) { + while (gpio_get_value(gpio)) + udelay(100); + + ret = i2c_smbus_read_i2c_block_data(info->client, + 0x0F, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + ret = i2c_smbus_read_i2c_block_data(info->client, + 0x10, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + dev_info(&info->client->dev, "event type = 0x%x\n", r_buf); + if (r_buf == 0x0C) + retry = 0; + } + + w_buf[0] = ADDR_UNIV_CMD; + if (cmd == MMS_VSC_CMD_CM_DELTA) + w_buf[1] = CMD_CM_DELTA; + else + w_buf[1] = CMD_CM_ABS; + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 1, &w_buf[1]); + if (ret < 0) + goto err_i2c; + while (gpio_get_value(gpio)) + udelay(100); + + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT_SZ, 1, &r_buf); + if (ret < 0) + goto err_i2c; + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + if (r_buf == 1) + dev_info(&info->client->dev, "PASS\n"); + else + dev_info(&info->client->dev, "FAIL\n"); + + if (cmd == MMS_VSC_CMD_CM_DELTA) + w_buf[1] = CMD_GET_DELTA; + else + w_buf[1] = CMD_GET_ABS; + w_buf[2] = 0xFF; + + for (i = 0; i < rx_num; i++) { + w_buf[3] = i; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 3, &w_buf[1]); + if (ret < 0) + goto err_i2c; + + while (gpio_get_value(gpio)) + udelay(100); + + ret = i2c_smbus_read_i2c_block_data(info->client, + CMD_RESULT_SZ, 1, &r_buf); + if (ret < 0) + goto err_i2c; + + ret = get_data(info, CMD_RESULT, r_buf, read_buffer); + if (ret < 0) + goto err_i2c; + + for (j = 0; j < tx_num; j++) { + raw_data = read_buffer[2*j] | (read_buffer[2*j+1] << 8); + if (i == 0 && j == 0) { + max_value = min_value = raw_data; + } else { + max_value = max(max_value, raw_data); + min_value = min(min_value, raw_data); + } + + if (cmd == MMS_VSC_CMD_CM_DELTA) { + info->cm_delta[i * tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] delta[%d][%d] = %d\n", j, i, + info->cm_delta[i * tx_num + j]); + } else if (cmd == MMS_VSC_CMD_CM_ABS) { + info->cm_abs[i * tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] raw[%d][%d] = %d\n", j, i, + info->cm_abs[i * tx_num + j]); + } else if (cmd == MMS_VSC_CMD_REFER) { + info->reference[i * tx_num + j] = + raw_data; + dev_dbg(&info->client->dev, + "[TSP] reference[%d][%d] = %d\n", j, i, + info->reference[i * tx_num + j]); + } + } + } + + ret = i2c_smbus_write_byte_data(info->client, + ADDR_UNIV_CMD, CMD_EXIT_TEST); + +#if SHOW_TSP_DEBUG_MSG + printk("\n"); + for (i=0 ; i < rx_num; i++) { + printk("melfas-ts data :"); + for (j = 0; j < tx_num; j++) { + if (cmd == MMS_VSC_CMD_CM_DELTA) { + printk("[%d]", info->cm_delta[i * tx_num + j]); + } else if (cmd == MMS_VSC_CMD_CM_ABS) { + printk("[%d]", info->cm_abs[i * tx_num + j]); + } else if (cmd == MMS_VSC_CMD_REFER) { + printk("[%d]", info->reference[i * tx_num + j]); + } + } + printk("\n"); + } +#endif + snprintf(buff, sizeof(buff), "%d,%d", min_value, max_value); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + enable_irq(info->irq); + + return; + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, cmd); +} + + +static void get_raw_data_all(struct mms_ts_info *info, u8 cmd) +{ + u8 w_buf[6]; + u8 read_buffer[2]; /* 52 */ + int gpio = info->pdata->gpio_int; + int ret; + int i, j; + u32 max_value = 0, min_value = 0; + u32 raw_data; + char buff[TSP_CMD_STR_LEN] = {0}; + int tx_num = info->pdata->tsp_tx; + int rx_num = info->pdata->tsp_rx; + + disable_irq(info->irq); + + w_buf[0] = MMS_VSC_CMD; /* vendor specific command id */ + w_buf[1] = MMS_VSC_MODE; /* mode of vendor */ + w_buf[2] = 0; /* tx line */ + w_buf[3] = 0; /* rx line */ + w_buf[4] = 0; /* reserved */ + w_buf[5] = 0; /* sub command */ + + if (cmd == MMS_VSC_CMD_EXIT) { + w_buf[5] = MMS_VSC_CMD_EXIT; /* exit test mode */ + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 5, &w_buf[1]); + if (ret < 0) + goto err_i2c; + enable_irq(info->irq); + msleep(200); + return; + } + + /* MMS_VSC_CMD_CM_DELTA or MMS_VSC_CMD_CM_ABS + * this two mode need to enter the test mode + * exit command must be followed by testing. + */ + if (cmd == MMS_VSC_CMD_CM_DELTA || cmd == MMS_VSC_CMD_CM_ABS) { + /* enter the debug mode */ + w_buf[2] = 0x0; /* tx */ + w_buf[3] = 0x0; /* rx */ + w_buf[5] = MMS_VSC_CMD_ENTER; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 5, &w_buf[1]); + if (ret < 0) + goto err_i2c; + + /* wating for the interrupt */ + while (gpio_get_value(gpio)) + udelay(100); + } + + for (i = 0; i < rx_num; i++) { + for (j = 0; j < tx_num; j++) { + + w_buf[2] = j; /* tx */ + w_buf[3] = i; /* rx */ + w_buf[5] = cmd; + + ret = i2c_smbus_write_i2c_block_data(info->client, + w_buf[0], 5, &w_buf[1]); + if (ret < 0) + goto err_i2c; + + usleep_range(1, 5); + + ret = i2c_smbus_read_i2c_block_data(info->client, 0xBF, + 2, read_buffer); + if (ret < 0) + goto err_i2c; + + raw_data = ((u16) read_buffer[1] << 8) | read_buffer[0]; + if (i == 0 && j == 0) { + max_value = min_value = raw_data; + } else { + max_value = max(max_value, raw_data); + min_value = min(min_value, raw_data); + } + + if (cmd == MMS_VSC_CMD_INTENSITY) { + info->intensity[j * rx_num + i] = raw_data; + dev_info(&info->client->dev, "[TSP] intensity[%d][%d] = %d\n", + i, j, info->intensity[j * rx_num + i]); + } else if (cmd == MMS_VSC_CMD_CM_DELTA) { + info->cm_delta[j * rx_num + i] = raw_data; + dev_info(&info->client->dev, "[TSP] delta[%d][%d] = %d\n", + i, j, info->cm_delta[j * rx_num + i]); + } else if (cmd == MMS_VSC_CMD_CM_ABS) { + info->cm_abs[j * rx_num + i] = raw_data; + dev_info(&info->client->dev, "[TSP] raw[%d][%d] = %d\n", + i, j, info->cm_abs[j * rx_num + i]); + } else if (cmd == MMS_VSC_CMD_REFER) { + info->reference[j * rx_num + i] = + raw_data >> 3; + dev_info(&info->client->dev, "[TSP] reference[%d][%d] = %d\n", + i, j, info->reference[j * rx_num + i]); + } + } + + } + + snprintf(buff, sizeof(buff), "%d,%d", min_value, max_value); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + enable_irq(info->irq); + return; + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, cmd); +} + +static u32 get_raw_data_one(struct mms_ts_info *info, u16 rx_idx, u16 tx_idx, + u8 cmd) +{ + u8 w_buf[6]; + u8 read_buffer[2]; + int ret; + u32 raw_data; + + w_buf[0] = MMS_VSC_CMD; /* vendor specific command id */ + w_buf[1] = MMS_VSC_MODE; /* mode of vendor */ + w_buf[2] = 0; /* tx line */ + w_buf[3] = 0; /* rx line */ + w_buf[4] = 0; /* reserved */ + w_buf[5] = 0; /* sub command */ + + if (cmd != MMS_VSC_CMD_INTENSITY && cmd != MMS_VSC_CMD_RAW && + cmd != MMS_VSC_CMD_REFER) { + dev_err(&info->client->dev, "%s: not profer command(cmd=%d)\n", + __func__, cmd); + return -1; + } + + w_buf[2] = tx_idx; /* tx */ + w_buf[3] = rx_idx; /* rx */ + w_buf[5] = cmd; /* sub command */ + + ret = i2c_smbus_write_i2c_block_data(info->client, w_buf[0], 5, + &w_buf[1]); + if (ret < 0) + goto err_i2c; + + ret = i2c_smbus_read_i2c_block_data(info->client, 0xBF, 2, read_buffer); + if (ret < 0) + goto err_i2c; + + raw_data = ((u16) read_buffer[1] << 8) | read_buffer[0]; + if (cmd == MMS_VSC_CMD_REFER) + raw_data = raw_data >> 4; + + return raw_data; + +err_i2c: + dev_err(&info->client->dev, "%s: fail to i2c (cmd=%d)\n", + __func__, cmd); + return -1; +} + +static ssize_t show_close_tsp_test(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + info->ft_flag = 0; + + return snprintf(buf, TSP_BUF_SIZE, "%u\n", 0); +} + +static void set_default_result(struct mms_ts_info *info) +{ + char delim = ':'; + + memset(info->cmd_result, 0x00, ARRAY_SIZE(info->cmd_result)); + memcpy(info->cmd_result, info->cmd, strlen(info->cmd)); + strncat(info->cmd_result, &delim, 1); +} + +static int check_rx_tx_num(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[TSP_CMD_STR_LEN] = {0}; + int node; + + if (info->cmd_param[0] < 0 || + info->cmd_param[0] >= info->pdata->tsp_tx || + info->cmd_param[1] < 0 || + info->cmd_param[1] >= info->pdata->tsp_rx) { + snprintf(buff, sizeof(buff) , "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 3; + + dev_info(&info->client->dev, "%s: parameter error: %u,%u\n", + __func__, info->cmd_param[0], + info->cmd_param[1]); + node = -1; + return node; + } + /* Model dependency */ + node = info->cmd_param[0] * info->pdata->tsp_rx + info->cmd_param[1]; + dev_info(&info->client->dev, "%s: node = %d\n", __func__, + node); + return node; + +} + +static void not_support_cmd(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + char buff[16] = {0}; + + set_default_result(info); + sprintf(buff, "%s", "NA"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 4; + dev_info(&info->client->dev, "%s: \"%s(%d)\"\n", __func__, + buff, strnlen(buff, sizeof(buff))); + return; +} + +static void fw_update(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + struct i2c_client *client = info->client; + char fw_path[MAX_FW_PATH+1]; + u8 *fw_data = NULL; + u8 ver[MAX_SECTION_NUM]; + int retries = 3; + int ret = 0, i = 0; + bool fw_read_flag = false; + + const struct firmware *fw; + + mm_segment_t old_fs = {0}; + struct file *fp = NULL; + long fsize = 0, nread = 0; + + char result[16] = {0}; + set_default_result(info); + + dev_info(&client->dev, + "fw_ic_ver = 0x%02x, fw_bin_ver = 0x%02x\n", + info->fw_ic_ver[SEC_CONF], info->pdata->fw_bin_ver[SEC_CONF]); + + switch (info->cmd_param[0]) { + case BUILT_IN: + info->cmd_param[0] = REQ_FW; + dev_info(&client->dev, "BUILT_IN=>REQ_FW update mode!\n"); + break; + + case UMS: + dev_info(&client->dev, "UMS update mode!\n"); + break; + + case REQ_FW: + dev_info(&client->dev, "REQ_FW update mode!\n"); + break; + + default: + dev_err(&client->dev, "invalid cmd_param[%d]\n", + info->cmd_param[0]); + goto not_support; + } + + disable_irq(info->irq); + + if(info->cmd_param[0] == REQ_FW){ + snprintf(fw_path, MAX_FW_PATH, "%s%s", TSP_FW_DIRECTORY, TSP_FW_NAME); + ret = request_firmware(&fw, fw_path, &client->dev); + if (ret) { + dev_err(&client->dev, "fail request_firmware[%s]\n", fw_path); + } else { + fw_data = kzalloc((size_t)fw->size, GFP_KERNEL); + memcpy((void *)fw_data, fw->data, fw->size); + release_firmware(fw); + fw_read_flag = true; + } + + } else if (info->cmd_param[0] == UMS){ + old_fs = get_fs(); + set_fs(get_ds()); + + snprintf(fw_path, MAX_FW_PATH, "/sdcard/%s", TSP_FW_NAME); + fp = filp_open(fw_path, O_RDONLY, 0); + if (IS_ERR(fp)) { + dev_err(&client->dev, "file %s open error:%d\n", + fw_path, (s32)fp); + } else { + fsize = fp->f_path.dentry->d_inode->i_size; + fw_data = kzalloc((size_t)fsize, GFP_KERNEL); + nread = vfs_read(fp, (char __user *)fw_data, fsize, &fp->f_pos); + if (nread != fsize) { + dev_err(&client->dev, "nread != fsize error\n"); + } + filp_close(fp, current->files); + fw_read_flag = true; + } + set_fs(old_fs); + } + + for(i=0 ; fw_read_flag == true && i < retries ; i++) { + ret = mms_flash_fw(fw_data, info, FORCED_UPDATE); + if (!ret) { + break; + } + } + kfree(fw_data); + + if (!fw_read_flag || i == retries) { + dev_err(&client->dev, "fail fw update\n"); + } + + ret = mms_config_get(info, info->cmd_param[0]); + if (ret) { + dev_err(&client->dev, "fail mms_config_get\n"); + mms_config_get(info, REQ_FW); + } + mms_config_set(info); + + get_fw_version_ic(client, ver); + for (i=0 ; i < MAX_SECTION_NUM ; i++) + info->fw_ic_ver[i] = ver[i]; + + dev_info(&client->dev, "After FW update : [0x%02x]\n", ver[SEC_CONF]); + + enable_irq(info->irq); + + if (fw_read_flag && !ret) { + snprintf(result, sizeof(result) , "%s", "OK"); + set_cmd_result(info, result, strnlen(result, sizeof(result))); + info->cmd_state = OK; + } else { + snprintf(result, sizeof(result) , "%s", "NG"); + set_cmd_result(info, result, strnlen(result, sizeof(result))); + info->cmd_state = FAIL; + } + + return; + +not_support: + snprintf(result, sizeof(result) , "%s", "NG"); + set_cmd_result(info, result, strnlen(result, sizeof(result))); + info->cmd_state = FAIL; + return; +} + +static void get_fw_ver_bin(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + + set_default_result(info); + snprintf(buff, sizeof(buff), "ME00%02x%02x", + info->pdata->fw_bin_ver[SEC_CORE], + info->pdata->fw_bin_ver[SEC_CONF]); + + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_fw_ver_ic(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + + set_default_result(info); + + snprintf(buff, sizeof(buff), "ME00%02x%02x", + info->fw_ic_ver[SEC_CORE], info->fw_ic_ver[SEC_CONF]); + + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_config_ver(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[20] = {0}; + u8 config_flash_set[4]; + u8 config_ver; + int ret; + + config_flash_set[0] = MMS_RUN_CONF_POINTER; + config_flash_set[1] = 0; // COMMONCONF + config_flash_set[2] = 8; // offset + config_flash_set[3] = 1; // length + + ret = mms_config_flash(info, config_flash_set,4,"config-set-conf-ver"); + if (!ret) + dev_err(&info->client->dev, "mms_config_flash fail!\n"); + + config_flash_set[0] = MMS_GET_RUN_CONF; + mms_read_config(info->client, config_flash_set, &config_ver, 1); + dev_info(&info->client->dev, "Runtime config_ver [%02x]\n", config_ver); + + set_default_result(info); + + snprintf(buff, sizeof(buff), "%s", info->config_fw_version); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = 2; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_threshold(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + int threshold; + + set_default_result(info); + + threshold = i2c_smbus_read_byte_data(info->client, 0x05); + if (threshold < 0) { + snprintf(buff, sizeof(buff), "%s", "NG"); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = FAIL; + return; +} + snprintf(buff, sizeof(buff), "%d", threshold); + + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void module_off_master(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[3] = {0}; + + mutex_lock(&info->lock); + if (info->enabled) { + disable_irq(info->irq); + info->enabled = false; + } + mutex_unlock(&info->lock); + + if (mms_ts_power(info, 0) == SUCCESS_PWR_CONTROL) + snprintf(buff, sizeof(buff), "%s", "OK"); + else + snprintf(buff, sizeof(buff), "%s", "NG"); + + set_default_result(info); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + if (strncmp(buff, "OK", 2) == 0) + info->cmd_state = OK; + else + info->cmd_state = FAIL; + + dev_info(&info->client->dev, "%s: %s\n", __func__, buff); +} + +static void module_on_master(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[3] = {0}; + + if (mms_ts_power(info, 1) == SUCCESS_PWR_CONTROL) { + snprintf(buff, sizeof(buff), "%s", "OK"); + + /* Set runtime config for B model */ + msleep(25); + mms_config_set(info); + + mutex_lock(&info->lock); + if (!info->enabled) { + enable_irq(info->irq); + info->enabled = true; + } + mutex_unlock(&info->lock); + } else + snprintf(buff, sizeof(buff), "%s", "NG"); + + set_default_result(info); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + if (strncmp(buff, "OK", 2) == 0) + info->cmd_state = OK; + else + info->cmd_state = FAIL; + + dev_info(&info->client->dev, "%s: %s\n", __func__, buff); + +} + +static void module_off_slave(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + not_support_cmd(info); +} + +static void module_on_slave(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + not_support_cmd(info); +} + +static void get_chip_vendor(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + + set_default_result(info); + + snprintf(buff, sizeof(buff), "%s", info->pdata->tsp_vendor); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_chip_name(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + + set_default_result(info); + + snprintf(buff, sizeof(buff), "%s", info->pdata->tsp_ic); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); +} + +static void get_reference(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->reference[node]; + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + + info->cmd_state = OK; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, + buff, strnlen(buff, sizeof(buff))); + +} + +static void get_cm_abs(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->cm_abs[node]; + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_cm_delta(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; + + val = info->cm_delta[node]; + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_intensity(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + unsigned int val; + int node; + + set_default_result(info); + node = check_rx_tx_num(info); + + if (node < 0) + return; +#if 0 + for (i = 0 ; i < info->pdata->tsp_tx ; i++) { + for (j = 0 ; j < info->pdata->tsp_rx ; j++) { + printk(KERN_INFO "[%2d]", + info->intensity[i*info->pdata->tsp_rx + j]); + } + printk("\n"); + } +#endif + val = info->intensity[node]; + + snprintf(buff, sizeof(buff), "%u", val); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_x_num(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + char buff[16] = {0}; + +#if 1 + if (info->enabled) + dev_info(&info->client->dev, "%s = [%d] from ic\n", __func__, + i2c_smbus_read_byte_data(info->client, 0xEF)); +#endif + set_default_result(info); + + snprintf(buff, sizeof(buff), "%d", info->pdata->tsp_tx); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void get_y_num(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + char buff[16] = {0}; + +#if 1 + if (info->enabled) + dev_info(&info->client->dev, "%s = [%d] from ic\n", __func__, + i2c_smbus_read_byte_data(info->client, 0xEE)); +#endif + + set_default_result(info); + + snprintf(buff, sizeof(buff), "%d", info->pdata->tsp_rx); + set_cmd_result(info, buff, strnlen(buff, sizeof(buff))); + info->cmd_state = OK; + + dev_info(&info->client->dev, "%s: %s(%d)\n", __func__, buff, + strnlen(buff, sizeof(buff))); +} + +static void run_reference_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + get_raw_data(info, MMS_VSC_CMD_REFER); + info->cmd_state = OK; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static void run_cm_abs_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + get_raw_data(info, MMS_VSC_CMD_CM_ABS); + info->cmd_state = OK; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static void run_cm_delta_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + get_raw_data(info, MMS_VSC_CMD_CM_DELTA); + info->cmd_state = OK; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static void run_intensity_read(void *device_data) +{ + struct mms_ts_info *info = (struct mms_ts_info *)device_data; + + set_default_result(info); + get_intensity_data(info); + info->cmd_state = OK; + +/* dev_info(&info->client->dev, "%s: %s(%d)\n", __func__); */ +} + +static ssize_t store_cmd(struct device *dev, struct device_attribute + *devattr, const char *buf, size_t count) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + struct i2c_client *client = info->client; + + char *cur, *start, *end; + char buff[TSP_CMD_STR_LEN] = {0}; + int len, i; + struct tsp_cmd *tsp_cmd_ptr = NULL; + char delim = ','; + bool cmd_found = false; + int param_cnt = 0; + int ret; + + if (info->cmd_is_running == true) { + dev_err(&info->client->dev, "tsp_cmd: other cmd is running.\n"); + goto err_out; + } + + + /* check lock */ + mutex_lock(&info->cmd_lock); + info->cmd_is_running = true; + mutex_unlock(&info->cmd_lock); + + info->cmd_state = RUNNING; + + for (i = 0; i < ARRAY_SIZE(info->cmd_param); i++) + info->cmd_param[i] = 0; + + len = (int)count; + if (*(buf + len - 1) == '\n') + len--; + memset(info->cmd, 0x00, ARRAY_SIZE(info->cmd)); + memcpy(info->cmd, buf, len); + + cur = strchr(buf, (int)delim); + if (cur) + memcpy(buff, buf, cur - buf); + else + memcpy(buff, buf, len); + + /* find command */ + list_for_each_entry(tsp_cmd_ptr, &info->cmd_list_head, list) { + if (!strcmp(buff, tsp_cmd_ptr->cmd_name)) { + cmd_found = true; + break; + } + } + + /* set not_support_cmd */ + if (!cmd_found) { + list_for_each_entry(tsp_cmd_ptr, &info->cmd_list_head, list) { + if (!strcmp("not_support_cmd", tsp_cmd_ptr->cmd_name)) + break; + } + } + + /* parsing parameters */ + if (cur && cmd_found) { + cur++; + start = cur; + memset(buff, 0x00, ARRAY_SIZE(buff)); + do { + if (*cur == delim || cur - buf == len) { + end = cur; + memcpy(buff, start, end - start); + *(buff + strlen(buff)) = '\0'; + ret = kstrtoint(buff, 10,\ + info->cmd_param + param_cnt); + start = cur + 1; + memset(buff, 0x00, ARRAY_SIZE(buff)); + param_cnt++; + } + cur++; + } while (cur - buf <= len); + } + + dev_info(&client->dev, "cmd = %s\n", tsp_cmd_ptr->cmd_name); + for (i = 0; i < param_cnt; i++) + dev_info(&client->dev, "cmd param %d= %d\n", i, + info->cmd_param[i]); + + tsp_cmd_ptr->cmd_func(info); + + +err_out: + return count; +} + +static ssize_t show_cmd_status(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + char buff[16] = {0}; + + dev_info(&info->client->dev, "tsp cmd: status:%d\n", + info->cmd_state); + + if (info->cmd_state == WAITING) + snprintf(buff, sizeof(buff), "WAITING"); + + else if (info->cmd_state == RUNNING) + snprintf(buff, sizeof(buff), "RUNNING"); + + else if (info->cmd_state == OK) + snprintf(buff, sizeof(buff), "OK"); + + else if (info->cmd_state == FAIL) + snprintf(buff, sizeof(buff), "FAIL"); + + else if (info->cmd_state == NOT_APPLICABLE) + snprintf(buff, sizeof(buff), "NOT_APPLICABLE"); + + return snprintf(buf, TSP_BUF_SIZE, "%s\n", buff); +} + +static ssize_t show_cmd_result(struct device *dev, struct device_attribute + *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + + dev_info(&info->client->dev, "tsp cmd: result: %s\n", info->cmd_result); + + mutex_lock(&info->cmd_lock); + info->cmd_is_running = false; + mutex_unlock(&info->cmd_lock); + + info->cmd_state = WAITING; + + return snprintf(buf, TSP_BUF_SIZE, "%s\n", info->cmd_result); +} + +#ifdef ESD_DEBUG + +static bool intensity_log_flag; + +static ssize_t show_intensity_logging_on(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + struct i2c_client *client = info->client; + struct file *fp; + char log_data[160] = { 0, }; + char buff[16] = { 0, }; + mm_segment_t old_fs; + long nwrite; + u32 val; + int i, y, c; + + old_fs = get_fs(); + set_fs(KERNEL_DS); + +#define MELFAS_DEBUG_LOG_PATH "/sdcard/melfas_log" + + dev_info(&client->dev, "%s: start.\n", __func__); + fp = filp_open(MELFAS_DEBUG_LOG_PATH, O_RDWR | O_CREAT, + S_IRWXU | S_IRWXG | S_IRWXO); + if (IS_ERR(fp)) { + dev_err(&client->dev, "%s: fail to open log file\n", __func__); + set_fs(old_fs); + return -1; + } + + intensity_log_flag = 1; + do { + for (y = 0; y < 3; y++) { + /* for tx chanel 0~2 */ + memset(log_data, 0x00, 160); + + snprintf(buff, 16, "%1u: ", y); + strncat(log_data, buff, strnlen(buff, 16)); + + for (i = 0; i < info->pdata->tsp_rx ; i++) { + val = get_raw_data_one(info, i, y, + MMS_VSC_CMD_INTENSITY); + snprintf(buff, 16, "%5u, ", val); + strncat(log_data, buff, strnlen(buff, 16)); + } + memset(buff, '\n', 2); + c = (y == 2) ? 2 : 1; + strncat(log_data, buff, c); + nwrite = vfs_write(fp, (const char __user *)log_data, + strnlen(log_data, 160), &fp->f_pos); + } + usleep_range(5000); + } while (intensity_log_flag); + + filp_close(fp, current->files); + set_fs(old_fs); + + return 0; +} + +static ssize_t show_intensity_logging_off(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + intensity_log_flag = 0; + usleep_range(10000); + get_raw_data_all(info, MMS_VSC_CMD_EXIT); + return 0; +} + +#endif + +static DEVICE_ATTR(close_tsp_test, S_IRUGO, show_close_tsp_test, NULL); +static DEVICE_ATTR(cmd, S_IWUSR | S_IWGRP, NULL, store_cmd); +static DEVICE_ATTR(cmd_status, S_IRUGO, show_cmd_status, NULL); +static DEVICE_ATTR(cmd_result, S_IRUGO, show_cmd_result, NULL); +#ifdef ESD_DEBUG +static DEVICE_ATTR(intensity_logging_on, S_IRUGO, show_intensity_logging_on, + NULL); +static DEVICE_ATTR(intensity_logging_off, S_IRUGO, show_intensity_logging_off, + NULL); +#endif + +static struct attribute *sec_touch_facotry_attributes[] = { + &dev_attr_close_tsp_test.attr, + &dev_attr_cmd.attr, + &dev_attr_cmd_status.attr, + &dev_attr_cmd_result.attr, +#ifdef ESD_DEBUG + &dev_attr_intensity_logging_on.attr, + &dev_attr_intensity_logging_off.attr, +#endif + NULL, +}; + +static struct attribute_group sec_touch_factory_attr_group = { + .attrs = sec_touch_facotry_attributes, +}; +#endif /* SEC_TSP_FACTORY_TEST */ + +#ifdef CONFIG_TIZEN_WIP +static int mms_ts_suspend(struct device *dev); +static int mms_ts_resume(struct device *dev); + +static ssize_t show_enabled(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + return sprintf(buf, "%d\n", info->enabled); +} + +static ssize_t store_enabled(struct device *dev, struct device_attribute *attr, + const char *buf, size_t size) +{ + struct mms_ts_info *info = dev_get_drvdata(dev); + int enabled; + int ret; + + ret = sscanf(buf, "%d", &enabled); + if (ret == 0) + return -EINVAL; + + if (enabled == info->enabled) + return 0; + + if (enabled) { + info->enabled_user = false; + mms_ts_resume(&info->client->dev); + } else { + mms_ts_suspend(&info->client->dev); + info->enabled_user = true; + } + + info->enabled = enabled; + + return size; +} +static DEVICE_ATTR(enabled, S_IRUGO | S_IWUSR, show_enabled, store_enabled); + +static struct attribute *mms_ts_attributes[] = { + &dev_attr_enabled.attr, + NULL, +}; + +static struct attribute_group mms_ts_attr_group = { + .attrs = mms_ts_attributes, +}; +#endif + +#ifdef CONFIG_OF +static struct melfas_tsi_platform_data *mms_ts_parse_dt(struct device *dev) +{ + struct melfas_tsi_platform_data *pdata; + struct device_node *np = dev->of_node; + + if (!np) + return NULL; + + pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); + if (!pdata) { + dev_err(dev, "failed to allocate platform data\n"); + return NULL; + } + + if (of_property_read_u32(np, "max_x", &pdata->max_x)) { + dev_err(dev, "failed to get max_x property\n"); + return NULL; + }; + + if (of_property_read_u32(np, "max_y", &pdata->max_y)) { + dev_err(dev, "failed to get max_y property\n"); + return NULL; + }; + + if (of_property_read_u32(np, "invert_x", &pdata->invert_x)) { + dev_err(dev, "failed to get invert_x property\n"); + return NULL; + }; + pdata->invert_x = !!pdata->invert_x; + + if (of_property_read_u32(np, "invert_y", &pdata->invert_y)) { + dev_err(dev, "failed to get invert_y property\n"); + return NULL; + }; + pdata->invert_y = !!pdata->invert_y; + + pdata->gpio_int = of_get_named_gpio(np, "gpios", 0); + if (!gpio_is_valid(pdata->gpio_int)) { + dev_err(dev, "invalied gpio_int\n"); + return NULL; + } + + pdata->gpio_scl = of_get_named_gpio(np, "gpios", 1); + if (!gpio_is_valid(pdata->gpio_scl)) { + dev_err(dev, "invalied gpio_scl\n"); + return NULL; + } + + pdata->gpio_sda = of_get_named_gpio(np, "gpios", 2); + if (!gpio_is_valid(pdata->gpio_sda)) { + dev_err(dev, "invalied gpio_sda\n"); + return NULL; + } + + if (of_property_read_string(np, "tsp_vendor", &pdata->tsp_vendor)) + dev_warn(dev, "cannot get touchscreen vendor name\n"); + + if (of_property_read_string(np, "tsp_ic", &pdata->tsp_ic)) + dev_warn(dev, "cannot get touchscreen IC data\n"); + + if (of_property_read_u32(np, "tsp_tx", &pdata->tsp_tx)) { + dev_err(dev, "failed to get invert_y property\n"); + return NULL; + }; + if (of_property_read_u32(np, "tsp_rx", &pdata->tsp_rx)) { + dev_err(dev, "failed to get invert_y property\n"); + return NULL; + }; + + if (of_property_read_string(np, "config_fw_version", + &pdata->config_fw_version)) + dev_warn(dev, "cannot get touchscreen firmware version\n"); + + pdata->register_cb = NULL; + + return pdata; +} +#else +static inline struct melfas_tsi_platform_data *mms_ts_parse_dt(struct device *dev) +{ + return NULL; +} +#endif + + +static int mms128_pm_notifier_callback(struct notifier_block *this, + unsigned long event, void *ptr) +{ + struct mms_ts_info *info = container_of(this, struct mms_ts_info, + pm_notifier); + + switch (event) { + case PM_SUSPEND_PREPARE: + info->suspended = true; + break; + case PM_POST_RESTORE: + case PM_POST_SUSPEND: + info->suspended = false; + break; + } + + return NOTIFY_DONE; +} + +static int mms_request_firmware(struct mms_ts_info *info) +{ + struct i2c_client *client = info->client; + const struct firmware *fw, *fw_config; + char fw_path[MAX_FW_PATH + 1]; + int ret = 0; + + /* firmware */ + snprintf(fw_path, MAX_FW_PATH, "%s%s", TSP_FW_DIRECTORY, TSP_FW_NAME); + ret = request_firmware(&fw, fw_path, &client->dev); + if (ret) { + dev_err(&client->dev, + "Failed to request firmware (%s)\n", fw_path); + return -EINVAL; + } + + info->fw_data = kzalloc(fw->size, GFP_KERNEL); + if (!info->fw_data) { + dev_err(&client->dev, + "Faild to allocate firmware memory (%s)\n", fw_path); + goto err_fw; + } + memcpy(info->fw_data, fw->data, fw->size); + + /* configuration firmware */ + snprintf(fw_path, MAX_FW_PATH, "%s%s", TSP_FW_DIRECTORY, TSP_FW_CONFIG_NAME); + ret = request_firmware(&fw_config, fw_path, &client->dev); + if (ret) { + dev_err(&client->dev, + "Failed to request firmware (%s)\n", fw_path); + goto err_fw_alloc; + } + + info->config_fw = kzalloc(fw_config->size, GFP_KERNEL); + if (!info->config_fw) { + dev_err(&client->dev, + "Faild to allocate firmware memory (%s)\n", fw_path); + goto err_fw_config; + } + memcpy(info->config_fw, fw_config->data, fw_config->size); + + release_firmware(fw_config); + release_firmware(fw); + + return 0; +err_fw_config: + release_firmware(fw_config); +err_fw_alloc: + kfree(info->fw_data); +err_fw: + release_firmware(fw); + + return ret; +} + +static int mms_ts_probe(struct i2c_client *client, + const struct i2c_device_id *id) +{ + struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); + struct mms_ts_info *info; + struct input_dev *input_dev; + int ret = 0; + int i; + +#if SEC_TSP_FACTORY_TEST + struct device *fac_dev_ts; + int rx_num; + int tx_num; +#endif + if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) + return -EIO; + + info = kzalloc(sizeof(struct mms_ts_info), GFP_KERNEL); + if (!info) { + dev_err(&client->dev, "Failed to allocate memory\n"); + ret = -ENOMEM; + goto err_alloc; + } + + if (client->dev.platform_data) + info->pdata = dev_get_platdata(&client->dev); + else if (client->dev.of_node) + info->pdata = mms_ts_parse_dt(&client->dev); + else + info->pdata = NULL; + + if (of_machine_is_compatible("samsung,tizen-w")) { + ret = mms_request_firmware(info); + if (ret < 0) { + dev_err(&client->dev, "Failed to request firmware\n"); + goto err_alloc; + } + } else if (of_machine_is_compatible("samsung,rinato-rev00")) { + info->fw_data = mms_ts_w_firmware_rev00; + info->config_fw = mms_ts_w_config_fw_rev00; + } else if (of_machine_is_compatible("samsung,rinato-rev01")) { + info->fw_data = mms_ts_w_firmware_rev01; + info->config_fw = mms_ts_w_config_fw_rev01; + } else if (of_machine_is_compatible("samsung,rinato-rev05")) { + info->fw_data = mms_ts_w_firmware_rev01; + info->config_fw = mms_ts_w_config_fw_rev01; + } + + if (!info->pdata) { + dev_err(&client->dev, "failed to get platform data\n"); + goto err_alloc; + } + + input_dev = input_allocate_device(); + if (!input_dev) { + dev_err(&client->dev, "Failed to allocate memory for input device\n"); + ret = -ENOMEM; + goto err_input_alloc; + } + + info->irq = -1; + mutex_init(&info->lock); + + if (info->pdata) { + info->max_x = info->pdata->max_x; + info->max_y = info->pdata->max_y; + info->invert_x = info->pdata->invert_x; + info->invert_y = info->pdata->invert_y; + info->config_fw_version = info->pdata->config_fw_version; + info->input_event = info->pdata->input_event; + info->register_cb = info->pdata->register_cb; + } else { + info->max_x = 720; + info->max_y = 1280; + } + for (i = 0 ; i < MAX_FINGERS; i++) { + info->finger_state[i] = TSP_STATE_RELEASE; + info->mcount[i] = 0; + } + + info->client = client; + info->input_dev = input_dev; + + info->regulator_pwr = regulator_get(&client->dev, "tsp_avdd_3.3v"); + if (IS_ERR(info->regulator_pwr)) { + pr_err("melfas-ts : %s regulator_pwr error!", __func__); + ret = -EINVAL; + goto err_regulator; + } + + info->regulator_vdd = regulator_get(&client->dev, "tsp_vdd_1.8v"); + if (IS_ERR(info->regulator_vdd)) { + pr_err("melfas-ts : %s regulator_vdd error!", __func__); + ret = -EINVAL; + goto err_regulator; + } + + mms_ts_power(info, true); + msleep(25); + + i2c_set_clientdata(client, info); + + ret = mms_ts_fw_load(info); + + if (ret) { + dev_err(&client->dev, "failed to initialize (%d)\n", ret); + goto err_fw_init; + } + + info->enabled = true; + info->resume_done= true; + +#ifdef CONFIG_SEC_FACTORY_MODE + msleep(200); + if (tsp_connector_check(info) == 0) { + goto err_tsp_connect; + } +#endif + + snprintf(info->phys, sizeof(info->phys), + "%s/input0", dev_name(&client->dev)); + input_dev->name = "sec_touchscreen"; /*= "Melfas MMSxxx Touchscreen";*/ + input_dev->phys = info->phys; + input_dev->id.bustype = BUS_I2C; + input_dev->dev.parent = &client->dev; + + __set_bit(EV_ABS, input_dev->evbit); + __set_bit(EV_KEY, input_dev->evbit); + __set_bit(BTN_TOUCH, input_dev->keybit); + __set_bit(INPUT_PROP_DIRECT, input_dev->propbit); + + input_mt_init_slots(input_dev, MAX_FINGERS, 0); + input_set_abs_params(input_dev, ABS_MT_POSITION_X, + 0, (info->max_x)-1, 0, 0); + input_set_abs_params(input_dev, ABS_MT_POSITION_Y, + 0, (info->max_y)-1, 0, 0); + input_set_abs_params(input_dev, ABS_X, 0, info->max_x, 0, 0); + input_set_abs_params(input_dev, ABS_Y, 0, info->max_y, 0, 0); + input_set_abs_params(input_dev, ABS_MT_WIDTH_MAJOR, + 0, MAX_WIDTH, 0, 0); + input_set_abs_params(input_dev, ABS_MT_TOUCH_MAJOR, + 0, MAX_PRESSURE, 0, 0); + input_set_abs_params(input_dev, ABS_MT_TOUCH_MINOR, + 0, MAX_PRESSURE, 0, 0); + input_set_drvdata(input_dev, info); + + ret = input_register_device(input_dev); + if (ret) { + dev_err(&client->dev, "failed to register input dev (%d)\n", + ret); + goto err_reg_input_dev; + } + + INIT_DELAYED_WORK(&info->work_config_set, work_mms_config_set); + +#if TOUCH_BOOSTER + mutex_init(&info->dvfs_lock); + INIT_DELAYED_WORK(&info->work_dvfs_off, set_dvfs_off); + INIT_DELAYED_WORK(&info->work_dvfs_chg, change_dvfs_lock); + info->bus_dev = dev_get("exynos-busfreq"); + info->sec_touchscreen = dev_get("sec_touchscreen"); + info->cpufreq_level = -1; + info->dvfs_lock_status = false; +#endif + +#ifdef CONFIG_HAS_EARLYSUSPEND + info->early_suspend.level = EARLY_SUSPEND_LEVEL_STOP_DRAWING; + info->early_suspend.suspend = mms_ts_early_suspend; + info->early_suspend.resume = mms_ts_late_resume; + register_early_suspend(&info->early_suspend); +#endif + + info->callbacks.inform_charger = melfas_ta_cb; + if (info->register_cb) + info->register_cb(&info->callbacks); + + ret = request_threaded_irq(client->irq, NULL, mms_ts_interrupt, + IRQF_TRIGGER_FALLING | IRQF_ONESHOT, + MELFAS_TS_NAME, info); + if (ret < 0) { + dev_err(&client->dev, "Failed to register interrupt\n"); + goto err_reg_input_dev; + } + + info->irq = client->irq; + barrier(); + + /* Register pm_notifier */ + info->pm_notifier.notifier_call = mms128_pm_notifier_callback; + ret = register_pm_notifier(&info->pm_notifier); + if (ret) { + dev_err(&client->dev, "Failed to setup pm notifier\n"); + goto err_reg_input_dev; + } + +#ifdef CONFIG_TIZEN_WIP + ret = sysfs_create_group(&input_dev->dev.kobj, &mms_ts_attr_group); + if (ret) { + dev_err(&client->dev, "Failed to create sysfs group\n"); + goto err_regulator; + } +#endif + + dev_info(&client->dev, + "Melfas MMS-series touch controller initialized\n"); + +#if SEC_TSP_FACTORY_TEST + rx_num = info->pdata->tsp_rx; + tx_num = info->pdata->tsp_tx; + + info->reference = kzalloc(sizeof(int) * rx_num * tx_num, GFP_KERNEL); + info->cm_abs = kzalloc(sizeof(int) * rx_num * tx_num, GFP_KERNEL); + info->cm_delta = kzalloc(sizeof(int) * rx_num * tx_num, GFP_KERNEL); + info->intensity = kzalloc(sizeof(int) * rx_num * tx_num, GFP_KERNEL); + if (unlikely(info->reference == NULL || + info->cm_abs == NULL || + info->cm_delta == NULL || + info->intensity == NULL)) { + ret = -ENOMEM; + goto err_alloc_node_data_failed; + } + + + INIT_LIST_HEAD(&info->cmd_list_head); + for (i = 0; i < ARRAY_SIZE(tsp_cmds); i++) + list_add_tail(&tsp_cmds[i].list, &info->cmd_list_head); + + mutex_init(&info->cmd_lock); + info->cmd_is_running = false; + + fac_dev_ts = device_create(sec_class, + NULL, 0, info, "tsp"); + if (IS_ERR(fac_dev_ts)) + dev_err(&client->dev, "Failed to create device for the sysfs\n"); + + ret = sysfs_create_group(&fac_dev_ts->kobj, + &sec_touch_factory_attr_group); + if (ret) + dev_err(&client->dev, "Failed to create sysfs group\n"); +#endif /* SEC_TSP_FACTORY_TEST */ + return 0; + +#if SEC_TSP_FACTORY_TEST +err_alloc_node_data_failed: + dev_err(&client->dev, "Err_alloc_node_data failed\n"); + kfree(info->reference); + kfree(info->cm_abs); + kfree(info->cm_delta); + kfree(info->intensity); +#endif +err_regulator: + regulator_put(info->regulator_pwr); + regulator_put(info->regulator_vdd); +err_reg_input_dev: + input_unregister_device(input_dev); +#ifdef CONFIG_SEC_FACTORY_MODE +err_tsp_connect: +#endif +err_fw_init: + mms_ts_power(info, false); +err_input_alloc: +err_alloc: + kfree(info); + return ret; + +} + +static int mms_ts_remove(struct i2c_client *client) +{ + struct mms_ts_info *info = i2c_get_clientdata(client); + + if (of_machine_is_compatible("samsung,tizen-w")) { + if (info->fw_data) + kfree(info->fw_data); + if (info->config_fw) + kfree(info->config_fw); + } + +#if SEC_TSP_FACTORY_TEST + dev_err(&client->dev, "Err_alloc_node_data failed\n"); + kfree(info->reference); + kfree(info->cm_abs); + kfree(info->cm_delta); + kfree(info->intensity); +#endif + +#ifdef CONFIG_HAS_EARLYSUSPEND + unregister_early_suspend(&info->early_suspend); +#endif + if (info->irq >= 0) + free_irq(info->irq, info); + input_unregister_device(info->input_dev); + + regulator_put(info->regulator_pwr); + regulator_put(info->regulator_vdd); + + kfree(info); + + return 0; +} + +#if defined(CONFIG_PM) || defined(CONFIG_HAS_EARLYSUSPEND) +static int mms_ts_suspend(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mms_ts_info *info = i2c_get_clientdata(client); + int retries = 50; + + if (info->enabled_user) + return 0; + + dev_info(&info->client->dev, "%s %s\n", + __func__, info->enabled ? "ON" : "OFF"); + + cancel_delayed_work_sync(&info->work_config_set); + + while (!info->resume_done) { + if (!retries--) + break; + msleep(10); + } + + if (!info->enabled) + return 0; + + disable_irq(info->irq); + info->enabled = false; + release_all_fingers(info); + + mms_ts_power(info, 0); + + return 0; +} + +static int mms_ts_resume(struct device *dev) +{ + struct i2c_client *client = to_i2c_client(dev); + struct mms_ts_info *info = i2c_get_clientdata(client); + + if (info->enabled_user) + return 0; + + dev_info(&info->client->dev, "%s %s\n", + __func__, info->enabled ? "ON" : "OFF"); + + if (info->enabled) + return 0; + + mms_ts_power(info, 1); + info->resume_done = false; + schedule_delayed_work(&info->work_config_set, + msecs_to_jiffies(80)); + + return 0; +} +#endif + +#ifdef CONFIG_HAS_EARLYSUSPEND +static void mms_ts_early_suspend(struct early_suspend *h) +{ + struct mms_ts_info *info; + info = container_of(h, struct mms_ts_info, early_suspend); + mms_ts_suspend(&info->client->dev); + +} + +static void mms_ts_late_resume(struct early_suspend *h) +{ + struct mms_ts_info *info; + info = container_of(h, struct mms_ts_info, early_suspend); + mms_ts_resume(&info->client->dev); +} +#endif + +#if defined(CONFIG_PM) && !defined(CONFIG_HAS_EARLYSUSPEND) +static const struct dev_pm_ops mms_ts_pm_ops = { + .suspend = mms_ts_suspend, + .resume = mms_ts_resume, +}; +#endif + +#ifdef CONFIG_OF +static struct of_device_id mms128_dt_match[] = { + { .compatible = "melfas,mms128" }, + {}, +}; +#endif + +static const struct i2c_device_id mms_ts_id[] = { + {MELFAS_TS_NAME, 0}, + {} +}; + +MODULE_DEVICE_TABLE(i2c, mms_ts_id); + +static struct i2c_driver mms_ts_driver = { + .probe = mms_ts_probe, + .remove = mms_ts_remove, + .driver = { + .name = MELFAS_TS_NAME, +#if defined(CONFIG_PM) && !defined(CONFIG_HAS_EARLYSUSPEND) + .pm = &mms_ts_pm_ops, +#endif + .of_match_table = of_match_ptr(mms128_dt_match), + }, + .id_table = mms_ts_id, +}; + +static int __init mms_ts_init(void) +{ + + return i2c_add_driver(&mms_ts_driver); + +} + +static void __exit mms_ts_exit(void) +{ + i2c_del_driver(&mms_ts_driver); +} + +module_init(mms_ts_init); +module_exit(mms_ts_exit); + +/* Module information */ +MODULE_DESCRIPTION("Touchscreen driver for Melfas MMS-series controllers"); +MODULE_LICENSE("GPL"); diff --git a/drivers/input/touchscreen/mms_ts_w_config_fw_rev00.h b/drivers/input/touchscreen/mms_ts_w_config_fw_rev00.h new file mode 100644 index 0000000..4602d51 --- /dev/null +++ b/drivers/input/touchscreen/mms_ts_w_config_fw_rev00.h @@ -0,0 +1,351 @@ +u8 mms_ts_w_config_fw_rev00[] = { +0x4D, 0x50, 0x53, 0x02, 0x4D, 0x31, 0x48, 0x53, 0x21, 0x00, +0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, +0xC7, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x40, 0x01, 0x40, 0x01, 0x07, 0x00, +0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x31, 0x36, 0x33, 0x41, 0x58, 0x30, 0x31, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x31, 0x36, 0x33, 0x41, 0x58, 0x30, 0x31, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x0B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x1A, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x6E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x26, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x2A, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0xFF, 0xFF, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2C, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x30, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x34, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x35, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x1C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0A, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x0D, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x0E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x01, 0x00, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x15, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x16, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF, 0x01, 0x00, +0x01, 0x00, 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0xE2, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x01, 0x00, 0x1B, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0xD3, 0x04, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x1E, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x04, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x20, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xCB, 0x02, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x22, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0xC7, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x24, 0x00, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x2A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xA8, 0x03, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x2C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x2E, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x34, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x36, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x38, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x3A, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x3B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x3D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x3E, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x42, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x44, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x46, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x48, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x4B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x4D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x4E, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x50, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x52, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x05, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x54, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x6A, 0x01, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x58, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x5A, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x5C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x5E, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x60, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x62, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x64, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x66, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x68, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x6A, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x6C, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, +0x70, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, +0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x72, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, +0x01, 0x00, 0x74, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0xF9, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, +0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, +0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x0A, 0x08, 0x07, 0x05, 0x04, 0x02, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, +0x06, 0x00, 0x00, 0x00, 0x15, 0x00, 0x20, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x02, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x18, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x05, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x08, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x0A, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x0D, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x0E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x10, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x07, 0x00, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x13, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x14, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x15, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x16, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x19, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF, 0x01, 0x00, +0x07, 0x00, 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0xE2, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x07, 0x00, 0x1B, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x1C, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0xB0, 0x03, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x1E, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x20, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x26, 0x02, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x22, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x5E, 0x01, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x24, 0x00, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x2A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x2C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x2E, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x34, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x36, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x38, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x3A, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x3B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x3C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x3D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x3E, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x42, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x44, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x46, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x48, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x4A, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x4B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x4C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x4D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x4E, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x50, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x52, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x02, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x54, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x23, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x58, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x5A, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x5C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x5E, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x60, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0xFF, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x62, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x64, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x66, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x68, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x6A, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0xFF, 0x7F, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x6C, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x6E, 0x00, 0x02, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x07, 0x00, +0x70, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x07, 0x00, 0x72, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x01, 0x00, +0x07, 0x00, 0x74, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, +0xE7, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, +0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x36, 0x35, 0x35, 0x35, 0x35, 0x35, 0x41, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, +0x15, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x34, 0x2F, 0x2F, 0x2F, 0x30, 0x31, 0x3A, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, +0x08, 0x00, 0x2A, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x35, 0x2F, 0x2F, 0x2F, 0x31, 0x31, +0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x08, 0x00, 0x3F, 0x00, 0x07, 0x00, 0x10, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x30, 0x30, 0x31, +0x2F, 0x31, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x54, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x2F, +0x2F, 0x2F, 0x30, 0x31, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x69, 0x00, +0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x33, 0x2E, 0x2D, 0x2F, 0x2F, 0x30, 0x36, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, +0x7E, 0x00, 0x07, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x38, 0x32, 0x33, 0x33, 0x34, 0x34, 0x39, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, +0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x02, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, +0x05, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, +0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x06, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, +0x0A, 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x08, 0x00, +0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0A, 0x00, +0x0A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/drivers/input/touchscreen/mms_ts_w_config_fw_rev01.h b/drivers/input/touchscreen/mms_ts_w_config_fw_rev01.h new file mode 100644 index 0000000..235b8e7 --- /dev/null +++ b/drivers/input/touchscreen/mms_ts_w_config_fw_rev01.h @@ -0,0 +1,455 @@ +u8 mms_ts_w_config_fw_rev01[] = { +0x4D, 0x50, 0x53, 0x02, 0x4D, 0x31, 0x48, 0x53, +0x24, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, +0x60, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x40, 0x01, 0x40, 0x01, 0x07, 0x00, 0x07, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x31, 0x36, 0x33, 0x41, 0x58, 0x30, 0x36, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x31, 0x36, 0x33, 0x41, 0x58, 0x30, 0x36, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x23, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x26, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x33, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x34, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x00, 0x00, 0x35, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x05, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x06, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x07, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x09, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x0A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x0B, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x0C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x0E, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x11, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x12, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x14, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x15, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x16, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x01, 0x00, 0x18, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x19, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x1A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x1B, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x01, 0x00, 0x20, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x01, 0x00, 0x21, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x22, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x24, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xBC, 0x02, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x26, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x28, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x2C, 0x00, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x20, 0x24, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x30, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x31, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x32, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x6E, 0x03, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x34, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x36, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x38, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x3A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x3E, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x40, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x42, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x43, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x44, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x45, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x46, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x48, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x4E, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x50, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x52, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x53, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x54, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x55, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x56, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x58, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x5A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xB6, 0x05, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x5C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x6D, 0x01, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x5E, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x60, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x62, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x64, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x66, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x68, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x6A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x6C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x6E, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x70, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x72, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x74, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x76, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x78, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x7A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, +0x01, 0x00, 0x01, 0x00, 0x7C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF, +0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x0B, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x02, 0x03, 0x04, 0x07, 0x08, 0x09, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x06, 0x00, 0x00, 0x00, 0x15, 0x00, +0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x02, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x04, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x05, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x06, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x07, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x08, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x09, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x0A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x0C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x0E, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x10, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x11, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x12, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x14, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x15, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x16, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x07, 0x00, 0x18, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x19, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x1A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x1B, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x1C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x1D, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x1E, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x07, 0x00, 0x20, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x07, 0x00, 0x21, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x22, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x24, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x26, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x28, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x2C, 0x00, 0x04, 0x00, +0x00, 0x00, 0x00, 0x00, 0x20, 0x24, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x30, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x31, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x32, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x34, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x36, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x38, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x3A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x3C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x3E, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x40, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x42, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x43, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x44, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x45, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x46, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x48, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x4A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x4C, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x4E, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x50, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x52, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x53, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x54, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x55, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x56, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x58, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x5A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x91, 0x04, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x5C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x13, 0x01, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x5E, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x60, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x62, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x64, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x66, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x68, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x6A, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x6C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x6E, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x70, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x72, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x74, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x76, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x78, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x7A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, +0x01, 0x00, 0x07, 0x00, 0x7C, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0xE7, 0xFF, 0xFF, 0xFF, +0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3A, 0x36, 0x36, 0x35, 0x35, 0x33, 0x38, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x08, 0x00, 0x15, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x38, 0x30, 0x2F, 0x2E, 0x2E, 0x2C, 0x33, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x08, 0x00, 0x2A, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x38, 0x31, 0x2F, 0x2F, 0x2D, 0x2D, 0x33, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x08, 0x00, 0x3F, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3A, 0x31, 0x2F, 0x2E, 0x2E, 0x2C, 0x31, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x08, 0x00, 0x54, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x38, 0x30, 0x2F, 0x2F, 0x2E, 0x2D, 0x33, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x08, 0x00, 0x69, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x37, 0x31, 0x2F, 0x2F, 0x2E, 0x2C, 0x33, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x02, 0x00, 0x08, 0x00, 0x7E, 0x00, 0x07, 0x00, +0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x41, 0x38, 0x37, 0x35, 0x33, 0x31, 0x34, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x02, 0x00, 0x02, 0x00, +0x00, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x04, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x05, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x06, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x07, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x08, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x09, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, +0x01, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x01, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + +}; diff --git a/drivers/input/touchscreen/mms_ts_w_firmware_rev00.h b/drivers/input/touchscreen/mms_ts_w_firmware_rev00.h new file mode 100644 index 0000000..040e1da --- /dev/null +++ b/drivers/input/touchscreen/mms_ts_w_firmware_rev00.h @@ -0,0 +1,2573 @@ +u8 mms_ts_w_firmware_rev00[] = { +0x4D, 0x42, 0x4E, 0x01, 0x4D, 0x31, 0x48, 0x53, +0x21, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, +0x50, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x01, 0x00, 0x21, 0x00, 0x01, 0x00, 0x0D, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, +0x02, 0x00, 0x08, 0x00, 0x0E, 0x00, 0x13, 0x00, +0x00, 0x38, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, +0x00, 0x18, 0x00, 0x20, 0x55, 0x00, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, +0x21, 0x02, 0x00, 0x00, 0x95, 0x03, 0x00, 0x00, +0x35, 0x02, 0x00, 0x00, 0x0D, 0x02, 0x00, 0x00, +0xE1, 0x03, 0x00, 0x00, 0xF8, 0xB5, 0xFF, 0x23, +0x00, 0x22, 0x1B, 0x04, 0x1A, 0x60, 0xBF, 0xF3, +0x6F, 0x8F, 0x80, 0x22, 0xCD, 0x23, 0xD2, 0x05, +0x13, 0x71, 0x01, 0x33, 0xDB, 0xB2, 0xF2, 0x2B, +0xFA, 0xD1, 0x80, 0x23, 0x0E, 0x22, 0xDB, 0x05, +0x5A, 0x72, 0x4E, 0x49, 0x4E, 0x4B, 0x00, 0x22, +0x00, 0xE0, 0x04, 0xC3, 0x8B, 0x42, 0xFC, 0xD3, +0x4C, 0x4A, 0xFF, 0x23, 0x13, 0x70, 0x4C, 0x4A, +0x4C, 0x49, 0x13, 0x70, 0x4C, 0x4B, 0x48, 0x22, +0x1A, 0x70, 0x4C, 0x4B, 0x1A, 0x68, 0x4C, 0x4B, +0x8A, 0x42, 0x02, 0xD8, 0x92, 0x0A, 0xD2, 0xB2, +0x1A, 0x70, 0x1B, 0x78, 0x80, 0x22, 0x01, 0x33, +0x9B, 0x02, 0xD2, 0x00, 0x18, 0x1F, 0x47, 0x49, +0x03, 0xE0, 0x0D, 0x68, 0x10, 0xCA, 0x2C, 0x19, +0x0C, 0x60, 0x82, 0x42, 0xF9, 0xD3, 0x42, 0x48, +0x5A, 0x1E, 0x00, 0x78, 0x99, 0x1E, 0x12, 0x78, +0x09, 0x78, 0x00, 0x28, 0x0D, 0xD0, 0x3F, 0x48, +0x00, 0x68, 0x00, 0x28, 0x09, 0xD1, 0xFF, 0x2A, +0x07, 0xD0, 0x3D, 0x48, 0x00, 0x78, 0x90, 0x42, +0x03, 0xD1, 0x04, 0x29, 0x01, 0xD1, 0x33, 0x49, +0x0A, 0x70, 0x1A, 0x1C, 0x39, 0x48, 0x3A, 0x49, +0x03, 0xE0, 0x0D, 0x68, 0x10, 0xCA, 0x2C, 0x19, +0x0C, 0x60, 0x82, 0x42, 0xF9, 0xD9, 0x00, 0x21, +0x36, 0x48, 0x0C, 0x1C, 0x10, 0x22, 0x01, 0x3A, +0xD2, 0xB2, 0x9D, 0x18, 0x2D, 0x7C, 0x49, 0x19, +0x85, 0x5C, 0xC9, 0xB2, 0x64, 0x19, 0xE4, 0xB2, +0x00, 0x2A, 0xF4, 0xD1, 0xDD, 0x7F, 0x30, 0x4A, +0x10, 0x78, 0x2A, 0x1C, 0xFF, 0x3A, 0x56, 0x42, +0x72, 0x41, 0x11, 0x43, 0x24, 0x4E, 0x2D, 0x4A, +0x16, 0x60, 0x06, 0x1C, 0xFF, 0x3E, 0x77, 0x42, +0x7E, 0x41, 0x34, 0x43, 0x17, 0xD1, 0x2A, 0x4B, +0x13, 0x60, 0x25, 0x4B, 0x1B, 0x68, 0x00, 0x2B, +0x15, 0xD1, 0x00, 0x29, 0x13, 0xD1, 0x85, 0x42, +0x11, 0xD1, 0x18, 0x4B, 0x25, 0x49, 0x1A, 0x78, +0x09, 0x78, 0x91, 0x42, 0x0B, 0xD1, 0x1B, 0x78, +0xFF, 0x2B, 0x08, 0xD0, 0x14, 0x4B, 0x18, 0x70, +0x00, 0xF0, 0x4E, 0xF9, 0x03, 0xE0, 0x00, 0x29, +0x01, 0xD1, 0x11, 0x33, 0x13, 0x60, 0xA0, 0x23, +0x84, 0x22, 0xDB, 0x05, 0x5A, 0x70, 0x19, 0x4A, +0x12, 0x68, 0x00, 0x2A, 0x03, 0xD0, 0x11, 0x78, +0x80, 0x22, 0x0A, 0x43, 0xDA, 0x70, 0x18, 0x4B, +0x18, 0x4A, 0x13, 0x60, 0x18, 0x4A, 0x13, 0x60, +0x18, 0x4A, 0x13, 0x60, 0x18, 0x4B, 0x04, 0x22, +0x1A, 0x60, 0x02, 0x22, 0x1A, 0x60, 0x62, 0xB6, +0xFE, 0xE7, 0xC0, 0x46, 0x2C, 0x06, 0x00, 0x20, +0x00, 0x00, 0x00, 0x20, 0x29, 0x06, 0x00, 0x20, +0x2A, 0x06, 0x00, 0x20, 0xFF, 0x4F, 0x00, 0x00, +0x28, 0x06, 0x00, 0x20, 0x08, 0x04, 0x00, 0x00, +0x2B, 0x06, 0x00, 0x20, 0x14, 0x00, 0x00, 0x20, +0x0F, 0x04, 0x00, 0x00, 0xEF, 0x4F, 0x00, 0x00, +0x18, 0x00, 0x00, 0x20, 0xF0, 0x4F, 0x00, 0x00, +0xFF, 0x4F, 0x00, 0x00, 0x24, 0x06, 0x00, 0x20, +0xF1, 0x4F, 0x00, 0x00, 0xFE, 0x4F, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, +0x0C, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x20, +0x00, 0xE1, 0x00, 0xE0, 0x03, 0x4A, 0x00, 0x23, +0x13, 0x70, 0x80, 0x22, 0xD2, 0x05, 0x13, 0x70, +0x70, 0x47, 0xC0, 0x46, 0x00, 0x00, 0x00, 0x20, +0x03, 0x4A, 0x00, 0x23, 0x13, 0x70, 0x80, 0x22, +0xD2, 0x05, 0xD3, 0x63, 0x70, 0x47, 0xC0, 0x46, +0x02, 0x00, 0x00, 0x20, 0x7F, 0xB5, 0xA0, 0x23, +0xDB, 0x05, 0x9C, 0x68, 0x64, 0x07, 0x64, 0x0F, +0xE1, 0xB2, 0x02, 0x29, 0x21, 0xD0, 0x04, 0x29, +0x73, 0xD0, 0x00, 0x22, 0x01, 0x29, 0x78, 0xD1, +0x46, 0x49, 0x0A, 0x60, 0x18, 0x7B, 0x46, 0x49, +0x08, 0x60, 0x09, 0x68, 0x5F, 0x29, 0x70, 0xD1, +0x44, 0x22, 0x5A, 0x70, 0x80, 0x22, 0xD2, 0x05, +0x53, 0x69, 0x08, 0x21, 0x0B, 0x43, 0x53, 0x61, +0x13, 0x79, 0x06, 0xE0, 0xCB, 0x2B, 0x01, 0xD8, +0x01, 0x33, 0x00, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, +0x13, 0x71, 0xCC, 0x2B, 0xF6, 0xD1, 0x01, 0x22, +0x5B, 0xE0, 0x3A, 0x4B, 0x1B, 0x78, 0x02, 0x2B, +0x03, 0xD1, 0x36, 0x4B, 0x1A, 0x68, 0x08, 0x32, +0x1A, 0x60, 0x37, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0x33, 0x4B, 0x32, 0x4A, 0x1B, 0x68, 0x11, 0x68, +0xDB, 0xB2, 0x1A, 0x1C, 0x40, 0x32, 0xC9, 0xB2, +0xD2, 0xB2, 0x59, 0x18, 0x0B, 0x2A, 0x15, 0xD8, +0x08, 0x1C, 0xCC, 0x22, 0xC0, 0x38, 0x52, 0x1A, +0x08, 0x2A, 0x00, 0xDD, 0x08, 0x22, 0xD2, 0xB2, +0x2C, 0x49, 0x2D, 0x4B, 0x07, 0xE0, 0x01, 0x3A, +0xD2, 0xB2, 0x0E, 0x68, 0x55, 0x1C, 0x2D, 0x18, +0x75, 0x19, 0x2D, 0x78, 0xD5, 0x54, 0x00, 0x2A, +0xF5, 0xD1, 0x2E, 0xE0, 0x1F, 0x33, 0xDB, 0xB2, +0x00, 0x22, 0x0A, 0x2B, 0x29, 0xD8, 0x01, 0xAB, +0x04, 0x20, 0x18, 0x70, 0x23, 0x48, 0xDA, 0x70, +0x00, 0x78, 0x1A, 0x71, 0x58, 0x70, 0x22, 0x48, +0xDA, 0x71, 0x00, 0x78, 0x1A, 0x72, 0x98, 0x70, +0x01, 0x20, 0x58, 0x71, 0x1F, 0x48, 0xE1, 0x39, +0x05, 0x78, 0x02, 0x78, 0x01, 0x35, 0x5A, 0x72, +0x19, 0x48, 0x13, 0x22, 0x9A, 0x72, 0x9D, 0x71, +0x08, 0x22, 0x01, 0x3A, 0xD2, 0xB2, 0x5D, 0x18, +0xAD, 0x5C, 0x15, 0x54, 0x00, 0x2A, 0xF8, 0xD1, +0x07, 0xE0, 0x17, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0x0C, 0x4B, 0x1A, 0x68, 0x04, 0x32, 0x1A, 0x60, +0x00, 0x22, 0x0C, 0x4B, 0x01, 0x20, 0x1C, 0x70, +0xA0, 0x23, 0xDB, 0x05, 0x19, 0x68, 0x01, 0x43, +0x19, 0x60, 0xC0, 0x46, 0xC0, 0x46, 0xC0, 0x46, +0xC0, 0x46, 0x19, 0x68, 0x10, 0x20, 0x01, 0x43, +0x19, 0x60, 0x00, 0x2A, 0x00, 0xD0, 0xFE, 0xE7, +0x7F, 0xBD, 0xC0, 0x46, 0x1C, 0x06, 0x00, 0x20, +0x20, 0x06, 0x00, 0x20, 0x03, 0x00, 0x00, 0x20, +0x0C, 0x00, 0x00, 0x20, 0x24, 0x06, 0x00, 0x20, +0x10, 0x00, 0x00, 0x50, 0x29, 0x06, 0x00, 0x20, +0x2A, 0x06, 0x00, 0x20, 0x2B, 0x06, 0x00, 0x20, +0x08, 0x00, 0x00, 0x20, 0x10, 0xB5, 0xA0, 0x23, +0x11, 0x22, 0xDB, 0x05, 0x0D, 0x4C, 0x1A, 0x70, +0x22, 0x78, 0x02, 0x2A, 0x01, 0xD1, 0x0C, 0x4B, +0x0E, 0xE0, 0x22, 0x78, 0x00, 0x2A, 0x0D, 0xD0, +0x98, 0x68, 0xF0, 0x22, 0x12, 0x03, 0x80, 0x21, +0x10, 0x40, 0xC9, 0x02, 0x88, 0x42, 0x05, 0xD0, +0x9B, 0x68, 0x13, 0x42, 0x02, 0xD0, 0x05, 0x4B, +0x1B, 0x68, 0x98, 0x47, 0x00, 0x23, 0x23, 0x70, +0x10, 0xBD, 0xC0, 0x46, 0x03, 0x00, 0x00, 0x20, +0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, +0x03, 0x4A, 0x00, 0x23, 0x13, 0x70, 0x80, 0x22, +0xD2, 0x05, 0x93, 0x70, 0x70, 0x47, 0xC0, 0x46, +0x01, 0x00, 0x00, 0x20, 0x70, 0x47, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x04, +0x4D, 0x31, 0x48, 0x53, 0x43, 0x4F, 0x32, 0x31, +0xFF, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, +0xF8, 0xB5, 0x02, 0xF0, 0xA3, 0xFB, 0x03, 0xF0, +0x09, 0xFA, 0xCD, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0xCC, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x15, 0xD0, +0xA0, 0x23, 0x84, 0x22, 0xDB, 0x05, 0x5A, 0x70, +0xC9, 0x4A, 0x12, 0x68, 0x00, 0x2A, 0x03, 0xD0, +0x11, 0x78, 0x80, 0x22, 0x0A, 0x43, 0xDA, 0x70, +0xC6, 0x4B, 0x04, 0x22, 0x1A, 0x60, 0x02, 0x22, +0x1A, 0x60, 0x62, 0xB6, 0xC1, 0x4B, 0x1A, 0x78, +0x00, 0x2A, 0xFC, 0xD1, 0x02, 0xF0, 0x9C, 0xFE, +0xC1, 0x4B, 0x0E, 0x22, 0x1A, 0x70, 0xC1, 0x4B, +0x1A, 0x78, 0x00, 0x2A, 0x2C, 0xD1, 0xC0, 0x49, +0x09, 0x78, 0x48, 0x42, 0x41, 0x41, 0x0E, 0x20, +0x40, 0x1A, 0xBB, 0x49, 0x08, 0x70, 0xBD, 0x49, +0x0A, 0x70, 0x01, 0x22, 0x1A, 0x70, 0x00, 0xF0, +0xE3, 0xFA, 0xBB, 0x4B, 0x9A, 0x78, 0x5A, 0x70, +0xB1, 0x4B, 0x1B, 0x68, 0x98, 0x47, 0x01, 0xF0, +0x6B, 0xFF, 0x01, 0xF0, 0x75, 0xF8, 0x80, 0x23, +0xDB, 0x05, 0x59, 0x6B, 0xB5, 0x4A, 0x0A, 0x40, +0x5A, 0x63, 0x00, 0xF0, 0xE9, 0xFA, 0x02, 0xF0, +0x07, 0xF8, 0x01, 0xF0, 0x69, 0xF8, 0x01, 0xF0, +0x25, 0xF8, 0xB1, 0x48, 0x02, 0xF0, 0x2D, 0xF9, +0xB0, 0x4B, 0x02, 0x20, 0x1B, 0x68, 0x98, 0x47, +0xAF, 0x4D, 0x2B, 0x78, 0x00, 0x2B, 0x03, 0xD1, +0xAE, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x18, 0xD0, +0x00, 0xF0, 0xD8, 0xFA, 0xA2, 0x4C, 0x0E, 0x23, +0x23, 0x70, 0x2B, 0x78, 0x00, 0x2B, 0x0B, 0xD0, +0x00, 0xF0, 0x9C, 0xFF, 0x00, 0x28, 0x07, 0xD0, +0x0F, 0x23, 0x23, 0x70, 0x00, 0xF0, 0xDC, 0xFF, +0x00, 0x28, 0x01, 0xD0, 0x00, 0x23, 0x23, 0x70, +0xA1, 0x4A, 0x00, 0x23, 0x13, 0x70, 0xA1, 0x4A, +0x13, 0x70, 0xA1, 0x4B, 0x96, 0x4A, 0x19, 0x78, +0x49, 0xB2, 0x01, 0x31, 0x03, 0xD0, 0x19, 0x78, +0x11, 0x70, 0xFF, 0x21, 0x19, 0x70, 0x17, 0x78, +0x7B, 0xB2, 0x0E, 0x2B, 0x0C, 0xD0, 0x05, 0xDC, +0x00, 0x2B, 0x64, 0xD0, 0x0D, 0x2B, 0x00, 0xD0, +0x8F, 0xE1, 0x15, 0xE0, 0x0F, 0x2B, 0x2B, 0xD0, +0x11, 0x2B, 0x00, 0xD0, 0x89, 0xE1, 0x39, 0xE0, +0x8B, 0x4B, 0x4D, 0x33, 0x1A, 0x78, 0x0F, 0x2A, +0x01, 0xD9, 0x0F, 0x22, 0x1A, 0x70, 0x89, 0x4B, +0x00, 0x22, 0x1A, 0x70, 0x00, 0xF0, 0x14, 0xFB, +0x8A, 0x4B, 0x1E, 0x20, 0x1B, 0x68, 0x98, 0x47, +0x85, 0x4B, 0x58, 0x78, 0x02, 0xF0, 0xEA, 0xFA, +0x81, 0x4D, 0x28, 0x7B, 0x02, 0xF0, 0x5A, 0xF8, +0x88, 0x4C, 0x20, 0x60, 0x68, 0x7B, 0x02, 0xF0, +0x55, 0xF8, 0x87, 0x4B, 0x60, 0x60, 0x5B, 0x7A, +0x2A, 0x7B, 0x5B, 0xB2, 0x53, 0x43, 0xA3, 0x60, +0x7E, 0x4B, 0x1F, 0x20, 0x1B, 0x68, 0x98, 0x47, +0x78, 0x4B, 0x82, 0x4C, 0x00, 0x22, 0x1A, 0x70, +0x23, 0x78, 0x01, 0x2B, 0x01, 0xD1, 0x02, 0xF0, +0x75, 0xF9, 0x20, 0x78, 0x00, 0xF0, 0x72, 0xFD, +0x01, 0x23, 0x23, 0x70, 0x75, 0x4B, 0x20, 0x20, +0x1B, 0x68, 0x98, 0x47, 0x6F, 0x4B, 0x01, 0x22, +0x1A, 0x70, 0x00, 0xF0, 0x61, 0xFA, 0x01, 0xF0, +0xFF, 0xFF, 0x02, 0xF0, 0xF5, 0xFA, 0x6A, 0x4B, +0x00, 0x25, 0xDC, 0x7D, 0x06, 0xE0, 0x02, 0xF0, +0x5F, 0xFB, 0x00, 0xF0, 0x4D, 0xFA, 0x01, 0xF0, +0xF3, 0xFF, 0x01, 0x35, 0xAC, 0x42, 0xF6, 0xD1, +0x02, 0xF0, 0x9A, 0xFB, 0x00, 0xF0, 0x44, 0xFA, +0x5F, 0x4B, 0x00, 0x22, 0x1A, 0x70, 0x65, 0x4B, +0x21, 0x20, 0x1B, 0x68, 0x98, 0x47, 0x6A, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x10, 0xD0, 0x69, 0x4B, +0x0C, 0x22, 0x1A, 0x70, 0x80, 0x23, 0xDB, 0x05, +0x59, 0x69, 0x08, 0x22, 0x91, 0x43, 0x59, 0x61, +0x59, 0x69, 0x11, 0x42, 0xFC, 0xD0, 0x62, 0x4A, +0x00, 0x23, 0x13, 0x70, 0x62, 0x4A, 0x13, 0x70, +0x00, 0xF0, 0x54, 0xFB, 0x57, 0x4C, 0x03, 0x20, +0x23, 0x68, 0x98, 0x47, 0x5F, 0x4B, 0x01, 0x26, +0x80, 0x25, 0x1E, 0x70, 0xED, 0x05, 0xEA, 0x6B, +0x80, 0x23, 0x5B, 0x04, 0x13, 0x43, 0xEB, 0x63, +0x01, 0xF0, 0xBE, 0xFF, 0x70, 0x42, 0x5A, 0x49, +0x5A, 0x4A, 0x02, 0xF0, 0xFF, 0xFC, 0x23, 0x68, +0x06, 0x20, 0x98, 0x47, 0x02, 0xF0, 0x4A, 0xFC, +0x00, 0x28, 0x07, 0xD1, 0xEB, 0x6B, 0x1B, 0x0E, +0x1B, 0x06, 0x33, 0x43, 0xEB, 0x63, 0x49, 0x4B, +0x1E, 0x70, 0xEB, 0xE0, 0x52, 0x49, 0x00, 0x23, +0x4A, 0x68, 0x9A, 0x42, 0x08, 0xDA, 0x09, 0x68, +0x52, 0x18, 0x3D, 0x49, 0x89, 0x7E, 0x49, 0xB2, +0x8A, 0x42, 0x00, 0xDB, 0x1E, 0x1C, 0x33, 0x1C, +0x4C, 0x4D, 0x04, 0x20, 0x2B, 0x70, 0x23, 0x68, +0x98, 0x47, 0x2B, 0x78, 0x4A, 0x4D, 0x00, 0x2B, +0x0C, 0xD0, 0x2B, 0x68, 0x02, 0x2B, 0x01, 0xDC, +0x01, 0x33, 0x05, 0xE0, 0x00, 0xF0, 0x4E, 0xFB, +0x2F, 0x4B, 0x0F, 0x22, 0x1A, 0x70, 0x00, 0x23, +0x2B, 0x60, 0xB8, 0xE0, 0x2B, 0x60, 0x00, 0xF0, +0xAB, 0xFF, 0x23, 0x68, 0x07, 0x20, 0x98, 0x47, +0x00, 0xF0, 0x78, 0xFF, 0x23, 0x68, 0x09, 0x20, +0x98, 0x47, 0x01, 0xF0, 0x89, 0xFF, 0x3D, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x13, 0xD1, 0x02, 0xF0, +0x09, 0xFD, 0x00, 0x28, 0x0F, 0xD1, 0x00, 0xF0, +0x31, 0xFB, 0x21, 0x4B, 0x0F, 0x22, 0x1A, 0x70, +0x80, 0x23, 0xDB, 0x05, 0xDA, 0x6B, 0x01, 0x21, +0x12, 0x0E, 0x12, 0x06, 0x0A, 0x43, 0xDA, 0x63, +0x01, 0xF0, 0x84, 0xFF, 0xA2, 0xE0, 0x01, 0xF0, +0x81, 0xFF, 0x20, 0x4C, 0x0B, 0x20, 0x23, 0x68, +0x98, 0x47, 0x00, 0xF0, 0x8B, 0xFF, 0x0C, 0x20, +0x23, 0x68, 0x98, 0x47, 0x2C, 0x4B, 0x1B, 0x68, +0x98, 0x47, 0x01, 0xF0, 0xE7, 0xFA, 0x01, 0xF0, +0x23, 0xFC, 0x23, 0x68, 0x0F, 0x20, 0x98, 0x47, +0x01, 0xF0, 0x5E, 0xFD, 0x23, 0x68, 0x10, 0x20, +0x98, 0x47, 0x26, 0x4B, 0x26, 0x49, 0x1A, 0x68, +0x26, 0x4B, 0x00, 0x2A, 0x4C, 0xD0, 0x0C, 0x48, +0x0A, 0x78, 0x3B, 0x30, 0x00, 0x78, 0x90, 0x42, +0x03, 0xD9, 0x01, 0x32, 0x0A, 0x70, 0x01, 0x22, +0x43, 0xE0, 0x00, 0x22, 0x41, 0xE0, 0xC0, 0x46, +0x54, 0x06, 0x00, 0x20, 0x2C, 0x06, 0x00, 0x20, +0x24, 0x06, 0x00, 0x20, 0x00, 0xE1, 0x00, 0xE0, +0x61, 0x0A, 0x00, 0x20, 0xB0, 0x06, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0xAE, 0x06, 0x00, 0x20, +0x80, 0x0B, 0x00, 0x20, 0xFF, 0xC0, 0xFF, 0xFF, +0x20, 0x4E, 0x00, 0x00, 0xB0, 0x07, 0x00, 0x20, +0xB1, 0x06, 0x00, 0x20, 0xB2, 0x06, 0x00, 0x20, +0x39, 0x06, 0x00, 0x20, 0x38, 0x09, 0x00, 0x20, +0x48, 0x0B, 0x00, 0x20, 0xAF, 0x06, 0x00, 0x20, +0xB4, 0x06, 0x00, 0x20, 0x00, 0x13, 0x00, 0x20, +0xAC, 0x06, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, +0x44, 0x09, 0x00, 0x20, 0xA0, 0x0C, 0x00, 0x20, +0xF4, 0x06, 0x00, 0x20, 0x10, 0x09, 0x00, 0x20, +0xF0, 0x06, 0x00, 0x20, 0xEC, 0x06, 0x00, 0x20, +0xAC, 0x07, 0x00, 0x20, 0xBC, 0x0D, 0x00, 0x20, +0x91, 0x07, 0x00, 0x20, 0x92, 0x07, 0x00, 0x20, +0x0A, 0x70, 0x1A, 0x70, 0x1B, 0x78, 0x00, 0x2B, +0x07, 0xD0, 0x80, 0x23, 0xDB, 0x05, 0xDA, 0x6B, +0x01, 0x21, 0x12, 0x0E, 0x12, 0x06, 0x0A, 0x43, +0xDA, 0x63, 0x7A, 0x4C, 0x11, 0x20, 0x23, 0x68, +0x98, 0x47, 0x00, 0xF0, 0xAD, 0xFA, 0x00, 0x28, +0x20, 0xD0, 0x23, 0x68, 0x12, 0x20, 0x98, 0x47, +0x75, 0x4D, 0x2B, 0x78, 0x00, 0x2B, 0x13, 0xD0, +0x00, 0xF0, 0x98, 0xFA, 0x2C, 0x78, 0x00, 0x2C, +0xFC, 0xD1, 0x02, 0xF0, 0xBD, 0xFC, 0x71, 0x4B, +0x1C, 0x70, 0x71, 0x4B, 0x1C, 0x70, 0x80, 0x23, +0xDB, 0x05, 0xDA, 0x6B, 0x01, 0x21, 0x12, 0x0E, +0x12, 0x06, 0x0A, 0x43, 0xDA, 0x63, 0x05, 0xE0, +0x23, 0x68, 0x13, 0x20, 0x98, 0x47, 0x6B, 0x4B, +0x1B, 0x68, 0x98, 0x47, 0x00, 0xF0, 0xBE, 0xFB, +0x69, 0x4B, 0x00, 0x20, 0x18, 0x56, 0x00, 0xF0, +0x75, 0xFB, 0x62, 0x4B, 0x15, 0x20, 0x1B, 0x68, +0x98, 0x47, 0x66, 0x4B, 0x1F, 0x70, 0x66, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x00, 0xD1, 0xFE, 0xE5, +0x64, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x00, 0xD0, +0xA7, 0xE0, 0xF8, 0xE5, 0x62, 0x4B, 0x19, 0x78, +0x49, 0xB2, 0x01, 0x31, 0x00, 0xD1, 0xA2, 0xE0, +0x1C, 0x78, 0x60, 0xB2, 0x02, 0x28, 0x6B, 0xD0, +0x05, 0xDC, 0x00, 0x28, 0x09, 0xD0, 0x01, 0x28, +0x00, 0xD0, 0x85, 0xE0, 0x5D, 0xE0, 0x04, 0x28, +0x73, 0xD0, 0x6B, 0xDB, 0x06, 0x28, 0x7F, 0xD1, +0x3E, 0xE0, 0x80, 0x22, 0xD2, 0x05, 0x08, 0x23, +0x51, 0x69, 0x19, 0x42, 0xFC, 0xD0, 0x55, 0x4A, +0x01, 0x23, 0x13, 0x70, 0x54, 0x4A, 0x55, 0x49, +0x13, 0x70, 0x55, 0x4A, 0x55, 0x4C, 0x10, 0x68, +0x01, 0x40, 0x80, 0x20, 0x98, 0x40, 0x01, 0x43, +0x11, 0x60, 0x53, 0x4A, 0x20, 0x1C, 0x13, 0x60, +0x52, 0x4A, 0x53, 0x49, 0x13, 0x70, 0x78, 0x22, +0x02, 0xF0, 0x0A, 0xFE, 0x2B, 0x78, 0x00, 0x2B, +0x04, 0xD0, 0x20, 0x1C, 0x4F, 0x49, 0x0C, 0x22, +0x02, 0xF0, 0x02, 0xFE, 0x3B, 0x4B, 0x17, 0x20, +0x1B, 0x68, 0x98, 0x47, 0x00, 0xF0, 0xAC, 0xF8, +0x46, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x02, 0xD0, +0x00, 0xF0, 0x3E, 0xF9, 0x02, 0xE0, 0x48, 0x4B, +0x9A, 0x78, 0x5A, 0x70, 0x01, 0xF0, 0x9A, 0xFD, +0x02, 0xF0, 0x10, 0xF8, 0x02, 0xF0, 0x6C, 0xF8, +0x00, 0x20, 0x00, 0xF0, 0xB7, 0xFB, 0x3F, 0xE0, +0x00, 0x23, 0x13, 0x70, 0x3C, 0x4A, 0x01, 0x23, +0x13, 0x60, 0x3C, 0x4A, 0x39, 0x48, 0x13, 0x70, +0x3E, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x01, 0xD0, +0x3D, 0x49, 0x00, 0xE0, 0x38, 0x49, 0x78, 0x22, +0x02, 0xF0, 0xD6, 0xFD, 0x25, 0x4B, 0x18, 0x20, +0x1B, 0x68, 0x98, 0x47, 0x01, 0x22, 0x39, 0x4B, +0x0E, 0xE0, 0x00, 0xF0, 0xC1, 0xFC, 0x21, 0x4B, +0x19, 0x20, 0x1B, 0x68, 0x98, 0x47, 0x1D, 0xE0, +0x00, 0xF0, 0xBA, 0xFC, 0x1D, 0x4B, 0x1A, 0x20, +0x1B, 0x68, 0x98, 0x47, 0x2B, 0x4B, 0x01, 0x22, +0x1A, 0x70, 0x15, 0xE0, 0x00, 0x20, 0x00, 0xF0, +0xAF, 0xFC, 0x18, 0x4B, 0x1B, 0x20, 0x1B, 0x68, +0xF3, 0xE7, 0x2D, 0x4B, 0x2D, 0x48, 0x19, 0x68, +0x2D, 0x4B, 0x00, 0x68, 0x1A, 0x68, 0x2D, 0x4B, +0x0A, 0x43, 0x1B, 0x68, 0xC3, 0x18, 0x9A, 0x1A, +0x1F, 0x4B, 0x1A, 0x60, 0x1F, 0x4B, 0x1C, 0x70, +0x29, 0x4B, 0x1D, 0x4A, 0x1A, 0x60, 0x23, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x05, 0xD1, 0x80, 0x23, +0xDB, 0x05, 0x5A, 0x69, 0x08, 0x21, 0x8A, 0x43, +0x5A, 0x61, 0x11, 0x4B, 0xFF, 0x22, 0x1A, 0x70, +0x01, 0xE0, 0x22, 0x4D, 0x35, 0x35, 0x0D, 0x4A, +0x13, 0x78, 0x00, 0x2B, 0x00, 0xD0, 0x51, 0xE7, +0x04, 0x4A, 0x13, 0x70, 0x04, 0x4A, 0x13, 0x70, +0x45, 0xE5, 0xC0, 0x46, 0xB0, 0x07, 0x00, 0x20, +0x2C, 0x06, 0x00, 0x20, 0xB0, 0x06, 0x00, 0x20, +0xAF, 0x06, 0x00, 0x20, 0xB8, 0x07, 0x00, 0x20, +0xEB, 0x06, 0x00, 0x20, 0x3A, 0x06, 0x00, 0x20, +0xAE, 0x06, 0x00, 0x20, 0xB3, 0x06, 0x00, 0x20, +0x98, 0x0C, 0x00, 0x20, 0xAC, 0x06, 0x00, 0x20, +0x9C, 0x0D, 0x00, 0x20, 0xFF, 0xF8, 0xFF, 0xFF, +0x00, 0x13, 0x00, 0x20, 0x24, 0x0D, 0x00, 0x20, +0x14, 0x09, 0x00, 0x20, 0x05, 0x0B, 0x00, 0x20, +0x84, 0x12, 0x00, 0x20, 0x2C, 0x09, 0x00, 0x20, +0x80, 0x0B, 0x00, 0x20, 0xD0, 0x06, 0x00, 0x20, +0xA4, 0x0C, 0x00, 0x20, 0xB4, 0x06, 0x00, 0x20, +0x18, 0x00, 0x00, 0x20, 0xEC, 0x4F, 0x00, 0x00, +0x14, 0x00, 0x00, 0x20, 0xF8, 0x37, 0x00, 0x00, +0xFC, 0x10, 0x00, 0x20, 0x48, 0x0B, 0x00, 0x20, +0x10, 0xB5, 0x02, 0xF0, 0xCB, 0xFB, 0x05, 0x4C, +0x00, 0x20, 0x23, 0x68, 0x98, 0x47, 0x02, 0xF0, +0x09, 0xFC, 0x23, 0x68, 0x01, 0x20, 0x98, 0x47, +0x10, 0xBD, 0xC0, 0x46, 0xB0, 0x07, 0x00, 0x20, +0x08, 0xB5, 0x80, 0x23, 0x01, 0x22, 0xDB, 0x05, +0x5A, 0x70, 0x01, 0xF0, 0x03, 0xFE, 0x08, 0xBD, +0x08, 0xB5, 0x01, 0xF0, 0x9D, 0xFD, 0xFF, 0xF7, +0xF3, 0xFF, 0x08, 0xBD, 0x70, 0xB5, 0x31, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x0C, 0xD0, 0x30, 0x4B, +0x1B, 0x68, 0x98, 0x47, 0x01, 0xF0, 0xD4, 0xF8, +0x01, 0xF0, 0xBC, 0xFA, 0x80, 0x23, 0xDB, 0x05, +0x5A, 0x69, 0x08, 0x21, 0x0A, 0x43, 0x5A, 0x61, +0x80, 0x24, 0xE4, 0x05, 0xA2, 0x68, 0x29, 0x4B, +0x29, 0x4D, 0x13, 0x40, 0xA3, 0x60, 0xA3, 0x68, +0x2B, 0x40, 0xA3, 0x60, 0xA2, 0x68, 0x27, 0x4B, +0x13, 0x40, 0xA3, 0x60, 0x21, 0x4B, 0x1B, 0x78, +0x00, 0x2B, 0x15, 0xD0, 0x23, 0x68, 0x24, 0x4E, +0x80, 0x22, 0x52, 0x04, 0x33, 0x40, 0x13, 0x43, +0x23, 0x60, 0x01, 0xF0, 0x0D, 0xFE, 0x63, 0x68, +0x1D, 0x40, 0x65, 0x60, 0xBF, 0xF3, 0x6F, 0x8F, +0xFA, 0x20, 0xC0, 0x00, 0x01, 0xF0, 0x11, 0xFE, +0x23, 0x68, 0x1E, 0x40, 0x26, 0x60, 0x0C, 0xE0, +0x1A, 0x48, 0x01, 0xF0, 0x0A, 0xFE, 0x1A, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x05, 0xD1, 0x19, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x01, 0xD1, 0x01, 0xF0, +0x2B, 0xFC, 0x80, 0x23, 0xDB, 0x05, 0x99, 0x68, +0x80, 0x22, 0x92, 0x00, 0x0A, 0x43, 0x9A, 0x60, +0x99, 0x68, 0x80, 0x22, 0x12, 0x01, 0x0A, 0x43, +0x9A, 0x60, 0x99, 0x68, 0x80, 0x22, 0xD2, 0x00, +0x0A, 0x43, 0x9A, 0x60, 0x0E, 0x48, 0x01, 0xF0, +0xEC, 0xFD, 0x04, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x03, 0xD0, 0x0C, 0x4B, 0x16, 0x20, 0x1B, 0x68, +0x98, 0x47, 0x70, 0xBD, 0xB1, 0x06, 0x00, 0x20, +0x54, 0x06, 0x00, 0x20, 0xFF, 0xFD, 0xFF, 0xFF, +0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xF0, 0x40, 0x42, 0x0F, 0x00, +0xB3, 0x06, 0x00, 0x20, 0xB5, 0x06, 0x00, 0x20, +0x20, 0x4E, 0x00, 0x00, 0xB0, 0x07, 0x00, 0x20, +0xF0, 0xB5, 0x80, 0x23, 0xDB, 0x05, 0x59, 0x6B, +0x45, 0x4A, 0x85, 0xB0, 0x0A, 0x40, 0x5A, 0x63, +0x08, 0x22, 0x59, 0x69, 0x11, 0x42, 0xFC, 0xD0, +0x42, 0x4D, 0x2E, 0x1C, 0x4D, 0x36, 0x34, 0x78, +0x64, 0x00, 0x1D, 0xE0, 0x40, 0x4B, 0x30, 0x78, +0x9B, 0x78, 0x20, 0x1A, 0x18, 0x18, 0x01, 0xF0, +0xC5, 0xFF, 0xFF, 0xF7, 0x65, 0xFF, 0x3D, 0x4B, +0xA8, 0x79, 0xDB, 0x78, 0x0D, 0xE0, 0x01, 0x3B, +0xDB, 0xB2, 0x3B, 0x49, 0x5F, 0x1C, 0x7F, 0x00, +0x7F, 0x5A, 0x3A, 0x49, 0xBC, 0x46, 0x5F, 0x01, +0x3F, 0x19, 0x62, 0x46, 0xBF, 0x00, 0x02, 0x41, +0x7A, 0x50, 0x00, 0x2B, 0xEF, 0xD1, 0x01, 0x3C, +0x62, 0x1C, 0xDF, 0xD1, 0x2B, 0x1C, 0x4C, 0x33, +0x1B, 0x78, 0x00, 0x26, 0x01, 0x93, 0x2A, 0xE0, +0x31, 0x4D, 0x2B, 0x78, 0x00, 0x25, 0x5B, 0x00, +0x00, 0x93, 0x1C, 0x1C, 0x20, 0xE0, 0x2E, 0x49, +0x29, 0x4B, 0x08, 0x78, 0x9B, 0x78, 0x20, 0x1A, +0x18, 0x18, 0x01, 0xF0, 0x97, 0xFF, 0x03, 0xAF, +0xFF, 0xF7, 0x36, 0xFF, 0x00, 0x22, 0x3A, 0x80, +0x6A, 0x46, 0x0E, 0x32, 0x00, 0x23, 0x13, 0x80, +0x39, 0x1C, 0x20, 0x1C, 0x02, 0xF0, 0x12, 0xFA, +0x00, 0x99, 0x24, 0x4B, 0x4A, 0x00, 0xD2, 0x18, +0x51, 0x5B, 0x3B, 0x88, 0x8B, 0x42, 0x00, 0xDA, +0x0B, 0x1C, 0x53, 0x53, 0x01, 0x3C, 0x02, 0x3D, +0x62, 0x1C, 0xDC, 0xD1, 0x01, 0x36, 0x01, 0x9D, +0xB5, 0x42, 0xD1, 0xD1, 0x01, 0xF0, 0x38, 0xFC, +0x14, 0x4D, 0x1B, 0x4A, 0x4D, 0x35, 0x2C, 0x78, +0x17, 0x78, 0x1A, 0x4A, 0x63, 0x00, 0x17, 0x49, +0x16, 0x78, 0x5A, 0x1E, 0x03, 0x3B, 0x5B, 0x00, +0x5B, 0x18, 0x17, 0x48, 0x00, 0x21, 0x0E, 0xE0, +0x1D, 0x88, 0xAC, 0x46, 0x9D, 0x88, 0x65, 0x44, +0x7D, 0x43, 0xAC, 0x46, 0x5D, 0x88, 0x75, 0x43, +0x65, 0x44, 0xA8, 0x42, 0x01, 0xDB, 0x11, 0x1B, +0xA8, 0xB2, 0x01, 0x3A, 0x02, 0x3B, 0x00, 0x2A, +0xEE, 0xD1, 0x05, 0x4B, 0x05, 0xB0, 0x9A, 0x78, +0x51, 0x18, 0xC9, 0xB2, 0x59, 0x70, 0xF0, 0xBD, +0xFF, 0xC0, 0xFF, 0xFF, 0x24, 0x0D, 0x00, 0x20, +0x80, 0x0B, 0x00, 0x20, 0x43, 0x0A, 0x00, 0x20, +0x00, 0x08, 0x00, 0x40, 0x1C, 0x00, 0x00, 0x20, +0x71, 0x0D, 0x00, 0x20, 0xB8, 0x0A, 0x00, 0x20, +0x3D, 0x06, 0x00, 0x20, 0x3C, 0x06, 0x00, 0x20, +0xFF, 0xFF, 0x00, 0x00, 0x00, 0xB5, 0x18, 0x4B, +0x18, 0x4A, 0x18, 0x78, 0x41, 0xB2, 0x4B, 0x1C, +0x03, 0xD0, 0x17, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x04, 0xD0, 0x00, 0x23, 0x13, 0x60, 0x98, 0x42, +0x0E, 0xD1, 0x14, 0xE0, 0x13, 0x4B, 0x10, 0x68, +0x9B, 0x68, 0x98, 0x42, 0x01, 0xDA, 0x01, 0x30, +0x10, 0x60, 0x01, 0x29, 0x0B, 0xD0, 0x0D, 0x4A, +0x12, 0x68, 0x9A, 0x42, 0x07, 0xDB, 0x01, 0x23, +0x0C, 0x49, 0x9A, 0x00, 0x89, 0x58, 0x0C, 0x4A, +0x11, 0x60, 0x07, 0x4A, 0x13, 0x70, 0x0A, 0x4B, +0x19, 0x68, 0x80, 0x23, 0xDB, 0x05, 0xDA, 0x6B, +0x09, 0x02, 0x12, 0x0E, 0x09, 0x0A, 0x12, 0x06, +0x0A, 0x43, 0xDA, 0x63, 0x00, 0xBD, 0xC0, 0x46, +0x3B, 0x06, 0x00, 0x20, 0x50, 0x06, 0x00, 0x20, +0x95, 0x07, 0x00, 0x20, 0x38, 0x09, 0x00, 0x20, +0x04, 0x00, 0x00, 0x20, 0x08, 0xB5, 0x00, 0xF0, +0x7F, 0xFF, 0x02, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0x08, 0xBD, 0xC0, 0x46, 0xB8, 0x07, 0x00, 0x20, +0xF7, 0xB5, 0x64, 0x4B, 0x64, 0x4A, 0x1B, 0x78, +0x00, 0x21, 0xDE, 0xB2, 0x00, 0x2E, 0x04, 0xD1, +0x11, 0x68, 0x62, 0x48, 0x81, 0x42, 0x01, 0xD0, +0x01, 0x31, 0x11, 0x60, 0x60, 0x4A, 0x00, 0x21, +0x11, 0x70, 0x8E, 0x42, 0x31, 0xD1, 0x5F, 0x49, +0x08, 0x78, 0x00, 0x28, 0x0A, 0xD0, 0x0A, 0x78, +0x01, 0x23, 0x52, 0xB2, 0x02, 0x2A, 0x00, 0xD1, +0x13, 0x1C, 0x59, 0x4A, 0x13, 0x70, 0x00, 0x23, +0x0B, 0x70, 0xA4, 0xE0, 0x58, 0x49, 0x08, 0x78, +0x00, 0x28, 0x03, 0xD0, 0x01, 0x20, 0x10, 0x70, +0x0B, 0x70, 0x99, 0xE0, 0x55, 0x4B, 0x18, 0x68, +0x00, 0x28, 0x06, 0xDD, 0x01, 0x38, 0x18, 0x60, +0x01, 0x28, 0x12, 0xD1, 0x1E, 0x60, 0x03, 0x23, +0x8F, 0xE0, 0x51, 0x4A, 0x51, 0x49, 0x4E, 0x32, +0x12, 0x88, 0x8A, 0x42, 0x09, 0xD0, 0x50, 0x49, +0x09, 0x88, 0x91, 0x42, 0x05, 0xD3, 0x46, 0x4A, +0x12, 0x68, 0x31, 0x2A, 0x01, 0xDD, 0x32, 0x22, +0x1A, 0x60, 0x4C, 0x4B, 0x00, 0x20, 0x18, 0x56, +0x01, 0x28, 0x00, 0xD1, 0x7C, 0xE0, 0x00, 0x2E, +0x18, 0xD1, 0x49, 0x49, 0x49, 0x4A, 0x0B, 0x1C, +0x32, 0x33, 0x1B, 0x78, 0x12, 0x68, 0x9A, 0x42, +0x0B, 0xDB, 0x47, 0x4B, 0x33, 0x31, 0x1A, 0x68, +0x01, 0x32, 0x1A, 0x60, 0x09, 0x78, 0x8A, 0x42, +0x03, 0xDB, 0x1E, 0x60, 0x38, 0x4B, 0x02, 0x22, +0x1A, 0x70, 0x42, 0x4A, 0x00, 0x23, 0x13, 0x70, +0x3E, 0x4A, 0x26, 0xE0, 0x37, 0x4B, 0x00, 0x22, +0x1A, 0x60, 0x3F, 0x4B, 0x1B, 0x78, 0x93, 0x42, +0x20, 0xD0, 0x37, 0x4B, 0x38, 0x49, 0x18, 0x88, +0x0A, 0x8E, 0x3A, 0x4B, 0x90, 0x42, 0x12, 0xD2, +0x3A, 0x4A, 0x10, 0x88, 0x30, 0x4A, 0x50, 0x32, +0x12, 0x78, 0x90, 0x42, 0x0B, 0xD2, 0x1B, 0x78, +0x00, 0x2B, 0x0F, 0xD1, 0x31, 0x4B, 0x32, 0x31, +0x1A, 0x68, 0x09, 0x78, 0x8A, 0x42, 0x09, 0xDA, +0x01, 0x32, 0x1A, 0x60, 0x06, 0xE0, 0x01, 0x22, +0x1A, 0x70, 0x2C, 0x4A, 0x00, 0x23, 0x13, 0x60, +0x2B, 0x4A, 0x13, 0x60, 0x2C, 0x4B, 0x01, 0x20, +0x1B, 0x78, 0x00, 0x2B, 0x34, 0xD1, 0x2C, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x2C, 0xD0, 0x1E, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x2C, 0xD1, 0x22, 0x4C, +0x28, 0x4D, 0xE7, 0x8C, 0xA1, 0x8D, 0xE2, 0x8D, +0xA3, 0x8C, 0x28, 0x68, 0x00, 0x97, 0x02, 0xF0, +0x4F, 0xFA, 0x23, 0x8D, 0xA1, 0x8D, 0xE2, 0x8D, +0x64, 0x8D, 0x07, 0x1C, 0x28, 0x68, 0x00, 0x94, +0x02, 0xF0, 0x46, 0xFA, 0x16, 0x4B, 0x1B, 0x88, +0xBB, 0x42, 0x03, 0xDA, 0x1B, 0x4B, 0x1B, 0x88, +0x83, 0x42, 0x02, 0xDB, 0x1C, 0x4B, 0x01, 0x22, +0x1A, 0x70, 0x00, 0x2E, 0x0B, 0xD0, 0x1A, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x07, 0xD0, 0x0A, 0x4B, +0x01, 0x22, 0x1A, 0x70, 0x00, 0x20, 0x03, 0xE0, +0x15, 0x4A, 0x13, 0x70, 0x00, 0xE0, 0x01, 0x20, +0xFE, 0xBD, 0xC0, 0x46, 0xBC, 0x0D, 0x00, 0x20, +0xE4, 0x06, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x7F, +0xEB, 0x06, 0x00, 0x20, 0xD1, 0x06, 0x00, 0x20, +0xE9, 0x06, 0x00, 0x20, 0xE0, 0x06, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0xFF, 0xFF, 0x00, 0x00, +0x44, 0x09, 0x00, 0x20, 0x42, 0x0A, 0x00, 0x20, +0x48, 0x0B, 0x00, 0x20, 0xD4, 0x06, 0x00, 0x20, +0xDC, 0x06, 0x00, 0x20, 0xD8, 0x06, 0x00, 0x20, +0xD0, 0x06, 0x00, 0x20, 0xA0, 0x0C, 0x00, 0x20, +0x04, 0x08, 0x00, 0x20, 0xF4, 0x06, 0x00, 0x20, +0xEA, 0x06, 0x00, 0x20, 0x38, 0xB5, 0x03, 0x1E, +0x2E, 0xDD, 0x02, 0x2B, 0x05, 0xDD, 0x03, 0x2B, +0x2A, 0xD1, 0x16, 0x4B, 0x0E, 0x22, 0x1A, 0x70, +0x26, 0xE0, 0x15, 0x48, 0x15, 0x4D, 0x16, 0x4C, +0x02, 0x2B, 0x08, 0xD1, 0x15, 0x49, 0x78, 0x22, +0x02, 0xF0, 0xC6, 0xFA, 0x00, 0x23, 0x2B, 0x70, +0x0E, 0x20, 0x23, 0x68, 0x07, 0xE0, 0x12, 0x49, +0x78, 0x22, 0x02, 0xF0, 0xBD, 0xFA, 0x01, 0x23, +0x2B, 0x70, 0x23, 0x68, 0x0D, 0x20, 0x98, 0x47, +0xFF, 0xF7, 0x66, 0xFD, 0x0D, 0x4B, 0x07, 0x4A, +0x34, 0x33, 0x1B, 0x78, 0x13, 0x70, 0x0E, 0x2B, +0x04, 0xD1, 0x0B, 0x4B, 0x9A, 0x78, 0x5A, 0x70, +0x01, 0xF0, 0x54, 0xFA, 0x01, 0xF0, 0xCA, 0xFC, +0x38, 0xBD, 0xC0, 0x46, 0x61, 0x0A, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0xD0, 0x06, 0x00, 0x20, +0xB0, 0x07, 0x00, 0x20, 0x84, 0x12, 0x00, 0x20, +0xA4, 0x0C, 0x00, 0x20, 0x48, 0x0B, 0x00, 0x20, +0x80, 0x0B, 0x00, 0x20, 0xF0, 0xB5, 0x80, 0x23, +0xDB, 0x05, 0x01, 0x22, 0x5A, 0x70, 0x85, 0xB0, +0x01, 0xF0, 0x58, 0xFB, 0x26, 0x4B, 0x1B, 0x78, +0x5B, 0xB2, 0x01, 0x2B, 0x44, 0xD1, 0x25, 0x4A, +0x00, 0x21, 0x13, 0x7B, 0xD5, 0x7A, 0x24, 0x4A, +0x94, 0x79, 0xD2, 0x7A, 0xA4, 0x46, 0x02, 0x92, +0x22, 0x4A, 0x12, 0x68, 0x03, 0x92, 0x20, 0xE0, +0x01, 0x3B, 0x21, 0x4C, 0xDB, 0xB2, 0x58, 0x01, +0x00, 0x19, 0x38, 0x5A, 0x02, 0x9C, 0x66, 0x46, +0x30, 0x41, 0x00, 0x2C, 0x08, 0xD0, 0x00, 0x9E, +0x1C, 0x4C, 0xF6, 0x18, 0x01, 0x96, 0x34, 0x5D, +0x03, 0x9E, 0x60, 0x43, 0x70, 0x43, 0x00, 0x13, +0x54, 0x01, 0xE4, 0x18, 0x18, 0x4E, 0xA4, 0x00, +0xA6, 0x59, 0x34, 0x0C, 0x00, 0x1B, 0x81, 0x42, +0x00, 0xDA, 0x01, 0x1C, 0x00, 0x2B, 0xDF, 0xD1, +0x13, 0x1C, 0x5A, 0x1E, 0xD2, 0xB2, 0x00, 0x2B, +0x06, 0xD0, 0x15, 0x26, 0x56, 0x43, 0x57, 0x1C, +0x2B, 0x1C, 0x7F, 0x00, 0x00, 0x96, 0xF1, 0xE7, +0x09, 0x4B, 0xDB, 0x7E, 0x99, 0x42, 0x07, 0xDB, +0x80, 0x23, 0xDB, 0x05, 0xDA, 0x6B, 0x01, 0x21, +0x12, 0x0E, 0x12, 0x06, 0x0A, 0x43, 0xDA, 0x63, +0x01, 0xF0, 0xFC, 0xFA, 0x05, 0xB0, 0xF0, 0xBD, +0x3B, 0x06, 0x00, 0x20, 0x48, 0x0B, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0x20, 0x0B, 0x00, 0x20, +0x20, 0x08, 0x00, 0x40, 0x46, 0x09, 0x00, 0x20, +0x1C, 0x00, 0x00, 0x20, 0xF0, 0xB5, 0x91, 0xB0, +0x87, 0x4D, 0x05, 0x90, 0x69, 0x79, 0x80, 0x23, +0xDB, 0x05, 0x7F, 0x22, 0x11, 0x40, 0x85, 0x4C, +0x9A, 0x6B, 0x09, 0x06, 0x22, 0x40, 0x0A, 0x43, +0x9A, 0x63, 0xC0, 0x22, 0xD2, 0x00, 0x82, 0x48, +0xFF, 0x21, 0x02, 0xF0, 0x5B, 0xFA, 0x05, 0x9C, +0x80, 0x4A, 0x00, 0x2C, 0x0C, 0xD0, 0xEB, 0x7C, +0x52, 0x68, 0x59, 0xB2, 0x91, 0x42, 0x01, 0xDB, +0x53, 0x1E, 0xDB, 0xB2, 0x5A, 0x42, 0xD2, 0xB2, +0x07, 0x92, 0x03, 0x93, 0x00, 0x25, 0x0C, 0xE0, +0x53, 0x68, 0x5B, 0x00, 0x5B, 0x42, 0x1F, 0x1C, +0x08, 0x37, 0x01, 0xDA, 0x08, 0x23, 0x5B, 0x42, +0xDB, 0xB2, 0xFF, 0x24, 0x07, 0x93, 0x03, 0x94, +0x02, 0x25, 0x03, 0x9F, 0x06, 0x95, 0x02, 0x97, +0x00, 0x24, 0x81, 0xE0, 0x20, 0x1C, 0x31, 0x1C, +0x3A, 0x1C, 0x01, 0xF0, 0x45, 0xFB, 0x01, 0x34, +0x04, 0xE0, 0x68, 0x46, 0x18, 0x21, 0x6C, 0x4D, +0x0F, 0x56, 0x00, 0x24, 0xAB, 0x78, 0x9C, 0x42, +0xF0, 0xDB, 0xFF, 0xF7, 0xB1, 0xFC, 0xEA, 0x78, +0xAD, 0x78, 0x63, 0x49, 0x6C, 0x1E, 0x08, 0x94, +0x14, 0x27, 0xCF, 0x57, 0x15, 0x20, 0x50, 0x43, +0x53, 0x1E, 0x0B, 0x97, 0x17, 0x26, 0x89, 0x79, +0x5E, 0x43, 0x0C, 0x91, 0x61, 0x49, 0x0A, 0x90, +0x40, 0x19, 0x76, 0x18, 0x0F, 0x90, 0x00, 0x21, +0xAC, 0x46, 0x51, 0xE0, 0x08, 0x9A, 0x5C, 0x01, +0x0F, 0x9F, 0x14, 0x19, 0x58, 0x4D, 0xA4, 0x00, +0x7F, 0x18, 0x64, 0x19, 0x00, 0x20, 0x0E, 0x97, +0x41, 0xE0, 0x05, 0x9D, 0x00, 0x2D, 0x0D, 0xD0, +0x0B, 0x9D, 0xB7, 0x56, 0x7F, 0x19, 0x09, 0x97, +0x0C, 0x25, 0x6F, 0x46, 0x7D, 0x57, 0x04, 0x9F, +0xED, 0x1B, 0x09, 0x9F, 0x7D, 0x19, 0x08, 0x35, +0x07, 0x2D, 0x2D, 0xD8, 0x67, 0x46, 0x7D, 0x00, +0x4F, 0x4F, 0xED, 0x19, 0x2D, 0x18, 0x5F, 0x1C, +0x7F, 0x00, 0x2D, 0x01, 0x7D, 0x5B, 0x0C, 0x9F, +0x3D, 0x41, 0x01, 0x95, 0x01, 0x9F, 0x25, 0x68, +0x09, 0x95, 0xBD, 0x42, 0x1C, 0xD3, 0x0E, 0x9D, +0x48, 0x4F, 0x6D, 0x00, 0x7F, 0x19, 0x3F, 0x18, +0x02, 0x3F, 0x09, 0x9D, 0x0D, 0x97, 0x01, 0x9F, +0xED, 0x1B, 0x09, 0x95, 0x24, 0x27, 0x6D, 0x46, +0x7F, 0x5B, 0x0D, 0x9D, 0x2F, 0x80, 0x01, 0x9D, +0x0A, 0x9F, 0x25, 0x60, 0x40, 0x4D, 0x15, 0x3D, +0xED, 0x19, 0x6D, 0x18, 0x09, 0x95, 0x08, 0x27, +0x6D, 0x46, 0x7F, 0x5D, 0x09, 0x9D, 0xAF, 0x54, +0x01, 0x3A, 0x02, 0x38, 0x04, 0x3C, 0x55, 0x1C, +0xBB, 0xD1, 0x01, 0x3B, 0x17, 0x3E, 0x15, 0x39, +0x5F, 0x1C, 0xAB, 0xD1, 0x02, 0x9B, 0x04, 0x9C, +0x01, 0x3B, 0xDB, 0xB2, 0x02, 0x93, 0x01, 0x34, +0x6D, 0x46, 0x08, 0x27, 0x1C, 0x20, 0x7E, 0x57, +0x43, 0x57, 0x04, 0x94, 0x9E, 0x42, 0x00, 0xDB, +0x7B, 0xE7, 0x27, 0x49, 0x2A, 0x4A, 0x0E, 0x7D, +0x89, 0x7C, 0x93, 0x78, 0x14, 0x78, 0x55, 0x78, +0x02, 0x91, 0xD2, 0x78, 0x15, 0x21, 0x01, 0x3A, +0x51, 0x43, 0x29, 0x48, 0x25, 0x4F, 0x09, 0x18, +0x17, 0x20, 0x50, 0x43, 0x01, 0x3B, 0xC0, 0x19, +0x03, 0x93, 0xA4, 0x46, 0x1C, 0xE0, 0x03, 0x9B, +0x15, 0xE0, 0x05, 0x9C, 0x00, 0x2C, 0x04, 0xD0, +0xC7, 0x5C, 0xCC, 0x5C, 0xF7, 0x19, 0x3C, 0x19, +0xCC, 0x54, 0xAA, 0x42, 0x0A, 0xDA, 0x63, 0x45, +0x08, 0xDA, 0x1E, 0x4F, 0x02, 0x9C, 0xFF, 0x5C, +0x04, 0x97, 0xCF, 0x5C, 0xE7, 0x19, 0x04, 0x9C, +0x3F, 0x19, 0xCF, 0x54, 0x01, 0x3B, 0x5F, 0x1C, +0xE7, 0xD1, 0x01, 0x3A, 0x15, 0x39, 0x17, 0x38, +0x53, 0x1C, 0xE0, 0xD1, 0x00, 0x24, 0x10, 0x4D, +0x05, 0xE0, 0x20, 0x1C, 0x00, 0x21, 0x01, 0x22, +0x01, 0xF0, 0x82, 0xFA, 0x01, 0x34, 0xAB, 0x78, +0x9C, 0x42, 0xF6, 0xDB, 0x06, 0x4B, 0x7F, 0x22, +0x1C, 0x79, 0x80, 0x23, 0xDB, 0x05, 0x05, 0x4D, +0x22, 0x40, 0x9C, 0x6B, 0x12, 0x06, 0x2C, 0x40, +0x14, 0x43, 0x11, 0xB0, 0x9C, 0x63, 0xF0, 0xBD, +0x24, 0x0D, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x80, +0x1C, 0x00, 0x00, 0x20, 0xC0, 0x07, 0x00, 0x20, +0x43, 0x0A, 0x00, 0x20, 0x00, 0x11, 0x00, 0x20, +0x80, 0x00, 0x00, 0x04, 0x9E, 0x0E, 0x00, 0x20, +0x88, 0x0B, 0x00, 0x20, 0xBB, 0x06, 0x00, 0x20, +0xF0, 0xB5, 0x87, 0xB0, 0x04, 0x1C, 0x01, 0x25, +0x00, 0x28, 0x0D, 0xD1, 0x46, 0x4B, 0x21, 0x1C, +0xFC, 0x22, 0x46, 0x48, 0x1D, 0x78, 0x02, 0xF0, +0x3D, 0xF9, 0xC0, 0x22, 0x44, 0x48, 0x21, 0x1C, +0xD2, 0x00, 0x6D, 0xB2, 0x02, 0xF0, 0x36, 0xF9, +0x42, 0x4B, 0x01, 0x3D, 0x01, 0x22, 0xED, 0xB2, +0x1A, 0x60, 0x01, 0x95, 0x73, 0xE0, 0xFF, 0xF7, +0xB7, 0xFB, 0x3F, 0x4D, 0xA4, 0x46, 0x6A, 0x78, +0x3E, 0x4D, 0xAD, 0x79, 0x02, 0x95, 0x3C, 0x4D, +0x2D, 0x78, 0x04, 0x95, 0x60, 0xE0, 0x01, 0x3A, +0xD2, 0xB2, 0x3B, 0x48, 0x51, 0x1C, 0x49, 0x00, +0x0B, 0x5A, 0x02, 0x9C, 0x15, 0x20, 0x23, 0x41, +0x03, 0x93, 0x05, 0x91, 0x04, 0x9B, 0x50, 0x43, +0x50, 0xE0, 0x01, 0x3B, 0x35, 0x4D, 0xDB, 0xB2, +0x59, 0x01, 0x49, 0x19, 0x05, 0x9D, 0x6C, 0x5A, +0x02, 0x99, 0x65, 0x46, 0x0C, 0x41, 0x01, 0x2D, +0x09, 0xD1, 0x03, 0x9D, 0x00, 0x21, 0xA5, 0x42, +0x00, 0xDD, 0x29, 0x1B, 0xC4, 0x18, 0x2E, 0x4D, +0x64, 0x00, 0x29, 0x53, 0x3A, 0xE0, 0x02, 0x2D, +0x34, 0xD0, 0x23, 0x49, 0x01, 0x9D, 0x09, 0x78, +0x49, 0xB2, 0x01, 0x39, 0x8D, 0x42, 0x2D, 0xDA, +0x27, 0x4D, 0xC1, 0x18, 0x49, 0x00, 0x69, 0x5E, +0x1F, 0x4D, 0x09, 0x1B, 0x00, 0x29, 0x11, 0xDD, +0xFF, 0x29, 0x01, 0xDD, 0xFF, 0x21, 0x01, 0xE0, +0x05, 0x29, 0x0C, 0xDD, 0x57, 0x01, 0xFF, 0x18, +0xBF, 0x00, 0xEE, 0x59, 0x01, 0x36, 0xEE, 0x51, +0x02, 0x2E, 0x17, 0xD9, 0x15, 0x4D, 0xC6, 0x18, +0x71, 0x55, 0x13, 0xE0, 0x00, 0x21, 0x56, 0x01, +0xF6, 0x18, 0xB6, 0x00, 0xAD, 0x59, 0x02, 0x2D, +0x0C, 0xD8, 0x10, 0x4D, 0xC6, 0x18, 0x77, 0x5D, +0xB9, 0x42, 0x00, 0xDA, 0x39, 0x1C, 0x71, 0x55, +0x55, 0x01, 0xED, 0x18, 0x0C, 0x49, 0xAD, 0x00, +0x00, 0x26, 0x6E, 0x50, 0xC1, 0x18, 0x10, 0x4D, +0x49, 0x00, 0x4C, 0x53, 0x00, 0x2B, 0xAC, 0xD1, +0x00, 0x2A, 0x9C, 0xD1, 0x01, 0x9B, 0x64, 0x46, +0x01, 0x3B, 0xDB, 0xB2, 0x01, 0x93, 0x01, 0x9D, +0xFF, 0x2D, 0x88, 0xD1, 0x07, 0xB0, 0xF0, 0xBD, +0x38, 0x06, 0x00, 0x20, 0x88, 0x0B, 0x00, 0x20, +0x1C, 0x00, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, +0x43, 0x0A, 0x00, 0x20, 0x24, 0x0D, 0x00, 0x20, +0x00, 0x08, 0x00, 0x40, 0x20, 0x08, 0x00, 0x40, +0xC8, 0x0E, 0x00, 0x20, 0xF7, 0xB5, 0x00, 0x24, +0x6B, 0x46, 0xDC, 0x80, 0x01, 0xAF, 0x80, 0x23, +0xDB, 0x05, 0x3C, 0x80, 0x59, 0x6B, 0x1B, 0x4A, +0x1E, 0x26, 0x0A, 0x40, 0x5A, 0x63, 0xFF, 0xF7, +0x1F, 0xFB, 0x19, 0x4B, 0x25, 0x1C, 0x1B, 0x78, +0x5E, 0x43, 0x19, 0xE0, 0x6F, 0x46, 0x01, 0xF0, +0xB7, 0xF8, 0x06, 0x37, 0x01, 0x20, 0x3A, 0x1C, +0x40, 0x42, 0x01, 0xA9, 0x01, 0xF0, 0xF6, 0xFD, +0x6B, 0x46, 0x9A, 0x88, 0x2B, 0x1C, 0x95, 0x42, +0x00, 0xD2, 0x13, 0x1C, 0x3A, 0x88, 0x9D, 0xB2, +0x23, 0x1C, 0x94, 0x42, 0x00, 0xD2, 0x13, 0x1C, +0x9C, 0xB2, 0xFF, 0xF7, 0xF9, 0xFA, 0x01, 0x3E, +0x00, 0x2E, 0xE3, 0xD1, 0x01, 0xF0, 0x1C, 0xF8, +0x08, 0x4B, 0x1A, 0x1C, 0x4E, 0x32, 0x12, 0x88, +0xAA, 0x42, 0x04, 0xD9, 0x50, 0x33, 0x1E, 0x78, +0xB4, 0x42, 0xB6, 0x41, 0x76, 0x42, 0xF0, 0xB2, +0xFE, 0xBD, 0xC0, 0x46, 0xFF, 0xC0, 0xFF, 0xFF, +0x0C, 0x0B, 0x00, 0x20, 0x24, 0x0D, 0x00, 0x20, +0x08, 0xB5, 0xFF, 0xF7, 0xE5, 0xFA, 0x01, 0x20, +0x01, 0xF0, 0x62, 0xFC, 0x08, 0xBD, 0xC0, 0x46, +0x10, 0xB5, 0x0F, 0x4A, 0x43, 0x78, 0x11, 0x7B, +0x5C, 0xB2, 0x01, 0x39, 0x8C, 0x42, 0x01, 0xDA, +0x01, 0x33, 0x43, 0x70, 0x03, 0x78, 0x59, 0xB2, +0x00, 0x29, 0x01, 0xDD, 0x01, 0x3B, 0x03, 0x70, +0xC3, 0x78, 0xD2, 0x7A, 0x59, 0xB2, 0x01, 0x3A, +0x91, 0x42, 0x01, 0xDA, 0x01, 0x33, 0xC3, 0x70, +0x83, 0x78, 0x5A, 0xB2, 0x00, 0x2A, 0x01, 0xDD, +0x01, 0x3B, 0x83, 0x70, 0x10, 0xBD, 0xC0, 0x46, +0x48, 0x0B, 0x00, 0x20, 0xF7, 0xB5, 0x1D, 0x4B, +0x00, 0x22, 0x1A, 0x60, 0x1C, 0x4B, 0x11, 0x20, +0x18, 0x56, 0xD9, 0x7A, 0x44, 0x1E, 0x65, 0x42, +0x6C, 0x41, 0x0C, 0x1B, 0x01, 0x94, 0x01, 0x9D, +0x18, 0x4C, 0x25, 0x60, 0x12, 0x25, 0x5D, 0x57, +0x1E, 0x7B, 0x6F, 0x1E, 0x7A, 0x42, 0x7A, 0x41, +0xB7, 0x1A, 0x67, 0x60, 0x01, 0x28, 0x02, 0xD1, +0x00, 0x23, 0x23, 0x81, 0x05, 0xE0, 0x14, 0x27, +0xD8, 0x5F, 0x49, 0x00, 0x01, 0xF0, 0x72, 0xFF, +0x20, 0x81, 0x01, 0x2D, 0x02, 0xD1, 0x00, 0x23, +0x63, 0x81, 0x06, 0xE0, 0x0A, 0x4B, 0x71, 0x00, +0x16, 0x22, 0x98, 0x5E, 0x01, 0xF0, 0x66, 0xFF, +0x60, 0x81, 0x07, 0x4B, 0x01, 0x9F, 0x14, 0x25, +0x5B, 0x5F, 0x79, 0x00, 0x58, 0x00, 0xC0, 0x18, +0x01, 0xF0, 0x5C, 0xFF, 0x03, 0x4B, 0xD8, 0x60, +0xF7, 0xBD, 0xC0, 0x46, 0xBC, 0x0D, 0x00, 0x20, +0x48, 0x0B, 0x00, 0x20, 0x10, 0x0B, 0x00, 0x20, +0x10, 0xB5, 0x18, 0x23, 0x00, 0x21, 0x05, 0xE0, +0x01, 0x3A, 0xD2, 0xB2, 0x54, 0x00, 0x21, 0x52, +0x00, 0x2A, 0xF9, 0xD1, 0x01, 0x3B, 0xDB, 0xB2, +0xFF, 0x2B, 0x04, 0xD0, 0x02, 0x4A, 0x58, 0x01, +0x80, 0x18, 0x10, 0x22, 0xF0, 0xE7, 0x10, 0xBD, +0x00, 0x08, 0x00, 0x40, 0x10, 0xB5, 0x11, 0x49, +0x11, 0x48, 0x0B, 0x1C, 0x3D, 0x33, 0x1B, 0x78, +0x80, 0x68, 0x10, 0x4A, 0x43, 0x43, 0xC9, 0x7E, +0x9B, 0x11, 0x14, 0x1C, 0x8B, 0x42, 0x00, 0xDA, +0x0B, 0x1C, 0x13, 0x60, 0x0C, 0x4B, 0x08, 0x20, +0x1B, 0x68, 0x98, 0x47, 0x80, 0x23, 0xDB, 0x05, +0x19, 0x6B, 0x22, 0x68, 0x09, 0x03, 0x12, 0x05, +0x09, 0x0B, 0x11, 0x43, 0x19, 0x63, 0x18, 0x6B, +0x11, 0x0B, 0x06, 0x4A, 0x02, 0x40, 0x0A, 0x43, +0x1A, 0x63, 0x10, 0xBD, 0x24, 0x0D, 0x00, 0x20, +0xF4, 0x06, 0x00, 0x20, 0x9C, 0x0C, 0x00, 0x20, +0xB0, 0x07, 0x00, 0x20, 0xFF, 0x00, 0xF0, 0xFF, +0x08, 0xB5, 0x84, 0x22, 0x02, 0x48, 0x00, 0x21, +0x52, 0x00, 0x01, 0xF0, 0xA7, 0xFF, 0x08, 0xBD, +0xBC, 0x0D, 0x00, 0x20, 0xF0, 0xB5, 0xA1, 0x22, +0x93, 0xB0, 0x00, 0x21, 0x52, 0x00, 0xD6, 0x48, +0x01, 0xF0, 0x9C, 0xFF, 0x00, 0x21, 0xFC, 0x22, +0xD4, 0x48, 0x01, 0xF0, 0x97, 0xFF, 0xD4, 0x4C, +0x84, 0x22, 0x00, 0x21, 0x52, 0x00, 0x20, 0x1C, +0x01, 0xF0, 0x90, 0xFF, 0x0D, 0x25, 0x7F, 0x21, +0xFF, 0x22, 0x01, 0x3D, 0xED, 0xB2, 0x2B, 0x1C, +0x34, 0x33, 0x9B, 0x00, 0xE3, 0x18, 0x99, 0x71, +0x19, 0x71, 0xDA, 0x71, 0x5A, 0x71, 0x00, 0x2D, +0xF3, 0xD1, 0xCA, 0x4C, 0x20, 0x1C, 0xFF, 0xF7, +0x27, 0xFF, 0x64, 0x78, 0x0B, 0xA8, 0x0B, 0x94, +0x00, 0x78, 0x17, 0x23, 0x40, 0xB2, 0x09, 0x90, +0x58, 0x43, 0x04, 0x95, 0x06, 0x90, 0xC2, 0x4D, +0x46, 0xE1, 0xDB, 0x78, 0x0C, 0xAE, 0x0C, 0x93, +0x36, 0x78, 0x00, 0x24, 0x76, 0xB2, 0x07, 0x96, +0x01, 0x36, 0x02, 0x94, 0x0F, 0x96, 0x2C, 0xE1, +0x0F, 0x9C, 0x02, 0x9E, 0x09, 0x9B, 0xA1, 0x19, +0x04, 0x9C, 0x01, 0x33, 0x1B, 0x1B, 0xBA, 0x4E, +0x09, 0x01, 0xC9, 0x18, 0x88, 0x5D, 0xB9, 0x4B, +0x42, 0x1E, 0xD2, 0xB2, 0x0C, 0x2A, 0x3C, 0xD8, +0x06, 0x9E, 0xB1, 0x4C, 0xB4, 0x46, 0x07, 0x9E, +0x49, 0x00, 0xB4, 0x44, 0x02, 0x9E, 0x64, 0x44, +0xA4, 0x19, 0x20, 0x76, 0x5B, 0x5A, 0x05, 0x98, +0x03, 0x93, 0x1E, 0x1C, 0xB0, 0x4B, 0x70, 0x43, +0x59, 0x69, 0x01, 0x31, 0x59, 0x61, 0xAA, 0x4B, +0x91, 0x00, 0x59, 0x18, 0x4C, 0x68, 0x20, 0x18, +0x48, 0x60, 0x11, 0x1C, 0x30, 0x1C, 0x78, 0x43, +0x0E, 0x31, 0x89, 0x00, 0xCC, 0x58, 0x20, 0x18, +0x14, 0x1C, 0x0D, 0x34, 0xE4, 0x00, 0xC8, 0x50, +0x1C, 0x19, 0xA1, 0x88, 0x34, 0x32, 0x71, 0x18, +0xA1, 0x80, 0x61, 0x89, 0x92, 0x00, 0xD2, 0x18, +0x0C, 0x31, 0x61, 0x81, 0x10, 0x1D, 0x05, 0x99, +0x3A, 0x1C, 0x01, 0xF0, 0x1F, 0xFE, 0x06, 0x27, +0xE3, 0x5F, 0xB3, 0x42, 0x00, 0xDB, 0xE1, 0xE0, +0x68, 0x46, 0x0C, 0x21, 0x08, 0x5A, 0xE0, 0x80, +0xDC, 0xE0, 0x49, 0x00, 0x5B, 0x5A, 0x03, 0x93, +0x00, 0x2B, 0x00, 0xD1, 0xD6, 0xE0, 0x00, 0x23, +0x11, 0x93, 0x02, 0x99, 0x0C, 0x9A, 0x0B, 0x9B, +0x04, 0x98, 0x89, 0x18, 0x1B, 0x1A, 0x04, 0x24, +0x08, 0x91, 0x0A, 0x93, 0xBC, 0x46, 0x91, 0x49, +0x01, 0x3C, 0xE4, 0xB2, 0x0A, 0x5D, 0x08, 0x9B, +0x8F, 0x4F, 0xD2, 0x18, 0x0A, 0x98, 0x3B, 0x5D, +0x52, 0xB2, 0x1B, 0x18, 0x01, 0x32, 0x5B, 0xB2, +0x12, 0x01, 0x01, 0x33, 0xD3, 0x18, 0xF1, 0x5C, +0x00, 0x23, 0xCF, 0xB2, 0x7A, 0x1E, 0x0C, 0x2A, +0x03, 0xD9, 0x0A, 0xE0, 0x01, 0x33, 0xDB, 0xB2, +0x01, 0xE0, 0x11, 0xAA, 0x7F, 0xB2, 0xD0, 0x5C, +0x00, 0x28, 0x01, 0xD0, 0xB8, 0x42, 0xF5, 0xD1, +0xD1, 0x54, 0x00, 0x2C, 0xDB, 0xD1, 0x67, 0x46, +0x23, 0x1C, 0x11, 0xAA, 0x9A, 0x5C, 0xDE, 0xB2, +0x00, 0x2A, 0x04, 0xD0, 0x01, 0x33, 0x04, 0x2B, +0xF7, 0xD1, 0x1E, 0x1C, 0x02, 0xE0, 0x00, 0x2E, +0x00, 0xD1, 0x97, 0xE0, 0x06, 0x99, 0x07, 0x9B, +0x02, 0x98, 0xCA, 0x18, 0x6E, 0x4B, 0x31, 0x1C, +0xD3, 0x18, 0x32, 0x1C, 0x1B, 0x18, 0x0E, 0x32, +0x1A, 0x76, 0x03, 0x98, 0x01, 0xF0, 0x26, 0xFE, +0x05, 0x99, 0x02, 0x1C, 0x7A, 0x43, 0x41, 0x43, +0x0D, 0x92, 0x43, 0x42, 0x72, 0x1E, 0x0A, 0x91, +0x0E, 0x93, 0x00, 0x21, 0x08, 0x92, 0x01, 0x90, +0x22, 0xE0, 0x13, 0x5D, 0x01, 0x34, 0x01, 0x3B, +0x5B, 0xB2, 0x9A, 0x00, 0xAA, 0x18, 0x50, 0x68, +0xE4, 0xB2, 0x84, 0x46, 0x0A, 0x98, 0x84, 0x44, +0x60, 0x46, 0x50, 0x60, 0x1A, 0x1C, 0x0E, 0x32, +0x92, 0x00, 0xA8, 0x58, 0x0D, 0x33, 0x84, 0x46, +0x0D, 0x98, 0xDB, 0x00, 0x84, 0x44, 0x60, 0x46, +0xA8, 0x50, 0xEB, 0x18, 0x9A, 0x88, 0x01, 0x98, +0x82, 0x18, 0x9A, 0x80, 0x5D, 0x4A, 0x92, 0x5D, +0x94, 0x46, 0x5A, 0x89, 0x62, 0x44, 0x5A, 0x81, +0x03, 0x98, 0x0E, 0x9A, 0x0B, 0x18, 0x08, 0x98, +0x89, 0x18, 0x11, 0xAA, 0x84, 0x42, 0xD4, 0xDB, +0x11, 0x5D, 0x05, 0x9C, 0x01, 0x39, 0x5C, 0x43, +0x49, 0xB2, 0x88, 0x00, 0x28, 0x18, 0x03, 0x94, +0x44, 0x68, 0x5F, 0x43, 0xA4, 0x46, 0x03, 0x9C, +0xA4, 0x44, 0x64, 0x46, 0x44, 0x60, 0x08, 0x1C, +0x0E, 0x30, 0x80, 0x00, 0x2C, 0x58, 0x0D, 0x31, +0xE7, 0x19, 0xC9, 0x00, 0x69, 0x18, 0x2F, 0x50, +0x88, 0x88, 0xB4, 0x46, 0x1B, 0x18, 0x8B, 0x80, +0x48, 0x4B, 0x98, 0x5D, 0x4B, 0x89, 0xC3, 0x18, +0x4B, 0x81, 0x01, 0x21, 0x00, 0x23, 0x2A, 0xE0, +0x44, 0x27, 0xFF, 0x18, 0x6C, 0x46, 0x38, 0x5D, +0x03, 0x9F, 0x01, 0x38, 0xC0, 0xB2, 0x0A, 0x90, +0xB8, 0x5C, 0x44, 0x1E, 0x0A, 0x98, 0xE4, 0xB2, +0xA0, 0x42, 0x06, 0xD2, 0x15, 0x27, 0x47, 0x43, +0x3C, 0x19, 0x34, 0x4F, 0x01, 0x20, 0x38, 0x55, +0x08, 0xE0, 0x15, 0x20, 0x44, 0x43, 0x0A, 0x9F, +0x30, 0x48, 0xE4, 0x19, 0x0A, 0x94, 0x0A, 0x9F, +0x01, 0x24, 0xC4, 0x55, 0x01, 0x32, 0x04, 0xE0, +0x4E, 0xB2, 0x11, 0xA8, 0x80, 0x19, 0x00, 0x22, +0x03, 0x90, 0x90, 0x19, 0x60, 0x45, 0xD7, 0xDB, +0x01, 0x31, 0x01, 0x33, 0xC9, 0xB2, 0x08, 0x9A, +0x93, 0x42, 0xF1, 0xDB, 0x02, 0x9C, 0x01, 0x3C, +0x02, 0x94, 0x26, 0x4B, 0x02, 0x9E, 0x07, 0x9C, +0x9B, 0x78, 0x37, 0x19, 0x5B, 0xB2, 0x9F, 0x42, +0x00, 0xDB, 0xC9, 0xE6, 0x04, 0x9E, 0x06, 0x9F, +0x01, 0x36, 0x17, 0x3F, 0x04, 0x96, 0x06, 0x97, +0x09, 0x9C, 0x04, 0x9E, 0x1D, 0x4B, 0xA4, 0x1B, +0x05, 0x94, 0x00, 0x22, 0x9A, 0x56, 0x94, 0x42, +0x00, 0xDB, 0xAE, 0xE6, 0x20, 0x4E, 0x00, 0x27, +0x34, 0x1C, 0x35, 0x1C, 0x68, 0x3C, 0x34, 0x3D, +0x00, 0x21, 0x70, 0x5E, 0xFB, 0xB2, 0x02, 0x90, +0x00, 0x28, 0x1D, 0xD0, 0xF0, 0x88, 0x0C, 0x21, +0x01, 0xF0, 0x22, 0xFD, 0xF0, 0x80, 0x20, 0x68, +0x02, 0x99, 0xC0, 0x01, 0x01, 0xF0, 0x6A, 0xFD, +0x01, 0xC4, 0x28, 0x68, 0x02, 0x99, 0xC0, 0x01, +0x01, 0xF0, 0x64, 0xFD, 0x01, 0xC5, 0x38, 0x1C, +0x09, 0x4A, 0x34, 0x30, 0x80, 0x00, 0x80, 0x18, +0x04, 0x30, 0x01, 0x37, 0xFF, 0xF7, 0xA4, 0xFD, +0x08, 0x36, 0x0D, 0x2F, 0xDC, 0xD1, 0x3B, 0x1C, +0x03, 0x4A, 0x13, 0xB0, 0x13, 0x60, 0xF0, 0xBD, +0x00, 0x11, 0x00, 0x20, 0x88, 0x0B, 0x00, 0x20, +0x08, 0x08, 0x00, 0x20, 0xC2, 0x10, 0x00, 0x20, +0x00, 0x02, 0x00, 0x40, 0x00, 0x04, 0x00, 0x40, +0xF4, 0x06, 0x00, 0x20, 0x2D, 0x36, 0x00, 0x00, +0x29, 0x36, 0x00, 0x00, 0x24, 0x36, 0x00, 0x00, +0x74, 0x08, 0x00, 0x20, 0xF0, 0xB5, 0x43, 0x1C, +0x07, 0x1C, 0x8F, 0xB0, 0x9D, 0x4E, 0x0D, 0x37, +0xDB, 0xB2, 0x09, 0x93, 0xFB, 0x00, 0xF3, 0x18, +0x02, 0x92, 0x05, 0x93, 0x07, 0x97, 0x04, 0x1C, +0x04, 0x20, 0x1F, 0x5E, 0x0B, 0x1C, 0x0D, 0x33, +0xDB, 0x00, 0xF3, 0x18, 0x03, 0x97, 0x08, 0x93, +0x04, 0x20, 0x1F, 0x5E, 0x03, 0x98, 0x04, 0x97, +0xC7, 0x19, 0x06, 0x97, 0x8B, 0x00, 0xA7, 0x00, +0xF7, 0x19, 0xF3, 0x18, 0x03, 0x9A, 0x78, 0x68, +0x5B, 0x68, 0x0D, 0x1C, 0x04, 0x99, 0x50, 0x43, +0x4B, 0x43, 0x06, 0x99, 0x18, 0x18, 0x01, 0xF0, +0x11, 0xFD, 0x2B, 0x1C, 0x00, 0xB2, 0x0E, 0x33, +0x78, 0x60, 0x9B, 0x00, 0x27, 0x1C, 0x9B, 0x59, +0x04, 0x98, 0x0E, 0x37, 0xBF, 0x00, 0x43, 0x43, +0x03, 0x99, 0xB8, 0x59, 0x48, 0x43, 0x06, 0x99, +0x18, 0x18, 0x01, 0xF0, 0xFF, 0xFC, 0x00, 0xB2, +0xB8, 0x51, 0x20, 0x1C, 0x34, 0x30, 0x80, 0x00, +0x30, 0x18, 0x02, 0x99, 0x04, 0x22, 0x04, 0x30, +0x01, 0xF0, 0x56, 0xFD, 0x08, 0x9F, 0xFB, 0x88, +0x05, 0x9F, 0x1A, 0xB2, 0x06, 0x21, 0x79, 0x5E, +0x91, 0x42, 0x01, 0xDA, 0x05, 0x9F, 0xFB, 0x80, +0x07, 0x9F, 0x2B, 0x1C, 0x0D, 0x33, 0xFA, 0x00, +0xDB, 0x00, 0xF3, 0x18, 0xB6, 0x18, 0x99, 0x88, +0xB2, 0x88, 0x8A, 0x18, 0xB2, 0x80, 0x59, 0x89, +0x72, 0x89, 0x8A, 0x18, 0xE9, 0xB2, 0x48, 0x1C, +0x40, 0xB2, 0x03, 0x90, 0x15, 0x20, 0x60, 0x43, +0x72, 0x81, 0x03, 0x9E, 0x00, 0x22, 0x30, 0x18, +0x9A, 0x80, 0x04, 0x90, 0x13, 0x1C, 0x06, 0x91, +0x0E, 0xE0, 0x15, 0x26, 0x6E, 0x43, 0x04, 0x99, +0xB4, 0x46, 0x78, 0x18, 0x03, 0x99, 0x8C, 0x44, +0x67, 0x44, 0xC1, 0x5C, 0xFE, 0x5C, 0x31, 0x43, +0xC1, 0x54, 0x00, 0x20, 0xF8, 0x54, 0x01, 0x33, +0x01, 0x32, 0x06, 0x9E, 0xD2, 0xB2, 0x90, 0x19, +0x40, 0xB2, 0x5F, 0x4F, 0x0C, 0x28, 0xE8, 0xDD, +0x15, 0x20, 0x60, 0x43, 0x7A, 0x19, 0x00, 0x23, +0xC7, 0x19, 0x11, 0xE0, 0xA3, 0x42, 0x05, 0xDA, +0x51, 0x1B, 0x0E, 0x5D, 0x10, 0x78, 0x30, 0x43, +0x08, 0x55, 0x05, 0xE0, 0xA3, 0x42, 0x03, 0xDD, +0x10, 0x78, 0xF9, 0x5C, 0x01, 0x43, 0xF9, 0x54, +0x00, 0x21, 0x11, 0x70, 0x01, 0x33, 0x15, 0x32, +0xAB, 0x42, 0xEB, 0xDB, 0x02, 0x9F, 0x68, 0x46, +0x3F, 0x78, 0x10, 0x21, 0x04, 0x97, 0x08, 0x56, +0x17, 0x27, 0x07, 0x90, 0x47, 0x43, 0x00, 0x22, +0xA4, 0x46, 0x5E, 0xE0, 0x02, 0x9C, 0x00, 0x20, +0xA1, 0x78, 0x4A, 0x4C, 0x4E, 0xB2, 0xBB, 0x19, +0x1B, 0x19, 0x08, 0x96, 0x0D, 0x93, 0x4C, 0xE0, +0x08, 0x9B, 0x0D, 0x9C, 0xC3, 0x18, 0x24, 0x18, +0x0A, 0x93, 0x23, 0x7E, 0x07, 0x9E, 0x01, 0x3B, +0x96, 0x19, 0xDB, 0xB2, 0x0B, 0x96, 0x03, 0x94, +0x05, 0x93, 0x6E, 0x46, 0x14, 0x24, 0xA3, 0x57, +0x0E, 0x2B, 0x37, 0xDD, 0x00, 0x23, 0x01, 0x26, +0x06, 0x93, 0x76, 0x42, 0x04, 0x23, 0x00, 0x92, +0x01, 0x3B, 0x3B, 0x4C, 0xDB, 0xB2, 0xE4, 0x56, +0x3A, 0x4A, 0x0C, 0x94, 0xD2, 0x56, 0x0B, 0x9C, +0xA4, 0x18, 0x01, 0x34, 0x17, 0x22, 0x62, 0x43, +0x34, 0x4C, 0xA4, 0x18, 0x0A, 0x9A, 0xA2, 0x18, +0x0C, 0x9C, 0x01, 0x92, 0x14, 0x19, 0x0C, 0x94, +0x64, 0x78, 0x01, 0x3C, 0xE4, 0xB2, 0x0C, 0x2C, +0x0D, 0xD8, 0x64, 0xB2, 0x64, 0x45, 0x01, 0xD0, +0xAC, 0x42, 0x08, 0xD1, 0x72, 0x1C, 0x02, 0xD0, +0xA6, 0x42, 0x02, 0xD1, 0x03, 0xE0, 0x26, 0x1C, +0x01, 0xE0, 0x01, 0x24, 0x06, 0x94, 0x00, 0x2B, +0xD6, 0xD1, 0x06, 0x9E, 0x00, 0x9A, 0x00, 0x2E, +0x04, 0xD0, 0x6B, 0x46, 0x14, 0x24, 0xE4, 0x5C, +0x03, 0x9B, 0x1C, 0x76, 0x01, 0x31, 0xC9, 0xB2, +0x01, 0x30, 0x02, 0x9E, 0x03, 0x24, 0x34, 0x57, +0x4B, 0xB2, 0x9C, 0x42, 0xAC, 0xDA, 0x01, 0x32, +0x17, 0x37, 0x04, 0x98, 0x02, 0x9C, 0x01, 0x21, +0x13, 0x18, 0x61, 0x56, 0x5B, 0xB2, 0x99, 0x42, +0x98, 0xDA, 0x23, 0x78, 0x00, 0x20, 0x5E, 0xB2, +0x01, 0x36, 0x17, 0x24, 0xAC, 0x46, 0x1D, 0xE0, +0x02, 0x9D, 0x32, 0x18, 0xA9, 0x78, 0x62, 0x43, +0x4D, 0xB2, 0x01, 0x35, 0x11, 0x4F, 0xAA, 0x18, +0xD2, 0x19, 0x0A, 0xE0, 0x15, 0x78, 0x01, 0x3D, +0x6D, 0xB2, 0x65, 0x45, 0x02, 0xD1, 0x09, 0xAD, +0x2D, 0x78, 0x15, 0x70, 0x01, 0x31, 0xC9, 0xB2, +0x01, 0x32, 0x02, 0x9D, 0x03, 0x27, 0xEF, 0x57, +0x4D, 0xB2, 0xAF, 0x42, 0xEE, 0xDA, 0x01, 0x33, +0xDB, 0xB2, 0x01, 0x30, 0x02, 0x9F, 0x01, 0x21, +0x79, 0x56, 0x5A, 0xB2, 0x91, 0x42, 0xDB, 0xDA, +0x0F, 0xB0, 0xF0, 0xBD, 0x08, 0x08, 0x00, 0x20, +0x88, 0x0B, 0x00, 0x20, 0x00, 0x11, 0x00, 0x20, +0x2D, 0x36, 0x00, 0x00, 0x29, 0x36, 0x00, 0x00, +0x08, 0xB5, 0x00, 0xF0, 0x01, 0xF8, 0x08, 0xBD, +0x38, 0xB5, 0x00, 0x21, 0x05, 0x22, 0x0D, 0x48, +0x01, 0xF0, 0x88, 0xFC, 0x00, 0x22, 0x0C, 0x48, +0x0C, 0x49, 0x05, 0x23, 0x14, 0x1C, 0x01, 0x3B, +0xDB, 0xB2, 0x1D, 0x1C, 0x0D, 0x35, 0xED, 0x00, +0x45, 0x19, 0xAA, 0x80, 0xDD, 0x1C, 0xED, 0x00, +0x6A, 0x52, 0x07, 0x4D, 0xEC, 0x54, 0x07, 0x4D, +0xEC, 0x54, 0x00, 0x2B, 0xEF, 0xD1, 0x03, 0x60, +0x0B, 0x60, 0x38, 0xBD, 0x8C, 0x07, 0x00, 0x20, +0xBC, 0x0D, 0x00, 0x20, 0x64, 0x0A, 0x00, 0x20, +0x1C, 0x0D, 0x00, 0x20, 0x24, 0x0B, 0x00, 0x20, +0x38, 0xB5, 0xC3, 0x17, 0xC5, 0x18, 0x5D, 0x40, +0xCB, 0x17, 0xC9, 0x18, 0x59, 0x40, 0x0C, 0x1C, +0x8D, 0x42, 0x01, 0xDB, 0x2C, 0x1C, 0x0D, 0x1C, +0xA8, 0x01, 0x21, 0x1C, 0x01, 0xF0, 0xB6, 0xFB, +0x08, 0x4B, 0x1B, 0x5C, 0x00, 0x2B, 0x0B, 0xD0, +0x5A, 0x21, 0x07, 0x4A, 0xC9, 0x1A, 0x49, 0x00, +0x5B, 0x00, 0x89, 0x5A, 0x9B, 0x5A, 0x4C, 0x43, +0x5D, 0x43, 0x24, 0x14, 0x2D, 0x14, 0x64, 0x19, +0x20, 0x1C, 0x38, 0xBD, 0x31, 0x36, 0x00, 0x00, +0x72, 0x36, 0x00, 0x00, 0xF0, 0xB5, 0x93, 0x4B, +0x85, 0xB0, 0x1B, 0x68, 0x05, 0x2B, 0x00, 0xDD, +0x05, 0x23, 0x91, 0x4A, 0x01, 0x21, 0x13, 0x60, +0x49, 0x42, 0x0D, 0x22, 0x8F, 0x48, 0x01, 0xF0, +0x31, 0xFC, 0x8F, 0x48, 0xFF, 0x21, 0x34, 0x22, +0x01, 0xF0, 0x2C, 0xFC, 0x8D, 0x4B, 0x00, 0x24, +0x1B, 0x68, 0x01, 0x93, 0x8C, 0x4B, 0x5B, 0x6A, +0x02, 0x93, 0x86, 0x4B, 0x1B, 0x68, 0x03, 0x93, +0x8A, 0x4D, 0xE3, 0x00, 0x5B, 0x19, 0x18, 0x26, +0x9B, 0x5F, 0x00, 0x2B, 0x41, 0xD0, 0x88, 0x4D, +0xA3, 0x00, 0xEF, 0x58, 0x01, 0x9E, 0x87, 0x4B, +0x02, 0x9D, 0x62, 0x00, 0xB7, 0x40, 0xD3, 0x18, +0x01, 0x26, 0x7F, 0x19, 0x76, 0x42, 0x00, 0x25, +0x00, 0x93, 0x22, 0xE0, 0x2B, 0x1C, 0x0D, 0x33, +0x78, 0x48, 0xDB, 0x00, 0xC3, 0x18, 0x04, 0x21, +0x5B, 0x5E, 0x00, 0x2B, 0x17, 0xD0, 0xAA, 0x00, +0x82, 0x18, 0x00, 0x98, 0x00, 0x99, 0x04, 0x23, +0xC3, 0x5E, 0x50, 0x68, 0x2A, 0x1C, 0xC0, 0x1A, +0x0E, 0x32, 0x0E, 0x23, 0xC9, 0x5E, 0x6F, 0x4B, +0x92, 0x00, 0x8C, 0x46, 0xD1, 0x58, 0x62, 0x46, +0x89, 0x1A, 0xFF, 0xF7, 0x89, 0xFF, 0xB8, 0x42, +0x01, 0xDA, 0x2E, 0x1C, 0x07, 0x1C, 0x01, 0x35, +0xED, 0xB2, 0x03, 0x9B, 0x9D, 0x42, 0xD9, 0xDB, +0x75, 0x1C, 0x0A, 0xD0, 0x67, 0x4B, 0x68, 0x49, +0x98, 0x57, 0xB2, 0x00, 0x01, 0x30, 0x02, 0xD0, +0x88, 0x58, 0xB8, 0x42, 0x01, 0xD9, 0x8F, 0x50, +0x9C, 0x55, 0x01, 0x34, 0x05, 0x2C, 0xB3, 0xD1, +0x00, 0x23, 0x5E, 0x4A, 0x5E, 0x49, 0x32, 0xE0, +0x5E, 0x4E, 0xF0, 0x5C, 0x44, 0xB2, 0x01, 0x34, +0x2B, 0xD0, 0x9D, 0x00, 0xC0, 0xB2, 0x01, 0x95, +0x55, 0x19, 0x87, 0x00, 0x6D, 0x68, 0xCC, 0x19, +0x65, 0x60, 0x1D, 0x1C, 0x0E, 0x35, 0x04, 0x1C, +0xAD, 0x00, 0xAD, 0x58, 0x0E, 0x34, 0xA4, 0x00, +0x65, 0x50, 0x04, 0x1C, 0x1D, 0x1C, 0x0D, 0x34, +0x0D, 0x35, 0xE4, 0x00, 0xED, 0x00, 0x0C, 0x19, +0x55, 0x19, 0x00, 0x97, 0x04, 0x34, 0x04, 0x35, +0xC0, 0xCD, 0xC0, 0xC4, 0x1C, 0x1C, 0x34, 0x34, +0xA4, 0x00, 0x34, 0x30, 0x14, 0x19, 0x64, 0x68, +0x80, 0x00, 0x08, 0x18, 0x44, 0x60, 0x4A, 0x48, +0x01, 0x9C, 0x00, 0x9D, 0x20, 0x58, 0x4C, 0x4E, +0xA8, 0x51, 0x01, 0x33, 0xDB, 0xB2, 0x10, 0x68, +0x83, 0x42, 0xC9, 0xDB, 0x00, 0x23, 0x41, 0x4E, +0x4E, 0xE0, 0x42, 0x4F, 0xFA, 0x56, 0x01, 0x32, +0x48, 0xD1, 0x1A, 0x1C, 0x0D, 0x32, 0xD2, 0x00, +0xB2, 0x18, 0x04, 0x20, 0x12, 0x5E, 0x00, 0x2A, +0x40, 0xD0, 0x00, 0x20, 0x3F, 0x4F, 0x02, 0x1C, +0xC4, 0x19, 0x18, 0x25, 0x65, 0x5F, 0xD1, 0xB2, +0x00, 0x2D, 0x33, 0xD1, 0x36, 0x4D, 0x6C, 0x24, +0x2D, 0x18, 0xAC, 0x46, 0xA4, 0x44, 0x65, 0x46, +0x00, 0x24, 0x2D, 0x5F, 0x00, 0x2D, 0x29, 0xD1, +0x32, 0x48, 0x31, 0x4D, 0xC1, 0x54, 0x94, 0x00, +0x2E, 0x48, 0x2C, 0x19, 0x9D, 0x00, 0x45, 0x19, +0x6D, 0x68, 0x2D, 0x4F, 0x65, 0x60, 0x1D, 0x1C, +0x0E, 0x35, 0x14, 0x1C, 0xAD, 0x00, 0x2D, 0x58, +0x0E, 0x34, 0xA4, 0x00, 0x3D, 0x51, 0x14, 0x1C, +0x1D, 0x1C, 0x0D, 0x34, 0x0D, 0x35, 0xE4, 0x00, +0xED, 0x00, 0x3C, 0x19, 0x45, 0x19, 0x04, 0x34, +0x04, 0x35, 0x82, 0xCD, 0x82, 0xC4, 0x1C, 0x1C, +0x34, 0x34, 0xA4, 0x00, 0x34, 0x32, 0x20, 0x49, +0x00, 0x19, 0x92, 0x00, 0x40, 0x68, 0x8A, 0x18, +0x50, 0x60, 0x03, 0xE0, 0x01, 0x32, 0x08, 0x30, +0x05, 0x2A, 0xC1, 0xD1, 0x01, 0x33, 0xDB, 0xB2, +0x32, 0x68, 0x93, 0x42, 0xAD, 0xDB, 0x20, 0x4B, +0x18, 0x49, 0x1C, 0x1C, 0x0D, 0x34, 0xFF, 0x20, +0x1A, 0x78, 0x04, 0x2A, 0x02, 0xD8, 0x8A, 0x5C, +0x1A, 0x70, 0x00, 0xE0, 0x18, 0x70, 0x01, 0x33, +0xA3, 0x42, 0xF5, 0xD1, 0x19, 0x4A, 0x10, 0x48, +0x00, 0x23, 0x13, 0x60, 0x19, 0x1C, 0x05, 0x22, +0x06, 0x1C, 0x01, 0x3A, 0xD2, 0xB2, 0x14, 0x1C, +0x0D, 0x34, 0xE5, 0x00, 0x45, 0x19, 0x6D, 0x89, +0xA9, 0x42, 0x00, 0xDA, 0x29, 0x1C, 0xE4, 0x00, +0x34, 0x19, 0x04, 0x25, 0x64, 0x5F, 0xA3, 0x42, +0x00, 0xDA, 0x23, 0x1C, 0x00, 0x2A, 0xEC, 0xD1, +0x0C, 0x4A, 0x05, 0xB0, 0x51, 0x60, 0x13, 0x60, +0xF0, 0xBD, 0xC0, 0x46, 0x08, 0x08, 0x00, 0x20, +0xBC, 0x0D, 0x00, 0x20, 0xF8, 0x0A, 0x00, 0x20, +0xC8, 0x10, 0x00, 0x20, 0x40, 0x06, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0x64, 0x0A, 0x00, 0x20, +0x84, 0x0C, 0x00, 0x20, 0x2C, 0x0B, 0x00, 0x20, +0x18, 0x09, 0x00, 0x20, 0xCC, 0x07, 0x00, 0x20, +0xF0, 0xB5, 0x22, 0x48, 0x22, 0x4A, 0x23, 0x49, +0x05, 0x23, 0x01, 0x3B, 0xDB, 0xB2, 0xDD, 0x1C, +0xED, 0x00, 0x2D, 0x5E, 0x00, 0x2D, 0x23, 0xD0, +0x1D, 0x1C, 0x0D, 0x35, 0xED, 0x00, 0x55, 0x19, +0x04, 0x26, 0xAD, 0x5F, 0x00, 0x2D, 0x1B, 0xD0, +0x9D, 0x00, 0x55, 0x19, 0x6E, 0x68, 0x5D, 0x00, +0x47, 0x19, 0x04, 0x24, 0x3C, 0x5F, 0x37, 0x1B, +0x16, 0x4C, 0x7F, 0x10, 0xBE, 0x19, 0x65, 0x19, +0xAE, 0x80, 0x1D, 0x1C, 0x0E, 0x35, 0xAD, 0x00, +0x56, 0x59, 0x1D, 0x1D, 0x6D, 0x00, 0x47, 0x19, +0x06, 0x24, 0x3C, 0x5F, 0x37, 0x1B, 0x0F, 0x4C, +0x7F, 0x10, 0xBE, 0x19, 0x65, 0x19, 0x0C, 0xE0, +0x9E, 0x00, 0x96, 0x19, 0x76, 0x68, 0x5D, 0x00, +0x4D, 0x19, 0xAE, 0x80, 0x1E, 0x1C, 0x0E, 0x36, +0x1D, 0x1D, 0xB6, 0x00, 0x6D, 0x00, 0x96, 0x59, +0x4D, 0x19, 0xEE, 0x80, 0x00, 0x2B, 0xC4, 0xD1, +0x03, 0x4B, 0x1A, 0x68, 0x03, 0x4B, 0x1A, 0x60, +0xF0, 0xBD, 0xC0, 0x46, 0x64, 0x0A, 0x00, 0x20, +0xBC, 0x0D, 0x00, 0x20, 0x2C, 0x0B, 0x00, 0x20, +0x38, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0x00, 0x2A, +0x07, 0xD0, 0x54, 0x43, 0x58, 0x43, 0xD1, 0x18, +0x20, 0x18, 0x4D, 0x10, 0x40, 0x19, 0x01, 0xF0, +0x09, 0xFA, 0x38, 0xBD, 0x08, 0xB5, 0x00, 0x21, +0x24, 0x22, 0x06, 0x48, 0x01, 0xF0, 0xA2, 0xFA, +0x05, 0x4A, 0x00, 0x23, 0x13, 0x70, 0x05, 0x4A, +0x01, 0x21, 0x11, 0x70, 0x04, 0x4A, 0x13, 0x70, +0x08, 0xBD, 0xC0, 0x46, 0x18, 0x07, 0x00, 0x20, +0x94, 0x07, 0x00, 0x20, 0x44, 0x06, 0x00, 0x20, +0x95, 0x07, 0x00, 0x20, 0xF0, 0xB5, 0x63, 0x4E, +0x04, 0x1C, 0x16, 0x20, 0x35, 0x5E, 0x85, 0xB0, +0x00, 0x95, 0x61, 0x4D, 0x00, 0x9A, 0x0A, 0x21, +0x6F, 0x5E, 0x20, 0x68, 0x69, 0x68, 0x50, 0x43, +0xC9, 0x01, 0x01, 0xF0, 0xDF, 0xF9, 0x3F, 0x18, +0x27, 0x60, 0x08, 0x20, 0x2B, 0x5E, 0x60, 0x68, +0x01, 0x93, 0x14, 0x21, 0x73, 0x5E, 0x29, 0x68, +0x58, 0x43, 0xC9, 0x01, 0x01, 0xF0, 0xD2, 0xF9, +0x01, 0x9A, 0x19, 0x23, 0x10, 0x18, 0x60, 0x60, +0xF3, 0x56, 0x01, 0x2B, 0x4B, 0xD1, 0x00, 0x9B, +0x5D, 0x10, 0x40, 0x1B, 0x00, 0x90, 0x7F, 0x1B, +0x00, 0x99, 0x38, 0x1C, 0xFF, 0xF7, 0xFC, 0xFD, +0x4E, 0x49, 0x0B, 0x78, 0x00, 0x2B, 0x1D, 0xD0, +0x73, 0x8B, 0x98, 0x42, 0x1A, 0xDD, 0xC2, 0x1A, +0x9B, 0x01, 0x80, 0x01, 0x01, 0x92, 0x02, 0x93, +0x03, 0x90, 0xF0, 0x8B, 0x03, 0x99, 0x50, 0x43, +0xC0, 0x18, 0x78, 0x43, 0x01, 0xF0, 0xAE, 0xF9, +0x40, 0x19, 0x20, 0x60, 0xB0, 0x8B, 0x01, 0x9B, +0x02, 0x99, 0x58, 0x43, 0x00, 0x9A, 0x40, 0x18, +0x50, 0x43, 0x03, 0x99, 0x01, 0xF0, 0xA2, 0xF9, +0x40, 0x19, 0x60, 0x60, 0x23, 0x68, 0x67, 0x68, +0x5B, 0x1B, 0x7F, 0x1B, 0x18, 0x1C, 0x39, 0x1C, +0x00, 0x93, 0x01, 0x97, 0xFF, 0xF7, 0xD0, 0xFD, +0x36, 0x4B, 0x06, 0x1C, 0x01, 0x33, 0xDF, 0x7F, +0xEF, 0x1B, 0xB8, 0x42, 0x5C, 0xDD, 0x45, 0x43, +0x00, 0x98, 0x31, 0x1C, 0x78, 0x43, 0x28, 0x18, +0x01, 0xF0, 0x88, 0xF9, 0x01, 0x9B, 0x20, 0x60, +0x5F, 0x43, 0x31, 0x1C, 0xE8, 0x19, 0x01, 0xF0, +0x81, 0xF9, 0x60, 0x60, 0x4C, 0xE0, 0x2D, 0x49, +0x0B, 0x78, 0x00, 0x2B, 0x2F, 0xD0, 0xEB, 0x68, +0x9F, 0x42, 0x07, 0xDA, 0x1E, 0x25, 0x72, 0x5F, +0xFF, 0x1A, 0x57, 0x43, 0xBF, 0x11, 0xDF, 0x19, +0x27, 0x60, 0x0C, 0xE0, 0x00, 0x9D, 0xEF, 0x1B, +0x9F, 0x42, 0x08, 0xDA, 0x1E, 0x21, 0x75, 0x5E, +0xFF, 0x1A, 0x7D, 0x43, 0x00, 0x9A, 0xAD, 0x11, +0x5D, 0x19, 0x55, 0x1B, 0x25, 0x60, 0x1D, 0x4A, +0x98, 0x42, 0x07, 0xDA, 0x1A, 0x25, 0x52, 0x5F, +0xC0, 0x1A, 0x50, 0x43, 0x80, 0x11, 0x1B, 0x18, +0x63, 0x60, 0x0C, 0xE0, 0x14, 0x25, 0x51, 0x5F, +0x08, 0x1A, 0x98, 0x42, 0x07, 0xDA, 0x1C, 0x25, +0x52, 0x5F, 0xC0, 0x1A, 0x50, 0x43, 0x80, 0x11, +0x1B, 0x18, 0xC9, 0x1A, 0x61, 0x60, 0x11, 0x4A, +0x21, 0x68, 0x93, 0x1C, 0xDB, 0x7F, 0x99, 0x42, +0x05, 0xDB, 0x16, 0x25, 0x50, 0x5F, 0xC3, 0x1A, +0x99, 0x42, 0x01, 0xDD, 0x01, 0x3B, 0x23, 0x60, +0x53, 0x1C, 0x61, 0x68, 0xDB, 0x7F, 0x99, 0x42, +0x05, 0xDB, 0x14, 0x20, 0x12, 0x5E, 0xD3, 0x1A, +0x99, 0x42, 0x01, 0xDD, 0x01, 0x3B, 0x63, 0x60, +0x04, 0x4B, 0x1B, 0x7E, 0x00, 0x2B, 0x03, 0xD0, +0x63, 0x68, 0x22, 0x68, 0x23, 0x60, 0x62, 0x60, +0x05, 0xB0, 0xF0, 0xBD, 0x48, 0x0B, 0x00, 0x20, +0x10, 0x0B, 0x00, 0x20, 0x4C, 0x06, 0x00, 0x20, +0xF0, 0xB5, 0x40, 0x4B, 0x8B, 0xB0, 0x32, 0x33, +0x1B, 0x78, 0x00, 0x2B, 0x78, 0xD0, 0x00, 0x21, +0x3D, 0x4B, 0x01, 0x91, 0x01, 0x98, 0x3D, 0x4C, +0x42, 0x00, 0x12, 0x19, 0x8C, 0x32, 0x00, 0x25, +0x52, 0x5F, 0x00, 0x2A, 0x63, 0xD0, 0x1A, 0x68, +0x03, 0x2A, 0x01, 0xDC, 0x01, 0x32, 0x1A, 0x60, +0x37, 0x4E, 0x8A, 0x19, 0x15, 0x1C, 0x46, 0x35, +0x28, 0x88, 0x17, 0x1C, 0x48, 0x37, 0x38, 0x80, +0x16, 0x1C, 0xB8, 0x88, 0x4E, 0x36, 0x30, 0x80, +0x98, 0x88, 0x4A, 0x32, 0x28, 0x80, 0x10, 0x88, +0x3C, 0x1C, 0x02, 0x97, 0x03, 0x96, 0x2D, 0x4F, +0x01, 0x9E, 0xA0, 0x80, 0xF0, 0x19, 0x46, 0x69, +0x04, 0x34, 0x9E, 0x80, 0x86, 0x6C, 0x16, 0x80, +0x1E, 0x68, 0x04, 0x2E, 0x40, 0xD1, 0x02, 0x9E, +0x9C, 0x46, 0x00, 0x27, 0xF7, 0x5F, 0x06, 0x97, +0x03, 0x9F, 0x00, 0x26, 0xBE, 0x5F, 0x00, 0x27, +0xE4, 0x5F, 0x09, 0x96, 0x00, 0x26, 0xAD, 0x5F, +0x00, 0x26, 0x92, 0x5F, 0x05, 0x95, 0x08, 0x94, +0x04, 0x25, 0x5C, 0x5F, 0x07, 0x92, 0x04, 0x94, +0x07, 0xAA, 0x04, 0xAC, 0x00, 0x25, 0x00, 0xE0, +0x02, 0x9D, 0x01, 0x35, 0xAE, 0x00, 0x04, 0xAF, +0x02, 0x95, 0x03, 0x95, 0xBE, 0x19, 0x00, 0x25, +0x01, 0xE0, 0x02, 0x23, 0x03, 0x93, 0x23, 0x68, +0x37, 0x68, 0x04, 0x35, 0xBB, 0x42, 0x01, 0xDD, +0x27, 0x60, 0x33, 0x60, 0x13, 0x68, 0x57, 0x59, +0xBB, 0x42, 0x01, 0xDD, 0x17, 0x60, 0x53, 0x51, +0x03, 0x9F, 0x04, 0x36, 0x01, 0x2F, 0xEC, 0xD0, +0x02, 0x9B, 0x04, 0x32, 0x04, 0x34, 0x02, 0x2B, +0xDE, 0xD1, 0x05, 0x9A, 0x63, 0x46, 0x42, 0x61, +0x08, 0x9A, 0x82, 0x64, 0x00, 0xE0, 0x1A, 0x60, +0x01, 0x9C, 0x10, 0x39, 0x04, 0x3C, 0x0D, 0x1C, +0x10, 0x3B, 0x01, 0x94, 0x50, 0x35, 0x89, 0xD1, +0x0B, 0xB0, 0xF0, 0xBD, 0x24, 0x0D, 0x00, 0x20, +0x7C, 0x07, 0x00, 0x20, 0xBC, 0x0D, 0x00, 0x20, +0x3C, 0x07, 0x00, 0x20, 0xEF, 0xF3, 0x08, 0x80, +0x70, 0x47, 0x00, 0xBA, 0x70, 0x47, 0x40, 0xBA, +0x70, 0x47, 0xC0, 0xBA, 0x70, 0x47, 0x70, 0xB5, +0x00, 0x28, 0x16, 0xDA, 0xC0, 0xB2, 0x0F, 0x23, +0x03, 0x40, 0x08, 0x3B, 0x12, 0x4A, 0x9B, 0x08, +0x9B, 0x00, 0x9B, 0x18, 0x03, 0x22, 0x10, 0x40, +0x90, 0x40, 0xFF, 0x22, 0x5D, 0x68, 0x14, 0x1C, +0x84, 0x40, 0x89, 0x01, 0xA5, 0x43, 0x0A, 0x40, +0x82, 0x40, 0x28, 0x1C, 0x10, 0x43, 0x58, 0x60, +0x11, 0xE0, 0x03, 0x24, 0x82, 0x08, 0x09, 0x4B, +0x20, 0x40, 0xC0, 0x32, 0xA0, 0x40, 0x92, 0x00, +0xFF, 0x24, 0xD5, 0x58, 0x26, 0x1C, 0x86, 0x40, +0x89, 0x01, 0xB5, 0x43, 0x0C, 0x40, 0x84, 0x40, +0x28, 0x1C, 0x20, 0x43, 0xD0, 0x50, 0x70, 0xBD, +0x18, 0xED, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0xE0, +0x70, 0xB5, 0x80, 0x24, 0xE4, 0x05, 0x62, 0x68, +0x2E, 0x4B, 0x00, 0x25, 0x13, 0x40, 0x3F, 0x22, +0x63, 0x60, 0x65, 0x62, 0xA5, 0x62, 0xE5, 0x60, +0x25, 0x61, 0x62, 0x61, 0xA5, 0x61, 0xE1, 0x6A, +0x29, 0x4B, 0x08, 0x26, 0x19, 0x40, 0x80, 0x23, +0x9B, 0x00, 0x19, 0x43, 0xE1, 0x62, 0xE1, 0x6A, +0x91, 0x43, 0x0A, 0x1C, 0x32, 0x43, 0xE2, 0x62, +0x62, 0x68, 0x13, 0x43, 0x63, 0x60, 0x00, 0xF0, +0x49, 0xF8, 0xA2, 0x68, 0x80, 0x23, 0x1B, 0x01, +0x13, 0x43, 0xA3, 0x60, 0x00, 0xF0, 0xBA, 0xFA, +0x23, 0x6B, 0x60, 0x22, 0x93, 0x43, 0x23, 0x63, +0x23, 0x6B, 0x80, 0x22, 0x13, 0x43, 0x23, 0x63, +0x00, 0xF0, 0x9A, 0xFB, 0x00, 0xF0, 0x90, 0xF8, +0x00, 0xF0, 0x0A, 0xFB, 0x28, 0x1C, 0x65, 0x70, +0x02, 0x21, 0xFF, 0xF7, 0x94, 0xFF, 0x29, 0x1C, +0x01, 0x20, 0xFF, 0xF7, 0x90, 0xFF, 0x02, 0x20, +0x01, 0x21, 0xFF, 0xF7, 0x8C, 0xFF, 0x03, 0x20, +0x01, 0x1C, 0xFF, 0xF7, 0x88, 0xFF, 0x04, 0x20, +0x03, 0x21, 0xFF, 0xF7, 0x84, 0xFF, 0x05, 0x20, +0x02, 0x21, 0xFF, 0xF7, 0x80, 0xFF, 0x0B, 0x4B, +0x01, 0x22, 0x1A, 0x60, 0x02, 0x22, 0x1A, 0x60, +0x10, 0x21, 0x04, 0x22, 0x1A, 0x60, 0x1E, 0x60, +0x19, 0x60, 0xFC, 0x33, 0x5D, 0x60, 0x06, 0x4B, +0x19, 0x69, 0x0A, 0x43, 0x1A, 0x61, 0x62, 0xB6, +0x70, 0xBD, 0xC0, 0x46, 0xFF, 0xFE, 0xFF, 0xFF, +0x3F, 0xF0, 0xFF, 0xFF, 0x00, 0xE1, 0x00, 0xE0, +0x00, 0xED, 0x00, 0xE0, 0x30, 0xB5, 0x18, 0x4A, +0x80, 0x23, 0x51, 0x78, 0xDB, 0x05, 0x19, 0x71, +0xD1, 0x78, 0x01, 0x20, 0x5C, 0x68, 0x08, 0x40, +0x14, 0x49, 0x80, 0x07, 0x21, 0x40, 0x01, 0x43, +0x59, 0x60, 0x11, 0x79, 0x03, 0x20, 0x5C, 0x68, +0x08, 0x40, 0x11, 0x49, 0x00, 0x07, 0x21, 0x40, +0x01, 0x43, 0x59, 0x60, 0x54, 0x79, 0x0F, 0x21, +0x5D, 0x68, 0x0E, 0x48, 0x0C, 0x40, 0x24, 0x04, +0x28, 0x40, 0x20, 0x43, 0x58, 0x60, 0x94, 0x79, +0x0B, 0x48, 0x5D, 0x68, 0x0C, 0x40, 0x28, 0x40, +0x24, 0x06, 0x20, 0x43, 0x58, 0x60, 0xD2, 0x79, +0x58, 0x68, 0x11, 0x40, 0x0A, 0x05, 0x07, 0x49, +0x01, 0x40, 0x11, 0x43, 0x59, 0x60, 0x30, 0xBD, +0x80, 0x0B, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xBF, +0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xF0, 0xFF, +0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xFF, +0x06, 0x4B, 0x3F, 0x20, 0x19, 0x68, 0x80, 0x23, +0xDB, 0x05, 0x01, 0x39, 0x01, 0x40, 0x04, 0x4A, +0x58, 0x6B, 0x09, 0x02, 0x02, 0x40, 0x0A, 0x43, +0x5A, 0x63, 0x70, 0x47, 0x08, 0x0B, 0x00, 0x20, +0xFF, 0xC0, 0xFF, 0xFF, 0x80, 0x23, 0xDB, 0x05, +0xD9, 0x68, 0x08, 0x22, 0x91, 0x43, 0xD9, 0x60, +0x59, 0x69, 0x0A, 0x43, 0x5A, 0x61, 0x70, 0x47, +0x10, 0xB5, 0xA0, 0x23, 0xDB, 0x05, 0x59, 0x68, +0x29, 0x4A, 0x80, 0x20, 0x0A, 0x40, 0x5A, 0x60, +0x1A, 0x68, 0xC0, 0x00, 0x52, 0x00, 0x52, 0x08, +0x1A, 0x60, 0x19, 0x68, 0x80, 0x22, 0x12, 0x06, +0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x01, 0x21, +0x8A, 0x43, 0x1A, 0x60, 0x1A, 0x68, 0x10, 0x21, +0x8A, 0x43, 0x1A, 0x60, 0x19, 0x68, 0x1F, 0x4A, +0x0A, 0x40, 0x80, 0x21, 0x09, 0x02, 0x0A, 0x43, +0x1A, 0x60, 0x1A, 0x68, 0x1C, 0x49, 0x0A, 0x40, +0x02, 0x43, 0x1A, 0x60, 0x1B, 0x4A, 0x12, 0x68, +0x00, 0x2A, 0x08, 0xD0, 0x12, 0x78, 0x7F, 0x20, +0x10, 0x40, 0x1C, 0x68, 0x18, 0x4A, 0x00, 0x06, +0x22, 0x40, 0x02, 0x43, 0x1A, 0x60, 0xA0, 0x23, +0xDB, 0x05, 0x5A, 0x68, 0x01, 0x20, 0x02, 0x43, +0x5A, 0x60, 0x5A, 0x68, 0x11, 0x40, 0x80, 0x22, +0x82, 0x40, 0x11, 0x43, 0x59, 0x60, 0x59, 0x68, +0x10, 0x4A, 0x0A, 0x40, 0xC0, 0x21, 0x89, 0x02, +0x0A, 0x43, 0x5A, 0x60, 0x59, 0x68, 0x80, 0x22, +0x92, 0x05, 0x0A, 0x43, 0x5A, 0x60, 0x59, 0x68, +0x80, 0x22, 0x52, 0x05, 0x0A, 0x43, 0x5A, 0x60, +0xC0, 0x46, 0x80, 0x22, 0x59, 0x68, 0x52, 0x04, +0x0A, 0x43, 0x5A, 0x60, 0x10, 0xBD, 0xC0, 0x46, +0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0x0F, 0xFF, 0xFF, +0xFF, 0xF8, 0xFF, 0xFF, 0x24, 0x06, 0x00, 0x20, +0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xF8, 0xFF, +0x06, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x80, 0x23, +0xDB, 0x05, 0x00, 0x21, 0x59, 0x70, 0x19, 0x68, +0x0F, 0x20, 0x81, 0x43, 0x0A, 0x43, 0x1A, 0x60, +0x70, 0x47, 0xC0, 0x46, 0x00, 0x00, 0x00, 0x20, +0x06, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x80, 0x23, +0xDB, 0x05, 0x19, 0x68, 0x04, 0x4A, 0x0A, 0x40, +0x80, 0x21, 0x49, 0x02, 0x0A, 0x43, 0x1A, 0x60, +0x70, 0x47, 0xC0, 0x46, 0x01, 0x00, 0x00, 0x20, +0xFF, 0xFF, 0xF0, 0xFF, 0x00, 0xB5, 0x06, 0x4B, +0x72, 0xB6, 0x1A, 0x78, 0x00, 0x2A, 0x04, 0xD0, +0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, 0x30, 0xBF, +0xF6, 0xE7, 0x62, 0xB6, 0x00, 0xBD, 0xC0, 0x46, +0x01, 0x00, 0x00, 0x20, 0x38, 0xB5, 0x0C, 0x4B, +0x05, 0x1C, 0x59, 0x78, 0xDC, 0x78, 0xCB, 0x05, +0x5B, 0x1A, 0x9B, 0x00, 0x5B, 0x18, 0xDB, 0x01, +0x59, 0x18, 0x08, 0x4B, 0x08, 0x48, 0xC9, 0x18, +0x00, 0xF0, 0xF4, 0xFE, 0x06, 0x4B, 0x29, 0x1C, +0x01, 0x34, 0xC0, 0xB2, 0x58, 0x43, 0xA1, 0x40, +0x00, 0xF0, 0xEC, 0xFE, 0x38, 0xBD, 0xC0, 0x46, +0x80, 0x0B, 0x00, 0x20, 0xDA, 0xEB, 0x01, 0x00, +0x40, 0x42, 0x0F, 0x00, 0x00, 0xB5, 0x06, 0x4B, +0x72, 0xB6, 0x1A, 0x78, 0x00, 0x2A, 0x04, 0xD0, +0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, 0x30, 0xBF, +0xF6, 0xE7, 0x62, 0xB6, 0x00, 0xBD, 0xC0, 0x46, +0x02, 0x00, 0x00, 0x20, 0xF7, 0xB5, 0x16, 0x4B, +0x72, 0xB6, 0x1A, 0x78, 0x00, 0x2A, 0x04, 0xD0, +0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, 0x30, 0xBF, +0xF6, 0xE7, 0x62, 0xB6, 0x11, 0x4B, 0x6A, 0x46, +0x1B, 0x88, 0x11, 0x4E, 0xD3, 0x80, 0x11, 0x4B, +0x11, 0x4F, 0x1B, 0x88, 0x93, 0x80, 0x11, 0x4B, +0x1B, 0x88, 0x53, 0x80, 0x10, 0x4B, 0x1B, 0x88, +0x13, 0x80, 0x10, 0x4B, 0x5C, 0x78, 0x0C, 0xE0, +0x65, 0x1E, 0x70, 0x5D, 0x03, 0x21, 0x40, 0xB2, +0x00, 0xF0, 0xB0, 0xFE, 0x40, 0xB2, 0x40, 0x00, +0x6A, 0x46, 0x83, 0x5A, 0x64, 0x00, 0xE3, 0x53, +0x2C, 0x1C, 0x00, 0x2C, 0xF0, 0xD1, 0xF7, 0xBD, +0x00, 0x00, 0x00, 0x20, 0x08, 0x08, 0x00, 0x40, +0xF8, 0x07, 0x00, 0x20, 0x06, 0x08, 0x00, 0x40, +0x00, 0x08, 0x00, 0x40, 0x04, 0x08, 0x00, 0x40, +0x02, 0x08, 0x00, 0x40, 0x43, 0x0A, 0x00, 0x20, +0x80, 0x23, 0xDB, 0x05, 0x59, 0x68, 0x80, 0x22, +0x12, 0x01, 0x0A, 0x43, 0x5A, 0x60, 0xC0, 0x46, +0xC0, 0x46, 0xC0, 0x46, 0xC0, 0x46, 0x62, 0xB6, +0x70, 0x47, 0x70, 0xB5, 0x12, 0x49, 0x13, 0x4B, +0x04, 0x24, 0x19, 0x60, 0x12, 0x4B, 0x13, 0x4D, +0x1A, 0x68, 0x22, 0x43, 0x1A, 0x60, 0x1A, 0x68, +0x02, 0x24, 0xA2, 0x43, 0x1A, 0x60, 0x1A, 0x68, +0x01, 0x24, 0x22, 0x43, 0x0E, 0x4C, 0x1A, 0x60, +0x00, 0x22, 0x22, 0x60, 0x0D, 0x4A, 0x11, 0x60, +0x2E, 0x78, 0xED, 0x78, 0x70, 0x43, 0x01, 0x35, +0xE8, 0x40, 0x09, 0x1A, 0x11, 0x60, 0x20, 0x68, +0x11, 0x68, 0x88, 0x42, 0xFB, 0xD2, 0x1A, 0x68, +0x01, 0x21, 0x8A, 0x43, 0x1A, 0x60, 0x70, 0xBD, +0xFF, 0xFF, 0xFF, 0x00, 0x14, 0xE0, 0x00, 0xE0, +0x10, 0xE0, 0x00, 0xE0, 0x80, 0x0B, 0x00, 0x20, +0x18, 0xE0, 0x00, 0xE0, 0xB4, 0x07, 0x00, 0x20, +0x02, 0x4B, 0x1B, 0x78, 0x58, 0x43, 0x01, 0x30, +0x40, 0x18, 0x70, 0x47, 0x0C, 0x0B, 0x00, 0x20, +0xF0, 0xB5, 0x89, 0xB0, 0x00, 0x25, 0x36, 0x4B, +0x07, 0x1C, 0x68, 0x46, 0x03, 0x91, 0x06, 0x95, +0x85, 0x83, 0xDC, 0x78, 0x33, 0x4B, 0x16, 0x1C, +0x1B, 0x7D, 0x5B, 0xB2, 0x02, 0x93, 0x93, 0x1E, +0x5A, 0x1E, 0x93, 0x41, 0x5B, 0x42, 0x05, 0x93, +0x3F, 0xE0, 0x01, 0x3C, 0xE4, 0xB2, 0x00, 0x2E, +0x07, 0xD1, 0x17, 0x22, 0x62, 0x43, 0x2C, 0x4B, +0xD2, 0x19, 0xD5, 0x56, 0x02, 0x99, 0x6D, 0x18, +0x09, 0xE0, 0x01, 0x2E, 0x05, 0xD1, 0x15, 0x23, +0x63, 0x43, 0x28, 0x4A, 0xDB, 0x19, 0x9D, 0x56, +0x01, 0xE0, 0x05, 0x9B, 0x1D, 0x40, 0x03, 0x98, +0x2D, 0x18, 0x29, 0x1C, 0x08, 0x31, 0x02, 0xDA, +0x08, 0x25, 0x6D, 0x42, 0x02, 0xE0, 0x07, 0x2D, +0x00, 0xDD, 0x07, 0x25, 0x0F, 0x23, 0x1D, 0x40, +0x1F, 0x4B, 0x68, 0x46, 0x1A, 0x5D, 0x03, 0x21, +0xC2, 0x74, 0x18, 0x5D, 0x40, 0xB2, 0x02, 0x30, +0x00, 0xF0, 0x62, 0xFE, 0x49, 0x00, 0x01, 0x91, +0x13, 0x20, 0x69, 0x46, 0x08, 0x56, 0x03, 0x21, +0x00, 0xF0, 0x04, 0xFE, 0x42, 0xB2, 0x92, 0x00, +0x01, 0x99, 0x2B, 0x1C, 0x93, 0x40, 0x06, 0xA8, +0x1A, 0x1C, 0x0B, 0x5A, 0x13, 0x43, 0x02, 0x1C, +0x8B, 0x52, 0x00, 0x2C, 0xBD, 0xD1, 0x11, 0x4B, +0x11, 0x4D, 0x1C, 0x78, 0x0C, 0x26, 0x0E, 0xE0, +0x01, 0x3C, 0xE4, 0xB2, 0x38, 0x1C, 0x21, 0x1C, +0xFF, 0xF7, 0x96, 0xFF, 0x3F, 0x28, 0x06, 0xDC, +0x70, 0x43, 0x63, 0x00, 0x18, 0x33, 0x69, 0x46, +0x5B, 0x5A, 0x42, 0x5B, 0x43, 0x53, 0x00, 0x2C, +0xEE, 0xD1, 0x09, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, +0x43, 0x0A, 0x00, 0x20, 0x24, 0x0D, 0x00, 0x20, +0x00, 0x11, 0x00, 0x20, 0x88, 0x0B, 0x00, 0x20, +0xF8, 0x07, 0x00, 0x20, 0x0C, 0x0B, 0x00, 0x20, +0x00, 0x0C, 0x00, 0x40, 0xF7, 0xB5, 0x23, 0x4B, +0x9D, 0x78, 0x3E, 0xE0, 0x21, 0x4A, 0x17, 0x23, +0xD4, 0x78, 0x21, 0x4A, 0x66, 0x1E, 0x5E, 0x43, +0xAE, 0x19, 0xB6, 0x18, 0x1F, 0x4F, 0x32, 0xE0, +0x1F, 0x4B, 0x01, 0x3C, 0x18, 0x5D, 0x03, 0x21, +0x40, 0xB2, 0x02, 0x30, 0x00, 0xF0, 0x10, 0xFE, +0x28, 0x1C, 0xC9, 0xB2, 0xFF, 0xF7, 0x60, 0xFF, +0x3F, 0x28, 0x21, 0xDC, 0x0C, 0x23, 0x58, 0x43, +0x17, 0x4A, 0xC3, 0x5B, 0xC3, 0x5B, 0x10, 0x5D, +0x03, 0x21, 0x1A, 0xB2, 0x40, 0xB2, 0x01, 0x92, +0x00, 0xF0, 0xA8, 0xFD, 0x01, 0x9B, 0x40, 0xB2, +0x80, 0x00, 0x03, 0x41, 0x18, 0x1C, 0x0F, 0x23, +0x18, 0x40, 0x83, 0xB2, 0x08, 0x22, 0x13, 0x42, +0x02, 0xD0, 0x18, 0x1C, 0x10, 0x38, 0x80, 0xB2, +0x0C, 0x4A, 0x0D, 0x4B, 0x92, 0x7C, 0x5B, 0x5D, +0x80, 0x1A, 0xC0, 0x1A, 0x30, 0x70, 0x01, 0xE0, +0x00, 0x22, 0x32, 0x70, 0x17, 0x3E, 0x00, 0x2C, +0xCA, 0xD1, 0x01, 0x3D, 0x6B, 0x1C, 0xBD, 0xD1, +0xF7, 0xBD, 0xC0, 0x46, 0x43, 0x0A, 0x00, 0x20, +0x00, 0x11, 0x00, 0x20, 0x00, 0x0C, 0x00, 0x40, +0xF8, 0x07, 0x00, 0x20, 0x24, 0x0D, 0x00, 0x20, +0xBB, 0x06, 0x00, 0x20, 0x70, 0xB5, 0x24, 0x4A, +0x80, 0x23, 0xDB, 0x05, 0x54, 0x7A, 0x9D, 0x68, +0x07, 0x21, 0x22, 0x48, 0x0C, 0x40, 0x24, 0x03, +0x28, 0x40, 0x20, 0x43, 0x98, 0x60, 0x9C, 0x68, +0x1F, 0x48, 0x20, 0x40, 0x98, 0x60, 0x9C, 0x68, +0x1E, 0x48, 0x20, 0x40, 0x98, 0x60, 0x14, 0x7A, +0x3F, 0x20, 0x9D, 0x68, 0x04, 0x40, 0x1C, 0x48, +0xA4, 0x04, 0x28, 0x40, 0x20, 0x43, 0x98, 0x60, +0xD0, 0x79, 0x9C, 0x68, 0x01, 0x40, 0x08, 0x06, +0x18, 0x49, 0x21, 0x40, 0x01, 0x43, 0x99, 0x60, +0x98, 0x68, 0x80, 0x21, 0x09, 0x05, 0x01, 0x43, +0x15, 0x48, 0x99, 0x60, 0x04, 0x68, 0x19, 0x1C, +0x38, 0x31, 0x0C, 0x70, 0x45, 0x68, 0x9E, 0x6B, +0x7F, 0x21, 0x12, 0x4C, 0x0D, 0x40, 0x34, 0x40, +0x2D, 0x02, 0x2C, 0x43, 0x9C, 0x63, 0x84, 0x68, +0x9D, 0x6B, 0x0F, 0x48, 0x0C, 0x40, 0x28, 0x40, +0x24, 0x04, 0x20, 0x43, 0x98, 0x63, 0x12, 0x79, +0x98, 0x6B, 0x11, 0x40, 0x0A, 0x06, 0x0B, 0x49, +0x01, 0x40, 0x11, 0x43, 0x99, 0x63, 0x70, 0xBD, +0x24, 0x0D, 0x00, 0x20, 0xFF, 0x8F, 0xFF, 0xFF, +0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, +0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, +0xC0, 0x07, 0x00, 0x20, 0xFF, 0x80, 0xFF, 0xFF, +0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, +0xF0, 0xB5, 0x8D, 0xB0, 0x03, 0xAE, 0x30, 0x1C, +0x00, 0x21, 0x24, 0x22, 0x00, 0xF0, 0xB6, 0xFD, +0x3C, 0x4B, 0x3D, 0x4F, 0xDC, 0x78, 0x25, 0x1C, +0x26, 0xE0, 0x01, 0x3D, 0xED, 0xB2, 0x7B, 0x5D, +0x6A, 0x46, 0xD3, 0x70, 0x78, 0x5D, 0x03, 0x21, +0x40, 0xB2, 0x02, 0x30, 0x00, 0xF0, 0x5C, 0xFD, +0x0C, 0x26, 0x4E, 0x43, 0x6A, 0x1C, 0x03, 0xAB, +0x9E, 0x19, 0x01, 0x92, 0x6B, 0x46, 0x03, 0x20, +0x18, 0x56, 0x03, 0x21, 0x00, 0xF0, 0xFA, 0xFC, +0x01, 0x9A, 0x40, 0xB2, 0x80, 0x00, 0x33, 0x89, +0x82, 0x40, 0x10, 0x1C, 0x18, 0x43, 0x30, 0x81, +0x7B, 0x5D, 0x01, 0x22, 0x5B, 0xB2, 0x9A, 0x40, +0x13, 0x1C, 0x72, 0x88, 0x13, 0x43, 0x73, 0x80, +0x00, 0x2D, 0xD6, 0xD1, 0x25, 0x4B, 0x9D, 0x78, +0x1E, 0xE0, 0x26, 0x4F, 0x3E, 0x78, 0x19, 0xE0, +0x01, 0x3E, 0xF6, 0xB2, 0x28, 0x1C, 0x31, 0x1C, +0xFF, 0xF7, 0x86, 0xFE, 0x3F, 0x28, 0x11, 0xDC, +0x0C, 0x22, 0x11, 0x1C, 0x20, 0x4F, 0x71, 0x43, +0x7B, 0x5D, 0x03, 0xAF, 0x79, 0x18, 0x5B, 0xB2, +0x01, 0x27, 0x50, 0x43, 0x9F, 0x40, 0x6B, 0x1C, +0x4B, 0x81, 0x1C, 0x4B, 0x4F, 0x60, 0xC0, 0x18, +0x00, 0xF0, 0x2A, 0xFD, 0x00, 0x2E, 0xE3, 0xD1, +0x01, 0x3D, 0x6F, 0x1C, 0xDD, 0xD1, 0x00, 0x25, +0x03, 0xAB, 0x1D, 0x81, 0x2E, 0x1C, 0x12, 0x4F, +0x12, 0xE0, 0x01, 0x3C, 0xE4, 0xB2, 0x38, 0x5D, +0x03, 0x21, 0x40, 0xB2, 0x00, 0xF0, 0xB6, 0xFC, +0x40, 0xB2, 0x43, 0x1C, 0x80, 0x00, 0x83, 0x40, +0x1D, 0x43, 0x3B, 0x5D, 0x01, 0x22, 0x5B, 0xB2, +0x9A, 0x40, 0x16, 0x43, 0xAD, 0xB2, 0xB6, 0xB2, +0x00, 0x2C, 0xEA, 0xD1, 0x03, 0xA9, 0x0D, 0x81, +0x4E, 0x80, 0x4C, 0x60, 0x4C, 0x81, 0x0C, 0x22, +0x06, 0x48, 0x00, 0xF0, 0x01, 0xFD, 0x0D, 0xB0, +0xF0, 0xBD, 0xC0, 0x46, 0x43, 0x0A, 0x00, 0x20, +0xF8, 0x07, 0x00, 0x20, 0x0C, 0x0B, 0x00, 0x20, +0xA4, 0x0D, 0x00, 0x20, 0x00, 0x0C, 0x00, 0x40, +0x10, 0xB5, 0x0B, 0x4A, 0x80, 0x23, 0xDB, 0x05, +0xD0, 0x7A, 0x1C, 0x6B, 0x1F, 0x21, 0x8C, 0x43, +0x02, 0x30, 0x08, 0x40, 0x21, 0x1C, 0x01, 0x43, +0x19, 0x63, 0x11, 0x7B, 0x58, 0x6B, 0x0F, 0x22, +0x90, 0x43, 0x02, 0x31, 0x11, 0x40, 0x02, 0x1C, +0x0A, 0x43, 0x5A, 0x63, 0x10, 0xBD, 0xC0, 0x46, +0x48, 0x0B, 0x00, 0x20, 0x00, 0xB5, 0x80, 0x21, +0xC9, 0x05, 0x0B, 0x79, 0x5A, 0x1E, 0x98, 0x42, +0x09, 0xDD, 0x01, 0xE0, 0xDA, 0xB2, 0x0A, 0x71, +0x01, 0x33, 0x83, 0x42, 0xFA, 0xDD, 0x04, 0xE0, +0xD3, 0xB2, 0x0B, 0x71, 0x01, 0x3A, 0x82, 0x42, +0xFA, 0xDA, 0x00, 0xBD, 0x08, 0xB5, 0x0C, 0x4A, +0x0C, 0x4B, 0x0D, 0x49, 0x01, 0xE0, 0x01, 0xCA, +0x01, 0xC3, 0x8B, 0x42, 0xFB, 0xD3, 0x0B, 0x4B, +0x0B, 0x49, 0x00, 0x22, 0x00, 0xE0, 0x04, 0xC3, +0x8B, 0x42, 0xFC, 0xD3, 0xFF, 0xF7, 0xBA, 0xFB, +0x08, 0x4B, 0x00, 0x22, 0x00, 0xE0, 0x04, 0xC3, +0x83, 0x42, 0xFC, 0xD3, 0x08, 0xBD, 0xC0, 0x46, +0x28, 0x37, 0x00, 0x00, 0x2C, 0x06, 0x00, 0x20, +0x50, 0x06, 0x00, 0x20, 0x50, 0x06, 0x00, 0x20, +0x08, 0x13, 0x00, 0x20, 0x18, 0x14, 0x00, 0x20, +0xF0, 0xB5, 0x2E, 0x4A, 0x2E, 0x49, 0x85, 0xB0, +0x13, 0x7B, 0x89, 0x79, 0xD5, 0x7A, 0x00, 0x20, +0x23, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x2B, 0x4A, +0x5C, 0x1C, 0x64, 0x00, 0xA6, 0x5A, 0x2A, 0x4F, +0x0E, 0x41, 0x5A, 0x00, 0xD6, 0x53, 0x9C, 0x46, +0x2A, 0x1C, 0x5F, 0x01, 0x01, 0x96, 0x02, 0x94, +0x10, 0xE0, 0x01, 0x3A, 0xD2, 0xB2, 0x25, 0x4B, +0x02, 0x9E, 0x54, 0x01, 0xE4, 0x18, 0x34, 0x5B, +0x23, 0x4E, 0x23, 0x1C, 0x01, 0x9C, 0x0B, 0x41, +0xE3, 0x1A, 0xC0, 0x18, 0xBB, 0x18, 0x9B, 0x00, +0x00, 0x24, 0x9C, 0x51, 0x00, 0x2A, 0xEC, 0xD1, +0x63, 0x46, 0x00, 0x2B, 0xD9, 0xD1, 0x1D, 0x4B, +0x1D, 0x4C, 0x19, 0x88, 0x16, 0x4B, 0x5E, 0x8D, +0x00, 0x2E, 0x02, 0xD1, 0x40, 0x23, 0x23, 0x60, +0x0D, 0xE0, 0x09, 0xB2, 0x9D, 0x8D, 0x00, 0xF0, +0x01, 0xFC, 0x76, 0x1B, 0xB6, 0x01, 0x41, 0x1B, +0x30, 0x1C, 0x00, 0xF0, 0xFB, 0xFB, 0x6E, 0x28, +0x00, 0xDD, 0x6E, 0x20, 0x20, 0x60, 0x0C, 0x4C, +0x64, 0x20, 0x63, 0x7D, 0x26, 0x7B, 0x58, 0x43, +0xA1, 0x79, 0x23, 0x79, 0x37, 0x1C, 0x8F, 0x40, +0x39, 0x1C, 0x58, 0x43, 0x00, 0xF0, 0xEA, 0xFB, +0x0C, 0x4D, 0x28, 0x60, 0x61, 0x7B, 0x70, 0x43, +0x00, 0xF0, 0xE4, 0xFB, 0x05, 0xB0, 0x68, 0x60, +0xF0, 0xBD, 0xC0, 0x46, 0x48, 0x0B, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0x00, 0x08, 0x00, 0x40, +0x6C, 0x12, 0x00, 0x20, 0x20, 0x08, 0x00, 0x40, +0x1C, 0x00, 0x00, 0x20, 0x0E, 0x0B, 0x00, 0x20, +0x20, 0x0B, 0x00, 0x20, 0xA4, 0x07, 0x00, 0x20, +0xF0, 0xB5, 0x1B, 0x4A, 0x85, 0xB0, 0xD5, 0x7A, +0x13, 0x7B, 0x1A, 0x4A, 0x1A, 0x48, 0x91, 0x79, +0xAC, 0x46, 0x01, 0x91, 0xD2, 0x7A, 0x02, 0x92, +0x18, 0x4A, 0x12, 0x68, 0x03, 0x92, 0x1A, 0xE0, +0x01, 0x3B, 0x17, 0x4C, 0xDB, 0xB2, 0x59, 0x01, +0x09, 0x19, 0x79, 0x5A, 0x01, 0x9D, 0x02, 0x9C, +0x29, 0x41, 0x00, 0x2C, 0x06, 0xD0, 0x13, 0x4D, +0xF4, 0x18, 0x64, 0x5D, 0x61, 0x43, 0x03, 0x9C, +0x61, 0x43, 0x09, 0x13, 0x54, 0x01, 0xE4, 0x18, +0xA4, 0x00, 0x25, 0x58, 0x49, 0x19, 0x21, 0x50, +0x00, 0x2B, 0xE5, 0xD1, 0x13, 0x1C, 0x5A, 0x1E, +0xD2, 0xB2, 0x00, 0x2B, 0x05, 0xD0, 0x57, 0x1C, +0x15, 0x26, 0x63, 0x46, 0x7F, 0x00, 0x56, 0x43, +0xF2, 0xE7, 0x05, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, +0x48, 0x0B, 0x00, 0x20, 0x24, 0x0D, 0x00, 0x20, +0x1C, 0x00, 0x00, 0x20, 0x20, 0x0B, 0x00, 0x20, +0x20, 0x08, 0x00, 0x40, 0x46, 0x09, 0x00, 0x20, +0xF0, 0xB5, 0x15, 0x4A, 0x85, 0xB0, 0x13, 0x7B, +0xD2, 0x7A, 0x14, 0x4F, 0x00, 0x92, 0x14, 0x4A, +0xD2, 0x7D, 0x01, 0x92, 0x13, 0xE0, 0x02, 0x99, +0x01, 0x3C, 0xE4, 0xB2, 0x0E, 0x19, 0xB6, 0x00, +0xF0, 0x59, 0x01, 0x99, 0x00, 0xF0, 0x28, 0xFB, +0x03, 0x9A, 0x0E, 0x49, 0x13, 0x19, 0x00, 0x04, +0x5B, 0x00, 0x00, 0x22, 0xF0, 0x51, 0x5A, 0x52, +0x00, 0x2C, 0xEC, 0xD1, 0x2B, 0x1C, 0x5D, 0x1E, +0xED, 0xB2, 0x00, 0x2B, 0x06, 0xD0, 0x15, 0x21, +0x69, 0x43, 0x6B, 0x01, 0x00, 0x9C, 0x02, 0x93, +0x03, 0x91, 0xF1, 0xE7, 0x05, 0xB0, 0xF0, 0xBD, +0x48, 0x0B, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0xC8, 0x0E, 0x00, 0x20, +0xF0, 0xB5, 0x85, 0xB0, 0x4D, 0x4A, 0x00, 0x21, +0x03, 0x90, 0x13, 0x7B, 0x0F, 0x1C, 0x00, 0x91, +0x77, 0xE0, 0x4A, 0x4A, 0x73, 0x1C, 0x5B, 0x00, +0xD5, 0x7A, 0x02, 0x93, 0x6E, 0xE0, 0x01, 0x3D, +0xED, 0xB2, 0x47, 0x49, 0x6B, 0x01, 0x59, 0x18, +0x02, 0x9A, 0x01, 0x91, 0x54, 0x5A, 0x45, 0x49, +0x8B, 0x79, 0xCA, 0x7A, 0x1C, 0x41, 0x23, 0x1C, +0x00, 0x2A, 0x09, 0xD0, 0x15, 0x21, 0x71, 0x43, +0x41, 0x4A, 0x49, 0x19, 0x8C, 0x5C, 0x41, 0x4A, +0x63, 0x43, 0x14, 0x68, 0x63, 0x43, 0x1B, 0x13, +0x71, 0x01, 0x3F, 0x4A, 0x49, 0x19, 0x89, 0x00, +0x8C, 0x58, 0x15, 0x22, 0x72, 0x43, 0x24, 0x0C, +0x1C, 0x1B, 0x52, 0x19, 0x3B, 0x4B, 0x52, 0x00, +0xD4, 0x52, 0x03, 0x9A, 0x00, 0x2A, 0x06, 0xD0, +0xE3, 0x17, 0x00, 0x99, 0xE4, 0x18, 0x5C, 0x40, +0xA1, 0x42, 0x3E, 0xDB, 0x3E, 0xE0, 0x31, 0x4A, +0x35, 0x4B, 0x00, 0x2C, 0x27, 0xDB, 0x12, 0x7E, +0x52, 0xB2, 0x94, 0x42, 0x06, 0xDB, 0x19, 0x68, +0xA2, 0x1A, 0x8A, 0x18, 0x1A, 0x60, 0xDA, 0x69, +0x01, 0x32, 0xDA, 0x61, 0x9A, 0x68, 0x94, 0x42, +0x00, 0xDD, 0x9C, 0x60, 0x27, 0x4B, 0xDB, 0x7E, +0x9C, 0x42, 0x04, 0xDB, 0x2B, 0x48, 0x31, 0x1C, +0x2A, 0x1C, 0x00, 0xF0, 0x97, 0xFA, 0x02, 0x9A, +0x01, 0x9B, 0x3F, 0x19, 0xA4, 0xB2, 0xD4, 0x52, +0x27, 0x4B, 0x6A, 0x00, 0xD1, 0x5A, 0x61, 0x18, +0xD1, 0x52, 0x26, 0x4B, 0x72, 0x00, 0xD1, 0x5A, +0x64, 0x18, 0xD4, 0x52, 0x12, 0xE0, 0x52, 0x7E, +0x52, 0xB2, 0x94, 0x42, 0x03, 0xDC, 0x59, 0x68, +0xA2, 0x1A, 0x8A, 0x18, 0x5A, 0x60, 0xDA, 0x68, +0x94, 0x42, 0x00, 0xDA, 0xDC, 0x60, 0x02, 0x99, +0x01, 0x9A, 0x00, 0x23, 0x3F, 0x1B, 0x8B, 0x52, +0x00, 0xE0, 0x00, 0x94, 0x00, 0x2D, 0x8E, 0xD1, +0x33, 0x1C, 0x5E, 0x1E, 0xF6, 0xB2, 0x00, 0x2B, +0x83, 0xD1, 0x17, 0x4B, 0x38, 0x1C, 0x00, 0x22, +0x99, 0x5E, 0x00, 0xF0, 0xCB, 0xFA, 0x10, 0x4B, +0x0A, 0x4A, 0x18, 0x62, 0x10, 0x21, 0x53, 0x5E, +0x92, 0x7B, 0x5B, 0x42, 0x93, 0x42, 0x00, 0xDD, +0x13, 0x1C, 0x00, 0x9A, 0x01, 0x20, 0x9A, 0x42, +0x00, 0xDB, 0x00, 0x20, 0x05, 0xB0, 0xC0, 0xB2, +0xF0, 0xBD, 0xC0, 0x46, 0x48, 0x0B, 0x00, 0x20, +0x20, 0x08, 0x00, 0x40, 0x24, 0x0D, 0x00, 0x20, +0x46, 0x09, 0x00, 0x20, 0x20, 0x0B, 0x00, 0x20, +0x1C, 0x00, 0x00, 0x20, 0xC8, 0x0E, 0x00, 0x20, +0xF4, 0x06, 0x00, 0x20, 0xC2, 0x10, 0x00, 0x20, +0xB8, 0x0A, 0x00, 0x20, 0x48, 0x0A, 0x00, 0x20, +0x0E, 0x0B, 0x00, 0x20, 0xF0, 0xB5, 0x4B, 0x4B, +0x00, 0x22, 0x1A, 0x70, 0x4A, 0x4B, 0x85, 0xB0, +0x1B, 0x78, 0x93, 0x42, 0x58, 0xD1, 0x49, 0x4B, +0x49, 0x4E, 0x5D, 0x7E, 0x1F, 0x7B, 0x2C, 0x1C, +0x7F, 0x1B, 0xFF, 0xB2, 0x17, 0xE0, 0x59, 0x7B, +0x20, 0x1C, 0x00, 0xF0, 0x2B, 0xF9, 0x45, 0x4A, +0x00, 0x23, 0xD3, 0x5E, 0x98, 0x42, 0x05, 0xDC, +0x33, 0x1C, 0x54, 0x33, 0x00, 0x22, 0x9B, 0x5E, +0x98, 0x42, 0x06, 0xDA, 0x3D, 0x4B, 0x01, 0x20, +0x59, 0x7B, 0x3F, 0x4B, 0x22, 0x1C, 0x1B, 0x68, +0x2B, 0xE0, 0x01, 0x34, 0xE4, 0xB2, 0x39, 0x4B, +0xBC, 0x42, 0xE4, 0xD3, 0x99, 0x7B, 0x03, 0xAA, +0x11, 0x70, 0xD9, 0x7B, 0x36, 0x4F, 0x51, 0x70, +0x19, 0x7C, 0x91, 0x70, 0xDA, 0x7A, 0x5B, 0x7E, +0xD3, 0x1A, 0xDB, 0xB2, 0x01, 0x93, 0x35, 0x4B, +0x1B, 0x78, 0x1F, 0xE0, 0x03, 0xAB, 0x9B, 0x5D, +0x21, 0x1C, 0x18, 0x1C, 0x00, 0x93, 0x00, 0xF0, +0xFD, 0xF8, 0x2E, 0x4A, 0x00, 0x23, 0xD3, 0x5E, +0x98, 0x42, 0x05, 0xDC, 0x3B, 0x1C, 0x54, 0x33, +0x00, 0x22, 0x9B, 0x5E, 0x98, 0x42, 0x07, 0xDA, +0x29, 0x4B, 0x00, 0x9A, 0x1B, 0x68, 0x01, 0x20, +0x21, 0x1C, 0x98, 0x47, 0x00, 0x20, 0x3F, 0xE0, +0x01, 0x34, 0xE4, 0xB2, 0x01, 0x9B, 0x9C, 0x42, +0xE0, 0xD3, 0x33, 0x1C, 0x5E, 0x1E, 0xF6, 0xB2, +0x00, 0x2B, 0x01, 0xD0, 0x2C, 0x1C, 0xF5, 0xE7, +0x21, 0x4C, 0x00, 0x21, 0x24, 0x22, 0x20, 0x1C, +0x00, 0xF0, 0xD8, 0xFA, 0x1F, 0x4E, 0x7F, 0x23, +0x00, 0x25, 0xB3, 0x70, 0x33, 0x70, 0x29, 0x1C, +0x40, 0x22, 0xF5, 0x70, 0x75, 0x70, 0x1C, 0x48, +0x00, 0xF0, 0xCC, 0xFA, 0x29, 0x1C, 0x18, 0x22, +0x1A, 0x48, 0x00, 0xF0, 0xC7, 0xFA, 0x28, 0x1C, +0xFF, 0xF7, 0xCE, 0xFE, 0xA2, 0x68, 0x10, 0x4B, +0x22, 0x61, 0x99, 0x7B, 0x8A, 0x42, 0x04, 0xDC, +0x10, 0x22, 0x9B, 0x5E, 0xE2, 0x68, 0x9A, 0x42, +0x02, 0xDA, 0x08, 0x4B, 0x01, 0x22, 0x1A, 0x70, +0x01, 0x21, 0x00, 0x22, 0x71, 0x56, 0xB2, 0x56, +0x01, 0x20, 0x0F, 0x4B, 0x91, 0x42, 0x01, 0xDB, +0x18, 0x70, 0x01, 0xE0, 0x00, 0x22, 0x1A, 0x70, +0x05, 0xB0, 0xF0, 0xBD, 0xEC, 0x06, 0x00, 0x20, +0xB5, 0x06, 0x00, 0x20, 0x48, 0x0B, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0x76, 0x0D, 0x00, 0x20, +0x58, 0x06, 0x00, 0x20, 0x0C, 0x0B, 0x00, 0x20, +0xF4, 0x06, 0x00, 0x20, 0xC2, 0x10, 0x00, 0x20, +0xB8, 0x0A, 0x00, 0x20, 0x48, 0x0A, 0x00, 0x20, +0x04, 0x08, 0x00, 0x20, 0xF0, 0xB5, 0x85, 0xB0, +0x21, 0x4B, 0x02, 0x91, 0x03, 0x92, 0x00, 0x21, +0x5B, 0x78, 0x0A, 0x1C, 0x34, 0xE0, 0x01, 0x3B, +0xDB, 0xB2, 0x44, 0x1C, 0x05, 0xD0, 0x5C, 0x01, +0x24, 0x18, 0x1C, 0x4D, 0xA4, 0x00, 0x2F, 0x5B, +0x02, 0xE0, 0x1B, 0x4E, 0x5C, 0x00, 0xA7, 0x5B, +0x5E, 0x1C, 0x1A, 0x4C, 0x1A, 0x4D, 0x76, 0x00, +0x34, 0x5B, 0xAD, 0x79, 0x3F, 0xB2, 0x2C, 0x41, +0xE7, 0x1B, 0x00, 0x94, 0x01, 0x97, 0x47, 0x1C, +0x05, 0xD0, 0x5F, 0x01, 0x3F, 0x18, 0x11, 0x4E, +0xBF, 0x00, 0xBC, 0x51, 0x09, 0xE0, 0x5C, 0x00, +0x6D, 0x46, 0xA4, 0x46, 0x0E, 0x4F, 0x2C, 0x88, +0x65, 0x46, 0xEC, 0x53, 0x0D, 0x4D, 0x00, 0x24, +0x74, 0x53, 0x01, 0x9F, 0xFC, 0x17, 0x3E, 0x19, +0x66, 0x40, 0xB4, 0xB2, 0x61, 0x18, 0x89, 0xB2, +0xB2, 0x42, 0x00, 0xDB, 0x14, 0x1C, 0x22, 0x1C, +0x00, 0x2B, 0xC8, 0xD1, 0x02, 0x9D, 0x03, 0x9E, +0x05, 0xB0, 0x29, 0x80, 0x32, 0x80, 0xF0, 0xBD, +0x43, 0x0A, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20, +0x6C, 0x12, 0x00, 0x20, 0x00, 0x08, 0x00, 0x40, +0x24, 0x0D, 0x00, 0x20, 0xF7, 0xB5, 0x18, 0x4B, +0x18, 0x4A, 0x9B, 0x7D, 0x14, 0x6A, 0x9C, 0x40, +0x00, 0x2C, 0x00, 0xDC, 0x01, 0x24, 0x16, 0x4B, +0x00, 0x22, 0x9A, 0x56, 0x15, 0x4B, 0x92, 0x00, +0xD3, 0x58, 0x15, 0x4A, 0x5C, 0x43, 0x13, 0x7B, +0xD2, 0x7A, 0x14, 0x49, 0x01, 0x92, 0xA4, 0x46, +0x0F, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0xEC, 0x18, +0x67, 0x00, 0x11, 0x4C, 0xF0, 0x18, 0x3F, 0x5F, +0x64, 0x46, 0x67, 0x43, 0x80, 0x00, 0x44, 0x58, +0x3C, 0x19, 0x44, 0x50, 0x00, 0x2B, 0xF0, 0xD1, +0x13, 0x1C, 0x5A, 0x1E, 0xD2, 0xB2, 0x00, 0x2B, +0x04, 0xD0, 0x15, 0x25, 0x01, 0x9B, 0x56, 0x01, +0x55, 0x43, 0xF3, 0xE7, 0x01, 0x20, 0xFE, 0xBD, +0x24, 0x0D, 0x00, 0x20, 0xF4, 0x06, 0x00, 0x20, +0x3B, 0x06, 0x00, 0x20, 0xA4, 0x07, 0x00, 0x20, +0x48, 0x0B, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20, +0xC8, 0x0E, 0x00, 0x20, 0x07, 0x4B, 0x49, 0x01, +0xC9, 0x18, 0x43, 0x1C, 0x5B, 0x00, 0x06, 0x4A, +0x59, 0x5A, 0x06, 0x4B, 0x40, 0x00, 0x92, 0x79, +0xC3, 0x5A, 0x08, 0x1C, 0x10, 0x41, 0x18, 0x1A, +0x70, 0x47, 0xC0, 0x46, 0x20, 0x08, 0x00, 0x40, +0x24, 0x0D, 0x00, 0x20, 0x6C, 0x12, 0x00, 0x20, +0x08, 0xB5, 0x78, 0x22, 0x05, 0x48, 0x06, 0x49, +0x00, 0xF0, 0xA6, 0xF9, 0x05, 0x4B, 0x06, 0x4A, +0x04, 0x33, 0xDB, 0x7F, 0x13, 0x70, 0x05, 0x4A, +0x13, 0x70, 0x08, 0xBD, 0x24, 0x0D, 0x00, 0x20, +0x84, 0x12, 0x00, 0x20, 0x48, 0x0B, 0x00, 0x20, +0x60, 0x0A, 0x00, 0x20, 0x42, 0x0A, 0x00, 0x20, +0x08, 0xB5, 0xC1, 0x05, 0x09, 0x1A, 0x89, 0x00, +0x09, 0x18, 0x04, 0x4B, 0xC9, 0x01, 0x09, 0x18, +0xC9, 0x18, 0x03, 0x48, 0x00, 0xF0, 0x26, 0xF9, +0xC0, 0xB2, 0x08, 0xBD, 0xDA, 0xEB, 0x01, 0x00, +0x40, 0x42, 0x0F, 0x00, 0x10, 0xB5, 0x1A, 0x4B, +0x00, 0x22, 0xDA, 0x70, 0x01, 0x22, 0x1A, 0x71, +0xB0, 0x22, 0x9A, 0x70, 0x11, 0x22, 0x1A, 0x70, +0x0C, 0x22, 0x5A, 0x71, 0x02, 0x22, 0x9A, 0x71, +0x09, 0x22, 0xDA, 0x71, 0x13, 0x4A, 0x12, 0x78, +0xAA, 0x2A, 0x1F, 0xD1, 0x12, 0x49, 0x13, 0x4A, +0x00, 0x24, 0x0C, 0x57, 0x12, 0x49, 0x12, 0x78, +0x09, 0x78, 0x50, 0xB2, 0x49, 0xB2, 0x04, 0x19, +0x64, 0x18, 0x10, 0x49, 0x09, 0x78, 0x49, 0xB2, +0x8C, 0x42, 0x0F, 0xD1, 0x0E, 0x49, 0x9C, 0x78, +0x4D, 0x31, 0x09, 0x78, 0x20, 0x18, 0x40, 0x18, +0xFF, 0x28, 0x03, 0xDD, 0xC9, 0x43, 0xC9, 0xB2, +0x99, 0x70, 0x03, 0xE0, 0x99, 0x78, 0x8A, 0x18, +0xD2, 0xB2, 0x9A, 0x70, 0x10, 0xBD, 0xC0, 0x46, +0x80, 0x0B, 0x00, 0x20, 0xA0, 0x00, 0xE0, 0x00, +0xA2, 0x00, 0xE0, 0x00, 0xA1, 0x00, 0xE0, 0x00, +0xA3, 0x00, 0xE0, 0x00, 0xA4, 0x00, 0xE0, 0x00, +0x24, 0x0D, 0x00, 0x20, 0x70, 0xB5, 0x20, 0x4D, +0x6B, 0x79, 0xDA, 0x08, 0x01, 0xD0, 0x08, 0x3B, +0xDB, 0xB2, 0x00, 0x26, 0x07, 0x2B, 0x03, 0xD0, +0x02, 0x22, 0x9A, 0x42, 0x76, 0x41, 0x96, 0x1B, +0x2B, 0x78, 0x1A, 0x4C, 0x9A, 0x00, 0xD3, 0x18, +0x33, 0x41, 0xDB, 0xB2, 0x23, 0x60, 0x2B, 0x78, +0xFA, 0x20, 0x80, 0x00, 0x58, 0x43, 0x16, 0x4B, +0x01, 0x36, 0x59, 0x88, 0xB1, 0x40, 0x00, 0xF0, +0xBD, 0xF8, 0xC1, 0xB2, 0x61, 0x60, 0x2B, 0x78, +0x2D, 0x20, 0xB1, 0x40, 0x58, 0x43, 0x00, 0xF0, +0xB5, 0xF8, 0x10, 0x49, 0xC0, 0xB2, 0xA0, 0x60, +0xCB, 0x7A, 0x0F, 0x4A, 0x13, 0x70, 0x08, 0x7B, +0x93, 0x70, 0x50, 0x70, 0xD0, 0x70, 0x58, 0x43, +0x0C, 0x4A, 0x10, 0x80, 0x0C, 0x4A, 0x10, 0x80, +0x8A, 0x7A, 0x51, 0x42, 0x4A, 0x41, 0x02, 0x32, +0x53, 0x43, 0x0A, 0x49, 0x01, 0x33, 0x0A, 0x70, +0x09, 0x49, 0x0B, 0x60, 0x70, 0xBD, 0xC0, 0x46, +0x80, 0x0B, 0x00, 0x20, 0xC0, 0x07, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0x48, 0x0B, 0x00, 0x20, +0x43, 0x0A, 0x00, 0x20, 0x0E, 0x0B, 0x00, 0x20, +0x9A, 0x0C, 0x00, 0x20, 0x0C, 0x0B, 0x00, 0x20, +0x08, 0x0B, 0x00, 0x20, 0x00, 0xB5, 0x07, 0x4A, +0x13, 0x68, 0x03, 0x60, 0x03, 0x23, 0x08, 0x1C, +0x98, 0x43, 0x03, 0x1C, 0x88, 0x42, 0x00, 0xD0, +0x04, 0x33, 0x11, 0x68, 0xCB, 0x18, 0x13, 0x60, +0x00, 0xBD, 0xC0, 0x46, 0x34, 0x06, 0x00, 0x20, +0x10, 0xB5, 0x1C, 0x1C, 0x02, 0x9B, 0x88, 0x42, +0x0A, 0xDB, 0x90, 0x42, 0x07, 0xDA, 0x1B, 0x1B, +0x40, 0x1A, 0x58, 0x43, 0x51, 0x1A, 0x00, 0xF0, +0x69, 0xF8, 0x24, 0x18, 0x00, 0xE0, 0x1C, 0x1C, +0x20, 0x1C, 0x10, 0xBD, 0x00, 0xB5, 0x01, 0x23, +0xC3, 0x56, 0x8B, 0x42, 0x00, 0xDA, 0x41, 0x70, +0x00, 0x23, 0xC3, 0x56, 0x8B, 0x42, 0x00, 0xDD, +0x01, 0x70, 0x03, 0x23, 0xC3, 0x56, 0x93, 0x42, +0x00, 0xDA, 0xC2, 0x70, 0x02, 0x23, 0xC3, 0x56, +0x93, 0x42, 0x00, 0xDD, 0x82, 0x70, 0x00, 0xBD, +0x00, 0x29, 0x34, 0xD0, 0x01, 0x23, 0x00, 0x22, +0x10, 0xB4, 0x88, 0x42, 0x2C, 0xD3, 0x01, 0x24, +0x24, 0x07, 0xA1, 0x42, 0x04, 0xD2, 0x81, 0x42, +0x02, 0xD2, 0x09, 0x01, 0x1B, 0x01, 0xF8, 0xE7, +0xE4, 0x00, 0xA1, 0x42, 0x04, 0xD2, 0x81, 0x42, +0x02, 0xD2, 0x49, 0x00, 0x5B, 0x00, 0xF8, 0xE7, +0x88, 0x42, 0x01, 0xD3, 0x40, 0x1A, 0x1A, 0x43, +0x4C, 0x08, 0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, +0x5C, 0x08, 0x22, 0x43, 0x8C, 0x08, 0xA0, 0x42, +0x02, 0xD3, 0x00, 0x1B, 0x9C, 0x08, 0x22, 0x43, +0xCC, 0x08, 0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, +0xDC, 0x08, 0x22, 0x43, 0x00, 0x28, 0x03, 0xD0, +0x1B, 0x09, 0x01, 0xD0, 0x09, 0x09, 0xE3, 0xE7, +0x10, 0x1C, 0x10, 0xBC, 0x70, 0x47, 0x00, 0x28, +0x01, 0xD0, 0x00, 0x20, 0xC0, 0x43, 0x07, 0xB4, +0x02, 0x48, 0x02, 0xA1, 0x40, 0x18, 0x02, 0x90, +0x03, 0xBD, 0xC0, 0x46, 0xD9, 0x00, 0x00, 0x00, +0x00, 0x29, 0xF0, 0xD0, 0x03, 0xB5, 0xFF, 0xF7, +0xB9, 0xFF, 0x0E, 0xBC, 0x42, 0x43, 0x89, 0x1A, +0x18, 0x47, 0xC0, 0x46, 0x00, 0x29, 0x41, 0xD0, +0x10, 0xB4, 0x04, 0x1C, 0x4C, 0x40, 0xA4, 0x46, +0x01, 0x23, 0x00, 0x22, 0x00, 0x29, 0x00, 0xD5, +0x49, 0x42, 0x00, 0x28, 0x00, 0xD5, 0x40, 0x42, +0x88, 0x42, 0x2C, 0xD3, 0x01, 0x24, 0x24, 0x07, +0xA1, 0x42, 0x04, 0xD2, 0x81, 0x42, 0x02, 0xD2, +0x09, 0x01, 0x1B, 0x01, 0xF8, 0xE7, 0xE4, 0x00, +0xA1, 0x42, 0x04, 0xD2, 0x81, 0x42, 0x02, 0xD2, +0x49, 0x00, 0x5B, 0x00, 0xF8, 0xE7, 0x88, 0x42, +0x01, 0xD3, 0x40, 0x1A, 0x1A, 0x43, 0x4C, 0x08, +0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, 0x5C, 0x08, +0x22, 0x43, 0x8C, 0x08, 0xA0, 0x42, 0x02, 0xD3, +0x00, 0x1B, 0x9C, 0x08, 0x22, 0x43, 0xCC, 0x08, +0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, 0xDC, 0x08, +0x22, 0x43, 0x00, 0x28, 0x03, 0xD0, 0x1B, 0x09, +0x01, 0xD0, 0x09, 0x09, 0xE3, 0xE7, 0x10, 0x1C, +0x64, 0x46, 0x00, 0x2C, 0x00, 0xD5, 0x40, 0x42, +0x10, 0xBC, 0x70, 0x47, 0x00, 0x28, 0x06, 0xD0, +0x03, 0xDB, 0x00, 0x20, 0xC0, 0x43, 0x40, 0x08, +0x01, 0xE0, 0x80, 0x20, 0x00, 0x06, 0x07, 0xB4, +0x02, 0x48, 0x02, 0xA1, 0x40, 0x18, 0x02, 0x90, +0x03, 0xBD, 0xC0, 0x46, 0x19, 0x00, 0x00, 0x00, +0x00, 0x29, 0xEB, 0xD0, 0x03, 0xB5, 0xFF, 0xF7, +0xA7, 0xFF, 0x0E, 0xBC, 0x42, 0x43, 0x89, 0x1A, +0x18, 0x47, 0xC0, 0x46, 0x70, 0x47, 0xC0, 0x46, +0xF0, 0xB5, 0x05, 0x1C, 0x0F, 0x2A, 0x2F, 0xD9, +0x0B, 0x1C, 0x03, 0x43, 0x05, 0x1C, 0x9C, 0x07, +0x2C, 0xD1, 0x0C, 0x1C, 0x03, 0x1C, 0x15, 0x1C, +0x26, 0x68, 0x10, 0x3D, 0x1E, 0x60, 0x66, 0x68, +0x5E, 0x60, 0xA6, 0x68, 0x9E, 0x60, 0xE6, 0x68, +0x10, 0x34, 0xDE, 0x60, 0x10, 0x33, 0x0F, 0x2D, +0xF2, 0xD8, 0x13, 0x1C, 0x10, 0x3B, 0x1B, 0x09, +0x01, 0x33, 0x1B, 0x01, 0xC5, 0x18, 0xC9, 0x18, +0x0F, 0x23, 0x1A, 0x40, 0x03, 0x2A, 0x0F, 0xD9, +0x0E, 0x1C, 0x2C, 0x1C, 0x13, 0x1C, 0x80, 0xCE, +0x04, 0x3B, 0x80, 0xC4, 0x03, 0x2B, 0xFA, 0xD8, +0x13, 0x1F, 0x9B, 0x08, 0x01, 0x33, 0x9B, 0x00, +0x03, 0x24, 0x22, 0x40, 0xC9, 0x18, 0xED, 0x18, +0x00, 0x2A, 0x05, 0xD0, 0x00, 0x23, 0xCC, 0x5C, +0xEC, 0x54, 0x01, 0x33, 0x93, 0x42, 0xFA, 0xD1, +0xF0, 0xBD, 0xC0, 0x46, 0x70, 0xB5, 0x83, 0x07, +0x42, 0xD0, 0x00, 0x2A, 0x3F, 0xD0, 0x01, 0x3A, +0xCE, 0xB2, 0x03, 0x1C, 0x03, 0x25, 0x03, 0xE0, +0x54, 0x1E, 0x00, 0x2A, 0x37, 0xD0, 0x22, 0x1C, +0x1E, 0x70, 0x01, 0x33, 0x2B, 0x42, 0xF7, 0xD1, +0x03, 0x2A, 0x28, 0xD9, 0xFF, 0x25, 0x0D, 0x40, +0x2C, 0x02, 0x25, 0x43, 0x2C, 0x04, 0x25, 0x43, +0x0F, 0x2A, 0x13, 0xD9, 0x1C, 0x1C, 0x16, 0x1C, +0x10, 0x3E, 0x25, 0x60, 0x65, 0x60, 0xA5, 0x60, +0xE5, 0x60, 0x10, 0x34, 0x0F, 0x2E, 0xF7, 0xD8, +0x14, 0x1C, 0x10, 0x3C, 0x24, 0x09, 0x01, 0x34, +0x24, 0x01, 0x1B, 0x19, 0x0F, 0x24, 0x22, 0x40, +0x03, 0x2A, 0x0C, 0xD9, 0x1E, 0x1C, 0x14, 0x1C, +0x04, 0x3C, 0x20, 0xC6, 0x03, 0x2C, 0xFB, 0xD8, +0x14, 0x1F, 0xA4, 0x08, 0x01, 0x34, 0xA4, 0x00, +0x03, 0x25, 0x2A, 0x40, 0x1B, 0x19, 0x00, 0x2A, +0x05, 0xD0, 0xC9, 0xB2, 0x01, 0x3A, 0x19, 0x70, +0x01, 0x33, 0x00, 0x2A, 0xFA, 0xD1, 0x70, 0xBD, +0x03, 0x1C, 0xC9, 0xE7, 0x48, 0x0B, 0x00, 0x20, +0x84, 0x12, 0x00, 0x20, 0xA4, 0x0D, 0x00, 0x20, +0xF8, 0x07, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xBB, 0x06, 0x00, 0x20, +0xA4, 0x0C, 0x00, 0x20, 0x46, 0x09, 0x00, 0x20, +0x00, 0x00, 0x00, 0x00, 0x2C, 0x09, 0x00, 0x20, +0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x06, 0x04, +0x03, 0x00, 0xFF, 0x01, 0x00, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x05, +0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0B, 0x0C, +0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x11, 0x12, 0x13, +0x14, 0x15, 0x15, 0x16, 0x17, 0x18, 0x18, 0x19, +0x1A, 0x1B, 0x1B, 0x1C, 0x1D, 0x1D, 0x1E, 0x1F, +0x1F, 0x20, 0x21, 0x21, 0x22, 0x23, 0x23, 0x24, +0x24, 0x25, 0x25, 0x26, 0x27, 0x27, 0x28, 0x28, +0x29, 0x29, 0x2A, 0x2A, 0x2B, 0x2B, 0x2C, 0x2C, +0x2D, 0x2D, 0x00, 0x00, 0x78, 0x04, 0xEF, 0x08, +0x66, 0x0D, 0xDB, 0x11, 0x50, 0x16, 0xC2, 0x1A, +0x33, 0x1F, 0xA1, 0x23, 0x0C, 0x28, 0x74, 0x2C, +0xD9, 0x30, 0x39, 0x35, 0x96, 0x39, 0xEE, 0x3D, +0x42, 0x42, 0x90, 0x46, 0xD9, 0x4A, 0x1B, 0x4F, +0x58, 0x53, 0x8E, 0x57, 0xBE, 0x5B, 0xE6, 0x5F, +0x07, 0x64, 0x1F, 0x68, 0x30, 0x6C, 0x39, 0x70, +0x38, 0x74, 0x2F, 0x78, 0x1C, 0x7C, 0xFF, 0x7F, +0xD9, 0x83, 0xA8, 0x87, 0x6D, 0x8B, 0x27, 0x8F, +0xD5, 0x92, 0x79, 0x96, 0x10, 0x9A, 0x9B, 0x9D, +0x1B, 0xA1, 0x8D, 0xA4, 0xF3, 0xA7, 0x4B, 0xAB, +0x97, 0xAE, 0xD4, 0xB1, 0x04, 0xB5, 0x26, 0xB8, +0x39, 0xBB, 0x3E, 0xBE, 0x34, 0xC1, 0x1B, 0xC4, +0xF2, 0xC6, 0xBA, 0xC9, 0x73, 0xCC, 0x1B, 0xCF, +0xB3, 0xD1, 0x3B, 0xD4, 0xB2, 0xD6, 0x19, 0xD9, +0x6E, 0xDB, 0xB3, 0xDD, 0xE6, 0xDF, 0x08, 0xE2, +0x18, 0xE4, 0x16, 0xE6, 0x03, 0xE8, 0xDD, 0xE9, +0xA5, 0xEB, 0x5B, 0xED, 0xFE, 0xEE, 0x8F, 0xF0, +0x0D, 0xF2, 0x77, 0xF3, 0xCF, 0xF4, 0x14, 0xF6, +0x46, 0xF7, 0x64, 0xF8, 0x6F, 0xF9, 0x67, 0xFA, +0x4B, 0xFB, 0x1B, 0xFC, 0xD8, 0xFC, 0x81, 0xFD, +0x17, 0xFE, 0x98, 0xFE, 0x06, 0xFF, 0x5F, 0xFF, +0xA5, 0xFF, 0xD7, 0xFF, 0xF5, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, +0x08, 0x13, 0x00, 0x20, 0x05, 0xFF, 0xFF, 0xFF, +0x02, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x20, +0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0x1B, 0xC4, 0xBB, 0x92, 0x00, 0x00, 0x04, 0x21, +0x4D, 0x31, 0x48, 0x53, 0x43, 0x46, 0x32, 0x31, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xFB, 0x48, 0x4D, 0x45, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x08, +0x4D, 0x49, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, +0x32, 0x00, 0x00, 0x00, 0x38, 0xB5, 0x15, 0x4A, +0x15, 0x4B, 0x16, 0x4C, 0x1A, 0x60, 0x16, 0x4A, +0x16, 0x4B, 0x00, 0x25, 0x1A, 0x60, 0x16, 0x4B, +0x20, 0x1C, 0x1D, 0x70, 0x02, 0x21, 0xFF, 0xF7, +0x65, 0xFD, 0x29, 0x1C, 0x04, 0x22, 0x20, 0x68, +0xFF, 0xF7, 0x88, 0xFE, 0x11, 0x48, 0x28, 0x21, +0xFF, 0xF7, 0x5C, 0xFD, 0x10, 0x4A, 0x11, 0x4B, +0x1A, 0x60, 0x11, 0x4A, 0x11, 0x4B, 0x1A, 0x60, +0x11, 0x4A, 0x12, 0x4B, 0x1A, 0x60, 0x12, 0x4A, +0x12, 0x4B, 0x1A, 0x60, 0x12, 0x4A, 0x13, 0x4B, +0x1A, 0x60, 0x13, 0x4A, 0x13, 0x4B, 0x1A, 0x60, +0x38, 0xBD, 0xC0, 0x46, 0x41, 0x4B, 0x00, 0x00, +0xB0, 0x07, 0x00, 0x20, 0x60, 0x06, 0x00, 0x20, +0xC5, 0x3B, 0x00, 0x00, 0xAC, 0x07, 0x00, 0x20, +0xD8, 0x07, 0x00, 0x20, 0xA0, 0x0D, 0x00, 0x20, +0x89, 0x41, 0x00, 0x00, 0x54, 0x06, 0x00, 0x20, +0x95, 0x41, 0x00, 0x00, 0x58, 0x06, 0x00, 0x20, +0xF1, 0x41, 0x00, 0x00, 0xB8, 0x07, 0x00, 0x20, +0x1D, 0x45, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, +0x2D, 0x49, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x20, +0xF9, 0x44, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, +0xF0, 0xB5, 0xB2, 0x4B, 0x87, 0xB0, 0x1B, 0x78, +0xB1, 0x4C, 0x00, 0x2B, 0x1A, 0xD0, 0xB1, 0x4A, +0xE3, 0x8F, 0x52, 0x68, 0x9A, 0x42, 0x02, 0xDB, +0xAF, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x23, 0x1C, +0x3A, 0x33, 0x1F, 0x78, 0xAB, 0x4A, 0x23, 0x1C, +0x56, 0x33, 0x1B, 0x78, 0x52, 0x68, 0x26, 0x8E, +0x53, 0x43, 0x9B, 0x11, 0x00, 0x93, 0xA9, 0x48, +0x2E, 0x25, 0x61, 0x5F, 0x02, 0x68, 0x05, 0x23, +0x01, 0x91, 0x06, 0xE0, 0xA5, 0x4B, 0x1B, 0x68, +0x00, 0x2B, 0xE8, 0xD1, 0xA2, 0x4A, 0x13, 0x70, +0xE5, 0xE7, 0x01, 0x3B, 0xDB, 0xB2, 0x1D, 0x1C, +0x0D, 0x35, 0xED, 0x00, 0x45, 0x19, 0xAC, 0x88, +0x00, 0x2C, 0x24, 0xD0, 0x9E, 0x49, 0x24, 0xB2, +0xC9, 0x5C, 0x00, 0x29, 0x02, 0xD0, 0x49, 0xB2, +0xB9, 0x42, 0x11, 0xDC, 0x01, 0x9D, 0xAC, 0x42, +0x08, 0xDB, 0x1C, 0x1C, 0x0D, 0x34, 0x97, 0x49, +0xE4, 0x00, 0x0C, 0x19, 0x64, 0x89, 0x00, 0x9D, +0xAC, 0x42, 0x10, 0xDA, 0x1D, 0x1C, 0x0D, 0x35, +0x92, 0x49, 0xED, 0x00, 0x4D, 0x19, 0x02, 0xE0, +0x31, 0xB2, 0x8C, 0x42, 0x07, 0xDA, 0x00, 0x24, +0xAC, 0x80, 0x9D, 0x00, 0xAC, 0x46, 0x8F, 0x4D, +0x61, 0x46, 0x4C, 0x51, 0x01, 0x3A, 0x00, 0x2B, +0xCF, 0xD1, 0x8D, 0x49, 0x05, 0x24, 0x0A, 0x60, +0x88, 0x4A, 0x13, 0x60, 0x01, 0x3C, 0xE4, 0xB2, +0x26, 0x1C, 0x86, 0x49, 0x0D, 0x36, 0xF6, 0x00, +0x8E, 0x19, 0x00, 0x96, 0x04, 0x22, 0xB0, 0x5E, +0x85, 0x4B, 0x83, 0x4A, 0x00, 0x28, 0x00, 0xD1, +0xB6, 0xE0, 0x11, 0x5D, 0x7F, 0x29, 0x01, 0xD0, +0x01, 0x31, 0x11, 0x55, 0x12, 0x57, 0x02, 0x2A, +0x79, 0xDD, 0x62, 0x00, 0x9A, 0x18, 0x04, 0x26, +0x95, 0x5F, 0x22, 0x1D, 0x52, 0x00, 0x00, 0x95, +0x9B, 0x18, 0x78, 0x4E, 0x06, 0x20, 0x1F, 0x5E, +0xA5, 0x00, 0x75, 0x19, 0x01, 0x97, 0x6B, 0x68, +0x00, 0x9F, 0x01, 0x98, 0xFB, 0x1A, 0x03, 0x93, +0x23, 0x1C, 0x0E, 0x33, 0x9B, 0x00, 0x9F, 0x59, +0x05, 0x93, 0xC7, 0x1B, 0x39, 0x1C, 0x03, 0x98, +0x04, 0x97, 0xFE, 0xF7, 0x51, 0xF9, 0x6A, 0x4B, +0x02, 0x90, 0x36, 0x21, 0x5F, 0x5E, 0xB8, 0x42, +0x10, 0xDD, 0x03, 0x98, 0x02, 0x99, 0x78, 0x43, +0xFF, 0xF7, 0x0C, 0xFD, 0x6B, 0x68, 0x02, 0x99, +0xC3, 0x18, 0x04, 0x98, 0x00, 0x93, 0x78, 0x43, +0xFF, 0xF7, 0x04, 0xFD, 0x05, 0x9D, 0xAB, 0x59, +0xC3, 0x18, 0x01, 0x93, 0x61, 0x4E, 0xA5, 0x00, +0x75, 0x19, 0x68, 0x68, 0x00, 0x9F, 0x01, 0x9A, +0xC0, 0x1B, 0x27, 0x1C, 0x0E, 0x37, 0xBF, 0x00, +0xB9, 0x59, 0x89, 0x1A, 0xFE, 0xF7, 0x2C, 0xF9, +0x57, 0x4B, 0x02, 0x90, 0x69, 0x68, 0x34, 0x22, +0x9A, 0x5E, 0x00, 0x98, 0x02, 0x9B, 0xFE, 0xF7, +0xD3, 0xFA, 0x00, 0x90, 0x52, 0x48, 0xB9, 0x59, +0x34, 0x22, 0x82, 0x5E, 0x02, 0x9B, 0x01, 0x98, +0xFE, 0xF7, 0xCA, 0xFA, 0x00, 0x99, 0x23, 0x1C, +0x0D, 0x33, 0xB8, 0x51, 0x69, 0x60, 0xDB, 0x00, +0x51, 0x4D, 0xE7, 0x1C, 0xF6, 0x18, 0xFF, 0x00, +0x78, 0x5F, 0x04, 0x22, 0xB1, 0x5E, 0x48, 0x4D, +0x43, 0x1A, 0x38, 0x22, 0xAA, 0x5E, 0xDD, 0x17, +0x5B, 0x19, 0x6B, 0x40, 0xFE, 0xF7, 0xB4, 0xFA, +0xB0, 0x80, 0x49, 0x48, 0x71, 0x89, 0xC5, 0x19, +0xE8, 0x88, 0x41, 0x4D, 0x43, 0x1A, 0xDF, 0x17, +0xDB, 0x19, 0x38, 0x22, 0xAA, 0x5E, 0x7B, 0x40, +0xFE, 0xF7, 0xA6, 0xFA, 0x70, 0x81, 0x3F, 0x4B, +0xA0, 0x00, 0x41, 0x4A, 0x18, 0x18, 0x40, 0x68, +0x61, 0x00, 0x51, 0x18, 0x88, 0x80, 0x20, 0x1C, +0x0E, 0x30, 0x21, 0x1D, 0x80, 0x00, 0xC0, 0x58, +0x49, 0x00, 0x25, 0x1C, 0x51, 0x18, 0x0D, 0x35, +0xC8, 0x80, 0xED, 0x00, 0xE1, 0x1C, 0xC9, 0x00, +0x5D, 0x19, 0x51, 0x18, 0x28, 0x1D, 0xC0, 0xC8, +0xC0, 0xC1, 0x20, 0x1C, 0x34, 0x30, 0x80, 0x00, +0x21, 0x1C, 0x18, 0x18, 0x10, 0x31, 0x40, 0x68, +0x89, 0x00, 0x88, 0x50, 0x2E, 0x4A, 0x11, 0x57, +0x29, 0x4A, 0x3A, 0x32, 0x12, 0x78, 0x91, 0x42, +0x03, 0xDC, 0x01, 0x23, 0x5B, 0x42, 0xAB, 0x80, +0x02, 0xE0, 0x1A, 0x68, 0x01, 0x32, 0x1A, 0x60, +0x2A, 0x4B, 0x00, 0x22, 0x1A, 0x55, 0x3C, 0xE0, +0x29, 0x4E, 0x15, 0x57, 0x37, 0x78, 0xAC, 0x46, +0xE5, 0x1C, 0xED, 0x00, 0xBC, 0x45, 0x32, 0xDD, +0x5E, 0x5F, 0x00, 0x2E, 0x31, 0xD0, 0x23, 0x4E, +0xB4, 0x46, 0x36, 0x5D, 0x77, 0x1C, 0xFF, 0xB2, +0x66, 0x46, 0x37, 0x55, 0x7F, 0xB2, 0xBC, 0x46, +0x17, 0x4F, 0x4B, 0x37, 0x3F, 0x78, 0xBC, 0x45, +0x21, 0xDC, 0x00, 0x98, 0x5A, 0x19, 0x04, 0x30, +0xC0, 0xCA, 0xC0, 0xC0, 0x20, 0x1C, 0x22, 0x1C, +0x10, 0x30, 0x34, 0x32, 0x80, 0x00, 0x18, 0x58, +0x92, 0x00, 0x8A, 0x18, 0x50, 0x60, 0x60, 0x00, +0x18, 0x18, 0x04, 0x27, 0xC0, 0x5F, 0xA2, 0x00, +0x8A, 0x18, 0x50, 0x60, 0x20, 0x1D, 0x40, 0x00, +0x22, 0x1C, 0x1B, 0x18, 0x06, 0x20, 0x1B, 0x5E, +0x0E, 0x32, 0x92, 0x00, 0x53, 0x50, 0x0B, 0x68, +0x01, 0x33, 0x0B, 0x60, 0x01, 0xE0, 0x58, 0x53, +0x10, 0x55, 0x00, 0x2C, 0x00, 0xD0, 0xF9, 0xE6, +0x07, 0xB0, 0xF0, 0xBD, 0x04, 0x08, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0xCC, 0x07, 0x00, 0x20, +0x93, 0x07, 0x00, 0x20, 0xBC, 0x0D, 0x00, 0x20, +0x1C, 0x0D, 0x00, 0x20, 0x84, 0x0C, 0x00, 0x20, +0x64, 0x0A, 0x00, 0x20, 0x24, 0x0B, 0x00, 0x20, +0x5E, 0x0D, 0x00, 0x20, 0xF0, 0xB5, 0xBD, 0x4B, +0x9D, 0xB0, 0x1A, 0x68, 0xBC, 0x4B, 0x01, 0x2A, +0x07, 0xD1, 0xBC, 0x4A, 0x12, 0x68, 0x01, 0x2A, +0x03, 0xDD, 0x1E, 0x8C, 0x0A, 0x96, 0x5B, 0x8C, +0x02, 0xE0, 0x9E, 0x8B, 0x0A, 0x96, 0xDB, 0x8B, +0x0B, 0x93, 0x0C, 0x24, 0xA2, 0xE1, 0x15, 0x22, +0x62, 0x43, 0xB5, 0x4B, 0x52, 0x19, 0xD3, 0x56, +0x00, 0x2B, 0x00, 0xD1, 0x94, 0xE1, 0xB1, 0x4E, +0xA3, 0x00, 0xF3, 0x18, 0x58, 0x68, 0xAB, 0x00, +0xF3, 0x18, 0x5E, 0x68, 0x23, 0x1C, 0xAD, 0x4A, +0x0E, 0x33, 0x9B, 0x00, 0x9B, 0x58, 0x81, 0x1B, +0x02, 0x93, 0x2B, 0x1C, 0x0E, 0x33, 0x9B, 0x00, +0x07, 0x91, 0x9B, 0x58, 0x02, 0x99, 0x07, 0x9A, +0x05, 0x93, 0xCB, 0x1A, 0x08, 0x93, 0xD3, 0x17, +0xD2, 0x18, 0x08, 0x99, 0x5A, 0x40, 0x04, 0x92, +0xCA, 0x17, 0x89, 0x18, 0x51, 0x40, 0x2B, 0x1C, +0x01, 0x91, 0x34, 0x33, 0x9F, 0x49, 0x9B, 0x00, +0xCB, 0x18, 0x5F, 0x68, 0x23, 0x1C, 0x34, 0x33, +0x9A, 0x00, 0x1B, 0x97, 0x8A, 0x18, 0x12, 0x79, +0x7F, 0xB2, 0x51, 0xB2, 0x8F, 0x42, 0x01, 0xDD, +0x1B, 0xA9, 0x0A, 0x70, 0x97, 0x4A, 0x9B, 0x00, +0xD3, 0x18, 0x5A, 0x79, 0x01, 0x27, 0x1B, 0xAB, +0xDF, 0x57, 0x51, 0xB2, 0x8F, 0x42, 0x00, 0xDA, +0x5A, 0x70, 0x23, 0x1C, 0x34, 0x33, 0x91, 0x4F, +0x9A, 0x00, 0x06, 0x93, 0xBA, 0x18, 0x91, 0x79, +0x02, 0x23, 0x1B, 0xAA, 0xD3, 0x56, 0x9C, 0x46, +0x4B, 0xB2, 0x9C, 0x45, 0x00, 0xDD, 0x91, 0x70, +0x06, 0x99, 0x8B, 0x00, 0xFF, 0x18, 0xFA, 0x79, +0x1B, 0xAB, 0x03, 0x27, 0xDF, 0x57, 0x51, 0xB2, +0x8F, 0x42, 0x00, 0xDA, 0xDA, 0x70, 0x2A, 0x1C, +0x84, 0x4B, 0x0D, 0x32, 0xD2, 0x00, 0x15, 0x90, +0x9A, 0x18, 0x04, 0x21, 0x57, 0x5E, 0x22, 0x1C, +0x0D, 0x32, 0xD2, 0x00, 0x9B, 0x18, 0x04, 0x21, +0x5A, 0x5E, 0x78, 0x43, 0x03, 0x92, 0x03, 0x9B, +0xD2, 0x19, 0x73, 0x43, 0x11, 0x1C, 0xC0, 0x18, +0x06, 0x92, 0xFF, 0xF7, 0xA3, 0xFB, 0x17, 0x96, +0x02, 0x9E, 0x16, 0x90, 0x77, 0x43, 0x18, 0x96, +0x03, 0x98, 0x05, 0x9E, 0x06, 0x99, 0x70, 0x43, +0x38, 0x18, 0xFF, 0xF7, 0x97, 0xFB, 0x0C, 0x22, +0x19, 0x90, 0x00, 0x21, 0x12, 0xA8, 0x1A, 0x96, +0xFF, 0xF7, 0x30, 0xFC, 0x01, 0x26, 0x1B, 0xAB, +0x9E, 0x57, 0x00, 0x22, 0x0E, 0x96, 0x02, 0x26, +0x9E, 0x57, 0x17, 0x20, 0x0F, 0x96, 0x03, 0x26, +0x9E, 0x57, 0x10, 0x96, 0x9A, 0x56, 0x6B, 0x4B, +0x57, 0x1C, 0x42, 0x43, 0x00, 0x26, 0xD3, 0x18, +0x06, 0x96, 0x11, 0x93, 0xB3, 0xE0, 0x09, 0x9E, +0xF6, 0x01, 0x0C, 0x96, 0x0F, 0x9E, 0xA3, 0xE0, +0x11, 0x98, 0x06, 0x99, 0x43, 0x18, 0x9B, 0x19, +0xDB, 0x7D, 0x05, 0x93, 0x01, 0x3B, 0x0C, 0x2B, +0x41, 0xDD, 0x00, 0x20, 0x01, 0x21, 0x49, 0x42, +0x84, 0x46, 0x04, 0x23, 0x00, 0x96, 0x01, 0x3B, +0x5D, 0x4A, 0xDB, 0xB2, 0xD2, 0x56, 0x5D, 0x4E, +0x03, 0x92, 0xF6, 0x56, 0x09, 0x9A, 0x92, 0x19, +0x01, 0x32, 0x17, 0x26, 0x56, 0x43, 0x57, 0x4A, +0x92, 0x19, 0x02, 0x9E, 0x96, 0x19, 0x03, 0x9A, +0x0D, 0x96, 0xB2, 0x18, 0x03, 0x92, 0x52, 0x78, +0x01, 0x3A, 0x0C, 0x2A, 0x0E, 0xD8, 0xAA, 0x42, +0x01, 0xD0, 0xA2, 0x42, 0x04, 0xD1, 0x4E, 0x1C, +0x04, 0xD0, 0x91, 0x42, 0x04, 0xD1, 0x05, 0xE0, +0x01, 0x20, 0x03, 0xE0, 0x11, 0x1C, 0x01, 0xE0, +0x01, 0x22, 0x94, 0x46, 0x00, 0x2B, 0xD6, 0xD1, +0x00, 0x9E, 0x01, 0x31, 0x68, 0xD0, 0x32, 0x01, +0xD2, 0x19, 0x49, 0x4B, 0x52, 0x00, 0x00, 0x28, +0x13, 0xD0, 0x60, 0x46, 0x00, 0x28, 0x10, 0xD1, +0x05, 0x99, 0x98, 0x5A, 0x0E, 0x39, 0xFF, 0xF7, +0x2D, 0xFB, 0x05, 0x90, 0x0B, 0xE0, 0x59, 0x1C, +0x56, 0xD0, 0xAB, 0x42, 0x01, 0xD0, 0xA3, 0x42, +0x52, 0xD1, 0x32, 0x01, 0xD2, 0x19, 0x3E, 0x4B, +0x52, 0x00, 0xD3, 0x5A, 0x05, 0x93, 0x05, 0x9A, +0x00, 0x2A, 0x49, 0xD0, 0x02, 0x9B, 0x03, 0x20, +0xDB, 0x01, 0x0D, 0x93, 0x02, 0x90, 0x02, 0x9B, +0x04, 0x9A, 0x01, 0x3B, 0xDB, 0xB2, 0x99, 0x00, +0x02, 0x93, 0x01, 0x9B, 0x03, 0x91, 0x9A, 0x42, +0x0F, 0xDD, 0x18, 0xAA, 0x50, 0x58, 0x0D, 0x9B, +0x08, 0x99, 0xC0, 0x1A, 0x48, 0x43, 0x07, 0x99, +0xFF, 0xF7, 0x04, 0xFB, 0x03, 0x99, 0x15, 0xAA, +0x53, 0x58, 0x0C, 0x9A, 0xC0, 0x18, 0x80, 0x1A, +0x0F, 0xE0, 0x03, 0x99, 0x15, 0xAB, 0x58, 0x58, +0x0C, 0x9A, 0x07, 0x9B, 0x80, 0x1A, 0x58, 0x43, +0x08, 0x99, 0xFF, 0xF7, 0xF3, 0xFA, 0x03, 0x9A, +0x18, 0xA9, 0x8B, 0x58, 0xC0, 0x18, 0x0D, 0x9B, +0xC0, 0x1A, 0xC1, 0x17, 0x40, 0x18, 0x48, 0x40, +0x7F, 0x28, 0x12, 0xDC, 0x02, 0x9A, 0x80, 0x21, +0x93, 0x00, 0x0A, 0x1A, 0x05, 0x98, 0x48, 0x21, +0x42, 0x43, 0xD2, 0x11, 0xC9, 0x18, 0x03, 0x92, +0x6A, 0x46, 0x88, 0x58, 0x03, 0x99, 0x84, 0x46, +0x0A, 0x1C, 0x62, 0x44, 0x48, 0x33, 0x68, 0x46, +0x1A, 0x50, 0x02, 0x99, 0x00, 0x29, 0xBA, 0xD1, +0x01, 0x36, 0x10, 0x9B, 0x72, 0x1E, 0x02, 0x92, +0x9A, 0x42, 0x00, 0xDC, 0x54, 0xE7, 0x06, 0x9E, +0x01, 0x37, 0x17, 0x36, 0x06, 0x96, 0x0E, 0x98, +0x7E, 0x1E, 0x09, 0x96, 0x86, 0x42, 0x00, 0xDC, +0x45, 0xE7, 0x14, 0x9B, 0x12, 0x9E, 0x9E, 0x42, +0x00, 0xDD, 0x1E, 0x1C, 0x04, 0x99, 0x01, 0x9A, +0x91, 0x42, 0x13, 0xDC, 0x13, 0x1E, 0x1F, 0xD0, +0x14, 0xE0, 0xC0, 0x46, 0x64, 0x0A, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0x08, 0x08, 0x00, 0x20, +0x88, 0x0B, 0x00, 0x20, 0x00, 0x11, 0x00, 0x20, +0x2D, 0x36, 0x00, 0x00, 0x29, 0x36, 0x00, 0x00, +0x00, 0x04, 0x00, 0x40, 0x04, 0x9B, 0x01, 0x98, +0x01, 0x93, 0x04, 0x90, 0x04, 0x99, 0x88, 0x01, +0x01, 0x99, 0xFF, 0xF7, 0x9B, 0xFA, 0x3F, 0x28, +0x00, 0xDD, 0x3F, 0x20, 0x35, 0x4B, 0x1B, 0x5C, +0x2D, 0x21, 0x0A, 0x9A, 0xC8, 0x1A, 0x50, 0x43, +0x0B, 0x9A, 0x53, 0x43, 0xC0, 0x18, 0xFF, 0xF7, +0x8D, 0xFA, 0x46, 0x43, 0x13, 0x9B, 0xB6, 0x12, +0xB3, 0x42, 0x09, 0xDD, 0xA5, 0x42, 0x02, 0xDA, +0x23, 0x1C, 0x2C, 0x1C, 0x1D, 0x1C, 0x20, 0x1C, +0x29, 0x1C, 0x1B, 0xAA, 0xFD, 0xF7, 0x42, 0xFD, +0x01, 0x35, 0x0D, 0x2D, 0x00, 0xD0, 0x5E, 0xE6, +0x00, 0x2C, 0x02, 0xD0, 0x25, 0x1C, 0x01, 0x3C, +0x59, 0xE6, 0x25, 0x4E, 0x01, 0x21, 0x34, 0x60, +0x24, 0x48, 0x6C, 0x36, 0x49, 0x42, 0x2A, 0x1C, +0xFF, 0xF7, 0x0C, 0xFB, 0x27, 0x1C, 0x01, 0x96, +0x04, 0x94, 0x26, 0x1C, 0x1E, 0x4C, 0x01, 0x98, +0xFB, 0xB2, 0x00, 0x22, 0x82, 0x5E, 0x00, 0x2A, +0x29, 0xDD, 0x22, 0x68, 0x1B, 0x49, 0x01, 0x32, +0x22, 0x60, 0xCE, 0x55, 0x9E, 0x42, 0x20, 0xD0, +0x04, 0x9A, 0xB3, 0x00, 0x15, 0x19, 0x6A, 0x68, +0xE3, 0x18, 0x30, 0x1C, 0x5A, 0x60, 0x0D, 0x30, +0x33, 0x1C, 0xAA, 0x6B, 0x0E, 0x33, 0xC0, 0x00, +0x9B, 0x00, 0x20, 0x18, 0x1A, 0x51, 0x01, 0x99, +0x08, 0x22, 0x04, 0x30, 0xFF, 0xF7, 0xA8, 0xFA, +0x30, 0x1C, 0x34, 0x30, 0x80, 0x00, 0x20, 0x18, +0x29, 0x1C, 0x04, 0x30, 0xD4, 0x31, 0x04, 0x22, +0xFF, 0xF7, 0x9E, 0xFA, 0x01, 0x98, 0x00, 0x23, +0x03, 0x80, 0x01, 0x36, 0xF6, 0xB2, 0x01, 0x99, +0x04, 0x9A, 0x08, 0x31, 0x04, 0x32, 0x01, 0x37, +0x01, 0x91, 0x04, 0x92, 0x0D, 0x2F, 0xC6, 0xD1, +0x1D, 0xB0, 0xF0, 0xBD, 0x31, 0x36, 0x00, 0x00, +0x08, 0x08, 0x00, 0x20, 0x18, 0x09, 0x00, 0x20, +0xF7, 0xB5, 0x62, 0x4B, 0x62, 0x4A, 0x59, 0x68, +0x12, 0x78, 0x0B, 0x78, 0x00, 0x2A, 0x01, 0xD0, +0x60, 0x4A, 0x00, 0xE0, 0x60, 0x4A, 0x61, 0x4C, +0x61, 0x48, 0x26, 0x69, 0x07, 0x1C, 0x02, 0x2B, +0x0C, 0xD1, 0x60, 0x37, 0x00, 0x25, 0x7F, 0x5F, +0x00, 0x25, 0x01, 0x95, 0xBE, 0x42, 0x1E, 0xDB, +0x62, 0x27, 0x3D, 0x5E, 0x64, 0x30, 0xAE, 0x42, +0x0C, 0xDD, 0x18, 0xE0, 0x58, 0x37, 0x00, 0x25, +0x7F, 0x5F, 0x00, 0x25, 0x01, 0x95, 0xBE, 0x42, +0x11, 0xDB, 0x5A, 0x27, 0x3D, 0x5E, 0xAE, 0x42, +0x0D, 0xDC, 0x5C, 0x30, 0x00, 0x25, 0x40, 0x5F, +0xA4, 0x69, 0x84, 0x42, 0x07, 0xDC, 0x51, 0x48, +0x72, 0x30, 0x04, 0x88, 0x01, 0x20, 0xB4, 0x42, +0x00, 0xDB, 0x00, 0x20, 0x01, 0x90, 0x6F, 0x46, +0x38, 0x79, 0x00, 0x28, 0x15, 0xD0, 0x01, 0x2B, +0x02, 0xD9, 0x02, 0x2B, 0x3F, 0xD1, 0x0D, 0xE0, +0x48, 0x78, 0x47, 0x4B, 0x01, 0x30, 0xC0, 0xB2, +0x48, 0x70, 0x5E, 0x24, 0x1C, 0x57, 0x01, 0x23, +0xA0, 0x42, 0x34, 0xDD, 0x00, 0x23, 0x4B, 0x70, +0x02, 0x23, 0x30, 0xE0, 0x00, 0x20, 0x48, 0x70, +0x2D, 0xE0, 0x02, 0x2B, 0x29, 0xD1, 0x3E, 0x48, +0x3C, 0x4D, 0x04, 0x1C, 0x64, 0x34, 0x00, 0x27, +0xE6, 0x5F, 0xAF, 0x69, 0x05, 0x36, 0x4C, 0x78, +0xB7, 0x42, 0x01, 0xDD, 0x0A, 0x34, 0x00, 0xE0, +0x01, 0x34, 0x4C, 0x70, 0x04, 0x1C, 0x68, 0x34, +0x00, 0x27, 0xE6, 0x5F, 0x6F, 0x69, 0x01, 0x24, +0xB7, 0x42, 0x0D, 0xDC, 0x06, 0x1C, 0x6A, 0x36, +0x00, 0x27, 0xF6, 0x5F, 0x2D, 0x69, 0xB5, 0x42, +0x06, 0xDC, 0x66, 0x30, 0x00, 0x78, 0x4D, 0x78, +0x40, 0xB2, 0x85, 0x42, 0x00, 0xDC, 0x00, 0x24, +0x00, 0x2C, 0x04, 0xD0, 0x00, 0x23, 0x4B, 0x70, +0x01, 0xE0, 0x48, 0x70, 0x03, 0x1C, 0x23, 0x49, +0x49, 0x68, 0x08, 0x78, 0x98, 0x42, 0x24, 0xD0, +0x0B, 0x70, 0x00, 0x2B, 0x02, 0xD0, 0x02, 0x2B, +0x1F, 0xD1, 0x0A, 0xE0, 0xD0, 0x8D, 0x22, 0x4B, +0xD8, 0x85, 0x10, 0x8E, 0x18, 0x86, 0x90, 0x8E, +0x98, 0x86, 0x90, 0x7B, 0x98, 0x73, 0x12, 0x8A, +0x12, 0xE0, 0x10, 0x1C, 0x6C, 0x30, 0x00, 0x88, +0x1B, 0x4B, 0xD8, 0x85, 0x10, 0x1C, 0x6E, 0x30, +0x00, 0x88, 0x18, 0x86, 0x10, 0x1C, 0x70, 0x30, +0x00, 0x88, 0x98, 0x86, 0x10, 0x1C, 0x72, 0x30, +0x00, 0x78, 0x74, 0x32, 0x98, 0x73, 0x12, 0x88, +0x1A, 0x82, 0x15, 0x4B, 0x15, 0x48, 0x1A, 0x78, +0x02, 0x70, 0x13, 0x1C, 0x0A, 0x78, 0x02, 0x2A, +0x12, 0xD0, 0x5B, 0xB2, 0x01, 0x2B, 0x0F, 0xDD, +0x02, 0x2B, 0x01, 0xD1, 0x09, 0x4B, 0x00, 0xE0, +0x09, 0x4B, 0x0B, 0x4A, 0x18, 0x1C, 0x5E, 0x30, +0x00, 0x78, 0x11, 0x1C, 0x5E, 0x31, 0x08, 0x70, +0x99, 0x7B, 0x91, 0x73, 0x1B, 0x8A, 0x13, 0x82, +0xF7, 0xBD, 0xC0, 0x46, 0x5C, 0x06, 0x00, 0x20, +0xD0, 0x06, 0x00, 0x20, 0xA4, 0x0C, 0x00, 0x20, +0x84, 0x12, 0x00, 0x20, 0xF4, 0x06, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0xBC, 0x0D, 0x00, 0x20, +0x60, 0x0A, 0x00, 0x20, 0x42, 0x0A, 0x00, 0x20, +0x01, 0x4B, 0x0D, 0x22, 0x1A, 0x70, 0x70, 0x47, +0x00, 0x13, 0x00, 0x20, 0x30, 0xB5, 0x80, 0x24, +0xE4, 0x05, 0x08, 0x23, 0x65, 0x69, 0x1D, 0x42, +0xFC, 0xD0, 0x10, 0x4B, 0x00, 0x24, 0x1B, 0x68, +0x9C, 0x70, 0xDC, 0x70, 0x01, 0x28, 0x02, 0xD0, +0x04, 0x28, 0x0D, 0xD1, 0x05, 0xE0, 0x0F, 0x20, +0x18, 0x70, 0x5C, 0x70, 0x99, 0x70, 0xDA, 0x70, +0x06, 0xE0, 0x0E, 0x22, 0x1A, 0x70, 0x08, 0x4A, +0x02, 0x21, 0x12, 0x78, 0x8A, 0x1A, 0x5A, 0x70, +0x06, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x80, 0x23, +0xDB, 0x05, 0x5A, 0x69, 0x08, 0x21, 0x8A, 0x43, +0x5A, 0x61, 0x30, 0xBD, 0xA0, 0x0D, 0x00, 0x20, +0xD0, 0x06, 0x00, 0x20, 0x9C, 0x0D, 0x00, 0x20, +0xF0, 0xB5, 0x80, 0x22, 0x8D, 0xB0, 0xD2, 0x05, +0x08, 0x23, 0x51, 0x69, 0x19, 0x42, 0xFC, 0xD0, +0x00, 0x24, 0x02, 0x94, 0x03, 0x94, 0x01, 0x27, +0x26, 0x1C, 0xB0, 0x48, 0x03, 0x9C, 0x25, 0x18, +0x04, 0x21, 0x6B, 0x5E, 0x0A, 0xA8, 0x0A, 0x93, +0x0E, 0x22, 0xAB, 0x5E, 0x0B, 0x93, 0xFD, 0xF7, +0x11, 0xFF, 0xAB, 0x4B, 0x5B, 0x79, 0x5B, 0xB2, +0x01, 0x2B, 0x07, 0xD1, 0xA9, 0x4A, 0x0A, 0x9B, +0x14, 0x24, 0x11, 0x5F, 0x0B, 0x9A, 0x8A, 0x1A, +0x0A, 0x92, 0x16, 0xE0, 0x02, 0x2B, 0x08, 0xD1, +0xA4, 0x4A, 0x0B, 0x9B, 0x16, 0x20, 0x11, 0x5E, +0x0A, 0x9A, 0x0A, 0x93, 0x8A, 0x1A, 0x0B, 0x92, +0x0C, 0xE0, 0x03, 0x2B, 0x0A, 0xD1, 0x9F, 0x4B, +0x16, 0x22, 0x99, 0x5E, 0x0A, 0x9A, 0x8A, 0x1A, +0x0A, 0x92, 0x14, 0x24, 0x1A, 0x5F, 0x0B, 0x9B, +0xD3, 0x1A, 0x0B, 0x93, 0x9A, 0x4C, 0xFB, 0x00, +0x1B, 0x19, 0x04, 0x93, 0x64, 0x33, 0x06, 0x93, +0x00, 0x20, 0x1B, 0x5E, 0x00, 0x2B, 0x00, 0xDC, +0xD9, 0xE0, 0x02, 0x99, 0x08, 0xA8, 0x0C, 0x19, +0x63, 0x68, 0x08, 0x93, 0xA3, 0x6B, 0x09, 0x93, +0xFD, 0xF7, 0xD8, 0xFE, 0x8E, 0x4B, 0x5B, 0x79, +0x5B, 0xB2, 0x01, 0x2B, 0x07, 0xD1, 0x8D, 0x4A, +0x08, 0x9B, 0x14, 0x20, 0x11, 0x5E, 0x09, 0x9A, +0x8A, 0x1A, 0x08, 0x92, 0x16, 0xE0, 0x02, 0x2B, +0x08, 0xD1, 0x88, 0x4A, 0x09, 0x9B, 0x16, 0x20, +0x11, 0x5E, 0x08, 0x9A, 0x08, 0x93, 0x8A, 0x1A, +0x09, 0x92, 0x0C, 0xE0, 0x03, 0x2B, 0x0A, 0xD1, +0x82, 0x4B, 0x16, 0x22, 0x99, 0x5E, 0x08, 0x9A, +0x8A, 0x1A, 0x08, 0x92, 0x14, 0x20, 0x1A, 0x5E, +0x09, 0x9B, 0xD3, 0x1A, 0x09, 0x93, 0x0B, 0x9B, +0x0A, 0x9A, 0x00, 0x93, 0x7D, 0x4B, 0x08, 0x99, +0xFB, 0x18, 0x01, 0x3B, 0x18, 0x78, 0x05, 0x92, +0x07, 0x93, 0x01, 0x91, 0x09, 0x9A, 0x01, 0x23, +0x00, 0x28, 0x02, 0xD1, 0x78, 0x4B, 0x3C, 0x33, +0x1B, 0x78, 0x18, 0x20, 0x29, 0x5E, 0x00, 0x29, +0x0F, 0xDD, 0x00, 0x99, 0x50, 0x1A, 0xC1, 0x17, +0x40, 0x18, 0x48, 0x40, 0x98, 0x42, 0x08, 0xDA, +0x05, 0x99, 0x01, 0x98, 0x40, 0x1A, 0xC1, 0x17, +0x40, 0x18, 0x48, 0x40, 0x98, 0x42, 0x00, 0xDA, +0xA9, 0xE0, 0x6E, 0x48, 0xF3, 0x00, 0x00, 0x68, +0x60, 0x21, 0xC3, 0x18, 0x6C, 0x48, 0x49, 0x42, +0x00, 0x78, 0xDA, 0x70, 0x00, 0x01, 0x08, 0x43, +0x38, 0x43, 0x18, 0x70, 0x01, 0x98, 0x00, 0x12, +0x84, 0x46, 0x61, 0x46, 0x0F, 0x20, 0x01, 0x40, +0x05, 0x91, 0x11, 0x11, 0x81, 0x43, 0x08, 0x1C, +0x05, 0x99, 0x04, 0x9A, 0x08, 0x43, 0x58, 0x70, +0x68, 0x46, 0x00, 0x79, 0x6A, 0x32, 0x98, 0x70, +0x12, 0x88, 0x06, 0x99, 0x1A, 0x71, 0x0A, 0x88, +0x11, 0xB2, 0xFF, 0x29, 0x00, 0xDD, 0xFF, 0x22, +0x5A, 0x71, 0x56, 0x4A, 0x12, 0x7E, 0x06, 0x92, +0x00, 0x2A, 0x1C, 0xD0, 0x22, 0x1C, 0xD7, 0x32, +0x12, 0x78, 0x10, 0x20, 0x04, 0x92, 0x22, 0x1C, +0xD6, 0x32, 0x11, 0x78, 0x6A, 0x46, 0x82, 0x56, +0x48, 0xB2, 0x12, 0x1A, 0x94, 0x46, 0x60, 0x46, +0x00, 0x22, 0x90, 0x42, 0x03, 0xDB, 0x04, 0x98, +0x01, 0x30, 0x40, 0x1A, 0xC2, 0xB2, 0x9A, 0x71, +0x22, 0x1C, 0xD5, 0x32, 0x12, 0x78, 0x04, 0x92, +0x22, 0x1C, 0xD4, 0x32, 0x1D, 0xE0, 0x22, 0x1C, +0xD5, 0x32, 0x20, 0x1C, 0x12, 0x78, 0xD4, 0x30, +0x00, 0x78, 0x51, 0xB2, 0x8C, 0x46, 0x04, 0x90, +0x10, 0x21, 0x68, 0x46, 0x08, 0x56, 0x61, 0x46, +0x09, 0x1A, 0x8C, 0x46, 0x60, 0x46, 0x06, 0x99, +0x00, 0x28, 0x03, 0xDB, 0x04, 0x98, 0x01, 0x32, +0x11, 0x1A, 0xC9, 0xB2, 0x22, 0x1C, 0x99, 0x71, +0xD7, 0x32, 0x12, 0x78, 0x04, 0x92, 0x22, 0x1C, +0xD6, 0x32, 0x11, 0x78, 0x10, 0x20, 0x6A, 0x46, +0x82, 0x56, 0x48, 0xB2, 0x12, 0x1A, 0x94, 0x46, +0x60, 0x46, 0x00, 0x22, 0x90, 0x42, 0x03, 0xDB, +0x04, 0x98, 0x01, 0x30, 0x40, 0x1A, 0xC2, 0xB2, +0xDA, 0x71, 0x18, 0x21, 0x6B, 0x5E, 0x01, 0x36, +0xDA, 0x17, 0xD3, 0x1A, 0x07, 0x9A, 0xDB, 0x0F, +0x13, 0x70, 0x63, 0x68, 0xF6, 0xB2, 0xAB, 0x80, +0xA3, 0x6B, 0xEB, 0x81, 0x23, 0xE0, 0x18, 0x24, +0x2B, 0x5F, 0x00, 0x2B, 0x1F, 0xDD, 0x29, 0x4A, +0xF3, 0x00, 0x12, 0x68, 0x20, 0x21, 0xD3, 0x18, +0x28, 0x4A, 0x0F, 0x20, 0x12, 0x78, 0x01, 0x36, +0x12, 0x01, 0x0A, 0x43, 0x3A, 0x43, 0x1A, 0x70, +0x0A, 0x99, 0x0B, 0x9A, 0x0C, 0x12, 0x04, 0x40, +0x04, 0x94, 0x14, 0x11, 0x84, 0x43, 0x20, 0x1C, +0x04, 0x9C, 0xDA, 0x70, 0x04, 0x43, 0x00, 0x22, +0x5C, 0x70, 0x99, 0x70, 0x1A, 0x71, 0x5A, 0x71, +0x9A, 0x71, 0xDA, 0x71, 0xF6, 0xB2, 0x03, 0x9C, +0x15, 0x4B, 0xA2, 0x00, 0x02, 0x34, 0x03, 0x94, +0x02, 0x9C, 0xD2, 0x18, 0x04, 0x34, 0x6C, 0x32, +0x12, 0x88, 0x02, 0x94, 0x03, 0x9C, 0x2A, 0x83, +0x01, 0x37, 0x0A, 0x2C, 0x00, 0xD0, 0xB4, 0xE6, +0x1B, 0x68, 0x0A, 0x4A, 0x13, 0x60, 0x10, 0x4A, +0x11, 0x78, 0x10, 0x4A, 0x11, 0x70, 0x10, 0x4A, +0x13, 0x70, 0x00, 0x2E, 0x07, 0xD0, 0x0F, 0x4B, +0x08, 0x21, 0x1E, 0x70, 0x80, 0x23, 0xDB, 0x05, +0x5A, 0x69, 0x8A, 0x43, 0x5A, 0x61, 0x0D, 0xB0, +0xF0, 0xBD, 0xC0, 0x46, 0x18, 0x07, 0x00, 0x20, +0xD8, 0x07, 0x00, 0x20, 0x48, 0x0B, 0x00, 0x20, +0xBC, 0x0D, 0x00, 0x20, 0x8C, 0x07, 0x00, 0x20, +0x24, 0x0D, 0x00, 0x20, 0xA0, 0x0D, 0x00, 0x20, +0x93, 0x07, 0x00, 0x20, 0x94, 0x07, 0x00, 0x20, +0x95, 0x07, 0x00, 0x20, 0x9C, 0x0D, 0x00, 0x20, +0x00, 0xB5, 0x07, 0x4B, 0x1B, 0x68, 0xDB, 0xB2, +0x10, 0x2B, 0x01, 0xD0, 0xAF, 0x2B, 0x05, 0xD1, +0x80, 0x23, 0xDB, 0x05, 0x5A, 0x69, 0x08, 0x21, +0x0A, 0x43, 0x5A, 0x61, 0x00, 0xBD, 0xC0, 0x46, +0x20, 0x06, 0x00, 0x20, 0x7F, 0xB5, 0xAD, 0x4A, +0xAD, 0x49, 0x12, 0x68, 0x0B, 0x78, 0x92, 0xB2, +0x34, 0x2A, 0x4E, 0xD0, 0x0E, 0xD8, 0x31, 0x2A, +0x3E, 0xD0, 0x05, 0xD8, 0x01, 0x2A, 0x1D, 0xD0, +0x30, 0x2A, 0x00, 0xD0, 0xE0, 0xE1, 0x24, 0xE0, +0x32, 0x2A, 0x3A, 0xD0, 0x33, 0x2A, 0x00, 0xD0, +0xDA, 0xE1, 0x3C, 0xE0, 0xA1, 0x2A, 0x00, 0xD1, +0x33, 0xE1, 0x05, 0xD8, 0x35, 0x2A, 0x33, 0xD0, +0xA0, 0x2A, 0x00, 0xD0, 0xD0, 0xE1, 0x38, 0xE0, +0xA4, 0x2A, 0x00, 0xD1, 0xB3, 0xE1, 0xB0, 0x2A, +0x00, 0xD1, 0xB7, 0xE1, 0xA3, 0x2A, 0x00, 0xD0, +0xC6, 0xE1, 0x73, 0xE1, 0x13, 0x42, 0x01, 0xD0, +0x98, 0x4B, 0x04, 0xE0, 0x1B, 0x07, 0x5B, 0x0F, +0x00, 0xD0, 0xBD, 0xE1, 0x96, 0x4B, 0x1A, 0x70, +0xBA, 0xE1, 0x01, 0x2B, 0x02, 0xD0, 0x02, 0x2B, +0x0B, 0xD1, 0x05, 0xE0, 0x93, 0x4A, 0x12, 0x78, +0x00, 0x2A, 0x00, 0xD0, 0xB0, 0xE1, 0x04, 0xE0, +0x90, 0x4A, 0x12, 0x78, 0x00, 0x2A, 0x00, 0xD1, +0xAA, 0xE1, 0xDB, 0xB2, 0x8E, 0x4A, 0x02, 0xE0, +0x5A, 0x42, 0x53, 0x41, 0x8D, 0x4A, 0x13, 0x70, +0xA2, 0xE1, 0xDB, 0xB2, 0x8C, 0x4A, 0xFA, 0xE7, +0x8C, 0x4A, 0x53, 0x71, 0x9C, 0xE1, 0x0E, 0x22, +0x4D, 0xE0, 0x8B, 0x4A, 0x03, 0x32, 0xD3, 0x77, +0x96, 0xE1, 0x4C, 0x78, 0x8A, 0x78, 0x23, 0x2B, +0x4B, 0xD0, 0x0E, 0xD8, 0x02, 0x2B, 0x26, 0xD0, +0x05, 0xD8, 0x00, 0x2B, 0x18, 0xD0, 0x01, 0x2B, +0x00, 0xD0, 0x96, 0xE0, 0x19, 0xE0, 0x03, 0x2B, +0x26, 0xD0, 0x22, 0x2B, 0x00, 0xD0, 0x90, 0xE0, +0x2E, 0xE0, 0x70, 0x2B, 0x64, 0xD0, 0x05, 0xD8, +0x36, 0x2B, 0x5F, 0xD0, 0x40, 0x2B, 0x00, 0xD0, +0x87, 0xE0, 0x7A, 0xE0, 0x72, 0x2B, 0x61, 0xD0, +0x80, 0x2B, 0x00, 0xD0, 0x81, 0xE0, 0x6E, 0xE0, +0x78, 0x4B, 0x08, 0x22, 0x1A, 0x70, 0x78, 0x4A, +0x02, 0xE0, 0x76, 0x4A, 0x13, 0x70, 0x77, 0x4A, +0x77, 0x4B, 0x1A, 0x60, 0x68, 0xE1, 0x73, 0x4B, +0x04, 0x22, 0x1A, 0x70, 0x75, 0x4B, 0x76, 0x4A, +0x1B, 0x68, 0x12, 0x68, 0xD2, 0x18, 0x07, 0xE0, +0x6E, 0x4B, 0x02, 0x22, 0x1A, 0x70, 0x73, 0x4B, +0xDA, 0x78, 0x9B, 0x78, 0x12, 0x02, 0x1A, 0x43, +0x71, 0x4B, 0x1A, 0x60, 0x6C, 0x4A, 0x3F, 0xE1, +0x01, 0x2C, 0x03, 0xD0, 0x80, 0x2C, 0x00, 0xD0, +0x4E, 0xE1, 0x02, 0xE0, 0xD2, 0xB2, 0x6D, 0x4B, +0x8D, 0xE7, 0x54, 0x42, 0x62, 0x41, 0x6C, 0x4B, +0x89, 0xE7, 0x63, 0x1E, 0x0A, 0x2B, 0x00, 0xD9, +0x42, 0xE1, 0x01, 0xAD, 0x00, 0x21, 0x0C, 0x22, +0x28, 0x1C, 0xFE, 0xF7, 0x6F, 0xFF, 0x67, 0x4B, +0x01, 0x21, 0x1A, 0x78, 0x6A, 0x70, 0x5A, 0x78, +0xAA, 0x70, 0x9A, 0x78, 0xEA, 0x70, 0xDA, 0x78, +0x2A, 0x71, 0x1A, 0x79, 0x6A, 0x71, 0x5A, 0x79, +0xAA, 0x71, 0x9A, 0x79, 0xEA, 0x71, 0xDB, 0x79, +0x2B, 0x72, 0x5F, 0x4B, 0x1A, 0x68, 0x6A, 0x72, +0x5A, 0x68, 0x9B, 0x68, 0xAA, 0x72, 0xEB, 0x72, +0x2A, 0x5D, 0x57, 0x4B, 0x1A, 0x60, 0x4F, 0x4A, +0x11, 0x70, 0xC7, 0xE7, 0xD2, 0xB2, 0x26, 0xE0, +0x4C, 0x4B, 0xFF, 0x2C, 0x4D, 0xD1, 0x4A, 0x49, +0xC9, 0x7A, 0x45, 0xE0, 0x49, 0x4B, 0xFF, 0x2C, +0x06, 0xD1, 0x47, 0x49, 0x00, 0x24, 0xC9, 0x7A, +0x89, 0x00, 0xC9, 0xB2, 0x19, 0x70, 0x01, 0xE0, +0x04, 0x21, 0x19, 0x70, 0x52, 0x01, 0xA4, 0x18, +0xA4, 0x00, 0x4E, 0x4B, 0x4F, 0xE0, 0x1F, 0x2C, +0x00, 0xD9, 0x01, 0xE1, 0x3D, 0x4B, 0x1A, 0x55, +0xFE, 0xE0, 0x4B, 0x4B, 0x0C, 0x22, 0x1A, 0x70, +0x4A, 0x4B, 0x00, 0x22, 0x1A, 0x70, 0x4A, 0x4B, +0x01, 0x22, 0x1A, 0x70, 0x05, 0x22, 0x49, 0x4B, +0x35, 0xE7, 0x47, 0x49, 0x09, 0x78, 0x00, 0x29, +0x00, 0xD1, 0xED, 0xE0, 0x44, 0x2B, 0x16, 0xD0, +0x08, 0xD8, 0x42, 0x2B, 0x13, 0xD0, 0x02, 0x22, +0x42, 0x2B, 0x40, 0xD8, 0x41, 0x2B, 0x00, 0xD0, +0xE2, 0xE0, 0x0A, 0xE0, 0x46, 0x2B, 0x1C, 0xD0, +0x03, 0x22, 0x46, 0x2B, 0x37, 0xD3, 0x4E, 0x2B, +0x2F, 0xD0, 0x4F, 0x2B, 0x00, 0xD0, 0xD7, 0xE0, +0x2D, 0xE0, 0x01, 0x22, 0x2F, 0xE0, 0x29, 0x4B, +0xFF, 0x2C, 0x06, 0xD1, 0x2D, 0x49, 0x09, 0x78, +0x49, 0x00, 0xC9, 0xB2, 0x19, 0x70, 0x00, 0x24, +0x01, 0xE0, 0x02, 0x21, 0x19, 0x70, 0x15, 0x23, +0x5A, 0x43, 0xA4, 0x18, 0x64, 0x00, 0x32, 0x4B, +0x0D, 0xE0, 0x20, 0x4B, 0xFF, 0x2C, 0x04, 0xD1, +0x24, 0x49, 0x00, 0x24, 0x89, 0x78, 0x19, 0x70, +0x01, 0xE0, 0x01, 0x21, 0x19, 0x70, 0x15, 0x23, +0x5A, 0x43, 0x2C, 0x4B, 0xA4, 0x18, 0xE4, 0x18, +0x1B, 0x4B, 0x08, 0x21, 0x1C, 0x60, 0x80, 0x23, +0xDB, 0x05, 0x5A, 0x69, 0x8A, 0x43, 0x5A, 0x61, +0xAA, 0xE0, 0x04, 0x22, 0x03, 0xE0, 0x20, 0x4B, +0x0D, 0x22, 0x1A, 0x70, 0x06, 0x22, 0x1F, 0x4B, +0xE5, 0xE6, 0x23, 0x4A, 0x23, 0x49, 0x9B, 0x00, +0x12, 0x78, 0x5B, 0x58, 0x9A, 0x18, 0x22, 0x4B, +0x1A, 0x60, 0x22, 0x4B, 0x1A, 0x78, 0x22, 0x4B, +0x1A, 0x80, 0x95, 0xE0, 0x20, 0x06, 0x00, 0x20, +0x0C, 0x00, 0x00, 0x50, 0xB2, 0x06, 0x00, 0x20, +0xB1, 0x06, 0x00, 0x20, 0xD0, 0x06, 0x00, 0x20, +0xD1, 0x06, 0x00, 0x20, 0x4C, 0x06, 0x00, 0x20, +0x60, 0x0A, 0x00, 0x20, 0xD8, 0x07, 0x00, 0x20, +0x48, 0x0B, 0x00, 0x20, 0x05, 0x0B, 0x00, 0x20, +0x20, 0x38, 0x00, 0x00, 0x28, 0x38, 0x00, 0x00, +0xFC, 0x10, 0x00, 0x20, 0xF8, 0x37, 0x00, 0x00, +0xEC, 0x4F, 0x00, 0x00, 0x43, 0x0A, 0x00, 0x20, +0x14, 0x09, 0x00, 0x20, 0x39, 0x06, 0x00, 0x20, +0x2C, 0x06, 0x00, 0x20, 0x80, 0x0B, 0x00, 0x20, +0xC0, 0x07, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20, +0x00, 0x13, 0x00, 0x20, 0x98, 0x0C, 0x00, 0x20, +0xB3, 0x06, 0x00, 0x20, 0x38, 0x06, 0x00, 0x20, +0xC8, 0x0E, 0x00, 0x20, 0x88, 0x0B, 0x00, 0x20, +0x0D, 0x00, 0x00, 0x50, 0xF4, 0x35, 0x00, 0x00, +0x28, 0x09, 0x00, 0x20, 0x0E, 0x00, 0x00, 0x50, +0xC0, 0x10, 0x00, 0x20, 0x29, 0x4B, 0x1B, 0x78, +0x00, 0x2B, 0x4D, 0xD0, 0x28, 0x49, 0x29, 0x4B, +0x08, 0x88, 0x1A, 0x68, 0x00, 0xB2, 0x80, 0x1A, +0x04, 0x22, 0x90, 0x42, 0x03, 0xDC, 0x0A, 0x88, +0x1B, 0x68, 0x12, 0xB2, 0xD2, 0x1A, 0xA0, 0x23, +0xDB, 0x05, 0x99, 0x68, 0x09, 0x03, 0x09, 0x0F, +0x8A, 0x42, 0x0D, 0xDA, 0x1E, 0x49, 0x1F, 0x4B, +0x08, 0x88, 0x1A, 0x68, 0x00, 0xB2, 0x80, 0x1A, +0x04, 0x22, 0x90, 0x42, 0x07, 0xDC, 0x0A, 0x88, +0x1B, 0x68, 0x12, 0xB2, 0xD2, 0x1A, 0x02, 0xE0, +0x9A, 0x68, 0x12, 0x03, 0x12, 0x0F, 0x00, 0x23, +0x17, 0x48, 0x16, 0x49, 0x08, 0xE0, 0x05, 0x68, +0x0C, 0x68, 0x16, 0x4E, 0xE4, 0x18, 0x2C, 0x19, +0x9D, 0x19, 0x2D, 0x78, 0x01, 0x33, 0x25, 0x70, +0x93, 0x42, 0xF4, 0xDB, 0x18, 0xE0, 0x12, 0x4A, +0x1B, 0x02, 0x12, 0x78, 0x9B, 0x18, 0x11, 0x4A, +0x13, 0x60, 0x11, 0xE0, 0x00, 0x2B, 0x0F, 0xD0, +0x80, 0x23, 0xDB, 0x05, 0x99, 0x68, 0x0E, 0x4A, +0x0A, 0x40, 0x9A, 0x60, 0x99, 0x68, 0x0D, 0x4A, +0x0A, 0x40, 0x9A, 0x60, 0x99, 0x68, 0x0C, 0x4A, +0x0A, 0x40, 0x9A, 0x60, 0xFD, 0xF7, 0xFC, 0xFE, +0x7F, 0xBD, 0xC0, 0x46, 0x2C, 0x06, 0x00, 0x20, +0xC0, 0x10, 0x00, 0x20, 0x1C, 0x06, 0x00, 0x20, +0x28, 0x09, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x50, +0x0D, 0x00, 0x00, 0x50, 0xFC, 0x12, 0x00, 0x20, +0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, +0xFF, 0xF7, 0xFF, 0xFF, 0x30, 0xB5, 0x73, 0x4B, +0x1B, 0x68, 0x0E, 0x2B, 0x63, 0xD0, 0x16, 0xDC, +0x05, 0x2B, 0x44, 0xD0, 0x06, 0xDC, 0x03, 0x2B, +0x36, 0xD0, 0x3B, 0xDC, 0x02, 0x2B, 0x00, 0xD0, +0xD6, 0xE0, 0x26, 0xE0, 0x0B, 0x2B, 0x47, 0xD0, +0x03, 0xDC, 0x09, 0x2B, 0x00, 0xD0, 0xCF, 0xE0, +0x3D, 0xE0, 0x0C, 0x2B, 0x44, 0xD0, 0x0D, 0x2B, +0x00, 0xD0, 0xC9, 0xE0, 0x46, 0xE0, 0xA2, 0x2B, +0x00, 0xD1, 0x89, 0xE0, 0x06, 0xDC, 0x10, 0x2B, +0x66, 0xD0, 0x4A, 0xDB, 0x35, 0x2B, 0x00, 0xD0, +0xBE, 0xE0, 0xB9, 0xE0, 0xAE, 0x2B, 0x00, 0xD1, +0x99, 0xE0, 0x03, 0xDC, 0xA4, 0x2B, 0x00, 0xD0, +0xB6, 0xE0, 0x88, 0xE0, 0xAF, 0x2B, 0x00, 0xD1, +0x94, 0xE0, 0xF6, 0x2B, 0x00, 0xD0, 0xAF, 0xE0, +0x9F, 0xE0, 0x59, 0x4A, 0x14, 0x20, 0x11, 0x5E, +0xD2, 0x7D, 0x09, 0x11, 0x0F, 0x20, 0x52, 0xB2, +0x81, 0x43, 0x89, 0x18, 0x55, 0x4A, 0x11, 0x70, +0x53, 0x4A, 0x03, 0x21, 0xD0, 0x8A, 0x53, 0x4A, +0xC9, 0x1A, 0x88, 0x54, 0x04, 0x22, 0xD3, 0x1A, +0x4F, 0x4A, 0x91, 0x8A, 0x1E, 0xE0, 0x50, 0x4B, +0xDB, 0x8D, 0x1A, 0xB2, 0xFF, 0x2A, 0x00, 0xDD, +0xFF, 0x23, 0x4C, 0x4A, 0x52, 0xE0, 0x4D, 0x4B, +0x02, 0x22, 0x1B, 0x78, 0xD2, 0x1A, 0x89, 0xE0, +0x4B, 0x4A, 0x11, 0x78, 0x47, 0x4A, 0x11, 0x70, +0x49, 0x4A, 0x0C, 0x21, 0x50, 0x78, 0x45, 0x4A, +0xC9, 0x1A, 0x88, 0x54, 0x0D, 0x21, 0x43, 0x4A, +0xC9, 0x1A, 0x00, 0x20, 0x88, 0x54, 0x0E, 0x22, +0xD3, 0x1A, 0x10, 0x21, 0x3F, 0x4A, 0x99, 0x54, +0x76, 0xE0, 0x42, 0x4B, 0x42, 0x4A, 0x19, 0x78, +0x3C, 0x4B, 0x00, 0x29, 0x05, 0xD0, 0x41, 0x49, +0x08, 0x68, 0xE0, 0x21, 0xC9, 0x00, 0x08, 0x42, +0x0C, 0xD1, 0x12, 0x78, 0x00, 0x2A, 0x05, 0xD1, +0x80, 0x22, 0xD2, 0x05, 0x51, 0x69, 0x08, 0x20, +0x01, 0x43, 0x51, 0x61, 0x38, 0x4A, 0x12, 0x78, +0xD2, 0x00, 0x5C, 0xE0, 0x12, 0x78, 0x5A, 0xE0, +0x34, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x05, 0xD0, +0x34, 0x49, 0xE0, 0x23, 0x0A, 0x68, 0xDB, 0x00, +0x1A, 0x42, 0x01, 0xD1, 0x32, 0x4B, 0x19, 0x68, +0x32, 0x48, 0x2F, 0x4A, 0x05, 0x68, 0x14, 0x78, +0x00, 0x23, 0xE4, 0x00, 0xA5, 0x42, 0x09, 0xDA, +0x02, 0x68, 0x26, 0x4D, 0x8A, 0x18, 0xD4, 0x5C, +0x5A, 0x19, 0x01, 0x33, 0x14, 0x70, 0x08, 0x2B, +0xF6, 0xD1, 0x3D, 0xE0, 0x13, 0x70, 0x3B, 0xE0, +0x29, 0x49, 0x28, 0x4A, 0x00, 0x23, 0x0C, 0x68, +0x10, 0x68, 0x1E, 0x4D, 0xC0, 0x18, 0x20, 0x18, +0x04, 0x78, 0x58, 0x19, 0x01, 0x33, 0x04, 0x70, +0x08, 0x2B, 0xF4, 0xD1, 0x2C, 0xE0, 0x19, 0x4B, +0x22, 0x4A, 0x23, 0x48, 0x11, 0x68, 0x0C, 0x78, +0x01, 0x31, 0x1C, 0x70, 0x01, 0x33, 0x11, 0x60, +0x83, 0x42, 0xF7, 0xD1, 0x20, 0xE0, 0x1F, 0x4B, +0x1A, 0x78, 0x1B, 0xE0, 0x1E, 0x49, 0x19, 0x4A, +0x00, 0x23, 0x0C, 0x68, 0x10, 0x68, 0x0F, 0x4D, +0xC0, 0x18, 0x20, 0x18, 0x04, 0x78, 0x58, 0x19, +0x01, 0x33, 0x04, 0x70, 0x08, 0x2B, 0xF4, 0xD1, +0x0E, 0xE0, 0x12, 0x4B, 0x08, 0x4A, 0x1B, 0x68, +0x08, 0x49, 0xDB, 0x00, 0x9B, 0x18, 0x1A, 0x68, +0x5B, 0x68, 0x0A, 0x60, 0x4B, 0x60, 0x03, 0xE0, +0x12, 0x4B, 0x5A, 0x79, 0x03, 0x4B, 0x1A, 0x70, +0x30, 0xBD, 0xC0, 0x46, 0x20, 0x06, 0x00, 0x20, +0x48, 0x0B, 0x00, 0x20, 0x10, 0x00, 0x00, 0x50, +0x24, 0x0D, 0x00, 0x20, 0xD0, 0x06, 0x00, 0x20, +0x43, 0x0A, 0x00, 0x20, 0xAC, 0x06, 0x00, 0x20, +0x9C, 0x0D, 0x00, 0x20, 0x00, 0x13, 0x00, 0x20, +0xA0, 0x0D, 0x00, 0x20, 0x1C, 0x06, 0x00, 0x20, +0x28, 0x09, 0x00, 0x20, 0xFC, 0x12, 0x00, 0x20, +0x18, 0x00, 0x00, 0x50, 0x05, 0x0B, 0x00, 0x20, +0xFC, 0x10, 0x00, 0x20, 0xD8, 0x07, 0x00, 0x20, +0xF0, 0xB5, 0x8D, 0xB0, 0x08, 0x28, 0x00, 0xD1, +0x90, 0xE0, 0x05, 0xDC, 0x03, 0x28, 0x0A, 0xD0, +0x07, 0x28, 0x00, 0xD0, 0xB9, 0xE0, 0x1D, 0xE0, +0x0D, 0x28, 0x00, 0xD1, 0xAA, 0xE0, 0x10, 0x28, +0x00, 0xD0, 0xB2, 0xE0, 0xAD, 0xE0, 0x5A, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x00, 0xD0, 0xAC, 0xE0, +0x58, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x00, 0xD1, +0xA7, 0xE0, 0x78, 0x20, 0xFD, 0xF7, 0x4E, 0xFD, +0x80, 0x23, 0xDB, 0x05, 0x02, 0x02, 0xD8, 0x6B, +0x12, 0x0A, 0x00, 0x0E, 0x00, 0x06, 0x10, 0x43, +0xD8, 0x63, 0x9A, 0xE0, 0x00, 0x21, 0x1C, 0x22, +0x05, 0xA8, 0xFE, 0xF7, 0xE3, 0xFC, 0x4E, 0x4B, +0x05, 0xA8, 0x1F, 0x7B, 0xDD, 0x7A, 0x7E, 0xB2, +0x33, 0x1C, 0x01, 0x3B, 0x00, 0x96, 0x9B, 0x00, +0x6E, 0xB2, 0xC3, 0x18, 0x39, 0x1C, 0x00, 0x22, +0x02, 0x96, 0xAC, 0x46, 0x18, 0xE0, 0x02, 0x9E, +0x01, 0x3C, 0x35, 0x1A, 0x01, 0x9E, 0x2D, 0x01, +0xAD, 0x19, 0x44, 0x4E, 0x6D, 0x00, 0xAD, 0x5B, +0x1E, 0x68, 0xE4, 0xB2, 0xB5, 0x42, 0x00, 0xDD, +0x1D, 0x60, 0x01, 0x30, 0x04, 0xE0, 0x00, 0x9D, +0x64, 0x46, 0xAD, 0x1A, 0x00, 0x20, 0x01, 0x95, +0x00, 0x2C, 0xE8, 0xD1, 0x01, 0x32, 0x04, 0x3B, +0x01, 0x39, 0xC9, 0xB2, 0x48, 0xB2, 0x01, 0x30, +0xF1, 0xD1, 0x00, 0x9D, 0x00, 0x26, 0xAB, 0x00, +0x05, 0xAD, 0xED, 0x18, 0x03, 0x95, 0x2B, 0xE0, +0x33, 0x48, 0x00, 0x24, 0xC5, 0x7A, 0x69, 0xB2, +0x02, 0x91, 0x22, 0xE0, 0x02, 0x9B, 0x00, 0x98, +0x1A, 0x1B, 0x30, 0x18, 0x12, 0x01, 0x12, 0x18, +0x2E, 0x4B, 0x01, 0x90, 0x52, 0x00, 0xD3, 0x5A, +0x01, 0x3D, 0xED, 0xB2, 0x18, 0x1E, 0x0A, 0xD0, +0x03, 0x99, 0x58, 0x43, 0xB3, 0x00, 0xCB, 0x18, +0x04, 0x3B, 0x19, 0x68, 0x00, 0x29, 0x00, 0xDC, +0x01, 0x21, 0xFE, 0xF7, 0xEF, 0xFB, 0x02, 0x9A, +0x25, 0x49, 0x80, 0xB2, 0x53, 0x18, 0x01, 0x99, +0x1B, 0x1B, 0x5B, 0x01, 0x4A, 0x00, 0xD0, 0x52, +0x01, 0x34, 0x00, 0x2D, 0xDA, 0xD1, 0x01, 0x3E, +0x01, 0x3F, 0xFF, 0xB2, 0x7B, 0xB2, 0x01, 0x33, +0xCE, 0xD1, 0x2E, 0xE0, 0x1D, 0x4B, 0x1B, 0x78, +0x00, 0x2B, 0x2A, 0xD0, 0x1C, 0x49, 0x1D, 0x4B, +0x0A, 0x68, 0xD8, 0x7E, 0x52, 0x00, 0x82, 0x42, +0x00, 0xDA, 0x02, 0x1C, 0x0A, 0x60, 0x1A, 0x4A, +0xD2, 0x8D, 0x12, 0xB2, 0x51, 0x00, 0x8A, 0x18, +0x52, 0x10, 0xDA, 0x85, 0x17, 0x4A, 0x11, 0x1C, +0x56, 0x31, 0x08, 0x78, 0x19, 0x1C, 0x56, 0x31, +0x08, 0x70, 0x91, 0x8B, 0x99, 0x83, 0xD1, 0x8B, +0xD9, 0x83, 0x11, 0x8C, 0x19, 0x84, 0x52, 0x8C, +0x5A, 0x84, 0x0A, 0xE0, 0x10, 0x4B, 0x00, 0x21, +0x1B, 0x68, 0x04, 0x20, 0x0A, 0x1C, 0x98, 0x47, +0x03, 0xE0, 0xFE, 0xF7, 0x05, 0xFE, 0xFF, 0xF7, +0x87, 0xF9, 0x0D, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, +0x95, 0x07, 0x00, 0x20, 0x04, 0x08, 0x00, 0x20, +0x48, 0x0B, 0x00, 0x20, 0x00, 0x04, 0x00, 0x40, +0x40, 0x00, 0x00, 0x02, 0xE9, 0x06, 0x00, 0x20, +0x9C, 0x0C, 0x00, 0x20, 0x24, 0x0D, 0x00, 0x20, +0x84, 0x12, 0x00, 0x20, 0xA4, 0x0C, 0x00, 0x20, +0x58, 0x06, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xA6, 0x34, 0xE7, 0xFE, +0xFB, 0x48, 0x4D, 0x45, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x08, + +}; diff --git a/drivers/input/touchscreen/mms_ts_w_firmware_rev01.h b/drivers/input/touchscreen/mms_ts_w_firmware_rev01.h new file mode 100644 index 0000000..e2a6f6c --- /dev/null +++ b/drivers/input/touchscreen/mms_ts_w_firmware_rev01.h @@ -0,0 +1,2573 @@ +u8 mms_ts_w_firmware_rev01[] = { +0x4D, 0x42, 0x4E, 0x01, 0x4D, 0x31, 0x48, 0x53, +0x24, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, +0x50, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, +0x01, 0x00, 0x24, 0x00, 0x01, 0x00, 0x0D, 0x00, +0x00, 0x04, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, +0x02, 0x00, 0x12, 0x00, 0x0E, 0x00, 0x13, 0x00, +0x00, 0x38, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, +0x00, 0x18, 0x00, 0x20, 0x55, 0x00, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, +0x21, 0x02, 0x00, 0x00, 0x95, 0x03, 0x00, 0x00, +0x35, 0x02, 0x00, 0x00, 0x0D, 0x02, 0x00, 0x00, +0xE1, 0x03, 0x00, 0x00, 0xF8, 0xB5, 0xFF, 0x23, +0x00, 0x22, 0x1B, 0x04, 0x1A, 0x60, 0xBF, 0xF3, +0x6F, 0x8F, 0x80, 0x22, 0xCD, 0x23, 0xD2, 0x05, +0x13, 0x71, 0x01, 0x33, 0xDB, 0xB2, 0xF2, 0x2B, +0xFA, 0xD1, 0x80, 0x23, 0x0E, 0x22, 0xDB, 0x05, +0x5A, 0x72, 0x4E, 0x49, 0x4E, 0x4B, 0x00, 0x22, +0x00, 0xE0, 0x04, 0xC3, 0x8B, 0x42, 0xFC, 0xD3, +0x4C, 0x4A, 0xFF, 0x23, 0x13, 0x70, 0x4C, 0x4A, +0x4C, 0x49, 0x13, 0x70, 0x4C, 0x4B, 0x48, 0x22, +0x1A, 0x70, 0x4C, 0x4B, 0x1A, 0x68, 0x4C, 0x4B, +0x8A, 0x42, 0x02, 0xD8, 0x92, 0x0A, 0xD2, 0xB2, +0x1A, 0x70, 0x1B, 0x78, 0x80, 0x22, 0x01, 0x33, +0x9B, 0x02, 0xD2, 0x00, 0x18, 0x1F, 0x47, 0x49, +0x03, 0xE0, 0x0D, 0x68, 0x10, 0xCA, 0x2C, 0x19, +0x0C, 0x60, 0x82, 0x42, 0xF9, 0xD3, 0x42, 0x48, +0x5A, 0x1E, 0x00, 0x78, 0x99, 0x1E, 0x12, 0x78, +0x09, 0x78, 0x00, 0x28, 0x0D, 0xD0, 0x3F, 0x48, +0x00, 0x68, 0x00, 0x28, 0x09, 0xD1, 0xFF, 0x2A, +0x07, 0xD0, 0x3D, 0x48, 0x00, 0x78, 0x90, 0x42, +0x03, 0xD1, 0x04, 0x29, 0x01, 0xD1, 0x33, 0x49, +0x0A, 0x70, 0x1A, 0x1C, 0x39, 0x48, 0x3A, 0x49, +0x03, 0xE0, 0x0D, 0x68, 0x10, 0xCA, 0x2C, 0x19, +0x0C, 0x60, 0x82, 0x42, 0xF9, 0xD9, 0x00, 0x21, +0x36, 0x48, 0x0C, 0x1C, 0x10, 0x22, 0x01, 0x3A, +0xD2, 0xB2, 0x9D, 0x18, 0x2D, 0x7C, 0x49, 0x19, +0x85, 0x5C, 0xC9, 0xB2, 0x64, 0x19, 0xE4, 0xB2, +0x00, 0x2A, 0xF4, 0xD1, 0xDD, 0x7F, 0x30, 0x4A, +0x10, 0x78, 0x2A, 0x1C, 0xFF, 0x3A, 0x56, 0x42, +0x72, 0x41, 0x11, 0x43, 0x24, 0x4E, 0x2D, 0x4A, +0x16, 0x60, 0x06, 0x1C, 0xFF, 0x3E, 0x77, 0x42, +0x7E, 0x41, 0x34, 0x43, 0x17, 0xD1, 0x2A, 0x4B, +0x13, 0x60, 0x25, 0x4B, 0x1B, 0x68, 0x00, 0x2B, +0x15, 0xD1, 0x00, 0x29, 0x13, 0xD1, 0x85, 0x42, +0x11, 0xD1, 0x18, 0x4B, 0x25, 0x49, 0x1A, 0x78, +0x09, 0x78, 0x91, 0x42, 0x0B, 0xD1, 0x1B, 0x78, +0xFF, 0x2B, 0x08, 0xD0, 0x14, 0x4B, 0x18, 0x70, +0x00, 0xF0, 0x4E, 0xF9, 0x03, 0xE0, 0x00, 0x29, +0x01, 0xD1, 0x11, 0x33, 0x13, 0x60, 0xA0, 0x23, +0x84, 0x22, 0xDB, 0x05, 0x5A, 0x70, 0x19, 0x4A, +0x12, 0x68, 0x00, 0x2A, 0x03, 0xD0, 0x11, 0x78, +0x80, 0x22, 0x0A, 0x43, 0xDA, 0x70, 0x18, 0x4B, +0x18, 0x4A, 0x13, 0x60, 0x18, 0x4A, 0x13, 0x60, +0x18, 0x4A, 0x13, 0x60, 0x18, 0x4B, 0x04, 0x22, +0x1A, 0x60, 0x02, 0x22, 0x1A, 0x60, 0x62, 0xB6, +0xFE, 0xE7, 0xC0, 0x46, 0x2C, 0x06, 0x00, 0x20, +0x00, 0x00, 0x00, 0x20, 0x29, 0x06, 0x00, 0x20, +0x2A, 0x06, 0x00, 0x20, 0xFF, 0x4F, 0x00, 0x00, +0x28, 0x06, 0x00, 0x20, 0x08, 0x04, 0x00, 0x00, +0x2B, 0x06, 0x00, 0x20, 0x14, 0x00, 0x00, 0x20, +0x0F, 0x04, 0x00, 0x00, 0xEF, 0x4F, 0x00, 0x00, +0x18, 0x00, 0x00, 0x20, 0xF0, 0x4F, 0x00, 0x00, +0xFF, 0x4F, 0x00, 0x00, 0x24, 0x06, 0x00, 0x20, +0xF1, 0x4F, 0x00, 0x00, 0xFE, 0x4F, 0x00, 0x00, +0xF5, 0x03, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, +0x0C, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x20, +0x00, 0xE1, 0x00, 0xE0, 0x03, 0x4A, 0x00, 0x23, +0x13, 0x70, 0x80, 0x22, 0xD2, 0x05, 0x13, 0x70, +0x70, 0x47, 0xC0, 0x46, 0x00, 0x00, 0x00, 0x20, +0x03, 0x4A, 0x00, 0x23, 0x13, 0x70, 0x80, 0x22, +0xD2, 0x05, 0xD3, 0x63, 0x70, 0x47, 0xC0, 0x46, +0x02, 0x00, 0x00, 0x20, 0x7F, 0xB5, 0xA0, 0x23, +0xDB, 0x05, 0x9C, 0x68, 0x64, 0x07, 0x64, 0x0F, +0xE1, 0xB2, 0x02, 0x29, 0x21, 0xD0, 0x04, 0x29, +0x73, 0xD0, 0x00, 0x22, 0x01, 0x29, 0x78, 0xD1, +0x46, 0x49, 0x0A, 0x60, 0x18, 0x7B, 0x46, 0x49, +0x08, 0x60, 0x09, 0x68, 0x5F, 0x29, 0x70, 0xD1, +0x44, 0x22, 0x5A, 0x70, 0x80, 0x22, 0xD2, 0x05, +0x53, 0x69, 0x08, 0x21, 0x0B, 0x43, 0x53, 0x61, +0x13, 0x79, 0x06, 0xE0, 0xCB, 0x2B, 0x01, 0xD8, +0x01, 0x33, 0x00, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, +0x13, 0x71, 0xCC, 0x2B, 0xF6, 0xD1, 0x01, 0x22, +0x5B, 0xE0, 0x3A, 0x4B, 0x1B, 0x78, 0x02, 0x2B, +0x03, 0xD1, 0x36, 0x4B, 0x1A, 0x68, 0x08, 0x32, +0x1A, 0x60, 0x37, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0x33, 0x4B, 0x32, 0x4A, 0x1B, 0x68, 0x11, 0x68, +0xDB, 0xB2, 0x1A, 0x1C, 0x40, 0x32, 0xC9, 0xB2, +0xD2, 0xB2, 0x59, 0x18, 0x0B, 0x2A, 0x15, 0xD8, +0x08, 0x1C, 0xCC, 0x22, 0xC0, 0x38, 0x52, 0x1A, +0x08, 0x2A, 0x00, 0xDD, 0x08, 0x22, 0xD2, 0xB2, +0x2C, 0x49, 0x2D, 0x4B, 0x07, 0xE0, 0x01, 0x3A, +0xD2, 0xB2, 0x0E, 0x68, 0x55, 0x1C, 0x2D, 0x18, +0x75, 0x19, 0x2D, 0x78, 0xD5, 0x54, 0x00, 0x2A, +0xF5, 0xD1, 0x2E, 0xE0, 0x1F, 0x33, 0xDB, 0xB2, +0x00, 0x22, 0x0A, 0x2B, 0x29, 0xD8, 0x01, 0xAB, +0x04, 0x20, 0x18, 0x70, 0x23, 0x48, 0xDA, 0x70, +0x00, 0x78, 0x1A, 0x71, 0x58, 0x70, 0x22, 0x48, +0xDA, 0x71, 0x00, 0x78, 0x1A, 0x72, 0x98, 0x70, +0x01, 0x20, 0x58, 0x71, 0x1F, 0x48, 0xE1, 0x39, +0x05, 0x78, 0x02, 0x78, 0x01, 0x35, 0x5A, 0x72, +0x19, 0x48, 0x13, 0x22, 0x9A, 0x72, 0x9D, 0x71, +0x08, 0x22, 0x01, 0x3A, 0xD2, 0xB2, 0x5D, 0x18, +0xAD, 0x5C, 0x15, 0x54, 0x00, 0x2A, 0xF8, 0xD1, +0x07, 0xE0, 0x17, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0x0C, 0x4B, 0x1A, 0x68, 0x04, 0x32, 0x1A, 0x60, +0x00, 0x22, 0x0C, 0x4B, 0x01, 0x20, 0x1C, 0x70, +0xA0, 0x23, 0xDB, 0x05, 0x19, 0x68, 0x01, 0x43, +0x19, 0x60, 0xC0, 0x46, 0xC0, 0x46, 0xC0, 0x46, +0xC0, 0x46, 0x19, 0x68, 0x10, 0x20, 0x01, 0x43, +0x19, 0x60, 0x00, 0x2A, 0x00, 0xD0, 0xFE, 0xE7, +0x7F, 0xBD, 0xC0, 0x46, 0x1C, 0x06, 0x00, 0x20, +0x20, 0x06, 0x00, 0x20, 0x03, 0x00, 0x00, 0x20, +0x0C, 0x00, 0x00, 0x20, 0x24, 0x06, 0x00, 0x20, +0x10, 0x00, 0x00, 0x50, 0x29, 0x06, 0x00, 0x20, +0x2A, 0x06, 0x00, 0x20, 0x2B, 0x06, 0x00, 0x20, +0x08, 0x00, 0x00, 0x20, 0x10, 0xB5, 0xA0, 0x23, +0x11, 0x22, 0xDB, 0x05, 0x0D, 0x4C, 0x1A, 0x70, +0x22, 0x78, 0x02, 0x2A, 0x01, 0xD1, 0x0C, 0x4B, +0x0E, 0xE0, 0x22, 0x78, 0x00, 0x2A, 0x0D, 0xD0, +0x98, 0x68, 0xF0, 0x22, 0x12, 0x03, 0x80, 0x21, +0x10, 0x40, 0xC9, 0x02, 0x88, 0x42, 0x05, 0xD0, +0x9B, 0x68, 0x13, 0x42, 0x02, 0xD0, 0x05, 0x4B, +0x1B, 0x68, 0x98, 0x47, 0x00, 0x23, 0x23, 0x70, +0x10, 0xBD, 0xC0, 0x46, 0x03, 0x00, 0x00, 0x20, +0x10, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x20, +0x03, 0x4A, 0x00, 0x23, 0x13, 0x70, 0x80, 0x22, +0xD2, 0x05, 0x93, 0x70, 0x70, 0x47, 0xC0, 0x46, +0x01, 0x00, 0x00, 0x20, 0x70, 0x47, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x04, +0x4D, 0x31, 0x48, 0x53, 0x43, 0x4F, 0x32, 0x34, +0xFF, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, +0xF8, 0xB5, 0x02, 0xF0, 0xA1, 0xFB, 0x03, 0xF0, +0x09, 0xFA, 0xCC, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0xCB, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x15, 0xD0, +0xA0, 0x23, 0x84, 0x22, 0xDB, 0x05, 0x5A, 0x70, +0xC8, 0x4A, 0x12, 0x68, 0x00, 0x2A, 0x03, 0xD0, +0x11, 0x78, 0x80, 0x22, 0x0A, 0x43, 0xDA, 0x70, +0xC5, 0x4B, 0x04, 0x22, 0x1A, 0x60, 0x02, 0x22, +0x1A, 0x60, 0x62, 0xB6, 0xC0, 0x4B, 0x1A, 0x78, +0x00, 0x2A, 0xFC, 0xD1, 0x02, 0xF0, 0xC0, 0xFE, +0xC0, 0x4B, 0x0E, 0x22, 0x1A, 0x70, 0xC0, 0x4B, +0x1A, 0x78, 0x00, 0x2A, 0x2C, 0xD1, 0xBF, 0x49, +0x09, 0x78, 0x48, 0x42, 0x41, 0x41, 0x0E, 0x20, +0x40, 0x1A, 0xBA, 0x49, 0x08, 0x70, 0xBC, 0x49, +0x0A, 0x70, 0x01, 0x22, 0x1A, 0x70, 0x00, 0xF0, +0xE1, 0xFA, 0xBA, 0x4B, 0x9A, 0x78, 0x5A, 0x70, +0xB0, 0x4B, 0x1B, 0x68, 0x98, 0x47, 0x01, 0xF0, +0x69, 0xFF, 0x01, 0xF0, 0x71, 0xF8, 0x80, 0x23, +0xDB, 0x05, 0x59, 0x6B, 0xB4, 0x4A, 0x0A, 0x40, +0x5A, 0x63, 0x00, 0xF0, 0xE7, 0xFA, 0x02, 0xF0, +0x05, 0xF8, 0x01, 0xF0, 0x65, 0xF8, 0x01, 0xF0, +0x21, 0xF8, 0xB0, 0x48, 0x02, 0xF0, 0x2B, 0xF9, +0xAF, 0x4B, 0x02, 0x20, 0x1B, 0x68, 0x98, 0x47, +0xAE, 0x4C, 0x23, 0x78, 0x00, 0x2B, 0x03, 0xD1, +0xAD, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x08, 0xD0, +0x00, 0xF0, 0xD6, 0xFA, 0xA1, 0x4B, 0x0E, 0x22, +0x1A, 0x70, 0xA9, 0x4A, 0x00, 0x23, 0x23, 0x70, +0x13, 0x70, 0xA8, 0x4B, 0x9D, 0x4A, 0x19, 0x78, +0x49, 0xB2, 0x01, 0x31, 0x03, 0xD0, 0x19, 0x78, +0x11, 0x70, 0xFF, 0x21, 0x19, 0x70, 0x17, 0x78, +0x7B, 0xB2, 0x0E, 0x2B, 0x0C, 0xD0, 0x05, 0xDC, +0x00, 0x2B, 0x70, 0xD0, 0x0D, 0x2B, 0x00, 0xD0, +0x9D, 0xE1, 0x15, 0xE0, 0x0F, 0x2B, 0x37, 0xD0, +0x11, 0x2B, 0x00, 0xD0, 0x97, 0xE1, 0x45, 0xE0, +0x92, 0x4B, 0x55, 0x33, 0x1A, 0x78, 0x0F, 0x2A, +0x01, 0xD9, 0x0F, 0x22, 0x1A, 0x70, 0x90, 0x4B, +0x00, 0x22, 0x1A, 0x70, 0x00, 0xF0, 0x22, 0xFB, +0x91, 0x4B, 0x1E, 0x20, 0x1B, 0x68, 0x98, 0x47, +0x8C, 0x4B, 0x58, 0x78, 0x02, 0xF0, 0xF8, 0xFA, +0x88, 0x4D, 0x2B, 0x7C, 0x28, 0x7B, 0xC0, 0x18, +0x02, 0xF0, 0x66, 0xF8, 0x8E, 0x4C, 0x20, 0x60, +0xE8, 0x89, 0x02, 0xF0, 0x61, 0xF8, 0xA0, 0x60, +0x2B, 0x7D, 0x68, 0x7C, 0xC0, 0x18, 0x02, 0xF0, +0x5B, 0xF8, 0x60, 0x60, 0x68, 0x8A, 0x02, 0xF0, +0x57, 0xF8, 0x88, 0x4B, 0xE0, 0x60, 0x5B, 0x7A, +0x2A, 0x7B, 0x5B, 0xB2, 0x53, 0x43, 0x23, 0x61, +0x7F, 0x4B, 0x1F, 0x20, 0x1B, 0x68, 0x98, 0x47, +0x79, 0x4B, 0x83, 0x4C, 0x00, 0x22, 0x1A, 0x70, +0x23, 0x78, 0x01, 0x2B, 0x01, 0xD1, 0x02, 0xF0, +0x77, 0xF9, 0x20, 0x78, 0x00, 0xF0, 0xC0, 0xFD, +0x01, 0x23, 0x23, 0x70, 0x76, 0x4B, 0x20, 0x20, +0x1B, 0x68, 0x98, 0x47, 0x70, 0x4B, 0x01, 0x22, +0x1A, 0x70, 0x00, 0xF0, 0x63, 0xFA, 0x02, 0xF0, +0x01, 0xF8, 0x02, 0xF0, 0xF7, 0xFA, 0x6B, 0x4B, +0x00, 0x25, 0x5C, 0x7F, 0x06, 0xE0, 0x02, 0xF0, +0x61, 0xFB, 0x00, 0xF0, 0x4F, 0xFA, 0x01, 0xF0, +0xF5, 0xFF, 0x01, 0x35, 0xAC, 0x42, 0xF6, 0xD1, +0x02, 0xF0, 0x9C, 0xFB, 0x00, 0xF0, 0x46, 0xFA, +0x60, 0x4B, 0x00, 0x22, 0x1A, 0x70, 0x66, 0x4B, +0x21, 0x20, 0x1B, 0x68, 0x98, 0x47, 0x6B, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x10, 0xD0, 0x6A, 0x4B, +0x0C, 0x22, 0x1A, 0x70, 0x80, 0x23, 0xDB, 0x05, +0x59, 0x69, 0x08, 0x22, 0x91, 0x43, 0x59, 0x61, +0x59, 0x69, 0x11, 0x42, 0xFC, 0xD0, 0x63, 0x4A, +0x00, 0x23, 0x13, 0x70, 0x63, 0x4A, 0x13, 0x70, +0x00, 0xF0, 0x56, 0xFB, 0x58, 0x4D, 0x03, 0x20, +0x2B, 0x68, 0x98, 0x47, 0x60, 0x4B, 0x01, 0x26, +0x80, 0x24, 0x1E, 0x70, 0xE4, 0x05, 0xE2, 0x6B, +0x80, 0x23, 0x5B, 0x04, 0x13, 0x43, 0xE3, 0x63, +0x01, 0xF0, 0xC0, 0xFF, 0x70, 0x42, 0x5B, 0x49, +0x5B, 0x4A, 0x02, 0xF0, 0x27, 0xFD, 0x2B, 0x68, +0x06, 0x20, 0x98, 0x47, 0x02, 0xF0, 0x96, 0xFB, +0x00, 0x28, 0x07, 0xD1, 0xE3, 0x6B, 0x1B, 0x0E, +0x1B, 0x06, 0x33, 0x43, 0xE3, 0x63, 0x4A, 0x4B, +0x1E, 0x70, 0xED, 0xE0, 0x53, 0x49, 0x00, 0x23, +0x4A, 0x68, 0x9A, 0x42, 0x09, 0xDA, 0x09, 0x68, +0x52, 0x18, 0x3E, 0x49, 0x01, 0x31, 0xC9, 0x7F, +0x49, 0xB2, 0x8A, 0x42, 0x00, 0xDB, 0x1E, 0x1C, +0x33, 0x1C, 0x4D, 0x4D, 0x3E, 0x4C, 0x2B, 0x70, +0x04, 0x20, 0x23, 0x68, 0x98, 0x47, 0x2B, 0x78, +0x4A, 0x4D, 0x00, 0x2B, 0x0C, 0xD0, 0x2B, 0x68, +0x02, 0x2B, 0x01, 0xDC, 0x01, 0x33, 0x05, 0xE0, +0x00, 0xF0, 0x50, 0xFB, 0x2F, 0x4B, 0x0F, 0x22, +0x1A, 0x70, 0x00, 0x23, 0x2B, 0x60, 0xB8, 0xE0, +0x2B, 0x60, 0x00, 0xF0, 0xAB, 0xFF, 0x23, 0x68, +0x07, 0x20, 0x98, 0x47, 0x00, 0xF0, 0x76, 0xFF, +0x23, 0x68, 0x09, 0x20, 0x98, 0x47, 0x01, 0xF0, +0x89, 0xFF, 0x3D, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x13, 0xD1, 0x02, 0xF0, 0x2F, 0xFD, 0x00, 0x28, +0x0F, 0xD1, 0x00, 0xF0, 0x33, 0xFB, 0x21, 0x4B, +0x0F, 0x22, 0x1A, 0x70, 0x80, 0x23, 0xDB, 0x05, +0xDA, 0x6B, 0x01, 0x21, 0x12, 0x0E, 0x12, 0x06, +0x0A, 0x43, 0xDA, 0x63, 0x01, 0xF0, 0x84, 0xFF, +0xA2, 0xE0, 0x01, 0xF0, 0x81, 0xFF, 0x20, 0x4C, +0x0B, 0x20, 0x23, 0x68, 0x98, 0x47, 0x00, 0xF0, +0x8B, 0xFF, 0x0C, 0x20, 0x23, 0x68, 0x98, 0x47, +0x2C, 0x4B, 0x1B, 0x68, 0x98, 0x47, 0x01, 0xF0, +0xE7, 0xFA, 0x01, 0xF0, 0x23, 0xFC, 0x23, 0x68, +0x0F, 0x20, 0x98, 0x47, 0x01, 0xF0, 0x5E, 0xFD, +0x23, 0x68, 0x10, 0x20, 0x98, 0x47, 0x26, 0x4B, +0x26, 0x49, 0x1A, 0x68, 0x26, 0x4B, 0x00, 0x2A, +0x4C, 0xD0, 0x0C, 0x48, 0x0A, 0x78, 0x43, 0x30, +0x00, 0x78, 0x90, 0x42, 0x03, 0xD9, 0x01, 0x32, +0x0A, 0x70, 0x01, 0x22, 0x43, 0xE0, 0x00, 0x22, +0x41, 0xE0, 0xC0, 0x46, 0x54, 0x06, 0x00, 0x20, +0x2C, 0x06, 0x00, 0x20, 0x24, 0x06, 0x00, 0x20, +0x00, 0xE1, 0x00, 0xE0, 0x69, 0x0A, 0x00, 0x20, +0xB0, 0x06, 0x00, 0x20, 0x34, 0x0D, 0x00, 0x20, +0xAE, 0x06, 0x00, 0x20, 0x88, 0x0B, 0x00, 0x20, +0xFF, 0xC0, 0xFF, 0xFF, 0x20, 0x4E, 0x00, 0x00, +0xB0, 0x07, 0x00, 0x20, 0xB1, 0x06, 0x00, 0x20, +0xB2, 0x06, 0x00, 0x20, 0x39, 0x06, 0x00, 0x20, +0x38, 0x09, 0x00, 0x20, 0x50, 0x0B, 0x00, 0x20, +0xAF, 0x06, 0x00, 0x20, 0xB4, 0x06, 0x00, 0x20, +0x20, 0x13, 0x00, 0x20, 0xAC, 0x06, 0x00, 0x20, +0x02, 0x00, 0x00, 0x20, 0x4C, 0x09, 0x00, 0x20, +0xA8, 0x0C, 0x00, 0x20, 0xF4, 0x06, 0x00, 0x20, +0x10, 0x09, 0x00, 0x20, 0xF0, 0x06, 0x00, 0x20, +0xEC, 0x06, 0x00, 0x20, 0xAC, 0x07, 0x00, 0x20, +0xD4, 0x0D, 0x00, 0x20, 0x91, 0x07, 0x00, 0x20, +0x92, 0x07, 0x00, 0x20, 0x0A, 0x70, 0x1A, 0x70, +0x1B, 0x78, 0x00, 0x2B, 0x07, 0xD0, 0x80, 0x23, +0xDB, 0x05, 0xDA, 0x6B, 0x01, 0x21, 0x12, 0x0E, +0x12, 0x06, 0x0A, 0x43, 0xDA, 0x63, 0x7A, 0x4C, +0x11, 0x20, 0x23, 0x68, 0x98, 0x47, 0x00, 0xF0, +0xAF, 0xFA, 0x00, 0x28, 0x20, 0xD0, 0x23, 0x68, +0x12, 0x20, 0x98, 0x47, 0x75, 0x4D, 0x2B, 0x78, +0x00, 0x2B, 0x13, 0xD0, 0x00, 0xF0, 0x9A, 0xFA, +0x2C, 0x78, 0x00, 0x2C, 0xFC, 0xD1, 0x02, 0xF0, +0xE3, 0xFC, 0x71, 0x4B, 0x1C, 0x70, 0x71, 0x4B, +0x1C, 0x70, 0x80, 0x23, 0xDB, 0x05, 0xDA, 0x6B, +0x01, 0x21, 0x12, 0x0E, 0x12, 0x06, 0x0A, 0x43, +0xDA, 0x63, 0x05, 0xE0, 0x23, 0x68, 0x13, 0x20, +0x98, 0x47, 0x6B, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0x00, 0xF0, 0xC0, 0xFB, 0x69, 0x4B, 0x00, 0x20, +0x18, 0x56, 0x00, 0xF0, 0x77, 0xFB, 0x62, 0x4B, +0x15, 0x20, 0x1B, 0x68, 0x98, 0x47, 0x66, 0x4B, +0x1F, 0x70, 0x66, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x00, 0xD1, 0x00, 0xE6, 0x64, 0x4B, 0x1B, 0x78, +0x00, 0x2B, 0x00, 0xD0, 0xA7, 0xE0, 0xFA, 0xE5, +0x62, 0x4B, 0x19, 0x78, 0x49, 0xB2, 0x01, 0x31, +0x00, 0xD1, 0xA2, 0xE0, 0x1C, 0x78, 0x60, 0xB2, +0x02, 0x28, 0x6B, 0xD0, 0x05, 0xDC, 0x00, 0x28, +0x09, 0xD0, 0x01, 0x28, 0x00, 0xD0, 0x85, 0xE0, +0x5D, 0xE0, 0x04, 0x28, 0x73, 0xD0, 0x6B, 0xDB, +0x06, 0x28, 0x7F, 0xD1, 0x3E, 0xE0, 0x80, 0x22, +0xD2, 0x05, 0x08, 0x23, 0x51, 0x69, 0x19, 0x42, +0xFC, 0xD0, 0x55, 0x4A, 0x01, 0x23, 0x13, 0x70, +0x54, 0x4A, 0x55, 0x49, 0x13, 0x70, 0x55, 0x4A, +0x55, 0x4C, 0x10, 0x68, 0x01, 0x40, 0x80, 0x20, +0x98, 0x40, 0x01, 0x43, 0x11, 0x60, 0x53, 0x4A, +0x20, 0x1C, 0x13, 0x60, 0x52, 0x4A, 0x53, 0x49, +0x13, 0x70, 0x80, 0x22, 0x02, 0xF0, 0x30, 0xFE, +0x2B, 0x78, 0x00, 0x2B, 0x04, 0xD0, 0x20, 0x1C, +0x4F, 0x49, 0x0C, 0x22, 0x02, 0xF0, 0x28, 0xFE, +0x3B, 0x4B, 0x17, 0x20, 0x1B, 0x68, 0x98, 0x47, +0x00, 0xF0, 0xAC, 0xF8, 0x46, 0x4B, 0x1B, 0x78, +0x00, 0x2B, 0x02, 0xD0, 0x00, 0xF0, 0x3E, 0xF9, +0x02, 0xE0, 0x48, 0x4B, 0x9A, 0x78, 0x5A, 0x70, +0x01, 0xF0, 0x9A, 0xFD, 0x02, 0xF0, 0x10, 0xF8, +0x02, 0xF0, 0x6C, 0xF8, 0x00, 0x20, 0x00, 0xF0, +0x03, 0xFC, 0x3F, 0xE0, 0x00, 0x23, 0x13, 0x70, +0x3C, 0x4A, 0x01, 0x23, 0x13, 0x60, 0x3C, 0x4A, +0x39, 0x48, 0x13, 0x70, 0x3E, 0x4B, 0x1B, 0x78, +0x00, 0x2B, 0x01, 0xD0, 0x3D, 0x49, 0x00, 0xE0, +0x38, 0x49, 0x80, 0x22, 0x02, 0xF0, 0xFC, 0xFD, +0x25, 0x4B, 0x18, 0x20, 0x1B, 0x68, 0x98, 0x47, +0x01, 0x22, 0x39, 0x4B, 0x0E, 0xE0, 0x00, 0xF0, +0x0D, 0xFD, 0x21, 0x4B, 0x19, 0x20, 0x1B, 0x68, +0x98, 0x47, 0x1D, 0xE0, 0x00, 0xF0, 0x06, 0xFD, +0x1D, 0x4B, 0x1A, 0x20, 0x1B, 0x68, 0x98, 0x47, +0x2B, 0x4B, 0x01, 0x22, 0x1A, 0x70, 0x15, 0xE0, +0x00, 0x20, 0x00, 0xF0, 0xFB, 0xFC, 0x18, 0x4B, +0x1B, 0x20, 0x1B, 0x68, 0xF3, 0xE7, 0x2D, 0x4B, +0x2D, 0x48, 0x19, 0x68, 0x2D, 0x4B, 0x00, 0x68, +0x1A, 0x68, 0x2D, 0x4B, 0x0A, 0x43, 0x1B, 0x68, +0xC3, 0x18, 0x9A, 0x1A, 0x1F, 0x4B, 0x1A, 0x60, +0x1F, 0x4B, 0x1C, 0x70, 0x29, 0x4B, 0x1D, 0x4A, +0x1A, 0x60, 0x23, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x05, 0xD1, 0x80, 0x23, 0xDB, 0x05, 0x5A, 0x69, +0x08, 0x21, 0x8A, 0x43, 0x5A, 0x61, 0x11, 0x4B, +0xFF, 0x22, 0x1A, 0x70, 0x01, 0xE0, 0x22, 0x4D, +0x35, 0x35, 0x0D, 0x4A, 0x13, 0x78, 0x00, 0x2B, +0x00, 0xD0, 0x51, 0xE7, 0x04, 0x4A, 0x13, 0x70, +0x04, 0x4A, 0x13, 0x70, 0x47, 0xE5, 0xC0, 0x46, +0xB0, 0x07, 0x00, 0x20, 0x2C, 0x06, 0x00, 0x20, +0xB0, 0x06, 0x00, 0x20, 0xAF, 0x06, 0x00, 0x20, +0xB8, 0x07, 0x00, 0x20, 0xEB, 0x06, 0x00, 0x20, +0x3A, 0x06, 0x00, 0x20, 0xAE, 0x06, 0x00, 0x20, +0xB3, 0x06, 0x00, 0x20, 0xA0, 0x0C, 0x00, 0x20, +0xAC, 0x06, 0x00, 0x20, 0xB4, 0x0D, 0x00, 0x20, +0xFF, 0xF8, 0xFF, 0xFF, 0x20, 0x13, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0x14, 0x09, 0x00, 0x20, +0x0D, 0x0B, 0x00, 0x20, 0x9C, 0x12, 0x00, 0x20, +0x2C, 0x09, 0x00, 0x20, 0x88, 0x0B, 0x00, 0x20, +0xD0, 0x06, 0x00, 0x20, 0xAC, 0x0C, 0x00, 0x20, +0xB4, 0x06, 0x00, 0x20, 0x18, 0x00, 0x00, 0x20, +0xEC, 0x4F, 0x00, 0x00, 0x14, 0x00, 0x00, 0x20, +0xF8, 0x37, 0x00, 0x00, 0x14, 0x11, 0x00, 0x20, +0x50, 0x0B, 0x00, 0x20, 0x10, 0xB5, 0x02, 0xF0, +0xF1, 0xFB, 0x05, 0x4C, 0x00, 0x20, 0x23, 0x68, +0x98, 0x47, 0x02, 0xF0, 0x2F, 0xFC, 0x23, 0x68, +0x01, 0x20, 0x98, 0x47, 0x10, 0xBD, 0xC0, 0x46, +0xB0, 0x07, 0x00, 0x20, 0x08, 0xB5, 0x80, 0x23, +0x01, 0x22, 0xDB, 0x05, 0x5A, 0x70, 0x01, 0xF0, +0x03, 0xFE, 0x08, 0xBD, 0x08, 0xB5, 0x01, 0xF0, +0x9D, 0xFD, 0xFF, 0xF7, 0xF3, 0xFF, 0x08, 0xBD, +0x70, 0xB5, 0x31, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x0C, 0xD0, 0x30, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0x01, 0xF0, 0xD4, 0xF8, 0x01, 0xF0, 0xBC, 0xFA, +0x80, 0x23, 0xDB, 0x05, 0x5A, 0x69, 0x08, 0x21, +0x0A, 0x43, 0x5A, 0x61, 0x80, 0x24, 0xE4, 0x05, +0xA2, 0x68, 0x29, 0x4B, 0x29, 0x4D, 0x13, 0x40, +0xA3, 0x60, 0xA3, 0x68, 0x2B, 0x40, 0xA3, 0x60, +0xA2, 0x68, 0x27, 0x4B, 0x13, 0x40, 0xA3, 0x60, +0x21, 0x4B, 0x1B, 0x78, 0x00, 0x2B, 0x15, 0xD0, +0x23, 0x68, 0x24, 0x4E, 0x80, 0x22, 0x52, 0x04, +0x33, 0x40, 0x13, 0x43, 0x23, 0x60, 0x01, 0xF0, +0x0D, 0xFE, 0x63, 0x68, 0x1D, 0x40, 0x65, 0x60, +0xBF, 0xF3, 0x6F, 0x8F, 0xFA, 0x20, 0xC0, 0x00, +0x01, 0xF0, 0x11, 0xFE, 0x23, 0x68, 0x1E, 0x40, +0x26, 0x60, 0x0C, 0xE0, 0x1A, 0x48, 0x01, 0xF0, +0x0A, 0xFE, 0x1A, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x05, 0xD1, 0x19, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x01, 0xD1, 0x01, 0xF0, 0x2B, 0xFC, 0x80, 0x23, +0xDB, 0x05, 0x99, 0x68, 0x80, 0x22, 0x92, 0x00, +0x0A, 0x43, 0x9A, 0x60, 0x99, 0x68, 0x80, 0x22, +0x12, 0x01, 0x0A, 0x43, 0x9A, 0x60, 0x99, 0x68, +0x80, 0x22, 0xD2, 0x00, 0x0A, 0x43, 0x9A, 0x60, +0x0E, 0x48, 0x01, 0xF0, 0xEC, 0xFD, 0x04, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x03, 0xD0, 0x0C, 0x4B, +0x16, 0x20, 0x1B, 0x68, 0x98, 0x47, 0x70, 0xBD, +0xB1, 0x06, 0x00, 0x20, 0x54, 0x06, 0x00, 0x20, +0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, +0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, +0x40, 0x42, 0x0F, 0x00, 0xB3, 0x06, 0x00, 0x20, +0xB5, 0x06, 0x00, 0x20, 0x20, 0x4E, 0x00, 0x00, +0xB0, 0x07, 0x00, 0x20, 0xF0, 0xB5, 0x80, 0x23, +0xDB, 0x05, 0x59, 0x6B, 0x45, 0x4A, 0x85, 0xB0, +0x0A, 0x40, 0x5A, 0x63, 0x08, 0x22, 0x59, 0x69, +0x11, 0x42, 0xFC, 0xD0, 0x42, 0x4D, 0x2E, 0x1C, +0x55, 0x36, 0x34, 0x78, 0x64, 0x00, 0x1D, 0xE0, +0x40, 0x4B, 0x30, 0x78, 0x9B, 0x78, 0x20, 0x1A, +0x18, 0x18, 0x01, 0xF0, 0xC5, 0xFF, 0xFF, 0xF7, +0x65, 0xFF, 0x3D, 0x4B, 0xA8, 0x79, 0xDB, 0x78, +0x0D, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0x3B, 0x49, +0x5F, 0x1C, 0x7F, 0x00, 0x7F, 0x5A, 0x3A, 0x49, +0xBC, 0x46, 0x5F, 0x01, 0x3F, 0x19, 0x62, 0x46, +0xBF, 0x00, 0x02, 0x41, 0x7A, 0x50, 0x00, 0x2B, +0xEF, 0xD1, 0x01, 0x3C, 0x62, 0x1C, 0xDF, 0xD1, +0x2B, 0x1C, 0x54, 0x33, 0x1B, 0x78, 0x00, 0x26, +0x01, 0x93, 0x2A, 0xE0, 0x31, 0x4D, 0x2B, 0x78, +0x00, 0x25, 0x5B, 0x00, 0x00, 0x93, 0x1C, 0x1C, +0x20, 0xE0, 0x2E, 0x49, 0x29, 0x4B, 0x08, 0x78, +0x9B, 0x78, 0x20, 0x1A, 0x18, 0x18, 0x01, 0xF0, +0x97, 0xFF, 0x03, 0xAF, 0xFF, 0xF7, 0x36, 0xFF, +0x00, 0x22, 0x3A, 0x80, 0x6A, 0x46, 0x0E, 0x32, +0x00, 0x23, 0x13, 0x80, 0x39, 0x1C, 0x20, 0x1C, +0x02, 0xF0, 0x38, 0xFA, 0x00, 0x99, 0x24, 0x4B, +0x4A, 0x00, 0xD2, 0x18, 0x51, 0x5B, 0x3B, 0x88, +0x8B, 0x42, 0x00, 0xDA, 0x0B, 0x1C, 0x53, 0x53, +0x01, 0x3C, 0x02, 0x3D, 0x62, 0x1C, 0xDC, 0xD1, +0x01, 0x36, 0x01, 0x9D, 0xB5, 0x42, 0xD1, 0xD1, +0x01, 0xF0, 0x38, 0xFC, 0x14, 0x4D, 0x1B, 0x4A, +0x55, 0x35, 0x2C, 0x78, 0x17, 0x78, 0x1A, 0x4A, +0x63, 0x00, 0x17, 0x49, 0x16, 0x78, 0x5A, 0x1E, +0x03, 0x3B, 0x5B, 0x00, 0x5B, 0x18, 0x17, 0x48, +0x00, 0x21, 0x0E, 0xE0, 0x1D, 0x88, 0xAC, 0x46, +0x9D, 0x88, 0x65, 0x44, 0x7D, 0x43, 0xAC, 0x46, +0x5D, 0x88, 0x75, 0x43, 0x65, 0x44, 0xA8, 0x42, +0x01, 0xDB, 0x11, 0x1B, 0xA8, 0xB2, 0x01, 0x3A, +0x02, 0x3B, 0x00, 0x2A, 0xEE, 0xD1, 0x05, 0x4B, +0x05, 0xB0, 0x9A, 0x78, 0x51, 0x18, 0xC9, 0xB2, +0x59, 0x70, 0xF0, 0xBD, 0xFF, 0xC0, 0xFF, 0xFF, +0x34, 0x0D, 0x00, 0x20, 0x88, 0x0B, 0x00, 0x20, +0x4B, 0x0A, 0x00, 0x20, 0x00, 0x08, 0x00, 0x40, +0x1C, 0x00, 0x00, 0x20, 0x89, 0x0D, 0x00, 0x20, +0xC0, 0x0A, 0x00, 0x20, 0x3D, 0x06, 0x00, 0x20, +0x3C, 0x06, 0x00, 0x20, 0xFF, 0xFF, 0x00, 0x00, +0x10, 0xB5, 0x19, 0x4B, 0x19, 0x4A, 0x1B, 0x78, +0x58, 0xB2, 0x41, 0x1C, 0x03, 0xD0, 0x18, 0x49, +0x09, 0x78, 0x00, 0x29, 0x04, 0xD0, 0x00, 0x21, +0x11, 0x60, 0x8B, 0x42, 0x0F, 0xD1, 0x11, 0xE0, +0x14, 0x49, 0x14, 0x68, 0x09, 0x69, 0x8C, 0x42, +0x01, 0xDA, 0x01, 0x34, 0x14, 0x60, 0x01, 0x28, +0x08, 0xD0, 0x0E, 0x4A, 0x12, 0x68, 0x8A, 0x42, +0x04, 0xDB, 0x01, 0x23, 0x00, 0xE0, 0x0B, 0x1C, +0x09, 0x4A, 0x13, 0x70, 0x0B, 0x4A, 0x5B, 0xB2, +0x9B, 0x00, 0xD2, 0x58, 0x0A, 0x4B, 0x1A, 0x60, +0x19, 0x68, 0x80, 0x23, 0xDB, 0x05, 0xDA, 0x6B, +0x09, 0x02, 0x12, 0x0E, 0x09, 0x0A, 0x12, 0x06, +0x0A, 0x43, 0xDA, 0x63, 0x10, 0xBD, 0xC0, 0x46, +0x3B, 0x06, 0x00, 0x20, 0x50, 0x06, 0x00, 0x20, +0x95, 0x07, 0x00, 0x20, 0x38, 0x09, 0x00, 0x20, +0x04, 0x00, 0x00, 0x20, 0x08, 0xB5, 0x00, 0xF0, +0x7D, 0xFF, 0x02, 0x4B, 0x1B, 0x68, 0x98, 0x47, +0x08, 0xBD, 0xC0, 0x46, 0xB8, 0x07, 0x00, 0x20, +0xF7, 0xB5, 0x64, 0x4B, 0x64, 0x4A, 0x1B, 0x78, +0x00, 0x21, 0xDE, 0xB2, 0x00, 0x2E, 0x04, 0xD1, +0x11, 0x68, 0x62, 0x48, 0x81, 0x42, 0x01, 0xD0, +0x01, 0x31, 0x11, 0x60, 0x60, 0x4A, 0x00, 0x21, +0x11, 0x70, 0x8E, 0x42, 0x31, 0xD1, 0x5F, 0x49, +0x08, 0x78, 0x00, 0x28, 0x0A, 0xD0, 0x0A, 0x78, +0x01, 0x23, 0x52, 0xB2, 0x02, 0x2A, 0x00, 0xD1, +0x13, 0x1C, 0x59, 0x4A, 0x13, 0x70, 0x00, 0x23, +0x0B, 0x70, 0xA4, 0xE0, 0x58, 0x49, 0x08, 0x78, +0x00, 0x28, 0x03, 0xD0, 0x01, 0x20, 0x10, 0x70, +0x0B, 0x70, 0x99, 0xE0, 0x55, 0x4B, 0x18, 0x68, +0x00, 0x28, 0x06, 0xDD, 0x01, 0x38, 0x18, 0x60, +0x01, 0x28, 0x12, 0xD1, 0x1E, 0x60, 0x03, 0x23, +0x8F, 0xE0, 0x51, 0x4A, 0x51, 0x49, 0x56, 0x32, +0x12, 0x88, 0x8A, 0x42, 0x09, 0xD0, 0x50, 0x49, +0x09, 0x88, 0x91, 0x42, 0x05, 0xD3, 0x46, 0x4A, +0x12, 0x68, 0x31, 0x2A, 0x01, 0xDD, 0x32, 0x22, +0x1A, 0x60, 0x4C, 0x4B, 0x00, 0x20, 0x18, 0x56, +0x01, 0x28, 0x00, 0xD1, 0x7C, 0xE0, 0x00, 0x2E, +0x18, 0xD1, 0x49, 0x49, 0x49, 0x4A, 0x0B, 0x1C, +0x32, 0x33, 0x1B, 0x78, 0x12, 0x68, 0x9A, 0x42, +0x0B, 0xDB, 0x47, 0x4B, 0x33, 0x31, 0x1A, 0x68, +0x01, 0x32, 0x1A, 0x60, 0x09, 0x78, 0x8A, 0x42, +0x03, 0xDB, 0x1E, 0x60, 0x38, 0x4B, 0x02, 0x22, +0x1A, 0x70, 0x42, 0x4A, 0x00, 0x23, 0x13, 0x70, +0x3E, 0x4A, 0x26, 0xE0, 0x37, 0x4B, 0x00, 0x22, +0x1A, 0x60, 0x3F, 0x4B, 0x1B, 0x78, 0x93, 0x42, +0x20, 0xD0, 0x37, 0x4B, 0x38, 0x49, 0x18, 0x88, +0x0A, 0x8E, 0x3A, 0x4B, 0x90, 0x42, 0x12, 0xD2, +0x3A, 0x4A, 0x10, 0x88, 0x30, 0x4A, 0x58, 0x32, +0x12, 0x78, 0x90, 0x42, 0x0B, 0xD2, 0x1B, 0x78, +0x00, 0x2B, 0x0F, 0xD1, 0x31, 0x4B, 0x32, 0x31, +0x1A, 0x68, 0x09, 0x78, 0x8A, 0x42, 0x09, 0xDA, +0x01, 0x32, 0x1A, 0x60, 0x06, 0xE0, 0x01, 0x22, +0x1A, 0x70, 0x2C, 0x4A, 0x00, 0x23, 0x13, 0x60, +0x2B, 0x4A, 0x13, 0x60, 0x2C, 0x4B, 0x01, 0x20, +0x1B, 0x78, 0x00, 0x2B, 0x34, 0xD1, 0x2C, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x2C, 0xD0, 0x1E, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x2C, 0xD1, 0x22, 0x4C, +0x28, 0x4D, 0xE7, 0x8C, 0xA1, 0x8D, 0xE2, 0x8D, +0xA3, 0x8C, 0x28, 0x68, 0x00, 0x97, 0x02, 0xF0, +0x73, 0xFA, 0x23, 0x8D, 0xA1, 0x8D, 0xE2, 0x8D, +0x64, 0x8D, 0x07, 0x1C, 0x28, 0x68, 0x00, 0x94, +0x02, 0xF0, 0x6A, 0xFA, 0x16, 0x4B, 0x1B, 0x88, +0xBB, 0x42, 0x03, 0xDA, 0x1B, 0x4B, 0x1B, 0x88, +0x83, 0x42, 0x02, 0xDB, 0x1C, 0x4B, 0x01, 0x22, +0x1A, 0x70, 0x00, 0x2E, 0x0B, 0xD0, 0x1A, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x07, 0xD0, 0x0A, 0x4B, +0x01, 0x22, 0x1A, 0x70, 0x00, 0x20, 0x03, 0xE0, +0x15, 0x4A, 0x13, 0x70, 0x00, 0xE0, 0x01, 0x20, +0xFE, 0xBD, 0xC0, 0x46, 0xD4, 0x0D, 0x00, 0x20, +0xE4, 0x06, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x7F, +0xEB, 0x06, 0x00, 0x20, 0xD1, 0x06, 0x00, 0x20, +0xE9, 0x06, 0x00, 0x20, 0xE0, 0x06, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0xFF, 0xFF, 0x00, 0x00, +0x4C, 0x09, 0x00, 0x20, 0x4A, 0x0A, 0x00, 0x20, +0x50, 0x0B, 0x00, 0x20, 0xD4, 0x06, 0x00, 0x20, +0xDC, 0x06, 0x00, 0x20, 0xD8, 0x06, 0x00, 0x20, +0xD0, 0x06, 0x00, 0x20, 0xA8, 0x0C, 0x00, 0x20, +0x04, 0x08, 0x00, 0x20, 0xF4, 0x06, 0x00, 0x20, +0xEA, 0x06, 0x00, 0x20, 0x38, 0xB5, 0x03, 0x1E, +0x2E, 0xDD, 0x02, 0x2B, 0x05, 0xDD, 0x03, 0x2B, +0x2A, 0xD1, 0x16, 0x4B, 0x0E, 0x22, 0x1A, 0x70, +0x26, 0xE0, 0x15, 0x48, 0x15, 0x4D, 0x16, 0x4C, +0x02, 0x2B, 0x08, 0xD1, 0x15, 0x49, 0x80, 0x22, +0x02, 0xF0, 0xEA, 0xFA, 0x00, 0x23, 0x2B, 0x70, +0x0E, 0x20, 0x23, 0x68, 0x07, 0xE0, 0x12, 0x49, +0x80, 0x22, 0x02, 0xF0, 0xE1, 0xFA, 0x01, 0x23, +0x2B, 0x70, 0x23, 0x68, 0x0D, 0x20, 0x98, 0x47, +0xFF, 0xF7, 0x64, 0xFD, 0x0D, 0x4B, 0x07, 0x4A, +0x34, 0x33, 0x1B, 0x78, 0x13, 0x70, 0x0E, 0x2B, +0x04, 0xD1, 0x0B, 0x4B, 0x9A, 0x78, 0x5A, 0x70, +0x01, 0xF0, 0x52, 0xFA, 0x01, 0xF0, 0xC8, 0xFC, +0x38, 0xBD, 0xC0, 0x46, 0x69, 0x0A, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0xD0, 0x06, 0x00, 0x20, +0xB0, 0x07, 0x00, 0x20, 0x9C, 0x12, 0x00, 0x20, +0xAC, 0x0C, 0x00, 0x20, 0x50, 0x0B, 0x00, 0x20, +0x88, 0x0B, 0x00, 0x20, 0xF0, 0xB5, 0x80, 0x24, +0x01, 0x23, 0xE4, 0x05, 0x63, 0x70, 0x85, 0xB0, +0x01, 0xF0, 0x56, 0xFB, 0x45, 0x4B, 0x1B, 0x78, +0x5B, 0xB2, 0x00, 0x2B, 0x07, 0xD1, 0xA2, 0x68, +0x43, 0x4B, 0x13, 0x40, 0xA3, 0x60, 0xA2, 0x68, +0x42, 0x4B, 0x13, 0x40, 0xA3, 0x60, 0x42, 0x4B, +0x1B, 0x78, 0x5B, 0xB2, 0x01, 0x2B, 0x48, 0xD1, +0x40, 0x4A, 0x00, 0x21, 0x13, 0x7B, 0xD5, 0x7A, +0x3F, 0x4A, 0x94, 0x79, 0xD2, 0x7A, 0xA4, 0x46, +0x02, 0x92, 0x3E, 0x4A, 0x12, 0x68, 0x03, 0x92, +0x20, 0xE0, 0x01, 0x3B, 0x3C, 0x4C, 0xDB, 0xB2, +0x58, 0x01, 0x00, 0x19, 0x38, 0x5A, 0x02, 0x9C, +0x66, 0x46, 0x30, 0x41, 0x00, 0x2C, 0x08, 0xD0, +0x00, 0x9E, 0x38, 0x4C, 0xF6, 0x18, 0x01, 0x96, +0x34, 0x5D, 0x03, 0x9E, 0x60, 0x43, 0x70, 0x43, +0x00, 0x13, 0x54, 0x01, 0xE4, 0x18, 0x34, 0x4E, +0xA4, 0x00, 0xA6, 0x59, 0x34, 0x0C, 0x00, 0x1B, +0x81, 0x42, 0x00, 0xDA, 0x01, 0x1C, 0x00, 0x2B, +0xDF, 0xD1, 0x13, 0x1C, 0x5A, 0x1E, 0xD2, 0xB2, +0x00, 0x2B, 0x06, 0xD0, 0x15, 0x26, 0x56, 0x43, +0x57, 0x1C, 0x2B, 0x1C, 0x7F, 0x00, 0x00, 0x96, +0xF1, 0xE7, 0x25, 0x4B, 0x02, 0x33, 0xDB, 0x7F, +0x99, 0x42, 0x0A, 0xDB, 0x80, 0x23, 0xDB, 0x05, +0xDA, 0x6B, 0x01, 0x21, 0x12, 0x0E, 0x12, 0x06, +0x0A, 0x43, 0xDA, 0x63, 0x1C, 0x4B, 0xFF, 0x22, +0x1A, 0x70, 0x01, 0xF0, 0xE9, 0xFA, 0x1A, 0x4B, +0x20, 0x4A, 0x1B, 0x78, 0x5B, 0xB2, 0x02, 0x33, +0x9B, 0x00, 0xD2, 0x58, 0x1E, 0x4B, 0x1A, 0x60, +0x19, 0x68, 0x80, 0x23, 0xDB, 0x05, 0xDA, 0x6B, +0x09, 0x02, 0x12, 0x0E, 0x09, 0x0A, 0x12, 0x06, +0x0A, 0x43, 0xDA, 0x63, 0x19, 0x4A, 0x01, 0x21, +0x11, 0x70, 0xD9, 0x6B, 0x80, 0x22, 0x52, 0x04, +0x0A, 0x43, 0xDA, 0x63, 0x09, 0x4A, 0x12, 0x78, +0x52, 0xB2, 0x00, 0x2A, 0x09, 0xD1, 0x99, 0x68, +0x80, 0x22, 0x92, 0x00, 0x0A, 0x43, 0x9A, 0x60, +0x99, 0x68, 0x80, 0x22, 0xD2, 0x00, 0x0A, 0x43, +0x9A, 0x60, 0x01, 0xF0, 0xBD, 0xFA, 0x05, 0xB0, +0xF0, 0xBD, 0xC0, 0x46, 0x69, 0x0A, 0x00, 0x20, +0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, +0x3B, 0x06, 0x00, 0x20, 0x50, 0x0B, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0x28, 0x0B, 0x00, 0x20, +0x20, 0x08, 0x00, 0x40, 0x4E, 0x09, 0x00, 0x20, +0x1C, 0x00, 0x00, 0x20, 0x38, 0x09, 0x00, 0x20, +0x04, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x20, +0xF0, 0xB5, 0x91, 0xB0, 0x87, 0x4D, 0x05, 0x90, +0x69, 0x79, 0x80, 0x23, 0xDB, 0x05, 0x7F, 0x22, +0x11, 0x40, 0x85, 0x4C, 0x9A, 0x6B, 0x09, 0x06, +0x22, 0x40, 0x0A, 0x43, 0x9A, 0x63, 0xC0, 0x22, +0xD2, 0x00, 0x82, 0x48, 0xFF, 0x21, 0x02, 0xF0, +0x35, 0xFA, 0x05, 0x9C, 0x80, 0x4A, 0x00, 0x2C, +0x0C, 0xD0, 0x6B, 0x7E, 0x52, 0x68, 0x59, 0xB2, +0x91, 0x42, 0x01, 0xDB, 0x53, 0x1E, 0xDB, 0xB2, +0x5A, 0x42, 0xD2, 0xB2, 0x07, 0x92, 0x03, 0x93, +0x00, 0x25, 0x0C, 0xE0, 0x53, 0x68, 0x5B, 0x00, +0x5B, 0x42, 0x1F, 0x1C, 0x08, 0x37, 0x01, 0xDA, +0x08, 0x23, 0x5B, 0x42, 0xDB, 0xB2, 0xFF, 0x24, +0x07, 0x93, 0x03, 0x94, 0x02, 0x25, 0x03, 0x9F, +0x06, 0x95, 0x02, 0x97, 0x00, 0x24, 0x81, 0xE0, +0x20, 0x1C, 0x31, 0x1C, 0x3A, 0x1C, 0x01, 0xF0, +0xF9, 0xFA, 0x01, 0x34, 0x04, 0xE0, 0x68, 0x46, +0x18, 0x21, 0x6C, 0x4D, 0x0F, 0x56, 0x00, 0x24, +0xAB, 0x78, 0x9C, 0x42, 0xF0, 0xDB, 0xFF, 0xF7, +0x65, 0xFC, 0xEA, 0x78, 0xAD, 0x78, 0x63, 0x49, +0x6C, 0x1E, 0x08, 0x94, 0x1A, 0x27, 0xCF, 0x57, +0x15, 0x20, 0x50, 0x43, 0x53, 0x1E, 0x0B, 0x97, +0x17, 0x26, 0x89, 0x79, 0x5E, 0x43, 0x0C, 0x91, +0x61, 0x49, 0x0A, 0x90, 0x40, 0x19, 0x76, 0x18, +0x0F, 0x90, 0x00, 0x21, 0xAC, 0x46, 0x51, 0xE0, +0x08, 0x9A, 0x5C, 0x01, 0x0F, 0x9F, 0x14, 0x19, +0x58, 0x4D, 0xA4, 0x00, 0x7F, 0x18, 0x64, 0x19, +0x00, 0x20, 0x0E, 0x97, 0x41, 0xE0, 0x05, 0x9D, +0x00, 0x2D, 0x0D, 0xD0, 0x0B, 0x9D, 0xB7, 0x56, +0x7F, 0x19, 0x09, 0x97, 0x0C, 0x25, 0x6F, 0x46, +0x7D, 0x57, 0x04, 0x9F, 0xED, 0x1B, 0x09, 0x9F, +0x7D, 0x19, 0x08, 0x35, 0x07, 0x2D, 0x2D, 0xD8, +0x67, 0x46, 0x7D, 0x00, 0x4F, 0x4F, 0xED, 0x19, +0x2D, 0x18, 0x5F, 0x1C, 0x7F, 0x00, 0x2D, 0x01, +0x7D, 0x5B, 0x0C, 0x9F, 0x3D, 0x41, 0x01, 0x95, +0x01, 0x9F, 0x25, 0x68, 0x09, 0x95, 0xBD, 0x42, +0x1C, 0xD3, 0x0E, 0x9D, 0x48, 0x4F, 0x6D, 0x00, +0x7F, 0x19, 0x3F, 0x18, 0x02, 0x3F, 0x09, 0x9D, +0x0D, 0x97, 0x01, 0x9F, 0xED, 0x1B, 0x09, 0x95, +0x24, 0x27, 0x6D, 0x46, 0x7F, 0x5B, 0x0D, 0x9D, +0x2F, 0x80, 0x01, 0x9D, 0x0A, 0x9F, 0x25, 0x60, +0x40, 0x4D, 0x15, 0x3D, 0xED, 0x19, 0x6D, 0x18, +0x09, 0x95, 0x08, 0x27, 0x6D, 0x46, 0x7F, 0x5D, +0x09, 0x9D, 0xAF, 0x54, 0x01, 0x3A, 0x02, 0x38, +0x04, 0x3C, 0x55, 0x1C, 0xBB, 0xD1, 0x01, 0x3B, +0x17, 0x3E, 0x15, 0x39, 0x5F, 0x1C, 0xAB, 0xD1, +0x02, 0x9B, 0x04, 0x9C, 0x01, 0x3B, 0xDB, 0xB2, +0x02, 0x93, 0x01, 0x34, 0x6D, 0x46, 0x08, 0x27, +0x1C, 0x20, 0x7E, 0x57, 0x43, 0x57, 0x04, 0x94, +0x9E, 0x42, 0x00, 0xDB, 0x7B, 0xE7, 0x27, 0x49, +0x2A, 0x4A, 0x8E, 0x7E, 0x09, 0x7E, 0x93, 0x78, +0x14, 0x78, 0x55, 0x78, 0x02, 0x91, 0xD2, 0x78, +0x15, 0x21, 0x01, 0x3A, 0x51, 0x43, 0x29, 0x48, +0x25, 0x4F, 0x09, 0x18, 0x17, 0x20, 0x50, 0x43, +0x01, 0x3B, 0xC0, 0x19, 0x03, 0x93, 0xA4, 0x46, +0x1C, 0xE0, 0x03, 0x9B, 0x15, 0xE0, 0x05, 0x9C, +0x00, 0x2C, 0x04, 0xD0, 0xC7, 0x5C, 0xCC, 0x5C, +0xF7, 0x19, 0x3C, 0x19, 0xCC, 0x54, 0xAA, 0x42, +0x0A, 0xDA, 0x63, 0x45, 0x08, 0xDA, 0x1E, 0x4F, +0x02, 0x9C, 0xFF, 0x5C, 0x04, 0x97, 0xCF, 0x5C, +0xE7, 0x19, 0x04, 0x9C, 0x3F, 0x19, 0xCF, 0x54, +0x01, 0x3B, 0x5F, 0x1C, 0xE7, 0xD1, 0x01, 0x3A, +0x15, 0x39, 0x17, 0x38, 0x53, 0x1C, 0xE0, 0xD1, +0x00, 0x24, 0x10, 0x4D, 0x05, 0xE0, 0x20, 0x1C, +0x00, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x36, 0xFA, +0x01, 0x34, 0xAB, 0x78, 0x9C, 0x42, 0xF6, 0xDB, +0x06, 0x4B, 0x7F, 0x22, 0x1C, 0x79, 0x80, 0x23, +0xDB, 0x05, 0x05, 0x4D, 0x22, 0x40, 0x9C, 0x6B, +0x12, 0x06, 0x2C, 0x40, 0x14, 0x43, 0x11, 0xB0, +0x9C, 0x63, 0xF0, 0xBD, 0x34, 0x0D, 0x00, 0x20, +0xFF, 0xFF, 0xFF, 0x80, 0x1C, 0x00, 0x00, 0x20, +0xC0, 0x07, 0x00, 0x20, 0x4B, 0x0A, 0x00, 0x20, +0x18, 0x11, 0x00, 0x20, 0x80, 0x00, 0x00, 0x04, +0xB6, 0x0E, 0x00, 0x20, 0x90, 0x0B, 0x00, 0x20, +0xBB, 0x06, 0x00, 0x20, 0xF0, 0xB5, 0x87, 0xB0, +0x04, 0x1C, 0x01, 0x25, 0x00, 0x28, 0x0D, 0xD1, +0x46, 0x4B, 0x21, 0x1C, 0xFC, 0x22, 0x46, 0x48, +0x1D, 0x78, 0x02, 0xF0, 0x17, 0xF9, 0xC0, 0x22, +0x44, 0x48, 0x21, 0x1C, 0xD2, 0x00, 0x6D, 0xB2, +0x02, 0xF0, 0x10, 0xF9, 0x42, 0x4B, 0x01, 0x3D, +0x01, 0x22, 0xED, 0xB2, 0x1A, 0x60, 0x01, 0x95, +0x73, 0xE0, 0xFF, 0xF7, 0x6B, 0xFB, 0x3F, 0x4D, +0xA4, 0x46, 0x6A, 0x78, 0x3E, 0x4D, 0xAD, 0x79, +0x02, 0x95, 0x3C, 0x4D, 0x2D, 0x78, 0x04, 0x95, +0x60, 0xE0, 0x01, 0x3A, 0xD2, 0xB2, 0x3B, 0x48, +0x51, 0x1C, 0x49, 0x00, 0x0B, 0x5A, 0x02, 0x9C, +0x15, 0x20, 0x23, 0x41, 0x03, 0x93, 0x05, 0x91, +0x04, 0x9B, 0x50, 0x43, 0x50, 0xE0, 0x01, 0x3B, +0x35, 0x4D, 0xDB, 0xB2, 0x59, 0x01, 0x49, 0x19, +0x05, 0x9D, 0x6C, 0x5A, 0x02, 0x99, 0x65, 0x46, +0x0C, 0x41, 0x01, 0x2D, 0x09, 0xD1, 0x03, 0x9D, +0x00, 0x21, 0xA5, 0x42, 0x00, 0xDD, 0x29, 0x1B, +0xC4, 0x18, 0x2E, 0x4D, 0x64, 0x00, 0x29, 0x53, +0x3A, 0xE0, 0x02, 0x2D, 0x34, 0xD0, 0x23, 0x49, +0x01, 0x9D, 0x09, 0x78, 0x49, 0xB2, 0x01, 0x39, +0x8D, 0x42, 0x2D, 0xDA, 0x27, 0x4D, 0xC1, 0x18, +0x49, 0x00, 0x69, 0x5E, 0x1F, 0x4D, 0x09, 0x1B, +0x00, 0x29, 0x11, 0xDD, 0xFF, 0x29, 0x01, 0xDD, +0xFF, 0x21, 0x01, 0xE0, 0x05, 0x29, 0x0C, 0xDD, +0x57, 0x01, 0xFF, 0x18, 0xBF, 0x00, 0xEE, 0x59, +0x01, 0x36, 0xEE, 0x51, 0x02, 0x2E, 0x17, 0xD9, +0x15, 0x4D, 0xC6, 0x18, 0x71, 0x55, 0x13, 0xE0, +0x00, 0x21, 0x56, 0x01, 0xF6, 0x18, 0xB6, 0x00, +0xAD, 0x59, 0x02, 0x2D, 0x0C, 0xD8, 0x10, 0x4D, +0xC6, 0x18, 0x77, 0x5D, 0xB9, 0x42, 0x00, 0xDA, +0x39, 0x1C, 0x71, 0x55, 0x55, 0x01, 0xED, 0x18, +0x0C, 0x49, 0xAD, 0x00, 0x00, 0x26, 0x6E, 0x50, +0xC1, 0x18, 0x10, 0x4D, 0x49, 0x00, 0x4C, 0x53, +0x00, 0x2B, 0xAC, 0xD1, 0x00, 0x2A, 0x9C, 0xD1, +0x01, 0x9B, 0x64, 0x46, 0x01, 0x3B, 0xDB, 0xB2, +0x01, 0x93, 0x01, 0x9D, 0xFF, 0x2D, 0x88, 0xD1, +0x07, 0xB0, 0xF0, 0xBD, 0x38, 0x06, 0x00, 0x20, +0x90, 0x0B, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20, +0x14, 0x09, 0x00, 0x20, 0x4B, 0x0A, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0x00, 0x08, 0x00, 0x40, +0x20, 0x08, 0x00, 0x40, 0xE0, 0x0E, 0x00, 0x20, +0x10, 0xB5, 0x0F, 0x4A, 0x43, 0x78, 0x11, 0x7B, +0x5C, 0xB2, 0x01, 0x39, 0x8C, 0x42, 0x01, 0xDA, +0x01, 0x33, 0x43, 0x70, 0x03, 0x78, 0x59, 0xB2, +0x00, 0x29, 0x01, 0xDD, 0x01, 0x3B, 0x03, 0x70, +0xC3, 0x78, 0xD2, 0x7A, 0x59, 0xB2, 0x01, 0x3A, +0x91, 0x42, 0x01, 0xDA, 0x01, 0x33, 0xC3, 0x70, +0x83, 0x78, 0x5A, 0xB2, 0x00, 0x2A, 0x01, 0xDD, +0x01, 0x3B, 0x83, 0x70, 0x10, 0xBD, 0xC0, 0x46, +0x50, 0x0B, 0x00, 0x20, 0xF7, 0xB5, 0x1D, 0x4B, +0x00, 0x22, 0x1A, 0x60, 0x1C, 0x4B, 0x11, 0x20, +0x18, 0x56, 0xD9, 0x7A, 0x44, 0x1E, 0x65, 0x42, +0x6C, 0x41, 0x0C, 0x1B, 0x01, 0x94, 0x01, 0x9D, +0x18, 0x4C, 0x25, 0x60, 0x12, 0x25, 0x5D, 0x57, +0x1E, 0x7B, 0x6F, 0x1E, 0x7A, 0x42, 0x7A, 0x41, +0xB7, 0x1A, 0x67, 0x60, 0x01, 0x28, 0x02, 0xD1, +0x00, 0x23, 0x23, 0x81, 0x05, 0xE0, 0x14, 0x27, +0xD8, 0x5F, 0x49, 0x00, 0x01, 0xF0, 0x9A, 0xFF, +0x20, 0x81, 0x01, 0x2D, 0x02, 0xD1, 0x00, 0x23, +0x63, 0x81, 0x06, 0xE0, 0x0A, 0x4B, 0x71, 0x00, +0x16, 0x22, 0x98, 0x5E, 0x01, 0xF0, 0x8E, 0xFF, +0x60, 0x81, 0x07, 0x4B, 0x01, 0x9F, 0x14, 0x25, +0x5B, 0x5F, 0x79, 0x00, 0x58, 0x00, 0xC0, 0x18, +0x01, 0xF0, 0x84, 0xFF, 0x03, 0x4B, 0xD8, 0x60, +0xF7, 0xBD, 0xC0, 0x46, 0xD4, 0x0D, 0x00, 0x20, +0x50, 0x0B, 0x00, 0x20, 0x18, 0x0B, 0x00, 0x20, +0x10, 0xB5, 0x18, 0x23, 0x00, 0x21, 0x05, 0xE0, +0x01, 0x3A, 0xD2, 0xB2, 0x54, 0x00, 0x21, 0x52, +0x00, 0x2A, 0xF9, 0xD1, 0x01, 0x3B, 0xDB, 0xB2, +0xFF, 0x2B, 0x04, 0xD0, 0x02, 0x4A, 0x58, 0x01, +0x80, 0x18, 0x10, 0x22, 0xF0, 0xE7, 0x10, 0xBD, +0x00, 0x08, 0x00, 0x40, 0x10, 0xB5, 0x12, 0x49, +0x12, 0x48, 0x0B, 0x1C, 0x45, 0x33, 0x1B, 0x78, +0x80, 0x68, 0x02, 0x31, 0x43, 0x43, 0x10, 0x4A, +0xC9, 0x7F, 0x9B, 0x11, 0x14, 0x1C, 0x8B, 0x42, +0x00, 0xDA, 0x0B, 0x1C, 0x13, 0x60, 0x0D, 0x4B, +0x08, 0x20, 0x1B, 0x68, 0x98, 0x47, 0x80, 0x23, +0xDB, 0x05, 0x19, 0x6B, 0x22, 0x68, 0x09, 0x03, +0x12, 0x05, 0x09, 0x0B, 0x11, 0x43, 0x19, 0x63, +0x18, 0x6B, 0x11, 0x0B, 0x06, 0x4A, 0x02, 0x40, +0x0A, 0x43, 0x1A, 0x63, 0x10, 0xBD, 0xC0, 0x46, +0x34, 0x0D, 0x00, 0x20, 0xF4, 0x06, 0x00, 0x20, +0xA4, 0x0C, 0x00, 0x20, 0xB0, 0x07, 0x00, 0x20, +0xFF, 0x00, 0xF0, 0xFF, 0x08, 0xB5, 0x84, 0x22, +0x02, 0x48, 0x00, 0x21, 0x52, 0x00, 0x01, 0xF0, +0xCD, 0xFF, 0x08, 0xBD, 0xD4, 0x0D, 0x00, 0x20, +0xF0, 0xB5, 0xA1, 0x22, 0x93, 0xB0, 0x00, 0x21, +0x52, 0x00, 0xD6, 0x48, 0x01, 0xF0, 0xC2, 0xFF, +0x00, 0x21, 0xFC, 0x22, 0xD4, 0x48, 0x01, 0xF0, +0xBD, 0xFF, 0xD4, 0x4C, 0x84, 0x22, 0x00, 0x21, +0x52, 0x00, 0x20, 0x1C, 0x01, 0xF0, 0xB6, 0xFF, +0x0D, 0x25, 0x7F, 0x21, 0xFF, 0x22, 0x01, 0x3D, +0xED, 0xB2, 0x2B, 0x1C, 0x34, 0x33, 0x9B, 0x00, +0xE3, 0x18, 0x99, 0x71, 0x19, 0x71, 0xDA, 0x71, +0x5A, 0x71, 0x00, 0x2D, 0xF3, 0xD1, 0xCA, 0x4C, +0x20, 0x1C, 0xFF, 0xF7, 0x25, 0xFF, 0x64, 0x78, +0x0B, 0xA8, 0x0B, 0x94, 0x00, 0x78, 0x17, 0x23, +0x40, 0xB2, 0x09, 0x90, 0x58, 0x43, 0x04, 0x95, +0x06, 0x90, 0xC2, 0x4D, 0x46, 0xE1, 0xDB, 0x78, +0x0C, 0xAE, 0x0C, 0x93, 0x36, 0x78, 0x00, 0x24, +0x76, 0xB2, 0x07, 0x96, 0x01, 0x36, 0x02, 0x94, +0x0F, 0x96, 0x2C, 0xE1, 0x0F, 0x9C, 0x02, 0x9E, +0x09, 0x9B, 0xA1, 0x19, 0x04, 0x9C, 0x01, 0x33, +0x1B, 0x1B, 0xBA, 0x4E, 0x09, 0x01, 0xC9, 0x18, +0x88, 0x5D, 0xB9, 0x4B, 0x42, 0x1E, 0xD2, 0xB2, +0x0C, 0x2A, 0x3C, 0xD8, 0x06, 0x9E, 0xB1, 0x4C, +0xB4, 0x46, 0x07, 0x9E, 0x49, 0x00, 0xB4, 0x44, +0x02, 0x9E, 0x64, 0x44, 0xA4, 0x19, 0x20, 0x76, +0x5B, 0x5A, 0x05, 0x98, 0x03, 0x93, 0x1E, 0x1C, +0xB0, 0x4B, 0x70, 0x43, 0x59, 0x69, 0x01, 0x31, +0x59, 0x61, 0xAA, 0x4B, 0x91, 0x00, 0x59, 0x18, +0x4C, 0x68, 0x20, 0x18, 0x48, 0x60, 0x11, 0x1C, +0x30, 0x1C, 0x78, 0x43, 0x0E, 0x31, 0x89, 0x00, +0xCC, 0x58, 0x20, 0x18, 0x14, 0x1C, 0x0D, 0x34, +0xE4, 0x00, 0xC8, 0x50, 0x1C, 0x19, 0xA1, 0x88, +0x34, 0x32, 0x71, 0x18, 0xA1, 0x80, 0x61, 0x89, +0x92, 0x00, 0xD2, 0x18, 0x0C, 0x31, 0x61, 0x81, +0x10, 0x1D, 0x05, 0x99, 0x3A, 0x1C, 0x01, 0xF0, +0x45, 0xFE, 0x06, 0x27, 0xE3, 0x5F, 0xB3, 0x42, +0x00, 0xDB, 0xE1, 0xE0, 0x68, 0x46, 0x0C, 0x21, +0x08, 0x5A, 0xE0, 0x80, 0xDC, 0xE0, 0x49, 0x00, +0x5B, 0x5A, 0x03, 0x93, 0x00, 0x2B, 0x00, 0xD1, +0xD6, 0xE0, 0x00, 0x23, 0x11, 0x93, 0x02, 0x99, +0x0C, 0x9A, 0x0B, 0x9B, 0x04, 0x98, 0x89, 0x18, +0x1B, 0x1A, 0x04, 0x24, 0x08, 0x91, 0x0A, 0x93, +0xBC, 0x46, 0x91, 0x49, 0x01, 0x3C, 0xE4, 0xB2, +0x0A, 0x5D, 0x08, 0x9B, 0x8F, 0x4F, 0xD2, 0x18, +0x0A, 0x98, 0x3B, 0x5D, 0x52, 0xB2, 0x1B, 0x18, +0x01, 0x32, 0x5B, 0xB2, 0x12, 0x01, 0x01, 0x33, +0xD3, 0x18, 0xF1, 0x5C, 0x00, 0x23, 0xCF, 0xB2, +0x7A, 0x1E, 0x0C, 0x2A, 0x03, 0xD9, 0x0A, 0xE0, +0x01, 0x33, 0xDB, 0xB2, 0x01, 0xE0, 0x11, 0xAA, +0x7F, 0xB2, 0xD0, 0x5C, 0x00, 0x28, 0x01, 0xD0, +0xB8, 0x42, 0xF5, 0xD1, 0xD1, 0x54, 0x00, 0x2C, +0xDB, 0xD1, 0x67, 0x46, 0x23, 0x1C, 0x11, 0xAA, +0x9A, 0x5C, 0xDE, 0xB2, 0x00, 0x2A, 0x04, 0xD0, +0x01, 0x33, 0x04, 0x2B, 0xF7, 0xD1, 0x1E, 0x1C, +0x02, 0xE0, 0x00, 0x2E, 0x00, 0xD1, 0x97, 0xE0, +0x06, 0x99, 0x07, 0x9B, 0x02, 0x98, 0xCA, 0x18, +0x6E, 0x4B, 0x31, 0x1C, 0xD3, 0x18, 0x32, 0x1C, +0x1B, 0x18, 0x0E, 0x32, 0x1A, 0x76, 0x03, 0x98, +0x01, 0xF0, 0x4C, 0xFE, 0x05, 0x99, 0x02, 0x1C, +0x7A, 0x43, 0x41, 0x43, 0x0D, 0x92, 0x43, 0x42, +0x72, 0x1E, 0x0A, 0x91, 0x0E, 0x93, 0x00, 0x21, +0x08, 0x92, 0x01, 0x90, 0x22, 0xE0, 0x13, 0x5D, +0x01, 0x34, 0x01, 0x3B, 0x5B, 0xB2, 0x9A, 0x00, +0xAA, 0x18, 0x50, 0x68, 0xE4, 0xB2, 0x84, 0x46, +0x0A, 0x98, 0x84, 0x44, 0x60, 0x46, 0x50, 0x60, +0x1A, 0x1C, 0x0E, 0x32, 0x92, 0x00, 0xA8, 0x58, +0x0D, 0x33, 0x84, 0x46, 0x0D, 0x98, 0xDB, 0x00, +0x84, 0x44, 0x60, 0x46, 0xA8, 0x50, 0xEB, 0x18, +0x9A, 0x88, 0x01, 0x98, 0x82, 0x18, 0x9A, 0x80, +0x5D, 0x4A, 0x92, 0x5D, 0x94, 0x46, 0x5A, 0x89, +0x62, 0x44, 0x5A, 0x81, 0x03, 0x98, 0x0E, 0x9A, +0x0B, 0x18, 0x08, 0x98, 0x89, 0x18, 0x11, 0xAA, +0x84, 0x42, 0xD4, 0xDB, 0x11, 0x5D, 0x05, 0x9C, +0x01, 0x39, 0x5C, 0x43, 0x49, 0xB2, 0x88, 0x00, +0x28, 0x18, 0x03, 0x94, 0x44, 0x68, 0x5F, 0x43, +0xA4, 0x46, 0x03, 0x9C, 0xA4, 0x44, 0x64, 0x46, +0x44, 0x60, 0x08, 0x1C, 0x0E, 0x30, 0x80, 0x00, +0x2C, 0x58, 0x0D, 0x31, 0xE7, 0x19, 0xC9, 0x00, +0x69, 0x18, 0x2F, 0x50, 0x88, 0x88, 0xB4, 0x46, +0x1B, 0x18, 0x8B, 0x80, 0x48, 0x4B, 0x98, 0x5D, +0x4B, 0x89, 0xC3, 0x18, 0x4B, 0x81, 0x01, 0x21, +0x00, 0x23, 0x2A, 0xE0, 0x44, 0x27, 0xFF, 0x18, +0x6C, 0x46, 0x38, 0x5D, 0x03, 0x9F, 0x01, 0x38, +0xC0, 0xB2, 0x0A, 0x90, 0xB8, 0x5C, 0x44, 0x1E, +0x0A, 0x98, 0xE4, 0xB2, 0xA0, 0x42, 0x06, 0xD2, +0x15, 0x27, 0x47, 0x43, 0x3C, 0x19, 0x34, 0x4F, +0x01, 0x20, 0x38, 0x55, 0x08, 0xE0, 0x15, 0x20, +0x44, 0x43, 0x0A, 0x9F, 0x30, 0x48, 0xE4, 0x19, +0x0A, 0x94, 0x0A, 0x9F, 0x01, 0x24, 0xC4, 0x55, +0x01, 0x32, 0x04, 0xE0, 0x4E, 0xB2, 0x11, 0xA8, +0x80, 0x19, 0x00, 0x22, 0x03, 0x90, 0x90, 0x19, +0x60, 0x45, 0xD7, 0xDB, 0x01, 0x31, 0x01, 0x33, +0xC9, 0xB2, 0x08, 0x9A, 0x93, 0x42, 0xF1, 0xDB, +0x02, 0x9C, 0x01, 0x3C, 0x02, 0x94, 0x26, 0x4B, +0x02, 0x9E, 0x07, 0x9C, 0x9B, 0x78, 0x37, 0x19, +0x5B, 0xB2, 0x9F, 0x42, 0x00, 0xDB, 0xC9, 0xE6, +0x04, 0x9E, 0x06, 0x9F, 0x01, 0x36, 0x17, 0x3F, +0x04, 0x96, 0x06, 0x97, 0x09, 0x9C, 0x04, 0x9E, +0x1D, 0x4B, 0xA4, 0x1B, 0x05, 0x94, 0x00, 0x22, +0x9A, 0x56, 0x94, 0x42, 0x00, 0xDB, 0xAE, 0xE6, +0x20, 0x4E, 0x00, 0x27, 0x34, 0x1C, 0x35, 0x1C, +0x68, 0x3C, 0x34, 0x3D, 0x00, 0x21, 0x70, 0x5E, +0xFB, 0xB2, 0x02, 0x90, 0x00, 0x28, 0x1D, 0xD0, +0xF0, 0x88, 0x0C, 0x21, 0x01, 0xF0, 0x48, 0xFD, +0xF0, 0x80, 0x20, 0x68, 0x02, 0x99, 0xC0, 0x01, +0x01, 0xF0, 0x90, 0xFD, 0x01, 0xC4, 0x28, 0x68, +0x02, 0x99, 0xC0, 0x01, 0x01, 0xF0, 0x8A, 0xFD, +0x01, 0xC5, 0x38, 0x1C, 0x09, 0x4A, 0x34, 0x30, +0x80, 0x00, 0x80, 0x18, 0x04, 0x30, 0x01, 0x37, +0xFF, 0xF7, 0xA2, 0xFD, 0x08, 0x36, 0x0D, 0x2F, +0xDC, 0xD1, 0x3B, 0x1C, 0x03, 0x4A, 0x13, 0xB0, +0x13, 0x60, 0xF0, 0xBD, 0x18, 0x11, 0x00, 0x20, +0x90, 0x0B, 0x00, 0x20, 0x08, 0x08, 0x00, 0x20, +0xDA, 0x10, 0x00, 0x20, 0x00, 0x02, 0x00, 0x40, +0x00, 0x04, 0x00, 0x40, 0xF4, 0x06, 0x00, 0x20, +0x75, 0x36, 0x00, 0x00, 0x71, 0x36, 0x00, 0x00, +0x6C, 0x36, 0x00, 0x00, 0x74, 0x08, 0x00, 0x20, +0xF0, 0xB5, 0x43, 0x1C, 0x07, 0x1C, 0x8F, 0xB0, +0x9D, 0x4E, 0x0D, 0x37, 0xDB, 0xB2, 0x09, 0x93, +0xFB, 0x00, 0xF3, 0x18, 0x02, 0x92, 0x05, 0x93, +0x07, 0x97, 0x04, 0x1C, 0x04, 0x20, 0x1F, 0x5E, +0x0B, 0x1C, 0x0D, 0x33, 0xDB, 0x00, 0xF3, 0x18, +0x03, 0x97, 0x08, 0x93, 0x04, 0x20, 0x1F, 0x5E, +0x03, 0x98, 0x04, 0x97, 0xC7, 0x19, 0x06, 0x97, +0x8B, 0x00, 0xA7, 0x00, 0xF7, 0x19, 0xF3, 0x18, +0x03, 0x9A, 0x78, 0x68, 0x5B, 0x68, 0x0D, 0x1C, +0x04, 0x99, 0x50, 0x43, 0x4B, 0x43, 0x06, 0x99, +0x18, 0x18, 0x01, 0xF0, 0x37, 0xFD, 0x2B, 0x1C, +0x00, 0xB2, 0x0E, 0x33, 0x78, 0x60, 0x9B, 0x00, +0x27, 0x1C, 0x9B, 0x59, 0x04, 0x98, 0x0E, 0x37, +0xBF, 0x00, 0x43, 0x43, 0x03, 0x99, 0xB8, 0x59, +0x48, 0x43, 0x06, 0x99, 0x18, 0x18, 0x01, 0xF0, +0x25, 0xFD, 0x00, 0xB2, 0xB8, 0x51, 0x20, 0x1C, +0x34, 0x30, 0x80, 0x00, 0x30, 0x18, 0x02, 0x99, +0x04, 0x22, 0x04, 0x30, 0x01, 0xF0, 0x7C, 0xFD, +0x08, 0x9F, 0xFB, 0x88, 0x05, 0x9F, 0x1A, 0xB2, +0x06, 0x21, 0x79, 0x5E, 0x91, 0x42, 0x01, 0xDA, +0x05, 0x9F, 0xFB, 0x80, 0x07, 0x9F, 0x2B, 0x1C, +0x0D, 0x33, 0xFA, 0x00, 0xDB, 0x00, 0xF3, 0x18, +0xB6, 0x18, 0x99, 0x88, 0xB2, 0x88, 0x8A, 0x18, +0xB2, 0x80, 0x59, 0x89, 0x72, 0x89, 0x8A, 0x18, +0xE9, 0xB2, 0x48, 0x1C, 0x40, 0xB2, 0x03, 0x90, +0x15, 0x20, 0x60, 0x43, 0x72, 0x81, 0x03, 0x9E, +0x00, 0x22, 0x30, 0x18, 0x9A, 0x80, 0x04, 0x90, +0x13, 0x1C, 0x06, 0x91, 0x0E, 0xE0, 0x15, 0x26, +0x6E, 0x43, 0x04, 0x99, 0xB4, 0x46, 0x78, 0x18, +0x03, 0x99, 0x8C, 0x44, 0x67, 0x44, 0xC1, 0x5C, +0xFE, 0x5C, 0x31, 0x43, 0xC1, 0x54, 0x00, 0x20, +0xF8, 0x54, 0x01, 0x33, 0x01, 0x32, 0x06, 0x9E, +0xD2, 0xB2, 0x90, 0x19, 0x40, 0xB2, 0x5F, 0x4F, +0x0C, 0x28, 0xE8, 0xDD, 0x15, 0x20, 0x60, 0x43, +0x7A, 0x19, 0x00, 0x23, 0xC7, 0x19, 0x11, 0xE0, +0xA3, 0x42, 0x05, 0xDA, 0x51, 0x1B, 0x0E, 0x5D, +0x10, 0x78, 0x30, 0x43, 0x08, 0x55, 0x05, 0xE0, +0xA3, 0x42, 0x03, 0xDD, 0x10, 0x78, 0xF9, 0x5C, +0x01, 0x43, 0xF9, 0x54, 0x00, 0x21, 0x11, 0x70, +0x01, 0x33, 0x15, 0x32, 0xAB, 0x42, 0xEB, 0xDB, +0x02, 0x9F, 0x68, 0x46, 0x3F, 0x78, 0x10, 0x21, +0x04, 0x97, 0x08, 0x56, 0x17, 0x27, 0x07, 0x90, +0x47, 0x43, 0x00, 0x22, 0xA4, 0x46, 0x5E, 0xE0, +0x02, 0x9C, 0x00, 0x20, 0xA1, 0x78, 0x4A, 0x4C, +0x4E, 0xB2, 0xBB, 0x19, 0x1B, 0x19, 0x08, 0x96, +0x0D, 0x93, 0x4C, 0xE0, 0x08, 0x9B, 0x0D, 0x9C, +0xC3, 0x18, 0x24, 0x18, 0x0A, 0x93, 0x23, 0x7E, +0x07, 0x9E, 0x01, 0x3B, 0x96, 0x19, 0xDB, 0xB2, +0x0B, 0x96, 0x03, 0x94, 0x05, 0x93, 0x6E, 0x46, +0x14, 0x24, 0xA3, 0x57, 0x0E, 0x2B, 0x37, 0xDD, +0x00, 0x23, 0x01, 0x26, 0x06, 0x93, 0x76, 0x42, +0x04, 0x23, 0x00, 0x92, 0x01, 0x3B, 0x3B, 0x4C, +0xDB, 0xB2, 0xE4, 0x56, 0x3A, 0x4A, 0x0C, 0x94, +0xD2, 0x56, 0x0B, 0x9C, 0xA4, 0x18, 0x01, 0x34, +0x17, 0x22, 0x62, 0x43, 0x34, 0x4C, 0xA4, 0x18, +0x0A, 0x9A, 0xA2, 0x18, 0x0C, 0x9C, 0x01, 0x92, +0x14, 0x19, 0x0C, 0x94, 0x64, 0x78, 0x01, 0x3C, +0xE4, 0xB2, 0x0C, 0x2C, 0x0D, 0xD8, 0x64, 0xB2, +0x64, 0x45, 0x01, 0xD0, 0xAC, 0x42, 0x08, 0xD1, +0x72, 0x1C, 0x02, 0xD0, 0xA6, 0x42, 0x02, 0xD1, +0x03, 0xE0, 0x26, 0x1C, 0x01, 0xE0, 0x01, 0x24, +0x06, 0x94, 0x00, 0x2B, 0xD6, 0xD1, 0x06, 0x9E, +0x00, 0x9A, 0x00, 0x2E, 0x04, 0xD0, 0x6B, 0x46, +0x14, 0x24, 0xE4, 0x5C, 0x03, 0x9B, 0x1C, 0x76, +0x01, 0x31, 0xC9, 0xB2, 0x01, 0x30, 0x02, 0x9E, +0x03, 0x24, 0x34, 0x57, 0x4B, 0xB2, 0x9C, 0x42, +0xAC, 0xDA, 0x01, 0x32, 0x17, 0x37, 0x04, 0x98, +0x02, 0x9C, 0x01, 0x21, 0x13, 0x18, 0x61, 0x56, +0x5B, 0xB2, 0x99, 0x42, 0x98, 0xDA, 0x23, 0x78, +0x00, 0x20, 0x5E, 0xB2, 0x01, 0x36, 0x17, 0x24, +0xAC, 0x46, 0x1D, 0xE0, 0x02, 0x9D, 0x32, 0x18, +0xA9, 0x78, 0x62, 0x43, 0x4D, 0xB2, 0x01, 0x35, +0x11, 0x4F, 0xAA, 0x18, 0xD2, 0x19, 0x0A, 0xE0, +0x15, 0x78, 0x01, 0x3D, 0x6D, 0xB2, 0x65, 0x45, +0x02, 0xD1, 0x09, 0xAD, 0x2D, 0x78, 0x15, 0x70, +0x01, 0x31, 0xC9, 0xB2, 0x01, 0x32, 0x02, 0x9D, +0x03, 0x27, 0xEF, 0x57, 0x4D, 0xB2, 0xAF, 0x42, +0xEE, 0xDA, 0x01, 0x33, 0xDB, 0xB2, 0x01, 0x30, +0x02, 0x9F, 0x01, 0x21, 0x79, 0x56, 0x5A, 0xB2, +0x91, 0x42, 0xDB, 0xDA, 0x0F, 0xB0, 0xF0, 0xBD, +0x08, 0x08, 0x00, 0x20, 0x90, 0x0B, 0x00, 0x20, +0x18, 0x11, 0x00, 0x20, 0x75, 0x36, 0x00, 0x00, +0x71, 0x36, 0x00, 0x00, 0x08, 0xB5, 0x00, 0xF0, +0x01, 0xF8, 0x08, 0xBD, 0x38, 0xB5, 0x00, 0x21, +0x05, 0x22, 0x0D, 0x48, 0x01, 0xF0, 0xAE, 0xFC, +0x00, 0x22, 0x0C, 0x48, 0x0C, 0x49, 0x05, 0x23, +0x14, 0x1C, 0x01, 0x3B, 0xDB, 0xB2, 0x1D, 0x1C, +0x0D, 0x35, 0xED, 0x00, 0x45, 0x19, 0xAA, 0x80, +0xDD, 0x1C, 0xED, 0x00, 0x6A, 0x52, 0x07, 0x4D, +0xEC, 0x54, 0x07, 0x4D, 0xEC, 0x54, 0x00, 0x2B, +0xEF, 0xD1, 0x03, 0x60, 0x0B, 0x60, 0x38, 0xBD, +0x8C, 0x07, 0x00, 0x20, 0xD4, 0x0D, 0x00, 0x20, +0x6C, 0x0A, 0x00, 0x20, 0x2C, 0x0D, 0x00, 0x20, +0x2C, 0x0B, 0x00, 0x20, 0x38, 0xB5, 0xC3, 0x17, +0xC5, 0x18, 0x5D, 0x40, 0xCB, 0x17, 0xC9, 0x18, +0x59, 0x40, 0x0C, 0x1C, 0x8D, 0x42, 0x01, 0xDB, +0x2C, 0x1C, 0x0D, 0x1C, 0xA8, 0x01, 0x21, 0x1C, +0x01, 0xF0, 0xDC, 0xFB, 0x08, 0x4B, 0x1B, 0x5C, +0x00, 0x2B, 0x0B, 0xD0, 0x5A, 0x21, 0x07, 0x4A, +0xC9, 0x1A, 0x49, 0x00, 0x5B, 0x00, 0x89, 0x5A, +0x9B, 0x5A, 0x4C, 0x43, 0x5D, 0x43, 0x24, 0x14, +0x2D, 0x14, 0x64, 0x19, 0x20, 0x1C, 0x38, 0xBD, +0x79, 0x36, 0x00, 0x00, 0xBA, 0x36, 0x00, 0x00, +0xF0, 0xB5, 0x93, 0x4B, 0x85, 0xB0, 0x1B, 0x68, +0x05, 0x2B, 0x00, 0xDD, 0x05, 0x23, 0x91, 0x4A, +0x01, 0x21, 0x13, 0x60, 0x49, 0x42, 0x0D, 0x22, +0x8F, 0x48, 0x01, 0xF0, 0x57, 0xFC, 0x8F, 0x48, +0xFF, 0x21, 0x34, 0x22, 0x01, 0xF0, 0x52, 0xFC, +0x8D, 0x4B, 0x00, 0x24, 0x1B, 0x68, 0x01, 0x93, +0x8C, 0x4B, 0xDB, 0x6A, 0x02, 0x93, 0x86, 0x4B, +0x1B, 0x68, 0x03, 0x93, 0x8A, 0x4D, 0xE3, 0x00, +0x5B, 0x19, 0x18, 0x26, 0x9B, 0x5F, 0x00, 0x2B, +0x41, 0xD0, 0x88, 0x4D, 0xA3, 0x00, 0xEF, 0x58, +0x01, 0x9E, 0x87, 0x4B, 0x02, 0x9D, 0x62, 0x00, +0xB7, 0x40, 0xD3, 0x18, 0x01, 0x26, 0x7F, 0x19, +0x76, 0x42, 0x00, 0x25, 0x00, 0x93, 0x22, 0xE0, +0x2B, 0x1C, 0x0D, 0x33, 0x78, 0x48, 0xDB, 0x00, +0xC3, 0x18, 0x04, 0x21, 0x5B, 0x5E, 0x00, 0x2B, +0x17, 0xD0, 0xAA, 0x00, 0x82, 0x18, 0x00, 0x98, +0x00, 0x99, 0x04, 0x23, 0xC3, 0x5E, 0x50, 0x68, +0x2A, 0x1C, 0xC0, 0x1A, 0x0E, 0x32, 0x0E, 0x23, +0xC9, 0x5E, 0x6F, 0x4B, 0x92, 0x00, 0x8C, 0x46, +0xD1, 0x58, 0x62, 0x46, 0x89, 0x1A, 0xFF, 0xF7, +0x89, 0xFF, 0xB8, 0x42, 0x01, 0xDA, 0x2E, 0x1C, +0x07, 0x1C, 0x01, 0x35, 0xED, 0xB2, 0x03, 0x9B, +0x9D, 0x42, 0xD9, 0xDB, 0x75, 0x1C, 0x0A, 0xD0, +0x67, 0x4B, 0x68, 0x49, 0x98, 0x57, 0xB2, 0x00, +0x01, 0x30, 0x02, 0xD0, 0x88, 0x58, 0xB8, 0x42, +0x01, 0xD9, 0x8F, 0x50, 0x9C, 0x55, 0x01, 0x34, +0x05, 0x2C, 0xB3, 0xD1, 0x00, 0x23, 0x5E, 0x4A, +0x5E, 0x49, 0x32, 0xE0, 0x5E, 0x4E, 0xF0, 0x5C, +0x44, 0xB2, 0x01, 0x34, 0x2B, 0xD0, 0x9D, 0x00, +0xC0, 0xB2, 0x01, 0x95, 0x55, 0x19, 0x87, 0x00, +0x6D, 0x68, 0xCC, 0x19, 0x65, 0x60, 0x1D, 0x1C, +0x0E, 0x35, 0x04, 0x1C, 0xAD, 0x00, 0xAD, 0x58, +0x0E, 0x34, 0xA4, 0x00, 0x65, 0x50, 0x04, 0x1C, +0x1D, 0x1C, 0x0D, 0x34, 0x0D, 0x35, 0xE4, 0x00, +0xED, 0x00, 0x0C, 0x19, 0x55, 0x19, 0x00, 0x97, +0x04, 0x34, 0x04, 0x35, 0xC0, 0xCD, 0xC0, 0xC4, +0x1C, 0x1C, 0x34, 0x34, 0xA4, 0x00, 0x34, 0x30, +0x14, 0x19, 0x64, 0x68, 0x80, 0x00, 0x08, 0x18, +0x44, 0x60, 0x4A, 0x48, 0x01, 0x9C, 0x00, 0x9D, +0x20, 0x58, 0x4C, 0x4E, 0xA8, 0x51, 0x01, 0x33, +0xDB, 0xB2, 0x10, 0x68, 0x83, 0x42, 0xC9, 0xDB, +0x00, 0x23, 0x41, 0x4E, 0x4E, 0xE0, 0x42, 0x4F, +0xFA, 0x56, 0x01, 0x32, 0x48, 0xD1, 0x1A, 0x1C, +0x0D, 0x32, 0xD2, 0x00, 0xB2, 0x18, 0x04, 0x20, +0x12, 0x5E, 0x00, 0x2A, 0x40, 0xD0, 0x00, 0x20, +0x3F, 0x4F, 0x02, 0x1C, 0xC4, 0x19, 0x18, 0x25, +0x65, 0x5F, 0xD1, 0xB2, 0x00, 0x2D, 0x33, 0xD1, +0x36, 0x4D, 0x6C, 0x24, 0x2D, 0x18, 0xAC, 0x46, +0xA4, 0x44, 0x65, 0x46, 0x00, 0x24, 0x2D, 0x5F, +0x00, 0x2D, 0x29, 0xD1, 0x32, 0x48, 0x31, 0x4D, +0xC1, 0x54, 0x94, 0x00, 0x2E, 0x48, 0x2C, 0x19, +0x9D, 0x00, 0x45, 0x19, 0x6D, 0x68, 0x2D, 0x4F, +0x65, 0x60, 0x1D, 0x1C, 0x0E, 0x35, 0x14, 0x1C, +0xAD, 0x00, 0x2D, 0x58, 0x0E, 0x34, 0xA4, 0x00, +0x3D, 0x51, 0x14, 0x1C, 0x1D, 0x1C, 0x0D, 0x34, +0x0D, 0x35, 0xE4, 0x00, 0xED, 0x00, 0x3C, 0x19, +0x45, 0x19, 0x04, 0x34, 0x04, 0x35, 0x82, 0xCD, +0x82, 0xC4, 0x1C, 0x1C, 0x34, 0x34, 0xA4, 0x00, +0x34, 0x32, 0x20, 0x49, 0x00, 0x19, 0x92, 0x00, +0x40, 0x68, 0x8A, 0x18, 0x50, 0x60, 0x03, 0xE0, +0x01, 0x32, 0x08, 0x30, 0x05, 0x2A, 0xC1, 0xD1, +0x01, 0x33, 0xDB, 0xB2, 0x32, 0x68, 0x93, 0x42, +0xAD, 0xDB, 0x20, 0x4B, 0x18, 0x49, 0x1C, 0x1C, +0x0D, 0x34, 0xFF, 0x20, 0x1A, 0x78, 0x04, 0x2A, +0x02, 0xD8, 0x8A, 0x5C, 0x1A, 0x70, 0x00, 0xE0, +0x18, 0x70, 0x01, 0x33, 0xA3, 0x42, 0xF5, 0xD1, +0x19, 0x4A, 0x10, 0x48, 0x00, 0x23, 0x13, 0x60, +0x19, 0x1C, 0x05, 0x22, 0x06, 0x1C, 0x01, 0x3A, +0xD2, 0xB2, 0x14, 0x1C, 0x0D, 0x34, 0xE5, 0x00, +0x45, 0x19, 0x6D, 0x89, 0xA9, 0x42, 0x00, 0xDA, +0x29, 0x1C, 0xE4, 0x00, 0x34, 0x19, 0x04, 0x25, +0x64, 0x5F, 0xA3, 0x42, 0x00, 0xDA, 0x23, 0x1C, +0x00, 0x2A, 0xEC, 0xD1, 0x0C, 0x4A, 0x05, 0xB0, +0x51, 0x60, 0x13, 0x60, 0xF0, 0xBD, 0xC0, 0x46, +0x08, 0x08, 0x00, 0x20, 0xD4, 0x0D, 0x00, 0x20, +0x00, 0x0B, 0x00, 0x20, 0xE0, 0x10, 0x00, 0x20, +0x40, 0x06, 0x00, 0x20, 0x34, 0x0D, 0x00, 0x20, +0x6C, 0x0A, 0x00, 0x20, 0x8C, 0x0C, 0x00, 0x20, +0x34, 0x0B, 0x00, 0x20, 0x18, 0x09, 0x00, 0x20, +0xCC, 0x07, 0x00, 0x20, 0xF0, 0xB5, 0x22, 0x48, +0x22, 0x4A, 0x23, 0x49, 0x05, 0x23, 0x01, 0x3B, +0xDB, 0xB2, 0xDD, 0x1C, 0xED, 0x00, 0x2D, 0x5E, +0x00, 0x2D, 0x23, 0xD0, 0x1D, 0x1C, 0x0D, 0x35, +0xED, 0x00, 0x55, 0x19, 0x04, 0x26, 0xAD, 0x5F, +0x00, 0x2D, 0x1B, 0xD0, 0x9D, 0x00, 0x55, 0x19, +0x6E, 0x68, 0x5D, 0x00, 0x47, 0x19, 0x04, 0x24, +0x3C, 0x5F, 0x37, 0x1B, 0x16, 0x4C, 0x7F, 0x10, +0xBE, 0x19, 0x65, 0x19, 0xAE, 0x80, 0x1D, 0x1C, +0x0E, 0x35, 0xAD, 0x00, 0x56, 0x59, 0x1D, 0x1D, +0x6D, 0x00, 0x47, 0x19, 0x06, 0x24, 0x3C, 0x5F, +0x37, 0x1B, 0x0F, 0x4C, 0x7F, 0x10, 0xBE, 0x19, +0x65, 0x19, 0x0C, 0xE0, 0x9E, 0x00, 0x96, 0x19, +0x76, 0x68, 0x5D, 0x00, 0x4D, 0x19, 0xAE, 0x80, +0x1E, 0x1C, 0x0E, 0x36, 0x1D, 0x1D, 0xB6, 0x00, +0x6D, 0x00, 0x96, 0x59, 0x4D, 0x19, 0xEE, 0x80, +0x00, 0x2B, 0xC4, 0xD1, 0x03, 0x4B, 0x1A, 0x68, +0x03, 0x4B, 0x1A, 0x60, 0xF0, 0xBD, 0xC0, 0x46, +0x6C, 0x0A, 0x00, 0x20, 0xD4, 0x0D, 0x00, 0x20, +0x34, 0x0B, 0x00, 0x20, 0x38, 0xB5, 0x04, 0x1C, +0x08, 0x1C, 0x00, 0x2A, 0x07, 0xD0, 0x54, 0x43, +0x58, 0x43, 0xD1, 0x18, 0x20, 0x18, 0x4D, 0x10, +0x40, 0x19, 0x01, 0xF0, 0x2F, 0xFA, 0x38, 0xBD, +0x08, 0xB5, 0x00, 0x21, 0x24, 0x22, 0x06, 0x48, +0x01, 0xF0, 0xC8, 0xFA, 0x05, 0x4A, 0x00, 0x23, +0x13, 0x70, 0x05, 0x4A, 0x01, 0x21, 0x11, 0x70, +0x04, 0x4A, 0x13, 0x70, 0x08, 0xBD, 0xC0, 0x46, +0x18, 0x07, 0x00, 0x20, 0x94, 0x07, 0x00, 0x20, +0x44, 0x06, 0x00, 0x20, 0x95, 0x07, 0x00, 0x20, +0xF0, 0xB5, 0x63, 0x4E, 0x04, 0x1C, 0x16, 0x20, +0x35, 0x5E, 0x85, 0xB0, 0x00, 0x95, 0x61, 0x4D, +0x00, 0x9A, 0x0A, 0x21, 0x6F, 0x5E, 0x20, 0x68, +0x69, 0x68, 0x50, 0x43, 0xC9, 0x01, 0x01, 0xF0, +0x05, 0xFA, 0x3F, 0x18, 0x27, 0x60, 0x08, 0x20, +0x2B, 0x5E, 0x60, 0x68, 0x01, 0x93, 0x14, 0x21, +0x73, 0x5E, 0x29, 0x68, 0x58, 0x43, 0xC9, 0x01, +0x01, 0xF0, 0xF8, 0xF9, 0x01, 0x9A, 0x19, 0x23, +0x10, 0x18, 0x60, 0x60, 0xF3, 0x56, 0x01, 0x2B, +0x4B, 0xD1, 0x00, 0x9B, 0x5D, 0x10, 0x40, 0x1B, +0x00, 0x90, 0x7F, 0x1B, 0x00, 0x99, 0x38, 0x1C, +0xFF, 0xF7, 0xFC, 0xFD, 0x4E, 0x49, 0x0B, 0x78, +0x00, 0x2B, 0x1D, 0xD0, 0x73, 0x8B, 0x98, 0x42, +0x1A, 0xDD, 0xC2, 0x1A, 0x9B, 0x01, 0x80, 0x01, +0x01, 0x92, 0x02, 0x93, 0x03, 0x90, 0xF0, 0x8B, +0x03, 0x99, 0x50, 0x43, 0xC0, 0x18, 0x78, 0x43, +0x01, 0xF0, 0xD4, 0xF9, 0x40, 0x19, 0x20, 0x60, +0xB0, 0x8B, 0x01, 0x9B, 0x02, 0x99, 0x58, 0x43, +0x00, 0x9A, 0x40, 0x18, 0x50, 0x43, 0x03, 0x99, +0x01, 0xF0, 0xC8, 0xF9, 0x40, 0x19, 0x60, 0x60, +0x23, 0x68, 0x67, 0x68, 0x5B, 0x1B, 0x7F, 0x1B, +0x18, 0x1C, 0x39, 0x1C, 0x00, 0x93, 0x01, 0x97, +0xFF, 0xF7, 0xD0, 0xFD, 0x36, 0x4B, 0x06, 0x1C, +0x01, 0x33, 0xDF, 0x7F, 0xEF, 0x1B, 0xB8, 0x42, +0x5C, 0xDD, 0x45, 0x43, 0x00, 0x98, 0x31, 0x1C, +0x78, 0x43, 0x28, 0x18, 0x01, 0xF0, 0xAE, 0xF9, +0x01, 0x9B, 0x20, 0x60, 0x5F, 0x43, 0x31, 0x1C, +0xE8, 0x19, 0x01, 0xF0, 0xA7, 0xF9, 0x60, 0x60, +0x4C, 0xE0, 0x2D, 0x49, 0x0B, 0x78, 0x00, 0x2B, +0x2F, 0xD0, 0xEB, 0x68, 0x9F, 0x42, 0x07, 0xDA, +0x1E, 0x25, 0x72, 0x5F, 0xFF, 0x1A, 0x57, 0x43, +0xBF, 0x11, 0xDF, 0x19, 0x27, 0x60, 0x0C, 0xE0, +0x00, 0x9D, 0xEF, 0x1B, 0x9F, 0x42, 0x08, 0xDA, +0x1E, 0x21, 0x75, 0x5E, 0xFF, 0x1A, 0x7D, 0x43, +0x00, 0x9A, 0xAD, 0x11, 0x5D, 0x19, 0x55, 0x1B, +0x25, 0x60, 0x1D, 0x4A, 0x98, 0x42, 0x07, 0xDA, +0x1A, 0x25, 0x52, 0x5F, 0xC0, 0x1A, 0x50, 0x43, +0x80, 0x11, 0x1B, 0x18, 0x63, 0x60, 0x0C, 0xE0, +0x14, 0x25, 0x51, 0x5F, 0x08, 0x1A, 0x98, 0x42, +0x07, 0xDA, 0x1C, 0x25, 0x52, 0x5F, 0xC0, 0x1A, +0x50, 0x43, 0x80, 0x11, 0x1B, 0x18, 0xC9, 0x1A, +0x61, 0x60, 0x11, 0x4A, 0x21, 0x68, 0x93, 0x1C, +0xDB, 0x7F, 0x99, 0x42, 0x05, 0xDB, 0x16, 0x25, +0x50, 0x5F, 0xC3, 0x1A, 0x99, 0x42, 0x01, 0xDD, +0x01, 0x3B, 0x23, 0x60, 0x53, 0x1C, 0x61, 0x68, +0xDB, 0x7F, 0x99, 0x42, 0x05, 0xDB, 0x14, 0x20, +0x12, 0x5E, 0xD3, 0x1A, 0x99, 0x42, 0x01, 0xDD, +0x01, 0x3B, 0x63, 0x60, 0x04, 0x4B, 0x1B, 0x7E, +0x00, 0x2B, 0x03, 0xD0, 0x63, 0x68, 0x22, 0x68, +0x23, 0x60, 0x62, 0x60, 0x05, 0xB0, 0xF0, 0xBD, +0x50, 0x0B, 0x00, 0x20, 0x18, 0x0B, 0x00, 0x20, +0x4C, 0x06, 0x00, 0x20, 0xF0, 0xB5, 0x40, 0x4B, +0x8B, 0xB0, 0x3A, 0x33, 0x1B, 0x78, 0x00, 0x2B, +0x78, 0xD0, 0x00, 0x21, 0x3D, 0x4B, 0x01, 0x91, +0x01, 0x98, 0x3D, 0x4C, 0x42, 0x00, 0x12, 0x19, +0x8C, 0x32, 0x00, 0x25, 0x52, 0x5F, 0x00, 0x2A, +0x63, 0xD0, 0x1A, 0x68, 0x03, 0x2A, 0x01, 0xDC, +0x01, 0x32, 0x1A, 0x60, 0x37, 0x4E, 0x8A, 0x19, +0x15, 0x1C, 0x46, 0x35, 0x28, 0x88, 0x17, 0x1C, +0x48, 0x37, 0x38, 0x80, 0x16, 0x1C, 0xB8, 0x88, +0x4E, 0x36, 0x30, 0x80, 0x98, 0x88, 0x4A, 0x32, +0x28, 0x80, 0x10, 0x88, 0x3C, 0x1C, 0x02, 0x97, +0x03, 0x96, 0x2D, 0x4F, 0x01, 0x9E, 0xA0, 0x80, +0xF0, 0x19, 0x46, 0x69, 0x04, 0x34, 0x9E, 0x80, +0x86, 0x6C, 0x16, 0x80, 0x1E, 0x68, 0x04, 0x2E, +0x40, 0xD1, 0x02, 0x9E, 0x9C, 0x46, 0x00, 0x27, +0xF7, 0x5F, 0x06, 0x97, 0x03, 0x9F, 0x00, 0x26, +0xBE, 0x5F, 0x00, 0x27, 0xE4, 0x5F, 0x09, 0x96, +0x00, 0x26, 0xAD, 0x5F, 0x00, 0x26, 0x92, 0x5F, +0x05, 0x95, 0x08, 0x94, 0x04, 0x25, 0x5C, 0x5F, +0x07, 0x92, 0x04, 0x94, 0x07, 0xAA, 0x04, 0xAC, +0x00, 0x25, 0x00, 0xE0, 0x02, 0x9D, 0x01, 0x35, +0xAE, 0x00, 0x04, 0xAF, 0x02, 0x95, 0x03, 0x95, +0xBE, 0x19, 0x00, 0x25, 0x01, 0xE0, 0x02, 0x23, +0x03, 0x93, 0x23, 0x68, 0x37, 0x68, 0x04, 0x35, +0xBB, 0x42, 0x01, 0xDD, 0x27, 0x60, 0x33, 0x60, +0x13, 0x68, 0x57, 0x59, 0xBB, 0x42, 0x01, 0xDD, +0x17, 0x60, 0x53, 0x51, 0x03, 0x9F, 0x04, 0x36, +0x01, 0x2F, 0xEC, 0xD0, 0x02, 0x9B, 0x04, 0x32, +0x04, 0x34, 0x02, 0x2B, 0xDE, 0xD1, 0x05, 0x9A, +0x63, 0x46, 0x42, 0x61, 0x08, 0x9A, 0x82, 0x64, +0x00, 0xE0, 0x1A, 0x60, 0x01, 0x9C, 0x10, 0x39, +0x04, 0x3C, 0x0D, 0x1C, 0x10, 0x3B, 0x01, 0x94, +0x50, 0x35, 0x89, 0xD1, 0x0B, 0xB0, 0xF0, 0xBD, +0x34, 0x0D, 0x00, 0x20, 0x7C, 0x07, 0x00, 0x20, +0xD4, 0x0D, 0x00, 0x20, 0x3C, 0x07, 0x00, 0x20, +0xEF, 0xF3, 0x08, 0x80, 0x70, 0x47, 0x00, 0xBA, +0x70, 0x47, 0x40, 0xBA, 0x70, 0x47, 0xC0, 0xBA, +0x70, 0x47, 0x70, 0xB5, 0x00, 0x28, 0x16, 0xDA, +0xC0, 0xB2, 0x0F, 0x23, 0x03, 0x40, 0x08, 0x3B, +0x12, 0x4A, 0x9B, 0x08, 0x9B, 0x00, 0x9B, 0x18, +0x03, 0x22, 0x10, 0x40, 0x90, 0x40, 0xFF, 0x22, +0x5D, 0x68, 0x14, 0x1C, 0x84, 0x40, 0x89, 0x01, +0xA5, 0x43, 0x0A, 0x40, 0x82, 0x40, 0x28, 0x1C, +0x10, 0x43, 0x58, 0x60, 0x11, 0xE0, 0x03, 0x24, +0x82, 0x08, 0x09, 0x4B, 0x20, 0x40, 0xC0, 0x32, +0xA0, 0x40, 0x92, 0x00, 0xFF, 0x24, 0xD5, 0x58, +0x26, 0x1C, 0x86, 0x40, 0x89, 0x01, 0xB5, 0x43, +0x0C, 0x40, 0x84, 0x40, 0x28, 0x1C, 0x20, 0x43, +0xD0, 0x50, 0x70, 0xBD, 0x18, 0xED, 0x00, 0xE0, +0x00, 0xE1, 0x00, 0xE0, 0x70, 0xB5, 0x80, 0x24, +0xE4, 0x05, 0x62, 0x68, 0x2E, 0x4B, 0x00, 0x25, +0x13, 0x40, 0x3F, 0x22, 0x63, 0x60, 0x65, 0x62, +0xA5, 0x62, 0xE5, 0x60, 0x25, 0x61, 0x62, 0x61, +0xA5, 0x61, 0xE1, 0x6A, 0x29, 0x4B, 0x08, 0x26, +0x19, 0x40, 0x80, 0x23, 0x9B, 0x00, 0x19, 0x43, +0xE1, 0x62, 0xE1, 0x6A, 0x91, 0x43, 0x0A, 0x1C, +0x32, 0x43, 0xE2, 0x62, 0x62, 0x68, 0x13, 0x43, +0x63, 0x60, 0x00, 0xF0, 0x49, 0xF8, 0xA2, 0x68, +0x80, 0x23, 0x1B, 0x01, 0x13, 0x43, 0xA3, 0x60, +0x00, 0xF0, 0xBA, 0xFA, 0x23, 0x6B, 0x60, 0x22, +0x93, 0x43, 0x23, 0x63, 0x23, 0x6B, 0x80, 0x22, +0x13, 0x43, 0x23, 0x63, 0x00, 0xF0, 0x9A, 0xFB, +0x00, 0xF0, 0x90, 0xF8, 0x00, 0xF0, 0x0A, 0xFB, +0x28, 0x1C, 0x65, 0x70, 0x02, 0x21, 0xFF, 0xF7, +0x94, 0xFF, 0x29, 0x1C, 0x01, 0x20, 0xFF, 0xF7, +0x90, 0xFF, 0x02, 0x20, 0x01, 0x21, 0xFF, 0xF7, +0x8C, 0xFF, 0x03, 0x20, 0x01, 0x1C, 0xFF, 0xF7, +0x88, 0xFF, 0x04, 0x20, 0x03, 0x21, 0xFF, 0xF7, +0x84, 0xFF, 0x05, 0x20, 0x02, 0x21, 0xFF, 0xF7, +0x80, 0xFF, 0x0B, 0x4B, 0x01, 0x22, 0x1A, 0x60, +0x02, 0x22, 0x1A, 0x60, 0x10, 0x21, 0x04, 0x22, +0x1A, 0x60, 0x1E, 0x60, 0x19, 0x60, 0xFC, 0x33, +0x5D, 0x60, 0x06, 0x4B, 0x19, 0x69, 0x0A, 0x43, +0x1A, 0x61, 0x62, 0xB6, 0x70, 0xBD, 0xC0, 0x46, +0xFF, 0xFE, 0xFF, 0xFF, 0x3F, 0xF0, 0xFF, 0xFF, +0x00, 0xE1, 0x00, 0xE0, 0x00, 0xED, 0x00, 0xE0, +0x30, 0xB5, 0x18, 0x4A, 0x80, 0x23, 0x51, 0x78, +0xDB, 0x05, 0x19, 0x71, 0xD1, 0x78, 0x01, 0x20, +0x5C, 0x68, 0x08, 0x40, 0x14, 0x49, 0x80, 0x07, +0x21, 0x40, 0x01, 0x43, 0x59, 0x60, 0x11, 0x79, +0x03, 0x20, 0x5C, 0x68, 0x08, 0x40, 0x11, 0x49, +0x00, 0x07, 0x21, 0x40, 0x01, 0x43, 0x59, 0x60, +0x54, 0x79, 0x0F, 0x21, 0x5D, 0x68, 0x0E, 0x48, +0x0C, 0x40, 0x24, 0x04, 0x28, 0x40, 0x20, 0x43, +0x58, 0x60, 0x94, 0x79, 0x0B, 0x48, 0x5D, 0x68, +0x0C, 0x40, 0x28, 0x40, 0x24, 0x06, 0x20, 0x43, +0x58, 0x60, 0xD2, 0x79, 0x58, 0x68, 0x11, 0x40, +0x0A, 0x05, 0x07, 0x49, 0x01, 0x40, 0x11, 0x43, +0x59, 0x60, 0x30, 0xBD, 0x88, 0x0B, 0x00, 0x20, +0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xCF, +0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, +0xFF, 0xFF, 0x0F, 0xFF, 0x06, 0x4B, 0x3F, 0x20, +0x19, 0x68, 0x80, 0x23, 0xDB, 0x05, 0x01, 0x39, +0x01, 0x40, 0x04, 0x4A, 0x58, 0x6B, 0x09, 0x02, +0x02, 0x40, 0x0A, 0x43, 0x5A, 0x63, 0x70, 0x47, +0x10, 0x0B, 0x00, 0x20, 0xFF, 0xC0, 0xFF, 0xFF, +0x80, 0x23, 0xDB, 0x05, 0xD9, 0x68, 0x08, 0x22, +0x91, 0x43, 0xD9, 0x60, 0x59, 0x69, 0x0A, 0x43, +0x5A, 0x61, 0x70, 0x47, 0x10, 0xB5, 0xA0, 0x23, +0xDB, 0x05, 0x59, 0x68, 0x29, 0x4A, 0x80, 0x20, +0x0A, 0x40, 0x5A, 0x60, 0x1A, 0x68, 0xC0, 0x00, +0x52, 0x00, 0x52, 0x08, 0x1A, 0x60, 0x19, 0x68, +0x80, 0x22, 0x12, 0x06, 0x0A, 0x43, 0x1A, 0x60, +0x1A, 0x68, 0x01, 0x21, 0x8A, 0x43, 0x1A, 0x60, +0x1A, 0x68, 0x10, 0x21, 0x8A, 0x43, 0x1A, 0x60, +0x19, 0x68, 0x1F, 0x4A, 0x0A, 0x40, 0x80, 0x21, +0x09, 0x02, 0x0A, 0x43, 0x1A, 0x60, 0x1A, 0x68, +0x1C, 0x49, 0x0A, 0x40, 0x02, 0x43, 0x1A, 0x60, +0x1B, 0x4A, 0x12, 0x68, 0x00, 0x2A, 0x08, 0xD0, +0x12, 0x78, 0x7F, 0x20, 0x10, 0x40, 0x1C, 0x68, +0x18, 0x4A, 0x00, 0x06, 0x22, 0x40, 0x02, 0x43, +0x1A, 0x60, 0xA0, 0x23, 0xDB, 0x05, 0x5A, 0x68, +0x01, 0x20, 0x02, 0x43, 0x5A, 0x60, 0x5A, 0x68, +0x11, 0x40, 0x80, 0x22, 0x82, 0x40, 0x11, 0x43, +0x59, 0x60, 0x59, 0x68, 0x10, 0x4A, 0x0A, 0x40, +0xC0, 0x21, 0x89, 0x02, 0x0A, 0x43, 0x5A, 0x60, +0x59, 0x68, 0x80, 0x22, 0x92, 0x05, 0x0A, 0x43, +0x5A, 0x60, 0x59, 0x68, 0x80, 0x22, 0x52, 0x05, +0x0A, 0x43, 0x5A, 0x60, 0xC0, 0x46, 0x80, 0x22, +0x59, 0x68, 0x52, 0x04, 0x0A, 0x43, 0x5A, 0x60, +0x10, 0xBD, 0xC0, 0x46, 0xFF, 0xFF, 0xFF, 0xFE, +0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, +0x24, 0x06, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x80, +0xFF, 0xFF, 0xF8, 0xFF, 0x06, 0x4B, 0x01, 0x22, +0x1A, 0x70, 0x80, 0x23, 0xDB, 0x05, 0x00, 0x21, +0x59, 0x70, 0x19, 0x68, 0x0F, 0x20, 0x81, 0x43, +0x0A, 0x43, 0x1A, 0x60, 0x70, 0x47, 0xC0, 0x46, +0x00, 0x00, 0x00, 0x20, 0x06, 0x4B, 0x01, 0x22, +0x1A, 0x70, 0x80, 0x23, 0xDB, 0x05, 0x19, 0x68, +0x04, 0x4A, 0x0A, 0x40, 0x80, 0x21, 0x49, 0x02, +0x0A, 0x43, 0x1A, 0x60, 0x70, 0x47, 0xC0, 0x46, +0x01, 0x00, 0x00, 0x20, 0xFF, 0xFF, 0xF0, 0xFF, +0x00, 0xB5, 0x06, 0x4B, 0x72, 0xB6, 0x1A, 0x78, +0x00, 0x2A, 0x04, 0xD0, 0xC0, 0x46, 0xC0, 0x46, +0x62, 0xB6, 0x30, 0xBF, 0xF6, 0xE7, 0x62, 0xB6, +0x00, 0xBD, 0xC0, 0x46, 0x01, 0x00, 0x00, 0x20, +0x38, 0xB5, 0x0C, 0x4B, 0x05, 0x1C, 0x59, 0x78, +0xDC, 0x78, 0xCB, 0x05, 0x5B, 0x1A, 0x9B, 0x00, +0x5B, 0x18, 0xDB, 0x01, 0x59, 0x18, 0x08, 0x4B, +0x08, 0x48, 0xC9, 0x18, 0x00, 0xF0, 0x1A, 0xFF, +0x06, 0x4B, 0x29, 0x1C, 0x01, 0x34, 0xC0, 0xB2, +0x58, 0x43, 0xA1, 0x40, 0x00, 0xF0, 0x12, 0xFF, +0x38, 0xBD, 0xC0, 0x46, 0x88, 0x0B, 0x00, 0x20, +0xDA, 0xEB, 0x01, 0x00, 0x40, 0x42, 0x0F, 0x00, +0x00, 0xB5, 0x06, 0x4B, 0x72, 0xB6, 0x1A, 0x78, +0x00, 0x2A, 0x04, 0xD0, 0xC0, 0x46, 0xC0, 0x46, +0x62, 0xB6, 0x30, 0xBF, 0xF6, 0xE7, 0x62, 0xB6, +0x00, 0xBD, 0xC0, 0x46, 0x02, 0x00, 0x00, 0x20, +0xF7, 0xB5, 0x16, 0x4B, 0x72, 0xB6, 0x1A, 0x78, +0x00, 0x2A, 0x04, 0xD0, 0xC0, 0x46, 0xC0, 0x46, +0x62, 0xB6, 0x30, 0xBF, 0xF6, 0xE7, 0x62, 0xB6, +0x11, 0x4B, 0x6A, 0x46, 0x1B, 0x88, 0x11, 0x4E, +0xD3, 0x80, 0x11, 0x4B, 0x11, 0x4F, 0x1B, 0x88, +0x93, 0x80, 0x11, 0x4B, 0x1B, 0x88, 0x53, 0x80, +0x10, 0x4B, 0x1B, 0x88, 0x13, 0x80, 0x10, 0x4B, +0x5C, 0x78, 0x0C, 0xE0, 0x65, 0x1E, 0x70, 0x5D, +0x03, 0x21, 0x40, 0xB2, 0x00, 0xF0, 0xD6, 0xFE, +0x40, 0xB2, 0x40, 0x00, 0x6A, 0x46, 0x83, 0x5A, +0x64, 0x00, 0xE3, 0x53, 0x2C, 0x1C, 0x00, 0x2C, +0xF0, 0xD1, 0xF7, 0xBD, 0x00, 0x00, 0x00, 0x20, +0x08, 0x08, 0x00, 0x40, 0xF8, 0x07, 0x00, 0x20, +0x06, 0x08, 0x00, 0x40, 0x00, 0x08, 0x00, 0x40, +0x04, 0x08, 0x00, 0x40, 0x02, 0x08, 0x00, 0x40, +0x4B, 0x0A, 0x00, 0x20, 0x80, 0x23, 0xDB, 0x05, +0x59, 0x68, 0x80, 0x22, 0x12, 0x01, 0x0A, 0x43, +0x5A, 0x60, 0xC0, 0x46, 0xC0, 0x46, 0xC0, 0x46, +0xC0, 0x46, 0x62, 0xB6, 0x70, 0x47, 0x70, 0xB5, +0x12, 0x49, 0x13, 0x4B, 0x04, 0x24, 0x19, 0x60, +0x12, 0x4B, 0x13, 0x4D, 0x1A, 0x68, 0x22, 0x43, +0x1A, 0x60, 0x1A, 0x68, 0x02, 0x24, 0xA2, 0x43, +0x1A, 0x60, 0x1A, 0x68, 0x01, 0x24, 0x22, 0x43, +0x0E, 0x4C, 0x1A, 0x60, 0x00, 0x22, 0x22, 0x60, +0x0D, 0x4A, 0x11, 0x60, 0x2E, 0x78, 0xED, 0x78, +0x70, 0x43, 0x01, 0x35, 0xE8, 0x40, 0x09, 0x1A, +0x11, 0x60, 0x20, 0x68, 0x11, 0x68, 0x88, 0x42, +0xFB, 0xD2, 0x1A, 0x68, 0x01, 0x21, 0x8A, 0x43, +0x1A, 0x60, 0x70, 0xBD, 0xFF, 0xFF, 0xFF, 0x00, +0x14, 0xE0, 0x00, 0xE0, 0x10, 0xE0, 0x00, 0xE0, +0x88, 0x0B, 0x00, 0x20, 0x18, 0xE0, 0x00, 0xE0, +0xB4, 0x07, 0x00, 0x20, 0x02, 0x4B, 0x1B, 0x78, +0x58, 0x43, 0x01, 0x30, 0x40, 0x18, 0x70, 0x47, +0x14, 0x0B, 0x00, 0x20, 0xF0, 0xB5, 0x89, 0xB0, +0x00, 0x25, 0x36, 0x4B, 0x07, 0x1C, 0x68, 0x46, +0x03, 0x91, 0x06, 0x95, 0x85, 0x83, 0xDC, 0x78, +0x33, 0x4B, 0x16, 0x1C, 0x9B, 0x7E, 0x5B, 0xB2, +0x02, 0x93, 0x93, 0x1E, 0x5A, 0x1E, 0x93, 0x41, +0x5B, 0x42, 0x05, 0x93, 0x3F, 0xE0, 0x01, 0x3C, +0xE4, 0xB2, 0x00, 0x2E, 0x07, 0xD1, 0x17, 0x22, +0x62, 0x43, 0x2C, 0x4B, 0xD2, 0x19, 0xD5, 0x56, +0x02, 0x99, 0x6D, 0x18, 0x09, 0xE0, 0x01, 0x2E, +0x05, 0xD1, 0x15, 0x23, 0x63, 0x43, 0x28, 0x4A, +0xDB, 0x19, 0x9D, 0x56, 0x01, 0xE0, 0x05, 0x9B, +0x1D, 0x40, 0x03, 0x98, 0x2D, 0x18, 0x29, 0x1C, +0x08, 0x31, 0x02, 0xDA, 0x08, 0x25, 0x6D, 0x42, +0x02, 0xE0, 0x07, 0x2D, 0x00, 0xDD, 0x07, 0x25, +0x0F, 0x23, 0x1D, 0x40, 0x1F, 0x4B, 0x68, 0x46, +0x1A, 0x5D, 0x03, 0x21, 0xC2, 0x74, 0x18, 0x5D, +0x40, 0xB2, 0x02, 0x30, 0x00, 0xF0, 0x88, 0xFE, +0x49, 0x00, 0x01, 0x91, 0x13, 0x20, 0x69, 0x46, +0x08, 0x56, 0x03, 0x21, 0x00, 0xF0, 0x2A, 0xFE, +0x42, 0xB2, 0x92, 0x00, 0x01, 0x99, 0x2B, 0x1C, +0x93, 0x40, 0x06, 0xA8, 0x1A, 0x1C, 0x0B, 0x5A, +0x13, 0x43, 0x02, 0x1C, 0x8B, 0x52, 0x00, 0x2C, +0xBD, 0xD1, 0x11, 0x4B, 0x11, 0x4D, 0x1C, 0x78, +0x0C, 0x26, 0x0E, 0xE0, 0x01, 0x3C, 0xE4, 0xB2, +0x38, 0x1C, 0x21, 0x1C, 0xFF, 0xF7, 0x96, 0xFF, +0x3F, 0x28, 0x06, 0xDC, 0x70, 0x43, 0x63, 0x00, +0x18, 0x33, 0x69, 0x46, 0x5B, 0x5A, 0x42, 0x5B, +0x43, 0x53, 0x00, 0x2C, 0xEE, 0xD1, 0x09, 0xB0, +0xF0, 0xBD, 0xC0, 0x46, 0x4B, 0x0A, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0x18, 0x11, 0x00, 0x20, +0x90, 0x0B, 0x00, 0x20, 0xF8, 0x07, 0x00, 0x20, +0x14, 0x0B, 0x00, 0x20, 0x00, 0x0C, 0x00, 0x40, +0xF7, 0xB5, 0x23, 0x4B, 0x9D, 0x78, 0x3E, 0xE0, +0x21, 0x4A, 0x17, 0x23, 0xD4, 0x78, 0x21, 0x4A, +0x66, 0x1E, 0x5E, 0x43, 0xAE, 0x19, 0xB6, 0x18, +0x1F, 0x4F, 0x32, 0xE0, 0x1F, 0x4B, 0x01, 0x3C, +0x18, 0x5D, 0x03, 0x21, 0x40, 0xB2, 0x02, 0x30, +0x00, 0xF0, 0x36, 0xFE, 0x28, 0x1C, 0xC9, 0xB2, +0xFF, 0xF7, 0x60, 0xFF, 0x3F, 0x28, 0x21, 0xDC, +0x0C, 0x23, 0x58, 0x43, 0x17, 0x4A, 0xC3, 0x5B, +0xC3, 0x5B, 0x10, 0x5D, 0x03, 0x21, 0x1A, 0xB2, +0x40, 0xB2, 0x01, 0x92, 0x00, 0xF0, 0xCE, 0xFD, +0x01, 0x9B, 0x40, 0xB2, 0x80, 0x00, 0x03, 0x41, +0x18, 0x1C, 0x0F, 0x23, 0x18, 0x40, 0x83, 0xB2, +0x08, 0x22, 0x13, 0x42, 0x02, 0xD0, 0x18, 0x1C, +0x10, 0x38, 0x80, 0xB2, 0x0C, 0x4A, 0x0D, 0x4B, +0x12, 0x7E, 0x5B, 0x5D, 0x80, 0x1A, 0xC0, 0x1A, +0x30, 0x70, 0x01, 0xE0, 0x00, 0x22, 0x32, 0x70, +0x17, 0x3E, 0x00, 0x2C, 0xCA, 0xD1, 0x01, 0x3D, +0x6B, 0x1C, 0xBD, 0xD1, 0xF7, 0xBD, 0xC0, 0x46, +0x4B, 0x0A, 0x00, 0x20, 0x18, 0x11, 0x00, 0x20, +0x00, 0x0C, 0x00, 0x40, 0xF8, 0x07, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0xBB, 0x06, 0x00, 0x20, +0x70, 0xB5, 0x24, 0x4A, 0x80, 0x23, 0xDB, 0x05, +0x54, 0x7A, 0x9D, 0x68, 0x07, 0x21, 0x22, 0x48, +0x0C, 0x40, 0x24, 0x03, 0x28, 0x40, 0x20, 0x43, +0x98, 0x60, 0x9C, 0x68, 0x1F, 0x48, 0x20, 0x40, +0x98, 0x60, 0x9C, 0x68, 0x1E, 0x48, 0x20, 0x40, +0x98, 0x60, 0x14, 0x7A, 0x3F, 0x20, 0x9D, 0x68, +0x04, 0x40, 0x1C, 0x48, 0xA4, 0x04, 0x28, 0x40, +0x20, 0x43, 0x98, 0x60, 0xD0, 0x79, 0x9C, 0x68, +0x01, 0x40, 0x08, 0x06, 0x18, 0x49, 0x21, 0x40, +0x01, 0x43, 0x99, 0x60, 0x98, 0x68, 0x80, 0x21, +0x09, 0x05, 0x01, 0x43, 0x15, 0x48, 0x99, 0x60, +0x04, 0x68, 0x19, 0x1C, 0x38, 0x31, 0x0C, 0x70, +0x45, 0x68, 0x9E, 0x6B, 0x7F, 0x21, 0x12, 0x4C, +0x0D, 0x40, 0x34, 0x40, 0x2D, 0x02, 0x2C, 0x43, +0x9C, 0x63, 0x84, 0x68, 0x9D, 0x6B, 0x0F, 0x48, +0x0C, 0x40, 0x28, 0x40, 0x24, 0x04, 0x20, 0x43, +0x98, 0x63, 0x12, 0x79, 0x98, 0x6B, 0x11, 0x40, +0x0A, 0x06, 0x0B, 0x49, 0x01, 0x40, 0x11, 0x43, +0x99, 0x63, 0x70, 0xBD, 0x34, 0x0D, 0x00, 0x20, +0xFF, 0x8F, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, +0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, +0xFF, 0xFF, 0xFF, 0xF8, 0xC0, 0x07, 0x00, 0x20, +0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, +0xFF, 0xFF, 0xFF, 0x80, 0xF0, 0xB5, 0x8D, 0xB0, +0x03, 0xAE, 0x30, 0x1C, 0x00, 0x21, 0x24, 0x22, +0x00, 0xF0, 0xDC, 0xFD, 0x3C, 0x4B, 0x3D, 0x4F, +0xDC, 0x78, 0x25, 0x1C, 0x26, 0xE0, 0x01, 0x3D, +0xED, 0xB2, 0x7B, 0x5D, 0x6A, 0x46, 0xD3, 0x70, +0x78, 0x5D, 0x03, 0x21, 0x40, 0xB2, 0x02, 0x30, +0x00, 0xF0, 0x82, 0xFD, 0x0C, 0x26, 0x4E, 0x43, +0x6A, 0x1C, 0x03, 0xAB, 0x9E, 0x19, 0x01, 0x92, +0x6B, 0x46, 0x03, 0x20, 0x18, 0x56, 0x03, 0x21, +0x00, 0xF0, 0x20, 0xFD, 0x01, 0x9A, 0x40, 0xB2, +0x80, 0x00, 0x33, 0x89, 0x82, 0x40, 0x10, 0x1C, +0x18, 0x43, 0x30, 0x81, 0x7B, 0x5D, 0x01, 0x22, +0x5B, 0xB2, 0x9A, 0x40, 0x13, 0x1C, 0x72, 0x88, +0x13, 0x43, 0x73, 0x80, 0x00, 0x2D, 0xD6, 0xD1, +0x25, 0x4B, 0x9D, 0x78, 0x1E, 0xE0, 0x26, 0x4F, +0x3E, 0x78, 0x19, 0xE0, 0x01, 0x3E, 0xF6, 0xB2, +0x28, 0x1C, 0x31, 0x1C, 0xFF, 0xF7, 0x86, 0xFE, +0x3F, 0x28, 0x11, 0xDC, 0x0C, 0x22, 0x11, 0x1C, +0x20, 0x4F, 0x71, 0x43, 0x7B, 0x5D, 0x03, 0xAF, +0x79, 0x18, 0x5B, 0xB2, 0x01, 0x27, 0x50, 0x43, +0x9F, 0x40, 0x6B, 0x1C, 0x4B, 0x81, 0x1C, 0x4B, +0x4F, 0x60, 0xC0, 0x18, 0x00, 0xF0, 0x50, 0xFD, +0x00, 0x2E, 0xE3, 0xD1, 0x01, 0x3D, 0x6F, 0x1C, +0xDD, 0xD1, 0x00, 0x25, 0x03, 0xAB, 0x1D, 0x81, +0x2E, 0x1C, 0x12, 0x4F, 0x12, 0xE0, 0x01, 0x3C, +0xE4, 0xB2, 0x38, 0x5D, 0x03, 0x21, 0x40, 0xB2, +0x00, 0xF0, 0xDC, 0xFC, 0x40, 0xB2, 0x43, 0x1C, +0x80, 0x00, 0x83, 0x40, 0x1D, 0x43, 0x3B, 0x5D, +0x01, 0x22, 0x5B, 0xB2, 0x9A, 0x40, 0x16, 0x43, +0xAD, 0xB2, 0xB6, 0xB2, 0x00, 0x2C, 0xEA, 0xD1, +0x03, 0xA9, 0x0D, 0x81, 0x4E, 0x80, 0x4C, 0x60, +0x4C, 0x81, 0x0C, 0x22, 0x06, 0x48, 0x00, 0xF0, +0x27, 0xFD, 0x0D, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, +0x4B, 0x0A, 0x00, 0x20, 0xF8, 0x07, 0x00, 0x20, +0x14, 0x0B, 0x00, 0x20, 0xBC, 0x0D, 0x00, 0x20, +0x00, 0x0C, 0x00, 0x40, 0x10, 0xB5, 0x0B, 0x4A, +0x80, 0x23, 0xDB, 0x05, 0xD0, 0x7A, 0x1C, 0x6B, +0x1F, 0x21, 0x8C, 0x43, 0x02, 0x30, 0x08, 0x40, +0x21, 0x1C, 0x01, 0x43, 0x19, 0x63, 0x11, 0x7B, +0x58, 0x6B, 0x0F, 0x22, 0x90, 0x43, 0x02, 0x31, +0x11, 0x40, 0x02, 0x1C, 0x0A, 0x43, 0x5A, 0x63, +0x10, 0xBD, 0xC0, 0x46, 0x50, 0x0B, 0x00, 0x20, +0x00, 0xB5, 0x80, 0x21, 0xC9, 0x05, 0x0B, 0x79, +0x5A, 0x1E, 0x98, 0x42, 0x09, 0xDD, 0x01, 0xE0, +0xDA, 0xB2, 0x0A, 0x71, 0x01, 0x33, 0x83, 0x42, +0xFA, 0xDD, 0x04, 0xE0, 0xD3, 0xB2, 0x0B, 0x71, +0x01, 0x3A, 0x82, 0x42, 0xFA, 0xDA, 0x00, 0xBD, +0x08, 0xB5, 0x0C, 0x4A, 0x0C, 0x4B, 0x0D, 0x49, +0x01, 0xE0, 0x01, 0xCA, 0x01, 0xC3, 0x8B, 0x42, +0xFB, 0xD3, 0x0B, 0x4B, 0x0B, 0x49, 0x00, 0x22, +0x00, 0xE0, 0x04, 0xC3, 0x8B, 0x42, 0xFC, 0xD3, +0xFF, 0xF7, 0xBA, 0xFB, 0x08, 0x4B, 0x00, 0x22, +0x00, 0xE0, 0x04, 0xC3, 0x83, 0x42, 0xFC, 0xD3, +0x08, 0xBD, 0xC0, 0x46, 0x70, 0x37, 0x00, 0x00, +0x2C, 0x06, 0x00, 0x20, 0x50, 0x06, 0x00, 0x20, +0x50, 0x06, 0x00, 0x20, 0x28, 0x13, 0x00, 0x20, +0x18, 0x14, 0x00, 0x20, 0xF0, 0xB5, 0x2E, 0x4A, +0x2E, 0x49, 0x85, 0xB0, 0x13, 0x7B, 0x89, 0x79, +0xD5, 0x7A, 0x00, 0x20, 0x23, 0xE0, 0x01, 0x3B, +0xDB, 0xB2, 0x2B, 0x4A, 0x5C, 0x1C, 0x64, 0x00, +0xA6, 0x5A, 0x2A, 0x4F, 0x0E, 0x41, 0x5A, 0x00, +0xD6, 0x53, 0x9C, 0x46, 0x2A, 0x1C, 0x5F, 0x01, +0x01, 0x96, 0x02, 0x94, 0x10, 0xE0, 0x01, 0x3A, +0xD2, 0xB2, 0x25, 0x4B, 0x02, 0x9E, 0x54, 0x01, +0xE4, 0x18, 0x34, 0x5B, 0x23, 0x4E, 0x23, 0x1C, +0x01, 0x9C, 0x0B, 0x41, 0xE3, 0x1A, 0xC0, 0x18, +0xBB, 0x18, 0x9B, 0x00, 0x00, 0x24, 0x9C, 0x51, +0x00, 0x2A, 0xEC, 0xD1, 0x63, 0x46, 0x00, 0x2B, +0xD9, 0xD1, 0x1D, 0x4B, 0x1D, 0x4C, 0x19, 0x88, +0x16, 0x4B, 0x5E, 0x8E, 0x00, 0x2E, 0x02, 0xD1, +0x40, 0x23, 0x23, 0x60, 0x0D, 0xE0, 0x09, 0xB2, +0x9D, 0x8E, 0x00, 0xF0, 0x27, 0xFC, 0x76, 0x1B, +0xB6, 0x01, 0x41, 0x1B, 0x30, 0x1C, 0x00, 0xF0, +0x21, 0xFC, 0x6E, 0x28, 0x00, 0xDD, 0x6E, 0x20, +0x20, 0x60, 0x0C, 0x4C, 0x64, 0x20, 0xE3, 0x7E, +0x26, 0x7B, 0x58, 0x43, 0xA1, 0x79, 0x23, 0x79, +0x37, 0x1C, 0x8F, 0x40, 0x39, 0x1C, 0x58, 0x43, +0x00, 0xF0, 0x10, 0xFC, 0x0C, 0x4D, 0x28, 0x60, +0x61, 0x7C, 0x70, 0x43, 0x00, 0xF0, 0x0A, 0xFC, +0x05, 0xB0, 0x68, 0x60, 0xF0, 0xBD, 0xC0, 0x46, +0x50, 0x0B, 0x00, 0x20, 0x34, 0x0D, 0x00, 0x20, +0x00, 0x08, 0x00, 0x40, 0x84, 0x12, 0x00, 0x20, +0x20, 0x08, 0x00, 0x40, 0x1C, 0x00, 0x00, 0x20, +0x16, 0x0B, 0x00, 0x20, 0x28, 0x0B, 0x00, 0x20, +0xA4, 0x07, 0x00, 0x20, 0xF0, 0xB5, 0x1B, 0x4A, +0x85, 0xB0, 0xD5, 0x7A, 0x13, 0x7B, 0x1A, 0x4A, +0x1A, 0x48, 0x91, 0x79, 0xAC, 0x46, 0x01, 0x91, +0xD2, 0x7A, 0x02, 0x92, 0x18, 0x4A, 0x12, 0x68, +0x03, 0x92, 0x1A, 0xE0, 0x01, 0x3B, 0x17, 0x4C, +0xDB, 0xB2, 0x59, 0x01, 0x09, 0x19, 0x79, 0x5A, +0x01, 0x9D, 0x02, 0x9C, 0x29, 0x41, 0x00, 0x2C, +0x06, 0xD0, 0x13, 0x4D, 0xF4, 0x18, 0x64, 0x5D, +0x61, 0x43, 0x03, 0x9C, 0x61, 0x43, 0x09, 0x13, +0x54, 0x01, 0xE4, 0x18, 0xA4, 0x00, 0x25, 0x58, +0x49, 0x19, 0x21, 0x50, 0x00, 0x2B, 0xE5, 0xD1, +0x13, 0x1C, 0x5A, 0x1E, 0xD2, 0xB2, 0x00, 0x2B, +0x05, 0xD0, 0x57, 0x1C, 0x15, 0x26, 0x63, 0x46, +0x7F, 0x00, 0x56, 0x43, 0xF2, 0xE7, 0x05, 0xB0, +0xF0, 0xBD, 0xC0, 0x46, 0x50, 0x0B, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20, +0x28, 0x0B, 0x00, 0x20, 0x20, 0x08, 0x00, 0x40, +0x4E, 0x09, 0x00, 0x20, 0xF0, 0xB5, 0x15, 0x4A, +0x85, 0xB0, 0x13, 0x7B, 0xD2, 0x7A, 0x14, 0x4F, +0x00, 0x92, 0x14, 0x4A, 0x52, 0x7F, 0x01, 0x92, +0x13, 0xE0, 0x02, 0x99, 0x01, 0x3C, 0xE4, 0xB2, +0x0E, 0x19, 0xB6, 0x00, 0xF0, 0x59, 0x01, 0x99, +0x00, 0xF0, 0x4E, 0xFB, 0x03, 0x9A, 0x0E, 0x49, +0x13, 0x19, 0x00, 0x04, 0x5B, 0x00, 0x00, 0x22, +0xF0, 0x51, 0x5A, 0x52, 0x00, 0x2C, 0xEC, 0xD1, +0x2B, 0x1C, 0x5D, 0x1E, 0xED, 0xB2, 0x00, 0x2B, +0x06, 0xD0, 0x15, 0x21, 0x69, 0x43, 0x6B, 0x01, +0x00, 0x9C, 0x02, 0x93, 0x03, 0x91, 0xF1, 0xE7, +0x05, 0xB0, 0xF0, 0xBD, 0x50, 0x0B, 0x00, 0x20, +0x1C, 0x00, 0x00, 0x20, 0x34, 0x0D, 0x00, 0x20, +0xE0, 0x0E, 0x00, 0x20, 0xF0, 0xB5, 0xB2, 0x4B, +0x00, 0x22, 0x1A, 0x70, 0xB1, 0x4B, 0x91, 0xB0, +0x1B, 0x78, 0x93, 0x42, 0x58, 0xD1, 0xB0, 0x4B, +0xB0, 0x4E, 0x5D, 0x7E, 0x1F, 0x7B, 0x2C, 0x1C, +0x7F, 0x1B, 0xFF, 0xB2, 0x17, 0xE0, 0x59, 0x7B, +0x20, 0x1C, 0x00, 0xF0, 0x07, 0xFA, 0xAC, 0x49, +0x00, 0x23, 0xCB, 0x5E, 0x98, 0x42, 0x05, 0xDC, +0x33, 0x1C, 0x5C, 0x33, 0x00, 0x22, 0x9B, 0x5E, +0x98, 0x42, 0x06, 0xDA, 0xA4, 0x4B, 0x01, 0x20, +0x59, 0x7B, 0xA6, 0x4B, 0x22, 0x1C, 0x1B, 0x68, +0x2B, 0xE0, 0x01, 0x34, 0xE4, 0xB2, 0xA0, 0x4B, +0xBC, 0x42, 0xE4, 0xD3, 0x99, 0x7B, 0x0F, 0xAA, +0x11, 0x70, 0xD9, 0x7B, 0x9D, 0x4F, 0x51, 0x70, +0x19, 0x7C, 0x91, 0x70, 0xDA, 0x7A, 0x5B, 0x7E, +0xD3, 0x1A, 0xDB, 0xB2, 0x05, 0x93, 0x9C, 0x4B, +0x1B, 0x78, 0x1F, 0xE0, 0x0F, 0xAB, 0x9B, 0x5D, +0x21, 0x1C, 0x18, 0x1C, 0x04, 0x93, 0x00, 0xF0, +0xD9, 0xF9, 0x95, 0x49, 0x00, 0x23, 0xCB, 0x5E, +0x98, 0x42, 0x05, 0xDC, 0x3B, 0x1C, 0x5C, 0x33, +0x00, 0x22, 0x9B, 0x5E, 0x98, 0x42, 0x07, 0xDA, +0x90, 0x4B, 0x04, 0x9A, 0x1B, 0x68, 0x01, 0x20, +0x21, 0x1C, 0x98, 0x47, 0x00, 0x20, 0x0D, 0xE1, +0x01, 0x34, 0xE4, 0xB2, 0x05, 0x9B, 0x9C, 0x42, +0xE0, 0xD3, 0x33, 0x1C, 0x5E, 0x1E, 0xF6, 0xB2, +0x00, 0x2B, 0x01, 0xD0, 0x2C, 0x1C, 0xF5, 0xE7, +0x00, 0x21, 0x24, 0x22, 0x87, 0x48, 0x00, 0xF0, +0xB5, 0xFB, 0x87, 0x4B, 0x00, 0x24, 0x7F, 0x22, +0x6D, 0x46, 0x6F, 0x46, 0x9A, 0x70, 0x1A, 0x70, +0xDC, 0x70, 0x5C, 0x70, 0x3A, 0x76, 0x2C, 0x74, +0x17, 0x1C, 0x21, 0x1C, 0x40, 0x22, 0x81, 0x48, +0x00, 0xF0, 0xA4, 0xFB, 0x21, 0x1C, 0x18, 0x22, +0x7F, 0x48, 0x00, 0xF0, 0x9F, 0xFB, 0x76, 0x4A, +0xE5, 0xB2, 0xFF, 0xB2, 0x7D, 0x49, 0x13, 0x7B, +0x05, 0x95, 0x09, 0x97, 0x6D, 0x46, 0x6F, 0x46, +0x2D, 0x7C, 0x09, 0x68, 0x3F, 0x7E, 0x0D, 0x91, +0x08, 0x94, 0x07, 0x94, 0x26, 0x1C, 0x0A, 0x95, +0x06, 0x97, 0x0B, 0x94, 0x04, 0x94, 0x20, 0x1C, +0x93, 0xE0, 0x15, 0x23, 0x4B, 0x43, 0x6A, 0x4F, +0x4C, 0x1C, 0xFA, 0x7A, 0x64, 0x00, 0x0C, 0x93, +0x87, 0xE0, 0x01, 0x3A, 0xD2, 0xB2, 0x70, 0x4F, +0x55, 0x01, 0xEF, 0x19, 0x02, 0x97, 0xE3, 0x5B, +0x64, 0x4F, 0xBD, 0x79, 0x2B, 0x41, 0x1D, 0x1C, +0xFB, 0x7A, 0x00, 0x2B, 0x0A, 0xD0, 0x0C, 0x9B, +0x9B, 0x18, 0x9C, 0x46, 0x69, 0x4B, 0x67, 0x46, +0xFB, 0x5C, 0x1F, 0x1C, 0x6F, 0x43, 0x0D, 0x9B, +0x5F, 0x43, 0x3D, 0x13, 0x4B, 0x01, 0x9B, 0x18, +0x9B, 0x00, 0x9C, 0x46, 0x64, 0x4B, 0x67, 0x46, +0xFB, 0x58, 0x1B, 0x0C, 0xEB, 0x1A, 0x0C, 0x9D, +0xAD, 0x18, 0x6D, 0x00, 0x2F, 0x1C, 0x61, 0x4D, +0x7B, 0x53, 0x54, 0x4F, 0x00, 0x2B, 0x4A, 0xDB, +0xBF, 0x7F, 0x7F, 0xB2, 0xBB, 0x42, 0x08, 0xDB, +0x08, 0x9D, 0xDF, 0x1B, 0xBC, 0x46, 0x2F, 0x1C, +0x07, 0x9D, 0x67, 0x44, 0x01, 0x35, 0x08, 0x97, +0x07, 0x95, 0x9E, 0x42, 0x00, 0xDA, 0x1E, 0x1C, +0x57, 0x4F, 0xFF, 0x7F, 0xBB, 0x42, 0x1B, 0xDB, +0x6D, 0x46, 0x14, 0x27, 0x7D, 0x57, 0x8D, 0x42, +0x01, 0xDA, 0xCF, 0xB2, 0x05, 0x97, 0x09, 0xAD, +0x2D, 0x78, 0x6D, 0xB2, 0x8D, 0x42, 0x01, 0xDD, +0xCF, 0xB2, 0x09, 0x97, 0x0A, 0xAD, 0x2D, 0x78, +0x6D, 0xB2, 0x95, 0x42, 0x01, 0xDA, 0xD7, 0xB2, +0x0A, 0x97, 0x6D, 0x46, 0x18, 0x27, 0x7D, 0x57, +0x95, 0x42, 0x01, 0xDD, 0xD7, 0xB2, 0x06, 0x97, +0xC0, 0x18, 0x9B, 0xB2, 0x01, 0x93, 0x6B, 0x46, +0x9D, 0x88, 0x02, 0x9B, 0x57, 0x00, 0xE5, 0x52, +0x3C, 0x4B, 0x03, 0x97, 0xFB, 0x5A, 0x01, 0x9D, +0x9C, 0x46, 0xAC, 0x44, 0x39, 0x4B, 0x65, 0x46, +0xFD, 0x52, 0x39, 0x4B, 0x4F, 0x00, 0xFB, 0x5A, +0x01, 0x9D, 0x9C, 0x46, 0x2B, 0x1C, 0x36, 0x4D, +0x63, 0x44, 0x7B, 0x53, 0x11, 0xE0, 0xFF, 0x7F, +0x7F, 0xB2, 0xBB, 0x42, 0x05, 0xDC, 0x0B, 0x9D, +0xDF, 0x1B, 0xBC, 0x46, 0x2F, 0x1C, 0x67, 0x44, +0x0B, 0x97, 0x04, 0x9D, 0x9D, 0x42, 0x00, 0xDD, +0x04, 0x93, 0x02, 0x9F, 0xC0, 0x1A, 0x00, 0x23, +0xE3, 0x53, 0x00, 0x2A, 0x00, 0xD0, 0x74, 0xE7, +0x0B, 0x1C, 0x59, 0x1E, 0xC9, 0xB2, 0x00, 0x2B, +0x00, 0xD0, 0x66, 0xE7, 0x14, 0x27, 0x6B, 0x46, +0x22, 0x4C, 0x23, 0x4D, 0xFB, 0x5C, 0x07, 0x9A, +0x08, 0x99, 0xE2, 0x61, 0x6B, 0x70, 0x09, 0xAF, +0x18, 0x23, 0x6A, 0x46, 0x9A, 0x5C, 0x3F, 0x78, +0x0B, 0x9B, 0x21, 0x60, 0x0A, 0xA9, 0x2F, 0x70, +0x09, 0x78, 0x63, 0x60, 0x04, 0x9F, 0x23, 0x4B, +0xAA, 0x70, 0xE9, 0x70, 0xA6, 0x60, 0x00, 0x22, +0x99, 0x5E, 0xE7, 0x60, 0x00, 0xF0, 0x32, 0xFA, +0x10, 0x4A, 0x20, 0x62, 0x26, 0x61, 0x51, 0x7D, +0x01, 0x23, 0x8E, 0x42, 0x04, 0xDC, 0x16, 0x27, +0xD2, 0x5F, 0x04, 0x9F, 0x97, 0x42, 0x01, 0xDA, +0x07, 0x4A, 0x13, 0x70, 0x01, 0x21, 0x00, 0x22, +0x69, 0x56, 0xAA, 0x56, 0x01, 0x20, 0x16, 0x4B, +0x91, 0x42, 0x01, 0xDB, 0x18, 0x70, 0x01, 0xE0, +0x00, 0x22, 0x1A, 0x70, 0x11, 0xB0, 0xF0, 0xBD, +0xEC, 0x06, 0x00, 0x20, 0xB5, 0x06, 0x00, 0x20, +0x50, 0x0B, 0x00, 0x20, 0x34, 0x0D, 0x00, 0x20, +0x8E, 0x0D, 0x00, 0x20, 0x58, 0x06, 0x00, 0x20, +0x14, 0x0B, 0x00, 0x20, 0xF4, 0x06, 0x00, 0x20, +0xDA, 0x10, 0x00, 0x20, 0xC0, 0x0A, 0x00, 0x20, +0x50, 0x0A, 0x00, 0x20, 0x28, 0x0B, 0x00, 0x20, +0x20, 0x08, 0x00, 0x40, 0x4E, 0x09, 0x00, 0x20, +0x1C, 0x00, 0x00, 0x20, 0xE0, 0x0E, 0x00, 0x20, +0x36, 0x0D, 0x00, 0x20, 0x16, 0x0B, 0x00, 0x20, +0x04, 0x08, 0x00, 0x20, 0xF0, 0xB5, 0x85, 0xB0, +0x21, 0x4B, 0x02, 0x91, 0x03, 0x92, 0x00, 0x21, +0x5B, 0x78, 0x0A, 0x1C, 0x34, 0xE0, 0x01, 0x3B, +0xDB, 0xB2, 0x44, 0x1C, 0x05, 0xD0, 0x5C, 0x01, +0x24, 0x18, 0x1C, 0x4D, 0xA4, 0x00, 0x2F, 0x5B, +0x02, 0xE0, 0x1B, 0x4E, 0x5C, 0x00, 0xA7, 0x5B, +0x5E, 0x1C, 0x1A, 0x4C, 0x1A, 0x4D, 0x76, 0x00, +0x34, 0x5B, 0xAD, 0x79, 0x3F, 0xB2, 0x2C, 0x41, +0xE7, 0x1B, 0x00, 0x94, 0x01, 0x97, 0x47, 0x1C, +0x05, 0xD0, 0x5F, 0x01, 0x3F, 0x18, 0x11, 0x4E, +0xBF, 0x00, 0xBC, 0x51, 0x09, 0xE0, 0x5C, 0x00, +0x6D, 0x46, 0xA4, 0x46, 0x0E, 0x4F, 0x2C, 0x88, +0x65, 0x46, 0xEC, 0x53, 0x0D, 0x4D, 0x00, 0x24, +0x74, 0x53, 0x01, 0x9F, 0xFC, 0x17, 0x3E, 0x19, +0x66, 0x40, 0xB4, 0xB2, 0x61, 0x18, 0x89, 0xB2, +0xB2, 0x42, 0x00, 0xDB, 0x14, 0x1C, 0x22, 0x1C, +0x00, 0x2B, 0xC8, 0xD1, 0x02, 0x9D, 0x03, 0x9E, +0x05, 0xB0, 0x29, 0x80, 0x32, 0x80, 0xF0, 0xBD, +0x4B, 0x0A, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20, +0x84, 0x12, 0x00, 0x20, 0x00, 0x08, 0x00, 0x40, +0x34, 0x0D, 0x00, 0x20, 0xF7, 0xB5, 0x18, 0x4B, +0x18, 0x4A, 0x1B, 0x7F, 0x14, 0x6A, 0x9C, 0x40, +0x00, 0x2C, 0x00, 0xDC, 0x01, 0x24, 0x16, 0x4B, +0x00, 0x22, 0x9A, 0x56, 0x15, 0x4B, 0x92, 0x00, +0xD3, 0x58, 0x15, 0x4A, 0x5C, 0x43, 0x13, 0x7B, +0xD2, 0x7A, 0x14, 0x49, 0x01, 0x92, 0xA4, 0x46, +0x0F, 0xE0, 0x01, 0x3B, 0xDB, 0xB2, 0xEC, 0x18, +0x67, 0x00, 0x11, 0x4C, 0xF0, 0x18, 0x3F, 0x5F, +0x64, 0x46, 0x67, 0x43, 0x80, 0x00, 0x44, 0x58, +0x3C, 0x19, 0x44, 0x50, 0x00, 0x2B, 0xF0, 0xD1, +0x13, 0x1C, 0x5A, 0x1E, 0xD2, 0xB2, 0x00, 0x2B, +0x04, 0xD0, 0x15, 0x25, 0x01, 0x9B, 0x56, 0x01, +0x55, 0x43, 0xF3, 0xE7, 0x01, 0x20, 0xFE, 0xBD, +0x34, 0x0D, 0x00, 0x20, 0xF4, 0x06, 0x00, 0x20, +0x3B, 0x06, 0x00, 0x20, 0xA4, 0x07, 0x00, 0x20, +0x50, 0x0B, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20, +0xE0, 0x0E, 0x00, 0x20, 0x07, 0x4B, 0x49, 0x01, +0xC9, 0x18, 0x43, 0x1C, 0x5B, 0x00, 0x06, 0x4A, +0x59, 0x5A, 0x06, 0x4B, 0x40, 0x00, 0x92, 0x79, +0xC3, 0x5A, 0x08, 0x1C, 0x10, 0x41, 0x18, 0x1A, +0x70, 0x47, 0xC0, 0x46, 0x20, 0x08, 0x00, 0x40, +0x34, 0x0D, 0x00, 0x20, 0x84, 0x12, 0x00, 0x20, +0x08, 0xB5, 0x80, 0x22, 0x05, 0x48, 0x06, 0x49, +0x00, 0xF0, 0xA6, 0xF9, 0x05, 0x4B, 0x06, 0x4A, +0x04, 0x33, 0xDB, 0x7F, 0x13, 0x70, 0x05, 0x4A, +0x13, 0x70, 0x08, 0xBD, 0x34, 0x0D, 0x00, 0x20, +0x9C, 0x12, 0x00, 0x20, 0x50, 0x0B, 0x00, 0x20, +0x68, 0x0A, 0x00, 0x20, 0x4A, 0x0A, 0x00, 0x20, +0x08, 0xB5, 0xC1, 0x05, 0x09, 0x1A, 0x89, 0x00, +0x09, 0x18, 0x04, 0x4B, 0xC9, 0x01, 0x09, 0x18, +0xC9, 0x18, 0x03, 0x48, 0x00, 0xF0, 0x26, 0xF9, +0xC0, 0xB2, 0x08, 0xBD, 0xDA, 0xEB, 0x01, 0x00, +0x40, 0x42, 0x0F, 0x00, 0x10, 0xB5, 0x1A, 0x4B, +0x00, 0x22, 0xDA, 0x70, 0x01, 0x22, 0x1A, 0x71, +0xB0, 0x22, 0x9A, 0x70, 0x11, 0x22, 0x1A, 0x70, +0x0C, 0x22, 0x5A, 0x71, 0x02, 0x22, 0x9A, 0x71, +0x09, 0x22, 0xDA, 0x71, 0x13, 0x4A, 0x12, 0x78, +0xAA, 0x2A, 0x1F, 0xD1, 0x12, 0x49, 0x13, 0x4A, +0x00, 0x24, 0x0C, 0x57, 0x12, 0x49, 0x12, 0x78, +0x09, 0x78, 0x50, 0xB2, 0x49, 0xB2, 0x04, 0x19, +0x64, 0x18, 0x10, 0x49, 0x09, 0x78, 0x49, 0xB2, +0x8C, 0x42, 0x0F, 0xD1, 0x0E, 0x49, 0x9C, 0x78, +0x55, 0x31, 0x09, 0x78, 0x20, 0x18, 0x40, 0x18, +0xFF, 0x28, 0x03, 0xDD, 0xC9, 0x43, 0xC9, 0xB2, +0x99, 0x70, 0x03, 0xE0, 0x99, 0x78, 0x8A, 0x18, +0xD2, 0xB2, 0x9A, 0x70, 0x10, 0xBD, 0xC0, 0x46, +0x88, 0x0B, 0x00, 0x20, 0xA0, 0x00, 0xE0, 0x00, +0xA2, 0x00, 0xE0, 0x00, 0xA1, 0x00, 0xE0, 0x00, +0xA3, 0x00, 0xE0, 0x00, 0xA4, 0x00, 0xE0, 0x00, +0x34, 0x0D, 0x00, 0x20, 0x70, 0xB5, 0x20, 0x4D, +0x6B, 0x79, 0xDA, 0x08, 0x01, 0xD0, 0x08, 0x3B, +0xDB, 0xB2, 0x00, 0x26, 0x07, 0x2B, 0x03, 0xD0, +0x02, 0x22, 0x9A, 0x42, 0x76, 0x41, 0x96, 0x1B, +0x2B, 0x78, 0x1A, 0x4C, 0x9A, 0x00, 0xD3, 0x18, +0x33, 0x41, 0xDB, 0xB2, 0x23, 0x60, 0x2B, 0x78, +0xFA, 0x20, 0x80, 0x00, 0x58, 0x43, 0x16, 0x4B, +0x01, 0x36, 0x59, 0x88, 0xB1, 0x40, 0x00, 0xF0, +0xBD, 0xF8, 0xC1, 0xB2, 0x61, 0x60, 0x2B, 0x78, +0x2D, 0x20, 0xB1, 0x40, 0x58, 0x43, 0x00, 0xF0, +0xB5, 0xF8, 0x10, 0x49, 0xC0, 0xB2, 0xA0, 0x60, +0xCB, 0x7A, 0x0F, 0x4A, 0x13, 0x70, 0x08, 0x7B, +0x93, 0x70, 0x50, 0x70, 0xD0, 0x70, 0x58, 0x43, +0x0C, 0x4A, 0x10, 0x80, 0x0C, 0x4A, 0x10, 0x80, +0x8A, 0x7A, 0x51, 0x42, 0x4A, 0x41, 0x02, 0x32, +0x53, 0x43, 0x0A, 0x49, 0x01, 0x33, 0x0A, 0x70, +0x09, 0x49, 0x0B, 0x60, 0x70, 0xBD, 0xC0, 0x46, +0x88, 0x0B, 0x00, 0x20, 0xC0, 0x07, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0x50, 0x0B, 0x00, 0x20, +0x4B, 0x0A, 0x00, 0x20, 0x16, 0x0B, 0x00, 0x20, +0xA2, 0x0C, 0x00, 0x20, 0x14, 0x0B, 0x00, 0x20, +0x10, 0x0B, 0x00, 0x20, 0x00, 0xB5, 0x07, 0x4A, +0x13, 0x68, 0x03, 0x60, 0x03, 0x23, 0x08, 0x1C, +0x98, 0x43, 0x03, 0x1C, 0x88, 0x42, 0x00, 0xD0, +0x04, 0x33, 0x11, 0x68, 0xCB, 0x18, 0x13, 0x60, +0x00, 0xBD, 0xC0, 0x46, 0x34, 0x06, 0x00, 0x20, +0x10, 0xB5, 0x1C, 0x1C, 0x02, 0x9B, 0x88, 0x42, +0x0A, 0xDB, 0x90, 0x42, 0x07, 0xDA, 0x1B, 0x1B, +0x40, 0x1A, 0x58, 0x43, 0x51, 0x1A, 0x00, 0xF0, +0x69, 0xF8, 0x24, 0x18, 0x00, 0xE0, 0x1C, 0x1C, +0x20, 0x1C, 0x10, 0xBD, 0x00, 0xB5, 0x01, 0x23, +0xC3, 0x56, 0x8B, 0x42, 0x00, 0xDA, 0x41, 0x70, +0x00, 0x23, 0xC3, 0x56, 0x8B, 0x42, 0x00, 0xDD, +0x01, 0x70, 0x03, 0x23, 0xC3, 0x56, 0x93, 0x42, +0x00, 0xDA, 0xC2, 0x70, 0x02, 0x23, 0xC3, 0x56, +0x93, 0x42, 0x00, 0xDD, 0x82, 0x70, 0x00, 0xBD, +0x00, 0x29, 0x34, 0xD0, 0x01, 0x23, 0x00, 0x22, +0x10, 0xB4, 0x88, 0x42, 0x2C, 0xD3, 0x01, 0x24, +0x24, 0x07, 0xA1, 0x42, 0x04, 0xD2, 0x81, 0x42, +0x02, 0xD2, 0x09, 0x01, 0x1B, 0x01, 0xF8, 0xE7, +0xE4, 0x00, 0xA1, 0x42, 0x04, 0xD2, 0x81, 0x42, +0x02, 0xD2, 0x49, 0x00, 0x5B, 0x00, 0xF8, 0xE7, +0x88, 0x42, 0x01, 0xD3, 0x40, 0x1A, 0x1A, 0x43, +0x4C, 0x08, 0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, +0x5C, 0x08, 0x22, 0x43, 0x8C, 0x08, 0xA0, 0x42, +0x02, 0xD3, 0x00, 0x1B, 0x9C, 0x08, 0x22, 0x43, +0xCC, 0x08, 0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, +0xDC, 0x08, 0x22, 0x43, 0x00, 0x28, 0x03, 0xD0, +0x1B, 0x09, 0x01, 0xD0, 0x09, 0x09, 0xE3, 0xE7, +0x10, 0x1C, 0x10, 0xBC, 0x70, 0x47, 0x00, 0x28, +0x01, 0xD0, 0x00, 0x20, 0xC0, 0x43, 0x07, 0xB4, +0x02, 0x48, 0x02, 0xA1, 0x40, 0x18, 0x02, 0x90, +0x03, 0xBD, 0xC0, 0x46, 0xD9, 0x00, 0x00, 0x00, +0x00, 0x29, 0xF0, 0xD0, 0x03, 0xB5, 0xFF, 0xF7, +0xB9, 0xFF, 0x0E, 0xBC, 0x42, 0x43, 0x89, 0x1A, +0x18, 0x47, 0xC0, 0x46, 0x00, 0x29, 0x41, 0xD0, +0x10, 0xB4, 0x04, 0x1C, 0x4C, 0x40, 0xA4, 0x46, +0x01, 0x23, 0x00, 0x22, 0x00, 0x29, 0x00, 0xD5, +0x49, 0x42, 0x00, 0x28, 0x00, 0xD5, 0x40, 0x42, +0x88, 0x42, 0x2C, 0xD3, 0x01, 0x24, 0x24, 0x07, +0xA1, 0x42, 0x04, 0xD2, 0x81, 0x42, 0x02, 0xD2, +0x09, 0x01, 0x1B, 0x01, 0xF8, 0xE7, 0xE4, 0x00, +0xA1, 0x42, 0x04, 0xD2, 0x81, 0x42, 0x02, 0xD2, +0x49, 0x00, 0x5B, 0x00, 0xF8, 0xE7, 0x88, 0x42, +0x01, 0xD3, 0x40, 0x1A, 0x1A, 0x43, 0x4C, 0x08, +0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, 0x5C, 0x08, +0x22, 0x43, 0x8C, 0x08, 0xA0, 0x42, 0x02, 0xD3, +0x00, 0x1B, 0x9C, 0x08, 0x22, 0x43, 0xCC, 0x08, +0xA0, 0x42, 0x02, 0xD3, 0x00, 0x1B, 0xDC, 0x08, +0x22, 0x43, 0x00, 0x28, 0x03, 0xD0, 0x1B, 0x09, +0x01, 0xD0, 0x09, 0x09, 0xE3, 0xE7, 0x10, 0x1C, +0x64, 0x46, 0x00, 0x2C, 0x00, 0xD5, 0x40, 0x42, +0x10, 0xBC, 0x70, 0x47, 0x00, 0x28, 0x06, 0xD0, +0x03, 0xDB, 0x00, 0x20, 0xC0, 0x43, 0x40, 0x08, +0x01, 0xE0, 0x80, 0x20, 0x00, 0x06, 0x07, 0xB4, +0x02, 0x48, 0x02, 0xA1, 0x40, 0x18, 0x02, 0x90, +0x03, 0xBD, 0xC0, 0x46, 0x19, 0x00, 0x00, 0x00, +0x00, 0x29, 0xEB, 0xD0, 0x03, 0xB5, 0xFF, 0xF7, +0xA7, 0xFF, 0x0E, 0xBC, 0x42, 0x43, 0x89, 0x1A, +0x18, 0x47, 0xC0, 0x46, 0x70, 0x47, 0xC0, 0x46, +0xF0, 0xB5, 0x05, 0x1C, 0x0F, 0x2A, 0x2F, 0xD9, +0x0B, 0x1C, 0x03, 0x43, 0x05, 0x1C, 0x9C, 0x07, +0x2C, 0xD1, 0x0C, 0x1C, 0x03, 0x1C, 0x15, 0x1C, +0x26, 0x68, 0x10, 0x3D, 0x1E, 0x60, 0x66, 0x68, +0x5E, 0x60, 0xA6, 0x68, 0x9E, 0x60, 0xE6, 0x68, +0x10, 0x34, 0xDE, 0x60, 0x10, 0x33, 0x0F, 0x2D, +0xF2, 0xD8, 0x13, 0x1C, 0x10, 0x3B, 0x1B, 0x09, +0x01, 0x33, 0x1B, 0x01, 0xC5, 0x18, 0xC9, 0x18, +0x0F, 0x23, 0x1A, 0x40, 0x03, 0x2A, 0x0F, 0xD9, +0x0E, 0x1C, 0x2C, 0x1C, 0x13, 0x1C, 0x80, 0xCE, +0x04, 0x3B, 0x80, 0xC4, 0x03, 0x2B, 0xFA, 0xD8, +0x13, 0x1F, 0x9B, 0x08, 0x01, 0x33, 0x9B, 0x00, +0x03, 0x24, 0x22, 0x40, 0xC9, 0x18, 0xED, 0x18, +0x00, 0x2A, 0x05, 0xD0, 0x00, 0x23, 0xCC, 0x5C, +0xEC, 0x54, 0x01, 0x33, 0x93, 0x42, 0xFA, 0xD1, +0xF0, 0xBD, 0xC0, 0x46, 0x70, 0xB5, 0x83, 0x07, +0x42, 0xD0, 0x00, 0x2A, 0x3F, 0xD0, 0x01, 0x3A, +0xCE, 0xB2, 0x03, 0x1C, 0x03, 0x25, 0x03, 0xE0, +0x54, 0x1E, 0x00, 0x2A, 0x37, 0xD0, 0x22, 0x1C, +0x1E, 0x70, 0x01, 0x33, 0x2B, 0x42, 0xF7, 0xD1, +0x03, 0x2A, 0x28, 0xD9, 0xFF, 0x25, 0x0D, 0x40, +0x2C, 0x02, 0x25, 0x43, 0x2C, 0x04, 0x25, 0x43, +0x0F, 0x2A, 0x13, 0xD9, 0x1C, 0x1C, 0x16, 0x1C, +0x10, 0x3E, 0x25, 0x60, 0x65, 0x60, 0xA5, 0x60, +0xE5, 0x60, 0x10, 0x34, 0x0F, 0x2E, 0xF7, 0xD8, +0x14, 0x1C, 0x10, 0x3C, 0x24, 0x09, 0x01, 0x34, +0x24, 0x01, 0x1B, 0x19, 0x0F, 0x24, 0x22, 0x40, +0x03, 0x2A, 0x0C, 0xD9, 0x1E, 0x1C, 0x14, 0x1C, +0x04, 0x3C, 0x20, 0xC6, 0x03, 0x2C, 0xFB, 0xD8, +0x14, 0x1F, 0xA4, 0x08, 0x01, 0x34, 0xA4, 0x00, +0x03, 0x25, 0x2A, 0x40, 0x1B, 0x19, 0x00, 0x2A, +0x05, 0xD0, 0xC9, 0xB2, 0x01, 0x3A, 0x19, 0x70, +0x01, 0x33, 0x00, 0x2A, 0xFA, 0xD1, 0x70, 0xBD, +0x03, 0x1C, 0xC9, 0xE7, 0x50, 0x0B, 0x00, 0x20, +0x9C, 0x12, 0x00, 0x20, 0xBC, 0x0D, 0x00, 0x20, +0xF8, 0x07, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0xBB, 0x06, 0x00, 0x20, +0xAC, 0x0C, 0x00, 0x20, 0x4E, 0x09, 0x00, 0x20, +0x00, 0x00, 0x00, 0x00, 0x2C, 0x09, 0x00, 0x20, +0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x06, 0x04, +0x03, 0x00, 0xFF, 0x01, 0x00, 0xFF, 0x00, 0x00, +0x01, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x05, +0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0B, 0x0C, +0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x11, 0x12, 0x13, +0x14, 0x15, 0x15, 0x16, 0x17, 0x18, 0x18, 0x19, +0x1A, 0x1B, 0x1B, 0x1C, 0x1D, 0x1D, 0x1E, 0x1F, +0x1F, 0x20, 0x21, 0x21, 0x22, 0x23, 0x23, 0x24, +0x24, 0x25, 0x25, 0x26, 0x27, 0x27, 0x28, 0x28, +0x29, 0x29, 0x2A, 0x2A, 0x2B, 0x2B, 0x2C, 0x2C, +0x2D, 0x2D, 0x00, 0x00, 0x78, 0x04, 0xEF, 0x08, +0x66, 0x0D, 0xDB, 0x11, 0x50, 0x16, 0xC2, 0x1A, +0x33, 0x1F, 0xA1, 0x23, 0x0C, 0x28, 0x74, 0x2C, +0xD9, 0x30, 0x39, 0x35, 0x96, 0x39, 0xEE, 0x3D, +0x42, 0x42, 0x90, 0x46, 0xD9, 0x4A, 0x1B, 0x4F, +0x58, 0x53, 0x8E, 0x57, 0xBE, 0x5B, 0xE6, 0x5F, +0x07, 0x64, 0x1F, 0x68, 0x30, 0x6C, 0x39, 0x70, +0x38, 0x74, 0x2F, 0x78, 0x1C, 0x7C, 0xFF, 0x7F, +0xD9, 0x83, 0xA8, 0x87, 0x6D, 0x8B, 0x27, 0x8F, +0xD5, 0x92, 0x79, 0x96, 0x10, 0x9A, 0x9B, 0x9D, +0x1B, 0xA1, 0x8D, 0xA4, 0xF3, 0xA7, 0x4B, 0xAB, +0x97, 0xAE, 0xD4, 0xB1, 0x04, 0xB5, 0x26, 0xB8, +0x39, 0xBB, 0x3E, 0xBE, 0x34, 0xC1, 0x1B, 0xC4, +0xF2, 0xC6, 0xBA, 0xC9, 0x73, 0xCC, 0x1B, 0xCF, +0xB3, 0xD1, 0x3B, 0xD4, 0xB2, 0xD6, 0x19, 0xD9, +0x6E, 0xDB, 0xB3, 0xDD, 0xE6, 0xDF, 0x08, 0xE2, +0x18, 0xE4, 0x16, 0xE6, 0x03, 0xE8, 0xDD, 0xE9, +0xA5, 0xEB, 0x5B, 0xED, 0xFE, 0xEE, 0x8F, 0xF0, +0x0D, 0xF2, 0x77, 0xF3, 0xCF, 0xF4, 0x14, 0xF6, +0x46, 0xF7, 0x64, 0xF8, 0x6F, 0xF9, 0x67, 0xFA, +0x4B, 0xFB, 0x1B, 0xFC, 0xD8, 0xFC, 0x81, 0xFD, +0x17, 0xFE, 0x98, 0xFE, 0x06, 0xFF, 0x5F, 0xFF, +0xA5, 0xFF, 0xD7, 0xFF, 0xF5, 0xFF, 0xFF, 0xFF, +0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, +0x28, 0x13, 0x00, 0x20, 0x05, 0xFF, 0xFF, 0xFF, +0x02, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, +0x01, 0x01, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x20, +0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0x57, 0xA9, 0xFD, 0xF5, 0x00, 0x00, 0x04, 0x24, +0x4D, 0x31, 0x48, 0x53, 0x43, 0x46, 0x32, 0x34, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0xEE, 0x48, 0x4D, 0x45, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x24, 0x12, +0x4D, 0x49, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, +0x32, 0x00, 0x00, 0x00, 0x38, 0xB5, 0x15, 0x4A, +0x15, 0x4B, 0x16, 0x4C, 0x1A, 0x60, 0x16, 0x4A, +0x16, 0x4B, 0x00, 0x25, 0x1A, 0x60, 0x16, 0x4B, +0x20, 0x1C, 0x1D, 0x70, 0x02, 0x21, 0xFF, 0xF7, +0x89, 0xFD, 0x29, 0x1C, 0x04, 0x22, 0x20, 0x68, +0xFF, 0xF7, 0xAC, 0xFE, 0x11, 0x48, 0x28, 0x21, +0xFF, 0xF7, 0x80, 0xFD, 0x10, 0x4A, 0x11, 0x4B, +0x1A, 0x60, 0x11, 0x4A, 0x11, 0x4B, 0x1A, 0x60, +0x11, 0x4A, 0x12, 0x4B, 0x1A, 0x60, 0x12, 0x4A, +0x12, 0x4B, 0x1A, 0x60, 0x12, 0x4A, 0x13, 0x4B, +0x1A, 0x60, 0x13, 0x4A, 0x13, 0x4B, 0x1A, 0x60, +0x38, 0xBD, 0xC0, 0x46, 0x75, 0x4C, 0x00, 0x00, +0xB0, 0x07, 0x00, 0x20, 0x60, 0x06, 0x00, 0x20, +0xD1, 0x3B, 0x00, 0x00, 0xAC, 0x07, 0x00, 0x20, +0xD8, 0x07, 0x00, 0x20, 0xB8, 0x0D, 0x00, 0x20, +0xA5, 0x42, 0x00, 0x00, 0x54, 0x06, 0x00, 0x20, +0xB1, 0x42, 0x00, 0x00, 0x58, 0x06, 0x00, 0x20, +0x0D, 0x43, 0x00, 0x00, 0xB8, 0x07, 0x00, 0x20, +0x4D, 0x46, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, +0x5D, 0x4A, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x20, +0x15, 0x46, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, +0xF0, 0xB5, 0xB4, 0x4B, 0x87, 0xB0, 0x1B, 0x78, +0xB3, 0x4C, 0x00, 0x2B, 0x1C, 0xD0, 0x23, 0x1C, +0xB2, 0x4A, 0x08, 0x33, 0xDB, 0x8F, 0x52, 0x68, +0x9A, 0x42, 0x02, 0xDB, 0xB0, 0x4B, 0x01, 0x22, +0x1A, 0x70, 0x23, 0x1C, 0x42, 0x33, 0x1F, 0x78, +0xAC, 0x4A, 0x23, 0x1C, 0x5E, 0x33, 0x1B, 0x78, +0x52, 0x68, 0x26, 0x8F, 0x53, 0x43, 0x9B, 0x11, +0x00, 0x93, 0xAA, 0x48, 0x36, 0x25, 0x61, 0x5F, +0x02, 0x68, 0x05, 0x23, 0x01, 0x91, 0x06, 0xE0, +0xA6, 0x4B, 0x1B, 0x68, 0x00, 0x2B, 0xE8, 0xD1, +0xA3, 0x4A, 0x13, 0x70, 0xE5, 0xE7, 0x01, 0x3B, +0xDB, 0xB2, 0x1D, 0x1C, 0x0D, 0x35, 0xED, 0x00, +0x45, 0x19, 0xAC, 0x88, 0x00, 0x2C, 0x24, 0xD0, +0x9F, 0x49, 0x24, 0xB2, 0xC9, 0x5C, 0x00, 0x29, +0x02, 0xD0, 0x49, 0xB2, 0xB9, 0x42, 0x11, 0xDC, +0x01, 0x9D, 0xAC, 0x42, 0x08, 0xDB, 0x1C, 0x1C, +0x0D, 0x34, 0x98, 0x49, 0xE4, 0x00, 0x0C, 0x19, +0x64, 0x89, 0x00, 0x9D, 0xAC, 0x42, 0x10, 0xDA, +0x1D, 0x1C, 0x0D, 0x35, 0x93, 0x49, 0xED, 0x00, +0x4D, 0x19, 0x02, 0xE0, 0x31, 0xB2, 0x8C, 0x42, +0x07, 0xDA, 0x00, 0x24, 0xAC, 0x80, 0x9D, 0x00, +0xAC, 0x46, 0x90, 0x4D, 0x61, 0x46, 0x4C, 0x51, +0x01, 0x3A, 0x00, 0x2B, 0xCF, 0xD1, 0x8E, 0x49, +0x05, 0x24, 0x0A, 0x60, 0x89, 0x4A, 0x13, 0x60, +0x01, 0x3C, 0xE4, 0xB2, 0x26, 0x1C, 0x87, 0x49, +0x0D, 0x36, 0xF6, 0x00, 0x8E, 0x19, 0x00, 0x96, +0x04, 0x22, 0xB0, 0x5E, 0x86, 0x4B, 0x84, 0x4A, +0x00, 0x28, 0x00, 0xD1, 0xB7, 0xE0, 0x11, 0x5D, +0x7F, 0x29, 0x01, 0xD0, 0x01, 0x31, 0x11, 0x55, +0x12, 0x57, 0x02, 0x2A, 0x7A, 0xDD, 0x62, 0x00, +0x9A, 0x18, 0x04, 0x26, 0x95, 0x5F, 0x22, 0x1D, +0x52, 0x00, 0x00, 0x95, 0x9B, 0x18, 0x79, 0x4E, +0x06, 0x20, 0x1F, 0x5E, 0xA5, 0x00, 0x75, 0x19, +0x01, 0x97, 0x6B, 0x68, 0x00, 0x9F, 0x01, 0x98, +0xFB, 0x1A, 0x03, 0x93, 0x23, 0x1C, 0x0E, 0x33, +0x9B, 0x00, 0x9F, 0x59, 0x05, 0x93, 0xC7, 0x1B, +0x39, 0x1C, 0x03, 0x98, 0x04, 0x97, 0xFE, 0xF7, +0x4D, 0xF9, 0x6B, 0x4B, 0x02, 0x90, 0x3E, 0x21, +0x5F, 0x5E, 0xB8, 0x42, 0x10, 0xDD, 0x03, 0x98, +0x02, 0x99, 0x78, 0x43, 0xFF, 0xF7, 0x2E, 0xFD, +0x6B, 0x68, 0x02, 0x99, 0xC3, 0x18, 0x04, 0x98, +0x00, 0x93, 0x78, 0x43, 0xFF, 0xF7, 0x26, 0xFD, +0x05, 0x9D, 0xAB, 0x59, 0xC3, 0x18, 0x01, 0x93, +0x62, 0x4E, 0xA5, 0x00, 0x75, 0x19, 0x68, 0x68, +0x00, 0x9F, 0x01, 0x9A, 0xC0, 0x1B, 0x27, 0x1C, +0x0E, 0x37, 0xBF, 0x00, 0xB9, 0x59, 0x89, 0x1A, +0xFE, 0xF7, 0x28, 0xF9, 0x58, 0x4B, 0x02, 0x90, +0x69, 0x68, 0x3C, 0x22, 0x9A, 0x5E, 0x00, 0x98, +0x02, 0x9B, 0xFE, 0xF7, 0xCF, 0xFA, 0x00, 0x90, +0x53, 0x48, 0xB9, 0x59, 0x3C, 0x22, 0x82, 0x5E, +0x02, 0x9B, 0x01, 0x98, 0xFE, 0xF7, 0xC6, 0xFA, +0x00, 0x99, 0xE3, 0x1C, 0xB8, 0x51, 0xDB, 0x00, +0x53, 0x4F, 0x00, 0x93, 0x69, 0x60, 0xD8, 0x5F, +0x23, 0x1C, 0x0D, 0x33, 0xDB, 0x00, 0xF6, 0x18, +0x04, 0x23, 0xF1, 0x5E, 0x4F, 0x4D, 0x43, 0x1A, +0x3E, 0x22, 0xAA, 0x5E, 0xDD, 0x17, 0x5B, 0x19, +0x6B, 0x40, 0xFE, 0xF7, 0xAF, 0xFA, 0x00, 0x9D, +0xB0, 0x80, 0x7F, 0x19, 0xF8, 0x88, 0x71, 0x89, +0x48, 0x4F, 0x43, 0x1A, 0xDD, 0x17, 0x5B, 0x19, +0x3E, 0x22, 0xBA, 0x5E, 0x6B, 0x40, 0xFE, 0xF7, +0xA1, 0xFA, 0x70, 0x81, 0x3F, 0x4B, 0xA0, 0x00, +0x41, 0x4A, 0x18, 0x18, 0x40, 0x68, 0x61, 0x00, +0x51, 0x18, 0x88, 0x80, 0x20, 0x1C, 0x0E, 0x30, +0x21, 0x1D, 0x80, 0x00, 0xC0, 0x58, 0x49, 0x00, +0x25, 0x1C, 0x51, 0x18, 0x0D, 0x35, 0xC8, 0x80, +0xED, 0x00, 0xE1, 0x1C, 0xC9, 0x00, 0x5D, 0x19, +0x51, 0x18, 0x28, 0x1D, 0xC0, 0xC8, 0xC0, 0xC1, +0x20, 0x1C, 0x34, 0x30, 0x80, 0x00, 0x21, 0x1C, +0x18, 0x18, 0x10, 0x31, 0x40, 0x68, 0x89, 0x00, +0x88, 0x50, 0x2F, 0x4A, 0x11, 0x57, 0x2A, 0x4A, +0x42, 0x32, 0x12, 0x78, 0x91, 0x42, 0x03, 0xDC, +0x01, 0x23, 0x5B, 0x42, 0xAB, 0x80, 0x02, 0xE0, +0x1A, 0x68, 0x01, 0x32, 0x1A, 0x60, 0x2C, 0x4B, +0x00, 0x22, 0x1A, 0x55, 0x3C, 0xE0, 0x2B, 0x4E, +0x15, 0x57, 0x37, 0x78, 0xAC, 0x46, 0xE5, 0x1C, +0xED, 0x00, 0xBC, 0x45, 0x32, 0xDD, 0x5E, 0x5F, +0x00, 0x2E, 0x31, 0xD0, 0x24, 0x4E, 0xB4, 0x46, +0x36, 0x5D, 0x77, 0x1C, 0xFF, 0xB2, 0x66, 0x46, +0x37, 0x55, 0x7F, 0xB2, 0xBC, 0x46, 0x18, 0x4F, +0x53, 0x37, 0x3F, 0x78, 0xBC, 0x45, 0x21, 0xDC, +0x00, 0x98, 0x5A, 0x19, 0x04, 0x30, 0xC0, 0xCA, +0xC0, 0xC0, 0x20, 0x1C, 0x22, 0x1C, 0x10, 0x30, +0x34, 0x32, 0x80, 0x00, 0x18, 0x58, 0x92, 0x00, +0x8A, 0x18, 0x50, 0x60, 0x60, 0x00, 0x18, 0x18, +0x04, 0x27, 0xC0, 0x5F, 0xA2, 0x00, 0x8A, 0x18, +0x50, 0x60, 0x20, 0x1D, 0x40, 0x00, 0x22, 0x1C, +0x1B, 0x18, 0x06, 0x20, 0x1B, 0x5E, 0x0E, 0x32, +0x92, 0x00, 0x53, 0x50, 0x0B, 0x68, 0x01, 0x33, +0x0B, 0x60, 0x01, 0xE0, 0x58, 0x53, 0x10, 0x55, +0x00, 0x2C, 0x00, 0xD0, 0xF8, 0xE6, 0x07, 0xB0, +0xF0, 0xBD, 0xC0, 0x46, 0x04, 0x08, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0xCC, 0x07, 0x00, 0x20, +0x93, 0x07, 0x00, 0x20, 0xD4, 0x0D, 0x00, 0x20, +0x2C, 0x0D, 0x00, 0x20, 0x8C, 0x0C, 0x00, 0x20, +0x6C, 0x0A, 0x00, 0x20, 0x36, 0x0D, 0x00, 0x20, +0x2C, 0x0B, 0x00, 0x20, 0x76, 0x0D, 0x00, 0x20, +0xF0, 0xB5, 0xBD, 0x4B, 0x9D, 0xB0, 0x1A, 0x68, +0xBC, 0x4B, 0x01, 0x2A, 0x07, 0xD1, 0xBC, 0x4A, +0x12, 0x68, 0x01, 0x2A, 0x03, 0xDD, 0xDE, 0x8C, +0x0A, 0x96, 0x1B, 0x8D, 0x02, 0xE0, 0x5E, 0x8C, +0x0A, 0x96, 0x9B, 0x8C, 0x0B, 0x93, 0x0C, 0x24, +0xA2, 0xE1, 0x15, 0x22, 0x62, 0x43, 0xB5, 0x4B, +0x52, 0x19, 0xD3, 0x56, 0x00, 0x2B, 0x00, 0xD1, +0x94, 0xE1, 0xB1, 0x4E, 0xA3, 0x00, 0xF3, 0x18, +0x58, 0x68, 0xAB, 0x00, 0xF3, 0x18, 0x5E, 0x68, +0x23, 0x1C, 0xAD, 0x4A, 0x0E, 0x33, 0x9B, 0x00, +0x9B, 0x58, 0x81, 0x1B, 0x02, 0x93, 0x2B, 0x1C, +0x0E, 0x33, 0x9B, 0x00, 0x07, 0x91, 0x9B, 0x58, +0x02, 0x99, 0x07, 0x9A, 0x05, 0x93, 0xCB, 0x1A, +0x08, 0x93, 0xD3, 0x17, 0xD2, 0x18, 0x08, 0x99, +0x5A, 0x40, 0x04, 0x92, 0xCA, 0x17, 0x89, 0x18, +0x51, 0x40, 0x2B, 0x1C, 0x01, 0x91, 0x34, 0x33, +0x9F, 0x49, 0x9B, 0x00, 0xCB, 0x18, 0x5F, 0x68, +0x23, 0x1C, 0x34, 0x33, 0x9A, 0x00, 0x1B, 0x97, +0x8A, 0x18, 0x12, 0x79, 0x7F, 0xB2, 0x51, 0xB2, +0x8F, 0x42, 0x01, 0xDD, 0x1B, 0xA9, 0x0A, 0x70, +0x97, 0x4A, 0x9B, 0x00, 0xD3, 0x18, 0x5A, 0x79, +0x01, 0x27, 0x1B, 0xAB, 0xDF, 0x57, 0x51, 0xB2, +0x8F, 0x42, 0x00, 0xDA, 0x5A, 0x70, 0x23, 0x1C, +0x34, 0x33, 0x91, 0x4F, 0x9A, 0x00, 0x06, 0x93, +0xBA, 0x18, 0x91, 0x79, 0x02, 0x23, 0x1B, 0xAA, +0xD3, 0x56, 0x9C, 0x46, 0x4B, 0xB2, 0x9C, 0x45, +0x00, 0xDD, 0x91, 0x70, 0x06, 0x99, 0x8B, 0x00, +0xFF, 0x18, 0xFA, 0x79, 0x1B, 0xAB, 0x03, 0x27, +0xDF, 0x57, 0x51, 0xB2, 0x8F, 0x42, 0x00, 0xDA, +0xDA, 0x70, 0x2A, 0x1C, 0x84, 0x4B, 0x0D, 0x32, +0xD2, 0x00, 0x15, 0x90, 0x9A, 0x18, 0x04, 0x21, +0x57, 0x5E, 0x22, 0x1C, 0x0D, 0x32, 0xD2, 0x00, +0x9B, 0x18, 0x04, 0x21, 0x5A, 0x5E, 0x78, 0x43, +0x03, 0x92, 0x03, 0x9B, 0xD2, 0x19, 0x73, 0x43, +0x11, 0x1C, 0xC0, 0x18, 0x06, 0x92, 0xFF, 0xF7, +0xC1, 0xFB, 0x17, 0x96, 0x02, 0x9E, 0x16, 0x90, +0x77, 0x43, 0x18, 0x96, 0x03, 0x98, 0x05, 0x9E, +0x06, 0x99, 0x70, 0x43, 0x38, 0x18, 0xFF, 0xF7, +0xB5, 0xFB, 0x0C, 0x22, 0x19, 0x90, 0x00, 0x21, +0x12, 0xA8, 0x1A, 0x96, 0xFF, 0xF7, 0x4E, 0xFC, +0x01, 0x26, 0x1B, 0xAB, 0x9E, 0x57, 0x00, 0x22, +0x0E, 0x96, 0x02, 0x26, 0x9E, 0x57, 0x17, 0x20, +0x0F, 0x96, 0x03, 0x26, 0x9E, 0x57, 0x10, 0x96, +0x9A, 0x56, 0x6B, 0x4B, 0x57, 0x1C, 0x42, 0x43, +0x00, 0x26, 0xD3, 0x18, 0x06, 0x96, 0x11, 0x93, +0xB3, 0xE0, 0x09, 0x9E, 0xF6, 0x01, 0x0C, 0x96, +0x0F, 0x9E, 0xA3, 0xE0, 0x11, 0x98, 0x06, 0x99, +0x43, 0x18, 0x9B, 0x19, 0xDB, 0x7D, 0x05, 0x93, +0x01, 0x3B, 0x0C, 0x2B, 0x41, 0xDD, 0x00, 0x20, +0x01, 0x21, 0x49, 0x42, 0x84, 0x46, 0x04, 0x23, +0x00, 0x96, 0x01, 0x3B, 0x5D, 0x4A, 0xDB, 0xB2, +0xD2, 0x56, 0x5D, 0x4E, 0x03, 0x92, 0xF6, 0x56, +0x09, 0x9A, 0x92, 0x19, 0x01, 0x32, 0x17, 0x26, +0x56, 0x43, 0x57, 0x4A, 0x92, 0x19, 0x02, 0x9E, +0x96, 0x19, 0x03, 0x9A, 0x0D, 0x96, 0xB2, 0x18, +0x03, 0x92, 0x52, 0x78, 0x01, 0x3A, 0x0C, 0x2A, +0x0E, 0xD8, 0xAA, 0x42, 0x01, 0xD0, 0xA2, 0x42, +0x04, 0xD1, 0x4E, 0x1C, 0x04, 0xD0, 0x91, 0x42, +0x04, 0xD1, 0x05, 0xE0, 0x01, 0x20, 0x03, 0xE0, +0x11, 0x1C, 0x01, 0xE0, 0x01, 0x22, 0x94, 0x46, +0x00, 0x2B, 0xD6, 0xD1, 0x00, 0x9E, 0x01, 0x31, +0x68, 0xD0, 0x32, 0x01, 0xD2, 0x19, 0x49, 0x4B, +0x52, 0x00, 0x00, 0x28, 0x13, 0xD0, 0x60, 0x46, +0x00, 0x28, 0x10, 0xD1, 0x05, 0x99, 0x98, 0x5A, +0x0E, 0x39, 0xFF, 0xF7, 0x4B, 0xFB, 0x05, 0x90, +0x0B, 0xE0, 0x59, 0x1C, 0x56, 0xD0, 0xAB, 0x42, +0x01, 0xD0, 0xA3, 0x42, 0x52, 0xD1, 0x32, 0x01, +0xD2, 0x19, 0x3E, 0x4B, 0x52, 0x00, 0xD3, 0x5A, +0x05, 0x93, 0x05, 0x9A, 0x00, 0x2A, 0x49, 0xD0, +0x02, 0x9B, 0x03, 0x20, 0xDB, 0x01, 0x0D, 0x93, +0x02, 0x90, 0x02, 0x9B, 0x04, 0x9A, 0x01, 0x3B, +0xDB, 0xB2, 0x99, 0x00, 0x02, 0x93, 0x01, 0x9B, +0x03, 0x91, 0x9A, 0x42, 0x0F, 0xDD, 0x18, 0xAA, +0x50, 0x58, 0x0D, 0x9B, 0x08, 0x99, 0xC0, 0x1A, +0x48, 0x43, 0x07, 0x99, 0xFF, 0xF7, 0x22, 0xFB, +0x03, 0x99, 0x15, 0xAA, 0x53, 0x58, 0x0C, 0x9A, +0xC0, 0x18, 0x80, 0x1A, 0x0F, 0xE0, 0x03, 0x99, +0x15, 0xAB, 0x58, 0x58, 0x0C, 0x9A, 0x07, 0x9B, +0x80, 0x1A, 0x58, 0x43, 0x08, 0x99, 0xFF, 0xF7, +0x11, 0xFB, 0x03, 0x9A, 0x18, 0xA9, 0x8B, 0x58, +0xC0, 0x18, 0x0D, 0x9B, 0xC0, 0x1A, 0xC1, 0x17, +0x40, 0x18, 0x48, 0x40, 0x7F, 0x28, 0x12, 0xDC, +0x02, 0x9A, 0x80, 0x21, 0x93, 0x00, 0x0A, 0x1A, +0x05, 0x98, 0x48, 0x21, 0x42, 0x43, 0xD2, 0x11, +0xC9, 0x18, 0x03, 0x92, 0x6A, 0x46, 0x88, 0x58, +0x03, 0x99, 0x84, 0x46, 0x0A, 0x1C, 0x62, 0x44, +0x48, 0x33, 0x68, 0x46, 0x1A, 0x50, 0x02, 0x99, +0x00, 0x29, 0xBA, 0xD1, 0x01, 0x36, 0x10, 0x9B, +0x72, 0x1E, 0x02, 0x92, 0x9A, 0x42, 0x00, 0xDC, +0x54, 0xE7, 0x06, 0x9E, 0x01, 0x37, 0x17, 0x36, +0x06, 0x96, 0x0E, 0x98, 0x7E, 0x1E, 0x09, 0x96, +0x86, 0x42, 0x00, 0xDC, 0x45, 0xE7, 0x14, 0x9B, +0x12, 0x9E, 0x9E, 0x42, 0x00, 0xDD, 0x1E, 0x1C, +0x04, 0x99, 0x01, 0x9A, 0x91, 0x42, 0x13, 0xDC, +0x13, 0x1E, 0x1F, 0xD0, 0x14, 0xE0, 0xC0, 0x46, +0x6C, 0x0A, 0x00, 0x20, 0x34, 0x0D, 0x00, 0x20, +0x08, 0x08, 0x00, 0x20, 0x90, 0x0B, 0x00, 0x20, +0x18, 0x11, 0x00, 0x20, 0x75, 0x36, 0x00, 0x00, +0x71, 0x36, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, +0x04, 0x9B, 0x01, 0x98, 0x01, 0x93, 0x04, 0x90, +0x04, 0x99, 0x88, 0x01, 0x01, 0x99, 0xFF, 0xF7, +0xB9, 0xFA, 0x3F, 0x28, 0x00, 0xDD, 0x3F, 0x20, +0x35, 0x4B, 0x1B, 0x5C, 0x2D, 0x21, 0x0A, 0x9A, +0xC8, 0x1A, 0x50, 0x43, 0x0B, 0x9A, 0x53, 0x43, +0xC0, 0x18, 0xFF, 0xF7, 0xAB, 0xFA, 0x46, 0x43, +0x13, 0x9B, 0xB6, 0x12, 0xB3, 0x42, 0x09, 0xDD, +0xA5, 0x42, 0x02, 0xDA, 0x23, 0x1C, 0x2C, 0x1C, +0x1D, 0x1C, 0x20, 0x1C, 0x29, 0x1C, 0x1B, 0xAA, +0xFD, 0xF7, 0x3A, 0xFD, 0x01, 0x35, 0x0D, 0x2D, +0x00, 0xD0, 0x5E, 0xE6, 0x00, 0x2C, 0x02, 0xD0, +0x25, 0x1C, 0x01, 0x3C, 0x59, 0xE6, 0x25, 0x4E, +0x01, 0x21, 0x34, 0x60, 0x24, 0x48, 0x6C, 0x36, +0x49, 0x42, 0x2A, 0x1C, 0xFF, 0xF7, 0x2A, 0xFB, +0x27, 0x1C, 0x01, 0x96, 0x04, 0x94, 0x26, 0x1C, +0x1E, 0x4C, 0x01, 0x98, 0xFB, 0xB2, 0x00, 0x22, +0x82, 0x5E, 0x00, 0x2A, 0x29, 0xDD, 0x22, 0x68, +0x1B, 0x49, 0x01, 0x32, 0x22, 0x60, 0xCE, 0x55, +0x9E, 0x42, 0x20, 0xD0, 0x04, 0x9A, 0xB3, 0x00, +0x15, 0x19, 0x6A, 0x68, 0xE3, 0x18, 0x30, 0x1C, +0x5A, 0x60, 0x0D, 0x30, 0x33, 0x1C, 0xAA, 0x6B, +0x0E, 0x33, 0xC0, 0x00, 0x9B, 0x00, 0x20, 0x18, +0x1A, 0x51, 0x01, 0x99, 0x08, 0x22, 0x04, 0x30, +0xFF, 0xF7, 0xC6, 0xFA, 0x30, 0x1C, 0x34, 0x30, +0x80, 0x00, 0x20, 0x18, 0x29, 0x1C, 0x04, 0x30, +0xD4, 0x31, 0x04, 0x22, 0xFF, 0xF7, 0xBC, 0xFA, +0x01, 0x98, 0x00, 0x23, 0x03, 0x80, 0x01, 0x36, +0xF6, 0xB2, 0x01, 0x99, 0x04, 0x9A, 0x08, 0x31, +0x04, 0x32, 0x01, 0x37, 0x01, 0x91, 0x04, 0x92, +0x0D, 0x2F, 0xC6, 0xD1, 0x1D, 0xB0, 0xF0, 0xBD, +0x79, 0x36, 0x00, 0x00, 0x08, 0x08, 0x00, 0x20, +0x18, 0x09, 0x00, 0x20, 0xF0, 0xB5, 0x3B, 0x4B, +0x85, 0xB0, 0x1B, 0x69, 0xDA, 0x00, 0xD3, 0x1A, +0x9B, 0x11, 0x02, 0x93, 0x03, 0x2B, 0x01, 0xDA, +0x03, 0x26, 0x02, 0x96, 0x36, 0x4A, 0x37, 0x4B, +0x30, 0x32, 0x12, 0x78, 0x1C, 0x7B, 0x01, 0x92, +0xDB, 0x7A, 0x25, 0x1C, 0x9B, 0x01, 0x03, 0x93, +0x33, 0x4F, 0x09, 0xE0, 0x01, 0x3D, 0xED, 0xB2, +0x6E, 0x00, 0xF0, 0x5B, 0x01, 0x9B, 0x03, 0x99, +0x58, 0x43, 0xFF, 0xF7, 0x23, 0xFA, 0xF0, 0x53, +0x00, 0x2D, 0xF3, 0xD1, 0x2B, 0x4B, 0xA6, 0x01, +0xDD, 0x7A, 0x29, 0x4B, 0x2B, 0x4F, 0x31, 0x33, +0x1B, 0x78, 0x03, 0x96, 0x01, 0x93, 0x09, 0xE0, +0x01, 0x3D, 0xED, 0xB2, 0x6E, 0x00, 0xF0, 0x5B, +0x01, 0x9B, 0x03, 0x99, 0x58, 0x43, 0xFF, 0xF7, +0x0D, 0xFA, 0xF0, 0x53, 0x00, 0x2D, 0xF3, 0xD1, +0x1E, 0x4B, 0x99, 0x69, 0x30, 0xE0, 0x1F, 0x4E, +0x50, 0x1C, 0x15, 0x24, 0x47, 0x00, 0xF3, 0x7A, +0x54, 0x43, 0x01, 0x97, 0x94, 0x46, 0x24, 0xE0, +0x01, 0x3B, 0xDB, 0xB2, 0x5A, 0x1C, 0x12, 0x01, +0x12, 0x18, 0x1B, 0x4E, 0x52, 0x00, 0x92, 0x5B, +0x02, 0x9F, 0xBA, 0x42, 0x00, 0xDD, 0x01, 0x31, +0x18, 0x4E, 0xE2, 0x18, 0x52, 0x00, 0x92, 0x5F, +0x66, 0x46, 0x77, 0x00, 0x12, 0x4E, 0xBE, 0x5B, +0x12, 0x4F, 0x96, 0x1B, 0x5A, 0x00, 0xD2, 0x5B, +0xB6, 0x1A, 0xF2, 0x43, 0xD2, 0x17, 0x16, 0x40, +0xB5, 0x42, 0x00, 0xDA, 0x35, 0x1C, 0x10, 0x4F, +0x5A, 0x01, 0xD2, 0x19, 0x01, 0x9F, 0xB6, 0xB2, +0xBE, 0x52, 0x00, 0x2B, 0xD8, 0xD1, 0x64, 0x46, +0x62, 0x1E, 0xD2, 0xB2, 0x00, 0x2C, 0xCA, 0xD1, +0x02, 0x4B, 0x05, 0xB0, 0x9D, 0x60, 0x99, 0x61, +0xF0, 0xBD, 0xC0, 0x46, 0xF4, 0x06, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0x50, 0x0B, 0x00, 0x20, +0x50, 0x0A, 0x00, 0x20, 0xC0, 0x0A, 0x00, 0x20, +0x00, 0x04, 0x00, 0x40, 0xE0, 0x0E, 0x00, 0x20, +0x20, 0x08, 0x00, 0x40, 0xF7, 0xB5, 0x62, 0x4B, +0x62, 0x4A, 0x59, 0x68, 0x12, 0x78, 0x0B, 0x78, +0x00, 0x2A, 0x01, 0xD0, 0x60, 0x4A, 0x00, 0xE0, +0x60, 0x4A, 0x61, 0x4C, 0x61, 0x48, 0x26, 0x69, +0x07, 0x1C, 0x02, 0x2B, 0x0C, 0xD1, 0x68, 0x37, +0x00, 0x25, 0x7F, 0x5F, 0x00, 0x25, 0x01, 0x95, +0xBE, 0x42, 0x1E, 0xDB, 0x6A, 0x27, 0x3D, 0x5E, +0x6C, 0x30, 0xAE, 0x42, 0x0C, 0xDD, 0x18, 0xE0, +0x60, 0x37, 0x00, 0x25, 0x7F, 0x5F, 0x00, 0x25, +0x01, 0x95, 0xBE, 0x42, 0x11, 0xDB, 0x62, 0x27, +0x3D, 0x5E, 0xAE, 0x42, 0x0D, 0xDC, 0x64, 0x30, +0x00, 0x25, 0x40, 0x5F, 0xA4, 0x69, 0x84, 0x42, +0x07, 0xDC, 0x51, 0x48, 0x72, 0x30, 0x04, 0x88, +0x01, 0x20, 0xB4, 0x42, 0x00, 0xDB, 0x00, 0x20, +0x01, 0x90, 0x6F, 0x46, 0x38, 0x79, 0x00, 0x28, +0x15, 0xD0, 0x01, 0x2B, 0x02, 0xD9, 0x02, 0x2B, +0x3F, 0xD1, 0x0D, 0xE0, 0x48, 0x78, 0x47, 0x4B, +0x01, 0x30, 0xC0, 0xB2, 0x48, 0x70, 0x66, 0x24, +0x1C, 0x57, 0x01, 0x23, 0xA0, 0x42, 0x34, 0xDD, +0x00, 0x23, 0x4B, 0x70, 0x02, 0x23, 0x30, 0xE0, +0x00, 0x20, 0x48, 0x70, 0x2D, 0xE0, 0x02, 0x2B, +0x29, 0xD1, 0x3E, 0x48, 0x3C, 0x4D, 0x04, 0x1C, +0x6C, 0x34, 0x00, 0x27, 0xE6, 0x5F, 0xAF, 0x69, +0x05, 0x36, 0x4C, 0x78, 0xB7, 0x42, 0x01, 0xDD, +0x0A, 0x34, 0x00, 0xE0, 0x01, 0x34, 0x4C, 0x70, +0x04, 0x1C, 0x70, 0x34, 0x00, 0x27, 0xE6, 0x5F, +0x6F, 0x69, 0x01, 0x24, 0xB7, 0x42, 0x0D, 0xDC, +0x06, 0x1C, 0x72, 0x36, 0x00, 0x27, 0xF6, 0x5F, +0x2D, 0x69, 0xB5, 0x42, 0x06, 0xDC, 0x6E, 0x30, +0x00, 0x78, 0x4D, 0x78, 0x40, 0xB2, 0x85, 0x42, +0x00, 0xDC, 0x00, 0x24, 0x00, 0x2C, 0x04, 0xD0, +0x00, 0x23, 0x4B, 0x70, 0x01, 0xE0, 0x48, 0x70, +0x03, 0x1C, 0x23, 0x49, 0x49, 0x68, 0x08, 0x78, +0x98, 0x42, 0x24, 0xD0, 0x0B, 0x70, 0x00, 0x2B, +0x02, 0xD0, 0x02, 0x2B, 0x1F, 0xD1, 0x0A, 0xE0, +0xD0, 0x8E, 0x22, 0x4B, 0xD8, 0x86, 0x10, 0x8F, +0x18, 0x87, 0x90, 0x8F, 0x98, 0x87, 0x50, 0x7D, +0x58, 0x75, 0xD2, 0x8A, 0x12, 0xE0, 0x10, 0x1C, +0x74, 0x30, 0x00, 0x88, 0x1B, 0x4B, 0xD8, 0x86, +0x10, 0x1C, 0x76, 0x30, 0x00, 0x88, 0x18, 0x87, +0x10, 0x1C, 0x78, 0x30, 0x00, 0x88, 0x98, 0x87, +0x10, 0x1C, 0x7A, 0x30, 0x00, 0x78, 0x7C, 0x32, +0x58, 0x75, 0x12, 0x88, 0xDA, 0x82, 0x15, 0x4B, +0x15, 0x48, 0x1A, 0x78, 0x02, 0x70, 0x13, 0x1C, +0x0A, 0x78, 0x02, 0x2A, 0x12, 0xD0, 0x5B, 0xB2, +0x01, 0x2B, 0x0F, 0xDD, 0x02, 0x2B, 0x01, 0xD1, +0x09, 0x4B, 0x00, 0xE0, 0x09, 0x4B, 0x0B, 0x4A, +0x18, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x11, 0x1C, +0x66, 0x31, 0x08, 0x70, 0x59, 0x7D, 0x51, 0x75, +0xDB, 0x8A, 0xD3, 0x82, 0xF7, 0xBD, 0xC0, 0x46, +0x5C, 0x06, 0x00, 0x20, 0xD0, 0x06, 0x00, 0x20, +0xAC, 0x0C, 0x00, 0x20, 0x9C, 0x12, 0x00, 0x20, +0xF4, 0x06, 0x00, 0x20, 0x34, 0x0D, 0x00, 0x20, +0xD4, 0x0D, 0x00, 0x20, 0x68, 0x0A, 0x00, 0x20, +0x4A, 0x0A, 0x00, 0x20, 0x01, 0x4B, 0x0D, 0x22, +0x1A, 0x70, 0x70, 0x47, 0x20, 0x13, 0x00, 0x20, +0x30, 0xB5, 0x80, 0x24, 0xE4, 0x05, 0x08, 0x23, +0x65, 0x69, 0x1D, 0x42, 0xFC, 0xD0, 0x10, 0x4B, +0x00, 0x24, 0x1B, 0x68, 0x9C, 0x70, 0xDC, 0x70, +0x01, 0x28, 0x02, 0xD0, 0x04, 0x28, 0x0D, 0xD1, +0x05, 0xE0, 0x0F, 0x20, 0x18, 0x70, 0x5C, 0x70, +0x99, 0x70, 0xDA, 0x70, 0x06, 0xE0, 0x0E, 0x22, +0x1A, 0x70, 0x08, 0x4A, 0x02, 0x21, 0x12, 0x78, +0x8A, 0x1A, 0x5A, 0x70, 0x06, 0x4B, 0x01, 0x22, +0x1A, 0x70, 0x80, 0x23, 0xDB, 0x05, 0x5A, 0x69, +0x08, 0x21, 0x8A, 0x43, 0x5A, 0x61, 0x30, 0xBD, +0xB8, 0x0D, 0x00, 0x20, 0xD0, 0x06, 0x00, 0x20, +0xB4, 0x0D, 0x00, 0x20, 0xF0, 0xB5, 0x80, 0x22, +0x8D, 0xB0, 0xD2, 0x05, 0x08, 0x23, 0x51, 0x69, +0x19, 0x42, 0xFC, 0xD0, 0x00, 0x24, 0x02, 0x94, +0x03, 0x94, 0x01, 0x27, 0x26, 0x1C, 0xB0, 0x48, +0x03, 0x9C, 0x25, 0x18, 0x04, 0x21, 0x6B, 0x5E, +0x0A, 0xA8, 0x0A, 0x93, 0x0E, 0x22, 0xAB, 0x5E, +0x0B, 0x93, 0xFD, 0xF7, 0x81, 0xFE, 0xAB, 0x4B, +0x5B, 0x79, 0x5B, 0xB2, 0x01, 0x2B, 0x07, 0xD1, +0xA9, 0x4A, 0x0A, 0x9B, 0x14, 0x24, 0x11, 0x5F, +0x0B, 0x9A, 0x8A, 0x1A, 0x0A, 0x92, 0x16, 0xE0, +0x02, 0x2B, 0x08, 0xD1, 0xA4, 0x4A, 0x0B, 0x9B, +0x16, 0x20, 0x11, 0x5E, 0x0A, 0x9A, 0x0A, 0x93, +0x8A, 0x1A, 0x0B, 0x92, 0x0C, 0xE0, 0x03, 0x2B, +0x0A, 0xD1, 0x9F, 0x4B, 0x16, 0x22, 0x99, 0x5E, +0x0A, 0x9A, 0x8A, 0x1A, 0x0A, 0x92, 0x14, 0x24, +0x1A, 0x5F, 0x0B, 0x9B, 0xD3, 0x1A, 0x0B, 0x93, +0x9A, 0x4C, 0xFB, 0x00, 0x1B, 0x19, 0x04, 0x93, +0x64, 0x33, 0x06, 0x93, 0x00, 0x20, 0x1B, 0x5E, +0x00, 0x2B, 0x00, 0xDC, 0xD9, 0xE0, 0x02, 0x99, +0x08, 0xA8, 0x0C, 0x19, 0x63, 0x68, 0x08, 0x93, +0xA3, 0x6B, 0x09, 0x93, 0xFD, 0xF7, 0x48, 0xFE, +0x8E, 0x4B, 0x5B, 0x79, 0x5B, 0xB2, 0x01, 0x2B, +0x07, 0xD1, 0x8D, 0x4A, 0x08, 0x9B, 0x14, 0x20, +0x11, 0x5E, 0x09, 0x9A, 0x8A, 0x1A, 0x08, 0x92, +0x16, 0xE0, 0x02, 0x2B, 0x08, 0xD1, 0x88, 0x4A, +0x09, 0x9B, 0x16, 0x20, 0x11, 0x5E, 0x08, 0x9A, +0x08, 0x93, 0x8A, 0x1A, 0x09, 0x92, 0x0C, 0xE0, +0x03, 0x2B, 0x0A, 0xD1, 0x82, 0x4B, 0x16, 0x22, +0x99, 0x5E, 0x08, 0x9A, 0x8A, 0x1A, 0x08, 0x92, +0x14, 0x20, 0x1A, 0x5E, 0x09, 0x9B, 0xD3, 0x1A, +0x09, 0x93, 0x0B, 0x9B, 0x0A, 0x9A, 0x00, 0x93, +0x7D, 0x4B, 0x08, 0x99, 0xFB, 0x18, 0x01, 0x3B, +0x18, 0x78, 0x05, 0x92, 0x07, 0x93, 0x01, 0x91, +0x09, 0x9A, 0x01, 0x23, 0x00, 0x28, 0x02, 0xD1, +0x78, 0x4B, 0x44, 0x33, 0x1B, 0x78, 0x18, 0x20, +0x29, 0x5E, 0x00, 0x29, 0x0F, 0xDD, 0x00, 0x99, +0x50, 0x1A, 0xC1, 0x17, 0x40, 0x18, 0x48, 0x40, +0x98, 0x42, 0x08, 0xDA, 0x05, 0x99, 0x01, 0x98, +0x40, 0x1A, 0xC1, 0x17, 0x40, 0x18, 0x48, 0x40, +0x98, 0x42, 0x00, 0xDA, 0xA9, 0xE0, 0x6E, 0x48, +0xF3, 0x00, 0x00, 0x68, 0x60, 0x21, 0xC3, 0x18, +0x6C, 0x48, 0x49, 0x42, 0x00, 0x78, 0xDA, 0x70, +0x00, 0x01, 0x08, 0x43, 0x38, 0x43, 0x18, 0x70, +0x01, 0x98, 0x00, 0x12, 0x84, 0x46, 0x61, 0x46, +0x0F, 0x20, 0x01, 0x40, 0x05, 0x91, 0x11, 0x11, +0x81, 0x43, 0x08, 0x1C, 0x05, 0x99, 0x04, 0x9A, +0x08, 0x43, 0x58, 0x70, 0x68, 0x46, 0x00, 0x79, +0x6A, 0x32, 0x98, 0x70, 0x12, 0x88, 0x06, 0x99, +0x1A, 0x71, 0x0A, 0x88, 0x11, 0xB2, 0xFF, 0x29, +0x00, 0xDD, 0xFF, 0x22, 0x5A, 0x71, 0x56, 0x4A, +0x12, 0x7E, 0x06, 0x92, 0x00, 0x2A, 0x1C, 0xD0, +0x22, 0x1C, 0xD7, 0x32, 0x12, 0x78, 0x10, 0x20, +0x04, 0x92, 0x22, 0x1C, 0xD6, 0x32, 0x11, 0x78, +0x6A, 0x46, 0x82, 0x56, 0x48, 0xB2, 0x12, 0x1A, +0x94, 0x46, 0x60, 0x46, 0x00, 0x22, 0x90, 0x42, +0x03, 0xDB, 0x04, 0x98, 0x01, 0x30, 0x40, 0x1A, +0xC2, 0xB2, 0x9A, 0x71, 0x22, 0x1C, 0xD5, 0x32, +0x12, 0x78, 0x04, 0x92, 0x22, 0x1C, 0xD4, 0x32, +0x1D, 0xE0, 0x22, 0x1C, 0xD5, 0x32, 0x20, 0x1C, +0x12, 0x78, 0xD4, 0x30, 0x00, 0x78, 0x51, 0xB2, +0x8C, 0x46, 0x04, 0x90, 0x10, 0x21, 0x68, 0x46, +0x08, 0x56, 0x61, 0x46, 0x09, 0x1A, 0x8C, 0x46, +0x60, 0x46, 0x06, 0x99, 0x00, 0x28, 0x03, 0xDB, +0x04, 0x98, 0x01, 0x32, 0x11, 0x1A, 0xC9, 0xB2, +0x22, 0x1C, 0x99, 0x71, 0xD7, 0x32, 0x12, 0x78, +0x04, 0x92, 0x22, 0x1C, 0xD6, 0x32, 0x11, 0x78, +0x10, 0x20, 0x6A, 0x46, 0x82, 0x56, 0x48, 0xB2, +0x12, 0x1A, 0x94, 0x46, 0x60, 0x46, 0x00, 0x22, +0x90, 0x42, 0x03, 0xDB, 0x04, 0x98, 0x01, 0x30, +0x40, 0x1A, 0xC2, 0xB2, 0xDA, 0x71, 0x18, 0x21, +0x6B, 0x5E, 0x01, 0x36, 0xDA, 0x17, 0xD3, 0x1A, +0x07, 0x9A, 0xDB, 0x0F, 0x13, 0x70, 0x63, 0x68, +0xF6, 0xB2, 0xAB, 0x80, 0xA3, 0x6B, 0xEB, 0x81, +0x23, 0xE0, 0x18, 0x24, 0x2B, 0x5F, 0x00, 0x2B, +0x1F, 0xDD, 0x29, 0x4A, 0xF3, 0x00, 0x12, 0x68, +0x20, 0x21, 0xD3, 0x18, 0x28, 0x4A, 0x0F, 0x20, +0x12, 0x78, 0x01, 0x36, 0x12, 0x01, 0x0A, 0x43, +0x3A, 0x43, 0x1A, 0x70, 0x0A, 0x99, 0x0B, 0x9A, +0x0C, 0x12, 0x04, 0x40, 0x04, 0x94, 0x14, 0x11, +0x84, 0x43, 0x20, 0x1C, 0x04, 0x9C, 0xDA, 0x70, +0x04, 0x43, 0x00, 0x22, 0x5C, 0x70, 0x99, 0x70, +0x1A, 0x71, 0x5A, 0x71, 0x9A, 0x71, 0xDA, 0x71, +0xF6, 0xB2, 0x03, 0x9C, 0x15, 0x4B, 0xA2, 0x00, +0x02, 0x34, 0x03, 0x94, 0x02, 0x9C, 0xD2, 0x18, +0x04, 0x34, 0x6C, 0x32, 0x12, 0x88, 0x02, 0x94, +0x03, 0x9C, 0x2A, 0x83, 0x01, 0x37, 0x0A, 0x2C, +0x00, 0xD0, 0xB4, 0xE6, 0x1B, 0x68, 0x0A, 0x4A, +0x13, 0x60, 0x10, 0x4A, 0x11, 0x78, 0x10, 0x4A, +0x11, 0x70, 0x10, 0x4A, 0x13, 0x70, 0x00, 0x2E, +0x07, 0xD0, 0x0F, 0x4B, 0x08, 0x21, 0x1E, 0x70, +0x80, 0x23, 0xDB, 0x05, 0x5A, 0x69, 0x8A, 0x43, +0x5A, 0x61, 0x0D, 0xB0, 0xF0, 0xBD, 0xC0, 0x46, +0x18, 0x07, 0x00, 0x20, 0xD8, 0x07, 0x00, 0x20, +0x50, 0x0B, 0x00, 0x20, 0xD4, 0x0D, 0x00, 0x20, +0x8C, 0x07, 0x00, 0x20, 0x34, 0x0D, 0x00, 0x20, +0xB8, 0x0D, 0x00, 0x20, 0x93, 0x07, 0x00, 0x20, +0x94, 0x07, 0x00, 0x20, 0x95, 0x07, 0x00, 0x20, +0xB4, 0x0D, 0x00, 0x20, 0x00, 0xB5, 0x0A, 0x4B, +0x0A, 0x4A, 0x1B, 0x68, 0x12, 0x78, 0xDB, 0xB2, +0x00, 0x2A, 0x02, 0xD1, 0x08, 0x4A, 0x12, 0x21, +0x11, 0x70, 0x10, 0x2B, 0x01, 0xD0, 0xAF, 0x2B, +0x05, 0xD1, 0x80, 0x23, 0xDB, 0x05, 0x5A, 0x69, +0x08, 0x21, 0x0A, 0x43, 0x5A, 0x61, 0x00, 0xBD, +0x20, 0x06, 0x00, 0x20, 0xB3, 0x06, 0x00, 0x20, +0x10, 0x00, 0x00, 0x50, 0x7F, 0xB5, 0xAD, 0x4A, +0xAD, 0x49, 0x12, 0x68, 0x0B, 0x78, 0x92, 0xB2, +0x34, 0x2A, 0x4E, 0xD0, 0x0E, 0xD8, 0x31, 0x2A, +0x3E, 0xD0, 0x05, 0xD8, 0x01, 0x2A, 0x1D, 0xD0, +0x30, 0x2A, 0x00, 0xD0, 0xE0, 0xE1, 0x24, 0xE0, +0x32, 0x2A, 0x3A, 0xD0, 0x33, 0x2A, 0x00, 0xD0, +0xDA, 0xE1, 0x3C, 0xE0, 0xA1, 0x2A, 0x00, 0xD1, +0x33, 0xE1, 0x05, 0xD8, 0x35, 0x2A, 0x33, 0xD0, +0xA0, 0x2A, 0x00, 0xD0, 0xD0, 0xE1, 0x38, 0xE0, +0xA4, 0x2A, 0x00, 0xD1, 0xB3, 0xE1, 0xB0, 0x2A, +0x00, 0xD1, 0xB7, 0xE1, 0xA3, 0x2A, 0x00, 0xD0, +0xC6, 0xE1, 0x73, 0xE1, 0x13, 0x42, 0x01, 0xD0, +0x98, 0x4B, 0x04, 0xE0, 0x1B, 0x07, 0x5B, 0x0F, +0x00, 0xD0, 0xBD, 0xE1, 0x96, 0x4B, 0x1A, 0x70, +0xBA, 0xE1, 0x01, 0x2B, 0x02, 0xD0, 0x02, 0x2B, +0x0B, 0xD1, 0x05, 0xE0, 0x93, 0x4A, 0x12, 0x78, +0x00, 0x2A, 0x00, 0xD0, 0xB0, 0xE1, 0x04, 0xE0, +0x90, 0x4A, 0x12, 0x78, 0x00, 0x2A, 0x00, 0xD1, +0xAA, 0xE1, 0xDB, 0xB2, 0x8E, 0x4A, 0x02, 0xE0, +0x5A, 0x42, 0x53, 0x41, 0x8D, 0x4A, 0x13, 0x70, +0xA2, 0xE1, 0xDB, 0xB2, 0x8C, 0x4A, 0xFA, 0xE7, +0x8C, 0x4A, 0x53, 0x71, 0x9C, 0xE1, 0x0E, 0x22, +0x4D, 0xE0, 0x8B, 0x4A, 0x03, 0x32, 0xD3, 0x77, +0x96, 0xE1, 0x4C, 0x78, 0x8A, 0x78, 0x23, 0x2B, +0x4B, 0xD0, 0x0E, 0xD8, 0x02, 0x2B, 0x26, 0xD0, +0x05, 0xD8, 0x00, 0x2B, 0x18, 0xD0, 0x01, 0x2B, +0x00, 0xD0, 0x96, 0xE0, 0x19, 0xE0, 0x03, 0x2B, +0x26, 0xD0, 0x22, 0x2B, 0x00, 0xD0, 0x90, 0xE0, +0x2E, 0xE0, 0x70, 0x2B, 0x64, 0xD0, 0x05, 0xD8, +0x36, 0x2B, 0x5F, 0xD0, 0x40, 0x2B, 0x00, 0xD0, +0x87, 0xE0, 0x7A, 0xE0, 0x72, 0x2B, 0x61, 0xD0, +0x80, 0x2B, 0x00, 0xD0, 0x81, 0xE0, 0x6E, 0xE0, +0x78, 0x4B, 0x08, 0x22, 0x1A, 0x70, 0x78, 0x4A, +0x02, 0xE0, 0x76, 0x4A, 0x13, 0x70, 0x77, 0x4A, +0x77, 0x4B, 0x1A, 0x60, 0x68, 0xE1, 0x73, 0x4B, +0x04, 0x22, 0x1A, 0x70, 0x75, 0x4B, 0x76, 0x4A, +0x1B, 0x68, 0x12, 0x68, 0xD2, 0x18, 0x07, 0xE0, +0x6E, 0x4B, 0x02, 0x22, 0x1A, 0x70, 0x73, 0x4B, +0xDA, 0x78, 0x9B, 0x78, 0x12, 0x02, 0x1A, 0x43, +0x71, 0x4B, 0x1A, 0x60, 0x6C, 0x4A, 0x3F, 0xE1, +0x01, 0x2C, 0x03, 0xD0, 0x80, 0x2C, 0x00, 0xD0, +0x4E, 0xE1, 0x02, 0xE0, 0xD2, 0xB2, 0x6D, 0x4B, +0x8D, 0xE7, 0x54, 0x42, 0x62, 0x41, 0x6C, 0x4B, +0x89, 0xE7, 0x63, 0x1E, 0x0A, 0x2B, 0x00, 0xD9, +0x42, 0xE1, 0x01, 0xAD, 0x00, 0x21, 0x0C, 0x22, +0x28, 0x1C, 0xFE, 0xF7, 0xFB, 0xFE, 0x67, 0x4B, +0x01, 0x21, 0x1A, 0x78, 0x6A, 0x70, 0x5A, 0x78, +0xAA, 0x70, 0x9A, 0x78, 0xEA, 0x70, 0xDA, 0x78, +0x2A, 0x71, 0x1A, 0x79, 0x6A, 0x71, 0x5A, 0x79, +0xAA, 0x71, 0x9A, 0x79, 0xEA, 0x71, 0xDB, 0x79, +0x2B, 0x72, 0x5F, 0x4B, 0x1A, 0x68, 0x6A, 0x72, +0x5A, 0x68, 0x9B, 0x68, 0xAA, 0x72, 0xEB, 0x72, +0x2A, 0x5D, 0x57, 0x4B, 0x1A, 0x60, 0x4F, 0x4A, +0x11, 0x70, 0xC7, 0xE7, 0xD2, 0xB2, 0x26, 0xE0, +0x4C, 0x4B, 0xFF, 0x2C, 0x4D, 0xD1, 0x4A, 0x49, +0xC9, 0x7A, 0x45, 0xE0, 0x49, 0x4B, 0xFF, 0x2C, +0x06, 0xD1, 0x47, 0x49, 0x00, 0x24, 0xC9, 0x7A, +0x89, 0x00, 0xC9, 0xB2, 0x19, 0x70, 0x01, 0xE0, +0x04, 0x21, 0x19, 0x70, 0x52, 0x01, 0xA4, 0x18, +0xA4, 0x00, 0x4E, 0x4B, 0x4F, 0xE0, 0x1F, 0x2C, +0x00, 0xD9, 0x01, 0xE1, 0x3D, 0x4B, 0x1A, 0x55, +0xFE, 0xE0, 0x4B, 0x4B, 0x0C, 0x22, 0x1A, 0x70, +0x4A, 0x4B, 0x00, 0x22, 0x1A, 0x70, 0x4A, 0x4B, +0x01, 0x22, 0x1A, 0x70, 0x05, 0x22, 0x49, 0x4B, +0x35, 0xE7, 0x47, 0x49, 0x09, 0x78, 0x00, 0x29, +0x00, 0xD1, 0xED, 0xE0, 0x44, 0x2B, 0x16, 0xD0, +0x08, 0xD8, 0x42, 0x2B, 0x13, 0xD0, 0x02, 0x22, +0x42, 0x2B, 0x40, 0xD8, 0x41, 0x2B, 0x00, 0xD0, +0xE2, 0xE0, 0x0A, 0xE0, 0x46, 0x2B, 0x1C, 0xD0, +0x03, 0x22, 0x46, 0x2B, 0x37, 0xD3, 0x4E, 0x2B, +0x2F, 0xD0, 0x4F, 0x2B, 0x00, 0xD0, 0xD7, 0xE0, +0x2D, 0xE0, 0x01, 0x22, 0x2F, 0xE0, 0x29, 0x4B, +0xFF, 0x2C, 0x06, 0xD1, 0x2D, 0x49, 0x09, 0x78, +0x49, 0x00, 0xC9, 0xB2, 0x19, 0x70, 0x00, 0x24, +0x01, 0xE0, 0x02, 0x21, 0x19, 0x70, 0x15, 0x23, +0x5A, 0x43, 0xA4, 0x18, 0x64, 0x00, 0x32, 0x4B, +0x0D, 0xE0, 0x20, 0x4B, 0xFF, 0x2C, 0x04, 0xD1, +0x24, 0x49, 0x00, 0x24, 0x89, 0x78, 0x19, 0x70, +0x01, 0xE0, 0x01, 0x21, 0x19, 0x70, 0x15, 0x23, +0x5A, 0x43, 0x2C, 0x4B, 0xA4, 0x18, 0xE4, 0x18, +0x1B, 0x4B, 0x08, 0x21, 0x1C, 0x60, 0x80, 0x23, +0xDB, 0x05, 0x5A, 0x69, 0x8A, 0x43, 0x5A, 0x61, +0xAA, 0xE0, 0x04, 0x22, 0x03, 0xE0, 0x20, 0x4B, +0x0D, 0x22, 0x1A, 0x70, 0x06, 0x22, 0x1F, 0x4B, +0xE5, 0xE6, 0x23, 0x4A, 0x23, 0x49, 0x9B, 0x00, +0x12, 0x78, 0x5B, 0x58, 0x9A, 0x18, 0x22, 0x4B, +0x1A, 0x60, 0x22, 0x4B, 0x1A, 0x78, 0x22, 0x4B, +0x1A, 0x80, 0x95, 0xE0, 0x20, 0x06, 0x00, 0x20, +0x0C, 0x00, 0x00, 0x50, 0xB2, 0x06, 0x00, 0x20, +0xB1, 0x06, 0x00, 0x20, 0xD0, 0x06, 0x00, 0x20, +0xD1, 0x06, 0x00, 0x20, 0x4C, 0x06, 0x00, 0x20, +0x68, 0x0A, 0x00, 0x20, 0xD8, 0x07, 0x00, 0x20, +0x50, 0x0B, 0x00, 0x20, 0x0D, 0x0B, 0x00, 0x20, +0x20, 0x38, 0x00, 0x00, 0x28, 0x38, 0x00, 0x00, +0x14, 0x11, 0x00, 0x20, 0xF8, 0x37, 0x00, 0x00, +0xEC, 0x4F, 0x00, 0x00, 0x4B, 0x0A, 0x00, 0x20, +0x14, 0x09, 0x00, 0x20, 0x39, 0x06, 0x00, 0x20, +0x2C, 0x06, 0x00, 0x20, 0x88, 0x0B, 0x00, 0x20, +0xC0, 0x07, 0x00, 0x20, 0x1C, 0x00, 0x00, 0x20, +0x20, 0x13, 0x00, 0x20, 0xA0, 0x0C, 0x00, 0x20, +0xB3, 0x06, 0x00, 0x20, 0x38, 0x06, 0x00, 0x20, +0xE0, 0x0E, 0x00, 0x20, 0x90, 0x0B, 0x00, 0x20, +0x0D, 0x00, 0x00, 0x50, 0x3C, 0x36, 0x00, 0x00, +0x28, 0x09, 0x00, 0x20, 0x0E, 0x00, 0x00, 0x50, +0xD8, 0x10, 0x00, 0x20, 0x29, 0x4B, 0x1B, 0x78, +0x00, 0x2B, 0x4D, 0xD0, 0x28, 0x49, 0x29, 0x4B, +0x08, 0x88, 0x1A, 0x68, 0x00, 0xB2, 0x80, 0x1A, +0x04, 0x22, 0x90, 0x42, 0x03, 0xDC, 0x0A, 0x88, +0x1B, 0x68, 0x12, 0xB2, 0xD2, 0x1A, 0xA0, 0x23, +0xDB, 0x05, 0x99, 0x68, 0x09, 0x03, 0x09, 0x0F, +0x8A, 0x42, 0x0D, 0xDA, 0x1E, 0x49, 0x1F, 0x4B, +0x08, 0x88, 0x1A, 0x68, 0x00, 0xB2, 0x80, 0x1A, +0x04, 0x22, 0x90, 0x42, 0x07, 0xDC, 0x0A, 0x88, +0x1B, 0x68, 0x12, 0xB2, 0xD2, 0x1A, 0x02, 0xE0, +0x9A, 0x68, 0x12, 0x03, 0x12, 0x0F, 0x00, 0x23, +0x17, 0x48, 0x16, 0x49, 0x08, 0xE0, 0x05, 0x68, +0x0C, 0x68, 0x16, 0x4E, 0xE4, 0x18, 0x2C, 0x19, +0x9D, 0x19, 0x2D, 0x78, 0x01, 0x33, 0x25, 0x70, +0x93, 0x42, 0xF4, 0xDB, 0x18, 0xE0, 0x12, 0x4A, +0x1B, 0x02, 0x12, 0x78, 0x9B, 0x18, 0x11, 0x4A, +0x13, 0x60, 0x11, 0xE0, 0x00, 0x2B, 0x0F, 0xD0, +0x80, 0x23, 0xDB, 0x05, 0x99, 0x68, 0x0E, 0x4A, +0x0A, 0x40, 0x9A, 0x60, 0x99, 0x68, 0x0D, 0x4A, +0x0A, 0x40, 0x9A, 0x60, 0x99, 0x68, 0x0C, 0x4A, +0x0A, 0x40, 0x9A, 0x60, 0xFD, 0xF7, 0x62, 0xFE, +0x7F, 0xBD, 0xC0, 0x46, 0x2C, 0x06, 0x00, 0x20, +0xD8, 0x10, 0x00, 0x20, 0x1C, 0x06, 0x00, 0x20, +0x28, 0x09, 0x00, 0x20, 0x0C, 0x00, 0x00, 0x50, +0x0D, 0x00, 0x00, 0x50, 0x1C, 0x13, 0x00, 0x20, +0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, +0xFF, 0xF7, 0xFF, 0xFF, 0x30, 0xB5, 0x74, 0x4B, +0x1B, 0x68, 0x0E, 0x2B, 0x66, 0xD0, 0x16, 0xDC, +0x05, 0x2B, 0x47, 0xD0, 0x06, 0xDC, 0x03, 0x2B, +0x39, 0xD0, 0x3E, 0xDC, 0x02, 0x2B, 0x00, 0xD0, +0xD9, 0xE0, 0x29, 0xE0, 0x0B, 0x2B, 0x4A, 0xD0, +0x03, 0xDC, 0x09, 0x2B, 0x00, 0xD0, 0xD2, 0xE0, +0x40, 0xE0, 0x0C, 0x2B, 0x47, 0xD0, 0x0D, 0x2B, +0x00, 0xD0, 0xCC, 0xE0, 0x49, 0xE0, 0xA2, 0x2B, +0x00, 0xD1, 0x8C, 0xE0, 0x09, 0xDC, 0x10, 0x2B, +0x69, 0xD0, 0x4D, 0xDB, 0x35, 0x2B, 0x00, 0xD1, +0xBD, 0xE0, 0x90, 0x2B, 0x00, 0xD0, 0xBE, 0xE0, +0x46, 0xE0, 0xAE, 0x2B, 0x00, 0xD1, 0x99, 0xE0, +0x03, 0xDC, 0xA4, 0x2B, 0x00, 0xD0, 0xB6, 0xE0, +0x88, 0xE0, 0xAF, 0x2B, 0x00, 0xD1, 0x94, 0xE0, +0xF6, 0x2B, 0x00, 0xD0, 0xAF, 0xE0, 0x9F, 0xE0, +0x58, 0x4A, 0x14, 0x20, 0x11, 0x5E, 0xD2, 0x7D, +0x09, 0x11, 0x0F, 0x20, 0x52, 0xB2, 0x81, 0x43, +0x89, 0x18, 0x55, 0x4A, 0x11, 0x70, 0x53, 0x4A, +0x03, 0x21, 0xD0, 0x8A, 0x52, 0x4A, 0xC9, 0x1A, +0x88, 0x54, 0x04, 0x22, 0xD3, 0x1A, 0x4F, 0x4A, +0x91, 0x8A, 0x1E, 0xE0, 0x4F, 0x4B, 0xDB, 0x8E, +0x1A, 0xB2, 0xFF, 0x2A, 0x00, 0xDD, 0xFF, 0x23, +0x4B, 0x4A, 0x52, 0xE0, 0x4C, 0x4B, 0x02, 0x22, +0x1B, 0x78, 0xD2, 0x1A, 0x89, 0xE0, 0x4B, 0x4A, +0x11, 0x78, 0x47, 0x4A, 0x11, 0x70, 0x49, 0x4A, +0x0C, 0x21, 0x50, 0x78, 0x44, 0x4A, 0xC9, 0x1A, +0x88, 0x54, 0x0D, 0x21, 0x42, 0x4A, 0xC9, 0x1A, +0x00, 0x20, 0x88, 0x54, 0x0E, 0x22, 0xD3, 0x1A, +0x10, 0x21, 0x3F, 0x4A, 0x99, 0x54, 0x76, 0xE0, +0x41, 0x4B, 0x42, 0x4A, 0x19, 0x78, 0x3C, 0x4B, +0x00, 0x29, 0x05, 0xD0, 0x40, 0x49, 0x08, 0x68, +0xE0, 0x21, 0xC9, 0x00, 0x08, 0x42, 0x0C, 0xD1, +0x12, 0x78, 0x00, 0x2A, 0x05, 0xD1, 0x80, 0x22, +0xD2, 0x05, 0x51, 0x69, 0x08, 0x20, 0x01, 0x43, +0x51, 0x61, 0x38, 0x4A, 0x12, 0x78, 0xD2, 0x00, +0x5C, 0xE0, 0x12, 0x78, 0x5A, 0xE0, 0x34, 0x4B, +0x1B, 0x78, 0x00, 0x2B, 0x05, 0xD0, 0x34, 0x49, +0xE0, 0x23, 0x0A, 0x68, 0xDB, 0x00, 0x1A, 0x42, +0x01, 0xD1, 0x32, 0x4B, 0x19, 0x68, 0x32, 0x48, +0x2E, 0x4A, 0x05, 0x68, 0x14, 0x78, 0x00, 0x23, +0xE4, 0x00, 0xA5, 0x42, 0x09, 0xDA, 0x02, 0x68, +0x25, 0x4D, 0x8A, 0x18, 0xD4, 0x5C, 0x5A, 0x19, +0x01, 0x33, 0x14, 0x70, 0x08, 0x2B, 0xF6, 0xD1, +0x3D, 0xE0, 0x13, 0x70, 0x3B, 0xE0, 0x29, 0x49, +0x27, 0x4A, 0x00, 0x23, 0x0C, 0x68, 0x10, 0x68, +0x1D, 0x4D, 0xC0, 0x18, 0x20, 0x18, 0x04, 0x78, +0x58, 0x19, 0x01, 0x33, 0x04, 0x70, 0x08, 0x2B, +0xF4, 0xD1, 0x2C, 0xE0, 0x18, 0x4B, 0x22, 0x4A, +0x22, 0x48, 0x11, 0x68, 0x0C, 0x78, 0x01, 0x31, +0x1C, 0x70, 0x01, 0x33, 0x11, 0x60, 0x83, 0x42, +0xF7, 0xD1, 0x20, 0xE0, 0x1E, 0x4B, 0x1A, 0x78, +0x1B, 0xE0, 0x1E, 0x49, 0x18, 0x4A, 0x00, 0x23, +0x0C, 0x68, 0x10, 0x68, 0x0E, 0x4D, 0xC0, 0x18, +0x20, 0x18, 0x04, 0x78, 0x58, 0x19, 0x01, 0x33, +0x04, 0x70, 0x08, 0x2B, 0xF4, 0xD1, 0x0E, 0xE0, +0x11, 0x4B, 0x08, 0x4A, 0x1B, 0x68, 0x08, 0x49, +0xDB, 0x00, 0x9B, 0x18, 0x1A, 0x68, 0x5B, 0x68, +0x0A, 0x60, 0x4B, 0x60, 0x03, 0xE0, 0x12, 0x4B, +0x5A, 0x79, 0x03, 0x4B, 0x1A, 0x70, 0x30, 0xBD, +0x20, 0x06, 0x00, 0x20, 0x50, 0x0B, 0x00, 0x20, +0x10, 0x00, 0x00, 0x50, 0x34, 0x0D, 0x00, 0x20, +0xD0, 0x06, 0x00, 0x20, 0x4B, 0x0A, 0x00, 0x20, +0xAC, 0x06, 0x00, 0x20, 0xB4, 0x0D, 0x00, 0x20, +0x20, 0x13, 0x00, 0x20, 0xB8, 0x0D, 0x00, 0x20, +0x1C, 0x06, 0x00, 0x20, 0x28, 0x09, 0x00, 0x20, +0x1C, 0x13, 0x00, 0x20, 0x18, 0x00, 0x00, 0x50, +0x0D, 0x0B, 0x00, 0x20, 0x14, 0x11, 0x00, 0x20, +0xD8, 0x07, 0x00, 0x20, 0x08, 0xB5, 0x08, 0x28, +0x0B, 0xD0, 0x02, 0xDC, 0x07, 0x28, 0x48, 0xD1, +0x04, 0xE0, 0x0D, 0x28, 0x2A, 0xD0, 0x10, 0x28, +0x43, 0xD1, 0x2E, 0xE0, 0xFF, 0xF7, 0xAA, 0xF9, +0x3F, 0xE0, 0x20, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x3B, 0xD0, 0x1F, 0x4B, 0x1F, 0x49, 0x98, 0x1C, +0x0A, 0x68, 0xC0, 0x7F, 0x52, 0x00, 0x82, 0x42, +0x00, 0xDA, 0x02, 0x1C, 0x0A, 0x60, 0x1C, 0x4A, +0xD2, 0x8E, 0x12, 0xB2, 0x51, 0x00, 0x8A, 0x18, +0x52, 0x10, 0xDA, 0x86, 0x19, 0x4A, 0x11, 0x1C, +0x5E, 0x31, 0x08, 0x78, 0x19, 0x1C, 0x5E, 0x31, +0x08, 0x70, 0x51, 0x8C, 0x59, 0x84, 0x91, 0x8C, +0x99, 0x84, 0xD1, 0x8C, 0xD9, 0x84, 0x12, 0x8D, +0x1A, 0x85, 0x1A, 0xE0, 0x12, 0x4B, 0x00, 0x21, +0x1B, 0x68, 0x04, 0x20, 0x0A, 0x1C, 0x98, 0x47, +0x13, 0xE0, 0xFE, 0xF7, 0xF1, 0xFD, 0xFF, 0xF7, +0x01, 0xFA, 0x0E, 0x4B, 0x1B, 0x68, 0x00, 0x2B, +0x0B, 0xD1, 0x0D, 0x4B, 0x1B, 0x78, 0x00, 0x2B, +0x07, 0xD0, 0x80, 0x23, 0xDB, 0x05, 0xDA, 0x6B, +0x01, 0x21, 0x12, 0x0E, 0x12, 0x06, 0x0A, 0x43, +0xDA, 0x63, 0x08, 0xBD, 0xE9, 0x06, 0x00, 0x20, +0x34, 0x0D, 0x00, 0x20, 0xA4, 0x0C, 0x00, 0x20, +0x9C, 0x12, 0x00, 0x20, 0xAC, 0x0C, 0x00, 0x20, +0x58, 0x06, 0x00, 0x20, 0xD4, 0x0D, 0x00, 0x20, +0x04, 0x08, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xDB, 0x58, 0x07, 0x2B, +0xEE, 0x48, 0x4D, 0x45, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x24, 0x12, + +}; diff --git a/include/linux/platform_data/mms128.h b/include/linux/platform_data/mms128.h new file mode 100755 index 0000000..db677b8 --- /dev/null +++ b/include/linux/platform_data/mms128.h @@ -0,0 +1,42 @@ +/* + * mms_ts.h - Platform data for Melfas MMS-series touch driver + * + * Copyright (C) 2011 Google Inc. + * Author: Dima Zavin + * + * + * 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. + * + */ + +#ifndef _LINUX_MMS_TOUCH_H +#define _LINUX_MMS_TOUCH_H +#define MELFAS_TS_NAME "mms128" + +struct melfas_tsi_platform_data { + int max_x; + int max_y; + + int invert_x; + int invert_y; + + int gpio_int; + int gpio_sda; + int gpio_scl; + int (*mux_fw_flash)(bool to_gpios); + const char *tsp_vendor; + const char *tsp_ic; + int tsp_tx; + int tsp_rx; + int fw_bin_ver[3]; + const char *config_fw_version; + void (*input_event)(void *data); + void (*register_cb)(void *); +}; +extern struct class *sec_class; +void tsp_charger_infom(bool en); + +#endif /* _LINUX_MMS_TOUCH_H */ -- 2.7.4