Fixed MTP to work with TWRP

This commit is contained in:
awab228 2018-06-19 23:16:04 +02:00
commit f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions

View file

@ -0,0 +1,45 @@
#
# Imagis IST30XXC Touchscreen driver
#
config TOUCHSCREEN_IST30XXC
tristate "IST30XXC I2C Touchscreen"
depends on I2C
help
Say Y here if you have the Imagis IST30XXC I2C touchscreen
connected to your system.
config TOUCHSCREEN_IST3026C
tristate "IST3026C I2C Touchscreen"
depends on I2C
help
Say Y here if you have the Imagis IST3026C I2C touchscreen
connected to your system.
config TOUCHSCREEN_IST3032C
tristate "IST3032C I2C Touchscreen"
depends on I2C
help
Say Y here if you have the Imagis IST3032C I2C touchscreen
connected to your system.
config TOUCHSCREEN_IST3038C
tristate "IST3038C I2C Touchscreen"
depends on I2C
help
Say Y here if you have the Imagis IST3038C I2C touchscreen
connected to your system.
config TOUCHSCREEN_IST3044C
tristate "IST3044C I2C Touchscreen"
depends on I2C
help
Say Y here if you have the Imagis IST3044C I2C touchscreen
connected to your system.
config TOUCHSCREEN_IST3048C
tristate "IST3048C I2C Touchscreen"
depends on I2C
help
Say Y here if you have the Imagis IST3048C I2C touchscreen
connected to your system.

View file

@ -0,0 +1,12 @@
#
# Makefile for the Imagis touch driver
#
# Each configuration option enables a list of files.
obj-$(CONFIG_TOUCHSCREEN_IST30XXC) += ist30xxc.o ist30xxc_misc.o ist30xxc_sys.o ist30xxc_update.o ist30xxc_tracking.o ist30xxc_sec.o ist30xxc_cmcs.o
obj-$(CONFIG_TOUCHSCREEN_IST3026C) += ist30xxc.o ist30xxc_misc.o ist30xxc_sys.o ist30xxc_update.o ist30xxc_tracking.o ist30xxc_sec.o ist30xxc_cmcs.o
obj-$(CONFIG_TOUCHSCREEN_IST3032C) += ist30xxc.o ist30xxc_misc.o ist30xxc_sys.o ist30xxc_update.o ist30xxc_tracking.o ist30xxc_sec.o ist30xxc_cmcs.o
obj-$(CONFIG_TOUCHSCREEN_IST3038C) += ist30xxc.o ist30xxc_misc.o ist30xxc_sys.o ist30xxc_update.o ist30xxc_tracking.o ist30xxc_sec.o ist30xxc_cmcs.o
obj-$(CONFIG_TOUCHSCREEN_IST3044C) += ist30xxc.o ist30xxc_misc.o ist30xxc_sys.o ist30xxc_update.o ist30xxc_tracking.o ist30xxc_sec.o ist30xxc_cmcs.o
obj-$(CONFIG_TOUCHSCREEN_IST3048C) += ist30xxc.o ist30xxc_misc.o ist30xxc_sys.o ist30xxc_update.o ist30xxc_tracking.o ist30xxc_sec.o ist30xxc_cmcs.o

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,654 @@
/*
* Copyright (C) 2010, Imagis Technology Co. Ltd. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __IST30XXC_H__
#define __IST30XXC_H__
#ifdef USE_TSP_TA_CALLBACKS
#include <linux/input/tsp_ta_callback.h>
#endif
#if defined(CONFIG_VBUS_NOTIFIER) || defined(CONFIG_MUIC_NOTIFIER)
#include <linux/muic/muic.h>
#include <linux/muic/muic_notifier.h>
#include <linux/vbus_notifier.h>
#endif
#ifdef CONFIG_INPUT_BOOSTER
#include <linux/input/input_booster.h>
#endif
#define USE_OPEN_CLOSE
/*
* Support F/W ver : IST30xxC v1.0.0.0
* Support IC : IST3026C, IST3032C
* Release : 2015.01.05 by Hoony
*/
#define IMAGIS_DD_VERSION ("2.0.0.0")
#define IMAGIS_IST3026C (1) /* 3026C */
#define IMAGIS_IST3032C (2) /* 3032C */
#define IMAGIS_IST3038C (3) /* 3038C */
#define IMAGIS_IST3044C (4) /* 3044C */
#define IMAGIS_IST3048C (5) /* 3048C */
#if defined(CONFIG_TOUCHSCREEN_IST3026C)
#define IMAGIS_TSP_IC IMAGIS_IST3026C
#elif defined(CONFIG_TOUCHSCREEN_IST3032C)
#define IMAGIS_TSP_IC IMAGIS_IST3032C
#elif defined(CONFIG_TOUCHSCREEN_IST3038C)
#define IMAGIS_TSP_IC IMAGIS_IST3038C
#endif
/* SEC defined [*/
#define FIRMWARE_PATH_LENGTH 64
#define FIRMWARE_PATH "tsp_imagis/"
/* SEC defined ] */
#define TSP_CHIP_VENDOR ("IMAGIS")
#define IMAGIS_PROTOCOL_A (0xA)
#define IMAGIS_PROTOCOL_B (0xB)
#define IMAGIS_PROTOCOL_TYPE IMAGIS_PROTOCOL_B
#define IST30XXC_DEFAULT_CHIP_ID (0x300C)
#define IST3048C_DEFAULT_CHIP_ID (0x3048)
#if (IMAGIS_TSP_IC == IMAGIS_IST3026C)
#define TSP_CHIP_NAME ("IST3026C")
#define IST30XX_CHIP_ID (0x026C)
#define IST30XX_NODE_TOTAL_NUM (16 * 16)
#elif (IMAGIS_TSP_IC == IMAGIS_IST3032C)
#define TSP_CHIP_NAME ("IST3032C")
#define IST30XX_CHIP_ID (0x032C)
#define IST30XX_NODE_TOTAL_NUM (16 * 16)
#elif (IMAGIS_TSP_IC == IMAGIS_IST3038C)
#define TSP_CHIP_NAME ("IST3038C")
#define IST30XX_CHIP_ID (0x038C)
#define IST30XX_NODE_TOTAL_NUM (24 * 24)
#elif (IMAGIS_TSP_IC == IMAGIS_IST3044C)
#define TSP_CHIP_NAME ("IST3044C")
#define IST30XX_CHIP_ID (0x044C)
#define IST30XX_NODE_TOTAL_NUM (24 * 24)
#elif (IMAGIS_TSP_IC == IMAGIS_IST3048C)
#define TSP_CHIP_NAME ("IST3048C")
#define IST30XX_CHIP_ID (0x048C)
#define IST30XX_NODE_TOTAL_NUM (24 * 24)
#else
#define TSP_CHIP_NAME ("IST30XXC")
#define IST30XX_CHIP_ID (0x300C)
#define IST30XX_NODE_TOTAL_NUM (24 * 24)
#endif
/* IST30XX FUNCTION ENABLE & DISABLE */
#define IST30XX_INTERNAL_BIN (1)
#define IST30XX_CHECK_CALIB (0)
#if IST30XX_INTERNAL_BIN
#if defined(CONFIG_TOUCHSCREEN_IST3026C) //novel
#define IST30XX_MULTIPLE_TSP (1)
#endif
#define IST30XX_UPDATE_BY_WORKQUEUE (0)
#define IST30XX_UPDATE_DELAY (3 * HZ)
#endif
#define IST30XX_EVENT_MODE (1)
#if IST30XX_EVENT_MODE
#define IST30XX_NOISE_MODE (1)
#define IST30XX_TRACKING_MODE (1)
#define IST30XX_ALGORITHM_MODE (1)
#else
#define IST30XX_NOISE_MODE (0) /* fixed */
#define IST30XX_TRACKING_MODE (0) /* fixed */
#define IST30XX_ALGORITHM_MODE (0) /* fixed */
#endif
#define IST30XX_TA_RESET (1)
#if defined(CONFIG_TOUCHSCREEN_IST3026C) || defined(CONFIG_TOUCHSCREEN_IST3038C)
#define IST30XX_USE_KEY (0)
#else
#define IST30XX_USE_KEY (1)
#endif
#define IST30XX_DEBUG (1)
#define IST30XX_CMCS_TEST (1)
#define IST30XX_GESTURE (0)
#define IST30XX_STATUS_DEBUG (0)
#define SEC_FACTORY_MODE (1)
/* IST30XX FUNCTION ENABLE & DISABLE */
#define IST30XX_ADDR_LEN (4)
#define IST30XX_DATA_LEN (4)
#define IST30XX_MAX_MT_FINGERS (10)
#define IST30XX_MAX_KEYS (5)
#define IST30XX_MAX_X (480) /* LCD Resolution */
#define IST30XX_MAX_Y (800) /* LCD Resolution */
#define IST30XX_MAX_W (15)
#define IST30XX_EXCEPT_MASK (0xFFFFFF00)
#define IST30XX_EXCEPT_VALUE (0xE11CE900)
#define IST30XX_MAX_EXCEPT_SIZE (2)
#define IST30XX_JIG_TOUCH (0xC0)
#define IST30XX_ENABLE (1)
#define IST30XX_DISABLE (0)
/* retry count */
#define IST30XX_MAX_RETRY_CNT (3)
/* Local */
#define TSP_LOCAL_EU (0)
#define TSP_LOCAL_EEU (1)
#define TSP_LOCAL_TD (11)
#define TSP_LOCAL_CMCC (12)
#define TSP_LOCAL_CU (13)
#define TSP_LOCAL_SPRD (14)
#define TSP_LOCAL_CTC (15)
#define TSP_LOCAL_INDIA (21)
#define TSP_LOCAL_SWASIA (22)
#define TSP_LOCAL_NA (31)
#define TSP_LOCAL_LA (32)
#define TSP_LOCAL_CODE TSP_LOCAL_EU
/* Factory Test for Reliability Test Group */
enum ist30xx_reliability_commands {
TEST_RAW_ALL_DATA = 0,
TEST_CM_ALL_DATA,
TEST_CS_ALL_DATA,
TEST_SLOPE_ALL_DATA,
};
/* Debug message */
#define DEV_ERR (1)
#define DEV_WARN (2)
#define DEV_INFO (3)
#define DEV_NOTI (4)
#define DEV_DEBUG (5)
#define DEV_VERB (6)
#define IST30XX_DEBUG_TAG "[ TSP ]"
#define IST30XX_DEBUG_LEVEL DEV_NOTI
#ifdef CONFIG_SEC_DEBUG_TSP_LOG
#include <linux/sec_debug.h>
#endif
#ifdef CONFIG_SEC_DEBUG_TSP_LOG
#define tsp_err(fmt, ...) \
({ \
if (IST30XX_DEBUG_LEVEL<DEV_ERR) \
tsp_printk(DEV_ERR, fmt, ## __VA_ARGS__); \
else{ \
tsp_printk(DEV_ERR, fmt, ## __VA_ARGS__); \
sec_debug_tsp_log(fmt, ## __VA_ARGS__); \
} \
})
#define tsp_warn(fmt, ...) \
({ \
if (IST30XX_DEBUG_LEVEL<DEV_WARN) \
tsp_printk(DEV_WARN, fmt, ## __VA_ARGS__); \
else{ \
tsp_printk(DEV_WARN, fmt, ## __VA_ARGS__); \
sec_debug_tsp_log(fmt, ## __VA_ARGS__); \
} \
})
#define tsp_info(fmt, ...) \
({ \
if (IST30XX_DEBUG_LEVEL<DEV_INFO) \
tsp_printk(DEV_INFO, fmt, ## __VA_ARGS__); \
else{ \
tsp_printk(DEV_INFO, fmt, ## __VA_ARGS__); \
sec_debug_tsp_log(fmt, ## __VA_ARGS__); \
} \
})
#define tsp_noti(fmt, ...) \
({ \
if (IST30XX_DEBUG_LEVEL<DEV_NOTI) \
tsp_printk(DEV_NOTI, fmt, ## __VA_ARGS__); \
else{ \
tsp_printk(DEV_NOTI, fmt, ## __VA_ARGS__); \
sec_debug_tsp_log(fmt, ## __VA_ARGS__); \
} \
})
#define tsp_debug(fmt, ...) \
({ \
if (IST30XX_DEBUG_LEVEL<DEV_DEBUG) \
tsp_printk(DEV_DEBUG, fmt, ## __VA_ARGS__); \
else{ \
tsp_printk(DEV_DEBUG, fmt, ## __VA_ARGS__); \
sec_debug_tsp_log(fmt, ## __VA_ARGS__); \
} \
})
#define tsp_verb(fmt, ...) \
({ \
if (IST30XX_DEBUG_LEVEL<DEV_VERB) \
tsp_printk(DEV_VERB, fmt, ## __VA_ARGS__); \
else{ \
tsp_printk(DEV_VERB, fmt, ## __VA_ARGS__); \
sec_debug_tsp_log(fmt, ## __VA_ARGS__); \
} \
})
#else
#define tsp_err(fmt, ...) tsp_printk(DEV_ERR, fmt, ## __VA_ARGS__)
#define tsp_warn(fmt, ...) tsp_printk(DEV_WARN, fmt, ## __VA_ARGS__)
#define tsp_info(fmt, ...) tsp_printk(DEV_INFO, fmt, ## __VA_ARGS__)
#define tsp_noti(fmt, ...) tsp_printk(DEV_NOTI, fmt, ## __VA_ARGS__)
#define tsp_debug(fmt, ...) tsp_printk(DEV_DEBUG, fmt, ## __VA_ARGS__)
#define tsp_verb(fmt, ...) tsp_printk(DEV_VERB, fmt, ## __VA_ARGS__)
#endif
/* i2c setting */
/* I2C Device info */
#define IST30XX_DEV_NAME "IST30XX"
#define IST30XX_DEV_ID (0xA0 >> 1)
/* I2C Mode */
#define I2C_BURST_MODE (1)
#define I2C_MONOPOLY_MODE (0)
/* I2C transfer msg number */
#define WRITE_CMD_MSG_LEN (1)
#define READ_CMD_MSG_LEN (2)
/* I2C address/Data length */
#define IST30XX_ADDR_LEN (4) /* bytes */
#define IST30XX_DATA_LEN (4) /* bytes */
/* I2C transaction size */
#define I2C_MAX_WRITE_SIZE (0x0100) /* bytes */
#define I2C_MAX_READ_SIZE (0x0080) /* bytes */
/* I2C access mode */
#define IST30XX_DIRECT_ACCESS (1 << 31)
#define IST30XX_BURST_ACCESS (1 << 27)
#define IST30XX_HIB_ACCESS (0x800B << 16)
#define IST30XX_DA_ADDR(n) (n | IST30XX_DIRECT_ACCESS)
#define IST30XX_BA_ADDR(n) (n | IST30XX_BURST_ACCESS)
#define IST30XX_HA_ADDR(n) (n | IST30XX_HIB_ACCESS)
/* register */
/* Info register */
#define IST30XX_REG_CHIPID IST30XX_DA_ADDR(0x40001000)
#define IST30XX_REG_TSPTYPE IST30XX_DA_ADDR(0x40002010)
/* SEC defined [ */
#define IST30XX_REG_XY_RES IST30XX_DA_ADDR(0x40)
#define IST30XX_REG_XY_SWAP IST30XX_DA_ADDR(0x5C)
/* SEC defined ] */
/* HIB register */
#define IST30XX_HIB_BASE (0x30000100)
#define IST30XX_HIB_TOUCH_STATUS IST30XX_HA_ADDR(IST30XX_HIB_BASE | 0x00)
#define IST30XX_HIB_INTR_MSG IST30XX_HA_ADDR(IST30XX_HIB_BASE | 0x04)
#define IST30XX_HIB_COORD IST30XX_HA_ADDR(IST30XX_HIB_BASE | 0x08)
#define IST30XX_HIB_CMD IST30XX_HA_ADDR(IST30XX_HIB_BASE | 0x3C)
#define IST30XX_HIB_RW_STATUS IST30XX_HA_ADDR(IST30XX_HIB_BASE | 0x40)
/* interrupt macro */
#define IST30XX_INTR_STATUS (0x00000C00)
#define CHECK_INTR_STATUS(n) (((n & IST30XX_INTR_STATUS) == IST30XX_INTR_STATUS) ? 1 : 0)
#define PARSE_FINGER_CNT(n) ((n >> 12) & 0xF)
#define PARSE_KEY_CNT(n) ((n >> 21) & 0x7)
/* Finger status: [9:0] */
#define PARSE_FINGER_STATUS(n) (n & 0x3FF)
/* Key status: [20:16] */
#define PARSE_KEY_STATUS(n) ((n >> 16) & 0x1F)
#define PRESSED_FINGER(s, id) ((s & (1 << (id - 1))) ? true : false)
#define PRESSED_KEY(s, id) ((s & (1 << (16 + id - 1))) ? true : false)
#define IST30XX_MAX_CMD_SIZE (0x20)
#define IST30XX_CMD_ADDR(n) (n * 4)
#define IST30XX_CMD_VALUE(n) (n / 4)
enum ist30xx_read_commands {
eHCOM_GET_CHIP_ID = IST30XX_CMD_ADDR(0x00),
eHCOM_GET_VER_MAIN = IST30XX_CMD_ADDR(0x01),
eHCOM_GET_VER_FW = IST30XX_CMD_ADDR(0x02),
eHCOM_GET_VER_CORE = IST30XX_CMD_ADDR(0x03),
eHCOM_GET_VER_TEST = IST30XX_CMD_ADDR(0x04),
eHCOM_GET_CRC32 = IST30XX_CMD_ADDR(0x05),
eHCOM_GET_CRC32_ALL = IST30XX_CMD_ADDR(0x06),
eHCOM_GET_CAL_RESULT = IST30XX_CMD_ADDR(0x07),
eHCOM_GET_TSP_VENDOR = IST30XX_CMD_ADDR(0x08),
eHCOM_GET_LCD_INFO = IST30XX_CMD_ADDR(0x10),
eHCOM_GET_TSP_INFO = IST30XX_CMD_ADDR(0x11),
eHCOM_GET_KEY_INFO_0 = IST30XX_CMD_ADDR(0x12),
eHCOM_GET_KEY_INFO_1 = IST30XX_CMD_ADDR(0x13),
eHCOM_GET_KEY_INFO_2 = IST30XX_CMD_ADDR(0x14),
eHCOM_GET_SCR_INFO = IST30XX_CMD_ADDR(0x15),
eHCOM_GET_GTX_INFO = IST30XX_CMD_ADDR(0x16),
eHCOM_GET_SWAP_INFO = IST30XX_CMD_ADDR(0x17),
eHCOM_GET_FINGER_INFO = IST30XX_CMD_ADDR(0x18),
eHCOM_GET_BASELINE = IST30XX_CMD_ADDR(0x19),
eHCOM_GET_TOUCH_TH = IST30XX_CMD_ADDR(0x1A),
eHCOM_GET_ZVALUE_BASE = IST30XX_CMD_ADDR(0x1C),
eHCOM_GET_CDC_BASE = IST30XX_CMD_ADDR(0x1D),
eHCOM_GET_ALGO_BASE = IST30XX_CMD_ADDR(0x1E),
eHCOM_GET_COM_CHECKSUM = IST30XX_CMD_ADDR(0x1F),
};
enum ist30xx_write_commands {
eHCOM_FW_START = 0x01,
eHCOM_FW_HOLD = 0x02,
eHCOM_CP_CORRECT_EN = 0x10,
eHCOM_WDT_EN = 0x11,
eHCOM_GESTURE_EN = 0x12,
eHCOM_SCALE_EN = 0x13,
eHCOM_NEW_POSITION_DIS = 0x14,
eHCOM_SLEEP_MODE_EN = 0x15,
eHCOM_SET_TIME_ACTIVE = 0x20,
eHCOM_SET_TIME_IDLE = 0x21,
eHCOM_SET_MODE_SPECIAL = 0x22,
eHCOM_SET_LOCAL_MODEL = 0x23,
eHCOM_RUN_RAMCODE = 0x30,
eHCOM_RUN_CAL_AUTO = 0x31,
eHCOM_RUN_CAL_PARAM = 0x32,
eHCOM_SET_JIG_MODE = 0x80,
eHCOM_SET_JIG_SENSITI = 0x81,
eHCOM_DEFAULT = 0xFF,
};
typedef union {
struct {
u32 y:12;
u32 x:12;
u32 area:4;
u32 id:4;
} bit_field;
u32 full_field;
} finger_info;
struct ist30xx_status {
int power;
int update;
int update_result;
int calib;
int calib_msg;
u32 cmcs;
bool event_mode;
bool noise_mode;
};
struct ist30xx_version {
u32 main_ver;
u32 fw_ver;
u32 core_ver;
u32 test_ver;
};
struct ist30xx_fw {
struct ist30xx_version prev;
struct ist30xx_version cur;
struct ist30xx_version bin;
u32 index;
u32 size;
u32 chksum;
u32 buf_size;
u8 *buf;
};
#define IST30XX_TAG_MAGIC "ISTV2TAG"
struct ist30xx_tags {
char magic1[8];
u32 rom_base;
u32 ram_base;
u32 reserved0;
u32 reserved1;
u32 fw_addr;
u32 fw_size;
u32 cfg_addr;
u32 cfg_size;
u32 sensor_addr;
u32 sensor_size;
u32 cp_addr;
u32 cp_size;
u32 flag_addr;
u32 flag_size;
u32 reserved2;
u32 reserved3;
u32 zvalue_base;
u32 algo_base;
u32 raw_base;
u32 filter_base;
u32 reserved4;
u32 reserved5;
u32 chksum;
u32 chksum_all;
u32 reserved6;
u32 reserved7;
u8 day;
u8 month;
u16 year;
u8 hour;
u8 min;
u8 sec;
u8 reserved8;
char magic2[8];
};
struct ist30xx_platform_data {
int max_x;
int max_y;
int max_w;
int irq_flag;
int avdd_volt;
struct regulator *avdd_regulator;
};
struct CH_NUM {
u8 tx;
u8 rx;
};
struct GTX_INFO {
u8 num;
u8 ch_num[4];
};
struct TSP_NODE_BUF {
u16 raw[IST30XX_NODE_TOTAL_NUM];
u16 base[IST30XX_NODE_TOTAL_NUM];
u16 filter[IST30XX_NODE_TOTAL_NUM];
u16 min_raw;
u16 max_raw;
u16 min_base;
u16 max_base;
u16 len;
};
struct TSP_DIRECTION {
bool swap_xy;
bool flip_x;
bool flip_y;
};
typedef struct _TSP_INFO {
struct CH_NUM ch_num;
struct CH_NUM screen;
struct GTX_INFO gtx;
struct TSP_DIRECTION dir;
struct TSP_NODE_BUF node;
int height;
int width;
int finger_num;
u16 baseline;
} TSP_INFO;
typedef struct _TKEY_INFO {
int key_num;
bool enable;
struct CH_NUM ch_num[IST30XX_MAX_KEYS];
u16 baseline;
} TKEY_INFO;
#if SEC_FACTORY_MODE
#include "ist30xxc_sec.h"
#endif
#ifdef CONFIG_HAS_EARLYSUSPEND
#include <linux/earlysuspend.h>
#endif
struct ist30xx_dt_data {
int irq_gpio;
int touch_en_gpio;
const char *tsp_vdd_name;
struct regulator *tsp_power;
int fw_bin;
int octa_hw;
const char *ic_version;
const char *project_name;
char fw_path[FIRMWARE_PATH_LENGTH];
char cmcs_path[FIRMWARE_PATH_LENGTH];
const char *regulator_avdd;
};
struct ist30xx_data {
struct i2c_client *client;
struct input_dev *input_dev;
struct ist30xx_dt_data *dt_data;
struct ist30xx_platform_data *pdata;
TSP_INFO tsp_info;
TKEY_INFO tkey_info;
#ifdef CONFIG_HAS_EARLYSUSPEND
struct early_suspend early_suspend;
#endif
struct ist30xx_status status;
struct ist30xx_fw fw;
struct ist30xx_tags tags;
struct pinctrl *pinctrl;
#if SEC_FACTORY_MODE
struct sec_factory sec;
#endif
u32 chip_id;
u32 tsp_type;
u32 max_fingers;
u32 max_keys;
u32 t_status;
finger_info fingers[IST30XX_MAX_MT_FINGERS];
u32 lx;
u32 ly;
volatile bool irq_working;
u32 irq_enabled;
bool initialized;
u32 noise_mode;
u32 debug_mode;
u32 jig_mode;
u32 z_values[IST30XX_MAX_MT_FINGERS];
int report_rate;
int idle_rate;
#if IST30XX_GESTURE
bool suspend;
bool gesture;
#endif
int touch_pressed_num;
#ifdef CONFIG_INPUT_BOOSTER
struct input_booster *tsp_booster;
#endif
int scan_count;
int scan_retry;
int max_scan_retry;
int irq_err_cnt;
int max_irq_err_cnt;
/* SEC defined [*/
u16 max_x;
u16 max_y;
bool track_enable;
/* SEC defined ]*/
struct delayed_work work_reset_check;
struct delayed_work work_noise_protect;
struct delayed_work work_debug_algorithm;
#if IST30XX_INTERNAL_BIN
#if IST30XX_UPDATE_BY_WORKQUEUE
struct delayed_work work_fw_update;
#endif
#endif
bool touch_stopped;
#ifdef USE_TSP_TA_CALLBACKS
struct tsp_callbacks callbacks;
#endif
#ifdef CONFIG_MUIC_NOTIFIER
struct notifier_block muic_nb;
#endif
#ifdef CONFIG_VBUS_NOTIFIER
struct notifier_block vbus_nb;
#endif
};
extern struct mutex ist30xx_mutex;
extern int ist30xx_dbg_level;
extern unsigned int system_rev;
void tsp_printk(int level, const char *fmt, ...);
int ist30xx_intr_wait(struct ist30xx_data *data, long ms);
void ist30xx_enable_irq(struct ist30xx_data *data);
void ist30xx_disable_irq(struct ist30xx_data *data);
void ist30xx_set_ta_mode(bool charging);
void ist30xx_set_edge_mode(int mode);
void ist30xx_set_cover_mode(int mode);
void ist30xx_start(struct ist30xx_data *data);
int ist30xx_get_ver_info(struct ist30xx_data *data);
int ist30xx_read_reg(struct i2c_client *client, u32 reg, u32 *buf);
int ist30xx_read_cmd(struct ist30xx_data *data, u32 cmd, u32 *buf);
int ist30xx_write_cmd(struct i2c_client *client, u32 cmd, u32 val);
int ist30xx_read_buf(struct i2c_client *client, u32 cmd, u32 *buf, u16 len);
int ist30xx_write_buf(struct i2c_client *client, u32 cmd, u32 *buf, u16 len);
int ist30xx_burst_read(struct i2c_client *client, u32 addr,
u32 *buf32, u16 len, bool bit_en);
int ist30xx_burst_write(struct i2c_client *client, u32 addr,
u32 *buf32, u16 len);
int ist30xx_cmd_start_scan(struct ist30xx_data *data);
int ist30xx_cmd_calibrate(struct i2c_client *client);
int ist30xx_cmd_check_calib(struct i2c_client *client);
int ist30xx_cmd_update(struct i2c_client *client, int cmd);
int ist30xx_cmd_hold(struct ist30xx_data *data, int enable);
int ist30xx_power_on(struct ist30xx_data *data, bool download);
int ist30xx_power_off(struct ist30xx_data *data);
int ist30xx_reset(struct ist30xx_data *data, bool download);
int ist30xx_internal_suspend(struct ist30xx_data *data);
int ist30xx_internal_resume(struct ist30xx_data *data);
int ist30xx_init_system(struct ist30xx_data *data);
extern struct class *ist30xx_class;
#if SEC_FACTORY_MODE
extern struct class *sec_class;
extern int sec_touch_sysfs(struct ist30xx_data *data);
extern int sec_fac_cmd_init(struct ist30xx_data *data);
extern void sec_fac_cmd_remove(struct ist30xx_data *data);
extern void sec_touch_sysfs_remove(struct ist30xx_data *data);
#endif
#endif /* __IST30XXC_H__ */

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,159 @@
/*
* Copyright (C) 2010, Imagis Technology Co. Ltd. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __IST30XXC_CMCS_H__
#define __IST30XXC_CMCS_H__
#define INTERNAL_CMCS_BIN (1)
#define CMCS_PARSING_DEBUG (0)
#define CMCS_RAMCODE_READ (0)
#define CMCS_FLAG_CM (1)
#define CMCS_FLAG_CM_SPEC (1 << 1)
#define CMCS_FLAG_CM_SLOPE0 (1 << 2)
#define CMCS_FLAG_CM_SLOPE1 (1 << 3)
#define CMCS_FLAG_CS (1 << 4)
#define CMCS_READY (0)
#define CMCS_NOT_READY (-1)
#define IST30XX_CMCS_MSG_VALID (0x8FAB0FAB)
#define IST30XX_CMCS_TIMEOUT (10000) // unit : msec
#define IST30XX_CMCS_CM ("CM")
#define IST30XX_CMCS_CS ("CS")
// CMCS addr
#define IST30XX_CMCS_CHECKSUM IST30XX_DA_ADDR(0x300B0100)
#define IST30XX_CMCS_CS_CHECKSUM IST30XX_DA_ADDR(0x300B0108)
#define IST30XX_CMCS_PATTERN IST30XX_DA_ADDR(0x300B0104)
#define ENABLE_CM_MODE(n) (n & 1)
#define ENABLE_CS_MODE(n) ((n >> 1) & 1)
#define IST30XX_CMCS_NAME "ist30xxc.cms"
#define IST30XX_CMCS_MAGIC "CMCS2TAG"
struct CMCS_SPEC_NODE {
u32 node_cnt;
u16 *buf_min;
u16 *buf_max;
};
struct CMCS_SPEC_TOTAL {
s16 screen_min;
s16 screen_max;
s16 gtx_min;
s16 gtx_max;
s16 key_min;
s16 key_max;
};
struct CMCS_ITEM_INFO {
char name[8];
u32 addr;
u32 size;
char data_type[2];
char spec_type[2];
};
typedef struct _CMCS_ITEM {
u32 cnt;
struct CMCS_ITEM_INFO *item;
} CMCS_ITEM;
struct CMCS_CMD_INFO {
u32 addr;
u32 value;
};
typedef struct _CMCS_CMD {
u32 cnt;
struct CMCS_CMD_INFO *cmd;
} CMCS_CMD;
union CMCS_SPEC_ITEM {
struct CMCS_SPEC_NODE spec_node;
struct CMCS_SPEC_TOTAL spec_total;
};
struct CMCS_SPEC_SLOPE {
char name[8];
s16 x_min;
s16 x_max;
s16 gtx_x_min;
s16 gtx_x_max;
s16 y_min;
s16 y_max;
s16 gtx_y_min;
s16 gtx_y_max;
s16 key_min;
s16 key_max;
};
struct CMCS_REG_INFO {
char name[8];
u32 addr;
u32 size;
};
typedef struct _CMCS_PARAM {
u32 cmcs_size_addr;
u32 cmcs_size;
u32 cm_sensor1_addr;
u32 cm_sensor1_size;
u32 cm_sensor2_addr;
u32 cm_sensor2_size;
u32 cm_sensor3_addr;
u32 cm_sensor3_size;
u32 cs_sensor1_addr;
u32 cs_sensor1_size;
u32 cs_sensor2_addr;
u32 cs_sensor2_size;
u32 cs_sensor3_addr;
u32 cs_sensor3_size;
u32 cmcs_chksum;
u32 cm_sensor_chksum;
u32 cs_sensor_chksum;
} CMCS_PARAM;
typedef struct _CMCS_BIN_INFO {
char magic1[8];
CMCS_ITEM items;
CMCS_CMD cmds;
struct CMCS_SPEC_SLOPE spec_slope;
struct CMCS_SPEC_TOTAL spec_cr;
CMCS_PARAM param;
union CMCS_SPEC_ITEM *spec_item;
u8 *buf_cmcs;
u32 * buf_sensor;
char magic2[8];
} CMCS_BIN_INFO;
typedef struct _CMCS_BUF {
s16 cm[IST30XX_NODE_TOTAL_NUM];
s16 spec_min[IST30XX_NODE_TOTAL_NUM];
s16 spec_max[IST30XX_NODE_TOTAL_NUM];
s16 slope0[IST30XX_NODE_TOTAL_NUM];
s16 slope1[IST30XX_NODE_TOTAL_NUM];
s16 cs[IST30XX_NODE_TOTAL_NUM];
} CMCS_BUF;
int check_tsp_type(struct ist30xx_data *data, int tx, int rx);
int ist30xx_get_cmcs_info(const u8 *buf, const u32 size);
int ist30xx_cmcs_test(struct ist30xx_data *data, const u8 *buf, int size);
int ist30xx_init_cmcs_sysfs(struct ist30xx_data *data);
#endif // __IST30XXC_CMCS_H__

View file

@ -0,0 +1,615 @@
#ifndef __IST30XX_CMCS_BIN_H__
#define __IST30XX_CMCS_BIN_H__
/* ist30xx cmcs binary: model( ) */
static unsigned char ist30xx_cmcs[] = {
0x43, 0x4d, 0x43, 0x53, 0x32, 0x54, 0x41, 0x47, 0x02, 0x00, 0x00, 0x00, 0x43, 0x4d, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x1e, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x4e, 0x00, 0x4e, 0x00,
0x43, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
0x4e, 0x00, 0x54, 0x00, 0x02, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 0xac, 0x0d, 0xac, 0x0d,
0x28, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x43, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00,
0x38, 0xff, 0xc8, 0x00, 0xbc, 0x02, 0x14, 0x05, 0xbc, 0x02, 0x32, 0x05, 0x30, 0x02, 0x10, 0x04,
0x20, 0x11, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x08, 0x70, 0x00, 0x40, 0x00, 0x03, 0x00, 0x00,
0x00, 0x40, 0x00, 0x30, 0x00, 0x09, 0x00, 0x00, 0xc4, 0x52, 0x00, 0x30, 0x50, 0x01, 0x00, 0x00,
0x30, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x30, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
0x30, 0x1d, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00, 0x3d, 0x32, 0x09, 0xd2, 0x60, 0x28, 0xd6, 0x1f,
0x61, 0x18, 0xd4, 0x69, 0x08, 0x01, 0x00, 0x00, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xf0, 0x0a, 0xe4, 0x0c, 0xf0, 0x0a, 0xe4, 0x0c,
0xc4, 0x09, 0xe4, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x10, 0xa8, 0x10, 0x0c, 0x80, 0x5c, 0x06,
0x2b, 0x2b, 0x00, 0x00, 0xf2, 0xfe, 0x00, 0x00, 0x08, 0x70, 0x00, 0x40, 0x38, 0x67, 0x08, 0x70,
0xb9, 0x67, 0x08, 0x70, 0xe1, 0xf0, 0x00, 0x00, 0x08, 0x60, 0x00, 0x40, 0x38, 0x76, 0x08, 0x70,
0xd6, 0x72, 0x82, 0xfd, 0xe1, 0xf0, 0x00, 0x00, 0x08, 0x60, 0x00, 0x40, 0x38, 0x76, 0x70, 0x70,
0x64, 0x71, 0xb9, 0x76, 0x70, 0x70, 0xe1, 0xf0, 0x08, 0x60, 0x00, 0x40, 0x38, 0x76, 0x70, 0x70,
0x64, 0x72, 0xb9, 0x76, 0x70, 0x70, 0xe1, 0xf0, 0x67, 0x31, 0x14, 0x71, 0x34, 0x31, 0xc6, 0x37,
0x82, 0x04, 0xb1, 0x02, 0x24, 0x24, 0xf2, 0xfb, 0xe1, 0xf0, 0x00, 0x00, 0x77, 0x41, 0x14, 0x71,
0x34, 0x41, 0xc6, 0x47, 0x82, 0x04, 0xb1, 0x32, 0x24, 0x24, 0xf2, 0xfb, 0xe1, 0xf0, 0x00, 0x00,
0xf7, 0x40, 0x04, 0x70, 0xc6, 0x74, 0x82, 0x07, 0x2f, 0x67, 0x07, 0x00, 0x26, 0x62, 0xa1, 0x36,
0x24, 0x71, 0xf2, 0xf9, 0xe1, 0xf0, 0x00, 0x00, 0x04, 0x70, 0xc6, 0x74, 0x82, 0x06, 0x2f, 0x67,
0x02, 0x00, 0x91, 0x36, 0x24, 0x71, 0xf2, 0xfa, 0xe1, 0xf0, 0x00, 0x00, 0x34, 0x14, 0xb1, 0xf1,
0x77, 0x41, 0x04, 0x70, 0x14, 0x61, 0x34, 0x41, 0xc6, 0x46, 0x82, 0x09, 0x2f, 0x57, 0x03, 0x00,
0x30, 0xf5, 0x2f, 0x57, 0x02, 0x00, 0xb1, 0xf5, 0x24, 0x74, 0xf2, 0xf6, 0x30, 0xf1, 0x24, 0x14,
0xe1, 0xf0, 0x00, 0x00, 0x34, 0x14, 0x0c, 0x70, 0x4a, 0x01, 0xb1, 0x71, 0x30, 0x71, 0x14, 0x61,
0xc4, 0x70, 0x26, 0x67, 0xb1, 0x61, 0x92, 0xfb, 0x24, 0x14, 0xe1, 0xf0, 0x34, 0x1c, 0x26, 0x22,
0xc9, 0xe1, 0x04, 0x00, 0x06, 0xe2, 0xb1, 0x01, 0x57, 0xe1, 0xb1, 0x01, 0x26, 0xe2, 0x30, 0x71,
0xc6, 0x7e, 0xb2, 0x07, 0x8b, 0x06, 0x00, 0x00, 0x30, 0x71, 0x24, 0x71, 0xb1, 0x71, 0xf2, 0xf8,
0x48, 0xe1, 0x04, 0x00, 0x24, 0x1c, 0xe1, 0xf0, 0x08, 0x60, 0x00, 0x30, 0x38, 0x76, 0x28, 0x00,
0xd4, 0x74, 0x92, 0xfd, 0xe1, 0xf0, 0x00, 0x00, 0x77, 0x31, 0x04, 0x70, 0x14, 0x61, 0x34, 0x31,
0xc6, 0x36, 0x82, 0x05, 0x30, 0x52, 0x24, 0x24, 0x26, 0x75, 0xf2, 0xfa, 0x06, 0x27, 0xe1, 0xf0,
0x04, 0x6c, 0xa9, 0x60, 0xa6, 0x0f, 0x0c, 0x60, 0x16, 0x00, 0xa9, 0x60, 0xa4, 0x0f, 0x04, 0x6a,
0xa9, 0x60, 0xa2, 0x0f, 0x0c, 0x60, 0x13, 0x00, 0xa9, 0x60, 0xa0, 0x0f, 0x0c, 0x50, 0xee, 0x00,
0x06, 0x76, 0x0c, 0x70, 0x5c, 0x0f, 0xb9, 0x50, 0x5c, 0x0f, 0x0c, 0x60, 0xef, 0x00, 0xb9, 0x67,
0x04, 0x00, 0x0c, 0x60, 0xf3, 0x0c, 0xb9, 0x67, 0x08, 0x00, 0xb9, 0x67, 0x0c, 0x00, 0xb9, 0x67,
0x10, 0x00, 0xe1, 0xf0, 0x3c, 0x10, 0x10, 0x00, 0xd1, 0xc1, 0x06, 0xd3, 0x78, 0x30, 0xa6, 0x0f,
0x06, 0xe2, 0x06, 0xc4, 0xcb, 0x31, 0x00, 0x00, 0x78, 0x60, 0xa2, 0x0f, 0x2f, 0x7d, 0x02, 0x00,
0xc6, 0xd6, 0xb1, 0x7c, 0xa2, 0x12, 0x06, 0x56, 0x0c, 0x50, 0x5c, 0x0f, 0x38, 0x55, 0x04, 0x00,
0x04, 0x20, 0xc6, 0x75, 0x92, 0x03, 0x28, 0x20, 0x7a, 0x0f, 0x38, 0x60, 0x5c, 0x0f, 0xc6, 0x76,
0x92, 0x10, 0x28, 0x20, 0x7a, 0x0f, 0xf2, 0x0d, 0x78, 0x70, 0xa0, 0x0f, 0xc6, 0xe7, 0xb2, 0x04,
0x28, 0x20, 0x78, 0x0f, 0xf2, 0x06, 0x3c, 0xe0, 0x14, 0x00, 0xc4, 0xe1, 0xc2, 0xfa, 0x04, 0x20,
0x50, 0xc1, 0x2c, 0x10, 0x10, 0x00, 0xe1, 0xf0, 0x08, 0x70, 0x0f, 0xc0, 0x2c, 0x70, 0xff, 0xff,
0x08, 0x60, 0x00, 0x40, 0xb9, 0x76, 0x3c, 0x71, 0x08, 0x70, 0x00, 0x30, 0x2c, 0x70, 0x00, 0x40,
0x57, 0x21, 0x2f, 0x57, 0x02, 0x00, 0x30, 0x75, 0xc4, 0x40, 0x0c, 0x60, 0xff, 0x03, 0x56, 0x67,
0x77, 0x75, 0x5c, 0x70, 0xff, 0x03, 0x82, 0x09, 0xc4, 0x30, 0x82, 0x04, 0x26, 0x64, 0x26, 0x74,
0xf2, 0x11, 0x36, 0x74, 0x36, 0x64, 0xf2, 0x0e, 0xc4, 0x30, 0x82, 0x07, 0xc6, 0x76, 0x02, 0x03,
0x24, 0x61, 0xf2, 0x0d, 0x24, 0x71, 0xf2, 0x06, 0xc6, 0x76, 0x02, 0x03, 0x34, 0x71, 0xf2, 0x02,
0x34, 0x61, 0xc4, 0x60, 0x02, 0x06, 0xcc, 0x60, 0xff, 0x03, 0x12, 0x06, 0x04, 0x20, 0xf2, 0x07,
0x14, 0x21, 0x04, 0x61, 0xf2, 0x04, 0x14, 0x21, 0x0c, 0x60, 0xff, 0x03, 0xc4, 0x70, 0x02, 0x08,
0xcc, 0x70, 0xff, 0x03, 0x02, 0x07, 0x14, 0x21, 0x0c, 0x70, 0xff, 0x03, 0xf2, 0x03, 0x14, 0x21,
0x04, 0x71, 0x57, 0x75, 0x66, 0x76, 0xb1, 0x75, 0x08, 0x70, 0x00, 0x40, 0xb9, 0x07, 0x3c, 0x71,
0xe1, 0xf0, 0x00, 0x00, 0x3c, 0x10, 0x24, 0x00, 0xd9, 0xc1, 0x14, 0x00, 0x06, 0xe2, 0x78, 0x20,
0xa0, 0x0f, 0xd9, 0x81, 0x04, 0x00, 0x78, 0x30, 0xa2, 0x0f, 0x24, 0x22, 0xcb, 0x31, 0x00, 0x00,
0x04, 0x92, 0x26, 0x92, 0x23, 0x3e, 0x0c, 0x20, 0xdc, 0x0a, 0x0c, 0x40, 0x10, 0x02, 0xeb, 0x03,
0x00, 0x00, 0x06, 0x2d, 0x0c, 0x20, 0x9c, 0x08, 0x04, 0x30, 0x0c, 0x40, 0x08, 0x01, 0xab, 0x04,
0x00, 0x00, 0x06, 0x2e, 0x0c, 0x20, 0x5c, 0x06, 0x04, 0x31, 0x0c, 0x40, 0x08, 0x01, 0xab, 0x04,
0x00, 0x00, 0xab, 0x00, 0x00, 0x00, 0x04, 0x61, 0x08, 0x70, 0x00, 0x40, 0x08, 0xa0, 0x00, 0x30,
0xb9, 0x67, 0x00, 0x70, 0x0c, 0xb0, 0x82, 0x00, 0x2c, 0xa0, 0x00, 0x49, 0x04, 0x21, 0x04, 0xd0,
0x2b, 0x01, 0x00, 0x00, 0x06, 0xed, 0x78, 0x70, 0xa4, 0x0f, 0xc6, 0xd7, 0x32, 0x48, 0x04, 0xc0,
0x78, 0x70, 0xa6, 0x0f, 0xc6, 0xc7, 0x32, 0x41, 0x06, 0x2d, 0x06, 0x3c, 0x06, 0x41, 0x0b, 0x0c,
0x00, 0x00, 0x86, 0x62, 0x82, 0x38, 0x30, 0x21, 0x06, 0x72, 0x57, 0x71, 0x26, 0x7a, 0x30, 0x77,
0x0c, 0x80, 0x9c, 0x08, 0x5c, 0x70, 0xff, 0x0f, 0x3f, 0x66, 0x07, 0x00, 0x2f, 0x72, 0x08, 0x00,
0x90, 0xf7, 0x82, 0x04, 0xcc, 0x60, 0x46, 0x00, 0x02, 0x25, 0x0c, 0x30, 0x5c, 0x06, 0x2f, 0x72,
0x03, 0x00, 0x10, 0x57, 0xc4, 0x51, 0x0c, 0x40, 0xdc, 0x0a, 0x2f, 0x52, 0x02, 0x00, 0x92, 0x05,
0xc4, 0x60, 0x22, 0x0e, 0x91, 0x07, 0xf2, 0x0c, 0xc4, 0x60, 0x12, 0x0a, 0x04, 0x61, 0x91, 0x67,
0x2f, 0x75, 0x04, 0x00, 0xa0, 0x77, 0x92, 0x04, 0x26, 0x82, 0x24, 0xf1, 0x91, 0xf8, 0x26, 0x54,
0x20, 0x45, 0x26, 0x32, 0x10, 0x33, 0xf7, 0x40, 0xa1, 0x45, 0x2b, 0x0f, 0x00, 0x00, 0xc4, 0x20,
0x32, 0x02, 0x24, 0xe1, 0x24, 0xc1, 0xf2, 0xbd, 0x24, 0xd1, 0xf2, 0xb6, 0xc6, 0xe9, 0xb2, 0x0b,
0xb4, 0xb1, 0x82, 0x09, 0xab, 0x00, 0x00, 0x00, 0x04, 0x61, 0x08, 0x70, 0x00, 0x40, 0xb9, 0x67,
0x00, 0x70, 0xf2, 0xa5, 0x58, 0xc1, 0x14, 0x00, 0x58, 0x81, 0x04, 0x00, 0x2c, 0x10, 0x24, 0x00,
0xe1, 0xf0, 0x00, 0x00, 0x34, 0x18, 0x08, 0x70, 0x0f, 0xc0, 0xc1, 0xe1, 0x2c, 0x70, 0xff, 0xff,
0x08, 0xe0, 0x00, 0x40, 0xb9, 0x7e, 0x3c, 0x71, 0x28, 0x70, 0x76, 0x0f, 0x08, 0x20, 0x00, 0x30,
0x06, 0x37, 0x57, 0x35, 0x2c, 0x20, 0x00, 0x40, 0x66, 0x37, 0x0c, 0x40, 0x00, 0x09, 0x4b, 0x03,
0x00, 0x00, 0xb9, 0x0e, 0x3c, 0x71, 0x0c, 0x20, 0x00, 0x02, 0x0b, 0x14, 0x00, 0x00, 0x40, 0xe1,
0x24, 0x18, 0xe1, 0xf0, 0x3c, 0x10, 0x20, 0x00, 0xd9, 0xc1, 0x10, 0x00, 0xd1, 0x81, 0x08, 0xe0,
0x00, 0x30, 0x38, 0x6e, 0x6c, 0x53, 0x0c, 0x70, 0x74, 0x0f, 0xb9, 0x67, 0x08, 0x00, 0x38, 0x6e,
0x70, 0x53, 0x0c, 0xc0, 0x6c, 0x53, 0xb9, 0x67, 0x0c, 0x00, 0x38, 0x6e, 0x74, 0x53, 0x06, 0xd2,
0xb9, 0x67, 0x10, 0x00, 0x38, 0x6e, 0x78, 0x53, 0x26, 0xce, 0xb9, 0x67, 0x14, 0x00, 0x38, 0x6e,
0x7c, 0x53, 0xb9, 0x67, 0x18, 0x00, 0x38, 0x6e, 0x80, 0x53, 0xb9, 0x67, 0x1c, 0x00, 0x38, 0x6e,
0x84, 0x53, 0xb9, 0x67, 0x20, 0x00, 0x38, 0x6e, 0x88, 0x53, 0xb9, 0x67, 0x24, 0x00, 0xb9, 0x0e,
0x6c, 0x53, 0xb9, 0x0e, 0x7c, 0x53, 0xb9, 0x0e, 0x70, 0x53, 0xb9, 0x0e, 0x80, 0x53, 0xb9, 0x0e,
0x74, 0x53, 0xb9, 0x0e, 0x84, 0x53, 0xb9, 0x0e, 0x78, 0x53, 0xb9, 0x0e, 0x88, 0x53, 0x8b, 0x1d,
0x00, 0x00, 0x06, 0x6d, 0x06, 0x7c, 0x2c, 0xe0, 0x7c, 0x53, 0x38, 0x56, 0x08, 0x00, 0xb1, 0x57,
0x90, 0x5d, 0x92, 0x05, 0x38, 0x56, 0x18, 0x00, 0xb9, 0x57, 0x10, 0x00, 0x24, 0x74, 0xc6, 0x7e,
0x24, 0x64, 0x92, 0xf4, 0xab, 0x01, 0x00, 0x00, 0x04, 0xcb, 0x2b, 0x02, 0x00, 0x00, 0x04, 0xb1,
0x08, 0xe0, 0x00, 0x40, 0xb4, 0xc1, 0x82, 0x09, 0xab, 0x00, 0x00, 0x00, 0x04, 0x21, 0xb9, 0xbe,
0x00, 0x70, 0x2b, 0x01, 0x00, 0x00, 0xf2, 0xf7, 0x08, 0xb0, 0x00, 0x30, 0x2c, 0xb0, 0x00, 0x49,
0x78, 0x70, 0xa4, 0x0f, 0xc6, 0xc7, 0x32, 0x27, 0x04, 0xe0, 0x78, 0x30, 0xa6, 0x0f, 0xc6, 0xe3,
0x32, 0x20, 0x06, 0x2c, 0xcb, 0x31, 0x00, 0x00, 0x90, 0x5d, 0x38, 0x6d, 0x28, 0x00, 0x26, 0x2e,
0x2f, 0x72, 0x02, 0x00, 0x26, 0x67, 0x57, 0x21, 0x92, 0x0d, 0x26, 0x2b, 0x30, 0x72, 0x28, 0x4d,
0x04, 0x00, 0x5c, 0x70, 0xff, 0x0f, 0x3f, 0x77, 0x04, 0x00, 0xc4, 0x70, 0x32, 0x07, 0x06, 0x75,
0xf2, 0x05, 0x26, 0x2b, 0x30, 0x72, 0x5c, 0x70, 0xff, 0x0f, 0xa1, 0x76, 0x24, 0xe1, 0xf2, 0xde,
0x24, 0xc1, 0xf2, 0xd7, 0x58, 0xc1, 0x10, 0x00, 0x50, 0x81, 0x2c, 0x10, 0x20, 0x00, 0xe1, 0xf0,
0x08, 0x20, 0x00, 0x40, 0x34, 0x18, 0x2c, 0x20, 0x08, 0x70, 0x0c, 0x30, 0x38, 0x11, 0x0c, 0x40,
0xf8, 0x02, 0xc1, 0xe1, 0x4b, 0x05, 0x00, 0x00, 0x0c, 0x20, 0x00, 0x40, 0x08, 0xe0, 0x00, 0x30,
0x26, 0x2e, 0x0c, 0x30, 0x30, 0x14, 0x0c, 0x40, 0x00, 0x09, 0x4b, 0x05, 0x00, 0x00, 0x0c, 0x20,
0xc4, 0x52, 0x26, 0x2e, 0x0c, 0x30, 0x30, 0x1d, 0x0c, 0x40, 0x50, 0x01, 0x4b, 0x05, 0x00, 0x00,
0x40, 0xe1, 0x24, 0x18, 0xe1, 0xf0, 0x00, 0x00, 0x3c, 0x10, 0x20, 0x00, 0xd1, 0x81, 0x08, 0x70,
0x00, 0x30, 0xd9, 0xc1, 0x10, 0x00, 0x2c, 0x70, 0x00, 0x01, 0x06, 0x29, 0x0c, 0x20, 0x80, 0x1e,
0x0c, 0x30, 0x80, 0x04, 0xb9, 0x70, 0x70, 0x0f, 0xab, 0x02, 0x00, 0x00, 0x06, 0x2a, 0x0c, 0x20,
0x00, 0x23, 0x0c, 0x30, 0x80, 0x04, 0xab, 0x02, 0x00, 0x00, 0xab, 0x08, 0x00, 0x00, 0x38, 0x30,
0x20, 0x11, 0x38, 0xe0, 0x70, 0x0f, 0x04, 0x20, 0x06, 0xc7, 0x0c, 0xc0, 0x20, 0x11, 0x2b, 0x09,
0x00, 0x00, 0xb1, 0x2e, 0x0c, 0x20, 0x30, 0x11, 0x0c, 0x30, 0x80, 0x1e, 0x36, 0x32, 0x2b, 0x09,
0x00, 0x00, 0xb9, 0x2e, 0x08, 0x00, 0x38, 0x7c, 0x04, 0x00, 0x06, 0xeb, 0x0c, 0xe0, 0x74, 0x0f,
0xa9, 0x7e, 0x04, 0x00, 0x77, 0x78, 0xa9, 0x7e, 0x06, 0x00, 0xeb, 0x09, 0x00, 0x00, 0x38, 0x7c,
0x08, 0x00, 0x99, 0x00, 0x74, 0x0f, 0x06, 0x2e, 0x0c, 0x90, 0x80, 0x1e, 0xa9, 0x7e, 0x02, 0x00,
0xb9, 0x9e, 0x28, 0x00, 0x8b, 0x1f, 0x00, 0x00, 0x04, 0x71, 0x99, 0x70, 0x74, 0x0f, 0x28, 0x7c,
0x0a, 0x00, 0x0c, 0xa0, 0x00, 0x23, 0xa9, 0x7e, 0x02, 0x00, 0xb9, 0xae, 0x28, 0x00, 0xeb, 0x28,
0x00, 0x00, 0x06, 0x2e, 0x8b, 0x1f, 0x00, 0x00, 0x0c, 0x20, 0x64, 0x00, 0x4b, 0x07, 0x00, 0x00,
0x38, 0x60, 0x70, 0x0f, 0x08, 0x70, 0xab, 0x8f, 0x2c, 0x70, 0xab, 0x0f, 0xb9, 0x76, 0x04, 0x00,
0x04, 0x61, 0x08, 0x70, 0x00, 0x40, 0xb9, 0x67, 0x70, 0x10, 0xf2, 0x00, 0xc4, 0x30, 0x04, 0x40,
0x04, 0x50, 0x0c, 0x60, 0x20, 0x00, 0x52, 0x03, 0xa6, 0x42, 0x25, 0x50, 0xb4, 0x61, 0x02, 0x06,
0xa6, 0x44, 0x25, 0x55, 0xa6, 0x33, 0x42, 0xf9, 0xf2, 0xfa, 0x06, 0x24, 0x06, 0x35, 0xe1, 0xf0,
0x3d, 0x32, 0x09, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x16, 0x0c, 0x16, 0x0c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00,
0x64, 0x00, 0x00, 0x00, 0x60, 0x21, 0x06, 0x00, 0x90, 0x00, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00,
0x48, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x30, 0x18, 0x12, 0x00, 0x14, 0xc8, 0x00, 0x00,
0x08, 0x08, 0x00, 0x00, 0x14, 0x64, 0x08, 0x08, 0xe8, 0x03, 0x2c, 0x01, 0x14, 0x32, 0x10, 0x10,
0x20, 0x18, 0x07, 0x00, 0x64, 0x00, 0x64, 0x10, 0x63, 0x07, 0x02, 0x00, 0x32, 0x30, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x64, 0xc0, 0x12, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0xa0, 0x0f, 0x00, 0x00, 0x30, 0x31, 0x83, 0x01, 0xff, 0x0f, 0xff, 0x0f, 0x00, 0x80, 0x00, 0x80,
0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x0b, 0x16, 0x0c, 0x00, 0x00,
0x00, 0x80, 0x00, 0x80, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x2c, 0x01, 0x01, 0x00,
0x00, 0x80, 0x00, 0x00, 0xc8, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xc8, 0x00, 0x01, 0x00,
0x40, 0xc2, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xff, 0x00, 0x30, 0x00, 0xff, 0x05, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xa8, 0x00, 0x10, 0x3f, 0x10, 0x3f, 0x64, 0x3c, 0x10, 0x00,
0x00, 0x00, 0x04, 0x82, 0x00, 0x00, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00,
0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 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, 0xff, 0x0f, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x66, 0x20, 0x00, 0x02, 0x00, 0xf0, 0xff, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe8, 0x03, 0x00, 0x0f, 0x17, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 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, 0x51, 0x84, 0x40, 0x00, 0x15, 0x50, 0x80, 0x00, 0x80, 0x40, 0x00, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0x3f, 0x00, 0x00, 0xbf,
0x01, 0x20, 0x00, 0x00, 0x0c, 0x0d, 0x0e, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x21, 0x22, 0x23, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03,
0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x00, 0x00, 0xff, 0x00, 0x30, 0x86,
0x00, 0x00, 0x00, 0x52, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x0f, 0x00,
0x50, 0x28, 0x28, 0x00, 0x50, 0x28, 0x28, 0x00, 0x50, 0x28, 0x28, 0x00, 0x50, 0x28, 0x28, 0x00,
0x50, 0x28, 0x28, 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, 0x00, 0x00, 0x50, 0x2a, 0x28, 0x02,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x26, 0x07, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0x03, 0x02, 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, 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, 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, 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, 0x48, 0x22, 0x09, 0x08, 0x49, 0x26, 0x09, 0x08, 0x51, 0x46, 0x09, 0x08,
0x44, 0x16, 0x09, 0x08, 0x4a, 0x2e, 0x09, 0x08, 0x4d, 0x36, 0x09, 0x08, 0x47, 0x1e, 0x09, 0x08,
0x48, 0x26, 0x09, 0x08, 0x51, 0x46, 0x09, 0x08, 0x44, 0x16, 0x09, 0x08, 0xff, 0xff, 0x0f, 0x00,
0xff, 0xff, 0x0f, 0x00, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5c, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5c, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0x75, 0xd6, 0xf9, 0x0c,
0x75, 0xd6, 0xf9, 0x0c, 0x5c, 0x76, 0x39, 0x0a, 0x5d, 0x76, 0x39, 0x0a, 0x68, 0xa6, 0x39, 0x0a,
0x57, 0x5e, 0x39, 0x0a, 0x61, 0x86, 0x39, 0x0a, 0x62, 0x8e, 0x39, 0x0a, 0x5d, 0x76, 0x39, 0x0a,
0x5d, 0x76, 0x39, 0x0a, 0x68, 0xa6, 0x39, 0x0a, 0x58, 0x62, 0x39, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x39, 0x0a, 0x5d, 0x76, 0x39, 0x0a, 0x68, 0xa6, 0x39, 0x0a,
0x57, 0x5e, 0x39, 0x0a, 0x61, 0x86, 0x39, 0x0a, 0x62, 0x8e, 0x39, 0x0a, 0x5c, 0x76, 0x39, 0x0a,
0x5d, 0x76, 0x39, 0x0a, 0x68, 0xa6, 0x39, 0x0a, 0x58, 0x62, 0x39, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0xf8, 0x0a, 0x00, 0x02, 0xf8, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0xc0, 0xf1, 0x3f, 0x21, 0xc0, 0xf1, 0x3f, 0x42, 0xc0, 0xf1, 0x3f,
0x63, 0xc0, 0xf1, 0x3f, 0x84, 0xc0, 0xf1, 0x3f, 0xa5, 0xc0, 0xf1, 0x3f, 0xc6, 0xc0, 0xf1, 0x3f,
0xe7, 0xc0, 0xf1, 0x3f, 0x08, 0xc1, 0xf1, 0x3f, 0x29, 0xc1, 0xf1, 0x3f, 0x4a, 0xc1, 0xf1, 0x3f,
0x6b, 0xc1, 0xf1, 0x3f, 0x8c, 0xc1, 0xf1, 0x3f, 0xad, 0xc1, 0xf1, 0x3f, 0xce, 0xc1, 0xf1, 0x3f,
0xef, 0xc1, 0xf1, 0x3f, 0x10, 0xc2, 0xf1, 0x3f, 0x31, 0xc2, 0xf1, 0x3f, 0x52, 0xc2, 0xf1, 0x3f,
0x73, 0xc2, 0xf1, 0x7f, 0x94, 0xc2, 0xf1, 0x3f, 0xb5, 0xc2, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x31, 0x28, 0x09, 0x00, 0x2b, 0x28, 0x03, 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, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xff, 0x03, 0x00, 0x00,
0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x19, 0x2e, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x19, 0x18, 0x2e, 0x19,
0x30, 0x30, 0x30, 0x30, 0x10, 0x10, 0x10, 0x10, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0xcc, 0xcc, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x16, 0x0c, 0x16, 0x0c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00,
0x64, 0x00, 0x00, 0x00, 0x60, 0x21, 0x06, 0x00, 0x90, 0x00, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00,
0x48, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x30, 0x18, 0x12, 0x00, 0x14, 0xc8, 0x00, 0x00,
0x08, 0x08, 0x00, 0x00, 0x14, 0x64, 0x08, 0x08, 0xe8, 0x03, 0x2c, 0x01, 0x14, 0x32, 0x10, 0x10,
0x20, 0x18, 0x07, 0x00, 0x64, 0x00, 0x64, 0x10, 0x63, 0x07, 0x02, 0x00, 0x32, 0x30, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x64, 0xc0, 0x12, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0xa0, 0x0f, 0x00, 0x00, 0x30, 0x31, 0x83, 0x01, 0xff, 0x0f, 0xff, 0x0f, 0x00, 0x80, 0x00, 0x80,
0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x0b, 0x17, 0x0f, 0x00, 0x00,
0x00, 0x80, 0x00, 0x80, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x2c, 0x01, 0x01, 0x00,
0x00, 0x80, 0x00, 0x00, 0xc8, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xc8, 0x00, 0x01, 0x00,
0x40, 0xc2, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xff, 0x00, 0x30, 0x00, 0xff, 0x05, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xa8, 0x00, 0x10, 0x3f, 0x10, 0x3f, 0x64, 0x3c, 0x10, 0x00,
0x00, 0x00, 0x04, 0x82, 0x00, 0x00, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00,
0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 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, 0xff, 0x0f, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x66, 0x20, 0x00, 0x02, 0x00, 0xf0, 0xff, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe8, 0x03, 0x00, 0x0f, 0x17, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 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, 0x51, 0x84, 0x40, 0x00, 0x05, 0x00, 0x80, 0x00, 0x40, 0x40, 0x00, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0x3f, 0x00, 0x00, 0xbf,
0x01, 0x20, 0x00, 0x00, 0x0c, 0x0d, 0x0e, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x21, 0x22, 0x23, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03,
0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x00, 0x00, 0xff, 0x00, 0x30, 0x86,
0x00, 0x00, 0x00, 0x52, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x0f, 0x00,
0x50, 0x28, 0x28, 0x00, 0x50, 0x28, 0x28, 0x00, 0x48, 0x29, 0x20, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x29, 0x28, 0x01,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x26, 0x07, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0x03, 0x02, 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, 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, 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, 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, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x09, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x18, 0x62, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x04, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x19, 0x66, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x27, 0xa2, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x17, 0x62, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x36, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0e, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x27, 0xa2, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x21, 0x8a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x36, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x04, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x25, 0x9a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0e, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x27, 0xa2, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x04, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x21, 0x8a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0e, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x27, 0xa2, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x18, 0x66, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x04, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x21, 0x8a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x09, 0x26, 0x08, 0x06,
0x0e, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x21, 0x8a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x36, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x09, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x07, 0x22, 0x08, 0x06,
0x03, 0x12, 0x08, 0x06, 0x06, 0x1e, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x09, 0x26, 0x08, 0x06,
0x0f, 0x42, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x15, 0x56, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x07, 0x1e, 0x08, 0x06, 0x04, 0x16, 0x08, 0x06,
0x08, 0x22, 0x08, 0x06, 0x01, 0x06, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06,
0x0b, 0x2e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x07, 0x1e, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0xc0, 0xf1, 0x3f, 0x21, 0xc0, 0xf1, 0x3f, 0x42, 0xc0, 0xf1, 0x3f,
0x63, 0xc0, 0xf1, 0x3f, 0x84, 0xc0, 0xf1, 0x3f, 0xa5, 0xc0, 0xf1, 0x3f, 0xc6, 0xc0, 0xf1, 0x3f,
0xe7, 0xc0, 0xf1, 0x3f, 0x08, 0xc1, 0xf1, 0x3f, 0x29, 0xc1, 0xf1, 0x3f, 0x4a, 0xc1, 0xf1, 0x3f,
0x6b, 0xc1, 0xf1, 0x3f, 0x8c, 0xc1, 0xf1, 0x3f, 0xad, 0xc1, 0xf1, 0x3f, 0xce, 0xc1, 0xf1, 0x3f,
0xef, 0xc1, 0xf1, 0x3f, 0x10, 0xc2, 0xf1, 0x3f, 0x31, 0xc2, 0xf1, 0x3f, 0x52, 0xc2, 0xf1, 0x3f,
0x73, 0xc2, 0xf1, 0x7f, 0x94, 0xc2, 0xf1, 0x3f, 0xb5, 0xc2, 0xf1, 0x3b, 0x00, 0xc0, 0xf1, 0x3b,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x31, 0x28, 0x09, 0x00, 0x2e, 0x28, 0x03, 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, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xff, 0x03, 0x00, 0x00,
0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x2e, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x10, 0x10, 0x10, 0x10, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0xcc, 0xcc, 0xcc, 0x0c, 0x43, 0x4d, 0x43, 0x53, 0x32, 0x54, 0x41, 0x47
};
#endif // __IST30XX_CMCS_BIN_H__

View file

@ -0,0 +1,615 @@
#ifndef __IST30XX_CMCS_BIN_JIT_H__
#define __IST30XX_CMCS_BIN_JIT_H__
/* ist30xx cmcs binary: model( ) */
static unsigned char ist30xx_cmcs_jit[] = {
0x43, 0x4d, 0x43, 0x53, 0x32, 0x54, 0x41, 0x47, 0x02, 0x00, 0x00, 0x00, 0x43, 0x4d, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x80, 0x1e, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x4e, 0x00, 0x4e, 0x00,
0x43, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
0x4e, 0x00, 0x54, 0x00, 0x02, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 0xac, 0x0d, 0xac, 0x0d,
0x28, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x43, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00,
0x38, 0xff, 0xc8, 0x00, 0xbc, 0x02, 0x14, 0x05, 0xbc, 0x02, 0x32, 0x05, 0x30, 0x02, 0x10, 0x04,
0x20, 0x11, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x08, 0x70, 0x00, 0x40, 0x00, 0x03, 0x00, 0x00,
0x00, 0x40, 0x00, 0x30, 0x00, 0x09, 0x00, 0x00, 0xc4, 0x52, 0x00, 0x30, 0x50, 0x01, 0x00, 0x00,
0x30, 0x11, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x30, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
0x30, 0x1d, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00, 0x3d, 0x32, 0x09, 0xd2, 0x60, 0x28, 0xd6, 0x1f,
0x61, 0x18, 0xd4, 0x69, 0x08, 0x01, 0x00, 0x00, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01,
0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xf4, 0x01, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d,
0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xac, 0x0d, 0xf0, 0x0a, 0xe4, 0x0c, 0xf0, 0x0a, 0xe4, 0x0c,
0xc4, 0x09, 0xe4, 0x0c, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x10, 0xa8, 0x10, 0x0c, 0x80, 0x5c, 0x06,
0x2b, 0x2b, 0x00, 0x00, 0xf2, 0xfe, 0x00, 0x00, 0x08, 0x70, 0x00, 0x40, 0x38, 0x67, 0x08, 0x70,
0xb9, 0x67, 0x08, 0x70, 0xe1, 0xf0, 0x00, 0x00, 0x08, 0x60, 0x00, 0x40, 0x38, 0x76, 0x08, 0x70,
0xd6, 0x72, 0x82, 0xfd, 0xe1, 0xf0, 0x00, 0x00, 0x08, 0x60, 0x00, 0x40, 0x38, 0x76, 0x70, 0x70,
0x64, 0x71, 0xb9, 0x76, 0x70, 0x70, 0xe1, 0xf0, 0x08, 0x60, 0x00, 0x40, 0x38, 0x76, 0x70, 0x70,
0x64, 0x72, 0xb9, 0x76, 0x70, 0x70, 0xe1, 0xf0, 0x67, 0x31, 0x14, 0x71, 0x34, 0x31, 0xc6, 0x37,
0x82, 0x04, 0xb1, 0x02, 0x24, 0x24, 0xf2, 0xfb, 0xe1, 0xf0, 0x00, 0x00, 0x77, 0x41, 0x14, 0x71,
0x34, 0x41, 0xc6, 0x47, 0x82, 0x04, 0xb1, 0x32, 0x24, 0x24, 0xf2, 0xfb, 0xe1, 0xf0, 0x00, 0x00,
0xf7, 0x40, 0x04, 0x70, 0xc6, 0x74, 0x82, 0x07, 0x2f, 0x67, 0x07, 0x00, 0x26, 0x62, 0xa1, 0x36,
0x24, 0x71, 0xf2, 0xf9, 0xe1, 0xf0, 0x00, 0x00, 0x04, 0x70, 0xc6, 0x74, 0x82, 0x06, 0x2f, 0x67,
0x02, 0x00, 0x91, 0x36, 0x24, 0x71, 0xf2, 0xfa, 0xe1, 0xf0, 0x00, 0x00, 0x34, 0x14, 0xb1, 0xf1,
0x77, 0x41, 0x04, 0x70, 0x14, 0x61, 0x34, 0x41, 0xc6, 0x46, 0x82, 0x09, 0x2f, 0x57, 0x03, 0x00,
0x30, 0xf5, 0x2f, 0x57, 0x02, 0x00, 0xb1, 0xf5, 0x24, 0x74, 0xf2, 0xf6, 0x30, 0xf1, 0x24, 0x14,
0xe1, 0xf0, 0x00, 0x00, 0x34, 0x14, 0x0c, 0x70, 0x4a, 0x01, 0xb1, 0x71, 0x30, 0x71, 0x14, 0x61,
0xc4, 0x70, 0x26, 0x67, 0xb1, 0x61, 0x92, 0xfb, 0x24, 0x14, 0xe1, 0xf0, 0x34, 0x1c, 0x26, 0x22,
0xc9, 0xe1, 0x04, 0x00, 0x06, 0xe2, 0xb1, 0x01, 0x57, 0xe1, 0xb1, 0x01, 0x26, 0xe2, 0x30, 0x71,
0xc6, 0x7e, 0xb2, 0x07, 0x8b, 0x06, 0x00, 0x00, 0x30, 0x71, 0x24, 0x71, 0xb1, 0x71, 0xf2, 0xf8,
0x48, 0xe1, 0x04, 0x00, 0x24, 0x1c, 0xe1, 0xf0, 0x08, 0x60, 0x00, 0x30, 0x38, 0x76, 0x28, 0x00,
0xd4, 0x74, 0x92, 0xfd, 0xe1, 0xf0, 0x00, 0x00, 0x77, 0x31, 0x04, 0x70, 0x14, 0x61, 0x34, 0x31,
0xc6, 0x36, 0x82, 0x05, 0x30, 0x52, 0x24, 0x24, 0x26, 0x75, 0xf2, 0xfa, 0x06, 0x27, 0xe1, 0xf0,
0x04, 0x6c, 0xa9, 0x60, 0xa6, 0x0f, 0x0c, 0x60, 0x16, 0x00, 0xa9, 0x60, 0xa4, 0x0f, 0x04, 0x6a,
0xa9, 0x60, 0xa2, 0x0f, 0x0c, 0x60, 0x13, 0x00, 0xa9, 0x60, 0xa0, 0x0f, 0x0c, 0x50, 0xee, 0x00,
0x06, 0x76, 0x0c, 0x70, 0x5c, 0x0f, 0xb9, 0x50, 0x5c, 0x0f, 0x0c, 0x60, 0xef, 0x00, 0xb9, 0x67,
0x04, 0x00, 0x0c, 0x60, 0xf3, 0x0c, 0xb9, 0x67, 0x08, 0x00, 0xb9, 0x67, 0x0c, 0x00, 0xb9, 0x67,
0x10, 0x00, 0xe1, 0xf0, 0x3c, 0x10, 0x10, 0x00, 0xd1, 0xc1, 0x06, 0xd3, 0x78, 0x30, 0xa6, 0x0f,
0x06, 0xe2, 0x06, 0xc4, 0xcb, 0x31, 0x00, 0x00, 0x78, 0x60, 0xa2, 0x0f, 0x2f, 0x7d, 0x02, 0x00,
0xc6, 0xd6, 0xb1, 0x7c, 0xa2, 0x12, 0x06, 0x56, 0x0c, 0x50, 0x5c, 0x0f, 0x38, 0x55, 0x04, 0x00,
0x04, 0x20, 0xc6, 0x75, 0x92, 0x03, 0x28, 0x20, 0x7a, 0x0f, 0x38, 0x60, 0x5c, 0x0f, 0xc6, 0x76,
0x92, 0x10, 0x28, 0x20, 0x7a, 0x0f, 0xf2, 0x0d, 0x78, 0x70, 0xa0, 0x0f, 0xc6, 0xe7, 0xb2, 0x04,
0x28, 0x20, 0x78, 0x0f, 0xf2, 0x06, 0x3c, 0xe0, 0x14, 0x00, 0xc4, 0xe1, 0xc2, 0xfa, 0x04, 0x20,
0x50, 0xc1, 0x2c, 0x10, 0x10, 0x00, 0xe1, 0xf0, 0x08, 0x70, 0x0f, 0xc0, 0x2c, 0x70, 0xff, 0xff,
0x08, 0x60, 0x00, 0x40, 0xb9, 0x76, 0x3c, 0x71, 0x08, 0x70, 0x00, 0x30, 0x2c, 0x70, 0x00, 0x40,
0x57, 0x21, 0x2f, 0x57, 0x02, 0x00, 0x30, 0x75, 0xc4, 0x40, 0x0c, 0x60, 0xff, 0x03, 0x56, 0x67,
0x77, 0x75, 0x5c, 0x70, 0xff, 0x03, 0x82, 0x09, 0xc4, 0x30, 0x82, 0x04, 0x26, 0x64, 0x26, 0x74,
0xf2, 0x11, 0x36, 0x74, 0x36, 0x64, 0xf2, 0x0e, 0xc4, 0x30, 0x82, 0x07, 0xc6, 0x76, 0x02, 0x03,
0x24, 0x61, 0xf2, 0x0d, 0x24, 0x71, 0xf2, 0x06, 0xc6, 0x76, 0x02, 0x03, 0x34, 0x71, 0xf2, 0x02,
0x34, 0x61, 0xc4, 0x60, 0x02, 0x06, 0xcc, 0x60, 0xff, 0x03, 0x12, 0x06, 0x04, 0x20, 0xf2, 0x07,
0x14, 0x21, 0x04, 0x61, 0xf2, 0x04, 0x14, 0x21, 0x0c, 0x60, 0xff, 0x03, 0xc4, 0x70, 0x02, 0x08,
0xcc, 0x70, 0xff, 0x03, 0x02, 0x07, 0x14, 0x21, 0x0c, 0x70, 0xff, 0x03, 0xf2, 0x03, 0x14, 0x21,
0x04, 0x71, 0x57, 0x75, 0x66, 0x76, 0xb1, 0x75, 0x08, 0x70, 0x00, 0x40, 0xb9, 0x07, 0x3c, 0x71,
0xe1, 0xf0, 0x00, 0x00, 0x3c, 0x10, 0x24, 0x00, 0xd9, 0xc1, 0x14, 0x00, 0x06, 0xe2, 0x78, 0x20,
0xa0, 0x0f, 0xd9, 0x81, 0x04, 0x00, 0x78, 0x30, 0xa2, 0x0f, 0x24, 0x22, 0xcb, 0x31, 0x00, 0x00,
0x04, 0x92, 0x26, 0x92, 0x23, 0x3e, 0x0c, 0x20, 0xdc, 0x0a, 0x0c, 0x40, 0x10, 0x02, 0xeb, 0x03,
0x00, 0x00, 0x06, 0x2d, 0x0c, 0x20, 0x9c, 0x08, 0x04, 0x30, 0x0c, 0x40, 0x08, 0x01, 0xab, 0x04,
0x00, 0x00, 0x06, 0x2e, 0x0c, 0x20, 0x5c, 0x06, 0x04, 0x31, 0x0c, 0x40, 0x08, 0x01, 0xab, 0x04,
0x00, 0x00, 0xab, 0x00, 0x00, 0x00, 0x04, 0x61, 0x08, 0x70, 0x00, 0x40, 0x08, 0xa0, 0x00, 0x30,
0xb9, 0x67, 0x00, 0x70, 0x0c, 0xb0, 0x82, 0x00, 0x2c, 0xa0, 0x00, 0x49, 0x04, 0x21, 0x04, 0xd0,
0x2b, 0x01, 0x00, 0x00, 0x06, 0xed, 0x78, 0x70, 0xa4, 0x0f, 0xc6, 0xd7, 0x32, 0x48, 0x04, 0xc0,
0x78, 0x70, 0xa6, 0x0f, 0xc6, 0xc7, 0x32, 0x41, 0x06, 0x2d, 0x06, 0x3c, 0x06, 0x41, 0x0b, 0x0c,
0x00, 0x00, 0x86, 0x62, 0x82, 0x38, 0x30, 0x21, 0x06, 0x72, 0x57, 0x71, 0x26, 0x7a, 0x30, 0x77,
0x0c, 0x80, 0x9c, 0x08, 0x5c, 0x70, 0xff, 0x0f, 0x3f, 0x66, 0x07, 0x00, 0x2f, 0x72, 0x08, 0x00,
0x90, 0xf7, 0x82, 0x04, 0xcc, 0x60, 0x46, 0x00, 0x02, 0x25, 0x0c, 0x30, 0x5c, 0x06, 0x2f, 0x72,
0x03, 0x00, 0x10, 0x57, 0xc4, 0x51, 0x0c, 0x40, 0xdc, 0x0a, 0x2f, 0x52, 0x02, 0x00, 0x92, 0x05,
0xc4, 0x60, 0x22, 0x0e, 0x91, 0x07, 0xf2, 0x0c, 0xc4, 0x60, 0x12, 0x0a, 0x04, 0x61, 0x91, 0x67,
0x2f, 0x75, 0x04, 0x00, 0xa0, 0x77, 0x92, 0x04, 0x26, 0x82, 0x24, 0xf1, 0x91, 0xf8, 0x26, 0x54,
0x20, 0x45, 0x26, 0x32, 0x10, 0x33, 0xf7, 0x40, 0xa1, 0x45, 0x2b, 0x0f, 0x00, 0x00, 0xc4, 0x20,
0x32, 0x02, 0x24, 0xe1, 0x24, 0xc1, 0xf2, 0xbd, 0x24, 0xd1, 0xf2, 0xb6, 0xc6, 0xe9, 0xb2, 0x0b,
0xb4, 0xb1, 0x82, 0x09, 0xab, 0x00, 0x00, 0x00, 0x04, 0x61, 0x08, 0x70, 0x00, 0x40, 0xb9, 0x67,
0x00, 0x70, 0xf2, 0xa5, 0x58, 0xc1, 0x14, 0x00, 0x58, 0x81, 0x04, 0x00, 0x2c, 0x10, 0x24, 0x00,
0xe1, 0xf0, 0x00, 0x00, 0x34, 0x18, 0x08, 0x70, 0x0f, 0xc0, 0xc1, 0xe1, 0x2c, 0x70, 0xff, 0xff,
0x08, 0xe0, 0x00, 0x40, 0xb9, 0x7e, 0x3c, 0x71, 0x28, 0x70, 0x76, 0x0f, 0x08, 0x20, 0x00, 0x30,
0x06, 0x37, 0x57, 0x35, 0x2c, 0x20, 0x00, 0x40, 0x66, 0x37, 0x0c, 0x40, 0x00, 0x09, 0x4b, 0x03,
0x00, 0x00, 0xb9, 0x0e, 0x3c, 0x71, 0x0c, 0x20, 0x00, 0x02, 0x0b, 0x14, 0x00, 0x00, 0x40, 0xe1,
0x24, 0x18, 0xe1, 0xf0, 0x3c, 0x10, 0x20, 0x00, 0xd9, 0xc1, 0x10, 0x00, 0xd1, 0x81, 0x08, 0xe0,
0x00, 0x30, 0x38, 0x6e, 0x6c, 0x53, 0x0c, 0x70, 0x74, 0x0f, 0xb9, 0x67, 0x08, 0x00, 0x38, 0x6e,
0x70, 0x53, 0x0c, 0xc0, 0x6c, 0x53, 0xb9, 0x67, 0x0c, 0x00, 0x38, 0x6e, 0x74, 0x53, 0x06, 0xd2,
0xb9, 0x67, 0x10, 0x00, 0x38, 0x6e, 0x78, 0x53, 0x26, 0xce, 0xb9, 0x67, 0x14, 0x00, 0x38, 0x6e,
0x7c, 0x53, 0xb9, 0x67, 0x18, 0x00, 0x38, 0x6e, 0x80, 0x53, 0xb9, 0x67, 0x1c, 0x00, 0x38, 0x6e,
0x84, 0x53, 0xb9, 0x67, 0x20, 0x00, 0x38, 0x6e, 0x88, 0x53, 0xb9, 0x67, 0x24, 0x00, 0xb9, 0x0e,
0x6c, 0x53, 0xb9, 0x0e, 0x7c, 0x53, 0xb9, 0x0e, 0x70, 0x53, 0xb9, 0x0e, 0x80, 0x53, 0xb9, 0x0e,
0x74, 0x53, 0xb9, 0x0e, 0x84, 0x53, 0xb9, 0x0e, 0x78, 0x53, 0xb9, 0x0e, 0x88, 0x53, 0x8b, 0x1d,
0x00, 0x00, 0x06, 0x6d, 0x06, 0x7c, 0x2c, 0xe0, 0x7c, 0x53, 0x38, 0x56, 0x08, 0x00, 0xb1, 0x57,
0x90, 0x5d, 0x92, 0x05, 0x38, 0x56, 0x18, 0x00, 0xb9, 0x57, 0x10, 0x00, 0x24, 0x74, 0xc6, 0x7e,
0x24, 0x64, 0x92, 0xf4, 0xab, 0x01, 0x00, 0x00, 0x04, 0xcb, 0x2b, 0x02, 0x00, 0x00, 0x04, 0xb1,
0x08, 0xe0, 0x00, 0x40, 0xb4, 0xc1, 0x82, 0x09, 0xab, 0x00, 0x00, 0x00, 0x04, 0x21, 0xb9, 0xbe,
0x00, 0x70, 0x2b, 0x01, 0x00, 0x00, 0xf2, 0xf7, 0x08, 0xb0, 0x00, 0x30, 0x2c, 0xb0, 0x00, 0x49,
0x78, 0x70, 0xa4, 0x0f, 0xc6, 0xc7, 0x32, 0x27, 0x04, 0xe0, 0x78, 0x30, 0xa6, 0x0f, 0xc6, 0xe3,
0x32, 0x20, 0x06, 0x2c, 0xcb, 0x31, 0x00, 0x00, 0x90, 0x5d, 0x38, 0x6d, 0x28, 0x00, 0x26, 0x2e,
0x2f, 0x72, 0x02, 0x00, 0x26, 0x67, 0x57, 0x21, 0x92, 0x0d, 0x26, 0x2b, 0x30, 0x72, 0x28, 0x4d,
0x04, 0x00, 0x5c, 0x70, 0xff, 0x0f, 0x3f, 0x77, 0x04, 0x00, 0xc4, 0x70, 0x32, 0x07, 0x06, 0x75,
0xf2, 0x05, 0x26, 0x2b, 0x30, 0x72, 0x5c, 0x70, 0xff, 0x0f, 0xa1, 0x76, 0x24, 0xe1, 0xf2, 0xde,
0x24, 0xc1, 0xf2, 0xd7, 0x58, 0xc1, 0x10, 0x00, 0x50, 0x81, 0x2c, 0x10, 0x20, 0x00, 0xe1, 0xf0,
0x08, 0x20, 0x00, 0x40, 0x34, 0x18, 0x2c, 0x20, 0x08, 0x70, 0x0c, 0x30, 0x38, 0x11, 0x0c, 0x40,
0xf8, 0x02, 0xc1, 0xe1, 0x4b, 0x05, 0x00, 0x00, 0x0c, 0x20, 0x00, 0x40, 0x08, 0xe0, 0x00, 0x30,
0x26, 0x2e, 0x0c, 0x30, 0x30, 0x14, 0x0c, 0x40, 0x00, 0x09, 0x4b, 0x05, 0x00, 0x00, 0x0c, 0x20,
0xc4, 0x52, 0x26, 0x2e, 0x0c, 0x30, 0x30, 0x1d, 0x0c, 0x40, 0x50, 0x01, 0x4b, 0x05, 0x00, 0x00,
0x40, 0xe1, 0x24, 0x18, 0xe1, 0xf0, 0x00, 0x00, 0x3c, 0x10, 0x20, 0x00, 0xd1, 0x81, 0x08, 0x70,
0x00, 0x30, 0xd9, 0xc1, 0x10, 0x00, 0x2c, 0x70, 0x00, 0x01, 0x06, 0x29, 0x0c, 0x20, 0x80, 0x1e,
0x0c, 0x30, 0x80, 0x04, 0xb9, 0x70, 0x70, 0x0f, 0xab, 0x02, 0x00, 0x00, 0x06, 0x2a, 0x0c, 0x20,
0x00, 0x23, 0x0c, 0x30, 0x80, 0x04, 0xab, 0x02, 0x00, 0x00, 0xab, 0x08, 0x00, 0x00, 0x38, 0x30,
0x20, 0x11, 0x38, 0xe0, 0x70, 0x0f, 0x04, 0x20, 0x06, 0xc7, 0x0c, 0xc0, 0x20, 0x11, 0x2b, 0x09,
0x00, 0x00, 0xb1, 0x2e, 0x0c, 0x20, 0x30, 0x11, 0x0c, 0x30, 0x80, 0x1e, 0x36, 0x32, 0x2b, 0x09,
0x00, 0x00, 0xb9, 0x2e, 0x08, 0x00, 0x38, 0x7c, 0x04, 0x00, 0x06, 0xeb, 0x0c, 0xe0, 0x74, 0x0f,
0xa9, 0x7e, 0x04, 0x00, 0x77, 0x78, 0xa9, 0x7e, 0x06, 0x00, 0xeb, 0x09, 0x00, 0x00, 0x38, 0x7c,
0x08, 0x00, 0x99, 0x00, 0x74, 0x0f, 0x06, 0x2e, 0x0c, 0x90, 0x80, 0x1e, 0xa9, 0x7e, 0x02, 0x00,
0xb9, 0x9e, 0x28, 0x00, 0x8b, 0x1f, 0x00, 0x00, 0x04, 0x71, 0x99, 0x70, 0x74, 0x0f, 0x28, 0x7c,
0x0a, 0x00, 0x0c, 0xa0, 0x00, 0x23, 0xa9, 0x7e, 0x02, 0x00, 0xb9, 0xae, 0x28, 0x00, 0xeb, 0x28,
0x00, 0x00, 0x06, 0x2e, 0x8b, 0x1f, 0x00, 0x00, 0x0c, 0x20, 0x64, 0x00, 0x4b, 0x07, 0x00, 0x00,
0x38, 0x60, 0x70, 0x0f, 0x08, 0x70, 0xab, 0x8f, 0x2c, 0x70, 0xab, 0x0f, 0xb9, 0x76, 0x04, 0x00,
0x04, 0x61, 0x08, 0x70, 0x00, 0x40, 0xb9, 0x67, 0x70, 0x10, 0xf2, 0x00, 0xc4, 0x30, 0x04, 0x40,
0x04, 0x50, 0x0c, 0x60, 0x20, 0x00, 0x52, 0x03, 0xa6, 0x42, 0x25, 0x50, 0xb4, 0x61, 0x02, 0x06,
0xa6, 0x44, 0x25, 0x55, 0xa6, 0x33, 0x42, 0xf9, 0xf2, 0xfa, 0x06, 0x24, 0x06, 0x35, 0xe1, 0xf0,
0x3d, 0x32, 0x09, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x16, 0x0c, 0x16, 0x0c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00,
0x64, 0x00, 0x00, 0x00, 0x60, 0x21, 0x06, 0x00, 0x90, 0x00, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00,
0x48, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x30, 0x18, 0x12, 0x00, 0x14, 0xc8, 0x00, 0x00,
0x08, 0x08, 0x00, 0x00, 0x14, 0x64, 0x08, 0x08, 0xe8, 0x03, 0x2c, 0x01, 0x14, 0x32, 0x10, 0x10,
0x20, 0x18, 0x07, 0x00, 0x64, 0x00, 0x64, 0x10, 0x63, 0x07, 0x02, 0x00, 0x32, 0x30, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x64, 0xc0, 0x12, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0xa0, 0x0f, 0x00, 0x00, 0x30, 0x31, 0x83, 0x01, 0xff, 0x0f, 0xff, 0x0f, 0x00, 0x80, 0x00, 0x80,
0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x0b, 0x16, 0x0c, 0x00, 0x00,
0x00, 0x80, 0x00, 0x80, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x2c, 0x01, 0x01, 0x00,
0x00, 0x80, 0x00, 0x00, 0xc8, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xc8, 0x00, 0x01, 0x00,
0x40, 0xc2, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xff, 0x00, 0x30, 0x00, 0xff, 0x05, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xa8, 0x00, 0x10, 0x3f, 0x10, 0x3f, 0x64, 0x3c, 0x10, 0x00,
0x00, 0x00, 0x04, 0x82, 0x00, 0x00, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00,
0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 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, 0xff, 0x0f, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x66, 0x20, 0x00, 0x02, 0x00, 0xf0, 0xff, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe8, 0x03, 0x00, 0x0f, 0x17, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 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, 0x51, 0x84, 0x40, 0x00, 0x15, 0x50, 0x80, 0x00, 0x80, 0x40, 0x00, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0x3f, 0x00, 0x00, 0xbf,
0x01, 0x20, 0x00, 0x00, 0x0c, 0x0d, 0x0e, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x21, 0x22, 0x23, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03,
0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x00, 0x00, 0xff, 0x00, 0x30, 0x86,
0x00, 0x00, 0x00, 0x52, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x0f, 0x00,
0x50, 0x28, 0x28, 0x00, 0x50, 0x28, 0x28, 0x00, 0x50, 0x28, 0x28, 0x00, 0x50, 0x28, 0x28, 0x00,
0x50, 0x28, 0x28, 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, 0x00, 0x00, 0x50, 0x2a, 0x28, 0x02,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x26, 0x07, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0x03, 0x02, 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, 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, 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, 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, 0x48, 0x22, 0x09, 0x08, 0x49, 0x26, 0x09, 0x08, 0x51, 0x46, 0x09, 0x08,
0x44, 0x16, 0x09, 0x08, 0x4a, 0x2e, 0x09, 0x08, 0x4d, 0x36, 0x09, 0x08, 0x47, 0x1e, 0x09, 0x08,
0x48, 0x26, 0x09, 0x08, 0x51, 0x46, 0x09, 0x08, 0x44, 0x16, 0x09, 0x08, 0xff, 0xff, 0x0f, 0x00,
0xff, 0xff, 0x0f, 0x00, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x66, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5c, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5c, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x57, 0x5e, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x63, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x09, 0x0a, 0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a,
0x57, 0x5e, 0x09, 0x0a, 0x61, 0x86, 0x09, 0x0a, 0x62, 0x8e, 0x09, 0x0a, 0x5c, 0x76, 0x09, 0x0a,
0x5d, 0x76, 0x09, 0x0a, 0x68, 0xa6, 0x09, 0x0a, 0x58, 0x62, 0x09, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0xff, 0xff, 0x0f, 0x0a, 0x75, 0xd6, 0xf9, 0x0c,
0x75, 0xd6, 0xf9, 0x0c, 0x5c, 0x76, 0x39, 0x0a, 0x5d, 0x76, 0x39, 0x0a, 0x68, 0xa6, 0x39, 0x0a,
0x57, 0x5e, 0x39, 0x0a, 0x61, 0x86, 0x39, 0x0a, 0x62, 0x8e, 0x39, 0x0a, 0x5d, 0x76, 0x39, 0x0a,
0x5d, 0x76, 0x39, 0x0a, 0x68, 0xa6, 0x39, 0x0a, 0x58, 0x62, 0x39, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x5c, 0x76, 0x39, 0x0a, 0x5d, 0x76, 0x39, 0x0a, 0x68, 0xa6, 0x39, 0x0a,
0x57, 0x5e, 0x39, 0x0a, 0x61, 0x86, 0x39, 0x0a, 0x62, 0x8e, 0x39, 0x0a, 0x5c, 0x76, 0x39, 0x0a,
0x5d, 0x76, 0x39, 0x0a, 0x68, 0xa6, 0x39, 0x0a, 0x58, 0x62, 0x39, 0x0a, 0xff, 0xff, 0x0f, 0x0a,
0xff, 0xff, 0x0f, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0xf8, 0x0a, 0x00, 0x02, 0xf8, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0xc0, 0xf1, 0x3f, 0x21, 0xc0, 0xf1, 0x3f, 0x42, 0xc0, 0xf1, 0x3f,
0x63, 0xc0, 0xf1, 0x3f, 0x84, 0xc0, 0xf1, 0x3f, 0xa5, 0xc0, 0xf1, 0x3f, 0xc6, 0xc0, 0xf1, 0x3f,
0xe7, 0xc0, 0xf1, 0x3f, 0x08, 0xc1, 0xf1, 0x3f, 0x29, 0xc1, 0xf1, 0x3f, 0x4a, 0xc1, 0xf1, 0x3f,
0x6b, 0xc1, 0xf1, 0x3f, 0x8c, 0xc1, 0xf1, 0x3f, 0xad, 0xc1, 0xf1, 0x3f, 0xce, 0xc1, 0xf1, 0x3f,
0xef, 0xc1, 0xf1, 0x3f, 0x10, 0xc2, 0xf1, 0x3f, 0x31, 0xc2, 0xf1, 0x3f, 0x52, 0xc2, 0xf1, 0x3f,
0x73, 0xc2, 0xf1, 0x7f, 0x94, 0xc2, 0xf1, 0x3f, 0xb5, 0xc2, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x31, 0x28, 0x09, 0x00, 0x2b, 0x28, 0x03, 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, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xff, 0x03, 0x00, 0x00,
0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x19, 0x2e, 0x2e, 0x18, 0x2e, 0x2e,
0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x2e, 0x18, 0x2e, 0x2e, 0x19, 0x18, 0x2e, 0x19,
0x30, 0x30, 0x30, 0x30, 0x10, 0x10, 0x10, 0x10, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0xcc, 0xcc, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x16, 0x0c, 0x16, 0x0c, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00,
0x64, 0x00, 0x00, 0x00, 0x60, 0x21, 0x06, 0x00, 0x90, 0x00, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00,
0x48, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x30, 0x18, 0x12, 0x00, 0x14, 0xc8, 0x00, 0x00,
0x08, 0x08, 0x00, 0x00, 0x14, 0x64, 0x08, 0x08, 0xe8, 0x03, 0x2c, 0x01, 0x14, 0x32, 0x10, 0x10,
0x20, 0x18, 0x07, 0x00, 0x64, 0x00, 0x64, 0x10, 0x63, 0x07, 0x02, 0x00, 0x32, 0x30, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x64, 0xc0, 0x12, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0xa0, 0x0f, 0x00, 0x00, 0x30, 0x31, 0x83, 0x01, 0xff, 0x0f, 0xff, 0x0f, 0x00, 0x80, 0x00, 0x80,
0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x0b, 0x17, 0x0f, 0x00, 0x00,
0x00, 0x80, 0x00, 0x80, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x2c, 0x01, 0x01, 0x00,
0x00, 0x80, 0x00, 0x00, 0xc8, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xc8, 0x00, 0x01, 0x00,
0x40, 0xc2, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xff, 0x00, 0x30, 0x00, 0xff, 0x05, 0xff, 0x03,
0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0xa8, 0x00, 0x10, 0x3f, 0x10, 0x3f, 0x64, 0x3c, 0x10, 0x00,
0x00, 0x00, 0x04, 0x82, 0x00, 0x00, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00,
0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 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, 0xff, 0x0f, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x66, 0x20, 0x00, 0x02, 0x00, 0xf0, 0xff, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0xe8, 0x03, 0x00, 0x0f, 0x17, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 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, 0x51, 0x84, 0x40, 0x00, 0x05, 0x00, 0x80, 0x00, 0x40, 0x40, 0x00, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0x3f, 0x00, 0x00, 0xbf,
0x01, 0x20, 0x00, 0x00, 0x0c, 0x0d, 0x0e, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x21, 0x22, 0x23, 0x0b, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03,
0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x00, 0x00, 0xff, 0x00, 0x30, 0x86,
0x00, 0x00, 0x00, 0x52, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x0f, 0x00,
0x50, 0x28, 0x28, 0x00, 0x50, 0x28, 0x28, 0x00, 0x48, 0x29, 0x20, 0x01, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x29, 0x28, 0x01,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x26, 0x07, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0x03, 0x02, 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, 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, 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, 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, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x09, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x18, 0x62, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x04, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x19, 0x66, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x27, 0xa2, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x17, 0x62, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x36, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0e, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x27, 0xa2, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x21, 0x8a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x36, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x04, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x25, 0x9a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0e, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x27, 0xa2, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x04, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x21, 0x8a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0e, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x27, 0xa2, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x18, 0x66, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x06, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x04, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x21, 0x8a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x09, 0x26, 0x08, 0x06,
0x0e, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x21, 0x8a, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x36, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x08, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x05, 0x1a, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x09, 0x26, 0x08, 0x06,
0x0f, 0x3e, 0x08, 0x06, 0x01, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x17, 0x5e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0d, 0x3a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x07, 0x22, 0x08, 0x06,
0x03, 0x12, 0x08, 0x06, 0x06, 0x1e, 0x08, 0x06, 0x0f, 0x3e, 0x08, 0x06, 0x09, 0x26, 0x08, 0x06,
0x0f, 0x42, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x03, 0x0e, 0x08, 0x06,
0x15, 0x56, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x0e, 0x3e, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x03, 0x12, 0x08, 0x06, 0x07, 0x1e, 0x08, 0x06, 0x04, 0x16, 0x08, 0x06,
0x08, 0x22, 0x08, 0x06, 0x01, 0x06, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06, 0x02, 0x0a, 0x08, 0x06,
0x0b, 0x2e, 0x08, 0x06, 0xff, 0x01, 0x08, 0x06, 0x07, 0x1e, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06, 0x00, 0x02, 0x08, 0x06,
0x00, 0x02, 0x08, 0x06, 0x00, 0xc0, 0xf1, 0x3f, 0x21, 0xc0, 0xf1, 0x3f, 0x42, 0xc0, 0xf1, 0x3f,
0x63, 0xc0, 0xf1, 0x3f, 0x84, 0xc0, 0xf1, 0x3f, 0xa5, 0xc0, 0xf1, 0x3f, 0xc6, 0xc0, 0xf1, 0x3f,
0xe7, 0xc0, 0xf1, 0x3f, 0x08, 0xc1, 0xf1, 0x3f, 0x29, 0xc1, 0xf1, 0x3f, 0x4a, 0xc1, 0xf1, 0x3f,
0x6b, 0xc1, 0xf1, 0x3f, 0x8c, 0xc1, 0xf1, 0x3f, 0xad, 0xc1, 0xf1, 0x3f, 0xce, 0xc1, 0xf1, 0x3f,
0xef, 0xc1, 0xf1, 0x3f, 0x10, 0xc2, 0xf1, 0x3f, 0x31, 0xc2, 0xf1, 0x3f, 0x52, 0xc2, 0xf1, 0x3f,
0x73, 0xc2, 0xf1, 0x7f, 0x94, 0xc2, 0xf1, 0x3f, 0xb5, 0xc2, 0xf1, 0x3b, 0x00, 0xc0, 0xf1, 0x3b,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x31, 0x28, 0x09, 0x00, 0x2e, 0x28, 0x03, 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, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xff, 0x03, 0x00, 0x00,
0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x2e, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x10, 0x10, 0x10, 0x10, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0xcc, 0xcc, 0xcc, 0x0c, 0x43, 0x4d, 0x43, 0x53, 0x32, 0x54, 0x41, 0x47
};
#endif // __IST30XX_CMCS_BIN_H__

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,134 @@
/*
* Copyright (C) 2010, Imagis Technology Co. Ltd. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __IST30XXC_CMCS_JIT_H__
#define __IST30XXC_CMCS_JIT_H__
#define CMCS_MSG_MASK (0xFFFFFFF0)
#define CM_MSG_VALID (0x0E7DC770)
#define CS_MSG_VALID (0x0E7DC500)
#define IST30XX_CMCS_JIT_NAME "ist30xxc_jit.cms"
#define IST30XX_CMCS_JIT_MAGIC "CMCS2TAG"
struct CMCS_JIT_SPEC_NODE {
u32 node_cnt;
u16 *buf_min;
u16 *buf_max;
};
struct CMCS_JIT_SPEC_TOTAL {
s16 screen_min;
s16 screen_max;
s16 gtx_min;
s16 gtx_max;
s16 key_min;
s16 key_max;
};
struct CMCS_JIT_ITEM_INFO {
char name[8];
u32 addr;
u32 size;
char data_type[2];
char spec_type[2];
};
typedef struct _CMCS_JIT_ITEM {
u32 cnt;
struct CMCS_JIT_ITEM_INFO *item;
} CMCS_JIT_ITEM;
struct CMCS_JIT_CMD_INFO {
u32 addr;
u32 value;
};
typedef struct _CMCS_JIT_CMD {
u32 cnt;
struct CMCS_JIT_CMD_INFO *cmd;
} CMCS_JIT_CMD;
union CMCS_JIT_SPEC_ITEM {
struct CMCS_JIT_SPEC_NODE spec_node;
struct CMCS_JIT_SPEC_TOTAL spec_total;
};
struct CMCS_JIT_SPEC_SLOPE {
char name[8];
s16 x_min;
s16 x_max;
s16 gtx_x_min;
s16 gtx_x_max;
s16 y_min;
s16 y_max;
s16 gtx_y_min;
s16 gtx_y_max;
s16 key_min;
s16 key_max;
};
struct CMCS_JIT_REG_INFO {
char name[8];
u32 addr;
u32 size;
};
typedef struct _CMCS_JIT_PARAM {
u32 cmcs_size_addr;
u32 cmcs_size;
u32 enable_addr;
u32 checksum_addr;
u32 end_notify_addr;
u32 sensor1_addr;
u32 sensor2_addr;
u32 sensor3_addr;
u32 cm_sensor1_size;
u32 cm_sensor2_size;
u32 cm_sensor3_size;
u32 cs_sensor1_size;
u32 cs_sensor2_size;
u32 cs_sensor3_size;
u32 cmcs_chksum;
u32 cm_sensor_chksum;
u32 cs_sensor_chksum;
} CMCS_JIT_PARAM;
typedef struct _CMCS_JIT_BIN_INFO {
char magic1[8];
CMCS_JIT_ITEM items;
CMCS_JIT_CMD cmds;
struct CMCS_JIT_SPEC_SLOPE spec_slope;
struct CMCS_JIT_SPEC_TOTAL spec_cr;
CMCS_JIT_PARAM param;
union CMCS_JIT_SPEC_ITEM *spec_item;
u8 *buf_cmcs;
u32 *buf_cm_sensor;
u32 *buf_cs_sensor;
char magic2[8];
} CMCS_JIT_BIN_INFO;
typedef struct _CMCS_JIT_BUF {
s16 cm[IST30XX_NODE_TOTAL_NUM];
s16 cm_jit[IST30XX_NODE_TOTAL_NUM];
s16 spec_min[IST30XX_NODE_TOTAL_NUM];
s16 spec_max[IST30XX_NODE_TOTAL_NUM];
s16 slope0[IST30XX_NODE_TOTAL_NUM];
s16 slope1[IST30XX_NODE_TOTAL_NUM];
s16 cs[IST30XX_NODE_TOTAL_NUM];
} CMCS_JIT_BUF;
int ist30xx_init_cmcs_jit_sysfs(struct ist30xx_data *data);
#endif // __IST30XXC_CMCS_H__

View file

@ -0,0 +1,631 @@
#ifndef __IST30XXC_CMCS_JIT_BIN_H__
#define __IST30XXC_CMCS_JIT_BIN_H__
/* ist30xx cmcs binary: model( ) */
static unsigned char ist30xx_cmcs_jit[] = {
0x43, 0x4d, 0x43, 0x53, 0x32, 0x54, 0x41, 0x47, 0x03, 0x00, 0x00, 0x00, 0x43, 0x4d, 0x4a, 0x49,
0x54, 0x00, 0x00, 0x00, 0x80, 0x1e, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x4e, 0x00, 0x54, 0x00,
0x43, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
0x4e, 0x00, 0x4e, 0x00, 0x43, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00,
0x80, 0x04, 0x00, 0x00, 0x4e, 0x00, 0x54, 0x00, 0x07, 0x00, 0x00, 0x00, 0xe4, 0x19, 0x00, 0x00,
0x02, 0x01, 0x00, 0x00, 0xe8, 0x19, 0x00, 0x00, 0x0e, 0x16, 0x0c, 0x14, 0xec, 0x19, 0x00, 0x00,
0x0c, 0x14, 0x0d, 0x14, 0xf0, 0x19, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x19, 0x00, 0x00,
0xff, 0xff, 0x15, 0xff, 0xf8, 0x19, 0x00, 0x00, 0xf4, 0x01, 0x00, 0x00, 0xfc, 0x19, 0x00, 0x00,
0xac, 0x0d, 0xac, 0x0d, 0x43, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xff, 0xc8, 0x00,
0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00,
0x78, 0x05, 0x98, 0x08, 0x78, 0x05, 0x98, 0x08, 0x78, 0x05, 0x98, 0x08, 0xe0, 0x19, 0x00, 0x00,
0x3c, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x30, 0x08, 0x01, 0x00, 0x30, 0x04, 0x01, 0x00, 0x30,
0x08, 0x70, 0x00, 0x40, 0x00, 0x40, 0x00, 0x30, 0xc4, 0x52, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00,
0x00, 0x09, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
0x50, 0x01, 0x00, 0x00, 0x4a, 0xdc, 0xc5, 0x0d, 0x18, 0x79, 0x84, 0x54, 0x22, 0xc4, 0xa5, 0x15,
0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00, 0x38, 0xff, 0xc8, 0x00, 0xfe, 0x00, 0x00, 0x00,
0x6d, 0x04, 0x46, 0x04, 0x20, 0x04, 0xf9, 0x03, 0xc6, 0x03, 0xa3, 0x03, 0x99, 0x03, 0x9f, 0x03,
0xbb, 0x03, 0x48, 0x04, 0xe3, 0x03, 0xda, 0x03, 0x0c, 0x04, 0xff, 0x03, 0xe4, 0x03, 0xcd, 0x03,
0xab, 0x03, 0x92, 0x03, 0x7d, 0x03, 0x73, 0x03, 0xa6, 0x03, 0xbb, 0x03, 0xa6, 0x03, 0xa4, 0x03,
0xa9, 0x03, 0x98, 0x03, 0x9d, 0x03, 0x92, 0x03, 0x8b, 0x03, 0x81, 0x03, 0x6c, 0x03, 0x51, 0x03,
0x5b, 0x03, 0x62, 0x03, 0x57, 0x03, 0x38, 0x03, 0x4e, 0x04, 0x48, 0x04, 0x46, 0x04, 0x3b, 0x04,
0x26, 0x04, 0x2a, 0x04, 0x0c, 0x04, 0xf3, 0x03, 0xf6, 0x03, 0xf9, 0x03, 0xec, 0x03, 0xdc, 0x03,
0x34, 0x04, 0x26, 0x04, 0x32, 0x04, 0x25, 0x04, 0x16, 0x04, 0x0f, 0x04, 0xf3, 0x03, 0xdc, 0x03,
0xe8, 0x03, 0xf5, 0x03, 0x13, 0x04, 0xad, 0x03, 0x01, 0x04, 0xfe, 0x03, 0x07, 0x04, 0xfe, 0x03,
0xef, 0x03, 0xeb, 0x03, 0xcf, 0x03, 0xb7, 0x03, 0xbb, 0x03, 0xba, 0x03, 0xae, 0x03, 0x99, 0x03,
0x1b, 0x04, 0x0f, 0x04, 0x1a, 0x04, 0x11, 0x04, 0x03, 0x04, 0xfc, 0x03, 0xe3, 0x03, 0xc7, 0x03,
0xd0, 0x03, 0xd8, 0x03, 0x07, 0x04, 0x95, 0x03, 0xc4, 0x03, 0xc5, 0x03, 0xca, 0x03, 0xc3, 0x03,
0xb6, 0x03, 0xb4, 0x03, 0x9b, 0x03, 0x84, 0x03, 0x88, 0x03, 0x83, 0x03, 0x76, 0x03, 0x68, 0x03,
0x03, 0x04, 0xf6, 0x03, 0xfd, 0x03, 0xf5, 0x03, 0xe7, 0x03, 0xe4, 0x03, 0xcd, 0x03, 0xb2, 0x03,
0xb8, 0x03, 0xb1, 0x03, 0xab, 0x03, 0x7c, 0x03, 0x05, 0x04, 0x09, 0x04, 0x11, 0x04, 0x0a, 0x04,
0xfb, 0x03, 0xf8, 0x03, 0xe0, 0x03, 0xc3, 0x03, 0xcb, 0x03, 0xc4, 0x03, 0xb6, 0x03, 0xa8, 0x03,
0x30, 0x04, 0x22, 0x04, 0x2d, 0x04, 0x25, 0x04, 0x17, 0x04, 0x13, 0x04, 0xf7, 0x03, 0xdb, 0x03,
0xe4, 0x03, 0xda, 0x03, 0xcf, 0x03, 0x9c, 0x03, 0x31, 0x04, 0x42, 0x04, 0x4c, 0x04, 0x48, 0x04,
0x38, 0x04, 0x36, 0x04, 0x18, 0x04, 0xfa, 0x03, 0x04, 0x04, 0xfa, 0x03, 0xeb, 0x03, 0xde, 0x03,
0x34, 0x04, 0x26, 0x04, 0x33, 0x04, 0x2f, 0x04, 0x1c, 0x04, 0x16, 0x04, 0xfd, 0x03, 0xe2, 0x03,
0xe9, 0x03, 0xe3, 0x03, 0xd4, 0x03, 0x94, 0x03, 0x4f, 0x04, 0x3a, 0x04, 0x44, 0x04, 0x41, 0x04,
0x2f, 0x04, 0x2a, 0x04, 0x0e, 0x04, 0xf1, 0x03, 0xfa, 0x03, 0xf3, 0x03, 0xe3, 0x03, 0xd0, 0x03,
0xe0, 0x03, 0xd6, 0x03, 0xe3, 0x03, 0xda, 0x03, 0xd4, 0x03, 0xc9, 0x03, 0xb1, 0x03, 0x95, 0x03,
0x9e, 0x03, 0x91, 0x03, 0x8d, 0x03, 0x7d, 0x03, 0x26, 0x04, 0x1d, 0x04, 0x29, 0x04, 0x25, 0x04,
0x18, 0x04, 0x13, 0x04, 0xf4, 0x03, 0xd6, 0x03, 0xdf, 0x03, 0xd5, 0x03, 0xc9, 0x03, 0xb3, 0x03,
0x09, 0x04, 0x02, 0x04, 0x10, 0x04, 0x09, 0x04, 0xfe, 0x03, 0xf8, 0x03, 0xda, 0x03, 0xbc, 0x03,
0xc5, 0x03, 0xba, 0x03, 0xb2, 0x03, 0x97, 0x03, 0xc0, 0x03, 0x9e, 0x03, 0xab, 0x03, 0xae, 0x03,
0xa1, 0x03, 0x8f, 0x03, 0x73, 0x03, 0x68, 0x03, 0x6a, 0x03, 0x55, 0x03, 0x3b, 0x03, 0x8c, 0x03,
0xee, 0x03, 0x6d, 0x03, 0x71, 0x03, 0x6b, 0x03, 0x5f, 0x03, 0x5a, 0x03, 0x5c, 0x03, 0x41, 0x03,
0x3e, 0x03, 0x2e, 0x03, 0x2a, 0x03, 0x55, 0x03, 0xd6, 0x03, 0x66, 0x03, 0x68, 0x03, 0x6d, 0x03,
0x62, 0x03, 0x57, 0x03, 0x27, 0x03, 0x1a, 0x03, 0x1a, 0x03, 0x17, 0x03, 0x14, 0x03, 0x65, 0x03,
0xb4, 0x03, 0xd5, 0x03, 0xdd, 0x03, 0xd9, 0x03, 0xca, 0x03, 0xc7, 0x03, 0xbb, 0x03, 0x9b, 0x03,
0x9f, 0x03, 0x96, 0x03, 0x89, 0x03, 0x4c, 0x03, 0xfe, 0x03, 0xeb, 0x02, 0x61, 0x07, 0x20, 0x07,
0xe0, 0x06, 0x9e, 0x06, 0x4a, 0x06, 0x10, 0x06, 0x00, 0x06, 0x09, 0x06, 0x37, 0x06, 0x22, 0x07,
0x7a, 0x06, 0x6c, 0x06, 0xbf, 0x06, 0xa8, 0x06, 0x7d, 0x06, 0x55, 0x06, 0x1d, 0x06, 0xf3, 0x05,
0xd0, 0x05, 0xc0, 0x05, 0x14, 0x06, 0x37, 0x06, 0x14, 0x06, 0x11, 0x06, 0x19, 0x06, 0xfd, 0x05,
0x06, 0x06, 0xf4, 0x05, 0xe7, 0x05, 0xd7, 0x05, 0xb5, 0x05, 0x87, 0x05, 0x98, 0x05, 0xa3, 0x05,
0x92, 0x05, 0x5e, 0x05, 0x2d, 0x07, 0x23, 0x07, 0x1f, 0x07, 0x0d, 0x07, 0xea, 0x06, 0xf1, 0x06,
0xbf, 0x06, 0x94, 0x06, 0x9b, 0x06, 0x9f, 0x06, 0x8a, 0x06, 0x6f, 0x06, 0x01, 0x07, 0xea, 0x06,
0xfe, 0x06, 0xe9, 0x06, 0xcf, 0x06, 0xc4, 0x06, 0x95, 0x06, 0x6f, 0x06, 0x82, 0x06, 0x99, 0x06,
0xcb, 0x06, 0x20, 0x06, 0xac, 0x06, 0xa8, 0x06, 0xb6, 0x06, 0xa8, 0x06, 0x8e, 0x06, 0x88, 0x06,
0x5a, 0x06, 0x32, 0x06, 0x37, 0x06, 0x37, 0x06, 0x22, 0x06, 0xfe, 0x05, 0xd8, 0x06, 0xc4, 0x06,
0xd6, 0x06, 0xc6, 0x06, 0xb0, 0x06, 0xa4, 0x06, 0x7a, 0x06, 0x4c, 0x06, 0x5b, 0x06, 0x68, 0x06,
0xb7, 0x06, 0xf8, 0x05, 0x47, 0x06, 0x48, 0x06, 0x50, 0x06, 0x45, 0x06, 0x30, 0x06, 0x2c, 0x06,
0x02, 0x06, 0xdb, 0x05, 0xe2, 0x05, 0xda, 0x05, 0xc5, 0x05, 0xad, 0x05, 0xb0, 0x06, 0x9a, 0x06,
0xa6, 0x06, 0x98, 0x06, 0x80, 0x06, 0x7c, 0x06, 0x55, 0x06, 0x28, 0x06, 0x33, 0x06, 0x26, 0x06,
0x1c, 0x06, 0xce, 0x05, 0xb3, 0x06, 0xb9, 0x06, 0xc7, 0x06, 0xbc, 0x06, 0xa2, 0x06, 0x9d, 0x06,
0x75, 0x06, 0x46, 0x06, 0x52, 0x06, 0x47, 0x06, 0x2f, 0x06, 0x18, 0x06, 0xfa, 0x06, 0xe3, 0x06,
0xf5, 0x06, 0xe9, 0x06, 0xd1, 0x06, 0xca, 0x06, 0x9b, 0x06, 0x6d, 0x06, 0x7c, 0x06, 0x6b, 0x06,
0x58, 0x06, 0x04, 0x06, 0xfc, 0x06, 0x18, 0x07, 0x2a, 0x07, 0x22, 0x07, 0x08, 0x07, 0x04, 0x07,
0xd3, 0x06, 0xa1, 0x06, 0xb1, 0x06, 0xa1, 0x06, 0x88, 0x06, 0x72, 0x06, 0x01, 0x07, 0xe9, 0x06,
0x00, 0x07, 0xfa, 0x06, 0xda, 0x06, 0xcf, 0x06, 0xa6, 0x06, 0x78, 0x06, 0x85, 0x06, 0x7b, 0x06,
0x61, 0x06, 0xf7, 0x05, 0x2e, 0x07, 0x0b, 0x07, 0x1c, 0x07, 0x18, 0x07, 0xf9, 0x06, 0xf0, 0x06,
0xc2, 0x06, 0x92, 0x06, 0xa0, 0x06, 0x95, 0x06, 0x7a, 0x06, 0x5a, 0x06, 0x76, 0x06, 0x65, 0x06,
0x7b, 0x06, 0x6b, 0x06, 0x61, 0x06, 0x4f, 0x06, 0x27, 0x06, 0xf8, 0x05, 0x08, 0x06, 0xf2, 0x05,
0xeb, 0x05, 0xd0, 0x05, 0xeb, 0x06, 0xdb, 0x06, 0xf0, 0x06, 0xe8, 0x06, 0xd3, 0x06, 0xca, 0x06,
0x96, 0x06, 0x64, 0x06, 0x73, 0x06, 0x63, 0x06, 0x4f, 0x06, 0x2a, 0x06, 0xba, 0x06, 0xae, 0x06,
0xc5, 0x06, 0xba, 0x06, 0xa8, 0x06, 0x9d, 0x06, 0x6b, 0x06, 0x3a, 0x06, 0x48, 0x06, 0x36, 0x06,
0x28, 0x06, 0xfc, 0x05, 0x40, 0x06, 0x07, 0x06, 0x1d, 0x06, 0x21, 0x06, 0x0d, 0x06, 0xef, 0x05,
0xc0, 0x05, 0xae, 0x05, 0xb0, 0x05, 0x8e, 0x05, 0x62, 0x05, 0xea, 0x05, 0x8c, 0x06, 0xb6, 0x05,
0xbd, 0x05, 0xb2, 0x05, 0x9e, 0x05, 0x95, 0x05, 0x99, 0x05, 0x6c, 0x05, 0x67, 0x05, 0x4c, 0x05,
0x46, 0x05, 0x8e, 0x05, 0x64, 0x06, 0xaa, 0x05, 0xad, 0x05, 0xb5, 0x05, 0xa3, 0x05, 0x91, 0x05,
0x42, 0x05, 0x2c, 0x05, 0x2c, 0x05, 0x27, 0x05, 0x21, 0x05, 0xa8, 0x05, 0x8e, 0x05, 0xc0, 0x05,
0xcc, 0x05, 0xc6, 0x05, 0xae, 0x05, 0xaa, 0x05, 0x98, 0x05, 0x68, 0x05, 0x6f, 0x05, 0x60, 0x05,
0x4d, 0x05, 0xf2, 0x04, 0xa8, 0x06, 0xdd, 0x04, 0x1c, 0x0c, 0x74, 0x0e, 0x1c, 0x0c, 0x74, 0x0e,
0x1c, 0x0c, 0x74, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x10, 0xdc, 0x19, 0x0c, 0x80, 0x38, 0x07,
0xcb, 0x13, 0x00, 0x00, 0xf2, 0xfe, 0x00, 0x00, 0x08, 0x70, 0x00, 0x40, 0x38, 0x67, 0x08, 0x70,
0xb9, 0x67, 0x08, 0x70, 0xe1, 0xf0, 0x00, 0x00, 0x08, 0x60, 0x00, 0x40, 0x38, 0x76, 0x08, 0x70,
0xd6, 0x72, 0x82, 0xfd, 0xe1, 0xf0, 0x00, 0x00, 0x3c, 0x10, 0x10, 0x00, 0xd1, 0xc1, 0x06, 0xe2,
0x08, 0xd0, 0x00, 0x40, 0x04, 0xc1, 0xc4, 0xe0, 0x82, 0x0a, 0xab, 0x00, 0x00, 0x00, 0x04, 0x21,
0xb9, 0xcd, 0x00, 0x70, 0x2b, 0x01, 0x00, 0x00, 0x34, 0xe1, 0xf2, 0xf6, 0x50, 0xc1, 0x2c, 0x10,
0x10, 0x00, 0xe1, 0xf0, 0x04, 0x70, 0xc6, 0x27, 0x82, 0x05, 0x08, 0x70, 0x0f, 0xc0, 0x2c, 0x70,
0xff, 0xff, 0x08, 0x60, 0x00, 0x40, 0xb9, 0x76, 0x3c, 0x71, 0xe1, 0xf0, 0x77, 0x41, 0x14, 0x71,
0x34, 0x41, 0xc6, 0x47, 0x82, 0x04, 0xb1, 0x32, 0x24, 0x24, 0xf2, 0xfb, 0xe1, 0xf0, 0x00, 0x00,
0xf7, 0x40, 0x04, 0x70, 0xc6, 0x74, 0x82, 0x07, 0x2f, 0x67, 0x07, 0x00, 0x26, 0x62, 0xa1, 0x36,
0x24, 0x71, 0xf2, 0xf9, 0xe1, 0xf0, 0x00, 0x00, 0x04, 0x70, 0xc6, 0x74, 0x82, 0x06, 0x2f, 0x67,
0x02, 0x00, 0x91, 0x36, 0x24, 0x71, 0xf2, 0xfa, 0xe1, 0xf0, 0x00, 0x00, 0x08, 0x60, 0x00, 0x30,
0x38, 0x76, 0x28, 0x00, 0xd4, 0x74, 0x92, 0xfd, 0xe1, 0xf0, 0x00, 0x00, 0x3c, 0x10, 0x10, 0x00,
0xd1, 0xc1, 0x06, 0xe2, 0x06, 0xd3, 0xcb, 0x05, 0x00, 0x00, 0x38, 0x70, 0x38, 0x07, 0x57, 0xe1,
0x26, 0xe7, 0xb1, 0xde, 0x50, 0xc1, 0x2c, 0x10, 0x10, 0x00, 0xe1, 0xf0, 0x77, 0x31, 0x04, 0x70,
0x14, 0x61, 0x34, 0x31, 0xc6, 0x36, 0x82, 0x05, 0x30, 0x52, 0x24, 0x24, 0x26, 0x75, 0xf2, 0xfa,
0x06, 0x27, 0xe1, 0xf0, 0x34, 0x18, 0xc1, 0xe1, 0x08, 0x60, 0x00, 0x30, 0x08, 0x50, 0xff, 0xcf,
0x0c, 0x70, 0x6c, 0x53, 0x0c, 0xf0, 0x94, 0xac, 0x0c, 0x40, 0x7c, 0x53, 0x26, 0xf5, 0x26, 0x76,
0x0c, 0xe0, 0x40, 0x07, 0x2c, 0x50, 0xa4, 0xac, 0x26, 0x46, 0x30, 0x27, 0x2f, 0x6e, 0x07, 0x00,
0x2f, 0x3f, 0x06, 0x00, 0xb1, 0x23, 0x38, 0x37, 0x10, 0x00, 0x26, 0x65, 0xb1, 0x36, 0xb1, 0x07,
0xb9, 0x07, 0x10, 0x00, 0x24, 0x74, 0xc6, 0x74, 0x92, 0xf1, 0x40, 0xe1, 0x24, 0x18, 0xe1, 0xf0,
0x34, 0x18, 0x08, 0x60, 0x00, 0x30, 0x08, 0x50, 0xff, 0xcf, 0xc1, 0xe1, 0x0c, 0x70, 0x6c, 0x53,
0x0c, 0xf0, 0x94, 0xac, 0x0c, 0x40, 0x7c, 0x53, 0x26, 0xf5, 0x26, 0x76, 0x0c, 0x30, 0x40, 0x07,
0x2c, 0x50, 0xa4, 0xac, 0x26, 0x46, 0x2f, 0x63, 0x07, 0x00, 0x2f, 0xef, 0x06, 0x00, 0x30, 0xee,
0xc4, 0x21, 0xb1, 0xe7, 0x92, 0x05, 0x26, 0x65, 0x30, 0x66, 0xb9, 0x67, 0x10, 0x00, 0x24, 0x74,
0xc6, 0x74, 0x92, 0xf2, 0x40, 0xe1, 0x24, 0x18, 0xe1, 0xf0, 0x00, 0x00, 0x3c, 0x10, 0x18, 0x00,
0xc1, 0xa1, 0x38, 0xb0, 0x3c, 0x07, 0xd9, 0xc1, 0x08, 0x00, 0x08, 0xc0, 0x00, 0x30, 0x06, 0xa2,
0x04, 0xd0, 0x2c, 0xc0, 0x00, 0x49, 0x18, 0x7b, 0x09, 0x00, 0xc6, 0xd7, 0x32, 0x18, 0x04, 0xe0,
0x18, 0x3b, 0x08, 0x00, 0xc6, 0xe3, 0x32, 0x11, 0x06, 0x2d, 0x9b, 0x38, 0x00, 0x00, 0x26, 0x2e,
0x06, 0x72, 0x57, 0x71, 0x26, 0x7c, 0x30, 0x77, 0x2f, 0x62, 0x02, 0x00, 0x26, 0x6a, 0x5c, 0x70,
0xff, 0x0f, 0xa1, 0x76, 0x24, 0xe1, 0xf2, 0xed, 0x24, 0xd1, 0xf2, 0xe6, 0x58, 0xc1, 0x08, 0x00,
0x40, 0xa1, 0x2c, 0x10, 0x18, 0x00, 0xe1, 0xf0, 0x3c, 0x10, 0x10, 0x00, 0xd1, 0xc1, 0x38, 0xe0,
0x3c, 0x07, 0x18, 0x3e, 0x0d, 0x00, 0x18, 0x2e, 0x08, 0x00, 0x0c, 0xd0, 0x40, 0x07, 0x9b, 0x38,
0x00, 0x00, 0x18, 0x7e, 0x0c, 0x00, 0x26, 0x27, 0xa9, 0x2d, 0x20, 0x00, 0x18, 0x3e, 0x0f, 0x00,
0x18, 0x2e, 0x08, 0x00, 0x9b, 0x38, 0x00, 0x00, 0x18, 0x7e, 0x0e, 0x00, 0x26, 0x27, 0xa9, 0x2d,
0x22, 0x00, 0x18, 0x3e, 0x11, 0x00, 0x18, 0x2e, 0x08, 0x00, 0x9b, 0x38, 0x00, 0x00, 0x18, 0x7e,
0x10, 0x00, 0x26, 0x27, 0xa9, 0x2d, 0x24, 0x00, 0x18, 0x3e, 0x13, 0x00, 0x18, 0x2e, 0x08, 0x00,
0x9b, 0x38, 0x00, 0x00, 0x18, 0x7e, 0x12, 0x00, 0x26, 0x27, 0xa9, 0x2d, 0x26, 0x00, 0x18, 0x2e,
0x08, 0x00, 0x18, 0x3e, 0x15, 0x00, 0x9b, 0x38, 0x00, 0x00, 0x18, 0x7e, 0x14, 0x00, 0x26, 0x27,
0xa9, 0x2d, 0x28, 0x00, 0x50, 0xc1, 0x2c, 0x10, 0x10, 0x00, 0xe1, 0xf0, 0x3c, 0x10, 0x14, 0x00,
0x08, 0x70, 0x00, 0x30, 0xd9, 0xc1, 0x04, 0x00, 0x2c, 0x70, 0x00, 0x01, 0xb9, 0x70, 0x38, 0x07,
0x0c, 0x70, 0xe0, 0x19, 0x0c, 0x60, 0x88, 0x13, 0xb9, 0x70, 0x3c, 0x07, 0xb1, 0xb1, 0x08, 0x70,
0x00, 0x40, 0xb9, 0x67, 0x74, 0x10, 0xcb, 0x05, 0x00, 0x00, 0x38, 0x70, 0x3c, 0x07, 0x38, 0xc0,
0x38, 0x07, 0x20, 0x37, 0x04, 0x20, 0x4b, 0x07, 0x00, 0x00, 0xb9, 0x2c, 0x08, 0x00, 0xab, 0x0f,
0x00, 0x00, 0x38, 0x70, 0x3c, 0x07, 0x06, 0xce, 0xa8, 0x67, 0x18, 0x00, 0x92, 0x04, 0x04, 0x61,
0xa9, 0x67, 0x18, 0x00, 0x08, 0xd0, 0x7d, 0x0e, 0x0c, 0xb0, 0x70, 0xc7, 0x04, 0xe0, 0x26, 0xbd,
0x38, 0x70, 0x38, 0x07, 0x30, 0x77, 0xd4, 0x71, 0x82, 0x13, 0x8b, 0x35, 0x00, 0x00, 0x0b, 0x1a,
0x00, 0x00, 0x06, 0x3e, 0x04, 0x21, 0x66, 0x3b, 0x4b, 0x06, 0x00, 0x00, 0x04, 0x61, 0x08, 0x70,
0x00, 0x40, 0x04, 0x20, 0xb9, 0x67, 0x70, 0x10, 0x06, 0x32, 0x4b, 0x06, 0x00, 0x00, 0x38, 0x70,
0x38, 0x07, 0x30, 0x77, 0xdc, 0x70, 0x00, 0x01, 0x82, 0xe4, 0x4b, 0x37, 0x00, 0x00, 0x0c, 0x30,
0x00, 0xc5, 0x06, 0xe2, 0x26, 0x3d, 0x66, 0x3e, 0x04, 0x21, 0x4b, 0x06, 0x00, 0x00, 0x04, 0x61,
0x08, 0x70, 0x00, 0x40, 0x04, 0x20, 0xb9, 0x67, 0x70, 0x10, 0x06, 0x32, 0x4b, 0x06, 0x00, 0x00,
0xf2, 0xd0, 0x00, 0x00, 0x3c, 0x10, 0x28, 0x00, 0xd9, 0x81, 0x08, 0x00, 0x06, 0x2b, 0x0c, 0x20,
0x00, 0x1a, 0x0c, 0x30, 0xff, 0x0f, 0x0c, 0x40, 0x80, 0x04, 0xd9, 0xc1, 0x18, 0x00, 0x6b, 0x04,
0x00, 0x00, 0x06, 0x2a, 0x0c, 0x20, 0x80, 0x1e, 0x04, 0x30, 0x0c, 0x40, 0x80, 0x04, 0x6b, 0x04,
0x00, 0x00, 0x04, 0x2a, 0x08, 0x80, 0x00, 0x30, 0xab, 0x01, 0x00, 0x00, 0x04, 0x90, 0x2c, 0x80,
0x00, 0x49, 0x38, 0xc0, 0x3c, 0x07, 0x28, 0x7c, 0x18, 0x00, 0xc6, 0x97, 0x32, 0x38, 0x04, 0x21,
0xab, 0x01, 0x00, 0x00, 0x38, 0xc0, 0x3c, 0x07, 0x04, 0xd0, 0x06, 0x6a, 0x0c, 0x60, 0x80, 0x1e,
0x06, 0x5b, 0x0c, 0x50, 0x00, 0x1a, 0x18, 0x7c, 0x09, 0x00, 0xc6, 0xd7, 0x32, 0x26, 0x04, 0xe0,
0x18, 0x3c, 0x08, 0x00, 0xc6, 0xe3, 0x32, 0x1f, 0x06, 0x2d, 0xb9, 0x51, 0x04, 0x00, 0xb1, 0x61,
0x9b, 0x38, 0x00, 0x00, 0x26, 0x2e, 0x06, 0x72, 0x30, 0x61, 0x38, 0x51, 0x04, 0x00, 0x57, 0x71,
0x26, 0x78, 0x26, 0x22, 0x30, 0x77, 0x2f, 0x46, 0x02, 0x00, 0x20, 0x34, 0x5c, 0x70, 0xff, 0x0f,
0xc6, 0x37, 0xb2, 0x02, 0xa1, 0x74, 0x26, 0x25, 0x20, 0x42, 0xc6, 0x47, 0xc2, 0x02, 0xa1, 0x72,
0x24, 0xe1, 0xf2, 0xdf, 0x24, 0xd1, 0xf2, 0xd8, 0x24, 0x91, 0xf2, 0xc4, 0x04, 0xd0, 0x0c, 0xa0,
0x80, 0x1e, 0x0c, 0xb0, 0x00, 0x1a, 0x18, 0x7c, 0x09, 0x00, 0xc6, 0xd7, 0x32, 0x17, 0x04, 0xe0,
0x18, 0x3c, 0x08, 0x00, 0xc6, 0xe3, 0x32, 0x10, 0x06, 0x2d, 0x9b, 0x38, 0x00, 0x00, 0x26, 0x2e,
0x26, 0x22, 0x2f, 0x7a, 0x02, 0x00, 0x26, 0x2b, 0x20, 0x57, 0x20, 0x62, 0x24, 0xe1, 0x3f, 0x66,
0x05, 0x00, 0xa1, 0x67, 0xf2, 0xee, 0x24, 0xd1, 0xf2, 0xe7, 0x58, 0xc1, 0x18, 0x00, 0x58, 0x81,
0x08, 0x00, 0x2c, 0x10, 0x28, 0x00, 0xe1, 0xf0, 0x3c, 0x10, 0x14, 0x00, 0xd9, 0xc1, 0x04, 0x00,
0x38, 0xe0, 0x3c, 0x07, 0xb1, 0xb1, 0x06, 0xc3, 0x18, 0x3e, 0x08, 0x00, 0x06, 0xb4, 0x06, 0xd2,
0x9b, 0x38, 0x00, 0x00, 0x26, 0x2c, 0xb1, 0x2b, 0x18, 0x7e, 0x0a, 0x00, 0xc6, 0xc7, 0xb2, 0x11,
0x18, 0x7e, 0x0b, 0x00, 0xc6, 0xd7, 0xa2, 0x0a, 0x18, 0x7e, 0x16, 0x00, 0xc6, 0xd7, 0x82, 0x06,
0x18, 0x7e, 0x17, 0x00, 0x04, 0x20, 0xc6, 0xd7, 0x92, 0x1e, 0x28, 0x2e, 0x1c, 0x00, 0xf2, 0x1b,
0x18, 0x6e, 0x04, 0x00, 0x2f, 0x76, 0x06, 0x00, 0x0c, 0x30, 0x40, 0x07, 0x26, 0x37, 0x34, 0x61,
0x04, 0x70, 0x14, 0x51, 0x2f, 0x47, 0x06, 0x00, 0xc6, 0x45, 0x82, 0x0c, 0x2f, 0x47, 0x07, 0x00,
0x26, 0x43, 0x28, 0x44, 0x1e, 0x00, 0x34, 0x71, 0xc6, 0x24, 0x92, 0xf5, 0x28, 0x2e, 0x1e, 0x00,
0xf2, 0x02, 0x04, 0x20, 0x58, 0xc1, 0x04, 0x00, 0x30, 0xb1, 0x2c, 0x10, 0x14, 0x00, 0xe1, 0xf0,
0x3c, 0x10, 0x10, 0x00, 0xd1, 0xc1, 0x06, 0xc2, 0x06, 0xe4, 0x04, 0x21, 0x06, 0xd3, 0x0b, 0x03,
0x00, 0x00, 0x08, 0x70, 0x00, 0x30, 0x2c, 0x70, 0x00, 0x40, 0x57, 0xc1, 0x2f, 0x27, 0x0c, 0x00,
0x30, 0x72, 0xc4, 0xe0, 0x0c, 0x60, 0xff, 0x03, 0x56, 0x67, 0x77, 0x75, 0x5c, 0x70, 0xff, 0x03,
0x82, 0x09, 0xc4, 0xd0, 0x82, 0x04, 0x26, 0x6e, 0x26, 0x7e, 0xf2, 0x11, 0x36, 0x7e, 0x36, 0x6e,
0xf2, 0x0e, 0xc4, 0xd0, 0x82, 0x07, 0xc6, 0x76, 0x02, 0x03, 0x24, 0x61, 0xf2, 0x0d, 0x24, 0x71,
0xf2, 0x06, 0xc6, 0x76, 0x02, 0x03, 0x34, 0x71, 0xf2, 0x02, 0x34, 0x61, 0xc4, 0x60, 0x02, 0x06,
0xcc, 0x60, 0xff, 0x03, 0x12, 0x06, 0x04, 0xe0, 0xf2, 0x07, 0x14, 0xe1, 0x04, 0x61, 0xf2, 0x04,
0x14, 0xe1, 0x0c, 0x60, 0xff, 0x03, 0xc4, 0x70, 0x02, 0x08, 0xcc, 0x70, 0xff, 0x03, 0x02, 0x07,
0x14, 0xe1, 0x0c, 0x70, 0xff, 0x03, 0xf2, 0x03, 0x14, 0xe1, 0x04, 0x71, 0x57, 0x75, 0x66, 0x76,
0xb1, 0x72, 0x04, 0x20, 0x0b, 0x03, 0x00, 0x00, 0x06, 0x2e, 0x50, 0xc1, 0x2c, 0x10, 0x10, 0x00,
0xe1, 0xf0, 0x00, 0x00, 0x3c, 0x10, 0x28, 0x00, 0xd9, 0xc1, 0x18, 0x00, 0x38, 0xe0, 0x3c, 0x07,
0xd9, 0x81, 0x08, 0x00, 0x06, 0xd2, 0x18, 0x7e, 0x05, 0x00, 0x18, 0x2e, 0x0b, 0x00, 0x18, 0x3e,
0x0a, 0x00, 0x26, 0x27, 0x9b, 0x38, 0x00, 0x00, 0x18, 0xae, 0x04, 0x00, 0x18, 0x3e, 0x08, 0x00,
0x26, 0x2a, 0xb9, 0x21, 0x04, 0x00, 0x18, 0x2e, 0x09, 0x00, 0x23, 0xdd, 0x9b, 0x38, 0x00, 0x00,
0x2f, 0x42, 0x02, 0x00, 0x06, 0x3d, 0x0c, 0x20, 0x00, 0x1a, 0x6b, 0x04, 0x00, 0x00, 0x18, 0x3e,
0x08, 0x00, 0x18, 0x2e, 0x09, 0x00, 0x9b, 0x38, 0x00, 0x00, 0x06, 0x42, 0x04, 0x30, 0x06, 0x2d,
0x0c, 0x20, 0x80, 0x1e, 0x2b, 0x05, 0x00, 0x00, 0x18, 0x3e, 0x08, 0x00, 0x18, 0x2e, 0x09, 0x00,
0x9b, 0x38, 0x00, 0x00, 0x06, 0x42, 0x04, 0x31, 0x06, 0x29, 0x0c, 0x20, 0xc0, 0x20, 0x08, 0xb0,
0x00, 0x30, 0x2b, 0x05, 0x00, 0x00, 0x0c, 0xc0, 0x82, 0x00, 0x2c, 0xb0, 0x00, 0x49, 0x04, 0x21,
0x04, 0x80, 0xab, 0x01, 0x00, 0x00, 0x06, 0xd8, 0x18, 0x7e, 0x09, 0x00, 0xc6, 0x87, 0x32, 0x46,
0x04, 0xa0, 0x18, 0x6e, 0x08, 0x00, 0xc6, 0xa6, 0x32, 0x3f, 0x06, 0x41, 0x06, 0x28, 0x06, 0x3a,
0x2b, 0x22, 0x00, 0x00, 0x86, 0x42, 0x82, 0x36, 0x30, 0x21, 0x06, 0x62, 0x57, 0x61, 0x26, 0x6b,
0x30, 0x66, 0x0c, 0x50, 0x80, 0x1e, 0x5c, 0x60, 0xff, 0x0f, 0x26, 0x52, 0x3f, 0x44, 0x06, 0x00,
0x90, 0x65, 0x82, 0x04, 0xcc, 0x40, 0x46, 0x00, 0x02, 0x24, 0x06, 0x69, 0x0c, 0x60, 0xc0, 0x20,
0x26, 0x62, 0x10, 0x36, 0xc4, 0x31, 0x0c, 0xf0, 0x00, 0x1a, 0x2f, 0x32, 0x02, 0x00, 0x92, 0x05,
0xc4, 0x40, 0x22, 0x0e, 0x91, 0x06, 0xf2, 0x0c, 0xc4, 0x40, 0x12, 0x0a, 0x04, 0x41, 0x91, 0x46,
0x2f, 0x43, 0x0f, 0x00, 0xa0, 0x44, 0x92, 0x04, 0x10, 0x45, 0x24, 0x41, 0x91, 0x45, 0x26, 0x3f,
0x20, 0x43, 0xf7, 0x40, 0xa1, 0x43, 0x10, 0x36, 0x6b, 0x26, 0x00, 0x00, 0xc4, 0x20, 0x32, 0x02,
0x24, 0xd1, 0x24, 0xa1, 0xf2, 0xbf, 0x24, 0x81, 0xf2, 0xb8, 0x38, 0x71, 0x04, 0x00, 0xc6, 0xd7,
0xb2, 0x03, 0xb4, 0xc1, 0x92, 0xad, 0x58, 0xc1, 0x18, 0x00, 0x58, 0x81, 0x08, 0x00, 0x2c, 0x10,
0x28, 0x00, 0xe1, 0xf0, 0x34, 0x14, 0x04, 0x21, 0xb1, 0xf1, 0x0b, 0x03, 0x00, 0x00, 0x08, 0x20,
0x00, 0x30, 0x08, 0x30, 0x06, 0x00, 0x2c, 0x30, 0x80, 0x01, 0x0c, 0x40, 0x00, 0x09, 0x2c, 0x20,
0x00, 0x40, 0xcb, 0x03, 0x00, 0x00, 0x04, 0x20, 0x0b, 0x03, 0x00, 0x00, 0x0c, 0x20, 0x00, 0x02,
0x8b, 0x2b, 0x00, 0x00, 0x30, 0xf1, 0x24, 0x14, 0xe1, 0xf0, 0x00, 0x00, 0x34, 0x14, 0xb1, 0xf1,
0x0b, 0x08, 0x00, 0x00, 0x8b, 0x35, 0x00, 0x00, 0x0c, 0x20, 0x00, 0x01, 0x6b, 0x0a, 0x00, 0x00,
0x04, 0x2a, 0xab, 0x01, 0x00, 0x00, 0x0c, 0x20, 0x00, 0x23, 0xcb, 0x0c, 0x00, 0x00, 0x30, 0xf1,
0x04, 0x20, 0x24, 0x14, 0xe1, 0xf0, 0xc4, 0x30, 0x04, 0x40, 0x04, 0x50, 0x0c, 0x60, 0x20, 0x00,
0x52, 0x03, 0xa6, 0x42, 0x25, 0x50, 0xb4, 0x61, 0x02, 0x06, 0xa6, 0x44, 0x25, 0x55, 0xa6, 0x33,
0x42, 0xf9, 0xf2, 0xfa, 0x06, 0x24, 0x06, 0x35, 0xe1, 0xf0, 0x00, 0x00, 0x4a, 0xdc, 0xc5, 0x0d,
0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0e, 0x15, 0x0e,
0x04, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00,
0xb9, 0x02, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x70, 0x00, 0x00,
0x00, 0x00, 0x96, 0x00, 0x60, 0x40, 0x14, 0x00, 0x54, 0xff, 0x0f, 0x00, 0x08, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf4, 0x01, 0x2c, 0x01, 0x38, 0x48, 0x10, 0x10, 0x01, 0x00, 0x08, 0x00,
0xc8, 0x00, 0xc8, 0x10, 0x61, 0x07, 0x05, 0x00, 0xff, 0x3f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x64, 0xc0, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x66, 0x02, 0x00, 0x00, 0x80, 0x0f, 0x80, 0x0f,
0x01, 0x00, 0x80, 0x00, 0xff, 0x0f, 0xff, 0x0f, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x16, 0x0e, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80,
0x64, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0x2c, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xe2, 0x00, 0x00,
0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10, 0x10, 0x08, 0x00, 0x10, 0x3f, 0x10, 0x3f, 0x64, 0x3c, 0x10, 0x00, 0x00, 0x00, 0x08, 0x82,
0x2c, 0x01, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 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, 0xac, 0x0d, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x7f, 0xf0, 0x07,
0xdc, 0xc5, 0xda, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x16, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x45, 0x06, 0x00,
0xb7, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x31, 0x84, 0x40, 0x00, 0x15, 0xf3, 0x88, 0x00, 0x00, 0xff, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0x3f, 0x00, 0x88, 0xbf, 0x01, 0x20, 0x00, 0x00,
0x0c, 0x0d, 0x0e, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
0x1e, 0x21, 0x22, 0x23, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c,
0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x00, 0x00, 0xff, 0x00, 0x20, 0x86, 0x00, 0x00, 0x00, 0x4e,
0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x0f, 0x00, 0x46, 0x26, 0x20, 0x00,
0x4c, 0x29, 0x26, 0x03, 0x4a, 0x2b, 0x24, 0x05, 0x48, 0x2d, 0x22, 0x07, 0x48, 0x2d, 0x22, 0x07,
0x48, 0x2d, 0x22, 0x07, 0x48, 0x2e, 0x22, 0x08, 0x48, 0x2f, 0x22, 0x09, 0x4c, 0x2a, 0x29, 0x03,
0x46, 0x30, 0x20, 0x01, 0x4c, 0x2a, 0x26, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x4c, 0x26, 0x26, 0x00, 0x46, 0x27, 0x20, 0x01, 0xff, 0xf7, 0xff, 0xff,
0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x00, 0x00, 0x26, 0x07, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x50, 0x05, 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, 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, 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, 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,
0x7b, 0xee, 0x09, 0x11, 0x76, 0xda, 0x09, 0x11, 0x71, 0xc6, 0x09, 0x11, 0x6b, 0xae, 0x09, 0x11,
0x64, 0x96, 0x09, 0x10, 0x5c, 0x72, 0x09, 0x10, 0x5d, 0x7a, 0x09, 0x10, 0x61, 0x86, 0x09, 0x10,
0x65, 0x96, 0x09, 0x0f, 0x66, 0x9a, 0x09, 0x0f, 0x6a, 0xaa, 0x09, 0x0f, 0x61, 0x86, 0x09, 0x0f,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0xbb, 0xee, 0x0a, 0x15, 0xbf, 0xfe, 0x0a, 0x15,
0xb6, 0xde, 0x0a, 0x15, 0xae, 0xbe, 0x0a, 0x15, 0xad, 0xb6, 0x0a, 0x14, 0x9d, 0x76, 0x0a, 0x14,
0x9a, 0x6e, 0x0a, 0x14, 0x9f, 0x7e, 0x0a, 0x14, 0xa5, 0x96, 0x0a, 0x13, 0xa6, 0x9e, 0x0a, 0x13,
0xa8, 0xa6, 0x0a, 0x13, 0x9e, 0x7e, 0x0a, 0x13, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0xa5, 0x96, 0x0a, 0x15, 0xab, 0xae, 0x0a, 0x15, 0xa9, 0xa6, 0x0a, 0x15, 0xa3, 0x8e, 0x0a, 0x15,
0xa3, 0x8e, 0x0a, 0x14, 0x99, 0x66, 0x0a, 0x14, 0x96, 0x5e, 0x0a, 0x14, 0x98, 0x66, 0x0a, 0x14,
0x9a, 0x6e, 0x0a, 0x13, 0x9b, 0x6e, 0x0a, 0x13, 0x96, 0x5e, 0x0a, 0x13, 0x8a, 0x2e, 0x0a, 0x13,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x3d, 0xf6, 0x18, 0x15, 0x3d, 0xf6, 0x18, 0x15,
0x3d, 0xf6, 0x18, 0x15, 0x3b, 0xee, 0x18, 0x15, 0x3d, 0xf6, 0x18, 0x14, 0x3a, 0xee, 0x18, 0x14,
0x3a, 0xea, 0x18, 0x14, 0x39, 0xe6, 0x18, 0x14, 0x3a, 0xea, 0x18, 0x13, 0x39, 0xe6, 0x18, 0x13,
0x39, 0xe6, 0x18, 0x13, 0x35, 0xd6, 0x18, 0x13, 0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a,
0x3f, 0xfe, 0x18, 0x15, 0x40, 0x02, 0x19, 0x15, 0x3f, 0x02, 0x19, 0x15, 0x3e, 0xfe, 0x18, 0x15,
0x40, 0x02, 0x19, 0x14, 0x3d, 0xf6, 0x18, 0x14, 0x3c, 0xf6, 0x18, 0x14, 0x3c, 0xf6, 0x18, 0x14,
0x3d, 0xf6, 0x18, 0x13, 0x3b, 0xee, 0x18, 0x13, 0x3b, 0xee, 0x18, 0x13, 0x37, 0xde, 0x18, 0x13,
0x00, 0x02, 0x18, 0x0a, 0x00, 0x02, 0x18, 0x0a, 0x35, 0xd6, 0xa8, 0x15, 0x36, 0xde, 0xa8, 0x15,
0x36, 0xde, 0xa8, 0x15, 0x35, 0xd6, 0xa8, 0x15, 0x37, 0xde, 0xa8, 0x14, 0x34, 0xd6, 0xa8, 0x14,
0x33, 0xce, 0xa8, 0x14, 0x32, 0xce, 0xa8, 0x14, 0x34, 0xd6, 0xa8, 0x13, 0x32, 0xca, 0xa8, 0x13,
0x32, 0xce, 0xa8, 0x13, 0x2e, 0xbe, 0xa8, 0x13, 0x00, 0x02, 0xa8, 0x0a, 0x00, 0x02, 0xa8, 0x0a,
0x2d, 0xb6, 0xa8, 0x14, 0x2c, 0xb6, 0xa8, 0x13, 0x2e, 0xbe, 0xa8, 0x13, 0x2c, 0xb6, 0xa8, 0x13,
0x2e, 0xba, 0xa8, 0x12, 0x2b, 0xae, 0xa8, 0x12, 0x2c, 0xb2, 0xa8, 0x12, 0x29, 0xaa, 0xa8, 0x12,
0x2a, 0xae, 0xa8, 0x11, 0x29, 0xaa, 0xa8, 0x11, 0x29, 0xaa, 0xa8, 0x11, 0x25, 0x96, 0xa8, 0x11,
0x00, 0x02, 0xa8, 0x0a, 0x00, 0x02, 0xa8, 0x0a, 0x2b, 0xae, 0xa8, 0x12, 0x2d, 0xb6, 0xa8, 0x11,
0x2d, 0xb6, 0xa8, 0x11, 0x2c, 0xb6, 0xa8, 0x11, 0x2e, 0xbe, 0xa8, 0x10, 0x2b, 0xae, 0xa8, 0x10,
0x2a, 0xae, 0xa8, 0x10, 0x2a, 0xae, 0xa8, 0x10, 0x2a, 0xae, 0xa8, 0x0f, 0x29, 0xa6, 0xa8, 0x0f,
0x28, 0xa6, 0xa8, 0x0f, 0x25, 0x9a, 0xa8, 0x0f, 0x00, 0x02, 0xa8, 0x0a, 0x00, 0x02, 0xa8, 0x0a,
0x2a, 0xae, 0x28, 0x10, 0x29, 0xaa, 0x28, 0x10, 0x29, 0xa6, 0x28, 0x10, 0x29, 0xa6, 0x28, 0x10,
0x2b, 0xae, 0x28, 0x0f, 0x29, 0xa6, 0x28, 0x0f, 0x29, 0xa6, 0x28, 0x0f, 0x29, 0xa6, 0x28, 0x0f,
0x28, 0xa6, 0x28, 0x0e, 0x26, 0x9e, 0x28, 0x0e, 0x26, 0x9e, 0x28, 0x0e, 0x23, 0x8e, 0x28, 0x0e,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x2c, 0xb6, 0x28, 0x10, 0x2b, 0xae, 0x28, 0x10,
0x2d, 0xb6, 0x28, 0x10, 0x2b, 0xae, 0x28, 0x10, 0x2d, 0xba, 0x28, 0x0f, 0x2a, 0xae, 0x28, 0x0f,
0x2a, 0xae, 0x28, 0x0f, 0x29, 0xa6, 0x28, 0x0f, 0x29, 0xa6, 0x28, 0x0e, 0x29, 0xa6, 0x28, 0x0e,
0x28, 0xa6, 0x28, 0x0e, 0x22, 0x8e, 0x28, 0x0e, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x2c, 0xb6, 0x28, 0x0f, 0x2b, 0xae, 0x28, 0x0f, 0x2c, 0xb6, 0x28, 0x0f, 0x2a, 0xae, 0x28, 0x0f,
0x2d, 0xb6, 0x28, 0x0e, 0x28, 0xa6, 0x28, 0x0e, 0x29, 0xa6, 0x28, 0x0e, 0x28, 0xa6, 0x28, 0x0e,
0x2a, 0xae, 0x28, 0x0d, 0x28, 0xa6, 0x28, 0x0d, 0x28, 0xa2, 0x28, 0x0d, 0x23, 0x8e, 0x28, 0x0d,
0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a, 0x2b, 0xae, 0x28, 0x0e, 0x2d, 0xb6, 0x28, 0x0e,
0x2c, 0xb6, 0x28, 0x0e, 0x2b, 0xae, 0x28, 0x0e, 0x2e, 0xbe, 0x28, 0x0d, 0x2b, 0xae, 0x28, 0x0d,
0x2a, 0xae, 0x28, 0x0d, 0x29, 0xaa, 0x28, 0x0d, 0x2a, 0xaa, 0x28, 0x0c, 0x28, 0xa6, 0x28, 0x0c,
0x28, 0xa6, 0x28, 0x0c, 0x24, 0x96, 0x28, 0x0c, 0x00, 0x02, 0x28, 0x0a, 0x00, 0x02, 0x28, 0x0a,
0x25, 0x9a, 0x38, 0x0b, 0x27, 0x9e, 0x38, 0x0a, 0x26, 0x9a, 0x38, 0x0b, 0x25, 0x96, 0x38, 0x0b,
0x26, 0x9e, 0x38, 0x0a, 0x25, 0x9a, 0x38, 0x0a, 0x23, 0x8e, 0x38, 0x0a, 0x24, 0x96, 0x38, 0x0a,
0x24, 0x92, 0x38, 0x09, 0x23, 0x8e, 0x38, 0x09, 0x23, 0x8e, 0x38, 0x09, 0x1e, 0x7e, 0x38, 0x09,
0x00, 0x02, 0x38, 0x0a, 0x00, 0x02, 0x38, 0x0a, 0x29, 0xa6, 0x48, 0x0c, 0x29, 0xa6, 0x48, 0x0b,
0x28, 0xa2, 0x48, 0x0c, 0x26, 0x9e, 0x48, 0x0c, 0x28, 0xa6, 0x48, 0x0b, 0x26, 0x9a, 0x48, 0x0b,
0x26, 0x9a, 0x48, 0x0b, 0x26, 0x9a, 0x48, 0x0b, 0x25, 0x9a, 0x48, 0x0a, 0x24, 0x96, 0x48, 0x0a,
0x24, 0x96, 0x48, 0x0a, 0x1f, 0x7e, 0x48, 0x0a, 0x00, 0x02, 0x48, 0x0a, 0x00, 0x02, 0x48, 0x0a,
0x28, 0xa6, 0x58, 0x0a, 0x29, 0xa6, 0x58, 0x0a, 0x29, 0xa6, 0x58, 0x0a, 0x27, 0x9e, 0x58, 0x0a,
0x29, 0xaa, 0x58, 0x0a, 0x26, 0x9a, 0x58, 0x0a, 0x26, 0x9e, 0x58, 0x0a, 0x25, 0x9a, 0x58, 0x0a,
0x26, 0x9a, 0x58, 0x09, 0x26, 0x9a, 0x58, 0x09, 0x25, 0x9a, 0x58, 0x09, 0x22, 0x8e, 0x58, 0x09,
0x00, 0x02, 0x58, 0x0a, 0x00, 0x02, 0x58, 0x0a, 0x2a, 0xaa, 0x68, 0x0c, 0x29, 0xa6, 0x68, 0x0d,
0x2a, 0xaa, 0x68, 0x0d, 0x28, 0xa6, 0x68, 0x0d, 0x2a, 0xae, 0x68, 0x0c, 0x26, 0x9e, 0x68, 0x0c,
0x26, 0x9e, 0x68, 0x0c, 0x26, 0x9e, 0x68, 0x0c, 0x27, 0x9e, 0x68, 0x0b, 0x26, 0x9a, 0x68, 0x0b,
0x26, 0x9a, 0x68, 0x0b, 0x20, 0x86, 0x68, 0x0b, 0x00, 0x02, 0x68, 0x0a, 0x00, 0x02, 0x68, 0x0a,
0x2e, 0xbe, 0x78, 0x0b, 0x2f, 0xc2, 0x78, 0x0c, 0x2f, 0xc2, 0x78, 0x0c, 0x2e, 0xba, 0x78, 0x0c,
0x30, 0xc6, 0x78, 0x0b, 0x2d, 0xb6, 0x78, 0x0b, 0x2d, 0xb6, 0x78, 0x0b, 0x2d, 0xb6, 0x78, 0x0b,
0x2e, 0xba, 0x78, 0x0a, 0x2c, 0xb6, 0x78, 0x0a, 0x2a, 0xae, 0x78, 0x0a, 0x28, 0xa2, 0x78, 0x0a,
0x00, 0x02, 0x78, 0x0a, 0x00, 0x02, 0x78, 0x0a, 0x22, 0x8a, 0x98, 0x12, 0x23, 0x8e, 0x98, 0x11,
0x22, 0x8a, 0x98, 0x11, 0x20, 0x82, 0x98, 0x11, 0x22, 0x8e, 0x98, 0x10, 0x1f, 0x7e, 0x98, 0x10,
0x1d, 0x7a, 0x98, 0x10, 0x1e, 0x7e, 0x98, 0x10, 0x1f, 0x7e, 0x98, 0x0f, 0x1f, 0x7e, 0x98, 0x0f,
0x1e, 0x7a, 0x98, 0x0f, 0x1e, 0x7e, 0x98, 0x0f, 0x00, 0x02, 0x98, 0x0a, 0x00, 0x02, 0x98, 0x0a,
0x1c, 0x72, 0x88, 0x0f, 0x18, 0x62, 0x88, 0x0e, 0x16, 0x5e, 0x88, 0x0e, 0x15, 0x56, 0x88, 0x0e,
0x18, 0x62, 0x88, 0x0d, 0x14, 0x56, 0x88, 0x0d, 0x14, 0x52, 0x88, 0x0d, 0x15, 0x56, 0x88, 0x0d,
0x15, 0x56, 0x88, 0x0c, 0x15, 0x56, 0x88, 0x0c, 0x15, 0x56, 0x88, 0x0c, 0x14, 0x52, 0x88, 0x0c,
0x00, 0x02, 0x88, 0x0a, 0x00, 0x02, 0x88, 0x0a, 0x15, 0x5a, 0x88, 0x0d, 0x13, 0x4e, 0x88, 0x0c,
0x12, 0x4a, 0x88, 0x0c, 0x11, 0x46, 0x88, 0x0c, 0x14, 0x52, 0x88, 0x0b, 0x10, 0x46, 0x88, 0x0b,
0x10, 0x42, 0x88, 0x0b, 0x10, 0x42, 0x88, 0x0b, 0x10, 0x42, 0x88, 0x0a, 0x10, 0x46, 0x88, 0x0a,
0x10, 0x46, 0x88, 0x0a, 0x11, 0x4a, 0x88, 0x0a, 0x00, 0x02, 0x88, 0x0a, 0x00, 0x02, 0x88, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0xbc, 0xf6, 0xfa, 0x15, 0x8a, 0x2e, 0xfa, 0x0e, 0x4f, 0x3e, 0xe9, 0x0a, 0x58, 0x62, 0xe9, 0x0a,
0x54, 0x56, 0xe9, 0x0a, 0x52, 0x4e, 0xe9, 0x0a, 0x55, 0x5a, 0xe9, 0x0a, 0x50, 0x46, 0xe9, 0x0a,
0x50, 0x42, 0xe9, 0x0a, 0x50, 0x46, 0xe9, 0x0a, 0x4e, 0x3e, 0xe9, 0x0a, 0x50, 0x42, 0xe9, 0x0a,
0x4c, 0x36, 0xe9, 0x0a, 0x42, 0x0e, 0xe9, 0x0a, 0x00, 0x02, 0xe8, 0x0a, 0x00, 0x02, 0xe8, 0x0a,
0x00, 0x02, 0x18, 0x0c, 0x00, 0x02, 0x18, 0x0c, 0x00, 0x02, 0x18, 0x0c, 0x00, 0x02, 0x18, 0x0c,
0x00, 0x02, 0x18, 0x0e, 0x00, 0x02, 0x18, 0x0c, 0x00, 0x02, 0x18, 0x0c, 0x00, 0x02, 0x28, 0x16,
0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16,
0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16,
0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16,
0x00, 0x02, 0xf8, 0x10, 0x00, 0x02, 0xf8, 0x12, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16,
0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16,
0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16,
0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x28, 0x16,
0x00, 0x02, 0x28, 0x16, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a, 0x00, 0x02, 0x08, 0x0a,
0x00, 0x40, 0xf0, 0x3b, 0x21, 0x40, 0xf0, 0x3b, 0x42, 0x40, 0xf0, 0x3b, 0x63, 0x40, 0xf0, 0x33,
0x84, 0x40, 0xf0, 0x33, 0xa5, 0x40, 0xf0, 0x33, 0xc6, 0xc0, 0xf1, 0x33, 0xe7, 0xc0, 0xf1, 0x33,
0x08, 0xc1, 0xf1, 0x33, 0x29, 0xc1, 0xf1, 0x33, 0x4a, 0xc1, 0xf1, 0x33, 0x6b, 0xc1, 0xf1, 0x33,
0x8c, 0xc1, 0xf1, 0x33, 0xad, 0xc1, 0xf1, 0x33, 0xce, 0xc1, 0xf1, 0x33, 0xef, 0xc1, 0xf1, 0x33,
0x10, 0xe2, 0xf1, 0x33, 0x31, 0x92, 0xf0, 0x3f, 0x52, 0x42, 0xf0, 0x3f, 0x73, 0x42, 0xf0, 0x3f,
0x94, 0xc2, 0xf1, 0x73, 0xb5, 0xc2, 0xf1, 0x33, 0x00, 0xc0, 0xf1, 0x33, 0x00, 0xc0, 0xf1, 0x33,
0x00, 0xc0, 0xf1, 0x33, 0x00, 0xc0, 0xf1, 0x33, 0x00, 0xc0, 0xf1, 0x33, 0x00, 0xc0, 0xf1, 0x33,
0x00, 0xc0, 0xf1, 0x33, 0x00, 0xc0, 0xf1, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x48, 0x38, 0x30, 0x00, 0x34, 0x2f, 0x24, 0x1f, 0x00, 0x00, 0x00, 0x00,
0x34, 0x31, 0x24, 0x21, 0x36, 0x2c, 0x25, 0x1c, 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, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x3f, 0xf0, 0x03, 0x00, 0x80, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00,
0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00,
0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00,
0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00,
0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00,
0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00, 0x40, 0x40, 0x40, 0x00,
0x30, 0x30, 0x30, 0x30, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0e, 0x16, 0x0e,
0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x64, 0x00, 0x00, 0x00,
0x60, 0x21, 0x06, 0x00, 0x90, 0x00, 0x00, 0x00, 0x18, 0x20, 0x00, 0x00, 0x48, 0x9c, 0x00, 0x00,
0x00, 0x00, 0x96, 0x00, 0x30, 0x18, 0x12, 0x00, 0x14, 0xc8, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00,
0x14, 0x64, 0x08, 0x08, 0xe8, 0x03, 0x2c, 0x01, 0x14, 0x32, 0x10, 0x10, 0x20, 0x18, 0x07, 0x00,
0x64, 0x00, 0x64, 0x10, 0x63, 0x07, 0x02, 0x00, 0x32, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x64, 0xc0, 0x12, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa0, 0x0f, 0x00, 0x00,
0x30, 0x31, 0x83, 0x01, 0xff, 0x0f, 0xff, 0x0f, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x0b, 0x17, 0x0f, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80,
0x2c, 0x01, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x2c, 0x01, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00,
0xc8, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0xc8, 0x00, 0x01, 0x00, 0x40, 0xc2, 0x00, 0x00,
0x10, 0x00, 0x10, 0x00, 0xff, 0x00, 0x30, 0x00, 0xff, 0x05, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00,
0x10, 0x10, 0xa8, 0x00, 0x10, 0x3f, 0x10, 0x3f, 0x64, 0x3c, 0x10, 0x00, 0x00, 0x00, 0x04, 0x82,
0x00, 0x00, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x08, 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, 0xff, 0x0f, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x20, 0x00, 0x02,
0x00, 0xf0, 0xff, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x03, 0x00, 0x0f,
0x17, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x07, 0x07, 0x00,
0xec, 0x53, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x51, 0x84, 0x40, 0x00, 0x15, 0x52, 0x80, 0x00, 0x14, 0x40, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0x3f, 0x00, 0x88, 0xbf, 0x01, 0x20, 0x00, 0x00,
0x0c, 0x0d, 0x0e, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
0x1e, 0x21, 0x22, 0x23, 0x0a, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c,
0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x00, 0x00, 0xff, 0x00, 0x30, 0x86, 0x00, 0x00, 0x00, 0x52,
0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, 0x0f, 0x00, 0x38, 0x28, 0x10, 0x00,
0x48, 0x38, 0x28, 0x10, 0x48, 0x29, 0x20, 0x01, 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, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x29, 0x28, 0x01, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
0xff, 0x0f, 0x00, 0x00, 0x26, 0x07, 0x13, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x03, 0x02,
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, 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, 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, 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,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x28, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x26, 0x9e, 0x08, 0x08, 0x27, 0x9e, 0x08, 0x08, 0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08,
0x29, 0xa6, 0x08, 0x08, 0x22, 0x8e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08, 0x26, 0x9e, 0x08, 0x08,
0x25, 0x96, 0x08, 0x08, 0x23, 0x8e, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08, 0x00, 0x02, 0x08, 0x08,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04, 0x00, 0x02, 0x08, 0x04,
0x00, 0xc0, 0xf1, 0x3f, 0x21, 0xc0, 0xf1, 0x3f, 0x42, 0xc0, 0xf1, 0x3f, 0x63, 0xc0, 0xf1, 0x3f,
0x84, 0xc0, 0xf1, 0x3f, 0xa5, 0xc0, 0xf1, 0x3f, 0xc6, 0xc0, 0xf1, 0x3f, 0xe7, 0xc0, 0xf1, 0x3f,
0x08, 0xc1, 0xf1, 0x3f, 0x29, 0xc1, 0xf1, 0x3f, 0x4a, 0xc1, 0xf1, 0x3f, 0x6b, 0xc1, 0xf1, 0x3f,
0x8c, 0xc1, 0xf1, 0x3f, 0xad, 0xc1, 0xf1, 0x3f, 0xce, 0xc1, 0xf1, 0x3f, 0xef, 0xc1, 0xf1, 0x3f,
0x10, 0xc2, 0xf1, 0x3f, 0x31, 0xc2, 0xf1, 0x3f, 0x52, 0xc2, 0xf1, 0x3f, 0x73, 0xc2, 0xf1, 0x3f,
0x94, 0xc2, 0xf1, 0x7f, 0xb5, 0xc2, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f,
0x00, 0xc0, 0xf1, 0x3f, 0x00, 0xc0, 0xf1, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x51, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x2e, 0x28, 0x04, 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, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf0, 0x03, 0x00, 0x80, 0x08, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
0x10, 0x10, 0x10, 0x10, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00,
0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0x04, 0x41, 0x10, 0x00, 0xcc, 0xcc, 0xcc, 0x0c,
0x43, 0x4d, 0x43, 0x53, 0x32, 0x54, 0x41, 0x47
};
#endif // __IST30XXC_CMCS_BIN_H__

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,40 @@
/*
* Copyright (C) 2010, Imagis Technology Co. Ltd. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __IST30XXC_MISC_H__
#define __IST30XXC_MISC_H__
#define NODE_FLAG_RAW (1)
#define NODE_FLAG_BASE (1 << 1)
#define NODE_FLAG_FILTER (1 << 2)
#define NODE_FLAG_DIFF (1 << 3)
#define NODE_FLAG_ALL (0xF)
#define NODE_FLAG_NO_CCP (1 << 7)
#define TS_RAW_ALL (0)
#define TS_RAW_SCREEN (1 << 0)
#define TS_RAW_KEY (1 << 1)
int ist30xx_check_valid_ch(struct ist30xx_data *data, int ch_tx, int ch_rx);
int ist30xx_parse_touch_node(struct ist30xx_data *data, u8 flag,
struct TSP_NODE_BUF *node);
int parse_tsp_node(struct ist30xx_data *data, u8 flag,
struct TSP_NODE_BUF *node, s16 *buf16, int mode);
int ist30xx_read_touch_node(struct ist30xx_data *data, u8 flag,
struct TSP_NODE_BUF *node);
int ist30xx_init_misc_sysfs(struct ist30xx_data *data);
#endif // __IST30XXC_MISC_H__

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,34 @@
/*
* Copyright (C) 2010, Imagis Technology Co. Ltd. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __IST30XXC_SEC_H__
#define __IST30XXC_SEC_H__
#define SEC_CMD_STR_LEN 32
#define SEC_CMD_RESULT_STR_LEN 2048
#define SEC_CMD_PARAM_NUM 8
struct sec_factory {
struct list_head cmd_list_head;
unsigned char cmd_state;
char cmd[SEC_CMD_STR_LEN];
int cmd_param[SEC_CMD_PARAM_NUM];
char *cmd_result;
int cmd_result_length;
struct mutex cmd_lock;
bool cmd_is_running;
};
#endif // __IST30XXC_SEC_H__

View file

@ -0,0 +1,494 @@
/*
* Copyright (C) 2010,Imagis Technology Co. Ltd. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/delay.h>
#include <asm/unaligned.h>
#include <asm/io.h>
#include <linux/gpio.h>
#include <linux/regulator/consumer.h>
#include <linux/regulator/machine.h>
#include "ist30xxc.h"
#include "ist30xxc_tracking.h"
/******************************************************************************
* Return value of Error
* EPERM : 1 (Operation not permitted)
* ENOENT : 2 (No such file or directory)
* EIO : 5 (I/O error)
* ENXIO : 6 (No such device or address)
* EINVAL : 22 (Invalid argument)
*****************************************************************************/
int ist30xx_cmd_gesture(struct i2c_client *client, int value)
{
int ret = -EIO;
if (value > 3)
return ret;
ret = ist30xx_write_cmd(client,
IST30XX_HIB_CMD, (eHCOM_GESTURE_EN << 16) | (value & 0xFFFF));
return ret;
}
int ist30xx_cmd_start_scan(struct ist30xx_data *data)
{
int ret = ist30xx_write_cmd(data->client, IST30XX_HIB_CMD,
(eHCOM_FW_START << 16) | (IST30XX_ENABLE & 0xFFFF));
ist30xx_tracking(TRACK_CMD_SCAN);
data->status.noise_mode = true;
return ret;
}
int ist30xx_cmd_calibrate(struct i2c_client *client)
{
int ret = ist30xx_write_cmd(client,
IST30XX_HIB_CMD, (eHCOM_RUN_CAL_AUTO << 16));
ist30xx_tracking(TRACK_CMD_CALIB);
tsp_info("%s\n", __func__);
return ret;
}
int ist30xx_cmd_check_calib(struct i2c_client *client)
{
int ret = ist30xx_write_cmd(client, IST30XX_HIB_CMD,
(eHCOM_RUN_CAL_PARAM << 16) | (IST30XX_ENABLE & 0xFFFF));
ist30xx_tracking(TRACK_CMD_CHECK_CALIB);
tsp_info("*** Check Calibration cmd ***\n");
return ret;
}
int ist30xx_cmd_hold(struct ist30xx_data *data, int enable)
{
int ret;
struct i2c_client *client = data->client;
if (!data->initialized && (data->status.update != 1))
return 0;
ret = ist30xx_write_cmd(client,
IST30XX_HIB_CMD, (eHCOM_FW_HOLD << 16) | (enable & 0xFFFF));
tsp_info("%s: FW HOLDE %s\n", __func__, enable ? "Enable" : "Disable");
if (enable)
ist30xx_tracking(TRACK_CMD_ENTER_REG);
else
ist30xx_tracking(TRACK_CMD_EXIT_REG);
return ret;
}
int ist30xx_i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
int msg_num, u8 *cmd_buf)
{
int ret = 0;
int idx = msg_num - 1;
int size = msgs[idx].len;
u8 *msg_buf = NULL;
u8 *pbuf = NULL;
int trans_size, max_size = 0;
if (msg_num == WRITE_CMD_MSG_LEN)
max_size = I2C_MAX_WRITE_SIZE;
else if (msg_num == READ_CMD_MSG_LEN)
max_size = I2C_MAX_READ_SIZE;
if (unlikely(max_size == 0)) {
tsp_err("%s() : transaction size(%d)\n", __func__, max_size);
return -EINVAL;
}
if (msg_num == WRITE_CMD_MSG_LEN) {
msg_buf = kmalloc(max_size + IST30XX_ADDR_LEN, GFP_KERNEL);
if (!msg_buf)
return -ENOMEM;
memcpy(msg_buf, cmd_buf, IST30XX_ADDR_LEN);
pbuf = msgs[idx].buf;
}
while (size > 0) {
trans_size = (size >= max_size ? max_size : size);
msgs[idx].len = trans_size;
if (msg_num == WRITE_CMD_MSG_LEN) {
memcpy(&msg_buf[IST30XX_ADDR_LEN], pbuf, trans_size);
msgs[idx].buf = msg_buf;
msgs[idx].len += IST30XX_ADDR_LEN;
}
ret = i2c_transfer(adap, msgs, msg_num);
if (unlikely(ret != msg_num)) {
tsp_err("%s() : i2c_transfer failed(%d), num=%d\n",
__func__, ret, msg_num);
break;
}
if (msg_num == WRITE_CMD_MSG_LEN)
pbuf += trans_size;
else
msgs[idx].buf += trans_size;
size -= trans_size;
}
if (msg_num == WRITE_CMD_MSG_LEN)
kfree(msg_buf);
return ret;
}
int ist30xx_read_buf(struct i2c_client *client, u32 cmd, u32 *buf, u16 len)
{
int ret, i;
u32 le_reg = cpu_to_be32(cmd);
struct i2c_msg msg[READ_CMD_MSG_LEN] = {
{
.addr = client->addr,
.flags = 0,
.len = IST30XX_ADDR_LEN,
.buf = (u8 *)&le_reg,
},
{
.addr = client->addr,
.flags = I2C_M_RD,
.len = len * IST30XX_DATA_LEN,
.buf = (u8 *)buf,
},
};
ret = ist30xx_i2c_transfer(client->adapter, msg, READ_CMD_MSG_LEN, NULL);
if (unlikely(ret != READ_CMD_MSG_LEN))
return -EIO;
for (i = 0; i < len; i++)
buf[i] = cpu_to_be32(buf[i]);
return 0;
}
int ist30xx_write_buf(struct i2c_client *client, u32 cmd, u32 *buf, u16 len)
{
int i;
int ret;
struct i2c_msg msg;
u8 cmd_buf[IST30XX_ADDR_LEN];
u8 msg_buf[IST30XX_DATA_LEN * (len + 1)];
put_unaligned_be32(cmd, cmd_buf);
if (likely(len > 0)) {
for (i = 0; i < len; i++)
put_unaligned_be32(buf[i], msg_buf + (i * IST30XX_DATA_LEN));
} else {
/* then add dummy data(4byte) */
put_unaligned_be32(0, msg_buf);
len = 1;
}
msg.addr = client->addr;
msg.flags = 0;
msg.len = len * IST30XX_DATA_LEN;
msg.buf = msg_buf;
ret = ist30xx_i2c_transfer(client->adapter, &msg, WRITE_CMD_MSG_LEN,
cmd_buf);
if (unlikely(ret != WRITE_CMD_MSG_LEN))
return -EIO;
return 0;
}
int ist30xx_read_reg(struct i2c_client *client, u32 reg, u32 *buf)
{
int ret;
u32 le_reg = cpu_to_be32(reg);
struct i2c_msg msg[READ_CMD_MSG_LEN] = {
{
.addr = client->addr,
.flags = 0,
.len = IST30XX_ADDR_LEN,
.buf = (u8 *)&le_reg,
},
{
.addr = client->addr,
.flags = I2C_M_RD,
.len = IST30XX_DATA_LEN,
.buf = (u8 *)buf,
},
};
ret = i2c_transfer(client->adapter, msg, READ_CMD_MSG_LEN);
if (ret != READ_CMD_MSG_LEN) {
tsp_err("%s: i2c failed (%d), cmd: %x\n", __func__, ret, reg);
return -EIO;
}
*buf = cpu_to_be32(*buf);
return 0;
}
int ist30xx_read_cmd(struct ist30xx_data *data, u32 cmd, u32 *buf)
{
int ret;
ret = ist30xx_cmd_hold(data, 1);
if (unlikely(ret))
return ret;
ist30xx_read_reg(data->client, IST30XX_DA_ADDR(cmd), buf);
ret = ist30xx_cmd_hold(data, 0);
if (unlikely(ret)) {
ist30xx_reset(data, false);
return ret;
}
return ret;
}
int ist30xx_write_cmd(struct i2c_client *client, u32 cmd, u32 val)
{
int ret;
struct i2c_msg msg;
u8 msg_buf[IST30XX_ADDR_LEN + IST30XX_DATA_LEN];
put_unaligned_be32(cmd, msg_buf);
put_unaligned_be32(val, msg_buf + IST30XX_ADDR_LEN);
msg.addr = client->addr;
msg.flags = 0;
msg.len = IST30XX_ADDR_LEN + IST30XX_DATA_LEN;
msg.buf = msg_buf;
ret = i2c_transfer(client->adapter, &msg, WRITE_CMD_MSG_LEN);
if (ret != WRITE_CMD_MSG_LEN) {
tsp_err("%s: i2c failed (%d), cmd: %x(%x)\n", __func__, ret, cmd, val);
return -EIO;
}
msleep(40);
return 0;
}
int ist30xx_burst_read(struct i2c_client *client, u32 addr,
u32 *buf32, u16 len, bool bit_en)
{
int ret = 0;
int i;
u16 max_len = I2C_MAX_READ_SIZE / IST30XX_DATA_LEN;
u16 remain_len = len;
if (bit_en)
addr = IST30XX_BA_ADDR(addr);
for (i = 0; i < len; i += max_len) {
if (remain_len < max_len) max_len = remain_len;
ret = ist30xx_read_buf(client, addr, buf32, max_len);
if (unlikely(ret)) {
tsp_err("Burst fail, addr: %x\n", __func__, addr);
return ret;
}
addr += max_len * IST30XX_DATA_LEN;
buf32 += max_len;
remain_len -= max_len;
}
return 0;
}
int ist30xx_burst_write(struct i2c_client *client, u32 addr,
u32 *buf32, u16 len)
{
int ret = 0;
int i;
u16 max_len = I2C_MAX_WRITE_SIZE / IST30XX_DATA_LEN;
u16 remain_len = len;
addr = IST30XX_BA_ADDR(addr);
for (i = 0; i < len; i += max_len) {
if (remain_len < max_len) max_len = remain_len;
ret = ist30xx_write_buf(client, addr, buf32, max_len);
if (unlikely(ret)) {
tsp_err("Burst fail, addr: %x\n", __func__, addr);
return ret;
}
addr += max_len * IST30XX_DATA_LEN;
buf32 += max_len;
remain_len -= max_len;
}
return 0;
}
int ts_power_enable(struct ist30xx_data *data, int en)
{
struct regulator *regulator_avdd;
int retval = 0;
regulator_avdd = regulator_get(NULL, data->dt_data->regulator_avdd);
if (IS_ERR(regulator_avdd)) {
tsp_err("%s: Failed to get %s regulator.\n",
__func__, data->dt_data->regulator_avdd);
return PTR_ERR(regulator_avdd);
}
tsp_info("%s %s\n", __func__, (en) ? "on" : "off");
if (en) {
retval = regulator_enable(regulator_avdd);
if (retval) {
tsp_err("%s: Failed to enable avdd: %d\n", __func__, retval);
return retval;
}
} else {
if (regulator_is_enabled(regulator_avdd))
regulator_disable(regulator_avdd);
}
regulator_put(regulator_avdd);
return retval;
}
int ist30xx_power_on(struct ist30xx_data *data, bool download)
{
int rc = 0;
if (data->status.power != 1) {
tsp_info("%s()\n", __func__);
ist30xx_tracking(TRACK_PWR_ON);
/* VDD enable */
/* msleep(5);*/
/* VDDIO enable */
rc = ts_power_enable(data, 1);
if (download)
msleep(8);
else
msleep(60);
if (!rc) /*power is enabled successfully*/
data->status.power = 1;
}
return rc;
}
int ist30xx_power_off(struct ist30xx_data *data)
{
int rc = 0;
if (data->status.power != 0) {
tsp_info("%s()\n", __func__);
ist30xx_tracking(TRACK_PWR_OFF);
/* VDDIO disable */
/* msleep(5);*/
/* VDD disable */
rc = ts_power_enable(data, 0);
msleep(50);
if (!rc) /*power is disabled successfully*/
data->status.power = 0;
data->status.noise_mode = false;
}
return 0;
}
int ist30xx_reset(struct ist30xx_data *data, bool download)
{
tsp_info("%s()\n", __func__);
ist30xx_power_off(data);
msleep(10);
ist30xx_power_on(data, download);
return 0;
}
int ist30xx_internal_suspend(struct ist30xx_data *data)
{
#if IST30XX_GESTURE
data->suspend = true;
if (data->gesture) {
ist30xx_reset(data, false);
ist30xx_cmd_gesture(data->client, 3);
} else {
ist30xx_power_off(data);
}
#else
ist30xx_power_off(data);
#endif
return 0;
}
int ist30xx_internal_resume(struct ist30xx_data *data)
{
#if IST30XX_GESTURE
data->suspend = false;
if (data->gesture)
ist30xx_reset(data, false);
else
ist30xx_power_on(data, false);
#else
ist30xx_power_on(data, false);
#endif
return 0;
}
int ist30xx_init_system(struct ist30xx_data *data)
{
int ret;
// TODO : place additional code here.
ret = ist30xx_power_on(data, false);
if (ret) {
tsp_err("%s: ist30xx_init_system failed (%d)\n", __func__, ret);
return -EIO;
}
#if 0
ret = ist30xx_reset(data, false);
if (ret) {
tsp_err("%s: ist30xx_reset failed (%d)\n", __func__, ret);
return -EIO;
}
#endif
return 0;
}

View file

@ -0,0 +1,252 @@
/*
* Copyright (C) 2010,Imagis Technology Co. Ltd. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include <linux/i2c.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/stat.h>
#include "ist30xxc.h"
#include "ist30xxc_tracking.h"
IST30XX_RING_BUF TrackBuf;
IST30XX_RING_BUF *pTrackBuf;
bool tracking_initialize = false;
void ist30xx_tracking_init(void)
{
if (tracking_initialize)
return;
pTrackBuf = &TrackBuf;
pTrackBuf->RingBufCtr = 0;
pTrackBuf->RingBufInIdx = 0;
pTrackBuf->RingBufOutIdx = 0;
tracking_initialize = true;
}
void ist30xx_tracking_deinit(void)
{
}
static spinlock_t mr_lock = __SPIN_LOCK_UNLOCKED();
int ist30xx_get_track(u32 *track, int cnt)
{
int i;
u8 *buf = (u8 *)track;
unsigned long flags;
cnt *= sizeof(track[0]);
spin_lock_irqsave(&mr_lock, flags);
if (pTrackBuf->RingBufCtr < (u16)cnt) {
spin_unlock_irqrestore(&mr_lock, flags);
return IST30XX_RINGBUF_NOT_ENOUGH;
}
for (i = 0; i < cnt; i++) {
if (pTrackBuf->RingBufOutIdx == IST30XX_MAX_LOG_SIZE)
pTrackBuf->RingBufOutIdx = 0;
*buf++ = (u8)pTrackBuf->LogBuf[pTrackBuf->RingBufOutIdx++];
pTrackBuf->RingBufCtr--;
}
spin_unlock_irqrestore(&mr_lock, flags);
return IST30XX_RINGBUF_NO_ERR;
}
u32 ist30xx_get_track_cnt(void)
{
return pTrackBuf->RingBufCtr;
}
#if IST30XX_TRACKING_MODE
int ist30xx_put_track(u32 *track, int cnt)
{
int i;
u8 *buf = (u8 *)track;
unsigned long flags;
spin_lock_irqsave(&mr_lock, flags);
cnt *= sizeof(track[0]);
pTrackBuf->RingBufCtr += cnt;
if (pTrackBuf->RingBufCtr > IST30XX_MAX_LOG_SIZE) {
pTrackBuf->RingBufOutIdx +=
(pTrackBuf->RingBufCtr - IST30XX_MAX_LOG_SIZE);
if (pTrackBuf->RingBufOutIdx >= IST30XX_MAX_LOG_SIZE)
pTrackBuf->RingBufOutIdx -= IST30XX_MAX_LOG_SIZE;
pTrackBuf->RingBufCtr = IST30XX_MAX_LOG_SIZE;
}
for (i = 0; i < cnt; i++) {
if (pTrackBuf->RingBufInIdx == IST30XX_MAX_LOG_SIZE)
pTrackBuf->RingBufInIdx = 0;
pTrackBuf->LogBuf[pTrackBuf->RingBufInIdx++] = *buf++;
}
spin_unlock_irqrestore(&mr_lock, flags);
return IST30XX_RINGBUF_NO_ERR;
}
int ist30xx_put_track_ms(u32 ms)
{
ms &= 0x0000FFFF;
ms |= IST30XX_TRACKING_MAGIC;
return ist30xx_put_track(&ms, 1);
}
static struct timespec t_track;
int ist30xx_tracking(u32 status)
{
u32 ms;
if (!tracking_initialize)
ist30xx_tracking_init();
ktime_get_ts(&t_track);
ms = t_track.tv_sec * 1000 + t_track.tv_nsec / 1000000;
ist30xx_put_track_ms(ms);
ist30xx_put_track(&status, 1);
return 0;
}
#else
int ist30xx_put_track(u32 *track, int cnt)
{
return 0;
}
int ist30xx_put_track_ms(u32 ms)
{
return 0;
}
int ist30xx_tracking(u32 status)
{
return 0;
}
#endif // IST30XX_TRACKING_MODE
#define MAX_TRACKING_COUNT (1024)
/* sysfs: /sys/class/touch/tracking/track_frame */
ssize_t ist30xx_track_frame_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
int i, buf_cnt = 0;
u32 track_cnt = MAX_TRACKING_COUNT;
u32 track;
char msg[10];
mutex_lock(&ist30xx_mutex);
buf[0] = '\0';
if (track_cnt > ist30xx_get_track_cnt())
track_cnt = ist30xx_get_track_cnt();
track_cnt /= sizeof(track);
tsp_verb("num: %d of %d\n", track_cnt, ist30xx_get_track_cnt());
for (i = 0; i < track_cnt; i++) {
ist30xx_get_track(&track, 1);
tsp_verb("%08X\n", track);
buf_cnt += sprintf(msg, "%08x", track);
strcat(buf, msg);
}
mutex_unlock(&ist30xx_mutex);
return buf_cnt;
}
/* sysfs: /sys/class/touch/tracking/track_cnt */
ssize_t ist30xx_track_cnt_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
u32 val = (u32)ist30xx_get_track_cnt();
tsp_verb("tracking cnt: %d\n", val);
return sprintf(buf, "%08x", val);
}
static ssize_t ist30xx_track_enable_store(struct device *dev, struct device_attribute
*devattr, const char *buf, size_t count)
{
struct ist30xx_data *data = dev_get_drvdata(dev);
int val;
sscanf(buf, "%d", &val);
data->track_enable = (val ? true : false);
return count;
}
ssize_t ist30xx_track_enable_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct ist30xx_data *data = dev_get_drvdata(dev);
return snprintf(buf, PAGE_SIZE, "%s", data->track_enable ? "ENABLE" : "DISABLE");
}
/* sysfs */
static DEVICE_ATTR(track_frame, S_IRUGO, ist30xx_track_frame_show, NULL);
static DEVICE_ATTR(track_cnt, S_IRUGO, ist30xx_track_cnt_show, NULL);
static DEVICE_ATTR(track_enable, S_IWUSR | S_IWGRP | S_IRUGO, ist30xx_track_enable_show, ist30xx_track_enable_store);
static struct attribute *tracking_attributes[] = {
&dev_attr_track_frame.attr,
&dev_attr_track_cnt.attr,
&dev_attr_track_enable.attr,
NULL,
};
static struct attribute_group tracking_attr_group = {
.attrs = tracking_attributes,
};
extern struct class *ist30xx_class;
struct device *ist30xx_tracking_dev;
int ist30xx_init_tracking_sysfs(struct ist30xx_data *data)
{
/* /sys/class/touch/tracking */
ist30xx_tracking_dev = device_create(ist30xx_class, NULL, 0, NULL,
"tracking");
dev_set_drvdata(ist30xx_tracking_dev, data);
/* /sys/class/touch/tracking/... */
if (sysfs_create_group(&ist30xx_tracking_dev->kobj, &tracking_attr_group))
tsp_err("[ TSP ] Failed to create sysfs group(%s)!\n", "tracking");
ist30xx_tracking_init();
return 0;
}

View file

@ -0,0 +1,61 @@
#ifndef __IST30XXC_TRACKING_H__
#define __IST30XXC_TRACKING_H__
#define IST30XX_RINGBUF_NO_ERR (0)
#define IST30XX_RINGBUF_NOT_ENOUGH (1)
#define IST30XX_RINGBUF_EMPTY (2)
#define IST30XX_RINGBUF_FULL (3)
#define IST30XX_RINGBUF_TIMEOUT (4)
#define IST30XX_MAX_LOG_SIZE (4 * 100 * 1024) // 4bytes * 100Kbytes, Single touch: about 12minutes
#define TRACK_PWR_ON (0x1)
#define TRACK_PWR_OFF (0x2)
#define TRACK_PWR_RESET (0x3)
#define TRACK_INTR_ENABLE (0x4)
#define TRACK_INTR_DISABLE (0x5)
#define TRACK_CMD_RUN_DEVICE (0x10)
#define TRACK_CMD_SCAN (0x11)
#define TRACK_CMD_TACON (0x12)
#define TRACK_CMD_TADISCON (0x13)
#define TRACK_CMD_FWUPDATE (0x14)
#define TRACK_CMD_PRUPDATE (0x15)
#define TRACK_CMD_CALIB (0x16)
#define TRACK_CMD_CHECK_CALIB (0x17)
#define TRACK_CMD_CHKSUM (0x18)
#define TRACK_CMD_CHKSUM_ALL (0x19)
#define TRACK_CMD_ENTER_REG (0x1A)
#define TRACK_CMD_EXIT_REG (0x1B)
#define TRACK_CMD_CALL (0x1C)
#define TRACK_CMD_NOTCALL (0x1D)
#define TRACK_CMD_COVER (0x1E)
#define TRACK_CMD_NOTCOVER (0x1F)
#define TRACK_POS_FINGER (0x20)
#define TRACK_POS_KEY (0x30)
#define TRACK_POS_UNKNOWN (0x3F)
#define IST30XX_TRACKING_MAGIC (0x7750 << 16)
typedef struct _IST30XX_RINGBUF {
u32 RingBufCtr; // Number of characters in the ring buffer
u32 RingBufInIdx;
u32 RingBufOutIdx;
u8 LogBuf[IST30XX_MAX_LOG_SIZE]; // Ring buffer for status
} IST30XX_RING_BUF;
void ist30xx_tracking_init(void);
void ist30xx_tracking_deinit(void);
int ist30xx_get_track(u32 *track, int cnt);
int ist30xx_put_track(u32 *track, int cnt);
int ist30xx_put_track_ms(u32 ms);
u32 ist30xx_get_track_cnt(void);
int ist30xx_tracking(u32 status);
int ist30xx_init_tracking_sysfs(struct ist30xx_data *data);
#endif // __IST30XXC_TRACKING_H__

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,102 @@
/*
* Copyright (C) 2010, Imagis Technology Co. Ltd. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __IST30XXC_UPDATE_H__
#define __IST30XXC_UPDATE_H__
// Flash size
#define IST30XX_FLASH_BASE_ADDR (0x0)
#if (IMAGIS_TSP_IC < IMAGIS_IST3038C)
#define IST30XX_FLASH_MAIN_SIZE (0x8000)
#define IST30XX_FLASH_INFO_SIZE (0x400)
#define IST30XX_FLASH_TOTAL_SIZE (0x8400)
#else
#define IST30XX_FLASH_MAIN_SIZE (0xFC00)
#define IST30XX_FLASH_INFO_SIZE (0x0)
#define IST30XX_FLASH_TOTAL_SIZE (0xFC00)
#endif
#define IST30XX_FLASH_PAGE_SIZE (0x400)
// Flash register
#define IST30XX_FLASH_BASE (0x40006000)
#define IST30XX_FLASH_MODE IST30XX_DA_ADDR(IST30XX_FLASH_BASE | 0x00)
#define IST30XX_FLASH_ADDR IST30XX_DA_ADDR(IST30XX_FLASH_BASE | 0x04)
#define IST30XX_FLASH_DIN IST30XX_DA_ADDR(IST30XX_FLASH_BASE | 0x08)
#define IST30XX_FLASH_DOUT IST30XX_DA_ADDR(IST30XX_FLASH_BASE | 0x0C)
#define IST30XX_FLASH_ISPEN IST30XX_DA_ADDR(IST30XX_FLASH_BASE | 0x10)
#define IST30XX_FLASH_AUTO_READ IST30XX_DA_ADDR(IST30XX_FLASH_BASE | 0x14)
#define IST30XX_FLASH_CRC IST30XX_DA_ADDR(IST30XX_FLASH_BASE | 0x18)
#define IST30XX_FLASH_TEST_MODE1 IST30XX_DA_ADDR(IST30XX_FLASH_BASE | 0x30)
#define IST30XX_FLASH_STATUS IST30XX_DA_ADDR(IST30XX_FLASH_BASE | 0x90)
// F/W update Info
#define IST30XX_FW_NAME "ist30xxc.fw"
#define IST30XX_BIN_NAME "ist30xxc.bin"
// Calibration
#define CALIB_WAIT_TIME (50) /* unit : 100msec */
#define CALIB_TO_GAP(n) ((n >> 16) & 0xFFF)
#define CALIB_TO_STATUS(n) ((n >> 12) & 0xF)
#define CALIB_TO_OS_VALUE(n) ((n >> 12) & 0xFFFF)
// Update func
#define MASK_UPDATE_INTERNAL (1)
#define MASK_UPDATE_FW (2)
#define MASK_UPDATE_SDCARD (3)
#define MASK_UPDATE_ERASE (4)
// Version flag
#define FLAG_MAIN (1)
#define FLAG_FW (2)
#define FLAG_CORE (3)
#define FLAG_TEST (4)
// TSP vendor (using gpio)
#define TSP_TYPE_UNKNOWN (0xF0)
#define TSP_TYPE_ALPS (0xF)
#define TSP_TYPE_EELY (0xE)
#define TSP_TYPE_TOP (0xD)
#define TSP_TYPE_MELFAS (0xC)
#define TSP_TYPE_ILJIN (0xB)
#define TSP_TYPE_SYNOPEX (0xA)
#define TSP_TYPE_SMAC (0x9)
#define TSP_TYPE_BOE_SLOC (0x8)
#define TSP_TYPE_TOVIS (0x7)
#define TSP_TYPE_ELK (0x6)
#define TSP_TYPE_OTHERS (0x5)
#define TSP_TYPE_CNI_GF1 (0x0)
#define TSP_TYPE_NO (0x10)
#define IST30XX_PARSE_TSPTYPE(n) ((n >> 1) & 0xF)
int ist30xx_read_chksum(struct i2c_client *client, u32 *chksum);
int ist30xx_read_chksum_all(struct i2c_client *client, u32 *chksum);
int ist30xx_get_update_info(struct ist30xx_data *data, const u8 *buf,
const u32 size);
int ist30xx_get_tsp_info(struct ist30xx_data *data);
void ist30xx_print_info(struct ist30xx_data *data);
u32 ist30xx_parse_ver(struct ist30xx_data *data, int flag, const u8 *buf);
int ist30xx_fw_update(struct ist30xx_data *data, const u8 *buf, int size);
int ist30xx_fw_recovery(struct ist30xx_data *data);
int ist30xx_auto_bin_update(struct ist30xx_data *data);
int ist30xx_calibrate(struct ist30xx_data *data, int wait_cnt);
int ist30xx_init_update_sysfs(struct ist30xx_data *data);
#endif // __IST30XXC_UPDATE_H__